From 3dc30632755713179f345f4af024bd904c6162d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Fri, 22 Dec 2017 16:53:42 +0100 Subject: [PATCH 1/4] tools: move eslint from tools to tools/node_modules This is required because we need to add the babel-eslint dependency and it has to be able to resolve "eslint". babel-eslint is required to support future ES features such as async iterators and import.meta. Refs: https://github.com/nodejs/node/pull/17755 PR-URL: https://github.com/nodejs/node/pull/17820 Reviewed-By: Matteo Collina Reviewed-By: Benjamin Gruenbaum --- .editorconfig | 2 +- .eslintignore | 2 +- .gitignore | 2 +- LICENSE | 2 +- Makefile | 6 +- doc/onboarding-extras.md | 78 +++++++++---------- test/doctool/test-doctool-html.js | 4 +- .../test-eslint-alphabetize-errors.js | 2 +- .../test-eslint-buffer-constructor.js | 2 +- test/parallel/test-eslint-crypto-check.js | 2 +- .../parallel/test-eslint-documented-errors.js | 2 +- test/parallel/test-eslint-inspector-check.js | 2 +- ...est-eslint-lowercase-name-for-primitive.js | 2 +- .../test-eslint-no-let-in-for-declaration.js | 2 +- .../test-eslint-no-unescaped-regexp-dot.js | 2 +- test/parallel/test-eslint-number-isnan.js | 2 +- .../test-eslint-prefer-assert-iferror.js | 2 +- .../test-eslint-prefer-assert-methods.js | 2 +- .../test-eslint-prefer-common-expectserror.js | 2 +- .../test-eslint-prefer-common-mustnotcall.js | 2 +- .../test-eslint-prefer-util-format-errors.js | 2 +- test/parallel/test-eslint-require-buffer.js | 2 +- test/parallel/test-eslint-required-modules.js | 2 +- tools/doc/node_modules/js-yaml/index.js | 1 + tools/license-builder.sh | 2 +- tools/lint-js.js | 4 +- tools/{ => node_modules}/eslint/LICENSE | 0 tools/{ => node_modules}/eslint/README.md | 0 tools/{ => node_modules}/eslint/bin/eslint.js | 0 .../eslint/conf/blank-script.json | 0 .../eslint/conf/category-list.json | 0 .../eslint/conf/config-schema.js | 0 .../eslint/conf/default-cli-options.js | 0 .../eslint/conf/default-config-options.js | 0 .../eslint/conf/environments.js | 0 .../eslint/conf/eslint-all.js | 0 .../eslint/conf/eslint-recommended.js | 0 .../eslint/conf/replacements.json | 0 tools/{ => node_modules}/eslint/lib/api.js | 0 .../eslint/lib/ast-utils.js | 0 .../eslint/lib/cli-engine.js | 0 tools/{ => node_modules}/eslint/lib/cli.js | 0 .../code-path-analysis/code-path-analyzer.js | 0 .../code-path-analysis/code-path-segment.js | 0 .../lib/code-path-analysis/code-path-state.js | 0 .../lib/code-path-analysis/code-path.js | 0 .../lib/code-path-analysis/debug-helpers.js | 0 .../lib/code-path-analysis/fork-context.js | 0 .../lib/code-path-analysis/id-generator.js | 0 tools/{ => node_modules}/eslint/lib/config.js | 0 .../eslint/lib/config/autoconfig.js | 0 .../eslint/lib/config/config-cache.js | 0 .../eslint/lib/config/config-file.js | 0 .../eslint/lib/config/config-initializer.js | 0 .../eslint/lib/config/config-ops.js | 0 .../eslint/lib/config/config-rule.js | 0 .../eslint/lib/config/config-validator.js | 0 .../eslint/lib/config/environments.js | 0 .../eslint/lib/config/plugins.js | 0 .../eslint/lib/file-finder.js | 0 .../eslint/lib/formatters/checkstyle.js | 0 .../eslint/lib/formatters/codeframe.js | 0 .../eslint/lib/formatters/compact.js | 0 .../lib/formatters/html-template-message.html | 0 .../lib/formatters/html-template-page.html | 0 .../lib/formatters/html-template-result.html | 0 .../eslint/lib/formatters/html.js | 0 .../eslint/lib/formatters/jslint-xml.js | 0 .../eslint/lib/formatters/json.js | 0 .../eslint/lib/formatters/junit.js | 0 .../eslint/lib/formatters/stylish.js | 0 .../eslint/lib/formatters/table.js | 0 .../eslint/lib/formatters/tap.js | 0 .../eslint/lib/formatters/unix.js | 0 .../eslint/lib/formatters/visualstudio.js | 0 .../eslint/lib/ignored-paths.js | 0 tools/{ => node_modules}/eslint/lib/linter.js | 0 .../eslint/lib/load-rules.js | 0 .../{ => node_modules}/eslint/lib/logging.js | 0 .../{ => node_modules}/eslint/lib/options.js | 0 .../eslint/lib/report-translator.js | 0 tools/{ => node_modules}/eslint/lib/rules.js | 0 .../eslint/lib/rules/.eslintrc.yml | 0 .../eslint/lib/rules/accessor-pairs.js | 0 .../eslint/lib/rules/array-bracket-newline.js | 0 .../eslint/lib/rules/array-bracket-spacing.js | 0 .../eslint/lib/rules/array-callback-return.js | 0 .../eslint/lib/rules/array-element-newline.js | 0 .../eslint/lib/rules/arrow-body-style.js | 0 .../eslint/lib/rules/arrow-parens.js | 0 .../eslint/lib/rules/arrow-spacing.js | 0 .../eslint/lib/rules/block-scoped-var.js | 0 .../eslint/lib/rules/block-spacing.js | 0 .../eslint/lib/rules/brace-style.js | 0 .../eslint/lib/rules/callback-return.js | 0 .../eslint/lib/rules/camelcase.js | 0 .../eslint/lib/rules/capitalized-comments.js | 0 .../lib/rules/class-methods-use-this.js | 0 .../eslint/lib/rules/comma-dangle.js | 0 .../eslint/lib/rules/comma-spacing.js | 0 .../eslint/lib/rules/comma-style.js | 0 .../eslint/lib/rules/complexity.js | 0 .../lib/rules/computed-property-spacing.js | 0 .../eslint/lib/rules/consistent-return.js | 0 .../eslint/lib/rules/consistent-this.js | 0 .../eslint/lib/rules/constructor-super.js | 0 .../eslint/lib/rules/curly.js | 0 .../eslint/lib/rules/default-case.js | 0 .../eslint/lib/rules/dot-location.js | 0 .../eslint/lib/rules/dot-notation.js | 0 .../eslint/lib/rules/eol-last.js | 0 .../eslint/lib/rules/eqeqeq.js | 0 .../eslint/lib/rules/for-direction.js | 0 .../eslint/lib/rules/func-call-spacing.js | 0 .../eslint/lib/rules/func-name-matching.js | 0 .../eslint/lib/rules/func-names.js | 0 .../eslint/lib/rules/func-style.js | 0 .../lib/rules/function-paren-newline.js | 0 .../lib/rules/generator-star-spacing.js | 0 .../eslint/lib/rules/getter-return.js | 0 .../eslint/lib/rules/global-require.js | 0 .../eslint/lib/rules/guard-for-in.js | 0 .../eslint/lib/rules/handle-callback-err.js | 0 .../eslint/lib/rules/id-blacklist.js | 0 .../eslint/lib/rules/id-length.js | 0 .../eslint/lib/rules/id-match.js | 0 .../lib/rules/implicit-arrow-linebreak.js | 0 .../eslint/lib/rules/indent-legacy.js | 0 .../eslint/lib/rules/indent.js | 0 .../eslint/lib/rules/init-declarations.js | 0 .../eslint/lib/rules/jsx-quotes.js | 0 .../eslint/lib/rules/key-spacing.js | 0 .../eslint/lib/rules/keyword-spacing.js | 0 .../eslint/lib/rules/line-comment-position.js | 0 .../eslint/lib/rules/linebreak-style.js | 0 .../eslint/lib/rules/lines-around-comment.js | 0 .../lib/rules/lines-around-directive.js | 0 .../lib/rules/lines-between-class-members.js | 0 .../eslint/lib/rules/max-depth.js | 0 .../eslint/lib/rules/max-len.js | 0 .../eslint/lib/rules/max-lines.js | 0 .../eslint/lib/rules/max-nested-callbacks.js | 0 .../eslint/lib/rules/max-params.js | 0 .../lib/rules/max-statements-per-line.js | 0 .../eslint/lib/rules/max-statements.js | 0 .../lib/rules/multiline-comment-style.js | 0 .../eslint/lib/rules/multiline-ternary.js | 0 .../eslint/lib/rules/new-cap.js | 0 .../eslint/lib/rules/new-parens.js | 0 .../eslint/lib/rules/newline-after-var.js | 0 .../eslint/lib/rules/newline-before-return.js | 0 .../lib/rules/newline-per-chained-call.js | 0 .../eslint/lib/rules/no-alert.js | 0 .../eslint/lib/rules/no-array-constructor.js | 0 .../eslint/lib/rules/no-await-in-loop.js | 0 .../eslint/lib/rules/no-bitwise.js | 0 .../eslint/lib/rules/no-buffer-constructor.js | 0 .../eslint/lib/rules/no-caller.js | 0 .../eslint/lib/rules/no-case-declarations.js | 0 .../eslint/lib/rules/no-catch-shadow.js | 0 .../eslint/lib/rules/no-class-assign.js | 0 .../eslint/lib/rules/no-compare-neg-zero.js | 0 .../eslint/lib/rules/no-cond-assign.js | 0 .../eslint/lib/rules/no-confusing-arrow.js | 0 .../eslint/lib/rules/no-console.js | 0 .../eslint/lib/rules/no-const-assign.js | 0 .../eslint/lib/rules/no-constant-condition.js | 0 .../eslint/lib/rules/no-continue.js | 0 .../eslint/lib/rules/no-control-regex.js | 0 .../eslint/lib/rules/no-debugger.js | 0 .../eslint/lib/rules/no-delete-var.js | 0 .../eslint/lib/rules/no-div-regex.js | 0 .../eslint/lib/rules/no-dupe-args.js | 0 .../eslint/lib/rules/no-dupe-class-members.js | 0 .../eslint/lib/rules/no-dupe-keys.js | 0 .../eslint/lib/rules/no-duplicate-case.js | 0 .../eslint/lib/rules/no-duplicate-imports.js | 0 .../eslint/lib/rules/no-else-return.js | 0 .../lib/rules/no-empty-character-class.js | 0 .../eslint/lib/rules/no-empty-function.js | 0 .../eslint/lib/rules/no-empty-pattern.js | 0 .../eslint/lib/rules/no-empty.js | 0 .../eslint/lib/rules/no-eq-null.js | 0 .../eslint/lib/rules/no-eval.js | 0 .../eslint/lib/rules/no-ex-assign.js | 0 .../eslint/lib/rules/no-extend-native.js | 0 .../eslint/lib/rules/no-extra-bind.js | 0 .../eslint/lib/rules/no-extra-boolean-cast.js | 0 .../eslint/lib/rules/no-extra-label.js | 0 .../eslint/lib/rules/no-extra-parens.js | 0 .../eslint/lib/rules/no-extra-semi.js | 0 .../eslint/lib/rules/no-fallthrough.js | 0 .../eslint/lib/rules/no-floating-decimal.js | 0 .../eslint/lib/rules/no-func-assign.js | 0 .../eslint/lib/rules/no-global-assign.js | 0 .../eslint/lib/rules/no-implicit-coercion.js | 0 .../eslint/lib/rules/no-implicit-globals.js | 0 .../eslint/lib/rules/no-implied-eval.js | 0 .../eslint/lib/rules/no-inline-comments.js | 0 .../eslint/lib/rules/no-inner-declarations.js | 0 .../eslint/lib/rules/no-invalid-regexp.js | 0 .../eslint/lib/rules/no-invalid-this.js | 0 .../lib/rules/no-irregular-whitespace.js | 0 .../eslint/lib/rules/no-iterator.js | 0 .../eslint/lib/rules/no-label-var.js | 0 .../eslint/lib/rules/no-labels.js | 0 .../eslint/lib/rules/no-lone-blocks.js | 0 .../eslint/lib/rules/no-lonely-if.js | 0 .../eslint/lib/rules/no-loop-func.js | 0 .../eslint/lib/rules/no-magic-numbers.js | 0 .../eslint/lib/rules/no-mixed-operators.js | 0 .../eslint/lib/rules/no-mixed-requires.js | 0 .../lib/rules/no-mixed-spaces-and-tabs.js | 0 .../eslint/lib/rules/no-multi-assign.js | 0 .../eslint/lib/rules/no-multi-spaces.js | 0 .../eslint/lib/rules/no-multi-str.js | 0 .../lib/rules/no-multiple-empty-lines.js | 0 .../eslint/lib/rules/no-native-reassign.js | 0 .../eslint/lib/rules/no-negated-condition.js | 0 .../eslint/lib/rules/no-negated-in-lhs.js | 0 .../eslint/lib/rules/no-nested-ternary.js | 0 .../eslint/lib/rules/no-new-func.js | 0 .../eslint/lib/rules/no-new-object.js | 0 .../eslint/lib/rules/no-new-require.js | 0 .../eslint/lib/rules/no-new-symbol.js | 0 .../eslint/lib/rules/no-new-wrappers.js | 0 .../eslint/lib/rules/no-new.js | 0 .../eslint/lib/rules/no-obj-calls.js | 0 .../eslint/lib/rules/no-octal-escape.js | 0 .../eslint/lib/rules/no-octal.js | 0 .../eslint/lib/rules/no-param-reassign.js | 0 .../eslint/lib/rules/no-path-concat.js | 0 .../eslint/lib/rules/no-plusplus.js | 0 .../eslint/lib/rules/no-process-env.js | 0 .../eslint/lib/rules/no-process-exit.js | 0 .../eslint/lib/rules/no-proto.js | 0 .../eslint/lib/rules/no-prototype-builtins.js | 0 .../eslint/lib/rules/no-redeclare.js | 0 .../eslint/lib/rules/no-regex-spaces.js | 0 .../eslint/lib/rules/no-restricted-globals.js | 0 .../eslint/lib/rules/no-restricted-imports.js | 0 .../eslint/lib/rules/no-restricted-modules.js | 0 .../lib/rules/no-restricted-properties.js | 0 .../eslint/lib/rules/no-restricted-syntax.js | 0 .../eslint/lib/rules/no-return-assign.js | 0 .../eslint/lib/rules/no-return-await.js | 0 .../eslint/lib/rules/no-script-url.js | 0 .../eslint/lib/rules/no-self-assign.js | 0 .../eslint/lib/rules/no-self-compare.js | 0 .../eslint/lib/rules/no-sequences.js | 0 .../lib/rules/no-shadow-restricted-names.js | 0 .../eslint/lib/rules/no-shadow.js | 0 .../eslint/lib/rules/no-spaced-func.js | 0 .../eslint/lib/rules/no-sparse-arrays.js | 0 .../eslint/lib/rules/no-sync.js | 0 .../eslint/lib/rules/no-tabs.js | 0 .../lib/rules/no-template-curly-in-string.js | 0 .../eslint/lib/rules/no-ternary.js | 0 .../eslint/lib/rules/no-this-before-super.js | 0 .../eslint/lib/rules/no-throw-literal.js | 0 .../eslint/lib/rules/no-trailing-spaces.js | 0 .../eslint/lib/rules/no-undef-init.js | 0 .../eslint/lib/rules/no-undef.js | 0 .../eslint/lib/rules/no-undefined.js | 0 .../eslint/lib/rules/no-underscore-dangle.js | 0 .../lib/rules/no-unexpected-multiline.js | 0 .../lib/rules/no-unmodified-loop-condition.js | 0 .../eslint/lib/rules/no-unneeded-ternary.js | 0 .../eslint/lib/rules/no-unreachable.js | 0 .../eslint/lib/rules/no-unsafe-finally.js | 0 .../eslint/lib/rules/no-unsafe-negation.js | 0 .../eslint/lib/rules/no-unused-expressions.js | 0 .../eslint/lib/rules/no-unused-labels.js | 0 .../eslint/lib/rules/no-unused-vars.js | 0 .../eslint/lib/rules/no-use-before-define.js | 0 .../eslint/lib/rules/no-useless-call.js | 0 .../lib/rules/no-useless-computed-key.js | 0 .../eslint/lib/rules/no-useless-concat.js | 0 .../lib/rules/no-useless-constructor.js | 0 .../eslint/lib/rules/no-useless-escape.js | 0 .../eslint/lib/rules/no-useless-rename.js | 0 .../eslint/lib/rules/no-useless-return.js | 0 .../eslint/lib/rules/no-var.js | 0 .../eslint/lib/rules/no-void.js | 0 .../eslint/lib/rules/no-warning-comments.js | 0 .../rules/no-whitespace-before-property.js | 0 .../eslint/lib/rules/no-with.js | 0 .../rules/nonblock-statement-body-position.js | 0 .../eslint/lib/rules/object-curly-newline.js | 0 .../eslint/lib/rules/object-curly-spacing.js | 0 .../lib/rules/object-property-newline.js | 0 .../eslint/lib/rules/object-shorthand.js | 0 .../lib/rules/one-var-declaration-per-line.js | 0 .../eslint/lib/rules/one-var.js | 0 .../eslint/lib/rules/operator-assignment.js | 0 .../eslint/lib/rules/operator-linebreak.js | 0 .../eslint/lib/rules/padded-blocks.js | 0 .../rules/padding-line-between-statements.js | 0 .../eslint/lib/rules/prefer-arrow-callback.js | 0 .../eslint/lib/rules/prefer-const.js | 0 .../eslint/lib/rules/prefer-destructuring.js | 0 .../lib/rules/prefer-numeric-literals.js | 0 .../lib/rules/prefer-promise-reject-errors.js | 0 .../eslint/lib/rules/prefer-reflect.js | 0 .../eslint/lib/rules/prefer-rest-params.js | 0 .../eslint/lib/rules/prefer-spread.js | 0 .../eslint/lib/rules/prefer-template.js | 0 .../eslint/lib/rules/quote-props.js | 0 .../eslint/lib/rules/quotes.js | 0 .../eslint/lib/rules/radix.js | 0 .../eslint/lib/rules/require-await.js | 0 .../eslint/lib/rules/require-jsdoc.js | 0 .../eslint/lib/rules/require-yield.js | 0 .../eslint/lib/rules/rest-spread-spacing.js | 0 .../eslint/lib/rules/semi-spacing.js | 0 .../eslint/lib/rules/semi-style.js | 0 .../eslint/lib/rules/semi.js | 0 .../eslint/lib/rules/sort-imports.js | 0 .../eslint/lib/rules/sort-keys.js | 0 .../eslint/lib/rules/sort-vars.js | 0 .../eslint/lib/rules/space-before-blocks.js | 0 .../lib/rules/space-before-function-paren.js | 0 .../eslint/lib/rules/space-in-parens.js | 0 .../eslint/lib/rules/space-infix-ops.js | 0 .../eslint/lib/rules/space-unary-ops.js | 0 .../eslint/lib/rules/spaced-comment.js | 0 .../eslint/lib/rules/strict.js | 0 .../eslint/lib/rules/switch-colon-spacing.js | 0 .../eslint/lib/rules/symbol-description.js | 0 .../lib/rules/template-curly-spacing.js | 0 .../eslint/lib/rules/template-tag-spacing.js | 0 .../eslint/lib/rules/unicode-bom.js | 0 .../eslint/lib/rules/use-isnan.js | 0 .../eslint/lib/rules/valid-jsdoc.js | 0 .../eslint/lib/rules/valid-typeof.js | 0 .../eslint/lib/rules/vars-on-top.js | 0 .../eslint/lib/rules/wrap-iife.js | 0 .../eslint/lib/rules/wrap-regex.js | 0 .../eslint/lib/rules/yield-star-spacing.js | 0 .../eslint/lib/rules/yoda.js | 0 .../eslint/lib/testers/rule-tester.js | 0 tools/{ => node_modules}/eslint/lib/timing.js | 0 .../backward-token-comment-cursor.js | 0 .../lib/token-store/backward-token-cursor.js | 0 .../eslint/lib/token-store/cursor.js | 0 .../eslint/lib/token-store/cursors.js | 0 .../lib/token-store/decorative-cursor.js | 0 .../eslint/lib/token-store/filter-cursor.js | 0 .../forward-token-comment-cursor.js | 0 .../lib/token-store/forward-token-cursor.js | 0 .../eslint/lib/token-store/index.js | 0 .../eslint/lib/token-store/limit-cursor.js | 0 .../lib/token-store/padded-token-cursor.js | 0 .../eslint/lib/token-store/skip-cursor.js | 0 .../eslint/lib/token-store/utils.js | 0 .../{ => node_modules}/eslint/lib/util/ajv.js | 0 .../lib/util/apply-disable-directives.js | 0 .../eslint/lib/util/fix-tracker.js | 0 .../eslint/lib/util/glob-util.js | 0 .../eslint/lib/util/glob.js | 0 .../eslint/lib/util/hash.js | 0 .../eslint/lib/util/keywords.js | 0 .../eslint/lib/util/module-resolver.js | 0 .../eslint/lib/util/naming.js | 0 .../eslint/lib/util/node-event-generator.js | 0 .../eslint/lib/util/npm-util.js | 0 .../eslint/lib/util/path-util.js | 0 .../eslint/lib/util/patterns/letters.js | 0 .../eslint/lib/util/rule-fixer.js | 0 .../eslint/lib/util/safe-emitter.js | 0 .../eslint/lib/util/source-code-fixer.js | 0 .../eslint/lib/util/source-code-util.js | 0 .../eslint/lib/util/source-code.js | 0 .../eslint/lib/util/traverser.js | 0 .../eslint/lib/util/xml-escape.js | 0 .../eslint/messages/extend-config-missing.txt | 0 .../eslint/messages/no-config-found.txt | 0 .../eslint/messages/plugin-missing.txt | 0 .../eslint/messages/whitespace-found.txt | 0 .../eslint/node_modules/acorn-jsx/LICENSE | 0 .../eslint/node_modules/acorn-jsx/README.md | 0 .../eslint/node_modules/acorn-jsx/index.js | 0 .../eslint/node_modules/acorn-jsx/inject.js | 0 .../node_modules/acorn/.tern-project | 0 .../acorn-jsx/node_modules/acorn/AUTHORS | 0 .../acorn-jsx/node_modules/acorn/LICENSE | 0 .../acorn-jsx/node_modules/acorn/README.md | 0 .../acorn-jsx/node_modules/acorn/bin/acorn | 0 .../acorn/bin/generate-identifier-regex.js | 0 .../node_modules/acorn/bin/update_authors.sh | 0 .../acorn-jsx/node_modules/acorn/dist/.keep | 0 .../node_modules/acorn/dist/acorn.es.js | 0 .../node_modules/acorn/dist/acorn.js | 0 .../node_modules/acorn/dist/acorn_loose.es.js | 0 .../node_modules/acorn/dist/acorn_loose.js | 0 .../node_modules/acorn/dist/walk.es.js | 0 .../acorn-jsx/node_modules/acorn/dist/walk.js | 0 .../acorn-jsx/node_modules/acorn/package.json | 0 .../node_modules/acorn/rollup/config.bin.js | 0 .../node_modules/acorn/rollup/config.loose.js | 0 .../node_modules/acorn/rollup/config.main.js | 0 .../node_modules/acorn/rollup/config.walk.js | 0 .../node_modules/acorn/src/bin/acorn.js | 0 .../node_modules/acorn/src/expression.js | 0 .../node_modules/acorn/src/identifier.js | 0 .../acorn-jsx/node_modules/acorn/src/index.js | 0 .../node_modules/acorn/src/location.js | 0 .../node_modules/acorn/src/locutil.js | 0 .../acorn/src/loose/expression.js | 0 .../node_modules/acorn/src/loose/index.js | 0 .../node_modules/acorn/src/loose/parseutil.js | 0 .../node_modules/acorn/src/loose/state.js | 0 .../node_modules/acorn/src/loose/statement.js | 0 .../node_modules/acorn/src/loose/tokenize.js | 0 .../acorn-jsx/node_modules/acorn/src/lval.js | 0 .../acorn-jsx/node_modules/acorn/src/node.js | 0 .../node_modules/acorn/src/options.js | 0 .../node_modules/acorn/src/parseutil.js | 0 .../acorn-jsx/node_modules/acorn/src/state.js | 0 .../node_modules/acorn/src/statement.js | 0 .../node_modules/acorn/src/tokencontext.js | 0 .../node_modules/acorn/src/tokenize.js | 0 .../node_modules/acorn/src/tokentype.js | 0 .../acorn-jsx/node_modules/acorn/src/util.js | 0 .../node_modules/acorn/src/walk/index.js | 0 .../node_modules/acorn/src/whitespace.js | 0 .../node_modules/acorn-jsx/package.json | 0 .../eslint/node_modules/acorn-jsx/xhtml.js | 0 .../eslint/node_modules/acorn/AUTHORS | 0 .../eslint/node_modules/acorn/LICENSE | 0 .../eslint/node_modules/acorn/README.md | 0 .../eslint/node_modules/acorn/bin/acorn | 0 .../eslint/node_modules/acorn/dist/.keep | 0 .../node_modules/acorn/dist/acorn.es.js | 0 .../eslint/node_modules/acorn/dist/acorn.js | 0 .../node_modules/acorn/dist/acorn_loose.es.js | 0 .../node_modules/acorn/dist/acorn_loose.js | 0 .../eslint/node_modules/acorn/dist/walk.es.js | 0 .../eslint/node_modules/acorn/dist/walk.js | 0 .../eslint/node_modules/acorn/package.json | 0 .../eslint/node_modules/ajv-keywords/LICENSE | 0 .../node_modules/ajv-keywords/README.md | 0 .../eslint/node_modules/ajv-keywords/index.js | 0 .../ajv-keywords/keywords/_formatLimit.js | 0 .../ajv-keywords/keywords/_util.js | 0 .../ajv-keywords/keywords/deepProperties.js | 0 .../ajv-keywords/keywords/deepRequired.js | 0 .../keywords/dot/_formatLimit.jst | 0 .../keywords/dot/patternRequired.jst | 0 .../ajv-keywords/keywords/dot/switch.jst | 0 .../ajv-keywords/keywords/dotjs/README.md | 0 .../keywords/dotjs/_formatLimit.js | 0 .../keywords/dotjs/patternRequired.js | 0 .../ajv-keywords/keywords/dotjs/switch.js | 0 .../ajv-keywords/keywords/dynamicDefaults.js | 0 .../ajv-keywords/keywords/formatMaximum.js | 0 .../ajv-keywords/keywords/formatMinimum.js | 0 .../node_modules/ajv-keywords/keywords/if.js | 0 .../ajv-keywords/keywords/index.js | 0 .../ajv-keywords/keywords/instanceof.js | 0 .../ajv-keywords/keywords/patternRequired.js | 0 .../ajv-keywords/keywords/prohibited.js | 0 .../ajv-keywords/keywords/range.js | 0 .../ajv-keywords/keywords/regexp.js | 0 .../ajv-keywords/keywords/select.js | 0 .../ajv-keywords/keywords/switch.js | 0 .../ajv-keywords/keywords/typeof.js | 0 .../keywords/uniqueItemProperties.js | 0 .../node_modules/ajv-keywords/package.json | 0 .../eslint/node_modules/ajv/.tonic_example.js | 0 .../eslint/node_modules/ajv/LICENSE | 0 .../eslint/node_modules/ajv/README.md | 0 .../node_modules/ajv/dist/ajv.bundle.js | 0 .../eslint/node_modules/ajv/dist/ajv.min.js | 0 .../node_modules/ajv/dist/ajv.min.js.map | 0 .../node_modules/ajv/dist/nodent.min.js | 0 .../node_modules/ajv/dist/regenerator.min.js | 0 .../eslint/node_modules/ajv/lib/$data.js | 0 .../eslint/node_modules/ajv/lib/ajv.d.ts | 0 .../eslint/node_modules/ajv/lib/ajv.js | 0 .../eslint/node_modules/ajv/lib/cache.js | 0 .../node_modules/ajv/lib/compile/_rules.js | 0 .../node_modules/ajv/lib/compile/async.js | 0 .../node_modules/ajv/lib/compile/equal.js | 0 .../ajv/lib/compile/error_classes.js | 0 .../node_modules/ajv/lib/compile/formats.js | 0 .../node_modules/ajv/lib/compile/index.js | 0 .../node_modules/ajv/lib/compile/resolve.js | 0 .../node_modules/ajv/lib/compile/rules.js | 0 .../ajv/lib/compile/schema_obj.js | 0 .../ajv/lib/compile/ucs2length.js | 0 .../node_modules/ajv/lib/compile/util.js | 0 .../node_modules/ajv/lib/dot/_limit.jst | 0 .../node_modules/ajv/lib/dot/_limitItems.jst | 0 .../node_modules/ajv/lib/dot/_limitLength.jst | 0 .../ajv/lib/dot/_limitProperties.jst | 0 .../eslint/node_modules/ajv/lib/dot/allOf.jst | 0 .../eslint/node_modules/ajv/lib/dot/anyOf.jst | 0 .../node_modules/ajv/lib/dot/coerce.def | 0 .../eslint/node_modules/ajv/lib/dot/const.jst | 0 .../node_modules/ajv/lib/dot/contains.jst | 0 .../node_modules/ajv/lib/dot/custom.jst | 0 .../node_modules/ajv/lib/dot/defaults.def | 0 .../node_modules/ajv/lib/dot/definitions.def | 0 .../node_modules/ajv/lib/dot/dependencies.jst | 0 .../eslint/node_modules/ajv/lib/dot/enum.jst | 0 .../node_modules/ajv/lib/dot/errors.def | 0 .../node_modules/ajv/lib/dot/format.jst | 0 .../eslint/node_modules/ajv/lib/dot/items.jst | 0 .../node_modules/ajv/lib/dot/missing.def | 0 .../node_modules/ajv/lib/dot/multipleOf.jst | 0 .../eslint/node_modules/ajv/lib/dot/not.jst | 0 .../eslint/node_modules/ajv/lib/dot/oneOf.jst | 0 .../node_modules/ajv/lib/dot/pattern.jst | 0 .../node_modules/ajv/lib/dot/properties.jst | 0 .../ajv/lib/dot/propertyNames.jst | 0 .../eslint/node_modules/ajv/lib/dot/ref.jst | 0 .../node_modules/ajv/lib/dot/required.jst | 0 .../node_modules/ajv/lib/dot/uniqueItems.jst | 0 .../node_modules/ajv/lib/dot/validate.jst | 0 .../node_modules/ajv/lib/dotjs/README.md | 0 .../node_modules/ajv/lib/dotjs/_limit.js | 0 .../node_modules/ajv/lib/dotjs/_limitItems.js | 0 .../ajv/lib/dotjs/_limitLength.js | 0 .../ajv/lib/dotjs/_limitProperties.js | 0 .../node_modules/ajv/lib/dotjs/allOf.js | 0 .../node_modules/ajv/lib/dotjs/anyOf.js | 0 .../node_modules/ajv/lib/dotjs/const.js | 0 .../node_modules/ajv/lib/dotjs/contains.js | 0 .../node_modules/ajv/lib/dotjs/custom.js | 0 .../ajv/lib/dotjs/dependencies.js | 0 .../eslint/node_modules/ajv/lib/dotjs/enum.js | 0 .../node_modules/ajv/lib/dotjs/format.js | 0 .../node_modules/ajv/lib/dotjs/items.js | 0 .../node_modules/ajv/lib/dotjs/multipleOf.js | 0 .../eslint/node_modules/ajv/lib/dotjs/not.js | 0 .../node_modules/ajv/lib/dotjs/oneOf.js | 0 .../node_modules/ajv/lib/dotjs/pattern.js | 0 .../node_modules/ajv/lib/dotjs/properties.js | 0 .../ajv/lib/dotjs/propertyNames.js | 0 .../eslint/node_modules/ajv/lib/dotjs/ref.js | 0 .../node_modules/ajv/lib/dotjs/required.js | 0 .../node_modules/ajv/lib/dotjs/uniqueItems.js | 0 .../node_modules/ajv/lib/dotjs/validate.js | 0 .../eslint/node_modules/ajv/lib/keyword.js | 0 .../node_modules/ajv/lib/patternGroups.js | 0 .../node_modules/ajv/lib/refs/$data.json | 0 .../ajv/lib/refs/json-schema-draft-04.json | 0 .../ajv/lib/refs/json-schema-draft-06.json | 0 .../ajv/lib/refs/json-schema-v5.json | 0 .../eslint/node_modules/ajv/package.json | 0 .../node_modules/ajv/scripts/.eslintrc.yml | 0 .../eslint/node_modules/ajv/scripts/bundle.js | 0 .../node_modules/ajv/scripts/compile-dots.js | 0 .../eslint/node_modules/ajv/scripts/info | 0 .../node_modules/ajv/scripts/prepare-tests | 0 .../node_modules/ajv/scripts/travis-gh-pages | 0 .../eslint/node_modules/ansi-escapes/index.js | 0 .../eslint/node_modules/ansi-escapes/license | 0 .../node_modules/ansi-escapes/package.json | 0 .../node_modules/ansi-escapes/readme.md | 0 .../eslint/node_modules/ansi-regex/index.js | 0 .../eslint/node_modules/ansi-regex/license | 0 .../node_modules/ansi-regex/package.json | 0 .../eslint/node_modules/ansi-regex/readme.md | 0 .../eslint/node_modules/ansi-styles/index.js | 0 .../eslint/node_modules/ansi-styles/license | 0 .../node_modules/ansi-styles/package.json | 0 .../eslint/node_modules/ansi-styles/readme.md | 0 .../eslint/node_modules/argparse/LICENSE | 0 .../eslint/node_modules/argparse/README.md | 0 .../eslint/node_modules/argparse/index.js | 0 .../node_modules/argparse/lib/action.js | 0 .../argparse/lib/action/append.js | 0 .../argparse/lib/action/append/constant.js | 0 .../node_modules/argparse/lib/action/count.js | 0 .../node_modules/argparse/lib/action/help.js | 0 .../node_modules/argparse/lib/action/store.js | 0 .../argparse/lib/action/store/constant.js | 0 .../argparse/lib/action/store/false.js | 0 .../argparse/lib/action/store/true.js | 0 .../argparse/lib/action/subparsers.js | 0 .../argparse/lib/action/version.js | 0 .../argparse/lib/action_container.js | 0 .../node_modules/argparse/lib/argparse.js | 0 .../argparse/lib/argument/error.js | 0 .../argparse/lib/argument/exclusive.js | 0 .../argparse/lib/argument/group.js | 0 .../argparse/lib/argument_parser.js | 0 .../eslint/node_modules/argparse/lib/const.js | 0 .../argparse/lib/help/added_formatters.js | 0 .../argparse/lib/help/formatter.js | 0 .../node_modules/argparse/lib/namespace.js | 0 .../eslint/node_modules/argparse/lib/utils.js | 0 .../eslint/node_modules/argparse/package.json | 0 .../eslint/node_modules/array-union/index.js | 0 .../eslint/node_modules/array-union/license | 0 .../node_modules/array-union/package.json | 0 .../eslint/node_modules/array-union/readme.md | 0 .../eslint/node_modules/array-uniq/index.js | 0 .../eslint/node_modules/array-uniq/license | 0 .../node_modules/array-uniq/package.json | 0 .../eslint/node_modules/array-uniq/readme.md | 0 .../eslint/node_modules/arrify/index.js | 0 .../eslint/node_modules/arrify/license | 0 .../eslint/node_modules/arrify/package.json | 0 .../eslint/node_modules/arrify/readme.md | 0 .../node_modules/babel-code-frame/README.md | 0 .../babel-code-frame/lib/index.js | 0 .../node_modules/chalk/index.js | 0 .../node_modules/chalk/license | 0 .../node_modules/chalk/package.json | 0 .../node_modules/chalk/readme.md | 0 .../node_modules/strip-ansi/index.js | 0 .../node_modules/strip-ansi/license | 0 .../node_modules/strip-ansi/package.json | 0 .../node_modules/strip-ansi/readme.md | 0 .../babel-code-frame/package-lock.json | 0 .../babel-code-frame/package.json | 0 .../eslint/node_modules/bail/LICENSE | 0 .../eslint/node_modules/bail/index.js | 0 .../eslint/node_modules/bail/package.json | 0 .../eslint/node_modules/bail/readme.md | 0 .../node_modules/balanced-match/LICENSE.md | 0 .../node_modules/balanced-match/README.md | 0 .../node_modules/balanced-match/index.js | 0 .../node_modules/balanced-match/package.json | 0 .../node_modules/brace-expansion/README.md | 0 .../node_modules/brace-expansion/index.js | 0 .../node_modules/brace-expansion/package.json | 0 .../eslint/node_modules/caller-path/index.js | 0 .../node_modules/caller-path/package.json | 0 .../eslint/node_modules/caller-path/readme.md | 0 .../eslint/node_modules/callsites/index.js | 0 .../node_modules/callsites/package.json | 0 .../eslint/node_modules/callsites/readme.md | 0 .../eslint/node_modules/chalk/index.js | 0 .../eslint/node_modules/chalk/license | 0 .../chalk/node_modules/ansi-styles/index.js | 0 .../chalk/node_modules/ansi-styles/license | 0 .../node_modules/ansi-styles/package.json | 0 .../chalk/node_modules/ansi-styles/readme.md | 0 .../node_modules/supports-color/browser.js | 0 .../node_modules/supports-color/index.js | 0 .../chalk/node_modules/supports-color/license | 0 .../node_modules/supports-color/package.json | 0 .../node_modules/supports-color/readme.md | 0 .../eslint/node_modules/chalk/package.json | 0 .../eslint/node_modules/chalk/readme.md | 0 .../eslint/node_modules/chalk/templates.js | 0 .../node_modules/chalk/types/index.d.ts | 0 .../character-entities-legacy/LICENSE | 0 .../character-entities-legacy/index.json | 0 .../character-entities-legacy/package.json | 0 .../character-entities-legacy/readme.md | 0 .../node_modules/character-entities/LICENSE | 0 .../character-entities/index.json | 0 .../character-entities/package.json | 0 .../node_modules/character-entities/readme.md | 0 .../character-reference-invalid/LICENSE | 0 .../character-reference-invalid/index.json | 0 .../character-reference-invalid/package.json | 0 .../character-reference-invalid/readme.md | 0 .../eslint/node_modules/chardet/LICENSE | 0 .../eslint/node_modules/chardet/README.md | 0 .../node_modules/chardet/encoding/iso2022.js | 0 .../node_modules/chardet/encoding/mbcs.js | 0 .../node_modules/chardet/encoding/sbcs.js | 0 .../node_modules/chardet/encoding/unicode.js | 0 .../node_modules/chardet/encoding/utf8.js | 0 .../eslint/node_modules/chardet/index.js | 0 .../eslint/node_modules/chardet/match.js | 0 .../eslint/node_modules/chardet/package.json | 0 .../node_modules/chardet/scripts/release | 0 .../eslint/node_modules/chardet/yarn.lock | 0 .../node_modules/circular-json/LICENSE.txt | 0 .../node_modules/circular-json/README.md | 0 .../circular-json/build/circular-json.js | 0 .../circular-json/build/circular-json.max.js | 0 .../circular-json/build/circular-json.node.js | 0 .../node_modules/circular-json/package.json | 0 .../circular-json/template/license.after | 0 .../circular-json/template/license.before | 0 .../eslint/node_modules/cli-cursor/index.js | 0 .../eslint/node_modules/cli-cursor/license | 0 .../node_modules/cli-cursor/package.json | 0 .../eslint/node_modules/cli-cursor/readme.md | 0 .../eslint/node_modules/cli-width/LICENSE | 0 .../eslint/node_modules/cli-width/README.md | 0 .../eslint/node_modules/cli-width/index.js | 0 .../node_modules/cli-width/package.json | 0 .../eslint/node_modules/co/LICENSE | 0 .../eslint/node_modules/co/Readme.md | 0 .../eslint/node_modules/co/index.js | 0 .../eslint/node_modules/co/package.json | 0 .../node_modules/collapse-white-space/LICENSE | 0 .../collapse-white-space/index.js | 0 .../collapse-white-space/package.json | 0 .../collapse-white-space/readme.md | 0 .../eslint/node_modules/color-convert/LICENSE | 0 .../node_modules/color-convert/README.md | 0 .../node_modules/color-convert/conversions.js | 0 .../node_modules/color-convert/index.js | 0 .../node_modules/color-convert/package.json | 0 .../node_modules/color-convert/route.js | 0 .../node_modules/color-name/.eslintrc.json | 0 .../eslint/node_modules/color-name/LICENSE | 0 .../eslint/node_modules/color-name/README.md | 0 .../eslint/node_modules/color-name/index.js | 0 .../node_modules/color-name/package.json | 0 .../eslint/node_modules/concat-map/LICENSE | 0 .../node_modules/concat-map/README.markdown | 0 .../eslint/node_modules/concat-map/index.js | 0 .../node_modules/concat-map/package.json | 0 .../eslint/node_modules/concat-stream/LICENSE | 0 .../node_modules/concat-stream/index.js | 0 .../node_modules/concat-stream/package.json | 0 .../node_modules/concat-stream/readme.md | 0 .../eslint/node_modules/core-util-is/LICENSE | 0 .../node_modules/core-util-is/README.md | 0 .../node_modules/core-util-is/float.patch | 0 .../node_modules/core-util-is/lib/util.js | 0 .../node_modules/core-util-is/package.json | 0 .../eslint/node_modules/cross-spawn/LICENSE | 0 .../eslint/node_modules/cross-spawn/README.md | 0 .../eslint/node_modules/cross-spawn/index.js | 0 .../node_modules/cross-spawn/lib/enoent.js | 0 .../node_modules/cross-spawn/lib/parse.js | 0 .../cross-spawn/lib/util/escapeArgument.js | 0 .../cross-spawn/lib/util/escapeCommand.js | 0 .../lib/util/hasEmptyArgumentBug.js | 0 .../cross-spawn/lib/util/readShebang.js | 0 .../cross-spawn/lib/util/resolveCommand.js | 0 .../node_modules/cross-spawn/package.json | 0 .../eslint/node_modules/debug/.coveralls.yml | 0 .../eslint/node_modules/debug/LICENSE | 0 .../eslint/node_modules/debug/Makefile | 0 .../eslint/node_modules/debug/Readme.md | 0 .../eslint/node_modules/debug/karma.conf.js | 0 .../eslint/node_modules/debug/node.js | 0 .../eslint/node_modules/debug/package.json | 0 .../eslint/node_modules/debug/src/browser.js | 0 .../eslint/node_modules/debug/src/debug.js | 0 .../eslint/node_modules/debug/src/index.js | 0 .../eslint/node_modules/debug/src/node.js | 0 .../eslint/node_modules/deep-is/LICENSE | 0 .../node_modules/deep-is/README.markdown | 0 .../eslint/node_modules/deep-is/index.js | 0 .../eslint/node_modules/deep-is/package.json | 0 .../eslint/node_modules/del/index.js | 0 .../eslint/node_modules/del/license | 0 .../eslint/node_modules/del/package.json | 0 .../eslint/node_modules/del/readme.md | 0 .../eslint/node_modules/doctrine/LICENSE | 0 .../doctrine/LICENSE.closure-compiler | 0 .../node_modules/doctrine/LICENSE.esprima | 0 .../eslint/node_modules/doctrine/README.md | 0 .../node_modules/doctrine/lib/doctrine.js | 0 .../eslint/node_modules/doctrine/lib/typed.js | 0 .../node_modules/doctrine/lib/utility.js | 0 .../eslint/node_modules/doctrine/package.json | 0 .../escape-string-regexp/index.js | 0 .../node_modules/escape-string-regexp/license | 0 .../escape-string-regexp/package.json | 0 .../escape-string-regexp/readme.md | 0 .../eslint-plugin-markdown/LICENSE | 0 .../eslint-plugin-markdown/README.md | 0 .../eslint-plugin-markdown/index.js | 0 .../eslint-plugin-markdown/lib/index.js | 0 .../eslint-plugin-markdown/lib/processor.js | 0 .../eslint-plugin-markdown/package.json | 0 .../eslint/node_modules/eslint-scope/LICENSE | 0 .../node_modules/eslint-scope/README.md | 0 .../eslint-scope/lib/definition.js | 0 .../node_modules/eslint-scope/lib/index.js | 0 .../eslint-scope/lib/pattern-visitor.js | 0 .../eslint-scope/lib/reference.js | 0 .../eslint-scope/lib/referencer.js | 0 .../eslint-scope/lib/scope-manager.js | 0 .../node_modules/eslint-scope/lib/scope.js | 0 .../node_modules/eslint-scope/lib/variable.js | 0 .../node_modules/eslint-scope/package.json | 0 .../eslint/node_modules/espree/LICENSE | 0 .../eslint/node_modules/espree/README.md | 0 .../eslint/node_modules/espree/espree.js | 0 .../node_modules/espree/lib/ast-node-types.js | 0 .../espree/lib/comment-attachment.js | 0 .../node_modules/espree/lib/features.js | 0 .../espree/lib/token-translator.js | 0 .../node_modules/espree/lib/visitor-keys.js | 0 .../eslint/node_modules/espree/package.json | 0 .../eslint/node_modules/esprima/LICENSE.BSD | 0 .../eslint/node_modules/esprima/README.md | 0 .../node_modules/esprima/bin/esparse.js | 0 .../node_modules/esprima/bin/esvalidate.js | 0 .../node_modules/esprima/dist/esprima.js | 0 .../eslint/node_modules/esprima/package.json | 0 .../eslint/node_modules/esquery/README.md | 0 .../eslint/node_modules/esquery/esquery.js | 0 .../eslint/node_modules/esquery/license.txt | 0 .../eslint/node_modules/esquery/package.json | 0 .../eslint/node_modules/esquery/parser.js | 0 .../eslint/node_modules/esrecurse/.babelrc | 0 .../eslint/node_modules/esrecurse/README.md | 0 .../node_modules/esrecurse/esrecurse.js | 0 .../node_modules/esrecurse/package-lock.json | 0 .../node_modules/esrecurse/package.json | 0 .../eslint/node_modules/estraverse/.babelrc | 0 .../node_modules/estraverse/LICENSE.BSD | 0 .../node_modules/estraverse/estraverse.js | 0 .../node_modules/estraverse/package.json | 0 .../eslint/node_modules/esutils/LICENSE.BSD | 0 .../eslint/node_modules/esutils/README.md | 0 .../eslint/node_modules/esutils/lib/ast.js | 0 .../eslint/node_modules/esutils/lib/code.js | 0 .../node_modules/esutils/lib/keyword.js | 0 .../eslint/node_modules/esutils/lib/utils.js | 0 .../eslint/node_modules/esutils/package.json | 0 .../eslint/node_modules/extend/LICENSE | 0 .../eslint/node_modules/extend/README.md | 0 .../eslint/node_modules/extend/index.js | 0 .../eslint/node_modules/extend/package.json | 0 .../node_modules/external-editor/LICENSE | 0 .../node_modules/external-editor/README.md | 0 .../external-editor/example_async.js | 0 .../external-editor/example_sync.js | 0 .../main/errors/CreateFileError.js | 0 .../main/errors/LaunchEditorError.js | 0 .../main/errors/ReadFileError.js | 0 .../main/errors/RemoveFileError.js | 0 .../external-editor/main/index.js | 0 .../node_modules/external-editor/package.json | 0 .../fast-deep-equal/.eslintrc.yml | 0 .../node_modules/fast-deep-equal/LICENSE | 0 .../node_modules/fast-deep-equal/README.md | 0 .../node_modules/fast-deep-equal/index.js | 0 .../node_modules/fast-deep-equal/package.json | 0 .../fast-json-stable-stringify/.eslintrc.yml | 0 .../fast-json-stable-stringify/LICENSE | 0 .../fast-json-stable-stringify/README.md | 0 .../fast-json-stable-stringify/index.js | 0 .../fast-json-stable-stringify/package.json | 0 .../node_modules/fast-levenshtein/LICENSE.md | 0 .../node_modules/fast-levenshtein/README.md | 0 .../fast-levenshtein/levenshtein.js | 0 .../fast-levenshtein/package.json | 0 .../eslint/node_modules/figures/index.js | 0 .../eslint/node_modules/figures/license | 0 .../eslint/node_modules/figures/package.json | 0 .../eslint/node_modules/figures/readme.md | 0 .../node_modules/file-entry-cache/LICENSE | 0 .../node_modules/file-entry-cache/README.md | 0 .../node_modules/file-entry-cache/cache.js | 0 .../file-entry-cache/changelog.md | 0 .../file-entry-cache/package.json | 0 .../eslint/node_modules/flat-cache/LICENSE | 0 .../eslint/node_modules/flat-cache/README.md | 0 .../eslint/node_modules/flat-cache/cache.js | 0 .../node_modules/flat-cache/changelog.md | 0 .../node_modules/flat-cache/package.json | 0 .../eslint/node_modules/flat-cache/utils.js | 0 .../eslint/node_modules/fs.realpath/LICENSE | 0 .../eslint/node_modules/fs.realpath/README.md | 0 .../eslint/node_modules/fs.realpath/index.js | 0 .../eslint/node_modules/fs.realpath/old.js | 0 .../node_modules/fs.realpath/package.json | 0 .../eslint/node_modules/function-bind/LICENSE | 0 .../node_modules/function-bind/README.md | 0 .../function-bind/implementation.js | 0 .../node_modules/function-bind/index.js | 0 .../node_modules/function-bind/package.json | 0 .../functional-red-black-tree/LICENSE | 0 .../functional-red-black-tree/README.md | 0 .../functional-red-black-tree/bench/test.js | 0 .../functional-red-black-tree/package.json | 0 .../functional-red-black-tree/rbtree.js | 0 .../eslint/node_modules/glob/LICENSE | 0 .../eslint/node_modules/glob/README.md | 0 .../eslint/node_modules/glob/changelog.md | 0 .../eslint/node_modules/glob/common.js | 0 .../eslint/node_modules/glob/glob.js | 0 .../eslint/node_modules/glob/package.json | 0 .../eslint/node_modules/glob/sync.js | 0 .../eslint/node_modules/globals/globals.json | 0 .../eslint/node_modules/globals/index.js | 0 .../eslint/node_modules/globals/license | 0 .../eslint/node_modules/globals/package.json | 0 .../eslint/node_modules/globals/readme.md | 0 .../eslint/node_modules/globby/index.js | 0 .../eslint/node_modules/globby/license | 0 .../eslint/node_modules/globby/package.json | 0 .../eslint/node_modules/globby/readme.md | 0 .../eslint/node_modules/graceful-fs/LICENSE | 0 .../eslint/node_modules/graceful-fs/README.md | 0 .../eslint/node_modules/graceful-fs/fs.js | 0 .../node_modules/graceful-fs/graceful-fs.js | 0 .../graceful-fs/legacy-streams.js | 0 .../node_modules/graceful-fs/package.json | 0 .../node_modules/graceful-fs/polyfills.js | 0 .../eslint/node_modules/has-ansi/index.js | 0 .../eslint/node_modules/has-ansi/license | 0 .../eslint/node_modules/has-ansi/package.json | 0 .../eslint/node_modules/has-ansi/readme.md | 0 .../eslint/node_modules/has-flag/index.js | 0 .../eslint/node_modules/has-flag/license | 0 .../eslint/node_modules/has-flag/package.json | 0 .../eslint/node_modules/has-flag/readme.md | 0 .../eslint/node_modules/has/LICENSE-MIT | 0 .../eslint/node_modules/has/README.mkd | 0 .../eslint/node_modules/has/package.json | 0 .../eslint/node_modules/has/src/index.js | 0 .../eslint/node_modules/iconv-lite/LICENSE | 0 .../eslint/node_modules/iconv-lite/README.md | 0 .../iconv-lite/encodings/dbcs-codec.js | 0 .../iconv-lite/encodings/dbcs-data.js | 0 .../iconv-lite/encodings/index.js | 0 .../iconv-lite/encodings/internal.js | 0 .../iconv-lite/encodings/sbcs-codec.js | 0 .../encodings/sbcs-data-generated.js | 0 .../iconv-lite/encodings/sbcs-data.js | 0 .../encodings/tables/big5-added.json | 0 .../iconv-lite/encodings/tables/cp936.json | 0 .../iconv-lite/encodings/tables/cp949.json | 0 .../iconv-lite/encodings/tables/cp950.json | 0 .../iconv-lite/encodings/tables/eucjp.json | 0 .../encodings/tables/gb18030-ranges.json | 0 .../encodings/tables/gbk-added.json | 0 .../iconv-lite/encodings/tables/shiftjis.json | 0 .../iconv-lite/encodings/utf16.js | 0 .../node_modules/iconv-lite/encodings/utf7.js | 0 .../iconv-lite/lib/bom-handling.js | 0 .../iconv-lite/lib/extend-node.js | 0 .../node_modules/iconv-lite/lib/index.d.ts | 0 .../node_modules/iconv-lite/lib/index.js | 0 .../node_modules/iconv-lite/lib/streams.js | 0 .../node_modules/iconv-lite/package.json | 0 .../eslint/node_modules/ignore/README.md | 0 .../eslint/node_modules/ignore/ignore.js | 0 .../eslint/node_modules/ignore/index.d.ts | 0 .../eslint/node_modules/ignore/package.json | 0 .../eslint/node_modules/imurmurhash/README.md | 0 .../node_modules/imurmurhash/imurmurhash.js | 0 .../imurmurhash/imurmurhash.min.js | 0 .../node_modules/imurmurhash/package.json | 0 .../eslint/node_modules/inflight/LICENSE | 0 .../eslint/node_modules/inflight/README.md | 0 .../eslint/node_modules/inflight/inflight.js | 0 .../eslint/node_modules/inflight/package.json | 0 .../eslint/node_modules/inherits/LICENSE | 0 .../eslint/node_modules/inherits/README.md | 0 .../eslint/node_modules/inherits/inherits.js | 0 .../node_modules/inherits/inherits_browser.js | 0 .../eslint/node_modules/inherits/package.json | 0 .../eslint/node_modules/inquirer/README.md | 0 .../node_modules/inquirer/lib/inquirer.js | 0 .../inquirer/lib/objects/choice.js | 0 .../inquirer/lib/objects/choices.js | 0 .../inquirer/lib/objects/separator.js | 0 .../node_modules/inquirer/lib/prompts/base.js | 0 .../inquirer/lib/prompts/checkbox.js | 0 .../inquirer/lib/prompts/confirm.js | 0 .../inquirer/lib/prompts/editor.js | 0 .../inquirer/lib/prompts/expand.js | 0 .../inquirer/lib/prompts/input.js | 0 .../node_modules/inquirer/lib/prompts/list.js | 0 .../inquirer/lib/prompts/password.js | 0 .../inquirer/lib/prompts/rawlist.js | 0 .../node_modules/inquirer/lib/ui/baseUI.js | 0 .../inquirer/lib/ui/bottom-bar.js | 0 .../node_modules/inquirer/lib/ui/prompt.js | 0 .../node_modules/inquirer/lib/utils/events.js | 0 .../inquirer/lib/utils/paginator.js | 0 .../inquirer/lib/utils/readline.js | 0 .../inquirer/lib/utils/screen-manager.js | 0 .../node_modules/inquirer/lib/utils/utils.js | 0 .../eslint/node_modules/inquirer/package.json | 0 .../node_modules/is-alphabetical/LICENSE | 0 .../node_modules/is-alphabetical/index.js | 0 .../node_modules/is-alphabetical/package.json | 0 .../node_modules/is-alphabetical/readme.md | 0 .../node_modules/is-alphanumerical/LICENSE | 0 .../node_modules/is-alphanumerical/index.js | 0 .../is-alphanumerical/package.json | 0 .../node_modules/is-alphanumerical/readme.md | 0 .../eslint/node_modules/is-buffer/LICENSE | 0 .../eslint/node_modules/is-buffer/README.md | 0 .../eslint/node_modules/is-buffer/index.js | 0 .../node_modules/is-buffer/package.json | 0 .../eslint/node_modules/is-decimal/LICENSE | 0 .../eslint/node_modules/is-decimal/index.js | 0 .../node_modules/is-decimal/package.json | 0 .../eslint/node_modules/is-decimal/readme.md | 0 .../is-fullwidth-code-point/index.js | 0 .../is-fullwidth-code-point/license | 0 .../is-fullwidth-code-point/package.json | 0 .../is-fullwidth-code-point/readme.md | 0 .../node_modules/is-hexadecimal/LICENSE | 0 .../node_modules/is-hexadecimal/index.js | 0 .../node_modules/is-hexadecimal/package.json | 0 .../node_modules/is-hexadecimal/readme.md | 0 .../eslint/node_modules/is-path-cwd/index.js | 0 .../node_modules/is-path-cwd/package.json | 0 .../eslint/node_modules/is-path-cwd/readme.md | 0 .../node_modules/is-path-in-cwd/index.js | 0 .../node_modules/is-path-in-cwd/package.json | 0 .../node_modules/is-path-in-cwd/readme.md | 0 .../node_modules/is-path-inside/index.js | 0 .../node_modules/is-path-inside/package.json | 0 .../node_modules/is-path-inside/readme.md | 0 .../eslint/node_modules/is-plain-obj/index.js | 0 .../eslint/node_modules/is-plain-obj/license | 0 .../node_modules/is-plain-obj/package.json | 0 .../node_modules/is-plain-obj/readme.md | 0 .../eslint/node_modules/is-promise/LICENSE | 0 .../eslint/node_modules/is-promise/index.js | 0 .../node_modules/is-promise/package.json | 0 .../eslint/node_modules/is-promise/readme.md | 0 .../eslint/node_modules/is-resolvable/LICENSE | 0 .../node_modules/is-resolvable/README.md | 0 .../node_modules/is-resolvable/index.js | 0 .../node_modules/is-resolvable/package.json | 0 .../is-whitespace-character/LICENSE | 0 .../is-whitespace-character/index.js | 0 .../is-whitespace-character/package.json | 0 .../is-whitespace-character/readme.md | 0 .../node_modules/is-word-character/LICENSE | 0 .../node_modules/is-word-character/index.js | 0 .../is-word-character/package.json | 0 .../node_modules/is-word-character/readme.md | 0 .../eslint/node_modules/isarray/Makefile | 0 .../eslint/node_modules/isarray/README.md | 0 .../eslint/node_modules/isarray/index.js | 0 .../eslint/node_modules/isarray/package.json | 0 .../eslint/node_modules/isexe/LICENSE | 0 .../eslint/node_modules/isexe/README.md | 0 .../eslint/node_modules/isexe/index.js | 0 .../eslint/node_modules/isexe/mode.js | 0 .../eslint/node_modules/isexe/package.json | 0 .../eslint/node_modules/isexe/windows.js | 0 .../eslint/node_modules/js-tokens/LICENSE | 0 .../eslint/node_modules/js-tokens/index.js | 0 .../node_modules/js-tokens/package.json | 0 .../eslint/node_modules/js-tokens/readme.md | 0 .../eslint/node_modules/js-yaml/LICENSE | 0 .../eslint/node_modules/js-yaml/README.md | 0 .../node_modules/js-yaml/bin/js-yaml.js | 0 .../node_modules/js-yaml/dist/js-yaml.js | 0 .../node_modules/js-yaml/dist/js-yaml.min.js | 0 .../eslint/node_modules/js-yaml/index.js | 0 .../node_modules/js-yaml/lib/js-yaml.js | 0 .../js-yaml/lib/js-yaml/common.js | 0 .../js-yaml/lib/js-yaml/dumper.js | 0 .../js-yaml/lib/js-yaml/exception.js | 0 .../js-yaml/lib/js-yaml/loader.js | 0 .../node_modules/js-yaml/lib/js-yaml/mark.js | 0 .../js-yaml/lib/js-yaml/schema.js | 0 .../js-yaml/lib/js-yaml/schema/core.js | 0 .../lib/js-yaml/schema/default_full.js | 0 .../lib/js-yaml/schema/default_safe.js | 0 .../js-yaml/lib/js-yaml/schema/failsafe.js | 0 .../js-yaml/lib/js-yaml/schema/json.js | 0 .../node_modules/js-yaml/lib/js-yaml/type.js | 0 .../js-yaml/lib/js-yaml/type/binary.js | 0 .../js-yaml/lib/js-yaml/type/bool.js | 0 .../js-yaml/lib/js-yaml/type/float.js | 0 .../js-yaml/lib/js-yaml/type/int.js | 0 .../js-yaml/lib/js-yaml/type/js/function.js | 0 .../js-yaml/lib/js-yaml/type/js/regexp.js | 0 .../js-yaml/lib/js-yaml/type/js/undefined.js | 0 .../js-yaml/lib/js-yaml/type/map.js | 0 .../js-yaml/lib/js-yaml/type/merge.js | 0 .../js-yaml/lib/js-yaml/type/null.js | 0 .../js-yaml/lib/js-yaml/type/omap.js | 0 .../js-yaml/lib/js-yaml/type/pairs.js | 0 .../js-yaml/lib/js-yaml/type/seq.js | 0 .../js-yaml/lib/js-yaml/type/set.js | 0 .../js-yaml/lib/js-yaml/type/str.js | 0 .../js-yaml/lib/js-yaml/type/timestamp.js | 0 .../eslint/node_modules/js-yaml/package.json | 0 .../json-schema-traverse/.eslintrc.yml | 0 .../node_modules/json-schema-traverse/LICENSE | 0 .../json-schema-traverse/README.md | 0 .../json-schema-traverse/index.js | 0 .../json-schema-traverse/package.json | 0 .../LICENSE | 0 .../index.js | 0 .../package.json | 0 .../readme.markdown | 0 .../eslint/node_modules/levn/LICENSE | 0 .../eslint/node_modules/levn/README.md | 0 .../eslint/node_modules/levn/lib/cast.js | 0 .../eslint/node_modules/levn/lib/coerce.js | 0 .../eslint/node_modules/levn/lib/index.js | 0 .../node_modules/levn/lib/parse-string.js | 0 .../eslint/node_modules/levn/lib/parse.js | 0 .../eslint/node_modules/levn/package.json | 0 .../eslint/node_modules/lodash/LICENSE | 0 .../eslint/node_modules/lodash/README.md | 0 .../eslint/node_modules/lodash/_DataView.js | 0 .../eslint/node_modules/lodash/_Hash.js | 0 .../node_modules/lodash/_LazyWrapper.js | 0 .../eslint/node_modules/lodash/_ListCache.js | 0 .../node_modules/lodash/_LodashWrapper.js | 0 .../eslint/node_modules/lodash/_Map.js | 0 .../eslint/node_modules/lodash/_MapCache.js | 0 .../eslint/node_modules/lodash/_Promise.js | 0 .../eslint/node_modules/lodash/_Set.js | 0 .../eslint/node_modules/lodash/_SetCache.js | 0 .../eslint/node_modules/lodash/_Stack.js | 0 .../eslint/node_modules/lodash/_Symbol.js | 0 .../eslint/node_modules/lodash/_Uint8Array.js | 0 .../eslint/node_modules/lodash/_WeakMap.js | 0 .../node_modules/lodash/_addMapEntry.js | 0 .../node_modules/lodash/_addSetEntry.js | 0 .../eslint/node_modules/lodash/_apply.js | 0 .../node_modules/lodash/_arrayAggregator.js | 0 .../eslint/node_modules/lodash/_arrayEach.js | 0 .../node_modules/lodash/_arrayEachRight.js | 0 .../eslint/node_modules/lodash/_arrayEvery.js | 0 .../node_modules/lodash/_arrayFilter.js | 0 .../node_modules/lodash/_arrayIncludes.js | 0 .../node_modules/lodash/_arrayIncludesWith.js | 0 .../node_modules/lodash/_arrayLikeKeys.js | 0 .../eslint/node_modules/lodash/_arrayMap.js | 0 .../eslint/node_modules/lodash/_arrayPush.js | 0 .../node_modules/lodash/_arrayReduce.js | 0 .../node_modules/lodash/_arrayReduceRight.js | 0 .../node_modules/lodash/_arraySample.js | 0 .../node_modules/lodash/_arraySampleSize.js | 0 .../node_modules/lodash/_arrayShuffle.js | 0 .../eslint/node_modules/lodash/_arraySome.js | 0 .../eslint/node_modules/lodash/_asciiSize.js | 0 .../node_modules/lodash/_asciiToArray.js | 0 .../eslint/node_modules/lodash/_asciiWords.js | 0 .../node_modules/lodash/_assignMergeValue.js | 0 .../node_modules/lodash/_assignValue.js | 0 .../node_modules/lodash/_assocIndexOf.js | 0 .../node_modules/lodash/_baseAggregator.js | 0 .../eslint/node_modules/lodash/_baseAssign.js | 0 .../node_modules/lodash/_baseAssignIn.js | 0 .../node_modules/lodash/_baseAssignValue.js | 0 .../eslint/node_modules/lodash/_baseAt.js | 0 .../eslint/node_modules/lodash/_baseClamp.js | 0 .../eslint/node_modules/lodash/_baseClone.js | 0 .../node_modules/lodash/_baseConforms.js | 0 .../node_modules/lodash/_baseConformsTo.js | 0 .../eslint/node_modules/lodash/_baseCreate.js | 0 .../eslint/node_modules/lodash/_baseDelay.js | 0 .../node_modules/lodash/_baseDifference.js | 0 .../eslint/node_modules/lodash/_baseEach.js | 0 .../node_modules/lodash/_baseEachRight.js | 0 .../eslint/node_modules/lodash/_baseEvery.js | 0 .../node_modules/lodash/_baseExtremum.js | 0 .../eslint/node_modules/lodash/_baseFill.js | 0 .../eslint/node_modules/lodash/_baseFilter.js | 0 .../node_modules/lodash/_baseFindIndex.js | 0 .../node_modules/lodash/_baseFindKey.js | 0 .../node_modules/lodash/_baseFlatten.js | 0 .../eslint/node_modules/lodash/_baseFor.js | 0 .../eslint/node_modules/lodash/_baseForOwn.js | 0 .../node_modules/lodash/_baseForOwnRight.js | 0 .../node_modules/lodash/_baseForRight.js | 0 .../node_modules/lodash/_baseFunctions.js | 0 .../eslint/node_modules/lodash/_baseGet.js | 0 .../node_modules/lodash/_baseGetAllKeys.js | 0 .../eslint/node_modules/lodash/_baseGetTag.js | 0 .../eslint/node_modules/lodash/_baseGt.js | 0 .../eslint/node_modules/lodash/_baseHas.js | 0 .../eslint/node_modules/lodash/_baseHasIn.js | 0 .../node_modules/lodash/_baseInRange.js | 0 .../node_modules/lodash/_baseIndexOf.js | 0 .../node_modules/lodash/_baseIndexOfWith.js | 0 .../node_modules/lodash/_baseIntersection.js | 0 .../node_modules/lodash/_baseInverter.js | 0 .../eslint/node_modules/lodash/_baseInvoke.js | 0 .../node_modules/lodash/_baseIsArguments.js | 0 .../node_modules/lodash/_baseIsArrayBuffer.js | 0 .../eslint/node_modules/lodash/_baseIsDate.js | 0 .../node_modules/lodash/_baseIsEqual.js | 0 .../node_modules/lodash/_baseIsEqualDeep.js | 0 .../eslint/node_modules/lodash/_baseIsMap.js | 0 .../node_modules/lodash/_baseIsMatch.js | 0 .../eslint/node_modules/lodash/_baseIsNaN.js | 0 .../node_modules/lodash/_baseIsNative.js | 0 .../node_modules/lodash/_baseIsRegExp.js | 0 .../eslint/node_modules/lodash/_baseIsSet.js | 0 .../node_modules/lodash/_baseIsTypedArray.js | 0 .../node_modules/lodash/_baseIteratee.js | 0 .../eslint/node_modules/lodash/_baseKeys.js | 0 .../eslint/node_modules/lodash/_baseKeysIn.js | 0 .../eslint/node_modules/lodash/_baseLodash.js | 0 .../eslint/node_modules/lodash/_baseLt.js | 0 .../eslint/node_modules/lodash/_baseMap.js | 0 .../node_modules/lodash/_baseMatches.js | 0 .../lodash/_baseMatchesProperty.js | 0 .../eslint/node_modules/lodash/_baseMean.js | 0 .../eslint/node_modules/lodash/_baseMerge.js | 0 .../node_modules/lodash/_baseMergeDeep.js | 0 .../eslint/node_modules/lodash/_baseNth.js | 0 .../node_modules/lodash/_baseOrderBy.js | 0 .../eslint/node_modules/lodash/_basePick.js | 0 .../eslint/node_modules/lodash/_basePickBy.js | 0 .../node_modules/lodash/_baseProperty.js | 0 .../node_modules/lodash/_basePropertyDeep.js | 0 .../node_modules/lodash/_basePropertyOf.js | 0 .../node_modules/lodash/_basePullAll.js | 0 .../eslint/node_modules/lodash/_basePullAt.js | 0 .../eslint/node_modules/lodash/_baseRandom.js | 0 .../eslint/node_modules/lodash/_baseRange.js | 0 .../eslint/node_modules/lodash/_baseReduce.js | 0 .../eslint/node_modules/lodash/_baseRepeat.js | 0 .../eslint/node_modules/lodash/_baseRest.js | 0 .../eslint/node_modules/lodash/_baseSample.js | 0 .../node_modules/lodash/_baseSampleSize.js | 0 .../eslint/node_modules/lodash/_baseSet.js | 0 .../node_modules/lodash/_baseSetData.js | 0 .../node_modules/lodash/_baseSetToString.js | 0 .../node_modules/lodash/_baseShuffle.js | 0 .../eslint/node_modules/lodash/_baseSlice.js | 0 .../eslint/node_modules/lodash/_baseSome.js | 0 .../eslint/node_modules/lodash/_baseSortBy.js | 0 .../node_modules/lodash/_baseSortedIndex.js | 0 .../node_modules/lodash/_baseSortedIndexBy.js | 0 .../node_modules/lodash/_baseSortedUniq.js | 0 .../eslint/node_modules/lodash/_baseSum.js | 0 .../eslint/node_modules/lodash/_baseTimes.js | 0 .../node_modules/lodash/_baseToNumber.js | 0 .../node_modules/lodash/_baseToPairs.js | 0 .../node_modules/lodash/_baseToString.js | 0 .../eslint/node_modules/lodash/_baseUnary.js | 0 .../eslint/node_modules/lodash/_baseUniq.js | 0 .../eslint/node_modules/lodash/_baseUnset.js | 0 .../eslint/node_modules/lodash/_baseUpdate.js | 0 .../eslint/node_modules/lodash/_baseValues.js | 0 .../eslint/node_modules/lodash/_baseWhile.js | 0 .../node_modules/lodash/_baseWrapperValue.js | 0 .../eslint/node_modules/lodash/_baseXor.js | 0 .../node_modules/lodash/_baseZipObject.js | 0 .../eslint/node_modules/lodash/_cacheHas.js | 0 .../lodash/_castArrayLikeObject.js | 0 .../node_modules/lodash/_castFunction.js | 0 .../eslint/node_modules/lodash/_castPath.js | 0 .../eslint/node_modules/lodash/_castRest.js | 0 .../eslint/node_modules/lodash/_castSlice.js | 0 .../node_modules/lodash/_charsEndIndex.js | 0 .../node_modules/lodash/_charsStartIndex.js | 0 .../node_modules/lodash/_cloneArrayBuffer.js | 0 .../node_modules/lodash/_cloneBuffer.js | 0 .../node_modules/lodash/_cloneDataView.js | 0 .../eslint/node_modules/lodash/_cloneMap.js | 0 .../node_modules/lodash/_cloneRegExp.js | 0 .../eslint/node_modules/lodash/_cloneSet.js | 0 .../node_modules/lodash/_cloneSymbol.js | 0 .../node_modules/lodash/_cloneTypedArray.js | 0 .../node_modules/lodash/_compareAscending.js | 0 .../node_modules/lodash/_compareMultiple.js | 0 .../node_modules/lodash/_composeArgs.js | 0 .../node_modules/lodash/_composeArgsRight.js | 0 .../eslint/node_modules/lodash/_copyArray.js | 0 .../eslint/node_modules/lodash/_copyObject.js | 0 .../node_modules/lodash/_copySymbols.js | 0 .../node_modules/lodash/_copySymbolsIn.js | 0 .../eslint/node_modules/lodash/_coreJsData.js | 0 .../node_modules/lodash/_countHolders.js | 0 .../node_modules/lodash/_createAggregator.js | 0 .../node_modules/lodash/_createAssigner.js | 0 .../node_modules/lodash/_createBaseEach.js | 0 .../node_modules/lodash/_createBaseFor.js | 0 .../eslint/node_modules/lodash/_createBind.js | 0 .../node_modules/lodash/_createCaseFirst.js | 0 .../node_modules/lodash/_createCompounder.js | 0 .../eslint/node_modules/lodash/_createCtor.js | 0 .../node_modules/lodash/_createCurry.js | 0 .../eslint/node_modules/lodash/_createFind.js | 0 .../eslint/node_modules/lodash/_createFlow.js | 0 .../node_modules/lodash/_createHybrid.js | 0 .../node_modules/lodash/_createInverter.js | 0 .../lodash/_createMathOperation.js | 0 .../eslint/node_modules/lodash/_createOver.js | 0 .../node_modules/lodash/_createPadding.js | 0 .../node_modules/lodash/_createPartial.js | 0 .../node_modules/lodash/_createRange.js | 0 .../node_modules/lodash/_createRecurry.js | 0 .../lodash/_createRelationalOperation.js | 0 .../node_modules/lodash/_createRound.js | 0 .../eslint/node_modules/lodash/_createSet.js | 0 .../node_modules/lodash/_createToPairs.js | 0 .../eslint/node_modules/lodash/_createWrap.js | 0 .../lodash/_customDefaultsAssignIn.js | 0 .../lodash/_customDefaultsMerge.js | 0 .../node_modules/lodash/_customOmitClone.js | 0 .../node_modules/lodash/_deburrLetter.js | 0 .../node_modules/lodash/_defineProperty.js | 0 .../node_modules/lodash/_equalArrays.js | 0 .../eslint/node_modules/lodash/_equalByTag.js | 0 .../node_modules/lodash/_equalObjects.js | 0 .../node_modules/lodash/_escapeHtmlChar.js | 0 .../node_modules/lodash/_escapeStringChar.js | 0 .../eslint/node_modules/lodash/_flatRest.js | 0 .../eslint/node_modules/lodash/_freeGlobal.js | 0 .../eslint/node_modules/lodash/_getAllKeys.js | 0 .../node_modules/lodash/_getAllKeysIn.js | 0 .../eslint/node_modules/lodash/_getData.js | 0 .../node_modules/lodash/_getFuncName.js | 0 .../eslint/node_modules/lodash/_getHolder.js | 0 .../eslint/node_modules/lodash/_getMapData.js | 0 .../node_modules/lodash/_getMatchData.js | 0 .../eslint/node_modules/lodash/_getNative.js | 0 .../node_modules/lodash/_getPrototype.js | 0 .../eslint/node_modules/lodash/_getRawTag.js | 0 .../eslint/node_modules/lodash/_getSymbols.js | 0 .../node_modules/lodash/_getSymbolsIn.js | 0 .../eslint/node_modules/lodash/_getTag.js | 0 .../eslint/node_modules/lodash/_getValue.js | 0 .../eslint/node_modules/lodash/_getView.js | 0 .../node_modules/lodash/_getWrapDetails.js | 0 .../eslint/node_modules/lodash/_hasPath.js | 0 .../eslint/node_modules/lodash/_hasUnicode.js | 0 .../node_modules/lodash/_hasUnicodeWord.js | 0 .../eslint/node_modules/lodash/_hashClear.js | 0 .../eslint/node_modules/lodash/_hashDelete.js | 0 .../eslint/node_modules/lodash/_hashGet.js | 0 .../eslint/node_modules/lodash/_hashHas.js | 0 .../eslint/node_modules/lodash/_hashSet.js | 0 .../node_modules/lodash/_initCloneArray.js | 0 .../node_modules/lodash/_initCloneByTag.js | 0 .../node_modules/lodash/_initCloneObject.js | 0 .../node_modules/lodash/_insertWrapDetails.js | 0 .../node_modules/lodash/_isFlattenable.js | 0 .../eslint/node_modules/lodash/_isIndex.js | 0 .../node_modules/lodash/_isIterateeCall.js | 0 .../eslint/node_modules/lodash/_isKey.js | 0 .../eslint/node_modules/lodash/_isKeyable.js | 0 .../eslint/node_modules/lodash/_isLaziable.js | 0 .../eslint/node_modules/lodash/_isMaskable.js | 0 .../eslint/node_modules/lodash/_isMasked.js | 0 .../node_modules/lodash/_isPrototype.js | 0 .../lodash/_isStrictComparable.js | 0 .../node_modules/lodash/_iteratorToArray.js | 0 .../eslint/node_modules/lodash/_lazyClone.js | 0 .../node_modules/lodash/_lazyReverse.js | 0 .../eslint/node_modules/lodash/_lazyValue.js | 0 .../node_modules/lodash/_listCacheClear.js | 0 .../node_modules/lodash/_listCacheDelete.js | 0 .../node_modules/lodash/_listCacheGet.js | 0 .../node_modules/lodash/_listCacheHas.js | 0 .../node_modules/lodash/_listCacheSet.js | 0 .../node_modules/lodash/_mapCacheClear.js | 0 .../node_modules/lodash/_mapCacheDelete.js | 0 .../node_modules/lodash/_mapCacheGet.js | 0 .../node_modules/lodash/_mapCacheHas.js | 0 .../node_modules/lodash/_mapCacheSet.js | 0 .../eslint/node_modules/lodash/_mapToArray.js | 0 .../lodash/_matchesStrictComparable.js | 0 .../node_modules/lodash/_memoizeCapped.js | 0 .../eslint/node_modules/lodash/_mergeData.js | 0 .../eslint/node_modules/lodash/_metaMap.js | 0 .../node_modules/lodash/_nativeCreate.js | 0 .../eslint/node_modules/lodash/_nativeKeys.js | 0 .../node_modules/lodash/_nativeKeysIn.js | 0 .../eslint/node_modules/lodash/_nodeUtil.js | 0 .../node_modules/lodash/_objectToString.js | 0 .../eslint/node_modules/lodash/_overArg.js | 0 .../eslint/node_modules/lodash/_overRest.js | 0 .../eslint/node_modules/lodash/_parent.js | 0 .../eslint/node_modules/lodash/_reEscape.js | 0 .../eslint/node_modules/lodash/_reEvaluate.js | 0 .../node_modules/lodash/_reInterpolate.js | 0 .../eslint/node_modules/lodash/_realNames.js | 0 .../eslint/node_modules/lodash/_reorder.js | 0 .../node_modules/lodash/_replaceHolders.js | 0 .../eslint/node_modules/lodash/_root.js | 0 .../node_modules/lodash/_setCacheAdd.js | 0 .../node_modules/lodash/_setCacheHas.js | 0 .../eslint/node_modules/lodash/_setData.js | 0 .../eslint/node_modules/lodash/_setToArray.js | 0 .../eslint/node_modules/lodash/_setToPairs.js | 0 .../node_modules/lodash/_setToString.js | 0 .../node_modules/lodash/_setWrapToString.js | 0 .../eslint/node_modules/lodash/_shortOut.js | 0 .../node_modules/lodash/_shuffleSelf.js | 0 .../eslint/node_modules/lodash/_stackClear.js | 0 .../node_modules/lodash/_stackDelete.js | 0 .../eslint/node_modules/lodash/_stackGet.js | 0 .../eslint/node_modules/lodash/_stackHas.js | 0 .../eslint/node_modules/lodash/_stackSet.js | 0 .../node_modules/lodash/_strictIndexOf.js | 0 .../node_modules/lodash/_strictLastIndexOf.js | 0 .../eslint/node_modules/lodash/_stringSize.js | 0 .../node_modules/lodash/_stringToArray.js | 0 .../node_modules/lodash/_stringToPath.js | 0 .../eslint/node_modules/lodash/_toKey.js | 0 .../eslint/node_modules/lodash/_toSource.js | 0 .../node_modules/lodash/_unescapeHtmlChar.js | 0 .../node_modules/lodash/_unicodeSize.js | 0 .../node_modules/lodash/_unicodeToArray.js | 0 .../node_modules/lodash/_unicodeWords.js | 0 .../node_modules/lodash/_updateWrapDetails.js | 0 .../node_modules/lodash/_wrapperClone.js | 0 .../eslint/node_modules/lodash/add.js | 0 .../eslint/node_modules/lodash/after.js | 0 .../eslint/node_modules/lodash/array.js | 0 .../eslint/node_modules/lodash/ary.js | 0 .../eslint/node_modules/lodash/assign.js | 0 .../eslint/node_modules/lodash/assignIn.js | 0 .../node_modules/lodash/assignInWith.js | 0 .../eslint/node_modules/lodash/assignWith.js | 0 .../eslint/node_modules/lodash/at.js | 0 .../eslint/node_modules/lodash/attempt.js | 0 .../eslint/node_modules/lodash/before.js | 0 .../eslint/node_modules/lodash/bind.js | 0 .../eslint/node_modules/lodash/bindAll.js | 0 .../eslint/node_modules/lodash/bindKey.js | 0 .../eslint/node_modules/lodash/camelCase.js | 0 .../eslint/node_modules/lodash/capitalize.js | 0 .../eslint/node_modules/lodash/castArray.js | 0 .../eslint/node_modules/lodash/ceil.js | 0 .../eslint/node_modules/lodash/chain.js | 0 .../eslint/node_modules/lodash/chunk.js | 0 .../eslint/node_modules/lodash/clamp.js | 0 .../eslint/node_modules/lodash/clone.js | 0 .../eslint/node_modules/lodash/cloneDeep.js | 0 .../node_modules/lodash/cloneDeepWith.js | 0 .../eslint/node_modules/lodash/cloneWith.js | 0 .../eslint/node_modules/lodash/collection.js | 0 .../eslint/node_modules/lodash/commit.js | 0 .../eslint/node_modules/lodash/compact.js | 0 .../eslint/node_modules/lodash/concat.js | 0 .../eslint/node_modules/lodash/cond.js | 0 .../eslint/node_modules/lodash/conforms.js | 0 .../eslint/node_modules/lodash/conformsTo.js | 0 .../eslint/node_modules/lodash/constant.js | 0 .../eslint/node_modules/lodash/core.js | 0 .../eslint/node_modules/lodash/core.min.js | 0 .../eslint/node_modules/lodash/countBy.js | 0 .../eslint/node_modules/lodash/create.js | 0 .../eslint/node_modules/lodash/curry.js | 0 .../eslint/node_modules/lodash/curryRight.js | 0 .../eslint/node_modules/lodash/date.js | 0 .../eslint/node_modules/lodash/debounce.js | 0 .../eslint/node_modules/lodash/deburr.js | 0 .../eslint/node_modules/lodash/defaultTo.js | 0 .../eslint/node_modules/lodash/defaults.js | 0 .../node_modules/lodash/defaultsDeep.js | 0 .../eslint/node_modules/lodash/defer.js | 0 .../eslint/node_modules/lodash/delay.js | 0 .../eslint/node_modules/lodash/difference.js | 0 .../node_modules/lodash/differenceBy.js | 0 .../node_modules/lodash/differenceWith.js | 0 .../eslint/node_modules/lodash/divide.js | 0 .../eslint/node_modules/lodash/drop.js | 0 .../eslint/node_modules/lodash/dropRight.js | 0 .../node_modules/lodash/dropRightWhile.js | 0 .../eslint/node_modules/lodash/dropWhile.js | 0 .../eslint/node_modules/lodash/each.js | 0 .../eslint/node_modules/lodash/eachRight.js | 0 .../eslint/node_modules/lodash/endsWith.js | 0 .../eslint/node_modules/lodash/entries.js | 0 .../eslint/node_modules/lodash/entriesIn.js | 0 .../eslint/node_modules/lodash/eq.js | 0 .../eslint/node_modules/lodash/escape.js | 0 .../node_modules/lodash/escapeRegExp.js | 0 .../eslint/node_modules/lodash/every.js | 0 .../eslint/node_modules/lodash/extend.js | 0 .../eslint/node_modules/lodash/extendWith.js | 0 .../eslint/node_modules/lodash/fill.js | 0 .../eslint/node_modules/lodash/filter.js | 0 .../eslint/node_modules/lodash/find.js | 0 .../eslint/node_modules/lodash/findIndex.js | 0 .../eslint/node_modules/lodash/findKey.js | 0 .../eslint/node_modules/lodash/findLast.js | 0 .../node_modules/lodash/findLastIndex.js | 0 .../eslint/node_modules/lodash/findLastKey.js | 0 .../eslint/node_modules/lodash/first.js | 0 .../eslint/node_modules/lodash/flatMap.js | 0 .../eslint/node_modules/lodash/flatMapDeep.js | 0 .../node_modules/lodash/flatMapDepth.js | 0 .../eslint/node_modules/lodash/flatten.js | 0 .../eslint/node_modules/lodash/flattenDeep.js | 0 .../node_modules/lodash/flattenDepth.js | 0 .../eslint/node_modules/lodash/flip.js | 0 .../eslint/node_modules/lodash/floor.js | 0 .../eslint/node_modules/lodash/flow.js | 0 .../eslint/node_modules/lodash/flowRight.js | 0 .../eslint/node_modules/lodash/forEach.js | 0 .../node_modules/lodash/forEachRight.js | 0 .../eslint/node_modules/lodash/forIn.js | 0 .../eslint/node_modules/lodash/forInRight.js | 0 .../eslint/node_modules/lodash/forOwn.js | 0 .../eslint/node_modules/lodash/forOwnRight.js | 0 .../eslint/node_modules/lodash/fp.js | 0 .../eslint/node_modules/lodash/fp/F.js | 0 .../eslint/node_modules/lodash/fp/T.js | 0 .../eslint/node_modules/lodash/fp/__.js | 0 .../node_modules/lodash/fp/_baseConvert.js | 0 .../node_modules/lodash/fp/_convertBrowser.js | 0 .../node_modules/lodash/fp/_falseOptions.js | 0 .../eslint/node_modules/lodash/fp/_mapping.js | 0 .../eslint/node_modules/lodash/fp/_util.js | 0 .../eslint/node_modules/lodash/fp/add.js | 0 .../eslint/node_modules/lodash/fp/after.js | 0 .../eslint/node_modules/lodash/fp/all.js | 0 .../eslint/node_modules/lodash/fp/allPass.js | 0 .../eslint/node_modules/lodash/fp/always.js | 0 .../eslint/node_modules/lodash/fp/any.js | 0 .../eslint/node_modules/lodash/fp/anyPass.js | 0 .../eslint/node_modules/lodash/fp/apply.js | 0 .../eslint/node_modules/lodash/fp/array.js | 0 .../eslint/node_modules/lodash/fp/ary.js | 0 .../eslint/node_modules/lodash/fp/assign.js | 0 .../node_modules/lodash/fp/assignAll.js | 0 .../node_modules/lodash/fp/assignAllWith.js | 0 .../eslint/node_modules/lodash/fp/assignIn.js | 0 .../node_modules/lodash/fp/assignInAll.js | 0 .../node_modules/lodash/fp/assignInAllWith.js | 0 .../node_modules/lodash/fp/assignInWith.js | 0 .../node_modules/lodash/fp/assignWith.js | 0 .../eslint/node_modules/lodash/fp/assoc.js | 0 .../node_modules/lodash/fp/assocPath.js | 0 .../eslint/node_modules/lodash/fp/at.js | 0 .../eslint/node_modules/lodash/fp/attempt.js | 0 .../eslint/node_modules/lodash/fp/before.js | 0 .../eslint/node_modules/lodash/fp/bind.js | 0 .../eslint/node_modules/lodash/fp/bindAll.js | 0 .../eslint/node_modules/lodash/fp/bindKey.js | 0 .../node_modules/lodash/fp/camelCase.js | 0 .../node_modules/lodash/fp/capitalize.js | 0 .../node_modules/lodash/fp/castArray.js | 0 .../eslint/node_modules/lodash/fp/ceil.js | 0 .../eslint/node_modules/lodash/fp/chain.js | 0 .../eslint/node_modules/lodash/fp/chunk.js | 0 .../eslint/node_modules/lodash/fp/clamp.js | 0 .../eslint/node_modules/lodash/fp/clone.js | 0 .../node_modules/lodash/fp/cloneDeep.js | 0 .../node_modules/lodash/fp/cloneDeepWith.js | 0 .../node_modules/lodash/fp/cloneWith.js | 0 .../node_modules/lodash/fp/collection.js | 0 .../eslint/node_modules/lodash/fp/commit.js | 0 .../eslint/node_modules/lodash/fp/compact.js | 0 .../node_modules/lodash/fp/complement.js | 0 .../eslint/node_modules/lodash/fp/compose.js | 0 .../eslint/node_modules/lodash/fp/concat.js | 0 .../eslint/node_modules/lodash/fp/cond.js | 0 .../eslint/node_modules/lodash/fp/conforms.js | 0 .../node_modules/lodash/fp/conformsTo.js | 0 .../eslint/node_modules/lodash/fp/constant.js | 0 .../eslint/node_modules/lodash/fp/contains.js | 0 .../eslint/node_modules/lodash/fp/convert.js | 0 .../eslint/node_modules/lodash/fp/countBy.js | 0 .../eslint/node_modules/lodash/fp/create.js | 0 .../eslint/node_modules/lodash/fp/curry.js | 0 .../eslint/node_modules/lodash/fp/curryN.js | 0 .../node_modules/lodash/fp/curryRight.js | 0 .../node_modules/lodash/fp/curryRightN.js | 0 .../eslint/node_modules/lodash/fp/date.js | 0 .../eslint/node_modules/lodash/fp/debounce.js | 0 .../eslint/node_modules/lodash/fp/deburr.js | 0 .../node_modules/lodash/fp/defaultTo.js | 0 .../eslint/node_modules/lodash/fp/defaults.js | 0 .../node_modules/lodash/fp/defaultsAll.js | 0 .../node_modules/lodash/fp/defaultsDeep.js | 0 .../node_modules/lodash/fp/defaultsDeepAll.js | 0 .../eslint/node_modules/lodash/fp/defer.js | 0 .../eslint/node_modules/lodash/fp/delay.js | 0 .../node_modules/lodash/fp/difference.js | 0 .../node_modules/lodash/fp/differenceBy.js | 0 .../node_modules/lodash/fp/differenceWith.js | 0 .../eslint/node_modules/lodash/fp/dissoc.js | 0 .../node_modules/lodash/fp/dissocPath.js | 0 .../eslint/node_modules/lodash/fp/divide.js | 0 .../eslint/node_modules/lodash/fp/drop.js | 0 .../eslint/node_modules/lodash/fp/dropLast.js | 0 .../node_modules/lodash/fp/dropLastWhile.js | 0 .../node_modules/lodash/fp/dropRight.js | 0 .../node_modules/lodash/fp/dropRightWhile.js | 0 .../node_modules/lodash/fp/dropWhile.js | 0 .../eslint/node_modules/lodash/fp/each.js | 0 .../node_modules/lodash/fp/eachRight.js | 0 .../eslint/node_modules/lodash/fp/endsWith.js | 0 .../eslint/node_modules/lodash/fp/entries.js | 0 .../node_modules/lodash/fp/entriesIn.js | 0 .../eslint/node_modules/lodash/fp/eq.js | 0 .../eslint/node_modules/lodash/fp/equals.js | 0 .../eslint/node_modules/lodash/fp/escape.js | 0 .../node_modules/lodash/fp/escapeRegExp.js | 0 .../eslint/node_modules/lodash/fp/every.js | 0 .../eslint/node_modules/lodash/fp/extend.js | 0 .../node_modules/lodash/fp/extendAll.js | 0 .../node_modules/lodash/fp/extendAllWith.js | 0 .../node_modules/lodash/fp/extendWith.js | 0 .../eslint/node_modules/lodash/fp/fill.js | 0 .../eslint/node_modules/lodash/fp/filter.js | 0 .../eslint/node_modules/lodash/fp/find.js | 0 .../eslint/node_modules/lodash/fp/findFrom.js | 0 .../node_modules/lodash/fp/findIndex.js | 0 .../node_modules/lodash/fp/findIndexFrom.js | 0 .../eslint/node_modules/lodash/fp/findKey.js | 0 .../eslint/node_modules/lodash/fp/findLast.js | 0 .../node_modules/lodash/fp/findLastFrom.js | 0 .../node_modules/lodash/fp/findLastIndex.js | 0 .../lodash/fp/findLastIndexFrom.js | 0 .../node_modules/lodash/fp/findLastKey.js | 0 .../eslint/node_modules/lodash/fp/first.js | 0 .../eslint/node_modules/lodash/fp/flatMap.js | 0 .../node_modules/lodash/fp/flatMapDeep.js | 0 .../node_modules/lodash/fp/flatMapDepth.js | 0 .../eslint/node_modules/lodash/fp/flatten.js | 0 .../node_modules/lodash/fp/flattenDeep.js | 0 .../node_modules/lodash/fp/flattenDepth.js | 0 .../eslint/node_modules/lodash/fp/flip.js | 0 .../eslint/node_modules/lodash/fp/floor.js | 0 .../eslint/node_modules/lodash/fp/flow.js | 0 .../node_modules/lodash/fp/flowRight.js | 0 .../eslint/node_modules/lodash/fp/forEach.js | 0 .../node_modules/lodash/fp/forEachRight.js | 0 .../eslint/node_modules/lodash/fp/forIn.js | 0 .../node_modules/lodash/fp/forInRight.js | 0 .../eslint/node_modules/lodash/fp/forOwn.js | 0 .../node_modules/lodash/fp/forOwnRight.js | 0 .../node_modules/lodash/fp/fromPairs.js | 0 .../eslint/node_modules/lodash/fp/function.js | 0 .../node_modules/lodash/fp/functions.js | 0 .../node_modules/lodash/fp/functionsIn.js | 0 .../eslint/node_modules/lodash/fp/get.js | 0 .../eslint/node_modules/lodash/fp/getOr.js | 0 .../eslint/node_modules/lodash/fp/groupBy.js | 0 .../eslint/node_modules/lodash/fp/gt.js | 0 .../eslint/node_modules/lodash/fp/gte.js | 0 .../eslint/node_modules/lodash/fp/has.js | 0 .../eslint/node_modules/lodash/fp/hasIn.js | 0 .../eslint/node_modules/lodash/fp/head.js | 0 .../node_modules/lodash/fp/identical.js | 0 .../eslint/node_modules/lodash/fp/identity.js | 0 .../eslint/node_modules/lodash/fp/inRange.js | 0 .../eslint/node_modules/lodash/fp/includes.js | 0 .../node_modules/lodash/fp/includesFrom.js | 0 .../eslint/node_modules/lodash/fp/indexBy.js | 0 .../eslint/node_modules/lodash/fp/indexOf.js | 0 .../node_modules/lodash/fp/indexOfFrom.js | 0 .../eslint/node_modules/lodash/fp/init.js | 0 .../eslint/node_modules/lodash/fp/initial.js | 0 .../node_modules/lodash/fp/intersection.js | 0 .../node_modules/lodash/fp/intersectionBy.js | 0 .../lodash/fp/intersectionWith.js | 0 .../eslint/node_modules/lodash/fp/invert.js | 0 .../eslint/node_modules/lodash/fp/invertBy.js | 0 .../node_modules/lodash/fp/invertObj.js | 0 .../eslint/node_modules/lodash/fp/invoke.js | 0 .../node_modules/lodash/fp/invokeArgs.js | 0 .../node_modules/lodash/fp/invokeArgsMap.js | 0 .../node_modules/lodash/fp/invokeMap.js | 0 .../node_modules/lodash/fp/isArguments.js | 0 .../eslint/node_modules/lodash/fp/isArray.js | 0 .../node_modules/lodash/fp/isArrayBuffer.js | 0 .../node_modules/lodash/fp/isArrayLike.js | 0 .../lodash/fp/isArrayLikeObject.js | 0 .../node_modules/lodash/fp/isBoolean.js | 0 .../eslint/node_modules/lodash/fp/isBuffer.js | 0 .../eslint/node_modules/lodash/fp/isDate.js | 0 .../node_modules/lodash/fp/isElement.js | 0 .../eslint/node_modules/lodash/fp/isEmpty.js | 0 .../eslint/node_modules/lodash/fp/isEqual.js | 0 .../node_modules/lodash/fp/isEqualWith.js | 0 .../eslint/node_modules/lodash/fp/isError.js | 0 .../eslint/node_modules/lodash/fp/isFinite.js | 0 .../node_modules/lodash/fp/isFunction.js | 0 .../node_modules/lodash/fp/isInteger.js | 0 .../eslint/node_modules/lodash/fp/isLength.js | 0 .../eslint/node_modules/lodash/fp/isMap.js | 0 .../eslint/node_modules/lodash/fp/isMatch.js | 0 .../node_modules/lodash/fp/isMatchWith.js | 0 .../eslint/node_modules/lodash/fp/isNaN.js | 0 .../eslint/node_modules/lodash/fp/isNative.js | 0 .../eslint/node_modules/lodash/fp/isNil.js | 0 .../eslint/node_modules/lodash/fp/isNull.js | 0 .../eslint/node_modules/lodash/fp/isNumber.js | 0 .../eslint/node_modules/lodash/fp/isObject.js | 0 .../node_modules/lodash/fp/isObjectLike.js | 0 .../node_modules/lodash/fp/isPlainObject.js | 0 .../eslint/node_modules/lodash/fp/isRegExp.js | 0 .../node_modules/lodash/fp/isSafeInteger.js | 0 .../eslint/node_modules/lodash/fp/isSet.js | 0 .../eslint/node_modules/lodash/fp/isString.js | 0 .../eslint/node_modules/lodash/fp/isSymbol.js | 0 .../node_modules/lodash/fp/isTypedArray.js | 0 .../node_modules/lodash/fp/isUndefined.js | 0 .../node_modules/lodash/fp/isWeakMap.js | 0 .../node_modules/lodash/fp/isWeakSet.js | 0 .../eslint/node_modules/lodash/fp/iteratee.js | 0 .../eslint/node_modules/lodash/fp/join.js | 0 .../eslint/node_modules/lodash/fp/juxt.js | 0 .../node_modules/lodash/fp/kebabCase.js | 0 .../eslint/node_modules/lodash/fp/keyBy.js | 0 .../eslint/node_modules/lodash/fp/keys.js | 0 .../eslint/node_modules/lodash/fp/keysIn.js | 0 .../eslint/node_modules/lodash/fp/lang.js | 0 .../eslint/node_modules/lodash/fp/last.js | 0 .../node_modules/lodash/fp/lastIndexOf.js | 0 .../node_modules/lodash/fp/lastIndexOfFrom.js | 0 .../node_modules/lodash/fp/lowerCase.js | 0 .../node_modules/lodash/fp/lowerFirst.js | 0 .../eslint/node_modules/lodash/fp/lt.js | 0 .../eslint/node_modules/lodash/fp/lte.js | 0 .../eslint/node_modules/lodash/fp/map.js | 0 .../eslint/node_modules/lodash/fp/mapKeys.js | 0 .../node_modules/lodash/fp/mapValues.js | 0 .../eslint/node_modules/lodash/fp/matches.js | 0 .../node_modules/lodash/fp/matchesProperty.js | 0 .../eslint/node_modules/lodash/fp/math.js | 0 .../eslint/node_modules/lodash/fp/max.js | 0 .../eslint/node_modules/lodash/fp/maxBy.js | 0 .../eslint/node_modules/lodash/fp/mean.js | 0 .../eslint/node_modules/lodash/fp/meanBy.js | 0 .../eslint/node_modules/lodash/fp/memoize.js | 0 .../eslint/node_modules/lodash/fp/merge.js | 0 .../eslint/node_modules/lodash/fp/mergeAll.js | 0 .../node_modules/lodash/fp/mergeAllWith.js | 0 .../node_modules/lodash/fp/mergeWith.js | 0 .../eslint/node_modules/lodash/fp/method.js | 0 .../eslint/node_modules/lodash/fp/methodOf.js | 0 .../eslint/node_modules/lodash/fp/min.js | 0 .../eslint/node_modules/lodash/fp/minBy.js | 0 .../eslint/node_modules/lodash/fp/mixin.js | 0 .../eslint/node_modules/lodash/fp/multiply.js | 0 .../eslint/node_modules/lodash/fp/nAry.js | 0 .../eslint/node_modules/lodash/fp/negate.js | 0 .../eslint/node_modules/lodash/fp/next.js | 0 .../eslint/node_modules/lodash/fp/noop.js | 0 .../eslint/node_modules/lodash/fp/now.js | 0 .../eslint/node_modules/lodash/fp/nth.js | 0 .../eslint/node_modules/lodash/fp/nthArg.js | 0 .../eslint/node_modules/lodash/fp/number.js | 0 .../eslint/node_modules/lodash/fp/object.js | 0 .../eslint/node_modules/lodash/fp/omit.js | 0 .../eslint/node_modules/lodash/fp/omitAll.js | 0 .../eslint/node_modules/lodash/fp/omitBy.js | 0 .../eslint/node_modules/lodash/fp/once.js | 0 .../eslint/node_modules/lodash/fp/orderBy.js | 0 .../eslint/node_modules/lodash/fp/over.js | 0 .../eslint/node_modules/lodash/fp/overArgs.js | 0 .../node_modules/lodash/fp/overEvery.js | 0 .../eslint/node_modules/lodash/fp/overSome.js | 0 .../eslint/node_modules/lodash/fp/pad.js | 0 .../eslint/node_modules/lodash/fp/padChars.js | 0 .../node_modules/lodash/fp/padCharsEnd.js | 0 .../node_modules/lodash/fp/padCharsStart.js | 0 .../eslint/node_modules/lodash/fp/padEnd.js | 0 .../eslint/node_modules/lodash/fp/padStart.js | 0 .../eslint/node_modules/lodash/fp/parseInt.js | 0 .../eslint/node_modules/lodash/fp/partial.js | 0 .../node_modules/lodash/fp/partialRight.js | 0 .../node_modules/lodash/fp/partition.js | 0 .../eslint/node_modules/lodash/fp/path.js | 0 .../eslint/node_modules/lodash/fp/pathEq.js | 0 .../eslint/node_modules/lodash/fp/pathOr.js | 0 .../eslint/node_modules/lodash/fp/paths.js | 0 .../eslint/node_modules/lodash/fp/pick.js | 0 .../eslint/node_modules/lodash/fp/pickAll.js | 0 .../eslint/node_modules/lodash/fp/pickBy.js | 0 .../eslint/node_modules/lodash/fp/pipe.js | 0 .../node_modules/lodash/fp/placeholder.js | 0 .../eslint/node_modules/lodash/fp/plant.js | 0 .../eslint/node_modules/lodash/fp/pluck.js | 0 .../eslint/node_modules/lodash/fp/prop.js | 0 .../eslint/node_modules/lodash/fp/propEq.js | 0 .../eslint/node_modules/lodash/fp/propOr.js | 0 .../eslint/node_modules/lodash/fp/property.js | 0 .../node_modules/lodash/fp/propertyOf.js | 0 .../eslint/node_modules/lodash/fp/props.js | 0 .../eslint/node_modules/lodash/fp/pull.js | 0 .../eslint/node_modules/lodash/fp/pullAll.js | 0 .../node_modules/lodash/fp/pullAllBy.js | 0 .../node_modules/lodash/fp/pullAllWith.js | 0 .../eslint/node_modules/lodash/fp/pullAt.js | 0 .../eslint/node_modules/lodash/fp/random.js | 0 .../eslint/node_modules/lodash/fp/range.js | 0 .../node_modules/lodash/fp/rangeRight.js | 0 .../node_modules/lodash/fp/rangeStep.js | 0 .../node_modules/lodash/fp/rangeStepRight.js | 0 .../eslint/node_modules/lodash/fp/rearg.js | 0 .../eslint/node_modules/lodash/fp/reduce.js | 0 .../node_modules/lodash/fp/reduceRight.js | 0 .../eslint/node_modules/lodash/fp/reject.js | 0 .../eslint/node_modules/lodash/fp/remove.js | 0 .../eslint/node_modules/lodash/fp/repeat.js | 0 .../eslint/node_modules/lodash/fp/replace.js | 0 .../eslint/node_modules/lodash/fp/rest.js | 0 .../eslint/node_modules/lodash/fp/restFrom.js | 0 .../eslint/node_modules/lodash/fp/result.js | 0 .../eslint/node_modules/lodash/fp/reverse.js | 0 .../eslint/node_modules/lodash/fp/round.js | 0 .../eslint/node_modules/lodash/fp/sample.js | 0 .../node_modules/lodash/fp/sampleSize.js | 0 .../eslint/node_modules/lodash/fp/seq.js | 0 .../eslint/node_modules/lodash/fp/set.js | 0 .../eslint/node_modules/lodash/fp/setWith.js | 0 .../eslint/node_modules/lodash/fp/shuffle.js | 0 .../eslint/node_modules/lodash/fp/size.js | 0 .../eslint/node_modules/lodash/fp/slice.js | 0 .../node_modules/lodash/fp/snakeCase.js | 0 .../eslint/node_modules/lodash/fp/some.js | 0 .../eslint/node_modules/lodash/fp/sortBy.js | 0 .../node_modules/lodash/fp/sortedIndex.js | 0 .../node_modules/lodash/fp/sortedIndexBy.js | 0 .../node_modules/lodash/fp/sortedIndexOf.js | 0 .../node_modules/lodash/fp/sortedLastIndex.js | 0 .../lodash/fp/sortedLastIndexBy.js | 0 .../lodash/fp/sortedLastIndexOf.js | 0 .../node_modules/lodash/fp/sortedUniq.js | 0 .../node_modules/lodash/fp/sortedUniqBy.js | 0 .../eslint/node_modules/lodash/fp/split.js | 0 .../eslint/node_modules/lodash/fp/spread.js | 0 .../node_modules/lodash/fp/spreadFrom.js | 0 .../node_modules/lodash/fp/startCase.js | 0 .../node_modules/lodash/fp/startsWith.js | 0 .../eslint/node_modules/lodash/fp/string.js | 0 .../node_modules/lodash/fp/stubArray.js | 0 .../node_modules/lodash/fp/stubFalse.js | 0 .../node_modules/lodash/fp/stubObject.js | 0 .../node_modules/lodash/fp/stubString.js | 0 .../eslint/node_modules/lodash/fp/stubTrue.js | 0 .../eslint/node_modules/lodash/fp/subtract.js | 0 .../eslint/node_modules/lodash/fp/sum.js | 0 .../eslint/node_modules/lodash/fp/sumBy.js | 0 .../lodash/fp/symmetricDifference.js | 0 .../lodash/fp/symmetricDifferenceBy.js | 0 .../lodash/fp/symmetricDifferenceWith.js | 0 .../eslint/node_modules/lodash/fp/tail.js | 0 .../eslint/node_modules/lodash/fp/take.js | 0 .../eslint/node_modules/lodash/fp/takeLast.js | 0 .../node_modules/lodash/fp/takeLastWhile.js | 0 .../node_modules/lodash/fp/takeRight.js | 0 .../node_modules/lodash/fp/takeRightWhile.js | 0 .../node_modules/lodash/fp/takeWhile.js | 0 .../eslint/node_modules/lodash/fp/tap.js | 0 .../eslint/node_modules/lodash/fp/template.js | 0 .../lodash/fp/templateSettings.js | 0 .../eslint/node_modules/lodash/fp/throttle.js | 0 .../eslint/node_modules/lodash/fp/thru.js | 0 .../eslint/node_modules/lodash/fp/times.js | 0 .../eslint/node_modules/lodash/fp/toArray.js | 0 .../eslint/node_modules/lodash/fp/toFinite.js | 0 .../node_modules/lodash/fp/toInteger.js | 0 .../node_modules/lodash/fp/toIterator.js | 0 .../eslint/node_modules/lodash/fp/toJSON.js | 0 .../eslint/node_modules/lodash/fp/toLength.js | 0 .../eslint/node_modules/lodash/fp/toLower.js | 0 .../eslint/node_modules/lodash/fp/toNumber.js | 0 .../eslint/node_modules/lodash/fp/toPairs.js | 0 .../node_modules/lodash/fp/toPairsIn.js | 0 .../eslint/node_modules/lodash/fp/toPath.js | 0 .../node_modules/lodash/fp/toPlainObject.js | 0 .../node_modules/lodash/fp/toSafeInteger.js | 0 .../eslint/node_modules/lodash/fp/toString.js | 0 .../eslint/node_modules/lodash/fp/toUpper.js | 0 .../node_modules/lodash/fp/transform.js | 0 .../eslint/node_modules/lodash/fp/trim.js | 0 .../node_modules/lodash/fp/trimChars.js | 0 .../node_modules/lodash/fp/trimCharsEnd.js | 0 .../node_modules/lodash/fp/trimCharsStart.js | 0 .../eslint/node_modules/lodash/fp/trimEnd.js | 0 .../node_modules/lodash/fp/trimStart.js | 0 .../eslint/node_modules/lodash/fp/truncate.js | 0 .../eslint/node_modules/lodash/fp/unapply.js | 0 .../eslint/node_modules/lodash/fp/unary.js | 0 .../eslint/node_modules/lodash/fp/unescape.js | 0 .../eslint/node_modules/lodash/fp/union.js | 0 .../eslint/node_modules/lodash/fp/unionBy.js | 0 .../node_modules/lodash/fp/unionWith.js | 0 .../eslint/node_modules/lodash/fp/uniq.js | 0 .../eslint/node_modules/lodash/fp/uniqBy.js | 0 .../eslint/node_modules/lodash/fp/uniqWith.js | 0 .../eslint/node_modules/lodash/fp/uniqueId.js | 0 .../eslint/node_modules/lodash/fp/unnest.js | 0 .../eslint/node_modules/lodash/fp/unset.js | 0 .../eslint/node_modules/lodash/fp/unzip.js | 0 .../node_modules/lodash/fp/unzipWith.js | 0 .../eslint/node_modules/lodash/fp/update.js | 0 .../node_modules/lodash/fp/updateWith.js | 0 .../node_modules/lodash/fp/upperCase.js | 0 .../node_modules/lodash/fp/upperFirst.js | 0 .../eslint/node_modules/lodash/fp/useWith.js | 0 .../eslint/node_modules/lodash/fp/util.js | 0 .../eslint/node_modules/lodash/fp/value.js | 0 .../eslint/node_modules/lodash/fp/valueOf.js | 0 .../eslint/node_modules/lodash/fp/values.js | 0 .../eslint/node_modules/lodash/fp/valuesIn.js | 0 .../eslint/node_modules/lodash/fp/where.js | 0 .../eslint/node_modules/lodash/fp/whereEq.js | 0 .../eslint/node_modules/lodash/fp/without.js | 0 .../eslint/node_modules/lodash/fp/words.js | 0 .../eslint/node_modules/lodash/fp/wrap.js | 0 .../node_modules/lodash/fp/wrapperAt.js | 0 .../node_modules/lodash/fp/wrapperChain.js | 0 .../node_modules/lodash/fp/wrapperLodash.js | 0 .../node_modules/lodash/fp/wrapperReverse.js | 0 .../node_modules/lodash/fp/wrapperValue.js | 0 .../eslint/node_modules/lodash/fp/xor.js | 0 .../eslint/node_modules/lodash/fp/xorBy.js | 0 .../eslint/node_modules/lodash/fp/xorWith.js | 0 .../eslint/node_modules/lodash/fp/zip.js | 0 .../eslint/node_modules/lodash/fp/zipAll.js | 0 .../eslint/node_modules/lodash/fp/zipObj.js | 0 .../node_modules/lodash/fp/zipObject.js | 0 .../node_modules/lodash/fp/zipObjectDeep.js | 0 .../eslint/node_modules/lodash/fp/zipWith.js | 0 .../eslint/node_modules/lodash/fromPairs.js | 0 .../eslint/node_modules/lodash/function.js | 0 .../eslint/node_modules/lodash/functions.js | 0 .../eslint/node_modules/lodash/functionsIn.js | 0 .../eslint/node_modules/lodash/get.js | 0 .../eslint/node_modules/lodash/groupBy.js | 0 .../eslint/node_modules/lodash/gt.js | 0 .../eslint/node_modules/lodash/gte.js | 0 .../eslint/node_modules/lodash/has.js | 0 .../eslint/node_modules/lodash/hasIn.js | 0 .../eslint/node_modules/lodash/head.js | 0 .../eslint/node_modules/lodash/identity.js | 0 .../eslint/node_modules/lodash/inRange.js | 0 .../eslint/node_modules/lodash/includes.js | 0 .../eslint/node_modules/lodash/index.js | 0 .../eslint/node_modules/lodash/indexOf.js | 0 .../eslint/node_modules/lodash/initial.js | 0 .../node_modules/lodash/intersection.js | 0 .../node_modules/lodash/intersectionBy.js | 0 .../node_modules/lodash/intersectionWith.js | 0 .../eslint/node_modules/lodash/invert.js | 0 .../eslint/node_modules/lodash/invertBy.js | 0 .../eslint/node_modules/lodash/invoke.js | 0 .../eslint/node_modules/lodash/invokeMap.js | 0 .../eslint/node_modules/lodash/isArguments.js | 0 .../eslint/node_modules/lodash/isArray.js | 0 .../node_modules/lodash/isArrayBuffer.js | 0 .../eslint/node_modules/lodash/isArrayLike.js | 0 .../node_modules/lodash/isArrayLikeObject.js | 0 .../eslint/node_modules/lodash/isBoolean.js | 0 .../eslint/node_modules/lodash/isBuffer.js | 0 .../eslint/node_modules/lodash/isDate.js | 0 .../eslint/node_modules/lodash/isElement.js | 0 .../eslint/node_modules/lodash/isEmpty.js | 0 .../eslint/node_modules/lodash/isEqual.js | 0 .../eslint/node_modules/lodash/isEqualWith.js | 0 .../eslint/node_modules/lodash/isError.js | 0 .../eslint/node_modules/lodash/isFinite.js | 0 .../eslint/node_modules/lodash/isFunction.js | 0 .../eslint/node_modules/lodash/isInteger.js | 0 .../eslint/node_modules/lodash/isLength.js | 0 .../eslint/node_modules/lodash/isMap.js | 0 .../eslint/node_modules/lodash/isMatch.js | 0 .../eslint/node_modules/lodash/isMatchWith.js | 0 .../eslint/node_modules/lodash/isNaN.js | 0 .../eslint/node_modules/lodash/isNative.js | 0 .../eslint/node_modules/lodash/isNil.js | 0 .../eslint/node_modules/lodash/isNull.js | 0 .../eslint/node_modules/lodash/isNumber.js | 0 .../eslint/node_modules/lodash/isObject.js | 0 .../node_modules/lodash/isObjectLike.js | 0 .../node_modules/lodash/isPlainObject.js | 0 .../eslint/node_modules/lodash/isRegExp.js | 0 .../node_modules/lodash/isSafeInteger.js | 0 .../eslint/node_modules/lodash/isSet.js | 0 .../eslint/node_modules/lodash/isString.js | 0 .../eslint/node_modules/lodash/isSymbol.js | 0 .../node_modules/lodash/isTypedArray.js | 0 .../eslint/node_modules/lodash/isUndefined.js | 0 .../eslint/node_modules/lodash/isWeakMap.js | 0 .../eslint/node_modules/lodash/isWeakSet.js | 0 .../eslint/node_modules/lodash/iteratee.js | 0 .../eslint/node_modules/lodash/join.js | 0 .../eslint/node_modules/lodash/kebabCase.js | 0 .../eslint/node_modules/lodash/keyBy.js | 0 .../eslint/node_modules/lodash/keys.js | 0 .../eslint/node_modules/lodash/keysIn.js | 0 .../eslint/node_modules/lodash/lang.js | 0 .../eslint/node_modules/lodash/last.js | 0 .../eslint/node_modules/lodash/lastIndexOf.js | 0 .../eslint/node_modules/lodash/lodash.js | 0 .../eslint/node_modules/lodash/lodash.min.js | 0 .../eslint/node_modules/lodash/lowerCase.js | 0 .../eslint/node_modules/lodash/lowerFirst.js | 0 .../eslint/node_modules/lodash/lt.js | 0 .../eslint/node_modules/lodash/lte.js | 0 .../eslint/node_modules/lodash/map.js | 0 .../eslint/node_modules/lodash/mapKeys.js | 0 .../eslint/node_modules/lodash/mapValues.js | 0 .../eslint/node_modules/lodash/matches.js | 0 .../node_modules/lodash/matchesProperty.js | 0 .../eslint/node_modules/lodash/math.js | 0 .../eslint/node_modules/lodash/max.js | 0 .../eslint/node_modules/lodash/maxBy.js | 0 .../eslint/node_modules/lodash/mean.js | 0 .../eslint/node_modules/lodash/meanBy.js | 0 .../eslint/node_modules/lodash/memoize.js | 0 .../eslint/node_modules/lodash/merge.js | 0 .../eslint/node_modules/lodash/mergeWith.js | 0 .../eslint/node_modules/lodash/method.js | 0 .../eslint/node_modules/lodash/methodOf.js | 0 .../eslint/node_modules/lodash/min.js | 0 .../eslint/node_modules/lodash/minBy.js | 0 .../eslint/node_modules/lodash/mixin.js | 0 .../eslint/node_modules/lodash/multiply.js | 0 .../eslint/node_modules/lodash/negate.js | 0 .../eslint/node_modules/lodash/next.js | 0 .../eslint/node_modules/lodash/noop.js | 0 .../eslint/node_modules/lodash/now.js | 0 .../eslint/node_modules/lodash/nth.js | 0 .../eslint/node_modules/lodash/nthArg.js | 0 .../eslint/node_modules/lodash/number.js | 0 .../eslint/node_modules/lodash/object.js | 0 .../eslint/node_modules/lodash/omit.js | 0 .../eslint/node_modules/lodash/omitBy.js | 0 .../eslint/node_modules/lodash/once.js | 0 .../eslint/node_modules/lodash/orderBy.js | 0 .../eslint/node_modules/lodash/over.js | 0 .../eslint/node_modules/lodash/overArgs.js | 0 .../eslint/node_modules/lodash/overEvery.js | 0 .../eslint/node_modules/lodash/overSome.js | 0 .../eslint/node_modules/lodash/package.json | 0 .../eslint/node_modules/lodash/pad.js | 0 .../eslint/node_modules/lodash/padEnd.js | 0 .../eslint/node_modules/lodash/padStart.js | 0 .../eslint/node_modules/lodash/parseInt.js | 0 .../eslint/node_modules/lodash/partial.js | 0 .../node_modules/lodash/partialRight.js | 0 .../eslint/node_modules/lodash/partition.js | 0 .../eslint/node_modules/lodash/pick.js | 0 .../eslint/node_modules/lodash/pickBy.js | 0 .../eslint/node_modules/lodash/plant.js | 0 .../eslint/node_modules/lodash/property.js | 0 .../eslint/node_modules/lodash/propertyOf.js | 0 .../eslint/node_modules/lodash/pull.js | 0 .../eslint/node_modules/lodash/pullAll.js | 0 .../eslint/node_modules/lodash/pullAllBy.js | 0 .../eslint/node_modules/lodash/pullAllWith.js | 0 .../eslint/node_modules/lodash/pullAt.js | 0 .../eslint/node_modules/lodash/random.js | 0 .../eslint/node_modules/lodash/range.js | 0 .../eslint/node_modules/lodash/rangeRight.js | 0 .../eslint/node_modules/lodash/rearg.js | 0 .../eslint/node_modules/lodash/reduce.js | 0 .../eslint/node_modules/lodash/reduceRight.js | 0 .../eslint/node_modules/lodash/reject.js | 0 .../eslint/node_modules/lodash/remove.js | 0 .../eslint/node_modules/lodash/repeat.js | 0 .../eslint/node_modules/lodash/replace.js | 0 .../eslint/node_modules/lodash/rest.js | 0 .../eslint/node_modules/lodash/result.js | 0 .../eslint/node_modules/lodash/reverse.js | 0 .../eslint/node_modules/lodash/round.js | 0 .../eslint/node_modules/lodash/sample.js | 0 .../eslint/node_modules/lodash/sampleSize.js | 0 .../eslint/node_modules/lodash/seq.js | 0 .../eslint/node_modules/lodash/set.js | 0 .../eslint/node_modules/lodash/setWith.js | 0 .../eslint/node_modules/lodash/shuffle.js | 0 .../eslint/node_modules/lodash/size.js | 0 .../eslint/node_modules/lodash/slice.js | 0 .../eslint/node_modules/lodash/snakeCase.js | 0 .../eslint/node_modules/lodash/some.js | 0 .../eslint/node_modules/lodash/sortBy.js | 0 .../eslint/node_modules/lodash/sortedIndex.js | 0 .../node_modules/lodash/sortedIndexBy.js | 0 .../node_modules/lodash/sortedIndexOf.js | 0 .../node_modules/lodash/sortedLastIndex.js | 0 .../node_modules/lodash/sortedLastIndexBy.js | 0 .../node_modules/lodash/sortedLastIndexOf.js | 0 .../eslint/node_modules/lodash/sortedUniq.js | 0 .../node_modules/lodash/sortedUniqBy.js | 0 .../eslint/node_modules/lodash/split.js | 0 .../eslint/node_modules/lodash/spread.js | 0 .../eslint/node_modules/lodash/startCase.js | 0 .../eslint/node_modules/lodash/startsWith.js | 0 .../eslint/node_modules/lodash/string.js | 0 .../eslint/node_modules/lodash/stubArray.js | 0 .../eslint/node_modules/lodash/stubFalse.js | 0 .../eslint/node_modules/lodash/stubObject.js | 0 .../eslint/node_modules/lodash/stubString.js | 0 .../eslint/node_modules/lodash/stubTrue.js | 0 .../eslint/node_modules/lodash/subtract.js | 0 .../eslint/node_modules/lodash/sum.js | 0 .../eslint/node_modules/lodash/sumBy.js | 0 .../eslint/node_modules/lodash/tail.js | 0 .../eslint/node_modules/lodash/take.js | 0 .../eslint/node_modules/lodash/takeRight.js | 0 .../node_modules/lodash/takeRightWhile.js | 0 .../eslint/node_modules/lodash/takeWhile.js | 0 .../eslint/node_modules/lodash/tap.js | 0 .../eslint/node_modules/lodash/template.js | 0 .../node_modules/lodash/templateSettings.js | 0 .../eslint/node_modules/lodash/throttle.js | 0 .../eslint/node_modules/lodash/thru.js | 0 .../eslint/node_modules/lodash/times.js | 0 .../eslint/node_modules/lodash/toArray.js | 0 .../eslint/node_modules/lodash/toFinite.js | 0 .../eslint/node_modules/lodash/toInteger.js | 0 .../eslint/node_modules/lodash/toIterator.js | 0 .../eslint/node_modules/lodash/toJSON.js | 0 .../eslint/node_modules/lodash/toLength.js | 0 .../eslint/node_modules/lodash/toLower.js | 0 .../eslint/node_modules/lodash/toNumber.js | 0 .../eslint/node_modules/lodash/toPairs.js | 0 .../eslint/node_modules/lodash/toPairsIn.js | 0 .../eslint/node_modules/lodash/toPath.js | 0 .../node_modules/lodash/toPlainObject.js | 0 .../node_modules/lodash/toSafeInteger.js | 0 .../eslint/node_modules/lodash/toString.js | 0 .../eslint/node_modules/lodash/toUpper.js | 0 .../eslint/node_modules/lodash/transform.js | 0 .../eslint/node_modules/lodash/trim.js | 0 .../eslint/node_modules/lodash/trimEnd.js | 0 .../eslint/node_modules/lodash/trimStart.js | 0 .../eslint/node_modules/lodash/truncate.js | 0 .../eslint/node_modules/lodash/unary.js | 0 .../eslint/node_modules/lodash/unescape.js | 0 .../eslint/node_modules/lodash/union.js | 0 .../eslint/node_modules/lodash/unionBy.js | 0 .../eslint/node_modules/lodash/unionWith.js | 0 .../eslint/node_modules/lodash/uniq.js | 0 .../eslint/node_modules/lodash/uniqBy.js | 0 .../eslint/node_modules/lodash/uniqWith.js | 0 .../eslint/node_modules/lodash/uniqueId.js | 0 .../eslint/node_modules/lodash/unset.js | 0 .../eslint/node_modules/lodash/unzip.js | 0 .../eslint/node_modules/lodash/unzipWith.js | 0 .../eslint/node_modules/lodash/update.js | 0 .../eslint/node_modules/lodash/updateWith.js | 0 .../eslint/node_modules/lodash/upperCase.js | 0 .../eslint/node_modules/lodash/upperFirst.js | 0 .../eslint/node_modules/lodash/util.js | 0 .../eslint/node_modules/lodash/value.js | 0 .../eslint/node_modules/lodash/valueOf.js | 0 .../eslint/node_modules/lodash/values.js | 0 .../eslint/node_modules/lodash/valuesIn.js | 0 .../eslint/node_modules/lodash/without.js | 0 .../eslint/node_modules/lodash/words.js | 0 .../eslint/node_modules/lodash/wrap.js | 0 .../eslint/node_modules/lodash/wrapperAt.js | 0 .../node_modules/lodash/wrapperChain.js | 0 .../node_modules/lodash/wrapperLodash.js | 0 .../node_modules/lodash/wrapperReverse.js | 0 .../node_modules/lodash/wrapperValue.js | 0 .../eslint/node_modules/lodash/xor.js | 0 .../eslint/node_modules/lodash/xorBy.js | 0 .../eslint/node_modules/lodash/xorWith.js | 0 .../eslint/node_modules/lodash/zip.js | 0 .../eslint/node_modules/lodash/zipObject.js | 0 .../node_modules/lodash/zipObjectDeep.js | 0 .../eslint/node_modules/lodash/zipWith.js | 0 .../eslint/node_modules/lru-cache/LICENSE | 0 .../eslint/node_modules/lru-cache/README.md | 0 .../eslint/node_modules/lru-cache/index.js | 0 .../node_modules/lru-cache/package.json | 0 .../node_modules/markdown-escapes/LICENSE | 0 .../node_modules/markdown-escapes/index.js | 0 .../markdown-escapes/package.json | 0 .../node_modules/markdown-escapes/readme.md | 0 .../eslint/node_modules/mimic-fn/index.js | 0 .../eslint/node_modules/mimic-fn/license | 0 .../eslint/node_modules/mimic-fn/package.json | 0 .../eslint/node_modules/mimic-fn/readme.md | 0 .../eslint/node_modules/minimatch/LICENSE | 0 .../eslint/node_modules/minimatch/README.md | 0 .../node_modules/minimatch/minimatch.js | 0 .../node_modules/minimatch/package.json | 0 .../eslint/node_modules/minimist/LICENSE | 0 .../eslint/node_modules/minimist/index.js | 0 .../eslint/node_modules/minimist/package.json | 0 .../node_modules/minimist/readme.markdown | 0 .../eslint/node_modules/mkdirp/LICENSE | 0 .../eslint/node_modules/mkdirp/bin/cmd.js | 0 .../eslint/node_modules/mkdirp/bin/usage.txt | 0 .../eslint/node_modules/mkdirp/index.js | 0 .../eslint/node_modules/mkdirp/package.json | 0 .../node_modules/mkdirp/readme.markdown | 0 .../eslint/node_modules/ms/LICENSE.md | 0 .../eslint/node_modules/ms/README.md | 0 .../eslint/node_modules/ms/index.js | 0 .../eslint/node_modules/ms/package.json | 0 .../mute-stream/.nyc_output/33508.json | 0 .../mute-stream/.nyc_output/33510.json | 0 .../eslint/node_modules/mute-stream/LICENSE | 0 .../eslint/node_modules/mute-stream/README.md | 0 .../eslint/node_modules/mute-stream/mute.js | 0 .../node_modules/mute-stream/package.json | 0 .../node_modules/natural-compare/README.md | 0 .../node_modules/natural-compare/index.js | 0 .../node_modules/natural-compare/package.json | 0 .../node_modules/object-assign/index.js | 0 .../eslint/node_modules/object-assign/license | 0 .../node_modules/object-assign/package.json | 0 .../node_modules/object-assign/readme.md | 0 .../eslint/node_modules/once/LICENSE | 0 .../eslint/node_modules/once/README.md | 0 .../eslint/node_modules/once/once.js | 0 .../eslint/node_modules/once/package.json | 0 .../eslint/node_modules/onetime/index.js | 0 .../eslint/node_modules/onetime/license | 0 .../eslint/node_modules/onetime/package.json | 0 .../eslint/node_modules/onetime/readme.md | 0 .../eslint/node_modules/optionator/LICENSE | 0 .../eslint/node_modules/optionator/README.md | 0 .../node_modules/optionator/lib/help.js | 0 .../node_modules/optionator/lib/index.js | 0 .../node_modules/optionator/lib/util.js | 0 .../node_modules/optionator/package.json | 0 .../eslint/node_modules/os-tmpdir/index.js | 0 .../eslint/node_modules/os-tmpdir/license | 0 .../node_modules/os-tmpdir/package.json | 0 .../eslint/node_modules/os-tmpdir/readme.md | 0 .../node_modules/parse-entities/LICENSE | 0 .../node_modules/parse-entities/index.js | 0 .../node_modules/parse-entities/package.json | 0 .../node_modules/parse-entities/readme.md | 0 .../node_modules/path-is-absolute/index.js | 0 .../node_modules/path-is-absolute/license | 0 .../path-is-absolute/package.json | 0 .../node_modules/path-is-absolute/readme.md | 0 .../node_modules/path-is-inside/LICENSE.txt | 0 .../path-is-inside/lib/path-is-inside.js | 0 .../node_modules/path-is-inside/package.json | 0 .../eslint/node_modules/pify/index.js | 0 .../eslint/node_modules/pify/license | 0 .../eslint/node_modules/pify/package.json | 0 .../eslint/node_modules/pify/readme.md | 0 .../node_modules/pinkie-promise/index.js | 0 .../node_modules/pinkie-promise/license | 0 .../node_modules/pinkie-promise/package.json | 0 .../node_modules/pinkie-promise/readme.md | 0 .../eslint/node_modules/pinkie/index.js | 0 .../eslint/node_modules/pinkie/license | 0 .../eslint/node_modules/pinkie/package.json | 0 .../eslint/node_modules/pinkie/readme.md | 0 .../eslint/node_modules/pluralize/LICENSE | 0 .../eslint/node_modules/pluralize/Readme.md | 0 .../node_modules/pluralize/package.json | 0 .../node_modules/pluralize/pluralize.js | 0 .../eslint/node_modules/prelude-ls/LICENSE | 0 .../eslint/node_modules/prelude-ls/README.md | 0 .../node_modules/prelude-ls/lib/Func.js | 0 .../node_modules/prelude-ls/lib/List.js | 0 .../eslint/node_modules/prelude-ls/lib/Num.js | 0 .../eslint/node_modules/prelude-ls/lib/Obj.js | 0 .../eslint/node_modules/prelude-ls/lib/Str.js | 0 .../node_modules/prelude-ls/lib/index.js | 0 .../node_modules/prelude-ls/package.json | 0 .../process-nextick-args/index.js | 0 .../process-nextick-args/license.md | 0 .../process-nextick-args/package.json | 0 .../process-nextick-args/readme.md | 0 .../eslint/node_modules/progress/LICENSE | 0 .../eslint/node_modules/progress/Makefile | 0 .../eslint/node_modules/progress/Readme.md | 0 .../eslint/node_modules/progress/index.js | 0 .../progress/lib/node-progress.js | 0 .../eslint/node_modules/progress/package.json | 0 .../eslint/node_modules/pseudomap/LICENSE | 0 .../eslint/node_modules/pseudomap/README.md | 0 .../eslint/node_modules/pseudomap/map.js | 0 .../node_modules/pseudomap/package.json | 0 .../node_modules/pseudomap/pseudomap.js | 0 .../readable-stream/GOVERNANCE.md | 0 .../node_modules/readable-stream/LICENSE | 0 .../node_modules/readable-stream/README.md | 0 .../readable-stream/duplex-browser.js | 0 .../node_modules/readable-stream/duplex.js | 0 .../readable-stream/lib/_stream_duplex.js | 0 .../lib/_stream_passthrough.js | 0 .../readable-stream/lib/_stream_readable.js | 0 .../readable-stream/lib/_stream_transform.js | 0 .../readable-stream/lib/_stream_writable.js | 0 .../lib/internal/streams/BufferList.js | 0 .../lib/internal/streams/destroy.js | 0 .../lib/internal/streams/stream-browser.js | 0 .../lib/internal/streams/stream.js | 0 .../node_modules/readable-stream/package.json | 0 .../readable-stream/passthrough.js | 0 .../readable-stream/readable-browser.js | 0 .../node_modules/readable-stream/readable.js | 0 .../node_modules/readable-stream/transform.js | 0 .../readable-stream/writable-browser.js | 0 .../node_modules/readable-stream/writable.js | 0 .../eslint/node_modules/remark-parse/index.js | 0 .../remark-parse/lib/block-elements.json | 0 .../node_modules/remark-parse/lib/decode.js | 0 .../node_modules/remark-parse/lib/defaults.js | 0 .../remark-parse/lib/locate/break.js | 0 .../remark-parse/lib/locate/code-inline.js | 0 .../remark-parse/lib/locate/delete.js | 0 .../remark-parse/lib/locate/emphasis.js | 0 .../remark-parse/lib/locate/escape.js | 0 .../remark-parse/lib/locate/link.js | 0 .../remark-parse/lib/locate/strong.js | 0 .../remark-parse/lib/locate/tag.js | 0 .../remark-parse/lib/locate/url.js | 0 .../node_modules/remark-parse/lib/parse.js | 0 .../node_modules/remark-parse/lib/parser.js | 0 .../remark-parse/lib/set-options.js | 0 .../remark-parse/lib/tokenize/auto-link.js | 0 .../remark-parse/lib/tokenize/blockquote.js | 0 .../remark-parse/lib/tokenize/break.js | 0 .../remark-parse/lib/tokenize/code-fenced.js | 0 .../lib/tokenize/code-indented.js | 0 .../remark-parse/lib/tokenize/code-inline.js | 0 .../remark-parse/lib/tokenize/definition.js | 0 .../remark-parse/lib/tokenize/delete.js | 0 .../remark-parse/lib/tokenize/emphasis.js | 0 .../remark-parse/lib/tokenize/escape.js | 0 .../lib/tokenize/footnote-definition.js | 0 .../remark-parse/lib/tokenize/heading-atx.js | 0 .../lib/tokenize/heading-setext.js | 0 .../remark-parse/lib/tokenize/html-block.js | 0 .../remark-parse/lib/tokenize/html-inline.js | 0 .../remark-parse/lib/tokenize/link.js | 0 .../remark-parse/lib/tokenize/list.js | 0 .../remark-parse/lib/tokenize/newline.js | 0 .../remark-parse/lib/tokenize/paragraph.js | 0 .../remark-parse/lib/tokenize/reference.js | 0 .../remark-parse/lib/tokenize/strong.js | 0 .../remark-parse/lib/tokenize/table.js | 0 .../remark-parse/lib/tokenize/text.js | 0 .../lib/tokenize/thematic-break.js | 0 .../remark-parse/lib/tokenize/url.js | 0 .../remark-parse/lib/tokenize/yaml.js | 0 .../remark-parse/lib/tokenizer.js | 0 .../node_modules/remark-parse/lib/unescape.js | 0 .../remark-parse/lib/util/get-indentation.js | 0 .../remark-parse/lib/util/html.js | 0 .../remark-parse/lib/util/interrupt.js | 0 .../remark-parse/lib/util/normalize.js | 0 .../lib/util/remove-indentation.js | 0 .../node_modules/remark-parse/package.json | 0 .../node_modules/remark-parse/readme.md | 0 .../eslint/node_modules/repeat-string/LICENSE | 0 .../node_modules/repeat-string/README.md | 0 .../node_modules/repeat-string/index.js | 0 .../node_modules/repeat-string/package.json | 0 .../eslint/node_modules/replace-ext/LICENSE | 0 .../eslint/node_modules/replace-ext/README.md | 0 .../eslint/node_modules/replace-ext/index.js | 0 .../node_modules/replace-ext/package.json | 0 .../node_modules/require-uncached/index.js | 0 .../node_modules/require-uncached/license | 0 .../require-uncached/package.json | 0 .../node_modules/require-uncached/readme.md | 0 .../eslint/node_modules/resolve-from/index.js | 0 .../eslint/node_modules/resolve-from/license | 0 .../node_modules/resolve-from/package.json | 0 .../node_modules/resolve-from/readme.md | 0 .../node_modules/restore-cursor/index.js | 0 .../node_modules/restore-cursor/license | 0 .../node_modules/restore-cursor/package.json | 0 .../node_modules/restore-cursor/readme.md | 0 .../eslint/node_modules/rimraf/LICENSE | 0 .../eslint/node_modules/rimraf/README.md | 0 .../eslint/node_modules/rimraf/bin.js | 0 .../eslint/node_modules/rimraf/package.json | 0 .../eslint/node_modules/rimraf/rimraf.js | 0 .../eslint/node_modules/run-async/LICENSE | 0 .../eslint/node_modules/run-async/README.md | 0 .../eslint/node_modules/run-async/index.js | 0 .../node_modules/run-async/package.json | 0 .../rx-lite-aggregates/package.json | 0 .../node_modules/rx-lite-aggregates/readme.md | 0 .../rx-lite-aggregates/rx.lite.aggregates.js | 0 .../rx-lite-aggregates/rx.lite.aggregates.map | 0 .../rx.lite.aggregates.min.js | 0 .../eslint/node_modules/rx-lite/package.json | 0 .../eslint/node_modules/rx-lite/readme.md | 0 .../eslint/node_modules/rx-lite/rx.lite.js | 0 .../eslint/node_modules/rx-lite/rx.lite.map | 0 .../node_modules/rx-lite/rx.lite.min.js | 0 .../eslint/node_modules/safe-buffer/LICENSE | 0 .../eslint/node_modules/safe-buffer/README.md | 0 .../eslint/node_modules/safe-buffer/index.js | 0 .../node_modules/safe-buffer/package.json | 0 .../eslint/node_modules/semver/LICENSE | 0 .../eslint/node_modules/semver/README.md | 0 .../eslint/node_modules/semver/bin/semver | 0 .../eslint/node_modules/semver/package.json | 0 .../eslint/node_modules/semver/range.bnf | 0 .../eslint/node_modules/semver/semver.js | 0 .../node_modules/shebang-command/index.js | 0 .../node_modules/shebang-command/license | 0 .../node_modules/shebang-command/package.json | 0 .../node_modules/shebang-command/readme.md | 0 .../node_modules/shebang-regex/index.js | 0 .../eslint/node_modules/shebang-regex/license | 0 .../node_modules/shebang-regex/package.json | 0 .../node_modules/shebang-regex/readme.md | 0 .../node_modules/signal-exit/LICENSE.txt | 0 .../eslint/node_modules/signal-exit/README.md | 0 .../eslint/node_modules/signal-exit/index.js | 0 .../node_modules/signal-exit/package.json | 0 .../node_modules/signal-exit/signals.js | 0 .../eslint/node_modules/slice-ansi/index.js | 0 .../eslint/node_modules/slice-ansi/license | 0 .../node_modules/slice-ansi/package.json | 0 .../eslint/node_modules/slice-ansi/readme.md | 0 .../eslint/node_modules/sprintf-js/LICENSE | 0 .../eslint/node_modules/sprintf-js/README.md | 0 .../sprintf-js/dist/angular-sprintf.min.js | 0 .../dist/angular-sprintf.min.js.map | 0 .../sprintf-js/dist/angular-sprintf.min.map | 0 .../sprintf-js/dist/sprintf.min.js | 0 .../sprintf-js/dist/sprintf.min.js.map | 0 .../sprintf-js/dist/sprintf.min.map | 0 .../node_modules/sprintf-js/package.json | 0 .../sprintf-js/src/angular-sprintf.js | 0 .../node_modules/sprintf-js/src/sprintf.js | 0 .../eslint/node_modules/state-toggle/LICENSE | 0 .../node_modules/state-toggle/history.md | 0 .../eslint/node_modules/state-toggle/index.js | 0 .../node_modules/state-toggle/package.json | 0 .../node_modules/state-toggle/readme.md | 0 .../eslint/node_modules/string-width/index.js | 0 .../eslint/node_modules/string-width/license | 0 .../node_modules/string-width/package.json | 0 .../node_modules/string-width/readme.md | 0 .../node_modules/string_decoder/LICENSE | 0 .../node_modules/string_decoder/README.md | 0 .../string_decoder/lib/string_decoder.js | 0 .../node_modules/string_decoder/package.json | 0 .../eslint/node_modules/strip-ansi/index.js | 0 .../eslint/node_modules/strip-ansi/license | 0 .../node_modules/ansi-regex/index.js | 0 .../node_modules/ansi-regex/license | 0 .../node_modules/ansi-regex/package.json | 0 .../node_modules/ansi-regex/readme.md | 0 .../node_modules/strip-ansi/package.json | 0 .../eslint/node_modules/strip-ansi/readme.md | 0 .../node_modules/strip-json-comments/index.js | 0 .../node_modules/strip-json-comments/license | 0 .../strip-json-comments/package.json | 0 .../strip-json-comments/readme.md | 0 .../node_modules/supports-color/index.js | 0 .../node_modules/supports-color/license | 0 .../node_modules/supports-color/package.json | 0 .../node_modules/supports-color/readme.md | 0 .../eslint/node_modules/table/LICENSE | 0 .../eslint/node_modules/table/README.md | 0 .../node_modules/table/dist/alignString.js | 0 .../node_modules/table/dist/alignTableData.js | 0 .../table/dist/calculateCellHeight.js | 0 .../table/dist/calculateCellWidthIndex.js | 0 .../dist/calculateMaximumColumnWidthIndex.js | 0 .../table/dist/calculateRowHeightIndex.js | 0 .../node_modules/table/dist/createStream.js | 0 .../node_modules/table/dist/drawBorder.js | 0 .../eslint/node_modules/table/dist/drawRow.js | 0 .../node_modules/table/dist/drawTable.js | 0 .../table/dist/getBorderCharacters.js | 0 .../eslint/node_modules/table/dist/index.js | 0 .../node_modules/table/dist/makeConfig.js | 0 .../table/dist/makeStreamConfig.js | 0 .../table/dist/mapDataUsingRowHeightIndex.js | 0 .../node_modules/table/dist/padTableData.js | 0 .../table/dist/schemas/config.json | 0 .../table/dist/schemas/streamConfig.json | 0 .../table/dist/stringifyTableData.js | 0 .../eslint/node_modules/table/dist/table.js | 0 .../table/dist/truncateTableData.js | 0 .../node_modules/table/dist/validateConfig.js | 0 .../table/dist/validateStreamConfig.js | 0 .../table/dist/validateTableData.js | 0 .../node_modules/table/dist/wrapString.js | 0 .../node_modules/table/dist/wrapWord.js | 0 .../eslint/node_modules/table/package.json | 0 .../eslint/node_modules/text-table/LICENSE | 0 .../eslint/node_modules/text-table/index.js | 0 .../node_modules/text-table/package.json | 0 .../node_modules/text-table/readme.markdown | 0 .../node_modules/through/LICENSE.APACHE2 | 0 .../eslint/node_modules/through/LICENSE.MIT | 0 .../eslint/node_modules/through/index.js | 0 .../eslint/node_modules/through/package.json | 0 .../node_modules/through/readme.markdown | 0 .../node_modules/trim-trailing-lines/LICENSE | 0 .../node_modules/trim-trailing-lines/index.js | 0 .../trim-trailing-lines/package.json | 0 .../trim-trailing-lines/readme.md | 0 .../eslint/node_modules/trim/Makefile | 0 .../eslint/node_modules/trim/Readme.md | 0 .../eslint/node_modules/trim/index.js | 0 .../eslint/node_modules/trim/package.json | 0 .../eslint/node_modules/trough/LICENSE | 0 .../eslint/node_modules/trough/index.js | 0 .../eslint/node_modules/trough/package.json | 0 .../eslint/node_modules/trough/readme.md | 0 .../eslint/node_modules/tryit/README.md | 0 .../eslint/node_modules/tryit/package.json | 0 .../eslint/node_modules/tryit/tryit.js | 0 .../eslint/node_modules/type-check/LICENSE | 0 .../eslint/node_modules/type-check/README.md | 0 .../node_modules/type-check/lib/check.js | 0 .../node_modules/type-check/lib/index.js | 0 .../node_modules/type-check/lib/parse-type.js | 0 .../node_modules/type-check/package.json | 0 .../eslint/node_modules/typedarray/LICENSE | 0 .../eslint/node_modules/typedarray/index.js | 0 .../node_modules/typedarray/package.json | 0 .../node_modules/typedarray/readme.markdown | 0 .../eslint/node_modules/unherit/LICENSE | 0 .../eslint/node_modules/unherit/index.js | 0 .../eslint/node_modules/unherit/package.json | 0 .../eslint/node_modules/unherit/readme.md | 0 .../eslint/node_modules/unified/LICENSE | 0 .../eslint/node_modules/unified/index.js | 0 .../eslint/node_modules/unified/package.json | 0 .../eslint/node_modules/unified/readme.md | 0 .../eslint/node_modules/unist-util-is/LICENSE | 0 .../node_modules/unist-util-is/index.js | 0 .../node_modules/unist-util-is/package.json | 0 .../node_modules/unist-util-is/readme.md | 0 .../unist-util-remove-position/LICENSE | 0 .../unist-util-remove-position/index.js | 0 .../unist-util-remove-position/package.json | 0 .../unist-util-remove-position/readme.md | 0 .../unist-util-stringify-position/LICENSE | 0 .../unist-util-stringify-position/index.js | 0 .../package.json | 0 .../unist-util-stringify-position/readme.md | 0 .../node_modules/unist-util-visit/LICENSE | 0 .../node_modules/unist-util-visit/index.js | 0 .../unist-util-visit/package.json | 0 .../node_modules/unist-util-visit/readme.md | 0 .../node_modules/util-deprecate/LICENSE | 0 .../node_modules/util-deprecate/README.md | 0 .../node_modules/util-deprecate/browser.js | 0 .../node_modules/util-deprecate/node.js | 0 .../node_modules/util-deprecate/package.json | 0 .../node_modules/vfile-location/LICENSE | 0 .../node_modules/vfile-location/index.js | 0 .../node_modules/vfile-location/package.json | 0 .../node_modules/vfile-location/readme.md | 0 .../eslint/node_modules/vfile-message/LICENSE | 0 .../node_modules/vfile-message/index.js | 0 .../node_modules/vfile-message/package.json | 0 .../node_modules/vfile-message/readme.md | 0 .../eslint/node_modules/vfile/LICENSE | 0 .../eslint/node_modules/vfile/core.js | 0 .../eslint/node_modules/vfile/index.js | 0 .../eslint/node_modules/vfile/package.json | 0 .../eslint/node_modules/vfile/readme.md | 0 .../eslint/node_modules/which/LICENSE | 0 .../eslint/node_modules/which/README.md | 0 .../eslint/node_modules/which/bin/which | 0 .../eslint/node_modules/which/package.json | 0 .../eslint/node_modules/which/which.js | 0 .../eslint/node_modules/wordwrap/LICENSE | 0 .../node_modules/wordwrap/README.markdown | 0 .../eslint/node_modules/wordwrap/index.js | 0 .../eslint/node_modules/wordwrap/package.json | 0 .../eslint/node_modules/wrappy/LICENSE | 0 .../eslint/node_modules/wrappy/README.md | 0 .../eslint/node_modules/wrappy/package.json | 0 .../eslint/node_modules/wrappy/wrappy.js | 0 .../eslint/node_modules/write/LICENSE | 0 .../eslint/node_modules/write/README.md | 0 .../eslint/node_modules/write/index.js | 0 .../eslint/node_modules/write/package.json | 0 .../eslint/node_modules/x-is-function/LICENSE | 0 .../node_modules/x-is-function/README.md | 0 .../node_modules/x-is-function/index.js | 0 .../node_modules/x-is-function/package.json | 0 .../eslint/node_modules/x-is-string/LICENCE | 0 .../eslint/node_modules/x-is-string/README.md | 0 .../eslint/node_modules/x-is-string/index.js | 0 .../node_modules/x-is-string/package.json | 0 .../eslint/node_modules/xtend/LICENCE | 0 .../eslint/node_modules/xtend/Makefile | 0 .../eslint/node_modules/xtend/README.md | 0 .../eslint/node_modules/xtend/immutable.js | 0 .../eslint/node_modules/xtend/mutable.js | 0 .../eslint/node_modules/xtend/package.json | 0 .../eslint/node_modules/yallist/LICENSE | 0 .../eslint/node_modules/yallist/README.md | 0 .../eslint/node_modules/yallist/iterator.js | 0 .../eslint/node_modules/yallist/package.json | 0 .../eslint/node_modules/yallist/yallist.js | 0 tools/{ => node_modules}/eslint/package.json | 0 tools/update-eslint.sh | 4 +- vcbuild.bat | 4 +- 2582 files changed, 72 insertions(+), 71 deletions(-) rename tools/{ => node_modules}/eslint/LICENSE (100%) rename tools/{ => node_modules}/eslint/README.md (100%) rename tools/{ => node_modules}/eslint/bin/eslint.js (100%) rename tools/{ => node_modules}/eslint/conf/blank-script.json (100%) rename tools/{ => node_modules}/eslint/conf/category-list.json (100%) rename tools/{ => node_modules}/eslint/conf/config-schema.js (100%) rename tools/{ => node_modules}/eslint/conf/default-cli-options.js (100%) rename tools/{ => node_modules}/eslint/conf/default-config-options.js (100%) rename tools/{ => node_modules}/eslint/conf/environments.js (100%) rename tools/{ => node_modules}/eslint/conf/eslint-all.js (100%) rename tools/{ => node_modules}/eslint/conf/eslint-recommended.js (100%) rename tools/{ => node_modules}/eslint/conf/replacements.json (100%) rename tools/{ => node_modules}/eslint/lib/api.js (100%) rename tools/{ => node_modules}/eslint/lib/ast-utils.js (100%) rename tools/{ => node_modules}/eslint/lib/cli-engine.js (100%) rename tools/{ => node_modules}/eslint/lib/cli.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/code-path-analyzer.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/code-path-segment.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/code-path-state.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/code-path.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/debug-helpers.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/fork-context.js (100%) rename tools/{ => node_modules}/eslint/lib/code-path-analysis/id-generator.js (100%) rename tools/{ => node_modules}/eslint/lib/config.js (100%) rename tools/{ => node_modules}/eslint/lib/config/autoconfig.js (100%) rename tools/{ => node_modules}/eslint/lib/config/config-cache.js (100%) rename tools/{ => node_modules}/eslint/lib/config/config-file.js (100%) rename tools/{ => node_modules}/eslint/lib/config/config-initializer.js (100%) rename tools/{ => node_modules}/eslint/lib/config/config-ops.js (100%) rename tools/{ => node_modules}/eslint/lib/config/config-rule.js (100%) rename tools/{ => node_modules}/eslint/lib/config/config-validator.js (100%) rename tools/{ => node_modules}/eslint/lib/config/environments.js (100%) rename tools/{ => node_modules}/eslint/lib/config/plugins.js (100%) rename tools/{ => node_modules}/eslint/lib/file-finder.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/checkstyle.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/codeframe.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/compact.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/html-template-message.html (100%) rename tools/{ => node_modules}/eslint/lib/formatters/html-template-page.html (100%) rename tools/{ => node_modules}/eslint/lib/formatters/html-template-result.html (100%) rename tools/{ => node_modules}/eslint/lib/formatters/html.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/jslint-xml.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/json.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/junit.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/stylish.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/table.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/tap.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/unix.js (100%) rename tools/{ => node_modules}/eslint/lib/formatters/visualstudio.js (100%) rename tools/{ => node_modules}/eslint/lib/ignored-paths.js (100%) rename tools/{ => node_modules}/eslint/lib/linter.js (100%) rename tools/{ => node_modules}/eslint/lib/load-rules.js (100%) rename tools/{ => node_modules}/eslint/lib/logging.js (100%) rename tools/{ => node_modules}/eslint/lib/options.js (100%) rename tools/{ => node_modules}/eslint/lib/report-translator.js (100%) rename tools/{ => node_modules}/eslint/lib/rules.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/.eslintrc.yml (100%) rename tools/{ => node_modules}/eslint/lib/rules/accessor-pairs.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/array-bracket-newline.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/array-bracket-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/array-callback-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/array-element-newline.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/arrow-body-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/arrow-parens.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/arrow-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/block-scoped-var.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/block-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/brace-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/callback-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/camelcase.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/capitalized-comments.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/class-methods-use-this.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/comma-dangle.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/comma-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/comma-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/complexity.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/computed-property-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/consistent-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/consistent-this.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/constructor-super.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/curly.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/default-case.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/dot-location.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/dot-notation.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/eol-last.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/eqeqeq.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/for-direction.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/func-call-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/func-name-matching.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/func-names.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/func-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/function-paren-newline.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/generator-star-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/getter-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/global-require.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/guard-for-in.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/handle-callback-err.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/id-blacklist.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/id-length.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/id-match.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/implicit-arrow-linebreak.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/indent-legacy.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/indent.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/init-declarations.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/jsx-quotes.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/key-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/keyword-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/line-comment-position.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/linebreak-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/lines-around-comment.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/lines-around-directive.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/lines-between-class-members.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-depth.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-len.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-lines.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-nested-callbacks.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-params.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-statements-per-line.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/max-statements.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/multiline-comment-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/multiline-ternary.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/new-cap.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/new-parens.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/newline-after-var.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/newline-before-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/newline-per-chained-call.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-alert.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-array-constructor.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-await-in-loop.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-bitwise.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-buffer-constructor.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-caller.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-case-declarations.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-catch-shadow.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-class-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-compare-neg-zero.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-cond-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-confusing-arrow.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-console.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-const-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-constant-condition.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-continue.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-control-regex.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-debugger.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-delete-var.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-div-regex.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-dupe-args.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-dupe-class-members.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-dupe-keys.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-duplicate-case.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-duplicate-imports.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-else-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-empty-character-class.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-empty-function.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-empty-pattern.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-empty.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-eq-null.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-eval.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-ex-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-extend-native.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-extra-bind.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-extra-boolean-cast.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-extra-label.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-extra-parens.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-extra-semi.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-fallthrough.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-floating-decimal.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-func-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-global-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-implicit-coercion.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-implicit-globals.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-implied-eval.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-inline-comments.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-inner-declarations.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-invalid-regexp.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-invalid-this.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-irregular-whitespace.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-iterator.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-label-var.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-labels.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-lone-blocks.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-lonely-if.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-loop-func.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-magic-numbers.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-mixed-operators.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-mixed-requires.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-mixed-spaces-and-tabs.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-multi-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-multi-spaces.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-multi-str.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-multiple-empty-lines.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-native-reassign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-negated-condition.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-negated-in-lhs.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-nested-ternary.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-new-func.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-new-object.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-new-require.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-new-symbol.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-new-wrappers.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-new.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-obj-calls.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-octal-escape.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-octal.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-param-reassign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-path-concat.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-plusplus.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-process-env.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-process-exit.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-proto.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-prototype-builtins.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-redeclare.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-regex-spaces.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-restricted-globals.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-restricted-imports.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-restricted-modules.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-restricted-properties.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-restricted-syntax.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-return-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-return-await.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-script-url.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-self-assign.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-self-compare.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-sequences.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-shadow-restricted-names.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-shadow.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-spaced-func.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-sparse-arrays.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-sync.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-tabs.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-template-curly-in-string.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-ternary.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-this-before-super.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-throw-literal.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-trailing-spaces.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-undef-init.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-undef.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-undefined.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-underscore-dangle.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unexpected-multiline.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unmodified-loop-condition.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unneeded-ternary.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unreachable.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unsafe-finally.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unsafe-negation.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unused-expressions.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unused-labels.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-unused-vars.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-use-before-define.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-call.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-computed-key.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-concat.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-constructor.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-escape.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-rename.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-useless-return.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-var.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-void.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-warning-comments.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-whitespace-before-property.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/no-with.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/nonblock-statement-body-position.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/object-curly-newline.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/object-curly-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/object-property-newline.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/object-shorthand.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/one-var-declaration-per-line.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/one-var.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/operator-assignment.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/operator-linebreak.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/padded-blocks.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/padding-line-between-statements.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-arrow-callback.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-const.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-destructuring.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-numeric-literals.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-promise-reject-errors.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-reflect.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-rest-params.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-spread.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/prefer-template.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/quote-props.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/quotes.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/radix.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/require-await.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/require-jsdoc.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/require-yield.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/rest-spread-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/semi-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/semi-style.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/semi.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/sort-imports.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/sort-keys.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/sort-vars.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/space-before-blocks.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/space-before-function-paren.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/space-in-parens.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/space-infix-ops.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/space-unary-ops.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/spaced-comment.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/strict.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/switch-colon-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/symbol-description.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/template-curly-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/template-tag-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/unicode-bom.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/use-isnan.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/valid-jsdoc.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/valid-typeof.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/vars-on-top.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/wrap-iife.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/wrap-regex.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/yield-star-spacing.js (100%) rename tools/{ => node_modules}/eslint/lib/rules/yoda.js (100%) rename tools/{ => node_modules}/eslint/lib/testers/rule-tester.js (100%) rename tools/{ => node_modules}/eslint/lib/timing.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/backward-token-comment-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/backward-token-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/cursors.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/decorative-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/filter-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/forward-token-comment-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/forward-token-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/index.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/limit-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/padded-token-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/skip-cursor.js (100%) rename tools/{ => node_modules}/eslint/lib/token-store/utils.js (100%) rename tools/{ => node_modules}/eslint/lib/util/ajv.js (100%) rename tools/{ => node_modules}/eslint/lib/util/apply-disable-directives.js (100%) rename tools/{ => node_modules}/eslint/lib/util/fix-tracker.js (100%) rename tools/{ => node_modules}/eslint/lib/util/glob-util.js (100%) rename tools/{ => node_modules}/eslint/lib/util/glob.js (100%) rename tools/{ => node_modules}/eslint/lib/util/hash.js (100%) rename tools/{ => node_modules}/eslint/lib/util/keywords.js (100%) rename tools/{ => node_modules}/eslint/lib/util/module-resolver.js (100%) rename tools/{ => node_modules}/eslint/lib/util/naming.js (100%) rename tools/{ => node_modules}/eslint/lib/util/node-event-generator.js (100%) rename tools/{ => node_modules}/eslint/lib/util/npm-util.js (100%) rename tools/{ => node_modules}/eslint/lib/util/path-util.js (100%) rename tools/{ => node_modules}/eslint/lib/util/patterns/letters.js (100%) rename tools/{ => node_modules}/eslint/lib/util/rule-fixer.js (100%) rename tools/{ => node_modules}/eslint/lib/util/safe-emitter.js (100%) rename tools/{ => node_modules}/eslint/lib/util/source-code-fixer.js (100%) rename tools/{ => node_modules}/eslint/lib/util/source-code-util.js (100%) rename tools/{ => node_modules}/eslint/lib/util/source-code.js (100%) rename tools/{ => node_modules}/eslint/lib/util/traverser.js (100%) rename tools/{ => node_modules}/eslint/lib/util/xml-escape.js (100%) rename tools/{ => node_modules}/eslint/messages/extend-config-missing.txt (100%) rename tools/{ => node_modules}/eslint/messages/no-config-found.txt (100%) rename tools/{ => node_modules}/eslint/messages/plugin-missing.txt (100%) rename tools/{ => node_modules}/eslint/messages/whitespace-found.txt (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/inject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.es.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.es.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.bin.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.loose.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.main.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.walk.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn-jsx/xhtml.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/AUTHORS (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/bin/acorn (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/.keep (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/acorn.es.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/acorn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/acorn_loose.es.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/acorn_loose.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/walk.es.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/dist/walk.js (100%) rename tools/{ => node_modules}/eslint/node_modules/acorn/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/_formatLimit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/_util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/deepProperties.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/deepRequired.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dot/patternRequired.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dot/switch.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dotjs/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dotjs/switch.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/dynamicDefaults.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/formatMaximum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/formatMinimum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/if.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/instanceof.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/patternRequired.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/prohibited.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/range.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/regexp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/select.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/switch.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/typeof.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/keywords/uniqueItemProperties.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv-keywords/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/.tonic_example.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/dist/ajv.bundle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/dist/ajv.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/dist/ajv.min.js.map (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/dist/nodent.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/dist/regenerator.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/$data.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/ajv.d.ts (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/ajv.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/cache.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/_rules.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/async.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/equal.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/error_classes.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/formats.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/resolve.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/rules.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/schema_obj.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/ucs2length.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/compile/util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/_limit.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/_limitItems.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/_limitLength.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/_limitProperties.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/allOf.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/anyOf.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/coerce.def (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/const.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/contains.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/custom.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/defaults.def (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/definitions.def (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/dependencies.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/enum.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/errors.def (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/format.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/items.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/missing.def (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/multipleOf.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/not.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/oneOf.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/pattern.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/properties.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/propertyNames.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/ref.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/required.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/uniqueItems.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dot/validate.jst (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/_limit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/_limitItems.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/_limitLength.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/allOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/anyOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/const.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/contains.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/custom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/dependencies.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/enum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/format.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/items.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/multipleOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/not.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/oneOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/pattern.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/properties.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/propertyNames.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/ref.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/required.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/dotjs/validate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/keyword.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/patternGroups.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/refs/$data.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/lib/refs/json-schema-v5.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/scripts/.eslintrc.yml (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/scripts/bundle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/scripts/compile-dots.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/scripts/info (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/scripts/prepare-tests (100%) rename tools/{ => node_modules}/eslint/node_modules/ajv/scripts/travis-gh-pages (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-escapes/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-escapes/license (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-escapes/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-escapes/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-regex/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-regex/license (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-regex/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-regex/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-styles/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-styles/license (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-styles/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ansi-styles/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/append.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/append/constant.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/count.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/help.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/store.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/store/constant.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/store/false.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/store/true.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/subparsers.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action/version.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/action_container.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/argparse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/argument/error.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/argument/exclusive.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/argument/group.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/argument_parser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/const.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/help/added_formatters.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/help/formatter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/namespace.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/lib/utils.js (100%) rename tools/{ => node_modules}/eslint/node_modules/argparse/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/array-union/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/array-union/license (100%) rename tools/{ => node_modules}/eslint/node_modules/array-union/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/array-union/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/array-uniq/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/array-uniq/license (100%) rename tools/{ => node_modules}/eslint/node_modules/array-uniq/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/array-uniq/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/arrify/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/arrify/license (100%) rename tools/{ => node_modules}/eslint/node_modules/arrify/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/arrify/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/chalk/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/chalk/license (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/chalk/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/license (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/package-lock.json (100%) rename tools/{ => node_modules}/eslint/node_modules/babel-code-frame/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/bail/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/bail/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/bail/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/bail/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/balanced-match/LICENSE.md (100%) rename tools/{ => node_modules}/eslint/node_modules/balanced-match/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/balanced-match/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/balanced-match/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/brace-expansion/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/brace-expansion/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/brace-expansion/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/caller-path/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/caller-path/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/caller-path/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/callsites/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/callsites/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/callsites/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/license (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/ansi-styles/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/ansi-styles/license (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/ansi-styles/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/supports-color/browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/supports-color/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/supports-color/license (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/supports-color/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/node_modules/supports-color/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/templates.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chalk/types/index.d.ts (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities-legacy/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities-legacy/index.json (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities-legacy/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities-legacy/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities/index.json (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/character-entities/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/character-reference-invalid/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/character-reference-invalid/index.json (100%) rename tools/{ => node_modules}/eslint/node_modules/character-reference-invalid/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/character-reference-invalid/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/encoding/iso2022.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/encoding/mbcs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/encoding/sbcs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/encoding/unicode.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/encoding/utf8.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/match.js (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/scripts/release (100%) rename tools/{ => node_modules}/eslint/node_modules/chardet/yarn.lock (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/LICENSE.txt (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/build/circular-json.js (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/build/circular-json.max.js (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/build/circular-json.node.js (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/template/license.after (100%) rename tools/{ => node_modules}/eslint/node_modules/circular-json/template/license.before (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-cursor/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-cursor/license (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-cursor/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-cursor/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-width/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-width/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-width/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cli-width/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/co/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/co/Readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/co/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/co/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/collapse-white-space/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/collapse-white-space/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/collapse-white-space/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/collapse-white-space/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/color-convert/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/color-convert/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/color-convert/conversions.js (100%) rename tools/{ => node_modules}/eslint/node_modules/color-convert/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/color-convert/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/color-convert/route.js (100%) rename tools/{ => node_modules}/eslint/node_modules/color-name/.eslintrc.json (100%) rename tools/{ => node_modules}/eslint/node_modules/color-name/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/color-name/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/color-name/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/color-name/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-map/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-map/README.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-map/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-map/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-stream/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-stream/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-stream/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/concat-stream/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/core-util-is/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/core-util-is/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/core-util-is/float.patch (100%) rename tools/{ => node_modules}/eslint/node_modules/core-util-is/lib/util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/core-util-is/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/enoent.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/parse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/util/escapeArgument.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/util/escapeCommand.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/util/hasEmptyArgumentBug.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/util/readShebang.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js (100%) rename tools/{ => node_modules}/eslint/node_modules/cross-spawn/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/.coveralls.yml (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/Makefile (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/Readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/karma.conf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/node.js (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/src/browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/src/debug.js (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/src/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/debug/src/node.js (100%) rename tools/{ => node_modules}/eslint/node_modules/deep-is/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/deep-is/README.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/deep-is/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/deep-is/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/del/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/del/license (100%) rename tools/{ => node_modules}/eslint/node_modules/del/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/del/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/LICENSE.closure-compiler (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/LICENSE.esprima (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/lib/doctrine.js (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/lib/typed.js (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/lib/utility.js (100%) rename tools/{ => node_modules}/eslint/node_modules/doctrine/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/escape-string-regexp/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/escape-string-regexp/license (100%) rename tools/{ => node_modules}/eslint/node_modules/escape-string-regexp/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/escape-string-regexp/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-plugin-markdown/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-plugin-markdown/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-plugin-markdown/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-plugin-markdown/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-plugin-markdown/lib/processor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-plugin-markdown/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/definition.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/pattern-visitor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/reference.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/referencer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/scope-manager.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/scope.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/lib/variable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/eslint-scope/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/espree.js (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/lib/ast-node-types.js (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/lib/comment-attachment.js (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/lib/features.js (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/lib/token-translator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/lib/visitor-keys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/espree/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/esprima/LICENSE.BSD (100%) rename tools/{ => node_modules}/eslint/node_modules/esprima/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/esprima/bin/esparse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esprima/bin/esvalidate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esprima/dist/esprima.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esprima/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/esquery/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/esquery/esquery.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esquery/license.txt (100%) rename tools/{ => node_modules}/eslint/node_modules/esquery/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/esquery/parser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esrecurse/.babelrc (100%) rename tools/{ => node_modules}/eslint/node_modules/esrecurse/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/esrecurse/esrecurse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esrecurse/package-lock.json (100%) rename tools/{ => node_modules}/eslint/node_modules/esrecurse/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/estraverse/.babelrc (100%) rename tools/{ => node_modules}/eslint/node_modules/estraverse/LICENSE.BSD (100%) rename tools/{ => node_modules}/eslint/node_modules/estraverse/estraverse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/estraverse/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/LICENSE.BSD (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/lib/ast.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/lib/code.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/lib/keyword.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/lib/utils.js (100%) rename tools/{ => node_modules}/eslint/node_modules/esutils/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/extend/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/extend/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/extend/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/extend/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/example_async.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/example_sync.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/main/errors/CreateFileError.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/main/errors/LaunchEditorError.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/main/errors/ReadFileError.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/main/errors/RemoveFileError.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/main/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/external-editor/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-deep-equal/.eslintrc.yml (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-deep-equal/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-deep-equal/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-deep-equal/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-deep-equal/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-json-stable-stringify/.eslintrc.yml (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-json-stable-stringify/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-json-stable-stringify/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-json-stable-stringify/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-json-stable-stringify/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-levenshtein/LICENSE.md (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-levenshtein/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-levenshtein/levenshtein.js (100%) rename tools/{ => node_modules}/eslint/node_modules/fast-levenshtein/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/figures/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/figures/license (100%) rename tools/{ => node_modules}/eslint/node_modules/figures/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/figures/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/file-entry-cache/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/file-entry-cache/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/file-entry-cache/cache.js (100%) rename tools/{ => node_modules}/eslint/node_modules/file-entry-cache/changelog.md (100%) rename tools/{ => node_modules}/eslint/node_modules/file-entry-cache/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/flat-cache/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/flat-cache/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/flat-cache/cache.js (100%) rename tools/{ => node_modules}/eslint/node_modules/flat-cache/changelog.md (100%) rename tools/{ => node_modules}/eslint/node_modules/flat-cache/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/flat-cache/utils.js (100%) rename tools/{ => node_modules}/eslint/node_modules/fs.realpath/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/fs.realpath/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/fs.realpath/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/fs.realpath/old.js (100%) rename tools/{ => node_modules}/eslint/node_modules/fs.realpath/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/function-bind/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/function-bind/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/function-bind/implementation.js (100%) rename tools/{ => node_modules}/eslint/node_modules/function-bind/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/function-bind/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/functional-red-black-tree/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/functional-red-black-tree/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/functional-red-black-tree/bench/test.js (100%) rename tools/{ => node_modules}/eslint/node_modules/functional-red-black-tree/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/functional-red-black-tree/rbtree.js (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/changelog.md (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/common.js (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/glob.js (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/glob/sync.js (100%) rename tools/{ => node_modules}/eslint/node_modules/globals/globals.json (100%) rename tools/{ => node_modules}/eslint/node_modules/globals/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/globals/license (100%) rename tools/{ => node_modules}/eslint/node_modules/globals/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/globals/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/globby/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/globby/license (100%) rename tools/{ => node_modules}/eslint/node_modules/globby/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/globby/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/fs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/graceful-fs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/legacy-streams.js (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/graceful-fs/polyfills.js (100%) rename tools/{ => node_modules}/eslint/node_modules/has-ansi/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/has-ansi/license (100%) rename tools/{ => node_modules}/eslint/node_modules/has-ansi/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/has-ansi/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/has-flag/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/has-flag/license (100%) rename tools/{ => node_modules}/eslint/node_modules/has-flag/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/has-flag/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/has/LICENSE-MIT (100%) rename tools/{ => node_modules}/eslint/node_modules/has/README.mkd (100%) rename tools/{ => node_modules}/eslint/node_modules/has/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/has/src/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/dbcs-codec.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/dbcs-data.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/internal.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/sbcs-codec.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/sbcs-data-generated.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/sbcs-data.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/big5-added.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/cp936.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/cp949.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/cp950.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/eucjp.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/gbk-added.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/tables/shiftjis.json (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/utf16.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/encodings/utf7.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/lib/bom-handling.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/lib/extend-node.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/lib/index.d.ts (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/lib/streams.js (100%) rename tools/{ => node_modules}/eslint/node_modules/iconv-lite/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/ignore/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ignore/ignore.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ignore/index.d.ts (100%) rename tools/{ => node_modules}/eslint/node_modules/ignore/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/imurmurhash/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/imurmurhash/imurmurhash.js (100%) rename tools/{ => node_modules}/eslint/node_modules/imurmurhash/imurmurhash.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/imurmurhash/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/inflight/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/inflight/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/inflight/inflight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inflight/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/inherits/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/inherits/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/inherits/inherits.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inherits/inherits_browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inherits/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/inquirer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/objects/choice.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/objects/choices.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/objects/separator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/base.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/checkbox.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/confirm.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/editor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/expand.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/input.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/list.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/password.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/prompts/rawlist.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/ui/baseUI.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/ui/bottom-bar.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/ui/prompt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/utils/events.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/utils/paginator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/utils/readline.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/utils/screen-manager.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/lib/utils/utils.js (100%) rename tools/{ => node_modules}/eslint/node_modules/inquirer/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphabetical/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphabetical/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphabetical/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphabetical/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphanumerical/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphanumerical/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphanumerical/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-alphanumerical/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-buffer/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-buffer/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-buffer/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-buffer/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-decimal/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-decimal/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-decimal/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-decimal/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-fullwidth-code-point/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-fullwidth-code-point/license (100%) rename tools/{ => node_modules}/eslint/node_modules/is-fullwidth-code-point/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-fullwidth-code-point/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-hexadecimal/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-hexadecimal/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-hexadecimal/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-hexadecimal/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-cwd/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-cwd/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-cwd/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-in-cwd/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-in-cwd/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-in-cwd/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-inside/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-inside/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-path-inside/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-plain-obj/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-plain-obj/license (100%) rename tools/{ => node_modules}/eslint/node_modules/is-plain-obj/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-plain-obj/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-promise/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-promise/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-promise/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-promise/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-resolvable/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-resolvable/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-resolvable/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-resolvable/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-whitespace-character/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-whitespace-character/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-whitespace-character/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-whitespace-character/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/is-word-character/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/is-word-character/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/is-word-character/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/is-word-character/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/isarray/Makefile (100%) rename tools/{ => node_modules}/eslint/node_modules/isarray/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/isarray/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/isarray/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/isexe/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/isexe/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/isexe/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/isexe/mode.js (100%) rename tools/{ => node_modules}/eslint/node_modules/isexe/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/isexe/windows.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-tokens/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/js-tokens/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-tokens/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/js-tokens/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/bin/js-yaml.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/dist/js-yaml.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/dist/js-yaml.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/common.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/exception.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/loader.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/mark.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/schema.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/schema/core.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_full.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/schema/json.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/bool.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/float.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/map.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/merge.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/null.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/omap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/pairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/seq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/set.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/str.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/lib/js-yaml/type/timestamp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/js-yaml/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/json-schema-traverse/.eslintrc.yml (100%) rename tools/{ => node_modules}/eslint/node_modules/json-schema-traverse/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/json-schema-traverse/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/json-schema-traverse/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/json-schema-traverse/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/json-stable-stringify-without-jsonify/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/json-stable-stringify-without-jsonify/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/json-stable-stringify-without-jsonify/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/json-stable-stringify-without-jsonify/readme.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/lib/cast.js (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/lib/coerce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/lib/parse-string.js (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/lib/parse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/levn/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_DataView.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Hash.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_LazyWrapper.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_ListCache.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_LodashWrapper.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Map.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_MapCache.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Promise.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Set.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_SetCache.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Stack.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Symbol.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_Uint8Array.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_WeakMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_addMapEntry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_addSetEntry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_apply.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayAggregator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayEach.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayEachRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayEvery.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayFilter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayIncludes.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayIncludesWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayLikeKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayPush.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayReduce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayReduceRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arraySample.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arraySampleSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arrayShuffle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_arraySome.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_asciiSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_asciiToArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_asciiWords.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_assignMergeValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_assignValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_assocIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseAggregator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseAssign.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseAssignIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseAssignValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseAt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseClamp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseClone.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseConforms.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseConformsTo.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseCreate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseDelay.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseDifference.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseEach.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseEachRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseEvery.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseExtremum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFill.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFilter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFindIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFindKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFlatten.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseForOwn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseForOwnRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseForRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseFunctions.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseGet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseGetAllKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseGetTag.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseGt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseHasIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseInRange.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIndexOfWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIntersection.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseInverter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseInvoke.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsArguments.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsArrayBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsDate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsEqual.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsEqualDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsMatch.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsNaN.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsNative.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsRegExp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIsTypedArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseIteratee.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseKeysIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseLodash.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseLt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseMatches.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseMatchesProperty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseMean.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseMerge.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseMergeDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseNth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseOrderBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_basePick.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_basePickBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseProperty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_basePropertyDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_basePropertyOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_basePullAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_basePullAt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseRandom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseRange.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseReduce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseRepeat.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseRest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSample.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSampleSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSetData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSetToString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseShuffle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSlice.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSome.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSortBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSortedIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSortedIndexBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSortedUniq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseSum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseTimes.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseToNumber.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseToPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseToString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseUnary.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseUniq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseUnset.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseUpdate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseValues.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseWrapperValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseXor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_baseZipObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cacheHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_castArrayLikeObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_castFunction.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_castPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_castRest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_castSlice.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_charsEndIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_charsStartIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneArrayBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneDataView.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneRegExp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneSymbol.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_cloneTypedArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_compareAscending.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_compareMultiple.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_composeArgs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_composeArgsRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_copyArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_copyObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_copySymbols.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_copySymbolsIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_coreJsData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_countHolders.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createAggregator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createAssigner.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createBaseEach.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createBaseFor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createBind.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createCaseFirst.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createCompounder.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createCtor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createCurry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createFind.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createFlow.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createHybrid.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createInverter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createMathOperation.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createOver.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createPadding.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createPartial.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createRange.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createRecurry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createRelationalOperation.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createRound.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createToPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_createWrap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_customDefaultsAssignIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_customDefaultsMerge.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_customOmitClone.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_deburrLetter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_defineProperty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_equalArrays.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_equalByTag.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_equalObjects.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_escapeHtmlChar.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_escapeStringChar.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_flatRest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_freeGlobal.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getAllKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getAllKeysIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getFuncName.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getHolder.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getMapData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getMatchData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getNative.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getPrototype.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getRawTag.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getSymbols.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getSymbolsIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getTag.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getView.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_getWrapDetails.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hasPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hasUnicode.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hasUnicodeWord.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hashClear.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hashDelete.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hashGet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hashHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_hashSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_initCloneArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_initCloneByTag.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_initCloneObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_insertWrapDetails.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isFlattenable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isIterateeCall.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isKeyable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isLaziable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isMaskable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isMasked.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isPrototype.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_isStrictComparable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_iteratorToArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_lazyClone.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_lazyReverse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_lazyValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_listCacheClear.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_listCacheDelete.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_listCacheGet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_listCacheHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_listCacheSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mapCacheClear.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mapCacheDelete.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mapCacheGet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mapCacheHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mapCacheSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mapToArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_matchesStrictComparable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_memoizeCapped.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_mergeData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_metaMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_nativeCreate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_nativeKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_nativeKeysIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_nodeUtil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_objectToString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_overArg.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_overRest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_parent.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_reEscape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_reEvaluate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_reInterpolate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_realNames.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_reorder.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_replaceHolders.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_root.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setCacheAdd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setCacheHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setToArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setToPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setToString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_setWrapToString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_shortOut.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_shuffleSelf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stackClear.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stackDelete.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stackGet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stackHas.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stackSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_strictIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_strictLastIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stringSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stringToArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_stringToPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_toKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_toSource.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_unescapeHtmlChar.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_unicodeSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_unicodeToArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_unicodeWords.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_updateWrapDetails.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/_wrapperClone.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/add.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/after.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/array.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/ary.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/assign.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/assignIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/assignInWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/assignWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/at.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/attempt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/before.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/bind.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/bindAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/bindKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/camelCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/capitalize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/castArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/ceil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/chain.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/chunk.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/clamp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/clone.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/cloneDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/cloneDeepWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/cloneWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/collection.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/commit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/compact.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/concat.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/cond.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/conforms.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/conformsTo.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/constant.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/core.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/core.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/countBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/create.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/curry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/curryRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/date.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/debounce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/deburr.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/defaultTo.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/defaults.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/defaultsDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/defer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/delay.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/difference.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/differenceBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/differenceWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/divide.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/drop.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/dropRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/dropRightWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/dropWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/each.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/eachRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/endsWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/entries.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/entriesIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/eq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/escape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/escapeRegExp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/every.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/extend.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/extendWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fill.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/filter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/find.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/findIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/findKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/findLast.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/findLastIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/findLastKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/first.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flatMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flatMapDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flatMapDepth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flatten.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flattenDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flattenDepth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flip.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/floor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flow.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/flowRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/forEach.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/forEachRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/forIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/forInRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/forOwn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/forOwnRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/F.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/T.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/__.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/_baseConvert.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/_convertBrowser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/_falseOptions.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/_mapping.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/_util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/add.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/after.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/all.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/allPass.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/always.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/any.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/anyPass.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/apply.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/array.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/ary.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assign.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignAllWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignInAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignInAllWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignInWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assignWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assoc.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/assocPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/at.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/attempt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/before.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/bind.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/bindAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/bindKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/camelCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/capitalize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/castArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/ceil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/chain.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/chunk.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/clamp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/clone.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/cloneDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/cloneDeepWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/cloneWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/collection.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/commit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/compact.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/complement.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/compose.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/concat.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/cond.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/conforms.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/conformsTo.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/constant.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/contains.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/convert.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/countBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/create.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/curry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/curryN.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/curryRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/curryRightN.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/date.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/debounce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/deburr.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/defaultTo.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/defaults.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/defaultsAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/defaultsDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/defaultsDeepAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/defer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/delay.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/difference.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/differenceBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/differenceWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dissoc.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dissocPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/divide.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/drop.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dropLast.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dropLastWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dropRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dropRightWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/dropWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/each.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/eachRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/endsWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/entries.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/entriesIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/eq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/equals.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/escape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/escapeRegExp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/every.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/extend.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/extendAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/extendAllWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/extendWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/fill.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/filter.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/find.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findIndexFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findLast.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findLastFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findLastIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findLastIndexFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/findLastKey.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/first.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flatMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flatMapDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flatMapDepth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flatten.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flattenDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flattenDepth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flip.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/floor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flow.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/flowRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/forEach.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/forEachRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/forIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/forInRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/forOwn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/forOwnRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/fromPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/function.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/functions.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/functionsIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/get.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/getOr.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/groupBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/gt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/gte.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/has.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/hasIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/head.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/identical.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/identity.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/inRange.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/includes.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/includesFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/indexBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/indexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/indexOfFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/init.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/initial.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/intersection.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/intersectionBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/intersectionWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invert.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invertBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invertObj.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invoke.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invokeArgs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invokeArgsMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/invokeMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isArguments.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isArrayBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isArrayLike.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isArrayLikeObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isBoolean.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isDate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isElement.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isEmpty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isEqual.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isEqualWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isError.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isFinite.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isFunction.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isLength.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isMatch.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isMatchWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isNaN.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isNative.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isNil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isNull.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isNumber.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isObjectLike.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isPlainObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isRegExp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isSafeInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isSymbol.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isTypedArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isUndefined.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isWeakMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/isWeakSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/iteratee.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/join.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/juxt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/kebabCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/keyBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/keys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/keysIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lang.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/last.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lastIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lastIndexOfFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lowerCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lowerFirst.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/lte.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/map.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mapKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mapValues.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/matches.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/matchesProperty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/math.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/max.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/maxBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mean.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/meanBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/memoize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/merge.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mergeAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mergeAllWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mergeWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/method.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/methodOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/minBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/mixin.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/multiply.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/nAry.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/negate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/next.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/noop.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/now.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/nth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/nthArg.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/number.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/object.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/omit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/omitAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/omitBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/once.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/orderBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/over.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/overArgs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/overEvery.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/overSome.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pad.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/padChars.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/padCharsEnd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/padCharsStart.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/padEnd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/padStart.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/parseInt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/partial.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/partialRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/partition.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/path.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pathEq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pathOr.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/paths.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pick.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pickAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pickBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pipe.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/placeholder.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/plant.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pluck.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/prop.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/propEq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/propOr.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/property.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/propertyOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/props.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pull.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pullAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pullAllBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pullAllWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/pullAt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/random.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/range.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/rangeRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/rangeStep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/rangeStepRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/rearg.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/reduce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/reduceRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/reject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/remove.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/repeat.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/replace.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/rest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/restFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/result.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/reverse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/round.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sample.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sampleSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/seq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/set.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/setWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/shuffle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/size.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/slice.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/snakeCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/some.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedIndexBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedLastIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedLastIndexBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedLastIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedUniq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sortedUniqBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/split.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/spread.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/spreadFrom.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/startCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/startsWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/string.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/stubArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/stubFalse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/stubObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/stubString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/stubTrue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/subtract.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/sumBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/symmetricDifference.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/symmetricDifferenceBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/symmetricDifferenceWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/tail.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/take.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/takeLast.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/takeLastWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/takeRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/takeRightWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/takeWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/tap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/template.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/templateSettings.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/throttle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/thru.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/times.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toFinite.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toIterator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toJSON.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toLength.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toLower.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toNumber.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toPairsIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toPlainObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toSafeInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/toUpper.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/transform.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/trim.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/trimChars.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/trimCharsEnd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/trimCharsStart.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/trimEnd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/trimStart.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/truncate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unapply.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unary.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unescape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/union.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unionBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unionWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/uniq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/uniqBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/uniqWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/uniqueId.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unnest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unset.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unzip.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/unzipWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/update.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/updateWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/upperCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/upperFirst.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/useWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/value.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/valueOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/values.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/valuesIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/where.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/whereEq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/without.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/words.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/wrap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/wrapperAt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/wrapperChain.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/wrapperLodash.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/wrapperReverse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/wrapperValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/xor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/xorBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/xorWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/zip.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/zipAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/zipObj.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/zipObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/zipObjectDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fp/zipWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/fromPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/function.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/functions.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/functionsIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/get.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/groupBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/gt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/gte.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/has.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/hasIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/head.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/identity.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/inRange.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/includes.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/indexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/initial.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/intersection.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/intersectionBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/intersectionWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/invert.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/invertBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/invoke.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/invokeMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isArguments.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isArrayBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isArrayLike.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isArrayLikeObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isBoolean.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isBuffer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isDate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isElement.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isEmpty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isEqual.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isEqualWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isError.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isFinite.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isFunction.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isLength.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isMatch.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isMatchWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isNaN.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isNative.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isNil.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isNull.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isNumber.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isObjectLike.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isPlainObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isRegExp.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isSafeInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isSymbol.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isTypedArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isUndefined.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isWeakMap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/isWeakSet.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/iteratee.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/join.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/kebabCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/keyBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/keys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/keysIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lang.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/last.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lastIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lodash.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lodash.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lowerCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lowerFirst.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/lte.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/map.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/mapKeys.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/mapValues.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/matches.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/matchesProperty.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/math.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/max.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/maxBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/mean.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/meanBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/memoize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/merge.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/mergeWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/method.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/methodOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/minBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/mixin.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/multiply.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/negate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/next.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/noop.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/now.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/nth.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/nthArg.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/number.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/object.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/omit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/omitBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/once.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/orderBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/over.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/overArgs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/overEvery.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/overSome.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pad.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/padEnd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/padStart.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/parseInt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/partial.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/partialRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/partition.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pick.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pickBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/plant.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/property.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/propertyOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pull.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pullAll.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pullAllBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pullAllWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/pullAt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/random.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/range.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/rangeRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/rearg.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/reduce.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/reduceRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/reject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/remove.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/repeat.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/replace.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/rest.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/result.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/reverse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/round.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sample.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sampleSize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/seq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/set.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/setWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/shuffle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/size.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/slice.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/snakeCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/some.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedIndexBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedLastIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedLastIndexBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedLastIndexOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedUniq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sortedUniqBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/split.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/spread.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/startCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/startsWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/string.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/stubArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/stubFalse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/stubObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/stubString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/stubTrue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/subtract.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sum.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/sumBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/tail.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/take.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/takeRight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/takeRightWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/takeWhile.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/tap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/template.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/templateSettings.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/throttle.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/thru.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/times.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toArray.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toFinite.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toIterator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toJSON.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toLength.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toLower.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toNumber.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toPairs.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toPairsIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toPath.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toPlainObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toSafeInteger.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/toUpper.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/transform.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/trim.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/trimEnd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/trimStart.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/truncate.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unary.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unescape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/union.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unionBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unionWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/uniq.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/uniqBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/uniqWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/uniqueId.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unset.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unzip.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/unzipWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/update.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/updateWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/upperCase.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/upperFirst.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/value.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/valueOf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/values.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/valuesIn.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/without.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/words.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/wrap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/wrapperAt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/wrapperChain.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/wrapperLodash.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/wrapperReverse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/wrapperValue.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/xor.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/xorBy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/xorWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/zip.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/zipObject.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/zipObjectDeep.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lodash/zipWith.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lru-cache/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/lru-cache/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/lru-cache/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/lru-cache/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/markdown-escapes/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/markdown-escapes/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/markdown-escapes/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/markdown-escapes/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/mimic-fn/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/mimic-fn/license (100%) rename tools/{ => node_modules}/eslint/node_modules/mimic-fn/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/mimic-fn/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/minimatch/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/minimatch/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/minimatch/minimatch.js (100%) rename tools/{ => node_modules}/eslint/node_modules/minimatch/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/minimist/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/minimist/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/minimist/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/minimist/readme.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/mkdirp/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/mkdirp/bin/cmd.js (100%) rename tools/{ => node_modules}/eslint/node_modules/mkdirp/bin/usage.txt (100%) rename tools/{ => node_modules}/eslint/node_modules/mkdirp/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/mkdirp/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/mkdirp/readme.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/ms/LICENSE.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ms/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/ms/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/ms/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/mute-stream/.nyc_output/33508.json (100%) rename tools/{ => node_modules}/eslint/node_modules/mute-stream/.nyc_output/33510.json (100%) rename tools/{ => node_modules}/eslint/node_modules/mute-stream/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/mute-stream/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/mute-stream/mute.js (100%) rename tools/{ => node_modules}/eslint/node_modules/mute-stream/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/natural-compare/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/natural-compare/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/natural-compare/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/object-assign/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/object-assign/license (100%) rename tools/{ => node_modules}/eslint/node_modules/object-assign/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/object-assign/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/once/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/once/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/once/once.js (100%) rename tools/{ => node_modules}/eslint/node_modules/once/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/onetime/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/onetime/license (100%) rename tools/{ => node_modules}/eslint/node_modules/onetime/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/onetime/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/optionator/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/optionator/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/optionator/lib/help.js (100%) rename tools/{ => node_modules}/eslint/node_modules/optionator/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/optionator/lib/util.js (100%) rename tools/{ => node_modules}/eslint/node_modules/optionator/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/os-tmpdir/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/os-tmpdir/license (100%) rename tools/{ => node_modules}/eslint/node_modules/os-tmpdir/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/os-tmpdir/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/parse-entities/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/parse-entities/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/parse-entities/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/parse-entities/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-absolute/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-absolute/license (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-absolute/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-absolute/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-inside/LICENSE.txt (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-inside/lib/path-is-inside.js (100%) rename tools/{ => node_modules}/eslint/node_modules/path-is-inside/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pify/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/pify/license (100%) rename tools/{ => node_modules}/eslint/node_modules/pify/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pify/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie-promise/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie-promise/license (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie-promise/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie-promise/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie/license (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pinkie/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/pluralize/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/pluralize/Readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/pluralize/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pluralize/pluralize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/lib/Func.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/lib/List.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/lib/Num.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/lib/Obj.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/lib/Str.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/prelude-ls/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/process-nextick-args/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/process-nextick-args/license.md (100%) rename tools/{ => node_modules}/eslint/node_modules/process-nextick-args/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/process-nextick-args/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/progress/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/progress/Makefile (100%) rename tools/{ => node_modules}/eslint/node_modules/progress/Readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/progress/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/progress/lib/node-progress.js (100%) rename tools/{ => node_modules}/eslint/node_modules/progress/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pseudomap/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/pseudomap/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/pseudomap/map.js (100%) rename tools/{ => node_modules}/eslint/node_modules/pseudomap/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/pseudomap/pseudomap.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/GOVERNANCE.md (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/duplex-browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/duplex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/_stream_duplex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/_stream_passthrough.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/_stream_readable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/_stream_transform.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/_stream_writable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/internal/streams/stream-browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/lib/internal/streams/stream.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/passthrough.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/readable-browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/readable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/transform.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/writable-browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/readable-stream/writable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/block-elements.json (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/decode.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/defaults.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/break.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/code-inline.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/delete.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/emphasis.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/escape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/link.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/strong.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/tag.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/locate/url.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/parse.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/parser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/set-options.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/break.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/definition.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/delete.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/escape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/html-block.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/link.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/list.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/newline.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/reference.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/strong.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/table.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/text.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/url.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenize/yaml.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/tokenizer.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/unescape.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/util/get-indentation.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/util/html.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/util/interrupt.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/util/normalize.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/lib/util/remove-indentation.js (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/remark-parse/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/repeat-string/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/repeat-string/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/repeat-string/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/repeat-string/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/replace-ext/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/replace-ext/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/replace-ext/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/replace-ext/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/require-uncached/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/require-uncached/license (100%) rename tools/{ => node_modules}/eslint/node_modules/require-uncached/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/require-uncached/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/resolve-from/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/resolve-from/license (100%) rename tools/{ => node_modules}/eslint/node_modules/resolve-from/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/resolve-from/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/restore-cursor/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/restore-cursor/license (100%) rename tools/{ => node_modules}/eslint/node_modules/restore-cursor/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/restore-cursor/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/rimraf/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/rimraf/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/rimraf/bin.js (100%) rename tools/{ => node_modules}/eslint/node_modules/rimraf/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/rimraf/rimraf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/run-async/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/run-async/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/run-async/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/run-async/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite-aggregates/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite-aggregates/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite/rx.lite.js (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite/rx.lite.map (100%) rename tools/{ => node_modules}/eslint/node_modules/rx-lite/rx.lite.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/safe-buffer/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/safe-buffer/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/safe-buffer/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/safe-buffer/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/semver/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/semver/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/semver/bin/semver (100%) rename tools/{ => node_modules}/eslint/node_modules/semver/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/semver/range.bnf (100%) rename tools/{ => node_modules}/eslint/node_modules/semver/semver.js (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-command/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-command/license (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-command/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-command/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-regex/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-regex/license (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-regex/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/shebang-regex/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/signal-exit/LICENSE.txt (100%) rename tools/{ => node_modules}/eslint/node_modules/signal-exit/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/signal-exit/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/signal-exit/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/signal-exit/signals.js (100%) rename tools/{ => node_modules}/eslint/node_modules/slice-ansi/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/slice-ansi/license (100%) rename tools/{ => node_modules}/eslint/node_modules/slice-ansi/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/slice-ansi/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js.map (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.map (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/dist/sprintf.min.js (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/dist/sprintf.min.js.map (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/dist/sprintf.min.map (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/src/angular-sprintf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/sprintf-js/src/sprintf.js (100%) rename tools/{ => node_modules}/eslint/node_modules/state-toggle/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/state-toggle/history.md (100%) rename tools/{ => node_modules}/eslint/node_modules/state-toggle/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/state-toggle/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/state-toggle/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/string-width/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/string-width/license (100%) rename tools/{ => node_modules}/eslint/node_modules/string-width/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/string-width/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/string_decoder/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/string_decoder/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/string_decoder/lib/string_decoder.js (100%) rename tools/{ => node_modules}/eslint/node_modules/string_decoder/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/license (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/node_modules/ansi-regex/license (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/node_modules/ansi-regex/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-ansi/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-json-comments/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-json-comments/license (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-json-comments/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/strip-json-comments/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/supports-color/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/supports-color/license (100%) rename tools/{ => node_modules}/eslint/node_modules/supports-color/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/supports-color/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/table/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/table/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/alignString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/alignTableData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/calculateCellHeight.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/calculateCellWidthIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/calculateMaximumColumnWidthIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/calculateRowHeightIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/createStream.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/drawBorder.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/drawRow.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/drawTable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/getBorderCharacters.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/makeConfig.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/makeStreamConfig.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/padTableData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/schemas/config.json (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/schemas/streamConfig.json (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/stringifyTableData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/table.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/truncateTableData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/validateConfig.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/validateStreamConfig.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/validateTableData.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/wrapString.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/dist/wrapWord.js (100%) rename tools/{ => node_modules}/eslint/node_modules/table/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/text-table/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/text-table/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/text-table/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/text-table/readme.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/through/LICENSE.APACHE2 (100%) rename tools/{ => node_modules}/eslint/node_modules/through/LICENSE.MIT (100%) rename tools/{ => node_modules}/eslint/node_modules/through/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/through/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/through/readme.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/trim-trailing-lines/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/trim-trailing-lines/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/trim-trailing-lines/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/trim-trailing-lines/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/trim/Makefile (100%) rename tools/{ => node_modules}/eslint/node_modules/trim/Readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/trim/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/trim/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/trough/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/trough/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/trough/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/trough/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/tryit/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/tryit/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/tryit/tryit.js (100%) rename tools/{ => node_modules}/eslint/node_modules/type-check/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/type-check/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/type-check/lib/check.js (100%) rename tools/{ => node_modules}/eslint/node_modules/type-check/lib/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/type-check/lib/parse-type.js (100%) rename tools/{ => node_modules}/eslint/node_modules/type-check/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/typedarray/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/typedarray/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/typedarray/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/typedarray/readme.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/unherit/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/unherit/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/unherit/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/unherit/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/unified/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/unified/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/unified/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/unified/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-is/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-is/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-is/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-is/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-remove-position/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-remove-position/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-remove-position/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-remove-position/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-stringify-position/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-stringify-position/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-stringify-position/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-stringify-position/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-visit/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-visit/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-visit/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/unist-util-visit/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/util-deprecate/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/util-deprecate/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/util-deprecate/browser.js (100%) rename tools/{ => node_modules}/eslint/node_modules/util-deprecate/node.js (100%) rename tools/{ => node_modules}/eslint/node_modules/util-deprecate/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-location/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-location/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-location/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-location/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-message/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-message/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-message/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile-message/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile/core.js (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/vfile/readme.md (100%) rename tools/{ => node_modules}/eslint/node_modules/which/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/which/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/which/bin/which (100%) rename tools/{ => node_modules}/eslint/node_modules/which/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/which/which.js (100%) rename tools/{ => node_modules}/eslint/node_modules/wordwrap/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/wordwrap/README.markdown (100%) rename tools/{ => node_modules}/eslint/node_modules/wordwrap/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/wordwrap/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/wrappy/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/wrappy/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/wrappy/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/wrappy/wrappy.js (100%) rename tools/{ => node_modules}/eslint/node_modules/write/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/write/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/write/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/write/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-function/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-function/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-function/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-function/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-string/LICENCE (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-string/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-string/index.js (100%) rename tools/{ => node_modules}/eslint/node_modules/x-is-string/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/xtend/LICENCE (100%) rename tools/{ => node_modules}/eslint/node_modules/xtend/Makefile (100%) rename tools/{ => node_modules}/eslint/node_modules/xtend/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/xtend/immutable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/xtend/mutable.js (100%) rename tools/{ => node_modules}/eslint/node_modules/xtend/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/yallist/LICENSE (100%) rename tools/{ => node_modules}/eslint/node_modules/yallist/README.md (100%) rename tools/{ => node_modules}/eslint/node_modules/yallist/iterator.js (100%) rename tools/{ => node_modules}/eslint/node_modules/yallist/package.json (100%) rename tools/{ => node_modules}/eslint/node_modules/yallist/yallist.js (100%) rename tools/{ => node_modules}/eslint/package.json (100%) diff --git a/.editorconfig b/.editorconfig index 1c1b4418547481..9eda3f95b66ab0 100644 --- a/.editorconfig +++ b/.editorconfig @@ -36,5 +36,5 @@ end_of_line = ignore trim_trailing_whitespace = ignore charset = ignore -[{test/fixtures,deps,tools/eslint,tools/gyp,tools/icu,tools/msvs}/**] +[{test/fixtures,deps,tools/node_modules,tools/gyp,tools/icu,tools/msvs}/**] insert_final_newline = false diff --git a/.eslintignore b/.eslintignore index 669c27ce89b57a..483dbbc7d27a72 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,7 +5,7 @@ test/addons/??_* test/es-module/test-esm-dynamic-import.js test/fixtures test/message/esm_display_syntax_error.mjs -tools/eslint +tools/node_modules tools/icu tools/remark-* node_modules diff --git a/.gitignore b/.gitignore index 40838bcc7fa8d7..0ff301ace3824d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .* !deps/**/.* !test/fixtures/**/.* -!tools/eslint/**/.* +!tools/node_modules/**/.* !tools/doc/node_modules/**/.* !.editorconfig !.eslintignore diff --git a/LICENSE b/LICENSE index 2dce83af369846..1a9cc28c00ccbb 100644 --- a/LICENSE +++ b/LICENSE @@ -1061,7 +1061,7 @@ The externally maintained libraries used by Node.js are: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ -- ESLint, located at tools/eslint, is licensed as follows: +- ESLint, located at tools/node_modules/eslint, is licensed as follows: """ Copyright JS Foundation and other contributors, https://js.foundation diff --git a/Makefile b/Makefile index 3763c78e916bb0..cca7eccfa10681 100644 --- a/Makefile +++ b/Makefile @@ -914,7 +914,7 @@ $(TARBALL): release-only $(NODE_EXE) doc $(RM) -r $(TARNAME)/deps/openssl/openssl/{doc,demos,test} $(RM) -r $(TARNAME)/deps/zlib/contrib # too big, unused $(RM) -r $(TARNAME)/.{editorconfig,git*,mailmap} - $(RM) -r $(TARNAME)/tools/{eslint,eslint-rules,osx-pkg.pmdoc,pkgsrc,remark-cli,remark-preset-lint-node} + $(RM) -r $(TARNAME)/tools/{eslint-rules,node_modules,osx-pkg.pmdoc,pkgsrc,remark-cli,remark-preset-lint-node} $(RM) -r $(TARNAME)/tools/{osx-*,license-builder.sh,cpplint.py} $(RM) -r $(TARNAME)/test*.tap find $(TARNAME)/ -name ".eslint*" -maxdepth 2 | xargs $(RM) @@ -1116,7 +1116,7 @@ lint-md: endif LINT_JS_TARGETS = benchmark doc lib test tools -LINT_JS_CMD = tools/eslint/bin/eslint.js --cache \ +LINT_JS_CMD = tools/node_modules/eslint/bin/eslint.js --cache \ --rulesdir=tools/eslint-rules --ext=.js,.mjs,.md \ $(LINT_JS_TARGETS) @@ -1207,7 +1207,7 @@ cpplint: lint-cpp .PHONY: lint .PHONY: lint-ci -ifneq ("","$(wildcard tools/eslint/)") +ifneq ("","$(wildcard tools/node_modules/eslint/)") lint: ## Run JS, C++, MD and doc linters. @EXIT_STATUS=0 ; \ $(MAKE) lint-js || EXIT_STATUS=$$? ; \ diff --git a/doc/onboarding-extras.md b/doc/onboarding-extras.md index 9b00b2cecfcbb3..4d389376c98d20 100644 --- a/doc/onboarding-extras.md +++ b/doc/onboarding-extras.md @@ -2,45 +2,45 @@ ## Who to CC in issues -| Subsystem | Maintainers | -| --- | --- | -| `benchmark/*` | @nodejs/benchmarking, @mscdex | -| `bootstrap_node.js` | @fishrock123 | -| `doc/*`, `*.md` | @nodejs/documentation | -| `lib/assert` | @nodejs/testing | -| `lib/async_hooks` | @nodejs/async\_hooks for bugs/reviews (+ @nodejs/diagnostics for API) | -| `lib/buffer` | @nodejs/buffer | -| `lib/child_process` | @bnoordhuis, @cjihrig | -| `lib/cluster` | @bnoordhuis, @cjihrig, @mcollina | -| `lib/{crypto,tls,https}` | @nodejs/crypto | -| `lib/dgram` | @cjihrig, @mcollina | -| `lib/domains` | @misterdjules | -| `lib/fs`, `src/{fs,file}` | @nodejs/fs | -| `lib/{_}http{*}` | @nodejs/http | -| `lib/inspector.js`, `src/inspector_*` | @nodejs/v8-inspector | -| `lib/internal/url`, `src/node_url` | @nodejs/url | -| `lib/net` | @bnoordhuis, @indutny, @nodejs/streams | -| `lib/repl` | @addaleax, @fishrock123 | -| `lib/{_}stream{*}` | @nodejs/streams | -| `lib/timers` | @fishrock123, @misterdjules | -| `lib/util` | @bnoordhuis, @cjihrig, @evanlucas | -| `lib/zlib` | @addaleax, @bnoordhuis, @indutny | -| `src/async-wrap.*` | @nodejs/async\_hooks | -| `src/node_api.*` | @nodejs/n-api | -| `src/node_crypto.*` | @nodejs/crypto | -| `test/*` | @nodejs/testing | -| `tools/eslint`, `.eslintrc` | @not-an-aardvark, @silverwind, @trott | -| build | @nodejs/build | -| ES Modules | @bmeck, @Fishrock123, @guybedford, @MylesBorins, @targos | -| GYP | @nodejs/gyp | -| performance | @nodejs/performance | -| platform specific | @nodejs/platform-{aix,arm,freebsd,macos,ppc,smartos,s390,windows} | -| python code | @nodejs/python | -| upgrading c-ares | @jbergstroem | -| upgrading http-parser | @jbergstroem, @nodejs/http | -| upgrading libuv | @saghul | -| upgrading npm | @fishrock123, @MylesBorins | -| upgrading V8 | @nodejs/v8, @nodejs/post-mortem | +| Subsystem | Maintainers | +| --- | --- | +| `benchmark/*` | @nodejs/benchmarking, @mscdex | +| `bootstrap_node.js` | @fishrock123 | +| `doc/*`, `*.md` | @nodejs/documentation | +| `lib/assert` | @nodejs/testing | +| `lib/async_hooks` | @nodejs/async\_hooks for bugs/reviews (+ @nodejs/diagnostics for API) | +| `lib/buffer` | @nodejs/buffer | +| `lib/child_process` | @bnoordhuis, @cjihrig | +| `lib/cluster` | @bnoordhuis, @cjihrig, @mcollina | +| `lib/{crypto,tls,https}` | @nodejs/crypto | +| `lib/dgram` | @cjihrig, @mcollina | +| `lib/domains` | @misterdjules | +| `lib/fs`, `src/{fs,file}` | @nodejs/fs | +| `lib/{_}http{*}` | @nodejs/http | +| `lib/inspector.js`, `src/inspector_*` | @nodejs/v8-inspector | +| `lib/internal/url`, `src/node_url` | @nodejs/url | +| `lib/net` | @bnoordhuis, @indutny, @nodejs/streams | +| `lib/repl` | @addaleax, @fishrock123 | +| `lib/{_}stream{*}` | @nodejs/streams | +| `lib/timers` | @fishrock123, @misterdjules | +| `lib/util` | @bnoordhuis, @cjihrig, @evanlucas | +| `lib/zlib` | @addaleax, @bnoordhuis, @indutny | +| `src/async-wrap.*` | @nodejs/async\_hooks | +| `src/node_api.*` | @nodejs/n-api | +| `src/node_crypto.*` | @nodejs/crypto | +| `test/*` | @nodejs/testing | +| `tools/node_modules/eslint`, `.eslintrc` | @not-an-aardvark, @silverwind, @trott | +| build | @nodejs/build | +| ES Modules | @bmeck, @Fishrock123, @guybedford, @MylesBorins, @targos | +| GYP | @nodejs/gyp | +| performance | @nodejs/performance | +| platform specific | @nodejs/platform-{aix,arm,freebsd,macos,ppc,smartos,s390,windows} | +| python code | @nodejs/python | +| upgrading c-ares | @jbergstroem | +| upgrading http-parser | @jbergstroem, @nodejs/http | +| upgrading libuv | @saghul | +| upgrading npm | @fishrock123, @MylesBorins | +| upgrading V8 | @nodejs/v8, @nodejs/post-mortem | When things need extra attention, are controversial, or `semver-major`: @nodejs/tsc diff --git a/test/doctool/test-doctool-html.js b/test/doctool/test-doctool-html.js index 40d7b54f59320a..bd1c5ddecac321 100644 --- a/test/doctool/test-doctool-html.js +++ b/test/doctool/test-doctool-html.js @@ -1,9 +1,9 @@ 'use strict'; const common = require('../common'); -// The doctool currently uses js-yaml from the tool/eslint/ tree. +// The doctool currently uses js-yaml from the tool/node_modules/eslint/ tree. try { - require('../../tools/eslint/node_modules/js-yaml'); + require('../../tools/node_modules/eslint/node_modules/js-yaml'); } catch (e) { common.skip('missing js-yaml (eslint not present)'); } diff --git a/test/parallel/test-eslint-alphabetize-errors.js b/test/parallel/test-eslint-alphabetize-errors.js index 83c73fc78c8486..220f09d54eb69e 100644 --- a/test/parallel/test-eslint-alphabetize-errors.js +++ b/test/parallel/test-eslint-alphabetize-errors.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/alphabetize-errors'); new RuleTester().run('alphabetize-errors', rule, { diff --git a/test/parallel/test-eslint-buffer-constructor.js b/test/parallel/test-eslint-buffer-constructor.js index dfff1374c1b9c0..6b9254f9379b06 100644 --- a/test/parallel/test-eslint-buffer-constructor.js +++ b/test/parallel/test-eslint-buffer-constructor.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/buffer-constructor'); const message = 'Use of the Buffer() constructor has been deprecated. ' + diff --git a/test/parallel/test-eslint-crypto-check.js b/test/parallel/test-eslint-crypto-check.js index 102560e78ecee7..325fb7a057c98b 100644 --- a/test/parallel/test-eslint-crypto-check.js +++ b/test/parallel/test-eslint-crypto-check.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/crypto-check'); const message = 'Please add a hasCrypto check to allow this test to be ' + diff --git a/test/parallel/test-eslint-documented-errors.js b/test/parallel/test-eslint-documented-errors.js index 94e81ff3abaecc..50c92acd151215 100644 --- a/test/parallel/test-eslint-documented-errors.js +++ b/test/parallel/test-eslint-documented-errors.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/documented-errors'); const invalidCode = 'UNDOCUMENTED ERROR CODE'; diff --git a/test/parallel/test-eslint-inspector-check.js b/test/parallel/test-eslint-inspector-check.js index 20774284abccdd..ab8314b63818c7 100644 --- a/test/parallel/test-eslint-inspector-check.js +++ b/test/parallel/test-eslint-inspector-check.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/inspector-check'); const message = 'Please add a skipIfInspectorDisabled() call to allow this ' + diff --git a/test/parallel/test-eslint-lowercase-name-for-primitive.js b/test/parallel/test-eslint-lowercase-name-for-primitive.js index 3eb0d838346865..3449095d6639f9 100644 --- a/test/parallel/test-eslint-lowercase-name-for-primitive.js +++ b/test/parallel/test-eslint-lowercase-name-for-primitive.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/lowercase-name-for-primitive'); const valid = [ diff --git a/test/parallel/test-eslint-no-let-in-for-declaration.js b/test/parallel/test-eslint-no-let-in-for-declaration.js index c3c1e17a729252..ea5b681854621c 100644 --- a/test/parallel/test-eslint-no-let-in-for-declaration.js +++ b/test/parallel/test-eslint-no-let-in-for-declaration.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/no-let-in-for-declaration'); const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); diff --git a/test/parallel/test-eslint-no-unescaped-regexp-dot.js b/test/parallel/test-eslint-no-unescaped-regexp-dot.js index 5dbd355e71f47d..38a9f3efcc6ff5 100644 --- a/test/parallel/test-eslint-no-unescaped-regexp-dot.js +++ b/test/parallel/test-eslint-no-unescaped-regexp-dot.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/no-unescaped-regexp-dot'); new RuleTester().run('no-unescaped-regexp-dot', rule, { diff --git a/test/parallel/test-eslint-number-isnan.js b/test/parallel/test-eslint-number-isnan.js index deeac48bcccb68..9f6af407e469a6 100644 --- a/test/parallel/test-eslint-number-isnan.js +++ b/test/parallel/test-eslint-number-isnan.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/number-isnan'); const message = 'Please use Number.isNaN instead of the global isNaN function'; diff --git a/test/parallel/test-eslint-prefer-assert-iferror.js b/test/parallel/test-eslint-prefer-assert-iferror.js index 00df47975b8007..6e577b1fc35ace 100644 --- a/test/parallel/test-eslint-prefer-assert-iferror.js +++ b/test/parallel/test-eslint-prefer-assert-iferror.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/prefer-assert-iferror'); new RuleTester().run('prefer-assert-iferror', rule, { diff --git a/test/parallel/test-eslint-prefer-assert-methods.js b/test/parallel/test-eslint-prefer-assert-methods.js index 2129c083224f0e..57596132d88ec3 100644 --- a/test/parallel/test-eslint-prefer-assert-methods.js +++ b/test/parallel/test-eslint-prefer-assert-methods.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/prefer-assert-methods'); new RuleTester().run('prefer-assert-methods', rule, { diff --git a/test/parallel/test-eslint-prefer-common-expectserror.js b/test/parallel/test-eslint-prefer-common-expectserror.js index 16ce66bc24e644..1fe7b1bc9761ac 100644 --- a/test/parallel/test-eslint-prefer-common-expectserror.js +++ b/test/parallel/test-eslint-prefer-common-expectserror.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/prefer-common-expectserror'); const message = 'Please use common.expectsError(fn, err) instead of ' + diff --git a/test/parallel/test-eslint-prefer-common-mustnotcall.js b/test/parallel/test-eslint-prefer-common-mustnotcall.js index 848e762ce38ff2..c2e298cde2153c 100644 --- a/test/parallel/test-eslint-prefer-common-mustnotcall.js +++ b/test/parallel/test-eslint-prefer-common-mustnotcall.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/prefer-common-mustnotcall'); const message = 'Please use common.mustNotCall(msg) instead of ' + diff --git a/test/parallel/test-eslint-prefer-util-format-errors.js b/test/parallel/test-eslint-prefer-util-format-errors.js index 265a0752c50d43..7ccbb8a1335dfa 100644 --- a/test/parallel/test-eslint-prefer-util-format-errors.js +++ b/test/parallel/test-eslint-prefer-util-format-errors.js @@ -4,7 +4,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/prefer-util-format-errors'); new RuleTester({ parserOptions: { ecmaVersion: 6 } }) diff --git a/test/parallel/test-eslint-require-buffer.js b/test/parallel/test-eslint-require-buffer.js index 282f983c782d4e..23bf7c0afa05dd 100644 --- a/test/parallel/test-eslint-require-buffer.js +++ b/test/parallel/test-eslint-require-buffer.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/require-buffer'); const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 }, diff --git a/test/parallel/test-eslint-required-modules.js b/test/parallel/test-eslint-required-modules.js index 8203cd0d0a0317..1ef96521ec7037 100644 --- a/test/parallel/test-eslint-required-modules.js +++ b/test/parallel/test-eslint-required-modules.js @@ -2,7 +2,7 @@ require('../common'); -const RuleTester = require('../../tools/eslint').RuleTester; +const RuleTester = require('../../tools/node_modules/eslint').RuleTester; const rule = require('../../tools/eslint-rules/required-modules'); new RuleTester().run('required-modules', rule, { diff --git a/tools/doc/node_modules/js-yaml/index.js b/tools/doc/node_modules/js-yaml/index.js index 620bc293ffe032..476b3a0d487c4a 100644 --- a/tools/doc/node_modules/js-yaml/index.js +++ b/tools/doc/node_modules/js-yaml/index.js @@ -7,6 +7,7 @@ const path = require('path'); const realJSYaml = path.resolve( __dirname, '..', '..', '..', // tools/ + 'node_modules', 'eslint', 'node_modules', 'js-yaml' diff --git a/tools/license-builder.sh b/tools/license-builder.sh index 242d86cab90751..47f0b2fdd49034 100755 --- a/tools/license-builder.sh +++ b/tools/license-builder.sh @@ -77,7 +77,7 @@ addlicense "marked" "tools/doc/node_modules/marked" \ # Testing tools addlicense "cpplint.py" "tools/cpplint.py" \ "$(sed -e '/^$/,$d' -e 's/^#$//' -e 's/^# //' ${rootdir}/tools/cpplint.py | tail -n +3)" -addlicense "ESLint" "tools/eslint" "$(cat ${rootdir}/tools/eslint/LICENSE)" +addlicense "ESLint" "tools/node_modules/eslint" "$(cat ${rootdir}/tools/node_modules/eslint/LICENSE)" addlicense "gtest" "deps/gtest" "$(cat ${rootdir}/deps/gtest/LICENSE)" # nghttp2 diff --git a/tools/lint-js.js b/tools/lint-js.js index a22fb9439c7e06..69e5dd10e1a23a 100644 --- a/tools/lint-js.js +++ b/tools/lint-js.js @@ -10,8 +10,8 @@ const path = require('path'); const fs = require('fs'); const totalCPUs = require('os').cpus().length; -const CLIEngine = require('./eslint').CLIEngine; -const glob = require('./eslint/node_modules/glob'); +const CLIEngine = require('eslint').CLIEngine; +const glob = require('eslint/node_modules/glob'); const cliOptions = { rulePaths: rulesDirs, diff --git a/tools/eslint/LICENSE b/tools/node_modules/eslint/LICENSE similarity index 100% rename from tools/eslint/LICENSE rename to tools/node_modules/eslint/LICENSE diff --git a/tools/eslint/README.md b/tools/node_modules/eslint/README.md similarity index 100% rename from tools/eslint/README.md rename to tools/node_modules/eslint/README.md diff --git a/tools/eslint/bin/eslint.js b/tools/node_modules/eslint/bin/eslint.js similarity index 100% rename from tools/eslint/bin/eslint.js rename to tools/node_modules/eslint/bin/eslint.js diff --git a/tools/eslint/conf/blank-script.json b/tools/node_modules/eslint/conf/blank-script.json similarity index 100% rename from tools/eslint/conf/blank-script.json rename to tools/node_modules/eslint/conf/blank-script.json diff --git a/tools/eslint/conf/category-list.json b/tools/node_modules/eslint/conf/category-list.json similarity index 100% rename from tools/eslint/conf/category-list.json rename to tools/node_modules/eslint/conf/category-list.json diff --git a/tools/eslint/conf/config-schema.js b/tools/node_modules/eslint/conf/config-schema.js similarity index 100% rename from tools/eslint/conf/config-schema.js rename to tools/node_modules/eslint/conf/config-schema.js diff --git a/tools/eslint/conf/default-cli-options.js b/tools/node_modules/eslint/conf/default-cli-options.js similarity index 100% rename from tools/eslint/conf/default-cli-options.js rename to tools/node_modules/eslint/conf/default-cli-options.js diff --git a/tools/eslint/conf/default-config-options.js b/tools/node_modules/eslint/conf/default-config-options.js similarity index 100% rename from tools/eslint/conf/default-config-options.js rename to tools/node_modules/eslint/conf/default-config-options.js diff --git a/tools/eslint/conf/environments.js b/tools/node_modules/eslint/conf/environments.js similarity index 100% rename from tools/eslint/conf/environments.js rename to tools/node_modules/eslint/conf/environments.js diff --git a/tools/eslint/conf/eslint-all.js b/tools/node_modules/eslint/conf/eslint-all.js similarity index 100% rename from tools/eslint/conf/eslint-all.js rename to tools/node_modules/eslint/conf/eslint-all.js diff --git a/tools/eslint/conf/eslint-recommended.js b/tools/node_modules/eslint/conf/eslint-recommended.js similarity index 100% rename from tools/eslint/conf/eslint-recommended.js rename to tools/node_modules/eslint/conf/eslint-recommended.js diff --git a/tools/eslint/conf/replacements.json b/tools/node_modules/eslint/conf/replacements.json similarity index 100% rename from tools/eslint/conf/replacements.json rename to tools/node_modules/eslint/conf/replacements.json diff --git a/tools/eslint/lib/api.js b/tools/node_modules/eslint/lib/api.js similarity index 100% rename from tools/eslint/lib/api.js rename to tools/node_modules/eslint/lib/api.js diff --git a/tools/eslint/lib/ast-utils.js b/tools/node_modules/eslint/lib/ast-utils.js similarity index 100% rename from tools/eslint/lib/ast-utils.js rename to tools/node_modules/eslint/lib/ast-utils.js diff --git a/tools/eslint/lib/cli-engine.js b/tools/node_modules/eslint/lib/cli-engine.js similarity index 100% rename from tools/eslint/lib/cli-engine.js rename to tools/node_modules/eslint/lib/cli-engine.js diff --git a/tools/eslint/lib/cli.js b/tools/node_modules/eslint/lib/cli.js similarity index 100% rename from tools/eslint/lib/cli.js rename to tools/node_modules/eslint/lib/cli.js diff --git a/tools/eslint/lib/code-path-analysis/code-path-analyzer.js b/tools/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/code-path-analyzer.js rename to tools/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js diff --git a/tools/eslint/lib/code-path-analysis/code-path-segment.js b/tools/node_modules/eslint/lib/code-path-analysis/code-path-segment.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/code-path-segment.js rename to tools/node_modules/eslint/lib/code-path-analysis/code-path-segment.js diff --git a/tools/eslint/lib/code-path-analysis/code-path-state.js b/tools/node_modules/eslint/lib/code-path-analysis/code-path-state.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/code-path-state.js rename to tools/node_modules/eslint/lib/code-path-analysis/code-path-state.js diff --git a/tools/eslint/lib/code-path-analysis/code-path.js b/tools/node_modules/eslint/lib/code-path-analysis/code-path.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/code-path.js rename to tools/node_modules/eslint/lib/code-path-analysis/code-path.js diff --git a/tools/eslint/lib/code-path-analysis/debug-helpers.js b/tools/node_modules/eslint/lib/code-path-analysis/debug-helpers.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/debug-helpers.js rename to tools/node_modules/eslint/lib/code-path-analysis/debug-helpers.js diff --git a/tools/eslint/lib/code-path-analysis/fork-context.js b/tools/node_modules/eslint/lib/code-path-analysis/fork-context.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/fork-context.js rename to tools/node_modules/eslint/lib/code-path-analysis/fork-context.js diff --git a/tools/eslint/lib/code-path-analysis/id-generator.js b/tools/node_modules/eslint/lib/code-path-analysis/id-generator.js similarity index 100% rename from tools/eslint/lib/code-path-analysis/id-generator.js rename to tools/node_modules/eslint/lib/code-path-analysis/id-generator.js diff --git a/tools/eslint/lib/config.js b/tools/node_modules/eslint/lib/config.js similarity index 100% rename from tools/eslint/lib/config.js rename to tools/node_modules/eslint/lib/config.js diff --git a/tools/eslint/lib/config/autoconfig.js b/tools/node_modules/eslint/lib/config/autoconfig.js similarity index 100% rename from tools/eslint/lib/config/autoconfig.js rename to tools/node_modules/eslint/lib/config/autoconfig.js diff --git a/tools/eslint/lib/config/config-cache.js b/tools/node_modules/eslint/lib/config/config-cache.js similarity index 100% rename from tools/eslint/lib/config/config-cache.js rename to tools/node_modules/eslint/lib/config/config-cache.js diff --git a/tools/eslint/lib/config/config-file.js b/tools/node_modules/eslint/lib/config/config-file.js similarity index 100% rename from tools/eslint/lib/config/config-file.js rename to tools/node_modules/eslint/lib/config/config-file.js diff --git a/tools/eslint/lib/config/config-initializer.js b/tools/node_modules/eslint/lib/config/config-initializer.js similarity index 100% rename from tools/eslint/lib/config/config-initializer.js rename to tools/node_modules/eslint/lib/config/config-initializer.js diff --git a/tools/eslint/lib/config/config-ops.js b/tools/node_modules/eslint/lib/config/config-ops.js similarity index 100% rename from tools/eslint/lib/config/config-ops.js rename to tools/node_modules/eslint/lib/config/config-ops.js diff --git a/tools/eslint/lib/config/config-rule.js b/tools/node_modules/eslint/lib/config/config-rule.js similarity index 100% rename from tools/eslint/lib/config/config-rule.js rename to tools/node_modules/eslint/lib/config/config-rule.js diff --git a/tools/eslint/lib/config/config-validator.js b/tools/node_modules/eslint/lib/config/config-validator.js similarity index 100% rename from tools/eslint/lib/config/config-validator.js rename to tools/node_modules/eslint/lib/config/config-validator.js diff --git a/tools/eslint/lib/config/environments.js b/tools/node_modules/eslint/lib/config/environments.js similarity index 100% rename from tools/eslint/lib/config/environments.js rename to tools/node_modules/eslint/lib/config/environments.js diff --git a/tools/eslint/lib/config/plugins.js b/tools/node_modules/eslint/lib/config/plugins.js similarity index 100% rename from tools/eslint/lib/config/plugins.js rename to tools/node_modules/eslint/lib/config/plugins.js diff --git a/tools/eslint/lib/file-finder.js b/tools/node_modules/eslint/lib/file-finder.js similarity index 100% rename from tools/eslint/lib/file-finder.js rename to tools/node_modules/eslint/lib/file-finder.js diff --git a/tools/eslint/lib/formatters/checkstyle.js b/tools/node_modules/eslint/lib/formatters/checkstyle.js similarity index 100% rename from tools/eslint/lib/formatters/checkstyle.js rename to tools/node_modules/eslint/lib/formatters/checkstyle.js diff --git a/tools/eslint/lib/formatters/codeframe.js b/tools/node_modules/eslint/lib/formatters/codeframe.js similarity index 100% rename from tools/eslint/lib/formatters/codeframe.js rename to tools/node_modules/eslint/lib/formatters/codeframe.js diff --git a/tools/eslint/lib/formatters/compact.js b/tools/node_modules/eslint/lib/formatters/compact.js similarity index 100% rename from tools/eslint/lib/formatters/compact.js rename to tools/node_modules/eslint/lib/formatters/compact.js diff --git a/tools/eslint/lib/formatters/html-template-message.html b/tools/node_modules/eslint/lib/formatters/html-template-message.html similarity index 100% rename from tools/eslint/lib/formatters/html-template-message.html rename to tools/node_modules/eslint/lib/formatters/html-template-message.html diff --git a/tools/eslint/lib/formatters/html-template-page.html b/tools/node_modules/eslint/lib/formatters/html-template-page.html similarity index 100% rename from tools/eslint/lib/formatters/html-template-page.html rename to tools/node_modules/eslint/lib/formatters/html-template-page.html diff --git a/tools/eslint/lib/formatters/html-template-result.html b/tools/node_modules/eslint/lib/formatters/html-template-result.html similarity index 100% rename from tools/eslint/lib/formatters/html-template-result.html rename to tools/node_modules/eslint/lib/formatters/html-template-result.html diff --git a/tools/eslint/lib/formatters/html.js b/tools/node_modules/eslint/lib/formatters/html.js similarity index 100% rename from tools/eslint/lib/formatters/html.js rename to tools/node_modules/eslint/lib/formatters/html.js diff --git a/tools/eslint/lib/formatters/jslint-xml.js b/tools/node_modules/eslint/lib/formatters/jslint-xml.js similarity index 100% rename from tools/eslint/lib/formatters/jslint-xml.js rename to tools/node_modules/eslint/lib/formatters/jslint-xml.js diff --git a/tools/eslint/lib/formatters/json.js b/tools/node_modules/eslint/lib/formatters/json.js similarity index 100% rename from tools/eslint/lib/formatters/json.js rename to tools/node_modules/eslint/lib/formatters/json.js diff --git a/tools/eslint/lib/formatters/junit.js b/tools/node_modules/eslint/lib/formatters/junit.js similarity index 100% rename from tools/eslint/lib/formatters/junit.js rename to tools/node_modules/eslint/lib/formatters/junit.js diff --git a/tools/eslint/lib/formatters/stylish.js b/tools/node_modules/eslint/lib/formatters/stylish.js similarity index 100% rename from tools/eslint/lib/formatters/stylish.js rename to tools/node_modules/eslint/lib/formatters/stylish.js diff --git a/tools/eslint/lib/formatters/table.js b/tools/node_modules/eslint/lib/formatters/table.js similarity index 100% rename from tools/eslint/lib/formatters/table.js rename to tools/node_modules/eslint/lib/formatters/table.js diff --git a/tools/eslint/lib/formatters/tap.js b/tools/node_modules/eslint/lib/formatters/tap.js similarity index 100% rename from tools/eslint/lib/formatters/tap.js rename to tools/node_modules/eslint/lib/formatters/tap.js diff --git a/tools/eslint/lib/formatters/unix.js b/tools/node_modules/eslint/lib/formatters/unix.js similarity index 100% rename from tools/eslint/lib/formatters/unix.js rename to tools/node_modules/eslint/lib/formatters/unix.js diff --git a/tools/eslint/lib/formatters/visualstudio.js b/tools/node_modules/eslint/lib/formatters/visualstudio.js similarity index 100% rename from tools/eslint/lib/formatters/visualstudio.js rename to tools/node_modules/eslint/lib/formatters/visualstudio.js diff --git a/tools/eslint/lib/ignored-paths.js b/tools/node_modules/eslint/lib/ignored-paths.js similarity index 100% rename from tools/eslint/lib/ignored-paths.js rename to tools/node_modules/eslint/lib/ignored-paths.js diff --git a/tools/eslint/lib/linter.js b/tools/node_modules/eslint/lib/linter.js similarity index 100% rename from tools/eslint/lib/linter.js rename to tools/node_modules/eslint/lib/linter.js diff --git a/tools/eslint/lib/load-rules.js b/tools/node_modules/eslint/lib/load-rules.js similarity index 100% rename from tools/eslint/lib/load-rules.js rename to tools/node_modules/eslint/lib/load-rules.js diff --git a/tools/eslint/lib/logging.js b/tools/node_modules/eslint/lib/logging.js similarity index 100% rename from tools/eslint/lib/logging.js rename to tools/node_modules/eslint/lib/logging.js diff --git a/tools/eslint/lib/options.js b/tools/node_modules/eslint/lib/options.js similarity index 100% rename from tools/eslint/lib/options.js rename to tools/node_modules/eslint/lib/options.js diff --git a/tools/eslint/lib/report-translator.js b/tools/node_modules/eslint/lib/report-translator.js similarity index 100% rename from tools/eslint/lib/report-translator.js rename to tools/node_modules/eslint/lib/report-translator.js diff --git a/tools/eslint/lib/rules.js b/tools/node_modules/eslint/lib/rules.js similarity index 100% rename from tools/eslint/lib/rules.js rename to tools/node_modules/eslint/lib/rules.js diff --git a/tools/eslint/lib/rules/.eslintrc.yml b/tools/node_modules/eslint/lib/rules/.eslintrc.yml similarity index 100% rename from tools/eslint/lib/rules/.eslintrc.yml rename to tools/node_modules/eslint/lib/rules/.eslintrc.yml diff --git a/tools/eslint/lib/rules/accessor-pairs.js b/tools/node_modules/eslint/lib/rules/accessor-pairs.js similarity index 100% rename from tools/eslint/lib/rules/accessor-pairs.js rename to tools/node_modules/eslint/lib/rules/accessor-pairs.js diff --git a/tools/eslint/lib/rules/array-bracket-newline.js b/tools/node_modules/eslint/lib/rules/array-bracket-newline.js similarity index 100% rename from tools/eslint/lib/rules/array-bracket-newline.js rename to tools/node_modules/eslint/lib/rules/array-bracket-newline.js diff --git a/tools/eslint/lib/rules/array-bracket-spacing.js b/tools/node_modules/eslint/lib/rules/array-bracket-spacing.js similarity index 100% rename from tools/eslint/lib/rules/array-bracket-spacing.js rename to tools/node_modules/eslint/lib/rules/array-bracket-spacing.js diff --git a/tools/eslint/lib/rules/array-callback-return.js b/tools/node_modules/eslint/lib/rules/array-callback-return.js similarity index 100% rename from tools/eslint/lib/rules/array-callback-return.js rename to tools/node_modules/eslint/lib/rules/array-callback-return.js diff --git a/tools/eslint/lib/rules/array-element-newline.js b/tools/node_modules/eslint/lib/rules/array-element-newline.js similarity index 100% rename from tools/eslint/lib/rules/array-element-newline.js rename to tools/node_modules/eslint/lib/rules/array-element-newline.js diff --git a/tools/eslint/lib/rules/arrow-body-style.js b/tools/node_modules/eslint/lib/rules/arrow-body-style.js similarity index 100% rename from tools/eslint/lib/rules/arrow-body-style.js rename to tools/node_modules/eslint/lib/rules/arrow-body-style.js diff --git a/tools/eslint/lib/rules/arrow-parens.js b/tools/node_modules/eslint/lib/rules/arrow-parens.js similarity index 100% rename from tools/eslint/lib/rules/arrow-parens.js rename to tools/node_modules/eslint/lib/rules/arrow-parens.js diff --git a/tools/eslint/lib/rules/arrow-spacing.js b/tools/node_modules/eslint/lib/rules/arrow-spacing.js similarity index 100% rename from tools/eslint/lib/rules/arrow-spacing.js rename to tools/node_modules/eslint/lib/rules/arrow-spacing.js diff --git a/tools/eslint/lib/rules/block-scoped-var.js b/tools/node_modules/eslint/lib/rules/block-scoped-var.js similarity index 100% rename from tools/eslint/lib/rules/block-scoped-var.js rename to tools/node_modules/eslint/lib/rules/block-scoped-var.js diff --git a/tools/eslint/lib/rules/block-spacing.js b/tools/node_modules/eslint/lib/rules/block-spacing.js similarity index 100% rename from tools/eslint/lib/rules/block-spacing.js rename to tools/node_modules/eslint/lib/rules/block-spacing.js diff --git a/tools/eslint/lib/rules/brace-style.js b/tools/node_modules/eslint/lib/rules/brace-style.js similarity index 100% rename from tools/eslint/lib/rules/brace-style.js rename to tools/node_modules/eslint/lib/rules/brace-style.js diff --git a/tools/eslint/lib/rules/callback-return.js b/tools/node_modules/eslint/lib/rules/callback-return.js similarity index 100% rename from tools/eslint/lib/rules/callback-return.js rename to tools/node_modules/eslint/lib/rules/callback-return.js diff --git a/tools/eslint/lib/rules/camelcase.js b/tools/node_modules/eslint/lib/rules/camelcase.js similarity index 100% rename from tools/eslint/lib/rules/camelcase.js rename to tools/node_modules/eslint/lib/rules/camelcase.js diff --git a/tools/eslint/lib/rules/capitalized-comments.js b/tools/node_modules/eslint/lib/rules/capitalized-comments.js similarity index 100% rename from tools/eslint/lib/rules/capitalized-comments.js rename to tools/node_modules/eslint/lib/rules/capitalized-comments.js diff --git a/tools/eslint/lib/rules/class-methods-use-this.js b/tools/node_modules/eslint/lib/rules/class-methods-use-this.js similarity index 100% rename from tools/eslint/lib/rules/class-methods-use-this.js rename to tools/node_modules/eslint/lib/rules/class-methods-use-this.js diff --git a/tools/eslint/lib/rules/comma-dangle.js b/tools/node_modules/eslint/lib/rules/comma-dangle.js similarity index 100% rename from tools/eslint/lib/rules/comma-dangle.js rename to tools/node_modules/eslint/lib/rules/comma-dangle.js diff --git a/tools/eslint/lib/rules/comma-spacing.js b/tools/node_modules/eslint/lib/rules/comma-spacing.js similarity index 100% rename from tools/eslint/lib/rules/comma-spacing.js rename to tools/node_modules/eslint/lib/rules/comma-spacing.js diff --git a/tools/eslint/lib/rules/comma-style.js b/tools/node_modules/eslint/lib/rules/comma-style.js similarity index 100% rename from tools/eslint/lib/rules/comma-style.js rename to tools/node_modules/eslint/lib/rules/comma-style.js diff --git a/tools/eslint/lib/rules/complexity.js b/tools/node_modules/eslint/lib/rules/complexity.js similarity index 100% rename from tools/eslint/lib/rules/complexity.js rename to tools/node_modules/eslint/lib/rules/complexity.js diff --git a/tools/eslint/lib/rules/computed-property-spacing.js b/tools/node_modules/eslint/lib/rules/computed-property-spacing.js similarity index 100% rename from tools/eslint/lib/rules/computed-property-spacing.js rename to tools/node_modules/eslint/lib/rules/computed-property-spacing.js diff --git a/tools/eslint/lib/rules/consistent-return.js b/tools/node_modules/eslint/lib/rules/consistent-return.js similarity index 100% rename from tools/eslint/lib/rules/consistent-return.js rename to tools/node_modules/eslint/lib/rules/consistent-return.js diff --git a/tools/eslint/lib/rules/consistent-this.js b/tools/node_modules/eslint/lib/rules/consistent-this.js similarity index 100% rename from tools/eslint/lib/rules/consistent-this.js rename to tools/node_modules/eslint/lib/rules/consistent-this.js diff --git a/tools/eslint/lib/rules/constructor-super.js b/tools/node_modules/eslint/lib/rules/constructor-super.js similarity index 100% rename from tools/eslint/lib/rules/constructor-super.js rename to tools/node_modules/eslint/lib/rules/constructor-super.js diff --git a/tools/eslint/lib/rules/curly.js b/tools/node_modules/eslint/lib/rules/curly.js similarity index 100% rename from tools/eslint/lib/rules/curly.js rename to tools/node_modules/eslint/lib/rules/curly.js diff --git a/tools/eslint/lib/rules/default-case.js b/tools/node_modules/eslint/lib/rules/default-case.js similarity index 100% rename from tools/eslint/lib/rules/default-case.js rename to tools/node_modules/eslint/lib/rules/default-case.js diff --git a/tools/eslint/lib/rules/dot-location.js b/tools/node_modules/eslint/lib/rules/dot-location.js similarity index 100% rename from tools/eslint/lib/rules/dot-location.js rename to tools/node_modules/eslint/lib/rules/dot-location.js diff --git a/tools/eslint/lib/rules/dot-notation.js b/tools/node_modules/eslint/lib/rules/dot-notation.js similarity index 100% rename from tools/eslint/lib/rules/dot-notation.js rename to tools/node_modules/eslint/lib/rules/dot-notation.js diff --git a/tools/eslint/lib/rules/eol-last.js b/tools/node_modules/eslint/lib/rules/eol-last.js similarity index 100% rename from tools/eslint/lib/rules/eol-last.js rename to tools/node_modules/eslint/lib/rules/eol-last.js diff --git a/tools/eslint/lib/rules/eqeqeq.js b/tools/node_modules/eslint/lib/rules/eqeqeq.js similarity index 100% rename from tools/eslint/lib/rules/eqeqeq.js rename to tools/node_modules/eslint/lib/rules/eqeqeq.js diff --git a/tools/eslint/lib/rules/for-direction.js b/tools/node_modules/eslint/lib/rules/for-direction.js similarity index 100% rename from tools/eslint/lib/rules/for-direction.js rename to tools/node_modules/eslint/lib/rules/for-direction.js diff --git a/tools/eslint/lib/rules/func-call-spacing.js b/tools/node_modules/eslint/lib/rules/func-call-spacing.js similarity index 100% rename from tools/eslint/lib/rules/func-call-spacing.js rename to tools/node_modules/eslint/lib/rules/func-call-spacing.js diff --git a/tools/eslint/lib/rules/func-name-matching.js b/tools/node_modules/eslint/lib/rules/func-name-matching.js similarity index 100% rename from tools/eslint/lib/rules/func-name-matching.js rename to tools/node_modules/eslint/lib/rules/func-name-matching.js diff --git a/tools/eslint/lib/rules/func-names.js b/tools/node_modules/eslint/lib/rules/func-names.js similarity index 100% rename from tools/eslint/lib/rules/func-names.js rename to tools/node_modules/eslint/lib/rules/func-names.js diff --git a/tools/eslint/lib/rules/func-style.js b/tools/node_modules/eslint/lib/rules/func-style.js similarity index 100% rename from tools/eslint/lib/rules/func-style.js rename to tools/node_modules/eslint/lib/rules/func-style.js diff --git a/tools/eslint/lib/rules/function-paren-newline.js b/tools/node_modules/eslint/lib/rules/function-paren-newline.js similarity index 100% rename from tools/eslint/lib/rules/function-paren-newline.js rename to tools/node_modules/eslint/lib/rules/function-paren-newline.js diff --git a/tools/eslint/lib/rules/generator-star-spacing.js b/tools/node_modules/eslint/lib/rules/generator-star-spacing.js similarity index 100% rename from tools/eslint/lib/rules/generator-star-spacing.js rename to tools/node_modules/eslint/lib/rules/generator-star-spacing.js diff --git a/tools/eslint/lib/rules/getter-return.js b/tools/node_modules/eslint/lib/rules/getter-return.js similarity index 100% rename from tools/eslint/lib/rules/getter-return.js rename to tools/node_modules/eslint/lib/rules/getter-return.js diff --git a/tools/eslint/lib/rules/global-require.js b/tools/node_modules/eslint/lib/rules/global-require.js similarity index 100% rename from tools/eslint/lib/rules/global-require.js rename to tools/node_modules/eslint/lib/rules/global-require.js diff --git a/tools/eslint/lib/rules/guard-for-in.js b/tools/node_modules/eslint/lib/rules/guard-for-in.js similarity index 100% rename from tools/eslint/lib/rules/guard-for-in.js rename to tools/node_modules/eslint/lib/rules/guard-for-in.js diff --git a/tools/eslint/lib/rules/handle-callback-err.js b/tools/node_modules/eslint/lib/rules/handle-callback-err.js similarity index 100% rename from tools/eslint/lib/rules/handle-callback-err.js rename to tools/node_modules/eslint/lib/rules/handle-callback-err.js diff --git a/tools/eslint/lib/rules/id-blacklist.js b/tools/node_modules/eslint/lib/rules/id-blacklist.js similarity index 100% rename from tools/eslint/lib/rules/id-blacklist.js rename to tools/node_modules/eslint/lib/rules/id-blacklist.js diff --git a/tools/eslint/lib/rules/id-length.js b/tools/node_modules/eslint/lib/rules/id-length.js similarity index 100% rename from tools/eslint/lib/rules/id-length.js rename to tools/node_modules/eslint/lib/rules/id-length.js diff --git a/tools/eslint/lib/rules/id-match.js b/tools/node_modules/eslint/lib/rules/id-match.js similarity index 100% rename from tools/eslint/lib/rules/id-match.js rename to tools/node_modules/eslint/lib/rules/id-match.js diff --git a/tools/eslint/lib/rules/implicit-arrow-linebreak.js b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js similarity index 100% rename from tools/eslint/lib/rules/implicit-arrow-linebreak.js rename to tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js diff --git a/tools/eslint/lib/rules/indent-legacy.js b/tools/node_modules/eslint/lib/rules/indent-legacy.js similarity index 100% rename from tools/eslint/lib/rules/indent-legacy.js rename to tools/node_modules/eslint/lib/rules/indent-legacy.js diff --git a/tools/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js similarity index 100% rename from tools/eslint/lib/rules/indent.js rename to tools/node_modules/eslint/lib/rules/indent.js diff --git a/tools/eslint/lib/rules/init-declarations.js b/tools/node_modules/eslint/lib/rules/init-declarations.js similarity index 100% rename from tools/eslint/lib/rules/init-declarations.js rename to tools/node_modules/eslint/lib/rules/init-declarations.js diff --git a/tools/eslint/lib/rules/jsx-quotes.js b/tools/node_modules/eslint/lib/rules/jsx-quotes.js similarity index 100% rename from tools/eslint/lib/rules/jsx-quotes.js rename to tools/node_modules/eslint/lib/rules/jsx-quotes.js diff --git a/tools/eslint/lib/rules/key-spacing.js b/tools/node_modules/eslint/lib/rules/key-spacing.js similarity index 100% rename from tools/eslint/lib/rules/key-spacing.js rename to tools/node_modules/eslint/lib/rules/key-spacing.js diff --git a/tools/eslint/lib/rules/keyword-spacing.js b/tools/node_modules/eslint/lib/rules/keyword-spacing.js similarity index 100% rename from tools/eslint/lib/rules/keyword-spacing.js rename to tools/node_modules/eslint/lib/rules/keyword-spacing.js diff --git a/tools/eslint/lib/rules/line-comment-position.js b/tools/node_modules/eslint/lib/rules/line-comment-position.js similarity index 100% rename from tools/eslint/lib/rules/line-comment-position.js rename to tools/node_modules/eslint/lib/rules/line-comment-position.js diff --git a/tools/eslint/lib/rules/linebreak-style.js b/tools/node_modules/eslint/lib/rules/linebreak-style.js similarity index 100% rename from tools/eslint/lib/rules/linebreak-style.js rename to tools/node_modules/eslint/lib/rules/linebreak-style.js diff --git a/tools/eslint/lib/rules/lines-around-comment.js b/tools/node_modules/eslint/lib/rules/lines-around-comment.js similarity index 100% rename from tools/eslint/lib/rules/lines-around-comment.js rename to tools/node_modules/eslint/lib/rules/lines-around-comment.js diff --git a/tools/eslint/lib/rules/lines-around-directive.js b/tools/node_modules/eslint/lib/rules/lines-around-directive.js similarity index 100% rename from tools/eslint/lib/rules/lines-around-directive.js rename to tools/node_modules/eslint/lib/rules/lines-around-directive.js diff --git a/tools/eslint/lib/rules/lines-between-class-members.js b/tools/node_modules/eslint/lib/rules/lines-between-class-members.js similarity index 100% rename from tools/eslint/lib/rules/lines-between-class-members.js rename to tools/node_modules/eslint/lib/rules/lines-between-class-members.js diff --git a/tools/eslint/lib/rules/max-depth.js b/tools/node_modules/eslint/lib/rules/max-depth.js similarity index 100% rename from tools/eslint/lib/rules/max-depth.js rename to tools/node_modules/eslint/lib/rules/max-depth.js diff --git a/tools/eslint/lib/rules/max-len.js b/tools/node_modules/eslint/lib/rules/max-len.js similarity index 100% rename from tools/eslint/lib/rules/max-len.js rename to tools/node_modules/eslint/lib/rules/max-len.js diff --git a/tools/eslint/lib/rules/max-lines.js b/tools/node_modules/eslint/lib/rules/max-lines.js similarity index 100% rename from tools/eslint/lib/rules/max-lines.js rename to tools/node_modules/eslint/lib/rules/max-lines.js diff --git a/tools/eslint/lib/rules/max-nested-callbacks.js b/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js similarity index 100% rename from tools/eslint/lib/rules/max-nested-callbacks.js rename to tools/node_modules/eslint/lib/rules/max-nested-callbacks.js diff --git a/tools/eslint/lib/rules/max-params.js b/tools/node_modules/eslint/lib/rules/max-params.js similarity index 100% rename from tools/eslint/lib/rules/max-params.js rename to tools/node_modules/eslint/lib/rules/max-params.js diff --git a/tools/eslint/lib/rules/max-statements-per-line.js b/tools/node_modules/eslint/lib/rules/max-statements-per-line.js similarity index 100% rename from tools/eslint/lib/rules/max-statements-per-line.js rename to tools/node_modules/eslint/lib/rules/max-statements-per-line.js diff --git a/tools/eslint/lib/rules/max-statements.js b/tools/node_modules/eslint/lib/rules/max-statements.js similarity index 100% rename from tools/eslint/lib/rules/max-statements.js rename to tools/node_modules/eslint/lib/rules/max-statements.js diff --git a/tools/eslint/lib/rules/multiline-comment-style.js b/tools/node_modules/eslint/lib/rules/multiline-comment-style.js similarity index 100% rename from tools/eslint/lib/rules/multiline-comment-style.js rename to tools/node_modules/eslint/lib/rules/multiline-comment-style.js diff --git a/tools/eslint/lib/rules/multiline-ternary.js b/tools/node_modules/eslint/lib/rules/multiline-ternary.js similarity index 100% rename from tools/eslint/lib/rules/multiline-ternary.js rename to tools/node_modules/eslint/lib/rules/multiline-ternary.js diff --git a/tools/eslint/lib/rules/new-cap.js b/tools/node_modules/eslint/lib/rules/new-cap.js similarity index 100% rename from tools/eslint/lib/rules/new-cap.js rename to tools/node_modules/eslint/lib/rules/new-cap.js diff --git a/tools/eslint/lib/rules/new-parens.js b/tools/node_modules/eslint/lib/rules/new-parens.js similarity index 100% rename from tools/eslint/lib/rules/new-parens.js rename to tools/node_modules/eslint/lib/rules/new-parens.js diff --git a/tools/eslint/lib/rules/newline-after-var.js b/tools/node_modules/eslint/lib/rules/newline-after-var.js similarity index 100% rename from tools/eslint/lib/rules/newline-after-var.js rename to tools/node_modules/eslint/lib/rules/newline-after-var.js diff --git a/tools/eslint/lib/rules/newline-before-return.js b/tools/node_modules/eslint/lib/rules/newline-before-return.js similarity index 100% rename from tools/eslint/lib/rules/newline-before-return.js rename to tools/node_modules/eslint/lib/rules/newline-before-return.js diff --git a/tools/eslint/lib/rules/newline-per-chained-call.js b/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js similarity index 100% rename from tools/eslint/lib/rules/newline-per-chained-call.js rename to tools/node_modules/eslint/lib/rules/newline-per-chained-call.js diff --git a/tools/eslint/lib/rules/no-alert.js b/tools/node_modules/eslint/lib/rules/no-alert.js similarity index 100% rename from tools/eslint/lib/rules/no-alert.js rename to tools/node_modules/eslint/lib/rules/no-alert.js diff --git a/tools/eslint/lib/rules/no-array-constructor.js b/tools/node_modules/eslint/lib/rules/no-array-constructor.js similarity index 100% rename from tools/eslint/lib/rules/no-array-constructor.js rename to tools/node_modules/eslint/lib/rules/no-array-constructor.js diff --git a/tools/eslint/lib/rules/no-await-in-loop.js b/tools/node_modules/eslint/lib/rules/no-await-in-loop.js similarity index 100% rename from tools/eslint/lib/rules/no-await-in-loop.js rename to tools/node_modules/eslint/lib/rules/no-await-in-loop.js diff --git a/tools/eslint/lib/rules/no-bitwise.js b/tools/node_modules/eslint/lib/rules/no-bitwise.js similarity index 100% rename from tools/eslint/lib/rules/no-bitwise.js rename to tools/node_modules/eslint/lib/rules/no-bitwise.js diff --git a/tools/eslint/lib/rules/no-buffer-constructor.js b/tools/node_modules/eslint/lib/rules/no-buffer-constructor.js similarity index 100% rename from tools/eslint/lib/rules/no-buffer-constructor.js rename to tools/node_modules/eslint/lib/rules/no-buffer-constructor.js diff --git a/tools/eslint/lib/rules/no-caller.js b/tools/node_modules/eslint/lib/rules/no-caller.js similarity index 100% rename from tools/eslint/lib/rules/no-caller.js rename to tools/node_modules/eslint/lib/rules/no-caller.js diff --git a/tools/eslint/lib/rules/no-case-declarations.js b/tools/node_modules/eslint/lib/rules/no-case-declarations.js similarity index 100% rename from tools/eslint/lib/rules/no-case-declarations.js rename to tools/node_modules/eslint/lib/rules/no-case-declarations.js diff --git a/tools/eslint/lib/rules/no-catch-shadow.js b/tools/node_modules/eslint/lib/rules/no-catch-shadow.js similarity index 100% rename from tools/eslint/lib/rules/no-catch-shadow.js rename to tools/node_modules/eslint/lib/rules/no-catch-shadow.js diff --git a/tools/eslint/lib/rules/no-class-assign.js b/tools/node_modules/eslint/lib/rules/no-class-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-class-assign.js rename to tools/node_modules/eslint/lib/rules/no-class-assign.js diff --git a/tools/eslint/lib/rules/no-compare-neg-zero.js b/tools/node_modules/eslint/lib/rules/no-compare-neg-zero.js similarity index 100% rename from tools/eslint/lib/rules/no-compare-neg-zero.js rename to tools/node_modules/eslint/lib/rules/no-compare-neg-zero.js diff --git a/tools/eslint/lib/rules/no-cond-assign.js b/tools/node_modules/eslint/lib/rules/no-cond-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-cond-assign.js rename to tools/node_modules/eslint/lib/rules/no-cond-assign.js diff --git a/tools/eslint/lib/rules/no-confusing-arrow.js b/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js similarity index 100% rename from tools/eslint/lib/rules/no-confusing-arrow.js rename to tools/node_modules/eslint/lib/rules/no-confusing-arrow.js diff --git a/tools/eslint/lib/rules/no-console.js b/tools/node_modules/eslint/lib/rules/no-console.js similarity index 100% rename from tools/eslint/lib/rules/no-console.js rename to tools/node_modules/eslint/lib/rules/no-console.js diff --git a/tools/eslint/lib/rules/no-const-assign.js b/tools/node_modules/eslint/lib/rules/no-const-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-const-assign.js rename to tools/node_modules/eslint/lib/rules/no-const-assign.js diff --git a/tools/eslint/lib/rules/no-constant-condition.js b/tools/node_modules/eslint/lib/rules/no-constant-condition.js similarity index 100% rename from tools/eslint/lib/rules/no-constant-condition.js rename to tools/node_modules/eslint/lib/rules/no-constant-condition.js diff --git a/tools/eslint/lib/rules/no-continue.js b/tools/node_modules/eslint/lib/rules/no-continue.js similarity index 100% rename from tools/eslint/lib/rules/no-continue.js rename to tools/node_modules/eslint/lib/rules/no-continue.js diff --git a/tools/eslint/lib/rules/no-control-regex.js b/tools/node_modules/eslint/lib/rules/no-control-regex.js similarity index 100% rename from tools/eslint/lib/rules/no-control-regex.js rename to tools/node_modules/eslint/lib/rules/no-control-regex.js diff --git a/tools/eslint/lib/rules/no-debugger.js b/tools/node_modules/eslint/lib/rules/no-debugger.js similarity index 100% rename from tools/eslint/lib/rules/no-debugger.js rename to tools/node_modules/eslint/lib/rules/no-debugger.js diff --git a/tools/eslint/lib/rules/no-delete-var.js b/tools/node_modules/eslint/lib/rules/no-delete-var.js similarity index 100% rename from tools/eslint/lib/rules/no-delete-var.js rename to tools/node_modules/eslint/lib/rules/no-delete-var.js diff --git a/tools/eslint/lib/rules/no-div-regex.js b/tools/node_modules/eslint/lib/rules/no-div-regex.js similarity index 100% rename from tools/eslint/lib/rules/no-div-regex.js rename to tools/node_modules/eslint/lib/rules/no-div-regex.js diff --git a/tools/eslint/lib/rules/no-dupe-args.js b/tools/node_modules/eslint/lib/rules/no-dupe-args.js similarity index 100% rename from tools/eslint/lib/rules/no-dupe-args.js rename to tools/node_modules/eslint/lib/rules/no-dupe-args.js diff --git a/tools/eslint/lib/rules/no-dupe-class-members.js b/tools/node_modules/eslint/lib/rules/no-dupe-class-members.js similarity index 100% rename from tools/eslint/lib/rules/no-dupe-class-members.js rename to tools/node_modules/eslint/lib/rules/no-dupe-class-members.js diff --git a/tools/eslint/lib/rules/no-dupe-keys.js b/tools/node_modules/eslint/lib/rules/no-dupe-keys.js similarity index 100% rename from tools/eslint/lib/rules/no-dupe-keys.js rename to tools/node_modules/eslint/lib/rules/no-dupe-keys.js diff --git a/tools/eslint/lib/rules/no-duplicate-case.js b/tools/node_modules/eslint/lib/rules/no-duplicate-case.js similarity index 100% rename from tools/eslint/lib/rules/no-duplicate-case.js rename to tools/node_modules/eslint/lib/rules/no-duplicate-case.js diff --git a/tools/eslint/lib/rules/no-duplicate-imports.js b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js similarity index 100% rename from tools/eslint/lib/rules/no-duplicate-imports.js rename to tools/node_modules/eslint/lib/rules/no-duplicate-imports.js diff --git a/tools/eslint/lib/rules/no-else-return.js b/tools/node_modules/eslint/lib/rules/no-else-return.js similarity index 100% rename from tools/eslint/lib/rules/no-else-return.js rename to tools/node_modules/eslint/lib/rules/no-else-return.js diff --git a/tools/eslint/lib/rules/no-empty-character-class.js b/tools/node_modules/eslint/lib/rules/no-empty-character-class.js similarity index 100% rename from tools/eslint/lib/rules/no-empty-character-class.js rename to tools/node_modules/eslint/lib/rules/no-empty-character-class.js diff --git a/tools/eslint/lib/rules/no-empty-function.js b/tools/node_modules/eslint/lib/rules/no-empty-function.js similarity index 100% rename from tools/eslint/lib/rules/no-empty-function.js rename to tools/node_modules/eslint/lib/rules/no-empty-function.js diff --git a/tools/eslint/lib/rules/no-empty-pattern.js b/tools/node_modules/eslint/lib/rules/no-empty-pattern.js similarity index 100% rename from tools/eslint/lib/rules/no-empty-pattern.js rename to tools/node_modules/eslint/lib/rules/no-empty-pattern.js diff --git a/tools/eslint/lib/rules/no-empty.js b/tools/node_modules/eslint/lib/rules/no-empty.js similarity index 100% rename from tools/eslint/lib/rules/no-empty.js rename to tools/node_modules/eslint/lib/rules/no-empty.js diff --git a/tools/eslint/lib/rules/no-eq-null.js b/tools/node_modules/eslint/lib/rules/no-eq-null.js similarity index 100% rename from tools/eslint/lib/rules/no-eq-null.js rename to tools/node_modules/eslint/lib/rules/no-eq-null.js diff --git a/tools/eslint/lib/rules/no-eval.js b/tools/node_modules/eslint/lib/rules/no-eval.js similarity index 100% rename from tools/eslint/lib/rules/no-eval.js rename to tools/node_modules/eslint/lib/rules/no-eval.js diff --git a/tools/eslint/lib/rules/no-ex-assign.js b/tools/node_modules/eslint/lib/rules/no-ex-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-ex-assign.js rename to tools/node_modules/eslint/lib/rules/no-ex-assign.js diff --git a/tools/eslint/lib/rules/no-extend-native.js b/tools/node_modules/eslint/lib/rules/no-extend-native.js similarity index 100% rename from tools/eslint/lib/rules/no-extend-native.js rename to tools/node_modules/eslint/lib/rules/no-extend-native.js diff --git a/tools/eslint/lib/rules/no-extra-bind.js b/tools/node_modules/eslint/lib/rules/no-extra-bind.js similarity index 100% rename from tools/eslint/lib/rules/no-extra-bind.js rename to tools/node_modules/eslint/lib/rules/no-extra-bind.js diff --git a/tools/eslint/lib/rules/no-extra-boolean-cast.js b/tools/node_modules/eslint/lib/rules/no-extra-boolean-cast.js similarity index 100% rename from tools/eslint/lib/rules/no-extra-boolean-cast.js rename to tools/node_modules/eslint/lib/rules/no-extra-boolean-cast.js diff --git a/tools/eslint/lib/rules/no-extra-label.js b/tools/node_modules/eslint/lib/rules/no-extra-label.js similarity index 100% rename from tools/eslint/lib/rules/no-extra-label.js rename to tools/node_modules/eslint/lib/rules/no-extra-label.js diff --git a/tools/eslint/lib/rules/no-extra-parens.js b/tools/node_modules/eslint/lib/rules/no-extra-parens.js similarity index 100% rename from tools/eslint/lib/rules/no-extra-parens.js rename to tools/node_modules/eslint/lib/rules/no-extra-parens.js diff --git a/tools/eslint/lib/rules/no-extra-semi.js b/tools/node_modules/eslint/lib/rules/no-extra-semi.js similarity index 100% rename from tools/eslint/lib/rules/no-extra-semi.js rename to tools/node_modules/eslint/lib/rules/no-extra-semi.js diff --git a/tools/eslint/lib/rules/no-fallthrough.js b/tools/node_modules/eslint/lib/rules/no-fallthrough.js similarity index 100% rename from tools/eslint/lib/rules/no-fallthrough.js rename to tools/node_modules/eslint/lib/rules/no-fallthrough.js diff --git a/tools/eslint/lib/rules/no-floating-decimal.js b/tools/node_modules/eslint/lib/rules/no-floating-decimal.js similarity index 100% rename from tools/eslint/lib/rules/no-floating-decimal.js rename to tools/node_modules/eslint/lib/rules/no-floating-decimal.js diff --git a/tools/eslint/lib/rules/no-func-assign.js b/tools/node_modules/eslint/lib/rules/no-func-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-func-assign.js rename to tools/node_modules/eslint/lib/rules/no-func-assign.js diff --git a/tools/eslint/lib/rules/no-global-assign.js b/tools/node_modules/eslint/lib/rules/no-global-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-global-assign.js rename to tools/node_modules/eslint/lib/rules/no-global-assign.js diff --git a/tools/eslint/lib/rules/no-implicit-coercion.js b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js similarity index 100% rename from tools/eslint/lib/rules/no-implicit-coercion.js rename to tools/node_modules/eslint/lib/rules/no-implicit-coercion.js diff --git a/tools/eslint/lib/rules/no-implicit-globals.js b/tools/node_modules/eslint/lib/rules/no-implicit-globals.js similarity index 100% rename from tools/eslint/lib/rules/no-implicit-globals.js rename to tools/node_modules/eslint/lib/rules/no-implicit-globals.js diff --git a/tools/eslint/lib/rules/no-implied-eval.js b/tools/node_modules/eslint/lib/rules/no-implied-eval.js similarity index 100% rename from tools/eslint/lib/rules/no-implied-eval.js rename to tools/node_modules/eslint/lib/rules/no-implied-eval.js diff --git a/tools/eslint/lib/rules/no-inline-comments.js b/tools/node_modules/eslint/lib/rules/no-inline-comments.js similarity index 100% rename from tools/eslint/lib/rules/no-inline-comments.js rename to tools/node_modules/eslint/lib/rules/no-inline-comments.js diff --git a/tools/eslint/lib/rules/no-inner-declarations.js b/tools/node_modules/eslint/lib/rules/no-inner-declarations.js similarity index 100% rename from tools/eslint/lib/rules/no-inner-declarations.js rename to tools/node_modules/eslint/lib/rules/no-inner-declarations.js diff --git a/tools/eslint/lib/rules/no-invalid-regexp.js b/tools/node_modules/eslint/lib/rules/no-invalid-regexp.js similarity index 100% rename from tools/eslint/lib/rules/no-invalid-regexp.js rename to tools/node_modules/eslint/lib/rules/no-invalid-regexp.js diff --git a/tools/eslint/lib/rules/no-invalid-this.js b/tools/node_modules/eslint/lib/rules/no-invalid-this.js similarity index 100% rename from tools/eslint/lib/rules/no-invalid-this.js rename to tools/node_modules/eslint/lib/rules/no-invalid-this.js diff --git a/tools/eslint/lib/rules/no-irregular-whitespace.js b/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js similarity index 100% rename from tools/eslint/lib/rules/no-irregular-whitespace.js rename to tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js diff --git a/tools/eslint/lib/rules/no-iterator.js b/tools/node_modules/eslint/lib/rules/no-iterator.js similarity index 100% rename from tools/eslint/lib/rules/no-iterator.js rename to tools/node_modules/eslint/lib/rules/no-iterator.js diff --git a/tools/eslint/lib/rules/no-label-var.js b/tools/node_modules/eslint/lib/rules/no-label-var.js similarity index 100% rename from tools/eslint/lib/rules/no-label-var.js rename to tools/node_modules/eslint/lib/rules/no-label-var.js diff --git a/tools/eslint/lib/rules/no-labels.js b/tools/node_modules/eslint/lib/rules/no-labels.js similarity index 100% rename from tools/eslint/lib/rules/no-labels.js rename to tools/node_modules/eslint/lib/rules/no-labels.js diff --git a/tools/eslint/lib/rules/no-lone-blocks.js b/tools/node_modules/eslint/lib/rules/no-lone-blocks.js similarity index 100% rename from tools/eslint/lib/rules/no-lone-blocks.js rename to tools/node_modules/eslint/lib/rules/no-lone-blocks.js diff --git a/tools/eslint/lib/rules/no-lonely-if.js b/tools/node_modules/eslint/lib/rules/no-lonely-if.js similarity index 100% rename from tools/eslint/lib/rules/no-lonely-if.js rename to tools/node_modules/eslint/lib/rules/no-lonely-if.js diff --git a/tools/eslint/lib/rules/no-loop-func.js b/tools/node_modules/eslint/lib/rules/no-loop-func.js similarity index 100% rename from tools/eslint/lib/rules/no-loop-func.js rename to tools/node_modules/eslint/lib/rules/no-loop-func.js diff --git a/tools/eslint/lib/rules/no-magic-numbers.js b/tools/node_modules/eslint/lib/rules/no-magic-numbers.js similarity index 100% rename from tools/eslint/lib/rules/no-magic-numbers.js rename to tools/node_modules/eslint/lib/rules/no-magic-numbers.js diff --git a/tools/eslint/lib/rules/no-mixed-operators.js b/tools/node_modules/eslint/lib/rules/no-mixed-operators.js similarity index 100% rename from tools/eslint/lib/rules/no-mixed-operators.js rename to tools/node_modules/eslint/lib/rules/no-mixed-operators.js diff --git a/tools/eslint/lib/rules/no-mixed-requires.js b/tools/node_modules/eslint/lib/rules/no-mixed-requires.js similarity index 100% rename from tools/eslint/lib/rules/no-mixed-requires.js rename to tools/node_modules/eslint/lib/rules/no-mixed-requires.js diff --git a/tools/eslint/lib/rules/no-mixed-spaces-and-tabs.js b/tools/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js similarity index 100% rename from tools/eslint/lib/rules/no-mixed-spaces-and-tabs.js rename to tools/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js diff --git a/tools/eslint/lib/rules/no-multi-assign.js b/tools/node_modules/eslint/lib/rules/no-multi-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-multi-assign.js rename to tools/node_modules/eslint/lib/rules/no-multi-assign.js diff --git a/tools/eslint/lib/rules/no-multi-spaces.js b/tools/node_modules/eslint/lib/rules/no-multi-spaces.js similarity index 100% rename from tools/eslint/lib/rules/no-multi-spaces.js rename to tools/node_modules/eslint/lib/rules/no-multi-spaces.js diff --git a/tools/eslint/lib/rules/no-multi-str.js b/tools/node_modules/eslint/lib/rules/no-multi-str.js similarity index 100% rename from tools/eslint/lib/rules/no-multi-str.js rename to tools/node_modules/eslint/lib/rules/no-multi-str.js diff --git a/tools/eslint/lib/rules/no-multiple-empty-lines.js b/tools/node_modules/eslint/lib/rules/no-multiple-empty-lines.js similarity index 100% rename from tools/eslint/lib/rules/no-multiple-empty-lines.js rename to tools/node_modules/eslint/lib/rules/no-multiple-empty-lines.js diff --git a/tools/eslint/lib/rules/no-native-reassign.js b/tools/node_modules/eslint/lib/rules/no-native-reassign.js similarity index 100% rename from tools/eslint/lib/rules/no-native-reassign.js rename to tools/node_modules/eslint/lib/rules/no-native-reassign.js diff --git a/tools/eslint/lib/rules/no-negated-condition.js b/tools/node_modules/eslint/lib/rules/no-negated-condition.js similarity index 100% rename from tools/eslint/lib/rules/no-negated-condition.js rename to tools/node_modules/eslint/lib/rules/no-negated-condition.js diff --git a/tools/eslint/lib/rules/no-negated-in-lhs.js b/tools/node_modules/eslint/lib/rules/no-negated-in-lhs.js similarity index 100% rename from tools/eslint/lib/rules/no-negated-in-lhs.js rename to tools/node_modules/eslint/lib/rules/no-negated-in-lhs.js diff --git a/tools/eslint/lib/rules/no-nested-ternary.js b/tools/node_modules/eslint/lib/rules/no-nested-ternary.js similarity index 100% rename from tools/eslint/lib/rules/no-nested-ternary.js rename to tools/node_modules/eslint/lib/rules/no-nested-ternary.js diff --git a/tools/eslint/lib/rules/no-new-func.js b/tools/node_modules/eslint/lib/rules/no-new-func.js similarity index 100% rename from tools/eslint/lib/rules/no-new-func.js rename to tools/node_modules/eslint/lib/rules/no-new-func.js diff --git a/tools/eslint/lib/rules/no-new-object.js b/tools/node_modules/eslint/lib/rules/no-new-object.js similarity index 100% rename from tools/eslint/lib/rules/no-new-object.js rename to tools/node_modules/eslint/lib/rules/no-new-object.js diff --git a/tools/eslint/lib/rules/no-new-require.js b/tools/node_modules/eslint/lib/rules/no-new-require.js similarity index 100% rename from tools/eslint/lib/rules/no-new-require.js rename to tools/node_modules/eslint/lib/rules/no-new-require.js diff --git a/tools/eslint/lib/rules/no-new-symbol.js b/tools/node_modules/eslint/lib/rules/no-new-symbol.js similarity index 100% rename from tools/eslint/lib/rules/no-new-symbol.js rename to tools/node_modules/eslint/lib/rules/no-new-symbol.js diff --git a/tools/eslint/lib/rules/no-new-wrappers.js b/tools/node_modules/eslint/lib/rules/no-new-wrappers.js similarity index 100% rename from tools/eslint/lib/rules/no-new-wrappers.js rename to tools/node_modules/eslint/lib/rules/no-new-wrappers.js diff --git a/tools/eslint/lib/rules/no-new.js b/tools/node_modules/eslint/lib/rules/no-new.js similarity index 100% rename from tools/eslint/lib/rules/no-new.js rename to tools/node_modules/eslint/lib/rules/no-new.js diff --git a/tools/eslint/lib/rules/no-obj-calls.js b/tools/node_modules/eslint/lib/rules/no-obj-calls.js similarity index 100% rename from tools/eslint/lib/rules/no-obj-calls.js rename to tools/node_modules/eslint/lib/rules/no-obj-calls.js diff --git a/tools/eslint/lib/rules/no-octal-escape.js b/tools/node_modules/eslint/lib/rules/no-octal-escape.js similarity index 100% rename from tools/eslint/lib/rules/no-octal-escape.js rename to tools/node_modules/eslint/lib/rules/no-octal-escape.js diff --git a/tools/eslint/lib/rules/no-octal.js b/tools/node_modules/eslint/lib/rules/no-octal.js similarity index 100% rename from tools/eslint/lib/rules/no-octal.js rename to tools/node_modules/eslint/lib/rules/no-octal.js diff --git a/tools/eslint/lib/rules/no-param-reassign.js b/tools/node_modules/eslint/lib/rules/no-param-reassign.js similarity index 100% rename from tools/eslint/lib/rules/no-param-reassign.js rename to tools/node_modules/eslint/lib/rules/no-param-reassign.js diff --git a/tools/eslint/lib/rules/no-path-concat.js b/tools/node_modules/eslint/lib/rules/no-path-concat.js similarity index 100% rename from tools/eslint/lib/rules/no-path-concat.js rename to tools/node_modules/eslint/lib/rules/no-path-concat.js diff --git a/tools/eslint/lib/rules/no-plusplus.js b/tools/node_modules/eslint/lib/rules/no-plusplus.js similarity index 100% rename from tools/eslint/lib/rules/no-plusplus.js rename to tools/node_modules/eslint/lib/rules/no-plusplus.js diff --git a/tools/eslint/lib/rules/no-process-env.js b/tools/node_modules/eslint/lib/rules/no-process-env.js similarity index 100% rename from tools/eslint/lib/rules/no-process-env.js rename to tools/node_modules/eslint/lib/rules/no-process-env.js diff --git a/tools/eslint/lib/rules/no-process-exit.js b/tools/node_modules/eslint/lib/rules/no-process-exit.js similarity index 100% rename from tools/eslint/lib/rules/no-process-exit.js rename to tools/node_modules/eslint/lib/rules/no-process-exit.js diff --git a/tools/eslint/lib/rules/no-proto.js b/tools/node_modules/eslint/lib/rules/no-proto.js similarity index 100% rename from tools/eslint/lib/rules/no-proto.js rename to tools/node_modules/eslint/lib/rules/no-proto.js diff --git a/tools/eslint/lib/rules/no-prototype-builtins.js b/tools/node_modules/eslint/lib/rules/no-prototype-builtins.js similarity index 100% rename from tools/eslint/lib/rules/no-prototype-builtins.js rename to tools/node_modules/eslint/lib/rules/no-prototype-builtins.js diff --git a/tools/eslint/lib/rules/no-redeclare.js b/tools/node_modules/eslint/lib/rules/no-redeclare.js similarity index 100% rename from tools/eslint/lib/rules/no-redeclare.js rename to tools/node_modules/eslint/lib/rules/no-redeclare.js diff --git a/tools/eslint/lib/rules/no-regex-spaces.js b/tools/node_modules/eslint/lib/rules/no-regex-spaces.js similarity index 100% rename from tools/eslint/lib/rules/no-regex-spaces.js rename to tools/node_modules/eslint/lib/rules/no-regex-spaces.js diff --git a/tools/eslint/lib/rules/no-restricted-globals.js b/tools/node_modules/eslint/lib/rules/no-restricted-globals.js similarity index 100% rename from tools/eslint/lib/rules/no-restricted-globals.js rename to tools/node_modules/eslint/lib/rules/no-restricted-globals.js diff --git a/tools/eslint/lib/rules/no-restricted-imports.js b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js similarity index 100% rename from tools/eslint/lib/rules/no-restricted-imports.js rename to tools/node_modules/eslint/lib/rules/no-restricted-imports.js diff --git a/tools/eslint/lib/rules/no-restricted-modules.js b/tools/node_modules/eslint/lib/rules/no-restricted-modules.js similarity index 100% rename from tools/eslint/lib/rules/no-restricted-modules.js rename to tools/node_modules/eslint/lib/rules/no-restricted-modules.js diff --git a/tools/eslint/lib/rules/no-restricted-properties.js b/tools/node_modules/eslint/lib/rules/no-restricted-properties.js similarity index 100% rename from tools/eslint/lib/rules/no-restricted-properties.js rename to tools/node_modules/eslint/lib/rules/no-restricted-properties.js diff --git a/tools/eslint/lib/rules/no-restricted-syntax.js b/tools/node_modules/eslint/lib/rules/no-restricted-syntax.js similarity index 100% rename from tools/eslint/lib/rules/no-restricted-syntax.js rename to tools/node_modules/eslint/lib/rules/no-restricted-syntax.js diff --git a/tools/eslint/lib/rules/no-return-assign.js b/tools/node_modules/eslint/lib/rules/no-return-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-return-assign.js rename to tools/node_modules/eslint/lib/rules/no-return-assign.js diff --git a/tools/eslint/lib/rules/no-return-await.js b/tools/node_modules/eslint/lib/rules/no-return-await.js similarity index 100% rename from tools/eslint/lib/rules/no-return-await.js rename to tools/node_modules/eslint/lib/rules/no-return-await.js diff --git a/tools/eslint/lib/rules/no-script-url.js b/tools/node_modules/eslint/lib/rules/no-script-url.js similarity index 100% rename from tools/eslint/lib/rules/no-script-url.js rename to tools/node_modules/eslint/lib/rules/no-script-url.js diff --git a/tools/eslint/lib/rules/no-self-assign.js b/tools/node_modules/eslint/lib/rules/no-self-assign.js similarity index 100% rename from tools/eslint/lib/rules/no-self-assign.js rename to tools/node_modules/eslint/lib/rules/no-self-assign.js diff --git a/tools/eslint/lib/rules/no-self-compare.js b/tools/node_modules/eslint/lib/rules/no-self-compare.js similarity index 100% rename from tools/eslint/lib/rules/no-self-compare.js rename to tools/node_modules/eslint/lib/rules/no-self-compare.js diff --git a/tools/eslint/lib/rules/no-sequences.js b/tools/node_modules/eslint/lib/rules/no-sequences.js similarity index 100% rename from tools/eslint/lib/rules/no-sequences.js rename to tools/node_modules/eslint/lib/rules/no-sequences.js diff --git a/tools/eslint/lib/rules/no-shadow-restricted-names.js b/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js similarity index 100% rename from tools/eslint/lib/rules/no-shadow-restricted-names.js rename to tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js diff --git a/tools/eslint/lib/rules/no-shadow.js b/tools/node_modules/eslint/lib/rules/no-shadow.js similarity index 100% rename from tools/eslint/lib/rules/no-shadow.js rename to tools/node_modules/eslint/lib/rules/no-shadow.js diff --git a/tools/eslint/lib/rules/no-spaced-func.js b/tools/node_modules/eslint/lib/rules/no-spaced-func.js similarity index 100% rename from tools/eslint/lib/rules/no-spaced-func.js rename to tools/node_modules/eslint/lib/rules/no-spaced-func.js diff --git a/tools/eslint/lib/rules/no-sparse-arrays.js b/tools/node_modules/eslint/lib/rules/no-sparse-arrays.js similarity index 100% rename from tools/eslint/lib/rules/no-sparse-arrays.js rename to tools/node_modules/eslint/lib/rules/no-sparse-arrays.js diff --git a/tools/eslint/lib/rules/no-sync.js b/tools/node_modules/eslint/lib/rules/no-sync.js similarity index 100% rename from tools/eslint/lib/rules/no-sync.js rename to tools/node_modules/eslint/lib/rules/no-sync.js diff --git a/tools/eslint/lib/rules/no-tabs.js b/tools/node_modules/eslint/lib/rules/no-tabs.js similarity index 100% rename from tools/eslint/lib/rules/no-tabs.js rename to tools/node_modules/eslint/lib/rules/no-tabs.js diff --git a/tools/eslint/lib/rules/no-template-curly-in-string.js b/tools/node_modules/eslint/lib/rules/no-template-curly-in-string.js similarity index 100% rename from tools/eslint/lib/rules/no-template-curly-in-string.js rename to tools/node_modules/eslint/lib/rules/no-template-curly-in-string.js diff --git a/tools/eslint/lib/rules/no-ternary.js b/tools/node_modules/eslint/lib/rules/no-ternary.js similarity index 100% rename from tools/eslint/lib/rules/no-ternary.js rename to tools/node_modules/eslint/lib/rules/no-ternary.js diff --git a/tools/eslint/lib/rules/no-this-before-super.js b/tools/node_modules/eslint/lib/rules/no-this-before-super.js similarity index 100% rename from tools/eslint/lib/rules/no-this-before-super.js rename to tools/node_modules/eslint/lib/rules/no-this-before-super.js diff --git a/tools/eslint/lib/rules/no-throw-literal.js b/tools/node_modules/eslint/lib/rules/no-throw-literal.js similarity index 100% rename from tools/eslint/lib/rules/no-throw-literal.js rename to tools/node_modules/eslint/lib/rules/no-throw-literal.js diff --git a/tools/eslint/lib/rules/no-trailing-spaces.js b/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js similarity index 100% rename from tools/eslint/lib/rules/no-trailing-spaces.js rename to tools/node_modules/eslint/lib/rules/no-trailing-spaces.js diff --git a/tools/eslint/lib/rules/no-undef-init.js b/tools/node_modules/eslint/lib/rules/no-undef-init.js similarity index 100% rename from tools/eslint/lib/rules/no-undef-init.js rename to tools/node_modules/eslint/lib/rules/no-undef-init.js diff --git a/tools/eslint/lib/rules/no-undef.js b/tools/node_modules/eslint/lib/rules/no-undef.js similarity index 100% rename from tools/eslint/lib/rules/no-undef.js rename to tools/node_modules/eslint/lib/rules/no-undef.js diff --git a/tools/eslint/lib/rules/no-undefined.js b/tools/node_modules/eslint/lib/rules/no-undefined.js similarity index 100% rename from tools/eslint/lib/rules/no-undefined.js rename to tools/node_modules/eslint/lib/rules/no-undefined.js diff --git a/tools/eslint/lib/rules/no-underscore-dangle.js b/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js similarity index 100% rename from tools/eslint/lib/rules/no-underscore-dangle.js rename to tools/node_modules/eslint/lib/rules/no-underscore-dangle.js diff --git a/tools/eslint/lib/rules/no-unexpected-multiline.js b/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js similarity index 100% rename from tools/eslint/lib/rules/no-unexpected-multiline.js rename to tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js diff --git a/tools/eslint/lib/rules/no-unmodified-loop-condition.js b/tools/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js similarity index 100% rename from tools/eslint/lib/rules/no-unmodified-loop-condition.js rename to tools/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js diff --git a/tools/eslint/lib/rules/no-unneeded-ternary.js b/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js similarity index 100% rename from tools/eslint/lib/rules/no-unneeded-ternary.js rename to tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js diff --git a/tools/eslint/lib/rules/no-unreachable.js b/tools/node_modules/eslint/lib/rules/no-unreachable.js similarity index 100% rename from tools/eslint/lib/rules/no-unreachable.js rename to tools/node_modules/eslint/lib/rules/no-unreachable.js diff --git a/tools/eslint/lib/rules/no-unsafe-finally.js b/tools/node_modules/eslint/lib/rules/no-unsafe-finally.js similarity index 100% rename from tools/eslint/lib/rules/no-unsafe-finally.js rename to tools/node_modules/eslint/lib/rules/no-unsafe-finally.js diff --git a/tools/eslint/lib/rules/no-unsafe-negation.js b/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js similarity index 100% rename from tools/eslint/lib/rules/no-unsafe-negation.js rename to tools/node_modules/eslint/lib/rules/no-unsafe-negation.js diff --git a/tools/eslint/lib/rules/no-unused-expressions.js b/tools/node_modules/eslint/lib/rules/no-unused-expressions.js similarity index 100% rename from tools/eslint/lib/rules/no-unused-expressions.js rename to tools/node_modules/eslint/lib/rules/no-unused-expressions.js diff --git a/tools/eslint/lib/rules/no-unused-labels.js b/tools/node_modules/eslint/lib/rules/no-unused-labels.js similarity index 100% rename from tools/eslint/lib/rules/no-unused-labels.js rename to tools/node_modules/eslint/lib/rules/no-unused-labels.js diff --git a/tools/eslint/lib/rules/no-unused-vars.js b/tools/node_modules/eslint/lib/rules/no-unused-vars.js similarity index 100% rename from tools/eslint/lib/rules/no-unused-vars.js rename to tools/node_modules/eslint/lib/rules/no-unused-vars.js diff --git a/tools/eslint/lib/rules/no-use-before-define.js b/tools/node_modules/eslint/lib/rules/no-use-before-define.js similarity index 100% rename from tools/eslint/lib/rules/no-use-before-define.js rename to tools/node_modules/eslint/lib/rules/no-use-before-define.js diff --git a/tools/eslint/lib/rules/no-useless-call.js b/tools/node_modules/eslint/lib/rules/no-useless-call.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-call.js rename to tools/node_modules/eslint/lib/rules/no-useless-call.js diff --git a/tools/eslint/lib/rules/no-useless-computed-key.js b/tools/node_modules/eslint/lib/rules/no-useless-computed-key.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-computed-key.js rename to tools/node_modules/eslint/lib/rules/no-useless-computed-key.js diff --git a/tools/eslint/lib/rules/no-useless-concat.js b/tools/node_modules/eslint/lib/rules/no-useless-concat.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-concat.js rename to tools/node_modules/eslint/lib/rules/no-useless-concat.js diff --git a/tools/eslint/lib/rules/no-useless-constructor.js b/tools/node_modules/eslint/lib/rules/no-useless-constructor.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-constructor.js rename to tools/node_modules/eslint/lib/rules/no-useless-constructor.js diff --git a/tools/eslint/lib/rules/no-useless-escape.js b/tools/node_modules/eslint/lib/rules/no-useless-escape.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-escape.js rename to tools/node_modules/eslint/lib/rules/no-useless-escape.js diff --git a/tools/eslint/lib/rules/no-useless-rename.js b/tools/node_modules/eslint/lib/rules/no-useless-rename.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-rename.js rename to tools/node_modules/eslint/lib/rules/no-useless-rename.js diff --git a/tools/eslint/lib/rules/no-useless-return.js b/tools/node_modules/eslint/lib/rules/no-useless-return.js similarity index 100% rename from tools/eslint/lib/rules/no-useless-return.js rename to tools/node_modules/eslint/lib/rules/no-useless-return.js diff --git a/tools/eslint/lib/rules/no-var.js b/tools/node_modules/eslint/lib/rules/no-var.js similarity index 100% rename from tools/eslint/lib/rules/no-var.js rename to tools/node_modules/eslint/lib/rules/no-var.js diff --git a/tools/eslint/lib/rules/no-void.js b/tools/node_modules/eslint/lib/rules/no-void.js similarity index 100% rename from tools/eslint/lib/rules/no-void.js rename to tools/node_modules/eslint/lib/rules/no-void.js diff --git a/tools/eslint/lib/rules/no-warning-comments.js b/tools/node_modules/eslint/lib/rules/no-warning-comments.js similarity index 100% rename from tools/eslint/lib/rules/no-warning-comments.js rename to tools/node_modules/eslint/lib/rules/no-warning-comments.js diff --git a/tools/eslint/lib/rules/no-whitespace-before-property.js b/tools/node_modules/eslint/lib/rules/no-whitespace-before-property.js similarity index 100% rename from tools/eslint/lib/rules/no-whitespace-before-property.js rename to tools/node_modules/eslint/lib/rules/no-whitespace-before-property.js diff --git a/tools/eslint/lib/rules/no-with.js b/tools/node_modules/eslint/lib/rules/no-with.js similarity index 100% rename from tools/eslint/lib/rules/no-with.js rename to tools/node_modules/eslint/lib/rules/no-with.js diff --git a/tools/eslint/lib/rules/nonblock-statement-body-position.js b/tools/node_modules/eslint/lib/rules/nonblock-statement-body-position.js similarity index 100% rename from tools/eslint/lib/rules/nonblock-statement-body-position.js rename to tools/node_modules/eslint/lib/rules/nonblock-statement-body-position.js diff --git a/tools/eslint/lib/rules/object-curly-newline.js b/tools/node_modules/eslint/lib/rules/object-curly-newline.js similarity index 100% rename from tools/eslint/lib/rules/object-curly-newline.js rename to tools/node_modules/eslint/lib/rules/object-curly-newline.js diff --git a/tools/eslint/lib/rules/object-curly-spacing.js b/tools/node_modules/eslint/lib/rules/object-curly-spacing.js similarity index 100% rename from tools/eslint/lib/rules/object-curly-spacing.js rename to tools/node_modules/eslint/lib/rules/object-curly-spacing.js diff --git a/tools/eslint/lib/rules/object-property-newline.js b/tools/node_modules/eslint/lib/rules/object-property-newline.js similarity index 100% rename from tools/eslint/lib/rules/object-property-newline.js rename to tools/node_modules/eslint/lib/rules/object-property-newline.js diff --git a/tools/eslint/lib/rules/object-shorthand.js b/tools/node_modules/eslint/lib/rules/object-shorthand.js similarity index 100% rename from tools/eslint/lib/rules/object-shorthand.js rename to tools/node_modules/eslint/lib/rules/object-shorthand.js diff --git a/tools/eslint/lib/rules/one-var-declaration-per-line.js b/tools/node_modules/eslint/lib/rules/one-var-declaration-per-line.js similarity index 100% rename from tools/eslint/lib/rules/one-var-declaration-per-line.js rename to tools/node_modules/eslint/lib/rules/one-var-declaration-per-line.js diff --git a/tools/eslint/lib/rules/one-var.js b/tools/node_modules/eslint/lib/rules/one-var.js similarity index 100% rename from tools/eslint/lib/rules/one-var.js rename to tools/node_modules/eslint/lib/rules/one-var.js diff --git a/tools/eslint/lib/rules/operator-assignment.js b/tools/node_modules/eslint/lib/rules/operator-assignment.js similarity index 100% rename from tools/eslint/lib/rules/operator-assignment.js rename to tools/node_modules/eslint/lib/rules/operator-assignment.js diff --git a/tools/eslint/lib/rules/operator-linebreak.js b/tools/node_modules/eslint/lib/rules/operator-linebreak.js similarity index 100% rename from tools/eslint/lib/rules/operator-linebreak.js rename to tools/node_modules/eslint/lib/rules/operator-linebreak.js diff --git a/tools/eslint/lib/rules/padded-blocks.js b/tools/node_modules/eslint/lib/rules/padded-blocks.js similarity index 100% rename from tools/eslint/lib/rules/padded-blocks.js rename to tools/node_modules/eslint/lib/rules/padded-blocks.js diff --git a/tools/eslint/lib/rules/padding-line-between-statements.js b/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js similarity index 100% rename from tools/eslint/lib/rules/padding-line-between-statements.js rename to tools/node_modules/eslint/lib/rules/padding-line-between-statements.js diff --git a/tools/eslint/lib/rules/prefer-arrow-callback.js b/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js similarity index 100% rename from tools/eslint/lib/rules/prefer-arrow-callback.js rename to tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js diff --git a/tools/eslint/lib/rules/prefer-const.js b/tools/node_modules/eslint/lib/rules/prefer-const.js similarity index 100% rename from tools/eslint/lib/rules/prefer-const.js rename to tools/node_modules/eslint/lib/rules/prefer-const.js diff --git a/tools/eslint/lib/rules/prefer-destructuring.js b/tools/node_modules/eslint/lib/rules/prefer-destructuring.js similarity index 100% rename from tools/eslint/lib/rules/prefer-destructuring.js rename to tools/node_modules/eslint/lib/rules/prefer-destructuring.js diff --git a/tools/eslint/lib/rules/prefer-numeric-literals.js b/tools/node_modules/eslint/lib/rules/prefer-numeric-literals.js similarity index 100% rename from tools/eslint/lib/rules/prefer-numeric-literals.js rename to tools/node_modules/eslint/lib/rules/prefer-numeric-literals.js diff --git a/tools/eslint/lib/rules/prefer-promise-reject-errors.js b/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js similarity index 100% rename from tools/eslint/lib/rules/prefer-promise-reject-errors.js rename to tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js diff --git a/tools/eslint/lib/rules/prefer-reflect.js b/tools/node_modules/eslint/lib/rules/prefer-reflect.js similarity index 100% rename from tools/eslint/lib/rules/prefer-reflect.js rename to tools/node_modules/eslint/lib/rules/prefer-reflect.js diff --git a/tools/eslint/lib/rules/prefer-rest-params.js b/tools/node_modules/eslint/lib/rules/prefer-rest-params.js similarity index 100% rename from tools/eslint/lib/rules/prefer-rest-params.js rename to tools/node_modules/eslint/lib/rules/prefer-rest-params.js diff --git a/tools/eslint/lib/rules/prefer-spread.js b/tools/node_modules/eslint/lib/rules/prefer-spread.js similarity index 100% rename from tools/eslint/lib/rules/prefer-spread.js rename to tools/node_modules/eslint/lib/rules/prefer-spread.js diff --git a/tools/eslint/lib/rules/prefer-template.js b/tools/node_modules/eslint/lib/rules/prefer-template.js similarity index 100% rename from tools/eslint/lib/rules/prefer-template.js rename to tools/node_modules/eslint/lib/rules/prefer-template.js diff --git a/tools/eslint/lib/rules/quote-props.js b/tools/node_modules/eslint/lib/rules/quote-props.js similarity index 100% rename from tools/eslint/lib/rules/quote-props.js rename to tools/node_modules/eslint/lib/rules/quote-props.js diff --git a/tools/eslint/lib/rules/quotes.js b/tools/node_modules/eslint/lib/rules/quotes.js similarity index 100% rename from tools/eslint/lib/rules/quotes.js rename to tools/node_modules/eslint/lib/rules/quotes.js diff --git a/tools/eslint/lib/rules/radix.js b/tools/node_modules/eslint/lib/rules/radix.js similarity index 100% rename from tools/eslint/lib/rules/radix.js rename to tools/node_modules/eslint/lib/rules/radix.js diff --git a/tools/eslint/lib/rules/require-await.js b/tools/node_modules/eslint/lib/rules/require-await.js similarity index 100% rename from tools/eslint/lib/rules/require-await.js rename to tools/node_modules/eslint/lib/rules/require-await.js diff --git a/tools/eslint/lib/rules/require-jsdoc.js b/tools/node_modules/eslint/lib/rules/require-jsdoc.js similarity index 100% rename from tools/eslint/lib/rules/require-jsdoc.js rename to tools/node_modules/eslint/lib/rules/require-jsdoc.js diff --git a/tools/eslint/lib/rules/require-yield.js b/tools/node_modules/eslint/lib/rules/require-yield.js similarity index 100% rename from tools/eslint/lib/rules/require-yield.js rename to tools/node_modules/eslint/lib/rules/require-yield.js diff --git a/tools/eslint/lib/rules/rest-spread-spacing.js b/tools/node_modules/eslint/lib/rules/rest-spread-spacing.js similarity index 100% rename from tools/eslint/lib/rules/rest-spread-spacing.js rename to tools/node_modules/eslint/lib/rules/rest-spread-spacing.js diff --git a/tools/eslint/lib/rules/semi-spacing.js b/tools/node_modules/eslint/lib/rules/semi-spacing.js similarity index 100% rename from tools/eslint/lib/rules/semi-spacing.js rename to tools/node_modules/eslint/lib/rules/semi-spacing.js diff --git a/tools/eslint/lib/rules/semi-style.js b/tools/node_modules/eslint/lib/rules/semi-style.js similarity index 100% rename from tools/eslint/lib/rules/semi-style.js rename to tools/node_modules/eslint/lib/rules/semi-style.js diff --git a/tools/eslint/lib/rules/semi.js b/tools/node_modules/eslint/lib/rules/semi.js similarity index 100% rename from tools/eslint/lib/rules/semi.js rename to tools/node_modules/eslint/lib/rules/semi.js diff --git a/tools/eslint/lib/rules/sort-imports.js b/tools/node_modules/eslint/lib/rules/sort-imports.js similarity index 100% rename from tools/eslint/lib/rules/sort-imports.js rename to tools/node_modules/eslint/lib/rules/sort-imports.js diff --git a/tools/eslint/lib/rules/sort-keys.js b/tools/node_modules/eslint/lib/rules/sort-keys.js similarity index 100% rename from tools/eslint/lib/rules/sort-keys.js rename to tools/node_modules/eslint/lib/rules/sort-keys.js diff --git a/tools/eslint/lib/rules/sort-vars.js b/tools/node_modules/eslint/lib/rules/sort-vars.js similarity index 100% rename from tools/eslint/lib/rules/sort-vars.js rename to tools/node_modules/eslint/lib/rules/sort-vars.js diff --git a/tools/eslint/lib/rules/space-before-blocks.js b/tools/node_modules/eslint/lib/rules/space-before-blocks.js similarity index 100% rename from tools/eslint/lib/rules/space-before-blocks.js rename to tools/node_modules/eslint/lib/rules/space-before-blocks.js diff --git a/tools/eslint/lib/rules/space-before-function-paren.js b/tools/node_modules/eslint/lib/rules/space-before-function-paren.js similarity index 100% rename from tools/eslint/lib/rules/space-before-function-paren.js rename to tools/node_modules/eslint/lib/rules/space-before-function-paren.js diff --git a/tools/eslint/lib/rules/space-in-parens.js b/tools/node_modules/eslint/lib/rules/space-in-parens.js similarity index 100% rename from tools/eslint/lib/rules/space-in-parens.js rename to tools/node_modules/eslint/lib/rules/space-in-parens.js diff --git a/tools/eslint/lib/rules/space-infix-ops.js b/tools/node_modules/eslint/lib/rules/space-infix-ops.js similarity index 100% rename from tools/eslint/lib/rules/space-infix-ops.js rename to tools/node_modules/eslint/lib/rules/space-infix-ops.js diff --git a/tools/eslint/lib/rules/space-unary-ops.js b/tools/node_modules/eslint/lib/rules/space-unary-ops.js similarity index 100% rename from tools/eslint/lib/rules/space-unary-ops.js rename to tools/node_modules/eslint/lib/rules/space-unary-ops.js diff --git a/tools/eslint/lib/rules/spaced-comment.js b/tools/node_modules/eslint/lib/rules/spaced-comment.js similarity index 100% rename from tools/eslint/lib/rules/spaced-comment.js rename to tools/node_modules/eslint/lib/rules/spaced-comment.js diff --git a/tools/eslint/lib/rules/strict.js b/tools/node_modules/eslint/lib/rules/strict.js similarity index 100% rename from tools/eslint/lib/rules/strict.js rename to tools/node_modules/eslint/lib/rules/strict.js diff --git a/tools/eslint/lib/rules/switch-colon-spacing.js b/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js similarity index 100% rename from tools/eslint/lib/rules/switch-colon-spacing.js rename to tools/node_modules/eslint/lib/rules/switch-colon-spacing.js diff --git a/tools/eslint/lib/rules/symbol-description.js b/tools/node_modules/eslint/lib/rules/symbol-description.js similarity index 100% rename from tools/eslint/lib/rules/symbol-description.js rename to tools/node_modules/eslint/lib/rules/symbol-description.js diff --git a/tools/eslint/lib/rules/template-curly-spacing.js b/tools/node_modules/eslint/lib/rules/template-curly-spacing.js similarity index 100% rename from tools/eslint/lib/rules/template-curly-spacing.js rename to tools/node_modules/eslint/lib/rules/template-curly-spacing.js diff --git a/tools/eslint/lib/rules/template-tag-spacing.js b/tools/node_modules/eslint/lib/rules/template-tag-spacing.js similarity index 100% rename from tools/eslint/lib/rules/template-tag-spacing.js rename to tools/node_modules/eslint/lib/rules/template-tag-spacing.js diff --git a/tools/eslint/lib/rules/unicode-bom.js b/tools/node_modules/eslint/lib/rules/unicode-bom.js similarity index 100% rename from tools/eslint/lib/rules/unicode-bom.js rename to tools/node_modules/eslint/lib/rules/unicode-bom.js diff --git a/tools/eslint/lib/rules/use-isnan.js b/tools/node_modules/eslint/lib/rules/use-isnan.js similarity index 100% rename from tools/eslint/lib/rules/use-isnan.js rename to tools/node_modules/eslint/lib/rules/use-isnan.js diff --git a/tools/eslint/lib/rules/valid-jsdoc.js b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js similarity index 100% rename from tools/eslint/lib/rules/valid-jsdoc.js rename to tools/node_modules/eslint/lib/rules/valid-jsdoc.js diff --git a/tools/eslint/lib/rules/valid-typeof.js b/tools/node_modules/eslint/lib/rules/valid-typeof.js similarity index 100% rename from tools/eslint/lib/rules/valid-typeof.js rename to tools/node_modules/eslint/lib/rules/valid-typeof.js diff --git a/tools/eslint/lib/rules/vars-on-top.js b/tools/node_modules/eslint/lib/rules/vars-on-top.js similarity index 100% rename from tools/eslint/lib/rules/vars-on-top.js rename to tools/node_modules/eslint/lib/rules/vars-on-top.js diff --git a/tools/eslint/lib/rules/wrap-iife.js b/tools/node_modules/eslint/lib/rules/wrap-iife.js similarity index 100% rename from tools/eslint/lib/rules/wrap-iife.js rename to tools/node_modules/eslint/lib/rules/wrap-iife.js diff --git a/tools/eslint/lib/rules/wrap-regex.js b/tools/node_modules/eslint/lib/rules/wrap-regex.js similarity index 100% rename from tools/eslint/lib/rules/wrap-regex.js rename to tools/node_modules/eslint/lib/rules/wrap-regex.js diff --git a/tools/eslint/lib/rules/yield-star-spacing.js b/tools/node_modules/eslint/lib/rules/yield-star-spacing.js similarity index 100% rename from tools/eslint/lib/rules/yield-star-spacing.js rename to tools/node_modules/eslint/lib/rules/yield-star-spacing.js diff --git a/tools/eslint/lib/rules/yoda.js b/tools/node_modules/eslint/lib/rules/yoda.js similarity index 100% rename from tools/eslint/lib/rules/yoda.js rename to tools/node_modules/eslint/lib/rules/yoda.js diff --git a/tools/eslint/lib/testers/rule-tester.js b/tools/node_modules/eslint/lib/testers/rule-tester.js similarity index 100% rename from tools/eslint/lib/testers/rule-tester.js rename to tools/node_modules/eslint/lib/testers/rule-tester.js diff --git a/tools/eslint/lib/timing.js b/tools/node_modules/eslint/lib/timing.js similarity index 100% rename from tools/eslint/lib/timing.js rename to tools/node_modules/eslint/lib/timing.js diff --git a/tools/eslint/lib/token-store/backward-token-comment-cursor.js b/tools/node_modules/eslint/lib/token-store/backward-token-comment-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/backward-token-comment-cursor.js rename to tools/node_modules/eslint/lib/token-store/backward-token-comment-cursor.js diff --git a/tools/eslint/lib/token-store/backward-token-cursor.js b/tools/node_modules/eslint/lib/token-store/backward-token-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/backward-token-cursor.js rename to tools/node_modules/eslint/lib/token-store/backward-token-cursor.js diff --git a/tools/eslint/lib/token-store/cursor.js b/tools/node_modules/eslint/lib/token-store/cursor.js similarity index 100% rename from tools/eslint/lib/token-store/cursor.js rename to tools/node_modules/eslint/lib/token-store/cursor.js diff --git a/tools/eslint/lib/token-store/cursors.js b/tools/node_modules/eslint/lib/token-store/cursors.js similarity index 100% rename from tools/eslint/lib/token-store/cursors.js rename to tools/node_modules/eslint/lib/token-store/cursors.js diff --git a/tools/eslint/lib/token-store/decorative-cursor.js b/tools/node_modules/eslint/lib/token-store/decorative-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/decorative-cursor.js rename to tools/node_modules/eslint/lib/token-store/decorative-cursor.js diff --git a/tools/eslint/lib/token-store/filter-cursor.js b/tools/node_modules/eslint/lib/token-store/filter-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/filter-cursor.js rename to tools/node_modules/eslint/lib/token-store/filter-cursor.js diff --git a/tools/eslint/lib/token-store/forward-token-comment-cursor.js b/tools/node_modules/eslint/lib/token-store/forward-token-comment-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/forward-token-comment-cursor.js rename to tools/node_modules/eslint/lib/token-store/forward-token-comment-cursor.js diff --git a/tools/eslint/lib/token-store/forward-token-cursor.js b/tools/node_modules/eslint/lib/token-store/forward-token-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/forward-token-cursor.js rename to tools/node_modules/eslint/lib/token-store/forward-token-cursor.js diff --git a/tools/eslint/lib/token-store/index.js b/tools/node_modules/eslint/lib/token-store/index.js similarity index 100% rename from tools/eslint/lib/token-store/index.js rename to tools/node_modules/eslint/lib/token-store/index.js diff --git a/tools/eslint/lib/token-store/limit-cursor.js b/tools/node_modules/eslint/lib/token-store/limit-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/limit-cursor.js rename to tools/node_modules/eslint/lib/token-store/limit-cursor.js diff --git a/tools/eslint/lib/token-store/padded-token-cursor.js b/tools/node_modules/eslint/lib/token-store/padded-token-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/padded-token-cursor.js rename to tools/node_modules/eslint/lib/token-store/padded-token-cursor.js diff --git a/tools/eslint/lib/token-store/skip-cursor.js b/tools/node_modules/eslint/lib/token-store/skip-cursor.js similarity index 100% rename from tools/eslint/lib/token-store/skip-cursor.js rename to tools/node_modules/eslint/lib/token-store/skip-cursor.js diff --git a/tools/eslint/lib/token-store/utils.js b/tools/node_modules/eslint/lib/token-store/utils.js similarity index 100% rename from tools/eslint/lib/token-store/utils.js rename to tools/node_modules/eslint/lib/token-store/utils.js diff --git a/tools/eslint/lib/util/ajv.js b/tools/node_modules/eslint/lib/util/ajv.js similarity index 100% rename from tools/eslint/lib/util/ajv.js rename to tools/node_modules/eslint/lib/util/ajv.js diff --git a/tools/eslint/lib/util/apply-disable-directives.js b/tools/node_modules/eslint/lib/util/apply-disable-directives.js similarity index 100% rename from tools/eslint/lib/util/apply-disable-directives.js rename to tools/node_modules/eslint/lib/util/apply-disable-directives.js diff --git a/tools/eslint/lib/util/fix-tracker.js b/tools/node_modules/eslint/lib/util/fix-tracker.js similarity index 100% rename from tools/eslint/lib/util/fix-tracker.js rename to tools/node_modules/eslint/lib/util/fix-tracker.js diff --git a/tools/eslint/lib/util/glob-util.js b/tools/node_modules/eslint/lib/util/glob-util.js similarity index 100% rename from tools/eslint/lib/util/glob-util.js rename to tools/node_modules/eslint/lib/util/glob-util.js diff --git a/tools/eslint/lib/util/glob.js b/tools/node_modules/eslint/lib/util/glob.js similarity index 100% rename from tools/eslint/lib/util/glob.js rename to tools/node_modules/eslint/lib/util/glob.js diff --git a/tools/eslint/lib/util/hash.js b/tools/node_modules/eslint/lib/util/hash.js similarity index 100% rename from tools/eslint/lib/util/hash.js rename to tools/node_modules/eslint/lib/util/hash.js diff --git a/tools/eslint/lib/util/keywords.js b/tools/node_modules/eslint/lib/util/keywords.js similarity index 100% rename from tools/eslint/lib/util/keywords.js rename to tools/node_modules/eslint/lib/util/keywords.js diff --git a/tools/eslint/lib/util/module-resolver.js b/tools/node_modules/eslint/lib/util/module-resolver.js similarity index 100% rename from tools/eslint/lib/util/module-resolver.js rename to tools/node_modules/eslint/lib/util/module-resolver.js diff --git a/tools/eslint/lib/util/naming.js b/tools/node_modules/eslint/lib/util/naming.js similarity index 100% rename from tools/eslint/lib/util/naming.js rename to tools/node_modules/eslint/lib/util/naming.js diff --git a/tools/eslint/lib/util/node-event-generator.js b/tools/node_modules/eslint/lib/util/node-event-generator.js similarity index 100% rename from tools/eslint/lib/util/node-event-generator.js rename to tools/node_modules/eslint/lib/util/node-event-generator.js diff --git a/tools/eslint/lib/util/npm-util.js b/tools/node_modules/eslint/lib/util/npm-util.js similarity index 100% rename from tools/eslint/lib/util/npm-util.js rename to tools/node_modules/eslint/lib/util/npm-util.js diff --git a/tools/eslint/lib/util/path-util.js b/tools/node_modules/eslint/lib/util/path-util.js similarity index 100% rename from tools/eslint/lib/util/path-util.js rename to tools/node_modules/eslint/lib/util/path-util.js diff --git a/tools/eslint/lib/util/patterns/letters.js b/tools/node_modules/eslint/lib/util/patterns/letters.js similarity index 100% rename from tools/eslint/lib/util/patterns/letters.js rename to tools/node_modules/eslint/lib/util/patterns/letters.js diff --git a/tools/eslint/lib/util/rule-fixer.js b/tools/node_modules/eslint/lib/util/rule-fixer.js similarity index 100% rename from tools/eslint/lib/util/rule-fixer.js rename to tools/node_modules/eslint/lib/util/rule-fixer.js diff --git a/tools/eslint/lib/util/safe-emitter.js b/tools/node_modules/eslint/lib/util/safe-emitter.js similarity index 100% rename from tools/eslint/lib/util/safe-emitter.js rename to tools/node_modules/eslint/lib/util/safe-emitter.js diff --git a/tools/eslint/lib/util/source-code-fixer.js b/tools/node_modules/eslint/lib/util/source-code-fixer.js similarity index 100% rename from tools/eslint/lib/util/source-code-fixer.js rename to tools/node_modules/eslint/lib/util/source-code-fixer.js diff --git a/tools/eslint/lib/util/source-code-util.js b/tools/node_modules/eslint/lib/util/source-code-util.js similarity index 100% rename from tools/eslint/lib/util/source-code-util.js rename to tools/node_modules/eslint/lib/util/source-code-util.js diff --git a/tools/eslint/lib/util/source-code.js b/tools/node_modules/eslint/lib/util/source-code.js similarity index 100% rename from tools/eslint/lib/util/source-code.js rename to tools/node_modules/eslint/lib/util/source-code.js diff --git a/tools/eslint/lib/util/traverser.js b/tools/node_modules/eslint/lib/util/traverser.js similarity index 100% rename from tools/eslint/lib/util/traverser.js rename to tools/node_modules/eslint/lib/util/traverser.js diff --git a/tools/eslint/lib/util/xml-escape.js b/tools/node_modules/eslint/lib/util/xml-escape.js similarity index 100% rename from tools/eslint/lib/util/xml-escape.js rename to tools/node_modules/eslint/lib/util/xml-escape.js diff --git a/tools/eslint/messages/extend-config-missing.txt b/tools/node_modules/eslint/messages/extend-config-missing.txt similarity index 100% rename from tools/eslint/messages/extend-config-missing.txt rename to tools/node_modules/eslint/messages/extend-config-missing.txt diff --git a/tools/eslint/messages/no-config-found.txt b/tools/node_modules/eslint/messages/no-config-found.txt similarity index 100% rename from tools/eslint/messages/no-config-found.txt rename to tools/node_modules/eslint/messages/no-config-found.txt diff --git a/tools/eslint/messages/plugin-missing.txt b/tools/node_modules/eslint/messages/plugin-missing.txt similarity index 100% rename from tools/eslint/messages/plugin-missing.txt rename to tools/node_modules/eslint/messages/plugin-missing.txt diff --git a/tools/eslint/messages/whitespace-found.txt b/tools/node_modules/eslint/messages/whitespace-found.txt similarity index 100% rename from tools/eslint/messages/whitespace-found.txt rename to tools/node_modules/eslint/messages/whitespace-found.txt diff --git a/tools/eslint/node_modules/acorn-jsx/LICENSE b/tools/node_modules/eslint/node_modules/acorn-jsx/LICENSE similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/LICENSE rename to tools/node_modules/eslint/node_modules/acorn-jsx/LICENSE diff --git a/tools/eslint/node_modules/acorn-jsx/README.md b/tools/node_modules/eslint/node_modules/acorn-jsx/README.md similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/README.md rename to tools/node_modules/eslint/node_modules/acorn-jsx/README.md diff --git a/tools/eslint/node_modules/acorn-jsx/index.js b/tools/node_modules/eslint/node_modules/acorn-jsx/index.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/index.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/index.js diff --git a/tools/eslint/node_modules/acorn-jsx/inject.js b/tools/node_modules/eslint/node_modules/acorn-jsx/inject.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/inject.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/inject.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/.tern-project diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/AUTHORS diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/LICENSE diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/README.md diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/acorn diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/generate-identifier-regex.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/bin/update_authors.sh diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/.keep diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.es.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.es.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.es.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.es.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.es.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/acorn_loose.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.es.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.es.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.es.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.es.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/dist/walk.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.bin.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.bin.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.bin.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.bin.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.loose.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.loose.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.loose.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.loose.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.main.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.main.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.main.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.main.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.walk.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.walk.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.walk.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/rollup/config.walk.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/bin/acorn.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/expression.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/identifier.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/index.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/location.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/locutil.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/expression.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/index.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/parseutil.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/state.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/statement.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/loose/tokenize.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/lval.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/node.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/options.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/parseutil.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/state.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/statement.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokencontext.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokenize.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/tokentype.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/util.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/walk/index.js diff --git a/tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/src/whitespace.js diff --git a/tools/eslint/node_modules/acorn-jsx/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/package.json rename to tools/node_modules/eslint/node_modules/acorn-jsx/package.json diff --git a/tools/eslint/node_modules/acorn-jsx/xhtml.js b/tools/node_modules/eslint/node_modules/acorn-jsx/xhtml.js similarity index 100% rename from tools/eslint/node_modules/acorn-jsx/xhtml.js rename to tools/node_modules/eslint/node_modules/acorn-jsx/xhtml.js diff --git a/tools/eslint/node_modules/acorn/AUTHORS b/tools/node_modules/eslint/node_modules/acorn/AUTHORS similarity index 100% rename from tools/eslint/node_modules/acorn/AUTHORS rename to tools/node_modules/eslint/node_modules/acorn/AUTHORS diff --git a/tools/eslint/node_modules/acorn/LICENSE b/tools/node_modules/eslint/node_modules/acorn/LICENSE similarity index 100% rename from tools/eslint/node_modules/acorn/LICENSE rename to tools/node_modules/eslint/node_modules/acorn/LICENSE diff --git a/tools/eslint/node_modules/acorn/README.md b/tools/node_modules/eslint/node_modules/acorn/README.md similarity index 100% rename from tools/eslint/node_modules/acorn/README.md rename to tools/node_modules/eslint/node_modules/acorn/README.md diff --git a/tools/eslint/node_modules/acorn/bin/acorn b/tools/node_modules/eslint/node_modules/acorn/bin/acorn similarity index 100% rename from tools/eslint/node_modules/acorn/bin/acorn rename to tools/node_modules/eslint/node_modules/acorn/bin/acorn diff --git a/tools/eslint/node_modules/acorn/dist/.keep b/tools/node_modules/eslint/node_modules/acorn/dist/.keep similarity index 100% rename from tools/eslint/node_modules/acorn/dist/.keep rename to tools/node_modules/eslint/node_modules/acorn/dist/.keep diff --git a/tools/eslint/node_modules/acorn/dist/acorn.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js similarity index 100% rename from tools/eslint/node_modules/acorn/dist/acorn.es.js rename to tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js diff --git a/tools/eslint/node_modules/acorn/dist/acorn.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js similarity index 100% rename from tools/eslint/node_modules/acorn/dist/acorn.js rename to tools/node_modules/eslint/node_modules/acorn/dist/acorn.js diff --git a/tools/eslint/node_modules/acorn/dist/acorn_loose.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js similarity index 100% rename from tools/eslint/node_modules/acorn/dist/acorn_loose.es.js rename to tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.es.js diff --git a/tools/eslint/node_modules/acorn/dist/acorn_loose.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js similarity index 100% rename from tools/eslint/node_modules/acorn/dist/acorn_loose.js rename to tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js diff --git a/tools/eslint/node_modules/acorn/dist/walk.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js similarity index 100% rename from tools/eslint/node_modules/acorn/dist/walk.es.js rename to tools/node_modules/eslint/node_modules/acorn/dist/walk.es.js diff --git a/tools/eslint/node_modules/acorn/dist/walk.js b/tools/node_modules/eslint/node_modules/acorn/dist/walk.js similarity index 100% rename from tools/eslint/node_modules/acorn/dist/walk.js rename to tools/node_modules/eslint/node_modules/acorn/dist/walk.js diff --git a/tools/eslint/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn/package.json similarity index 100% rename from tools/eslint/node_modules/acorn/package.json rename to tools/node_modules/eslint/node_modules/acorn/package.json diff --git a/tools/eslint/node_modules/ajv-keywords/LICENSE b/tools/node_modules/eslint/node_modules/ajv-keywords/LICENSE similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/LICENSE rename to tools/node_modules/eslint/node_modules/ajv-keywords/LICENSE diff --git a/tools/eslint/node_modules/ajv-keywords/README.md b/tools/node_modules/eslint/node_modules/ajv-keywords/README.md similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/README.md rename to tools/node_modules/eslint/node_modules/ajv-keywords/README.md diff --git a/tools/eslint/node_modules/ajv-keywords/index.js b/tools/node_modules/eslint/node_modules/ajv-keywords/index.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/index.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/index.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/_formatLimit.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/_formatLimit.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/_formatLimit.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/_formatLimit.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/_util.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/_util.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/_util.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/_util.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/deepProperties.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/deepProperties.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/deepProperties.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/deepProperties.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/deepRequired.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/deepRequired.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/deepRequired.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/deepRequired.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dot/patternRequired.jst b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dot/patternRequired.jst similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dot/patternRequired.jst rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dot/patternRequired.jst diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dot/switch.jst b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dot/switch.jst similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dot/switch.jst rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dot/switch.jst diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dotjs/README.md b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/README.md similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dotjs/README.md rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/README.md diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dotjs/switch.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/switch.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dotjs/switch.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dotjs/switch.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/dynamicDefaults.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dynamicDefaults.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/dynamicDefaults.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/dynamicDefaults.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/formatMaximum.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/formatMaximum.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/formatMaximum.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/formatMaximum.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/formatMinimum.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/formatMinimum.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/formatMinimum.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/formatMinimum.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/if.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/if.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/if.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/if.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/index.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/index.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/index.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/index.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/instanceof.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/instanceof.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/instanceof.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/instanceof.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/patternRequired.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/patternRequired.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/patternRequired.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/patternRequired.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/prohibited.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/prohibited.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/prohibited.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/prohibited.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/range.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/range.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/range.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/range.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/regexp.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/regexp.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/regexp.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/regexp.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/select.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/select.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/select.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/select.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/switch.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/switch.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/switch.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/switch.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/typeof.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/typeof.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/typeof.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/typeof.js diff --git a/tools/eslint/node_modules/ajv-keywords/keywords/uniqueItemProperties.js b/tools/node_modules/eslint/node_modules/ajv-keywords/keywords/uniqueItemProperties.js similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/keywords/uniqueItemProperties.js rename to tools/node_modules/eslint/node_modules/ajv-keywords/keywords/uniqueItemProperties.js diff --git a/tools/eslint/node_modules/ajv-keywords/package.json b/tools/node_modules/eslint/node_modules/ajv-keywords/package.json similarity index 100% rename from tools/eslint/node_modules/ajv-keywords/package.json rename to tools/node_modules/eslint/node_modules/ajv-keywords/package.json diff --git a/tools/eslint/node_modules/ajv/.tonic_example.js b/tools/node_modules/eslint/node_modules/ajv/.tonic_example.js similarity index 100% rename from tools/eslint/node_modules/ajv/.tonic_example.js rename to tools/node_modules/eslint/node_modules/ajv/.tonic_example.js diff --git a/tools/eslint/node_modules/ajv/LICENSE b/tools/node_modules/eslint/node_modules/ajv/LICENSE similarity index 100% rename from tools/eslint/node_modules/ajv/LICENSE rename to tools/node_modules/eslint/node_modules/ajv/LICENSE diff --git a/tools/eslint/node_modules/ajv/README.md b/tools/node_modules/eslint/node_modules/ajv/README.md similarity index 100% rename from tools/eslint/node_modules/ajv/README.md rename to tools/node_modules/eslint/node_modules/ajv/README.md diff --git a/tools/eslint/node_modules/ajv/dist/ajv.bundle.js b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js similarity index 100% rename from tools/eslint/node_modules/ajv/dist/ajv.bundle.js rename to tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js diff --git a/tools/eslint/node_modules/ajv/dist/ajv.min.js b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js similarity index 100% rename from tools/eslint/node_modules/ajv/dist/ajv.min.js rename to tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js diff --git a/tools/eslint/node_modules/ajv/dist/ajv.min.js.map b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map similarity index 100% rename from tools/eslint/node_modules/ajv/dist/ajv.min.js.map rename to tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map diff --git a/tools/eslint/node_modules/ajv/dist/nodent.min.js b/tools/node_modules/eslint/node_modules/ajv/dist/nodent.min.js similarity index 100% rename from tools/eslint/node_modules/ajv/dist/nodent.min.js rename to tools/node_modules/eslint/node_modules/ajv/dist/nodent.min.js diff --git a/tools/eslint/node_modules/ajv/dist/regenerator.min.js b/tools/node_modules/eslint/node_modules/ajv/dist/regenerator.min.js similarity index 100% rename from tools/eslint/node_modules/ajv/dist/regenerator.min.js rename to tools/node_modules/eslint/node_modules/ajv/dist/regenerator.min.js diff --git a/tools/eslint/node_modules/ajv/lib/$data.js b/tools/node_modules/eslint/node_modules/ajv/lib/$data.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/$data.js rename to tools/node_modules/eslint/node_modules/ajv/lib/$data.js diff --git a/tools/eslint/node_modules/ajv/lib/ajv.d.ts b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts similarity index 100% rename from tools/eslint/node_modules/ajv/lib/ajv.d.ts rename to tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts diff --git a/tools/eslint/node_modules/ajv/lib/ajv.js b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/ajv.js rename to tools/node_modules/eslint/node_modules/ajv/lib/ajv.js diff --git a/tools/eslint/node_modules/ajv/lib/cache.js b/tools/node_modules/eslint/node_modules/ajv/lib/cache.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/cache.js rename to tools/node_modules/eslint/node_modules/ajv/lib/cache.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/_rules.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/_rules.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/_rules.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/_rules.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/async.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/async.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/async.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/async.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/equal.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/equal.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/error_classes.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/error_classes.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/error_classes.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/error_classes.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/formats.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/formats.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/formats.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/formats.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/index.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/index.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/index.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/index.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/resolve.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/resolve.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/resolve.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/resolve.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/rules.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/rules.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/rules.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/rules.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/schema_obj.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/schema_obj.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/schema_obj.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/schema_obj.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/ucs2length.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/ucs2length.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/ucs2length.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/ucs2length.js diff --git a/tools/eslint/node_modules/ajv/lib/compile/util.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/util.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/compile/util.js rename to tools/node_modules/eslint/node_modules/ajv/lib/compile/util.js diff --git a/tools/eslint/node_modules/ajv/lib/dot/_limit.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/_limit.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/_limit.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/_limit.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/_limitItems.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/_limitItems.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/_limitItems.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/_limitItems.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/_limitLength.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/_limitLength.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/_limitLength.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/_limitLength.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/_limitProperties.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/_limitProperties.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/_limitProperties.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/_limitProperties.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/allOf.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/allOf.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/allOf.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/allOf.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/anyOf.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/anyOf.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/anyOf.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/anyOf.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/coerce.def b/tools/node_modules/eslint/node_modules/ajv/lib/dot/coerce.def similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/coerce.def rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/coerce.def diff --git a/tools/eslint/node_modules/ajv/lib/dot/const.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/const.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/const.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/const.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/contains.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/contains.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/contains.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/contains.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/custom.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/custom.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/defaults.def b/tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/defaults.def rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def diff --git a/tools/eslint/node_modules/ajv/lib/dot/definitions.def b/tools/node_modules/eslint/node_modules/ajv/lib/dot/definitions.def similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/definitions.def rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/definitions.def diff --git a/tools/eslint/node_modules/ajv/lib/dot/dependencies.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/dependencies.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/dependencies.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/dependencies.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/enum.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/enum.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/enum.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/enum.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/errors.def b/tools/node_modules/eslint/node_modules/ajv/lib/dot/errors.def similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/errors.def rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/errors.def diff --git a/tools/eslint/node_modules/ajv/lib/dot/format.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/format.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/format.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/format.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/items.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/items.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/items.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/items.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/missing.def b/tools/node_modules/eslint/node_modules/ajv/lib/dot/missing.def similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/missing.def rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/missing.def diff --git a/tools/eslint/node_modules/ajv/lib/dot/multipleOf.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/multipleOf.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/multipleOf.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/multipleOf.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/not.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/not.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/not.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/not.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/oneOf.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/oneOf.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/oneOf.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/oneOf.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/pattern.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/pattern.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/pattern.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/pattern.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/properties.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/properties.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/properties.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/properties.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/propertyNames.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/propertyNames.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/propertyNames.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/propertyNames.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/ref.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/ref.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/ref.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/ref.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/required.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/required.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/required.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/required.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/uniqueItems.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/uniqueItems.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/uniqueItems.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/uniqueItems.jst diff --git a/tools/eslint/node_modules/ajv/lib/dot/validate.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dot/validate.jst rename to tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/README.md b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/README.md similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/README.md rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/README.md diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/_limit.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/_limit.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/_limitItems.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/_limitItems.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/_limitLength.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/_limitLength.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/allOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/allOf.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/anyOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/anyOf.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/const.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/const.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/contains.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/contains.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/custom.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/custom.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/dependencies.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/dependencies.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/enum.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/enum.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/format.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/format.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/items.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/items.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/multipleOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/multipleOf.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/not.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/not.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/oneOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/oneOf.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/pattern.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/pattern.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/properties.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/properties.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/propertyNames.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/propertyNames.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/ref.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/ref.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/required.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/required.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js diff --git a/tools/eslint/node_modules/ajv/lib/dotjs/validate.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/dotjs/validate.js rename to tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js diff --git a/tools/eslint/node_modules/ajv/lib/keyword.js b/tools/node_modules/eslint/node_modules/ajv/lib/keyword.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/keyword.js rename to tools/node_modules/eslint/node_modules/ajv/lib/keyword.js diff --git a/tools/eslint/node_modules/ajv/lib/patternGroups.js b/tools/node_modules/eslint/node_modules/ajv/lib/patternGroups.js similarity index 100% rename from tools/eslint/node_modules/ajv/lib/patternGroups.js rename to tools/node_modules/eslint/node_modules/ajv/lib/patternGroups.js diff --git a/tools/eslint/node_modules/ajv/lib/refs/$data.json b/tools/node_modules/eslint/node_modules/ajv/lib/refs/$data.json similarity index 100% rename from tools/eslint/node_modules/ajv/lib/refs/$data.json rename to tools/node_modules/eslint/node_modules/ajv/lib/refs/$data.json diff --git a/tools/eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json b/tools/node_modules/eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json similarity index 100% rename from tools/eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json rename to tools/node_modules/eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json diff --git a/tools/eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json b/tools/node_modules/eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json similarity index 100% rename from tools/eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json rename to tools/node_modules/eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json diff --git a/tools/eslint/node_modules/ajv/lib/refs/json-schema-v5.json b/tools/node_modules/eslint/node_modules/ajv/lib/refs/json-schema-v5.json similarity index 100% rename from tools/eslint/node_modules/ajv/lib/refs/json-schema-v5.json rename to tools/node_modules/eslint/node_modules/ajv/lib/refs/json-schema-v5.json diff --git a/tools/eslint/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/ajv/package.json similarity index 100% rename from tools/eslint/node_modules/ajv/package.json rename to tools/node_modules/eslint/node_modules/ajv/package.json diff --git a/tools/eslint/node_modules/ajv/scripts/.eslintrc.yml b/tools/node_modules/eslint/node_modules/ajv/scripts/.eslintrc.yml similarity index 100% rename from tools/eslint/node_modules/ajv/scripts/.eslintrc.yml rename to tools/node_modules/eslint/node_modules/ajv/scripts/.eslintrc.yml diff --git a/tools/eslint/node_modules/ajv/scripts/bundle.js b/tools/node_modules/eslint/node_modules/ajv/scripts/bundle.js similarity index 100% rename from tools/eslint/node_modules/ajv/scripts/bundle.js rename to tools/node_modules/eslint/node_modules/ajv/scripts/bundle.js diff --git a/tools/eslint/node_modules/ajv/scripts/compile-dots.js b/tools/node_modules/eslint/node_modules/ajv/scripts/compile-dots.js similarity index 100% rename from tools/eslint/node_modules/ajv/scripts/compile-dots.js rename to tools/node_modules/eslint/node_modules/ajv/scripts/compile-dots.js diff --git a/tools/eslint/node_modules/ajv/scripts/info b/tools/node_modules/eslint/node_modules/ajv/scripts/info similarity index 100% rename from tools/eslint/node_modules/ajv/scripts/info rename to tools/node_modules/eslint/node_modules/ajv/scripts/info diff --git a/tools/eslint/node_modules/ajv/scripts/prepare-tests b/tools/node_modules/eslint/node_modules/ajv/scripts/prepare-tests similarity index 100% rename from tools/eslint/node_modules/ajv/scripts/prepare-tests rename to tools/node_modules/eslint/node_modules/ajv/scripts/prepare-tests diff --git a/tools/eslint/node_modules/ajv/scripts/travis-gh-pages b/tools/node_modules/eslint/node_modules/ajv/scripts/travis-gh-pages similarity index 100% rename from tools/eslint/node_modules/ajv/scripts/travis-gh-pages rename to tools/node_modules/eslint/node_modules/ajv/scripts/travis-gh-pages diff --git a/tools/eslint/node_modules/ansi-escapes/index.js b/tools/node_modules/eslint/node_modules/ansi-escapes/index.js similarity index 100% rename from tools/eslint/node_modules/ansi-escapes/index.js rename to tools/node_modules/eslint/node_modules/ansi-escapes/index.js diff --git a/tools/eslint/node_modules/ansi-escapes/license b/tools/node_modules/eslint/node_modules/ansi-escapes/license similarity index 100% rename from tools/eslint/node_modules/ansi-escapes/license rename to tools/node_modules/eslint/node_modules/ansi-escapes/license diff --git a/tools/eslint/node_modules/ansi-escapes/package.json b/tools/node_modules/eslint/node_modules/ansi-escapes/package.json similarity index 100% rename from tools/eslint/node_modules/ansi-escapes/package.json rename to tools/node_modules/eslint/node_modules/ansi-escapes/package.json diff --git a/tools/eslint/node_modules/ansi-escapes/readme.md b/tools/node_modules/eslint/node_modules/ansi-escapes/readme.md similarity index 100% rename from tools/eslint/node_modules/ansi-escapes/readme.md rename to tools/node_modules/eslint/node_modules/ansi-escapes/readme.md diff --git a/tools/eslint/node_modules/ansi-regex/index.js b/tools/node_modules/eslint/node_modules/ansi-regex/index.js similarity index 100% rename from tools/eslint/node_modules/ansi-regex/index.js rename to tools/node_modules/eslint/node_modules/ansi-regex/index.js diff --git a/tools/eslint/node_modules/ansi-regex/license b/tools/node_modules/eslint/node_modules/ansi-regex/license similarity index 100% rename from tools/eslint/node_modules/ansi-regex/license rename to tools/node_modules/eslint/node_modules/ansi-regex/license diff --git a/tools/eslint/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/ansi-regex/package.json similarity index 100% rename from tools/eslint/node_modules/ansi-regex/package.json rename to tools/node_modules/eslint/node_modules/ansi-regex/package.json diff --git a/tools/eslint/node_modules/ansi-regex/readme.md b/tools/node_modules/eslint/node_modules/ansi-regex/readme.md similarity index 100% rename from tools/eslint/node_modules/ansi-regex/readme.md rename to tools/node_modules/eslint/node_modules/ansi-regex/readme.md diff --git a/tools/eslint/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/ansi-styles/index.js similarity index 100% rename from tools/eslint/node_modules/ansi-styles/index.js rename to tools/node_modules/eslint/node_modules/ansi-styles/index.js diff --git a/tools/eslint/node_modules/ansi-styles/license b/tools/node_modules/eslint/node_modules/ansi-styles/license similarity index 100% rename from tools/eslint/node_modules/ansi-styles/license rename to tools/node_modules/eslint/node_modules/ansi-styles/license diff --git a/tools/eslint/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/ansi-styles/package.json similarity index 100% rename from tools/eslint/node_modules/ansi-styles/package.json rename to tools/node_modules/eslint/node_modules/ansi-styles/package.json diff --git a/tools/eslint/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/ansi-styles/readme.md similarity index 100% rename from tools/eslint/node_modules/ansi-styles/readme.md rename to tools/node_modules/eslint/node_modules/ansi-styles/readme.md diff --git a/tools/eslint/node_modules/argparse/LICENSE b/tools/node_modules/eslint/node_modules/argparse/LICENSE similarity index 100% rename from tools/eslint/node_modules/argparse/LICENSE rename to tools/node_modules/eslint/node_modules/argparse/LICENSE diff --git a/tools/eslint/node_modules/argparse/README.md b/tools/node_modules/eslint/node_modules/argparse/README.md similarity index 100% rename from tools/eslint/node_modules/argparse/README.md rename to tools/node_modules/eslint/node_modules/argparse/README.md diff --git a/tools/eslint/node_modules/argparse/index.js b/tools/node_modules/eslint/node_modules/argparse/index.js similarity index 100% rename from tools/eslint/node_modules/argparse/index.js rename to tools/node_modules/eslint/node_modules/argparse/index.js diff --git a/tools/eslint/node_modules/argparse/lib/action.js b/tools/node_modules/eslint/node_modules/argparse/lib/action.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action.js diff --git a/tools/eslint/node_modules/argparse/lib/action/append.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/append.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/append.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/append.js diff --git a/tools/eslint/node_modules/argparse/lib/action/append/constant.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/append/constant.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/append/constant.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/append/constant.js diff --git a/tools/eslint/node_modules/argparse/lib/action/count.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/count.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/count.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/count.js diff --git a/tools/eslint/node_modules/argparse/lib/action/help.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/help.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/help.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/help.js diff --git a/tools/eslint/node_modules/argparse/lib/action/store.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/store.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/store.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/store.js diff --git a/tools/eslint/node_modules/argparse/lib/action/store/constant.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/store/constant.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/store/constant.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/store/constant.js diff --git a/tools/eslint/node_modules/argparse/lib/action/store/false.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/store/false.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/store/false.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/store/false.js diff --git a/tools/eslint/node_modules/argparse/lib/action/store/true.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/store/true.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/store/true.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/store/true.js diff --git a/tools/eslint/node_modules/argparse/lib/action/subparsers.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/subparsers.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/subparsers.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/subparsers.js diff --git a/tools/eslint/node_modules/argparse/lib/action/version.js b/tools/node_modules/eslint/node_modules/argparse/lib/action/version.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action/version.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action/version.js diff --git a/tools/eslint/node_modules/argparse/lib/action_container.js b/tools/node_modules/eslint/node_modules/argparse/lib/action_container.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/action_container.js rename to tools/node_modules/eslint/node_modules/argparse/lib/action_container.js diff --git a/tools/eslint/node_modules/argparse/lib/argparse.js b/tools/node_modules/eslint/node_modules/argparse/lib/argparse.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/argparse.js rename to tools/node_modules/eslint/node_modules/argparse/lib/argparse.js diff --git a/tools/eslint/node_modules/argparse/lib/argument/error.js b/tools/node_modules/eslint/node_modules/argparse/lib/argument/error.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/argument/error.js rename to tools/node_modules/eslint/node_modules/argparse/lib/argument/error.js diff --git a/tools/eslint/node_modules/argparse/lib/argument/exclusive.js b/tools/node_modules/eslint/node_modules/argparse/lib/argument/exclusive.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/argument/exclusive.js rename to tools/node_modules/eslint/node_modules/argparse/lib/argument/exclusive.js diff --git a/tools/eslint/node_modules/argparse/lib/argument/group.js b/tools/node_modules/eslint/node_modules/argparse/lib/argument/group.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/argument/group.js rename to tools/node_modules/eslint/node_modules/argparse/lib/argument/group.js diff --git a/tools/eslint/node_modules/argparse/lib/argument_parser.js b/tools/node_modules/eslint/node_modules/argparse/lib/argument_parser.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/argument_parser.js rename to tools/node_modules/eslint/node_modules/argparse/lib/argument_parser.js diff --git a/tools/eslint/node_modules/argparse/lib/const.js b/tools/node_modules/eslint/node_modules/argparse/lib/const.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/const.js rename to tools/node_modules/eslint/node_modules/argparse/lib/const.js diff --git a/tools/eslint/node_modules/argparse/lib/help/added_formatters.js b/tools/node_modules/eslint/node_modules/argparse/lib/help/added_formatters.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/help/added_formatters.js rename to tools/node_modules/eslint/node_modules/argparse/lib/help/added_formatters.js diff --git a/tools/eslint/node_modules/argparse/lib/help/formatter.js b/tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/help/formatter.js rename to tools/node_modules/eslint/node_modules/argparse/lib/help/formatter.js diff --git a/tools/eslint/node_modules/argparse/lib/namespace.js b/tools/node_modules/eslint/node_modules/argparse/lib/namespace.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/namespace.js rename to tools/node_modules/eslint/node_modules/argparse/lib/namespace.js diff --git a/tools/eslint/node_modules/argparse/lib/utils.js b/tools/node_modules/eslint/node_modules/argparse/lib/utils.js similarity index 100% rename from tools/eslint/node_modules/argparse/lib/utils.js rename to tools/node_modules/eslint/node_modules/argparse/lib/utils.js diff --git a/tools/eslint/node_modules/argparse/package.json b/tools/node_modules/eslint/node_modules/argparse/package.json similarity index 100% rename from tools/eslint/node_modules/argparse/package.json rename to tools/node_modules/eslint/node_modules/argparse/package.json diff --git a/tools/eslint/node_modules/array-union/index.js b/tools/node_modules/eslint/node_modules/array-union/index.js similarity index 100% rename from tools/eslint/node_modules/array-union/index.js rename to tools/node_modules/eslint/node_modules/array-union/index.js diff --git a/tools/eslint/node_modules/array-union/license b/tools/node_modules/eslint/node_modules/array-union/license similarity index 100% rename from tools/eslint/node_modules/array-union/license rename to tools/node_modules/eslint/node_modules/array-union/license diff --git a/tools/eslint/node_modules/array-union/package.json b/tools/node_modules/eslint/node_modules/array-union/package.json similarity index 100% rename from tools/eslint/node_modules/array-union/package.json rename to tools/node_modules/eslint/node_modules/array-union/package.json diff --git a/tools/eslint/node_modules/array-union/readme.md b/tools/node_modules/eslint/node_modules/array-union/readme.md similarity index 100% rename from tools/eslint/node_modules/array-union/readme.md rename to tools/node_modules/eslint/node_modules/array-union/readme.md diff --git a/tools/eslint/node_modules/array-uniq/index.js b/tools/node_modules/eslint/node_modules/array-uniq/index.js similarity index 100% rename from tools/eslint/node_modules/array-uniq/index.js rename to tools/node_modules/eslint/node_modules/array-uniq/index.js diff --git a/tools/eslint/node_modules/array-uniq/license b/tools/node_modules/eslint/node_modules/array-uniq/license similarity index 100% rename from tools/eslint/node_modules/array-uniq/license rename to tools/node_modules/eslint/node_modules/array-uniq/license diff --git a/tools/eslint/node_modules/array-uniq/package.json b/tools/node_modules/eslint/node_modules/array-uniq/package.json similarity index 100% rename from tools/eslint/node_modules/array-uniq/package.json rename to tools/node_modules/eslint/node_modules/array-uniq/package.json diff --git a/tools/eslint/node_modules/array-uniq/readme.md b/tools/node_modules/eslint/node_modules/array-uniq/readme.md similarity index 100% rename from tools/eslint/node_modules/array-uniq/readme.md rename to tools/node_modules/eslint/node_modules/array-uniq/readme.md diff --git a/tools/eslint/node_modules/arrify/index.js b/tools/node_modules/eslint/node_modules/arrify/index.js similarity index 100% rename from tools/eslint/node_modules/arrify/index.js rename to tools/node_modules/eslint/node_modules/arrify/index.js diff --git a/tools/eslint/node_modules/arrify/license b/tools/node_modules/eslint/node_modules/arrify/license similarity index 100% rename from tools/eslint/node_modules/arrify/license rename to tools/node_modules/eslint/node_modules/arrify/license diff --git a/tools/eslint/node_modules/arrify/package.json b/tools/node_modules/eslint/node_modules/arrify/package.json similarity index 100% rename from tools/eslint/node_modules/arrify/package.json rename to tools/node_modules/eslint/node_modules/arrify/package.json diff --git a/tools/eslint/node_modules/arrify/readme.md b/tools/node_modules/eslint/node_modules/arrify/readme.md similarity index 100% rename from tools/eslint/node_modules/arrify/readme.md rename to tools/node_modules/eslint/node_modules/arrify/readme.md diff --git a/tools/eslint/node_modules/babel-code-frame/README.md b/tools/node_modules/eslint/node_modules/babel-code-frame/README.md similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/README.md rename to tools/node_modules/eslint/node_modules/babel-code-frame/README.md diff --git a/tools/eslint/node_modules/babel-code-frame/lib/index.js b/tools/node_modules/eslint/node_modules/babel-code-frame/lib/index.js similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/lib/index.js rename to tools/node_modules/eslint/node_modules/babel-code-frame/lib/index.js diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/chalk/index.js b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/index.js similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/chalk/index.js rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/index.js diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/chalk/license b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/license similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/chalk/license rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/license diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/package.json diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/chalk/readme.md b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/readme.md similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/chalk/readme.md rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/chalk/readme.md diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/index.js b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/index.js similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/index.js rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/index.js diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/license b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/license similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/license rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/license diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/package.json diff --git a/tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/readme.md b/tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/readme.md similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/readme.md rename to tools/node_modules/eslint/node_modules/babel-code-frame/node_modules/strip-ansi/readme.md diff --git a/tools/eslint/node_modules/babel-code-frame/package-lock.json b/tools/node_modules/eslint/node_modules/babel-code-frame/package-lock.json similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/package-lock.json rename to tools/node_modules/eslint/node_modules/babel-code-frame/package-lock.json diff --git a/tools/eslint/node_modules/babel-code-frame/package.json b/tools/node_modules/eslint/node_modules/babel-code-frame/package.json similarity index 100% rename from tools/eslint/node_modules/babel-code-frame/package.json rename to tools/node_modules/eslint/node_modules/babel-code-frame/package.json diff --git a/tools/eslint/node_modules/bail/LICENSE b/tools/node_modules/eslint/node_modules/bail/LICENSE similarity index 100% rename from tools/eslint/node_modules/bail/LICENSE rename to tools/node_modules/eslint/node_modules/bail/LICENSE diff --git a/tools/eslint/node_modules/bail/index.js b/tools/node_modules/eslint/node_modules/bail/index.js similarity index 100% rename from tools/eslint/node_modules/bail/index.js rename to tools/node_modules/eslint/node_modules/bail/index.js diff --git a/tools/eslint/node_modules/bail/package.json b/tools/node_modules/eslint/node_modules/bail/package.json similarity index 100% rename from tools/eslint/node_modules/bail/package.json rename to tools/node_modules/eslint/node_modules/bail/package.json diff --git a/tools/eslint/node_modules/bail/readme.md b/tools/node_modules/eslint/node_modules/bail/readme.md similarity index 100% rename from tools/eslint/node_modules/bail/readme.md rename to tools/node_modules/eslint/node_modules/bail/readme.md diff --git a/tools/eslint/node_modules/balanced-match/LICENSE.md b/tools/node_modules/eslint/node_modules/balanced-match/LICENSE.md similarity index 100% rename from tools/eslint/node_modules/balanced-match/LICENSE.md rename to tools/node_modules/eslint/node_modules/balanced-match/LICENSE.md diff --git a/tools/eslint/node_modules/balanced-match/README.md b/tools/node_modules/eslint/node_modules/balanced-match/README.md similarity index 100% rename from tools/eslint/node_modules/balanced-match/README.md rename to tools/node_modules/eslint/node_modules/balanced-match/README.md diff --git a/tools/eslint/node_modules/balanced-match/index.js b/tools/node_modules/eslint/node_modules/balanced-match/index.js similarity index 100% rename from tools/eslint/node_modules/balanced-match/index.js rename to tools/node_modules/eslint/node_modules/balanced-match/index.js diff --git a/tools/eslint/node_modules/balanced-match/package.json b/tools/node_modules/eslint/node_modules/balanced-match/package.json similarity index 100% rename from tools/eslint/node_modules/balanced-match/package.json rename to tools/node_modules/eslint/node_modules/balanced-match/package.json diff --git a/tools/eslint/node_modules/brace-expansion/README.md b/tools/node_modules/eslint/node_modules/brace-expansion/README.md similarity index 100% rename from tools/eslint/node_modules/brace-expansion/README.md rename to tools/node_modules/eslint/node_modules/brace-expansion/README.md diff --git a/tools/eslint/node_modules/brace-expansion/index.js b/tools/node_modules/eslint/node_modules/brace-expansion/index.js similarity index 100% rename from tools/eslint/node_modules/brace-expansion/index.js rename to tools/node_modules/eslint/node_modules/brace-expansion/index.js diff --git a/tools/eslint/node_modules/brace-expansion/package.json b/tools/node_modules/eslint/node_modules/brace-expansion/package.json similarity index 100% rename from tools/eslint/node_modules/brace-expansion/package.json rename to tools/node_modules/eslint/node_modules/brace-expansion/package.json diff --git a/tools/eslint/node_modules/caller-path/index.js b/tools/node_modules/eslint/node_modules/caller-path/index.js similarity index 100% rename from tools/eslint/node_modules/caller-path/index.js rename to tools/node_modules/eslint/node_modules/caller-path/index.js diff --git a/tools/eslint/node_modules/caller-path/package.json b/tools/node_modules/eslint/node_modules/caller-path/package.json similarity index 100% rename from tools/eslint/node_modules/caller-path/package.json rename to tools/node_modules/eslint/node_modules/caller-path/package.json diff --git a/tools/eslint/node_modules/caller-path/readme.md b/tools/node_modules/eslint/node_modules/caller-path/readme.md similarity index 100% rename from tools/eslint/node_modules/caller-path/readme.md rename to tools/node_modules/eslint/node_modules/caller-path/readme.md diff --git a/tools/eslint/node_modules/callsites/index.js b/tools/node_modules/eslint/node_modules/callsites/index.js similarity index 100% rename from tools/eslint/node_modules/callsites/index.js rename to tools/node_modules/eslint/node_modules/callsites/index.js diff --git a/tools/eslint/node_modules/callsites/package.json b/tools/node_modules/eslint/node_modules/callsites/package.json similarity index 100% rename from tools/eslint/node_modules/callsites/package.json rename to tools/node_modules/eslint/node_modules/callsites/package.json diff --git a/tools/eslint/node_modules/callsites/readme.md b/tools/node_modules/eslint/node_modules/callsites/readme.md similarity index 100% rename from tools/eslint/node_modules/callsites/readme.md rename to tools/node_modules/eslint/node_modules/callsites/readme.md diff --git a/tools/eslint/node_modules/chalk/index.js b/tools/node_modules/eslint/node_modules/chalk/index.js similarity index 100% rename from tools/eslint/node_modules/chalk/index.js rename to tools/node_modules/eslint/node_modules/chalk/index.js diff --git a/tools/eslint/node_modules/chalk/license b/tools/node_modules/eslint/node_modules/chalk/license similarity index 100% rename from tools/eslint/node_modules/chalk/license rename to tools/node_modules/eslint/node_modules/chalk/license diff --git a/tools/eslint/node_modules/chalk/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/ansi-styles/index.js rename to tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js diff --git a/tools/eslint/node_modules/chalk/node_modules/ansi-styles/license b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/license similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/ansi-styles/license rename to tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/license diff --git a/tools/eslint/node_modules/chalk/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/ansi-styles/package.json rename to tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json diff --git a/tools/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md rename to tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md diff --git a/tools/eslint/node_modules/chalk/node_modules/supports-color/browser.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/supports-color/browser.js rename to tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js diff --git a/tools/eslint/node_modules/chalk/node_modules/supports-color/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/supports-color/index.js rename to tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js diff --git a/tools/eslint/node_modules/chalk/node_modules/supports-color/license b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/license similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/supports-color/license rename to tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/license diff --git a/tools/eslint/node_modules/chalk/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/supports-color/package.json rename to tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json diff --git a/tools/eslint/node_modules/chalk/node_modules/supports-color/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md similarity index 100% rename from tools/eslint/node_modules/chalk/node_modules/supports-color/readme.md rename to tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md diff --git a/tools/eslint/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/chalk/package.json similarity index 100% rename from tools/eslint/node_modules/chalk/package.json rename to tools/node_modules/eslint/node_modules/chalk/package.json diff --git a/tools/eslint/node_modules/chalk/readme.md b/tools/node_modules/eslint/node_modules/chalk/readme.md similarity index 100% rename from tools/eslint/node_modules/chalk/readme.md rename to tools/node_modules/eslint/node_modules/chalk/readme.md diff --git a/tools/eslint/node_modules/chalk/templates.js b/tools/node_modules/eslint/node_modules/chalk/templates.js similarity index 100% rename from tools/eslint/node_modules/chalk/templates.js rename to tools/node_modules/eslint/node_modules/chalk/templates.js diff --git a/tools/eslint/node_modules/chalk/types/index.d.ts b/tools/node_modules/eslint/node_modules/chalk/types/index.d.ts similarity index 100% rename from tools/eslint/node_modules/chalk/types/index.d.ts rename to tools/node_modules/eslint/node_modules/chalk/types/index.d.ts diff --git a/tools/eslint/node_modules/character-entities-legacy/LICENSE b/tools/node_modules/eslint/node_modules/character-entities-legacy/LICENSE similarity index 100% rename from tools/eslint/node_modules/character-entities-legacy/LICENSE rename to tools/node_modules/eslint/node_modules/character-entities-legacy/LICENSE diff --git a/tools/eslint/node_modules/character-entities-legacy/index.json b/tools/node_modules/eslint/node_modules/character-entities-legacy/index.json similarity index 100% rename from tools/eslint/node_modules/character-entities-legacy/index.json rename to tools/node_modules/eslint/node_modules/character-entities-legacy/index.json diff --git a/tools/eslint/node_modules/character-entities-legacy/package.json b/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json similarity index 100% rename from tools/eslint/node_modules/character-entities-legacy/package.json rename to tools/node_modules/eslint/node_modules/character-entities-legacy/package.json diff --git a/tools/eslint/node_modules/character-entities-legacy/readme.md b/tools/node_modules/eslint/node_modules/character-entities-legacy/readme.md similarity index 100% rename from tools/eslint/node_modules/character-entities-legacy/readme.md rename to tools/node_modules/eslint/node_modules/character-entities-legacy/readme.md diff --git a/tools/eslint/node_modules/character-entities/LICENSE b/tools/node_modules/eslint/node_modules/character-entities/LICENSE similarity index 100% rename from tools/eslint/node_modules/character-entities/LICENSE rename to tools/node_modules/eslint/node_modules/character-entities/LICENSE diff --git a/tools/eslint/node_modules/character-entities/index.json b/tools/node_modules/eslint/node_modules/character-entities/index.json similarity index 100% rename from tools/eslint/node_modules/character-entities/index.json rename to tools/node_modules/eslint/node_modules/character-entities/index.json diff --git a/tools/eslint/node_modules/character-entities/package.json b/tools/node_modules/eslint/node_modules/character-entities/package.json similarity index 100% rename from tools/eslint/node_modules/character-entities/package.json rename to tools/node_modules/eslint/node_modules/character-entities/package.json diff --git a/tools/eslint/node_modules/character-entities/readme.md b/tools/node_modules/eslint/node_modules/character-entities/readme.md similarity index 100% rename from tools/eslint/node_modules/character-entities/readme.md rename to tools/node_modules/eslint/node_modules/character-entities/readme.md diff --git a/tools/eslint/node_modules/character-reference-invalid/LICENSE b/tools/node_modules/eslint/node_modules/character-reference-invalid/LICENSE similarity index 100% rename from tools/eslint/node_modules/character-reference-invalid/LICENSE rename to tools/node_modules/eslint/node_modules/character-reference-invalid/LICENSE diff --git a/tools/eslint/node_modules/character-reference-invalid/index.json b/tools/node_modules/eslint/node_modules/character-reference-invalid/index.json similarity index 100% rename from tools/eslint/node_modules/character-reference-invalid/index.json rename to tools/node_modules/eslint/node_modules/character-reference-invalid/index.json diff --git a/tools/eslint/node_modules/character-reference-invalid/package.json b/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json similarity index 100% rename from tools/eslint/node_modules/character-reference-invalid/package.json rename to tools/node_modules/eslint/node_modules/character-reference-invalid/package.json diff --git a/tools/eslint/node_modules/character-reference-invalid/readme.md b/tools/node_modules/eslint/node_modules/character-reference-invalid/readme.md similarity index 100% rename from tools/eslint/node_modules/character-reference-invalid/readme.md rename to tools/node_modules/eslint/node_modules/character-reference-invalid/readme.md diff --git a/tools/eslint/node_modules/chardet/LICENSE b/tools/node_modules/eslint/node_modules/chardet/LICENSE similarity index 100% rename from tools/eslint/node_modules/chardet/LICENSE rename to tools/node_modules/eslint/node_modules/chardet/LICENSE diff --git a/tools/eslint/node_modules/chardet/README.md b/tools/node_modules/eslint/node_modules/chardet/README.md similarity index 100% rename from tools/eslint/node_modules/chardet/README.md rename to tools/node_modules/eslint/node_modules/chardet/README.md diff --git a/tools/eslint/node_modules/chardet/encoding/iso2022.js b/tools/node_modules/eslint/node_modules/chardet/encoding/iso2022.js similarity index 100% rename from tools/eslint/node_modules/chardet/encoding/iso2022.js rename to tools/node_modules/eslint/node_modules/chardet/encoding/iso2022.js diff --git a/tools/eslint/node_modules/chardet/encoding/mbcs.js b/tools/node_modules/eslint/node_modules/chardet/encoding/mbcs.js similarity index 100% rename from tools/eslint/node_modules/chardet/encoding/mbcs.js rename to tools/node_modules/eslint/node_modules/chardet/encoding/mbcs.js diff --git a/tools/eslint/node_modules/chardet/encoding/sbcs.js b/tools/node_modules/eslint/node_modules/chardet/encoding/sbcs.js similarity index 100% rename from tools/eslint/node_modules/chardet/encoding/sbcs.js rename to tools/node_modules/eslint/node_modules/chardet/encoding/sbcs.js diff --git a/tools/eslint/node_modules/chardet/encoding/unicode.js b/tools/node_modules/eslint/node_modules/chardet/encoding/unicode.js similarity index 100% rename from tools/eslint/node_modules/chardet/encoding/unicode.js rename to tools/node_modules/eslint/node_modules/chardet/encoding/unicode.js diff --git a/tools/eslint/node_modules/chardet/encoding/utf8.js b/tools/node_modules/eslint/node_modules/chardet/encoding/utf8.js similarity index 100% rename from tools/eslint/node_modules/chardet/encoding/utf8.js rename to tools/node_modules/eslint/node_modules/chardet/encoding/utf8.js diff --git a/tools/eslint/node_modules/chardet/index.js b/tools/node_modules/eslint/node_modules/chardet/index.js similarity index 100% rename from tools/eslint/node_modules/chardet/index.js rename to tools/node_modules/eslint/node_modules/chardet/index.js diff --git a/tools/eslint/node_modules/chardet/match.js b/tools/node_modules/eslint/node_modules/chardet/match.js similarity index 100% rename from tools/eslint/node_modules/chardet/match.js rename to tools/node_modules/eslint/node_modules/chardet/match.js diff --git a/tools/eslint/node_modules/chardet/package.json b/tools/node_modules/eslint/node_modules/chardet/package.json similarity index 100% rename from tools/eslint/node_modules/chardet/package.json rename to tools/node_modules/eslint/node_modules/chardet/package.json diff --git a/tools/eslint/node_modules/chardet/scripts/release b/tools/node_modules/eslint/node_modules/chardet/scripts/release similarity index 100% rename from tools/eslint/node_modules/chardet/scripts/release rename to tools/node_modules/eslint/node_modules/chardet/scripts/release diff --git a/tools/eslint/node_modules/chardet/yarn.lock b/tools/node_modules/eslint/node_modules/chardet/yarn.lock similarity index 100% rename from tools/eslint/node_modules/chardet/yarn.lock rename to tools/node_modules/eslint/node_modules/chardet/yarn.lock diff --git a/tools/eslint/node_modules/circular-json/LICENSE.txt b/tools/node_modules/eslint/node_modules/circular-json/LICENSE.txt similarity index 100% rename from tools/eslint/node_modules/circular-json/LICENSE.txt rename to tools/node_modules/eslint/node_modules/circular-json/LICENSE.txt diff --git a/tools/eslint/node_modules/circular-json/README.md b/tools/node_modules/eslint/node_modules/circular-json/README.md similarity index 100% rename from tools/eslint/node_modules/circular-json/README.md rename to tools/node_modules/eslint/node_modules/circular-json/README.md diff --git a/tools/eslint/node_modules/circular-json/build/circular-json.js b/tools/node_modules/eslint/node_modules/circular-json/build/circular-json.js similarity index 100% rename from tools/eslint/node_modules/circular-json/build/circular-json.js rename to tools/node_modules/eslint/node_modules/circular-json/build/circular-json.js diff --git a/tools/eslint/node_modules/circular-json/build/circular-json.max.js b/tools/node_modules/eslint/node_modules/circular-json/build/circular-json.max.js similarity index 100% rename from tools/eslint/node_modules/circular-json/build/circular-json.max.js rename to tools/node_modules/eslint/node_modules/circular-json/build/circular-json.max.js diff --git a/tools/eslint/node_modules/circular-json/build/circular-json.node.js b/tools/node_modules/eslint/node_modules/circular-json/build/circular-json.node.js similarity index 100% rename from tools/eslint/node_modules/circular-json/build/circular-json.node.js rename to tools/node_modules/eslint/node_modules/circular-json/build/circular-json.node.js diff --git a/tools/eslint/node_modules/circular-json/package.json b/tools/node_modules/eslint/node_modules/circular-json/package.json similarity index 100% rename from tools/eslint/node_modules/circular-json/package.json rename to tools/node_modules/eslint/node_modules/circular-json/package.json diff --git a/tools/eslint/node_modules/circular-json/template/license.after b/tools/node_modules/eslint/node_modules/circular-json/template/license.after similarity index 100% rename from tools/eslint/node_modules/circular-json/template/license.after rename to tools/node_modules/eslint/node_modules/circular-json/template/license.after diff --git a/tools/eslint/node_modules/circular-json/template/license.before b/tools/node_modules/eslint/node_modules/circular-json/template/license.before similarity index 100% rename from tools/eslint/node_modules/circular-json/template/license.before rename to tools/node_modules/eslint/node_modules/circular-json/template/license.before diff --git a/tools/eslint/node_modules/cli-cursor/index.js b/tools/node_modules/eslint/node_modules/cli-cursor/index.js similarity index 100% rename from tools/eslint/node_modules/cli-cursor/index.js rename to tools/node_modules/eslint/node_modules/cli-cursor/index.js diff --git a/tools/eslint/node_modules/cli-cursor/license b/tools/node_modules/eslint/node_modules/cli-cursor/license similarity index 100% rename from tools/eslint/node_modules/cli-cursor/license rename to tools/node_modules/eslint/node_modules/cli-cursor/license diff --git a/tools/eslint/node_modules/cli-cursor/package.json b/tools/node_modules/eslint/node_modules/cli-cursor/package.json similarity index 100% rename from tools/eslint/node_modules/cli-cursor/package.json rename to tools/node_modules/eslint/node_modules/cli-cursor/package.json diff --git a/tools/eslint/node_modules/cli-cursor/readme.md b/tools/node_modules/eslint/node_modules/cli-cursor/readme.md similarity index 100% rename from tools/eslint/node_modules/cli-cursor/readme.md rename to tools/node_modules/eslint/node_modules/cli-cursor/readme.md diff --git a/tools/eslint/node_modules/cli-width/LICENSE b/tools/node_modules/eslint/node_modules/cli-width/LICENSE similarity index 100% rename from tools/eslint/node_modules/cli-width/LICENSE rename to tools/node_modules/eslint/node_modules/cli-width/LICENSE diff --git a/tools/eslint/node_modules/cli-width/README.md b/tools/node_modules/eslint/node_modules/cli-width/README.md similarity index 100% rename from tools/eslint/node_modules/cli-width/README.md rename to tools/node_modules/eslint/node_modules/cli-width/README.md diff --git a/tools/eslint/node_modules/cli-width/index.js b/tools/node_modules/eslint/node_modules/cli-width/index.js similarity index 100% rename from tools/eslint/node_modules/cli-width/index.js rename to tools/node_modules/eslint/node_modules/cli-width/index.js diff --git a/tools/eslint/node_modules/cli-width/package.json b/tools/node_modules/eslint/node_modules/cli-width/package.json similarity index 100% rename from tools/eslint/node_modules/cli-width/package.json rename to tools/node_modules/eslint/node_modules/cli-width/package.json diff --git a/tools/eslint/node_modules/co/LICENSE b/tools/node_modules/eslint/node_modules/co/LICENSE similarity index 100% rename from tools/eslint/node_modules/co/LICENSE rename to tools/node_modules/eslint/node_modules/co/LICENSE diff --git a/tools/eslint/node_modules/co/Readme.md b/tools/node_modules/eslint/node_modules/co/Readme.md similarity index 100% rename from tools/eslint/node_modules/co/Readme.md rename to tools/node_modules/eslint/node_modules/co/Readme.md diff --git a/tools/eslint/node_modules/co/index.js b/tools/node_modules/eslint/node_modules/co/index.js similarity index 100% rename from tools/eslint/node_modules/co/index.js rename to tools/node_modules/eslint/node_modules/co/index.js diff --git a/tools/eslint/node_modules/co/package.json b/tools/node_modules/eslint/node_modules/co/package.json similarity index 100% rename from tools/eslint/node_modules/co/package.json rename to tools/node_modules/eslint/node_modules/co/package.json diff --git a/tools/eslint/node_modules/collapse-white-space/LICENSE b/tools/node_modules/eslint/node_modules/collapse-white-space/LICENSE similarity index 100% rename from tools/eslint/node_modules/collapse-white-space/LICENSE rename to tools/node_modules/eslint/node_modules/collapse-white-space/LICENSE diff --git a/tools/eslint/node_modules/collapse-white-space/index.js b/tools/node_modules/eslint/node_modules/collapse-white-space/index.js similarity index 100% rename from tools/eslint/node_modules/collapse-white-space/index.js rename to tools/node_modules/eslint/node_modules/collapse-white-space/index.js diff --git a/tools/eslint/node_modules/collapse-white-space/package.json b/tools/node_modules/eslint/node_modules/collapse-white-space/package.json similarity index 100% rename from tools/eslint/node_modules/collapse-white-space/package.json rename to tools/node_modules/eslint/node_modules/collapse-white-space/package.json diff --git a/tools/eslint/node_modules/collapse-white-space/readme.md b/tools/node_modules/eslint/node_modules/collapse-white-space/readme.md similarity index 100% rename from tools/eslint/node_modules/collapse-white-space/readme.md rename to tools/node_modules/eslint/node_modules/collapse-white-space/readme.md diff --git a/tools/eslint/node_modules/color-convert/LICENSE b/tools/node_modules/eslint/node_modules/color-convert/LICENSE similarity index 100% rename from tools/eslint/node_modules/color-convert/LICENSE rename to tools/node_modules/eslint/node_modules/color-convert/LICENSE diff --git a/tools/eslint/node_modules/color-convert/README.md b/tools/node_modules/eslint/node_modules/color-convert/README.md similarity index 100% rename from tools/eslint/node_modules/color-convert/README.md rename to tools/node_modules/eslint/node_modules/color-convert/README.md diff --git a/tools/eslint/node_modules/color-convert/conversions.js b/tools/node_modules/eslint/node_modules/color-convert/conversions.js similarity index 100% rename from tools/eslint/node_modules/color-convert/conversions.js rename to tools/node_modules/eslint/node_modules/color-convert/conversions.js diff --git a/tools/eslint/node_modules/color-convert/index.js b/tools/node_modules/eslint/node_modules/color-convert/index.js similarity index 100% rename from tools/eslint/node_modules/color-convert/index.js rename to tools/node_modules/eslint/node_modules/color-convert/index.js diff --git a/tools/eslint/node_modules/color-convert/package.json b/tools/node_modules/eslint/node_modules/color-convert/package.json similarity index 100% rename from tools/eslint/node_modules/color-convert/package.json rename to tools/node_modules/eslint/node_modules/color-convert/package.json diff --git a/tools/eslint/node_modules/color-convert/route.js b/tools/node_modules/eslint/node_modules/color-convert/route.js similarity index 100% rename from tools/eslint/node_modules/color-convert/route.js rename to tools/node_modules/eslint/node_modules/color-convert/route.js diff --git a/tools/eslint/node_modules/color-name/.eslintrc.json b/tools/node_modules/eslint/node_modules/color-name/.eslintrc.json similarity index 100% rename from tools/eslint/node_modules/color-name/.eslintrc.json rename to tools/node_modules/eslint/node_modules/color-name/.eslintrc.json diff --git a/tools/eslint/node_modules/color-name/LICENSE b/tools/node_modules/eslint/node_modules/color-name/LICENSE similarity index 100% rename from tools/eslint/node_modules/color-name/LICENSE rename to tools/node_modules/eslint/node_modules/color-name/LICENSE diff --git a/tools/eslint/node_modules/color-name/README.md b/tools/node_modules/eslint/node_modules/color-name/README.md similarity index 100% rename from tools/eslint/node_modules/color-name/README.md rename to tools/node_modules/eslint/node_modules/color-name/README.md diff --git a/tools/eslint/node_modules/color-name/index.js b/tools/node_modules/eslint/node_modules/color-name/index.js similarity index 100% rename from tools/eslint/node_modules/color-name/index.js rename to tools/node_modules/eslint/node_modules/color-name/index.js diff --git a/tools/eslint/node_modules/color-name/package.json b/tools/node_modules/eslint/node_modules/color-name/package.json similarity index 100% rename from tools/eslint/node_modules/color-name/package.json rename to tools/node_modules/eslint/node_modules/color-name/package.json diff --git a/tools/eslint/node_modules/concat-map/LICENSE b/tools/node_modules/eslint/node_modules/concat-map/LICENSE similarity index 100% rename from tools/eslint/node_modules/concat-map/LICENSE rename to tools/node_modules/eslint/node_modules/concat-map/LICENSE diff --git a/tools/eslint/node_modules/concat-map/README.markdown b/tools/node_modules/eslint/node_modules/concat-map/README.markdown similarity index 100% rename from tools/eslint/node_modules/concat-map/README.markdown rename to tools/node_modules/eslint/node_modules/concat-map/README.markdown diff --git a/tools/eslint/node_modules/concat-map/index.js b/tools/node_modules/eslint/node_modules/concat-map/index.js similarity index 100% rename from tools/eslint/node_modules/concat-map/index.js rename to tools/node_modules/eslint/node_modules/concat-map/index.js diff --git a/tools/eslint/node_modules/concat-map/package.json b/tools/node_modules/eslint/node_modules/concat-map/package.json similarity index 100% rename from tools/eslint/node_modules/concat-map/package.json rename to tools/node_modules/eslint/node_modules/concat-map/package.json diff --git a/tools/eslint/node_modules/concat-stream/LICENSE b/tools/node_modules/eslint/node_modules/concat-stream/LICENSE similarity index 100% rename from tools/eslint/node_modules/concat-stream/LICENSE rename to tools/node_modules/eslint/node_modules/concat-stream/LICENSE diff --git a/tools/eslint/node_modules/concat-stream/index.js b/tools/node_modules/eslint/node_modules/concat-stream/index.js similarity index 100% rename from tools/eslint/node_modules/concat-stream/index.js rename to tools/node_modules/eslint/node_modules/concat-stream/index.js diff --git a/tools/eslint/node_modules/concat-stream/package.json b/tools/node_modules/eslint/node_modules/concat-stream/package.json similarity index 100% rename from tools/eslint/node_modules/concat-stream/package.json rename to tools/node_modules/eslint/node_modules/concat-stream/package.json diff --git a/tools/eslint/node_modules/concat-stream/readme.md b/tools/node_modules/eslint/node_modules/concat-stream/readme.md similarity index 100% rename from tools/eslint/node_modules/concat-stream/readme.md rename to tools/node_modules/eslint/node_modules/concat-stream/readme.md diff --git a/tools/eslint/node_modules/core-util-is/LICENSE b/tools/node_modules/eslint/node_modules/core-util-is/LICENSE similarity index 100% rename from tools/eslint/node_modules/core-util-is/LICENSE rename to tools/node_modules/eslint/node_modules/core-util-is/LICENSE diff --git a/tools/eslint/node_modules/core-util-is/README.md b/tools/node_modules/eslint/node_modules/core-util-is/README.md similarity index 100% rename from tools/eslint/node_modules/core-util-is/README.md rename to tools/node_modules/eslint/node_modules/core-util-is/README.md diff --git a/tools/eslint/node_modules/core-util-is/float.patch b/tools/node_modules/eslint/node_modules/core-util-is/float.patch similarity index 100% rename from tools/eslint/node_modules/core-util-is/float.patch rename to tools/node_modules/eslint/node_modules/core-util-is/float.patch diff --git a/tools/eslint/node_modules/core-util-is/lib/util.js b/tools/node_modules/eslint/node_modules/core-util-is/lib/util.js similarity index 100% rename from tools/eslint/node_modules/core-util-is/lib/util.js rename to tools/node_modules/eslint/node_modules/core-util-is/lib/util.js diff --git a/tools/eslint/node_modules/core-util-is/package.json b/tools/node_modules/eslint/node_modules/core-util-is/package.json similarity index 100% rename from tools/eslint/node_modules/core-util-is/package.json rename to tools/node_modules/eslint/node_modules/core-util-is/package.json diff --git a/tools/eslint/node_modules/cross-spawn/LICENSE b/tools/node_modules/eslint/node_modules/cross-spawn/LICENSE similarity index 100% rename from tools/eslint/node_modules/cross-spawn/LICENSE rename to tools/node_modules/eslint/node_modules/cross-spawn/LICENSE diff --git a/tools/eslint/node_modules/cross-spawn/README.md b/tools/node_modules/eslint/node_modules/cross-spawn/README.md similarity index 100% rename from tools/eslint/node_modules/cross-spawn/README.md rename to tools/node_modules/eslint/node_modules/cross-spawn/README.md diff --git a/tools/eslint/node_modules/cross-spawn/index.js b/tools/node_modules/eslint/node_modules/cross-spawn/index.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/index.js rename to tools/node_modules/eslint/node_modules/cross-spawn/index.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/enoent.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/enoent.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/enoent.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/enoent.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/parse.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/parse.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/parse.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/parse.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/util/escapeArgument.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/util/escapeArgument.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/util/escapeArgument.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/util/escapeArgument.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/util/escapeCommand.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/util/escapeCommand.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/util/escapeCommand.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/util/escapeCommand.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/util/hasEmptyArgumentBug.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/util/hasEmptyArgumentBug.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/util/hasEmptyArgumentBug.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/util/hasEmptyArgumentBug.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/util/readShebang.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/util/readShebang.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js diff --git a/tools/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js b/tools/node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js similarity index 100% rename from tools/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js rename to tools/node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js diff --git a/tools/eslint/node_modules/cross-spawn/package.json b/tools/node_modules/eslint/node_modules/cross-spawn/package.json similarity index 100% rename from tools/eslint/node_modules/cross-spawn/package.json rename to tools/node_modules/eslint/node_modules/cross-spawn/package.json diff --git a/tools/eslint/node_modules/debug/.coveralls.yml b/tools/node_modules/eslint/node_modules/debug/.coveralls.yml similarity index 100% rename from tools/eslint/node_modules/debug/.coveralls.yml rename to tools/node_modules/eslint/node_modules/debug/.coveralls.yml diff --git a/tools/eslint/node_modules/debug/LICENSE b/tools/node_modules/eslint/node_modules/debug/LICENSE similarity index 100% rename from tools/eslint/node_modules/debug/LICENSE rename to tools/node_modules/eslint/node_modules/debug/LICENSE diff --git a/tools/eslint/node_modules/debug/Makefile b/tools/node_modules/eslint/node_modules/debug/Makefile similarity index 100% rename from tools/eslint/node_modules/debug/Makefile rename to tools/node_modules/eslint/node_modules/debug/Makefile diff --git a/tools/eslint/node_modules/debug/Readme.md b/tools/node_modules/eslint/node_modules/debug/Readme.md similarity index 100% rename from tools/eslint/node_modules/debug/Readme.md rename to tools/node_modules/eslint/node_modules/debug/Readme.md diff --git a/tools/eslint/node_modules/debug/karma.conf.js b/tools/node_modules/eslint/node_modules/debug/karma.conf.js similarity index 100% rename from tools/eslint/node_modules/debug/karma.conf.js rename to tools/node_modules/eslint/node_modules/debug/karma.conf.js diff --git a/tools/eslint/node_modules/debug/node.js b/tools/node_modules/eslint/node_modules/debug/node.js similarity index 100% rename from tools/eslint/node_modules/debug/node.js rename to tools/node_modules/eslint/node_modules/debug/node.js diff --git a/tools/eslint/node_modules/debug/package.json b/tools/node_modules/eslint/node_modules/debug/package.json similarity index 100% rename from tools/eslint/node_modules/debug/package.json rename to tools/node_modules/eslint/node_modules/debug/package.json diff --git a/tools/eslint/node_modules/debug/src/browser.js b/tools/node_modules/eslint/node_modules/debug/src/browser.js similarity index 100% rename from tools/eslint/node_modules/debug/src/browser.js rename to tools/node_modules/eslint/node_modules/debug/src/browser.js diff --git a/tools/eslint/node_modules/debug/src/debug.js b/tools/node_modules/eslint/node_modules/debug/src/debug.js similarity index 100% rename from tools/eslint/node_modules/debug/src/debug.js rename to tools/node_modules/eslint/node_modules/debug/src/debug.js diff --git a/tools/eslint/node_modules/debug/src/index.js b/tools/node_modules/eslint/node_modules/debug/src/index.js similarity index 100% rename from tools/eslint/node_modules/debug/src/index.js rename to tools/node_modules/eslint/node_modules/debug/src/index.js diff --git a/tools/eslint/node_modules/debug/src/node.js b/tools/node_modules/eslint/node_modules/debug/src/node.js similarity index 100% rename from tools/eslint/node_modules/debug/src/node.js rename to tools/node_modules/eslint/node_modules/debug/src/node.js diff --git a/tools/eslint/node_modules/deep-is/LICENSE b/tools/node_modules/eslint/node_modules/deep-is/LICENSE similarity index 100% rename from tools/eslint/node_modules/deep-is/LICENSE rename to tools/node_modules/eslint/node_modules/deep-is/LICENSE diff --git a/tools/eslint/node_modules/deep-is/README.markdown b/tools/node_modules/eslint/node_modules/deep-is/README.markdown similarity index 100% rename from tools/eslint/node_modules/deep-is/README.markdown rename to tools/node_modules/eslint/node_modules/deep-is/README.markdown diff --git a/tools/eslint/node_modules/deep-is/index.js b/tools/node_modules/eslint/node_modules/deep-is/index.js similarity index 100% rename from tools/eslint/node_modules/deep-is/index.js rename to tools/node_modules/eslint/node_modules/deep-is/index.js diff --git a/tools/eslint/node_modules/deep-is/package.json b/tools/node_modules/eslint/node_modules/deep-is/package.json similarity index 100% rename from tools/eslint/node_modules/deep-is/package.json rename to tools/node_modules/eslint/node_modules/deep-is/package.json diff --git a/tools/eslint/node_modules/del/index.js b/tools/node_modules/eslint/node_modules/del/index.js similarity index 100% rename from tools/eslint/node_modules/del/index.js rename to tools/node_modules/eslint/node_modules/del/index.js diff --git a/tools/eslint/node_modules/del/license b/tools/node_modules/eslint/node_modules/del/license similarity index 100% rename from tools/eslint/node_modules/del/license rename to tools/node_modules/eslint/node_modules/del/license diff --git a/tools/eslint/node_modules/del/package.json b/tools/node_modules/eslint/node_modules/del/package.json similarity index 100% rename from tools/eslint/node_modules/del/package.json rename to tools/node_modules/eslint/node_modules/del/package.json diff --git a/tools/eslint/node_modules/del/readme.md b/tools/node_modules/eslint/node_modules/del/readme.md similarity index 100% rename from tools/eslint/node_modules/del/readme.md rename to tools/node_modules/eslint/node_modules/del/readme.md diff --git a/tools/eslint/node_modules/doctrine/LICENSE b/tools/node_modules/eslint/node_modules/doctrine/LICENSE similarity index 100% rename from tools/eslint/node_modules/doctrine/LICENSE rename to tools/node_modules/eslint/node_modules/doctrine/LICENSE diff --git a/tools/eslint/node_modules/doctrine/LICENSE.closure-compiler b/tools/node_modules/eslint/node_modules/doctrine/LICENSE.closure-compiler similarity index 100% rename from tools/eslint/node_modules/doctrine/LICENSE.closure-compiler rename to tools/node_modules/eslint/node_modules/doctrine/LICENSE.closure-compiler diff --git a/tools/eslint/node_modules/doctrine/LICENSE.esprima b/tools/node_modules/eslint/node_modules/doctrine/LICENSE.esprima similarity index 100% rename from tools/eslint/node_modules/doctrine/LICENSE.esprima rename to tools/node_modules/eslint/node_modules/doctrine/LICENSE.esprima diff --git a/tools/eslint/node_modules/doctrine/README.md b/tools/node_modules/eslint/node_modules/doctrine/README.md similarity index 100% rename from tools/eslint/node_modules/doctrine/README.md rename to tools/node_modules/eslint/node_modules/doctrine/README.md diff --git a/tools/eslint/node_modules/doctrine/lib/doctrine.js b/tools/node_modules/eslint/node_modules/doctrine/lib/doctrine.js similarity index 100% rename from tools/eslint/node_modules/doctrine/lib/doctrine.js rename to tools/node_modules/eslint/node_modules/doctrine/lib/doctrine.js diff --git a/tools/eslint/node_modules/doctrine/lib/typed.js b/tools/node_modules/eslint/node_modules/doctrine/lib/typed.js similarity index 100% rename from tools/eslint/node_modules/doctrine/lib/typed.js rename to tools/node_modules/eslint/node_modules/doctrine/lib/typed.js diff --git a/tools/eslint/node_modules/doctrine/lib/utility.js b/tools/node_modules/eslint/node_modules/doctrine/lib/utility.js similarity index 100% rename from tools/eslint/node_modules/doctrine/lib/utility.js rename to tools/node_modules/eslint/node_modules/doctrine/lib/utility.js diff --git a/tools/eslint/node_modules/doctrine/package.json b/tools/node_modules/eslint/node_modules/doctrine/package.json similarity index 100% rename from tools/eslint/node_modules/doctrine/package.json rename to tools/node_modules/eslint/node_modules/doctrine/package.json diff --git a/tools/eslint/node_modules/escape-string-regexp/index.js b/tools/node_modules/eslint/node_modules/escape-string-regexp/index.js similarity index 100% rename from tools/eslint/node_modules/escape-string-regexp/index.js rename to tools/node_modules/eslint/node_modules/escape-string-regexp/index.js diff --git a/tools/eslint/node_modules/escape-string-regexp/license b/tools/node_modules/eslint/node_modules/escape-string-regexp/license similarity index 100% rename from tools/eslint/node_modules/escape-string-regexp/license rename to tools/node_modules/eslint/node_modules/escape-string-regexp/license diff --git a/tools/eslint/node_modules/escape-string-regexp/package.json b/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json similarity index 100% rename from tools/eslint/node_modules/escape-string-regexp/package.json rename to tools/node_modules/eslint/node_modules/escape-string-regexp/package.json diff --git a/tools/eslint/node_modules/escape-string-regexp/readme.md b/tools/node_modules/eslint/node_modules/escape-string-regexp/readme.md similarity index 100% rename from tools/eslint/node_modules/escape-string-regexp/readme.md rename to tools/node_modules/eslint/node_modules/escape-string-regexp/readme.md diff --git a/tools/eslint/node_modules/eslint-plugin-markdown/LICENSE b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/LICENSE similarity index 100% rename from tools/eslint/node_modules/eslint-plugin-markdown/LICENSE rename to tools/node_modules/eslint/node_modules/eslint-plugin-markdown/LICENSE diff --git a/tools/eslint/node_modules/eslint-plugin-markdown/README.md b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/README.md similarity index 100% rename from tools/eslint/node_modules/eslint-plugin-markdown/README.md rename to tools/node_modules/eslint/node_modules/eslint-plugin-markdown/README.md diff --git a/tools/eslint/node_modules/eslint-plugin-markdown/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js similarity index 100% rename from tools/eslint/node_modules/eslint-plugin-markdown/index.js rename to tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js diff --git a/tools/eslint/node_modules/eslint-plugin-markdown/lib/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/index.js similarity index 100% rename from tools/eslint/node_modules/eslint-plugin-markdown/lib/index.js rename to tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/index.js diff --git a/tools/eslint/node_modules/eslint-plugin-markdown/lib/processor.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/processor.js similarity index 100% rename from tools/eslint/node_modules/eslint-plugin-markdown/lib/processor.js rename to tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/processor.js diff --git a/tools/eslint/node_modules/eslint-plugin-markdown/package.json b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json similarity index 100% rename from tools/eslint/node_modules/eslint-plugin-markdown/package.json rename to tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json diff --git a/tools/eslint/node_modules/eslint-scope/LICENSE b/tools/node_modules/eslint/node_modules/eslint-scope/LICENSE similarity index 100% rename from tools/eslint/node_modules/eslint-scope/LICENSE rename to tools/node_modules/eslint/node_modules/eslint-scope/LICENSE diff --git a/tools/eslint/node_modules/eslint-scope/README.md b/tools/node_modules/eslint/node_modules/eslint-scope/README.md similarity index 100% rename from tools/eslint/node_modules/eslint-scope/README.md rename to tools/node_modules/eslint/node_modules/eslint-scope/README.md diff --git a/tools/eslint/node_modules/eslint-scope/lib/definition.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/definition.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/definition.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/definition.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/index.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/index.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/index.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/index.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/pattern-visitor.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/pattern-visitor.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/pattern-visitor.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/pattern-visitor.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/reference.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/reference.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/reference.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/reference.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/referencer.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/referencer.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/referencer.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/referencer.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/scope-manager.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/scope-manager.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/scope-manager.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/scope-manager.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/scope.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/scope.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/scope.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/scope.js diff --git a/tools/eslint/node_modules/eslint-scope/lib/variable.js b/tools/node_modules/eslint/node_modules/eslint-scope/lib/variable.js similarity index 100% rename from tools/eslint/node_modules/eslint-scope/lib/variable.js rename to tools/node_modules/eslint/node_modules/eslint-scope/lib/variable.js diff --git a/tools/eslint/node_modules/eslint-scope/package.json b/tools/node_modules/eslint/node_modules/eslint-scope/package.json similarity index 100% rename from tools/eslint/node_modules/eslint-scope/package.json rename to tools/node_modules/eslint/node_modules/eslint-scope/package.json diff --git a/tools/eslint/node_modules/espree/LICENSE b/tools/node_modules/eslint/node_modules/espree/LICENSE similarity index 100% rename from tools/eslint/node_modules/espree/LICENSE rename to tools/node_modules/eslint/node_modules/espree/LICENSE diff --git a/tools/eslint/node_modules/espree/README.md b/tools/node_modules/eslint/node_modules/espree/README.md similarity index 100% rename from tools/eslint/node_modules/espree/README.md rename to tools/node_modules/eslint/node_modules/espree/README.md diff --git a/tools/eslint/node_modules/espree/espree.js b/tools/node_modules/eslint/node_modules/espree/espree.js similarity index 100% rename from tools/eslint/node_modules/espree/espree.js rename to tools/node_modules/eslint/node_modules/espree/espree.js diff --git a/tools/eslint/node_modules/espree/lib/ast-node-types.js b/tools/node_modules/eslint/node_modules/espree/lib/ast-node-types.js similarity index 100% rename from tools/eslint/node_modules/espree/lib/ast-node-types.js rename to tools/node_modules/eslint/node_modules/espree/lib/ast-node-types.js diff --git a/tools/eslint/node_modules/espree/lib/comment-attachment.js b/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js similarity index 100% rename from tools/eslint/node_modules/espree/lib/comment-attachment.js rename to tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js diff --git a/tools/eslint/node_modules/espree/lib/features.js b/tools/node_modules/eslint/node_modules/espree/lib/features.js similarity index 100% rename from tools/eslint/node_modules/espree/lib/features.js rename to tools/node_modules/eslint/node_modules/espree/lib/features.js diff --git a/tools/eslint/node_modules/espree/lib/token-translator.js b/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js similarity index 100% rename from tools/eslint/node_modules/espree/lib/token-translator.js rename to tools/node_modules/eslint/node_modules/espree/lib/token-translator.js diff --git a/tools/eslint/node_modules/espree/lib/visitor-keys.js b/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js similarity index 100% rename from tools/eslint/node_modules/espree/lib/visitor-keys.js rename to tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js diff --git a/tools/eslint/node_modules/espree/package.json b/tools/node_modules/eslint/node_modules/espree/package.json similarity index 100% rename from tools/eslint/node_modules/espree/package.json rename to tools/node_modules/eslint/node_modules/espree/package.json diff --git a/tools/eslint/node_modules/esprima/LICENSE.BSD b/tools/node_modules/eslint/node_modules/esprima/LICENSE.BSD similarity index 100% rename from tools/eslint/node_modules/esprima/LICENSE.BSD rename to tools/node_modules/eslint/node_modules/esprima/LICENSE.BSD diff --git a/tools/eslint/node_modules/esprima/README.md b/tools/node_modules/eslint/node_modules/esprima/README.md similarity index 100% rename from tools/eslint/node_modules/esprima/README.md rename to tools/node_modules/eslint/node_modules/esprima/README.md diff --git a/tools/eslint/node_modules/esprima/bin/esparse.js b/tools/node_modules/eslint/node_modules/esprima/bin/esparse.js similarity index 100% rename from tools/eslint/node_modules/esprima/bin/esparse.js rename to tools/node_modules/eslint/node_modules/esprima/bin/esparse.js diff --git a/tools/eslint/node_modules/esprima/bin/esvalidate.js b/tools/node_modules/eslint/node_modules/esprima/bin/esvalidate.js similarity index 100% rename from tools/eslint/node_modules/esprima/bin/esvalidate.js rename to tools/node_modules/eslint/node_modules/esprima/bin/esvalidate.js diff --git a/tools/eslint/node_modules/esprima/dist/esprima.js b/tools/node_modules/eslint/node_modules/esprima/dist/esprima.js similarity index 100% rename from tools/eslint/node_modules/esprima/dist/esprima.js rename to tools/node_modules/eslint/node_modules/esprima/dist/esprima.js diff --git a/tools/eslint/node_modules/esprima/package.json b/tools/node_modules/eslint/node_modules/esprima/package.json similarity index 100% rename from tools/eslint/node_modules/esprima/package.json rename to tools/node_modules/eslint/node_modules/esprima/package.json diff --git a/tools/eslint/node_modules/esquery/README.md b/tools/node_modules/eslint/node_modules/esquery/README.md similarity index 100% rename from tools/eslint/node_modules/esquery/README.md rename to tools/node_modules/eslint/node_modules/esquery/README.md diff --git a/tools/eslint/node_modules/esquery/esquery.js b/tools/node_modules/eslint/node_modules/esquery/esquery.js similarity index 100% rename from tools/eslint/node_modules/esquery/esquery.js rename to tools/node_modules/eslint/node_modules/esquery/esquery.js diff --git a/tools/eslint/node_modules/esquery/license.txt b/tools/node_modules/eslint/node_modules/esquery/license.txt similarity index 100% rename from tools/eslint/node_modules/esquery/license.txt rename to tools/node_modules/eslint/node_modules/esquery/license.txt diff --git a/tools/eslint/node_modules/esquery/package.json b/tools/node_modules/eslint/node_modules/esquery/package.json similarity index 100% rename from tools/eslint/node_modules/esquery/package.json rename to tools/node_modules/eslint/node_modules/esquery/package.json diff --git a/tools/eslint/node_modules/esquery/parser.js b/tools/node_modules/eslint/node_modules/esquery/parser.js similarity index 100% rename from tools/eslint/node_modules/esquery/parser.js rename to tools/node_modules/eslint/node_modules/esquery/parser.js diff --git a/tools/eslint/node_modules/esrecurse/.babelrc b/tools/node_modules/eslint/node_modules/esrecurse/.babelrc similarity index 100% rename from tools/eslint/node_modules/esrecurse/.babelrc rename to tools/node_modules/eslint/node_modules/esrecurse/.babelrc diff --git a/tools/eslint/node_modules/esrecurse/README.md b/tools/node_modules/eslint/node_modules/esrecurse/README.md similarity index 100% rename from tools/eslint/node_modules/esrecurse/README.md rename to tools/node_modules/eslint/node_modules/esrecurse/README.md diff --git a/tools/eslint/node_modules/esrecurse/esrecurse.js b/tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js similarity index 100% rename from tools/eslint/node_modules/esrecurse/esrecurse.js rename to tools/node_modules/eslint/node_modules/esrecurse/esrecurse.js diff --git a/tools/eslint/node_modules/esrecurse/package-lock.json b/tools/node_modules/eslint/node_modules/esrecurse/package-lock.json similarity index 100% rename from tools/eslint/node_modules/esrecurse/package-lock.json rename to tools/node_modules/eslint/node_modules/esrecurse/package-lock.json diff --git a/tools/eslint/node_modules/esrecurse/package.json b/tools/node_modules/eslint/node_modules/esrecurse/package.json similarity index 100% rename from tools/eslint/node_modules/esrecurse/package.json rename to tools/node_modules/eslint/node_modules/esrecurse/package.json diff --git a/tools/eslint/node_modules/estraverse/.babelrc b/tools/node_modules/eslint/node_modules/estraverse/.babelrc similarity index 100% rename from tools/eslint/node_modules/estraverse/.babelrc rename to tools/node_modules/eslint/node_modules/estraverse/.babelrc diff --git a/tools/eslint/node_modules/estraverse/LICENSE.BSD b/tools/node_modules/eslint/node_modules/estraverse/LICENSE.BSD similarity index 100% rename from tools/eslint/node_modules/estraverse/LICENSE.BSD rename to tools/node_modules/eslint/node_modules/estraverse/LICENSE.BSD diff --git a/tools/eslint/node_modules/estraverse/estraverse.js b/tools/node_modules/eslint/node_modules/estraverse/estraverse.js similarity index 100% rename from tools/eslint/node_modules/estraverse/estraverse.js rename to tools/node_modules/eslint/node_modules/estraverse/estraverse.js diff --git a/tools/eslint/node_modules/estraverse/package.json b/tools/node_modules/eslint/node_modules/estraverse/package.json similarity index 100% rename from tools/eslint/node_modules/estraverse/package.json rename to tools/node_modules/eslint/node_modules/estraverse/package.json diff --git a/tools/eslint/node_modules/esutils/LICENSE.BSD b/tools/node_modules/eslint/node_modules/esutils/LICENSE.BSD similarity index 100% rename from tools/eslint/node_modules/esutils/LICENSE.BSD rename to tools/node_modules/eslint/node_modules/esutils/LICENSE.BSD diff --git a/tools/eslint/node_modules/esutils/README.md b/tools/node_modules/eslint/node_modules/esutils/README.md similarity index 100% rename from tools/eslint/node_modules/esutils/README.md rename to tools/node_modules/eslint/node_modules/esutils/README.md diff --git a/tools/eslint/node_modules/esutils/lib/ast.js b/tools/node_modules/eslint/node_modules/esutils/lib/ast.js similarity index 100% rename from tools/eslint/node_modules/esutils/lib/ast.js rename to tools/node_modules/eslint/node_modules/esutils/lib/ast.js diff --git a/tools/eslint/node_modules/esutils/lib/code.js b/tools/node_modules/eslint/node_modules/esutils/lib/code.js similarity index 100% rename from tools/eslint/node_modules/esutils/lib/code.js rename to tools/node_modules/eslint/node_modules/esutils/lib/code.js diff --git a/tools/eslint/node_modules/esutils/lib/keyword.js b/tools/node_modules/eslint/node_modules/esutils/lib/keyword.js similarity index 100% rename from tools/eslint/node_modules/esutils/lib/keyword.js rename to tools/node_modules/eslint/node_modules/esutils/lib/keyword.js diff --git a/tools/eslint/node_modules/esutils/lib/utils.js b/tools/node_modules/eslint/node_modules/esutils/lib/utils.js similarity index 100% rename from tools/eslint/node_modules/esutils/lib/utils.js rename to tools/node_modules/eslint/node_modules/esutils/lib/utils.js diff --git a/tools/eslint/node_modules/esutils/package.json b/tools/node_modules/eslint/node_modules/esutils/package.json similarity index 100% rename from tools/eslint/node_modules/esutils/package.json rename to tools/node_modules/eslint/node_modules/esutils/package.json diff --git a/tools/eslint/node_modules/extend/LICENSE b/tools/node_modules/eslint/node_modules/extend/LICENSE similarity index 100% rename from tools/eslint/node_modules/extend/LICENSE rename to tools/node_modules/eslint/node_modules/extend/LICENSE diff --git a/tools/eslint/node_modules/extend/README.md b/tools/node_modules/eslint/node_modules/extend/README.md similarity index 100% rename from tools/eslint/node_modules/extend/README.md rename to tools/node_modules/eslint/node_modules/extend/README.md diff --git a/tools/eslint/node_modules/extend/index.js b/tools/node_modules/eslint/node_modules/extend/index.js similarity index 100% rename from tools/eslint/node_modules/extend/index.js rename to tools/node_modules/eslint/node_modules/extend/index.js diff --git a/tools/eslint/node_modules/extend/package.json b/tools/node_modules/eslint/node_modules/extend/package.json similarity index 100% rename from tools/eslint/node_modules/extend/package.json rename to tools/node_modules/eslint/node_modules/extend/package.json diff --git a/tools/eslint/node_modules/external-editor/LICENSE b/tools/node_modules/eslint/node_modules/external-editor/LICENSE similarity index 100% rename from tools/eslint/node_modules/external-editor/LICENSE rename to tools/node_modules/eslint/node_modules/external-editor/LICENSE diff --git a/tools/eslint/node_modules/external-editor/README.md b/tools/node_modules/eslint/node_modules/external-editor/README.md similarity index 100% rename from tools/eslint/node_modules/external-editor/README.md rename to tools/node_modules/eslint/node_modules/external-editor/README.md diff --git a/tools/eslint/node_modules/external-editor/example_async.js b/tools/node_modules/eslint/node_modules/external-editor/example_async.js similarity index 100% rename from tools/eslint/node_modules/external-editor/example_async.js rename to tools/node_modules/eslint/node_modules/external-editor/example_async.js diff --git a/tools/eslint/node_modules/external-editor/example_sync.js b/tools/node_modules/eslint/node_modules/external-editor/example_sync.js similarity index 100% rename from tools/eslint/node_modules/external-editor/example_sync.js rename to tools/node_modules/eslint/node_modules/external-editor/example_sync.js diff --git a/tools/eslint/node_modules/external-editor/main/errors/CreateFileError.js b/tools/node_modules/eslint/node_modules/external-editor/main/errors/CreateFileError.js similarity index 100% rename from tools/eslint/node_modules/external-editor/main/errors/CreateFileError.js rename to tools/node_modules/eslint/node_modules/external-editor/main/errors/CreateFileError.js diff --git a/tools/eslint/node_modules/external-editor/main/errors/LaunchEditorError.js b/tools/node_modules/eslint/node_modules/external-editor/main/errors/LaunchEditorError.js similarity index 100% rename from tools/eslint/node_modules/external-editor/main/errors/LaunchEditorError.js rename to tools/node_modules/eslint/node_modules/external-editor/main/errors/LaunchEditorError.js diff --git a/tools/eslint/node_modules/external-editor/main/errors/ReadFileError.js b/tools/node_modules/eslint/node_modules/external-editor/main/errors/ReadFileError.js similarity index 100% rename from tools/eslint/node_modules/external-editor/main/errors/ReadFileError.js rename to tools/node_modules/eslint/node_modules/external-editor/main/errors/ReadFileError.js diff --git a/tools/eslint/node_modules/external-editor/main/errors/RemoveFileError.js b/tools/node_modules/eslint/node_modules/external-editor/main/errors/RemoveFileError.js similarity index 100% rename from tools/eslint/node_modules/external-editor/main/errors/RemoveFileError.js rename to tools/node_modules/eslint/node_modules/external-editor/main/errors/RemoveFileError.js diff --git a/tools/eslint/node_modules/external-editor/main/index.js b/tools/node_modules/eslint/node_modules/external-editor/main/index.js similarity index 100% rename from tools/eslint/node_modules/external-editor/main/index.js rename to tools/node_modules/eslint/node_modules/external-editor/main/index.js diff --git a/tools/eslint/node_modules/external-editor/package.json b/tools/node_modules/eslint/node_modules/external-editor/package.json similarity index 100% rename from tools/eslint/node_modules/external-editor/package.json rename to tools/node_modules/eslint/node_modules/external-editor/package.json diff --git a/tools/eslint/node_modules/fast-deep-equal/.eslintrc.yml b/tools/node_modules/eslint/node_modules/fast-deep-equal/.eslintrc.yml similarity index 100% rename from tools/eslint/node_modules/fast-deep-equal/.eslintrc.yml rename to tools/node_modules/eslint/node_modules/fast-deep-equal/.eslintrc.yml diff --git a/tools/eslint/node_modules/fast-deep-equal/LICENSE b/tools/node_modules/eslint/node_modules/fast-deep-equal/LICENSE similarity index 100% rename from tools/eslint/node_modules/fast-deep-equal/LICENSE rename to tools/node_modules/eslint/node_modules/fast-deep-equal/LICENSE diff --git a/tools/eslint/node_modules/fast-deep-equal/README.md b/tools/node_modules/eslint/node_modules/fast-deep-equal/README.md similarity index 100% rename from tools/eslint/node_modules/fast-deep-equal/README.md rename to tools/node_modules/eslint/node_modules/fast-deep-equal/README.md diff --git a/tools/eslint/node_modules/fast-deep-equal/index.js b/tools/node_modules/eslint/node_modules/fast-deep-equal/index.js similarity index 100% rename from tools/eslint/node_modules/fast-deep-equal/index.js rename to tools/node_modules/eslint/node_modules/fast-deep-equal/index.js diff --git a/tools/eslint/node_modules/fast-deep-equal/package.json b/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json similarity index 100% rename from tools/eslint/node_modules/fast-deep-equal/package.json rename to tools/node_modules/eslint/node_modules/fast-deep-equal/package.json diff --git a/tools/eslint/node_modules/fast-json-stable-stringify/.eslintrc.yml b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/.eslintrc.yml similarity index 100% rename from tools/eslint/node_modules/fast-json-stable-stringify/.eslintrc.yml rename to tools/node_modules/eslint/node_modules/fast-json-stable-stringify/.eslintrc.yml diff --git a/tools/eslint/node_modules/fast-json-stable-stringify/LICENSE b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/LICENSE similarity index 100% rename from tools/eslint/node_modules/fast-json-stable-stringify/LICENSE rename to tools/node_modules/eslint/node_modules/fast-json-stable-stringify/LICENSE diff --git a/tools/eslint/node_modules/fast-json-stable-stringify/README.md b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/README.md similarity index 100% rename from tools/eslint/node_modules/fast-json-stable-stringify/README.md rename to tools/node_modules/eslint/node_modules/fast-json-stable-stringify/README.md diff --git a/tools/eslint/node_modules/fast-json-stable-stringify/index.js b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/index.js similarity index 100% rename from tools/eslint/node_modules/fast-json-stable-stringify/index.js rename to tools/node_modules/eslint/node_modules/fast-json-stable-stringify/index.js diff --git a/tools/eslint/node_modules/fast-json-stable-stringify/package.json b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json similarity index 100% rename from tools/eslint/node_modules/fast-json-stable-stringify/package.json rename to tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json diff --git a/tools/eslint/node_modules/fast-levenshtein/LICENSE.md b/tools/node_modules/eslint/node_modules/fast-levenshtein/LICENSE.md similarity index 100% rename from tools/eslint/node_modules/fast-levenshtein/LICENSE.md rename to tools/node_modules/eslint/node_modules/fast-levenshtein/LICENSE.md diff --git a/tools/eslint/node_modules/fast-levenshtein/README.md b/tools/node_modules/eslint/node_modules/fast-levenshtein/README.md similarity index 100% rename from tools/eslint/node_modules/fast-levenshtein/README.md rename to tools/node_modules/eslint/node_modules/fast-levenshtein/README.md diff --git a/tools/eslint/node_modules/fast-levenshtein/levenshtein.js b/tools/node_modules/eslint/node_modules/fast-levenshtein/levenshtein.js similarity index 100% rename from tools/eslint/node_modules/fast-levenshtein/levenshtein.js rename to tools/node_modules/eslint/node_modules/fast-levenshtein/levenshtein.js diff --git a/tools/eslint/node_modules/fast-levenshtein/package.json b/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json similarity index 100% rename from tools/eslint/node_modules/fast-levenshtein/package.json rename to tools/node_modules/eslint/node_modules/fast-levenshtein/package.json diff --git a/tools/eslint/node_modules/figures/index.js b/tools/node_modules/eslint/node_modules/figures/index.js similarity index 100% rename from tools/eslint/node_modules/figures/index.js rename to tools/node_modules/eslint/node_modules/figures/index.js diff --git a/tools/eslint/node_modules/figures/license b/tools/node_modules/eslint/node_modules/figures/license similarity index 100% rename from tools/eslint/node_modules/figures/license rename to tools/node_modules/eslint/node_modules/figures/license diff --git a/tools/eslint/node_modules/figures/package.json b/tools/node_modules/eslint/node_modules/figures/package.json similarity index 100% rename from tools/eslint/node_modules/figures/package.json rename to tools/node_modules/eslint/node_modules/figures/package.json diff --git a/tools/eslint/node_modules/figures/readme.md b/tools/node_modules/eslint/node_modules/figures/readme.md similarity index 100% rename from tools/eslint/node_modules/figures/readme.md rename to tools/node_modules/eslint/node_modules/figures/readme.md diff --git a/tools/eslint/node_modules/file-entry-cache/LICENSE b/tools/node_modules/eslint/node_modules/file-entry-cache/LICENSE similarity index 100% rename from tools/eslint/node_modules/file-entry-cache/LICENSE rename to tools/node_modules/eslint/node_modules/file-entry-cache/LICENSE diff --git a/tools/eslint/node_modules/file-entry-cache/README.md b/tools/node_modules/eslint/node_modules/file-entry-cache/README.md similarity index 100% rename from tools/eslint/node_modules/file-entry-cache/README.md rename to tools/node_modules/eslint/node_modules/file-entry-cache/README.md diff --git a/tools/eslint/node_modules/file-entry-cache/cache.js b/tools/node_modules/eslint/node_modules/file-entry-cache/cache.js similarity index 100% rename from tools/eslint/node_modules/file-entry-cache/cache.js rename to tools/node_modules/eslint/node_modules/file-entry-cache/cache.js diff --git a/tools/eslint/node_modules/file-entry-cache/changelog.md b/tools/node_modules/eslint/node_modules/file-entry-cache/changelog.md similarity index 100% rename from tools/eslint/node_modules/file-entry-cache/changelog.md rename to tools/node_modules/eslint/node_modules/file-entry-cache/changelog.md diff --git a/tools/eslint/node_modules/file-entry-cache/package.json b/tools/node_modules/eslint/node_modules/file-entry-cache/package.json similarity index 100% rename from tools/eslint/node_modules/file-entry-cache/package.json rename to tools/node_modules/eslint/node_modules/file-entry-cache/package.json diff --git a/tools/eslint/node_modules/flat-cache/LICENSE b/tools/node_modules/eslint/node_modules/flat-cache/LICENSE similarity index 100% rename from tools/eslint/node_modules/flat-cache/LICENSE rename to tools/node_modules/eslint/node_modules/flat-cache/LICENSE diff --git a/tools/eslint/node_modules/flat-cache/README.md b/tools/node_modules/eslint/node_modules/flat-cache/README.md similarity index 100% rename from tools/eslint/node_modules/flat-cache/README.md rename to tools/node_modules/eslint/node_modules/flat-cache/README.md diff --git a/tools/eslint/node_modules/flat-cache/cache.js b/tools/node_modules/eslint/node_modules/flat-cache/cache.js similarity index 100% rename from tools/eslint/node_modules/flat-cache/cache.js rename to tools/node_modules/eslint/node_modules/flat-cache/cache.js diff --git a/tools/eslint/node_modules/flat-cache/changelog.md b/tools/node_modules/eslint/node_modules/flat-cache/changelog.md similarity index 100% rename from tools/eslint/node_modules/flat-cache/changelog.md rename to tools/node_modules/eslint/node_modules/flat-cache/changelog.md diff --git a/tools/eslint/node_modules/flat-cache/package.json b/tools/node_modules/eslint/node_modules/flat-cache/package.json similarity index 100% rename from tools/eslint/node_modules/flat-cache/package.json rename to tools/node_modules/eslint/node_modules/flat-cache/package.json diff --git a/tools/eslint/node_modules/flat-cache/utils.js b/tools/node_modules/eslint/node_modules/flat-cache/utils.js similarity index 100% rename from tools/eslint/node_modules/flat-cache/utils.js rename to tools/node_modules/eslint/node_modules/flat-cache/utils.js diff --git a/tools/eslint/node_modules/fs.realpath/LICENSE b/tools/node_modules/eslint/node_modules/fs.realpath/LICENSE similarity index 100% rename from tools/eslint/node_modules/fs.realpath/LICENSE rename to tools/node_modules/eslint/node_modules/fs.realpath/LICENSE diff --git a/tools/eslint/node_modules/fs.realpath/README.md b/tools/node_modules/eslint/node_modules/fs.realpath/README.md similarity index 100% rename from tools/eslint/node_modules/fs.realpath/README.md rename to tools/node_modules/eslint/node_modules/fs.realpath/README.md diff --git a/tools/eslint/node_modules/fs.realpath/index.js b/tools/node_modules/eslint/node_modules/fs.realpath/index.js similarity index 100% rename from tools/eslint/node_modules/fs.realpath/index.js rename to tools/node_modules/eslint/node_modules/fs.realpath/index.js diff --git a/tools/eslint/node_modules/fs.realpath/old.js b/tools/node_modules/eslint/node_modules/fs.realpath/old.js similarity index 100% rename from tools/eslint/node_modules/fs.realpath/old.js rename to tools/node_modules/eslint/node_modules/fs.realpath/old.js diff --git a/tools/eslint/node_modules/fs.realpath/package.json b/tools/node_modules/eslint/node_modules/fs.realpath/package.json similarity index 100% rename from tools/eslint/node_modules/fs.realpath/package.json rename to tools/node_modules/eslint/node_modules/fs.realpath/package.json diff --git a/tools/eslint/node_modules/function-bind/LICENSE b/tools/node_modules/eslint/node_modules/function-bind/LICENSE similarity index 100% rename from tools/eslint/node_modules/function-bind/LICENSE rename to tools/node_modules/eslint/node_modules/function-bind/LICENSE diff --git a/tools/eslint/node_modules/function-bind/README.md b/tools/node_modules/eslint/node_modules/function-bind/README.md similarity index 100% rename from tools/eslint/node_modules/function-bind/README.md rename to tools/node_modules/eslint/node_modules/function-bind/README.md diff --git a/tools/eslint/node_modules/function-bind/implementation.js b/tools/node_modules/eslint/node_modules/function-bind/implementation.js similarity index 100% rename from tools/eslint/node_modules/function-bind/implementation.js rename to tools/node_modules/eslint/node_modules/function-bind/implementation.js diff --git a/tools/eslint/node_modules/function-bind/index.js b/tools/node_modules/eslint/node_modules/function-bind/index.js similarity index 100% rename from tools/eslint/node_modules/function-bind/index.js rename to tools/node_modules/eslint/node_modules/function-bind/index.js diff --git a/tools/eslint/node_modules/function-bind/package.json b/tools/node_modules/eslint/node_modules/function-bind/package.json similarity index 100% rename from tools/eslint/node_modules/function-bind/package.json rename to tools/node_modules/eslint/node_modules/function-bind/package.json diff --git a/tools/eslint/node_modules/functional-red-black-tree/LICENSE b/tools/node_modules/eslint/node_modules/functional-red-black-tree/LICENSE similarity index 100% rename from tools/eslint/node_modules/functional-red-black-tree/LICENSE rename to tools/node_modules/eslint/node_modules/functional-red-black-tree/LICENSE diff --git a/tools/eslint/node_modules/functional-red-black-tree/README.md b/tools/node_modules/eslint/node_modules/functional-red-black-tree/README.md similarity index 100% rename from tools/eslint/node_modules/functional-red-black-tree/README.md rename to tools/node_modules/eslint/node_modules/functional-red-black-tree/README.md diff --git a/tools/eslint/node_modules/functional-red-black-tree/bench/test.js b/tools/node_modules/eslint/node_modules/functional-red-black-tree/bench/test.js similarity index 100% rename from tools/eslint/node_modules/functional-red-black-tree/bench/test.js rename to tools/node_modules/eslint/node_modules/functional-red-black-tree/bench/test.js diff --git a/tools/eslint/node_modules/functional-red-black-tree/package.json b/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json similarity index 100% rename from tools/eslint/node_modules/functional-red-black-tree/package.json rename to tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json diff --git a/tools/eslint/node_modules/functional-red-black-tree/rbtree.js b/tools/node_modules/eslint/node_modules/functional-red-black-tree/rbtree.js similarity index 100% rename from tools/eslint/node_modules/functional-red-black-tree/rbtree.js rename to tools/node_modules/eslint/node_modules/functional-red-black-tree/rbtree.js diff --git a/tools/eslint/node_modules/glob/LICENSE b/tools/node_modules/eslint/node_modules/glob/LICENSE similarity index 100% rename from tools/eslint/node_modules/glob/LICENSE rename to tools/node_modules/eslint/node_modules/glob/LICENSE diff --git a/tools/eslint/node_modules/glob/README.md b/tools/node_modules/eslint/node_modules/glob/README.md similarity index 100% rename from tools/eslint/node_modules/glob/README.md rename to tools/node_modules/eslint/node_modules/glob/README.md diff --git a/tools/eslint/node_modules/glob/changelog.md b/tools/node_modules/eslint/node_modules/glob/changelog.md similarity index 100% rename from tools/eslint/node_modules/glob/changelog.md rename to tools/node_modules/eslint/node_modules/glob/changelog.md diff --git a/tools/eslint/node_modules/glob/common.js b/tools/node_modules/eslint/node_modules/glob/common.js similarity index 100% rename from tools/eslint/node_modules/glob/common.js rename to tools/node_modules/eslint/node_modules/glob/common.js diff --git a/tools/eslint/node_modules/glob/glob.js b/tools/node_modules/eslint/node_modules/glob/glob.js similarity index 100% rename from tools/eslint/node_modules/glob/glob.js rename to tools/node_modules/eslint/node_modules/glob/glob.js diff --git a/tools/eslint/node_modules/glob/package.json b/tools/node_modules/eslint/node_modules/glob/package.json similarity index 100% rename from tools/eslint/node_modules/glob/package.json rename to tools/node_modules/eslint/node_modules/glob/package.json diff --git a/tools/eslint/node_modules/glob/sync.js b/tools/node_modules/eslint/node_modules/glob/sync.js similarity index 100% rename from tools/eslint/node_modules/glob/sync.js rename to tools/node_modules/eslint/node_modules/glob/sync.js diff --git a/tools/eslint/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/globals/globals.json similarity index 100% rename from tools/eslint/node_modules/globals/globals.json rename to tools/node_modules/eslint/node_modules/globals/globals.json diff --git a/tools/eslint/node_modules/globals/index.js b/tools/node_modules/eslint/node_modules/globals/index.js similarity index 100% rename from tools/eslint/node_modules/globals/index.js rename to tools/node_modules/eslint/node_modules/globals/index.js diff --git a/tools/eslint/node_modules/globals/license b/tools/node_modules/eslint/node_modules/globals/license similarity index 100% rename from tools/eslint/node_modules/globals/license rename to tools/node_modules/eslint/node_modules/globals/license diff --git a/tools/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json similarity index 100% rename from tools/eslint/node_modules/globals/package.json rename to tools/node_modules/eslint/node_modules/globals/package.json diff --git a/tools/eslint/node_modules/globals/readme.md b/tools/node_modules/eslint/node_modules/globals/readme.md similarity index 100% rename from tools/eslint/node_modules/globals/readme.md rename to tools/node_modules/eslint/node_modules/globals/readme.md diff --git a/tools/eslint/node_modules/globby/index.js b/tools/node_modules/eslint/node_modules/globby/index.js similarity index 100% rename from tools/eslint/node_modules/globby/index.js rename to tools/node_modules/eslint/node_modules/globby/index.js diff --git a/tools/eslint/node_modules/globby/license b/tools/node_modules/eslint/node_modules/globby/license similarity index 100% rename from tools/eslint/node_modules/globby/license rename to tools/node_modules/eslint/node_modules/globby/license diff --git a/tools/eslint/node_modules/globby/package.json b/tools/node_modules/eslint/node_modules/globby/package.json similarity index 100% rename from tools/eslint/node_modules/globby/package.json rename to tools/node_modules/eslint/node_modules/globby/package.json diff --git a/tools/eslint/node_modules/globby/readme.md b/tools/node_modules/eslint/node_modules/globby/readme.md similarity index 100% rename from tools/eslint/node_modules/globby/readme.md rename to tools/node_modules/eslint/node_modules/globby/readme.md diff --git a/tools/eslint/node_modules/graceful-fs/LICENSE b/tools/node_modules/eslint/node_modules/graceful-fs/LICENSE similarity index 100% rename from tools/eslint/node_modules/graceful-fs/LICENSE rename to tools/node_modules/eslint/node_modules/graceful-fs/LICENSE diff --git a/tools/eslint/node_modules/graceful-fs/README.md b/tools/node_modules/eslint/node_modules/graceful-fs/README.md similarity index 100% rename from tools/eslint/node_modules/graceful-fs/README.md rename to tools/node_modules/eslint/node_modules/graceful-fs/README.md diff --git a/tools/eslint/node_modules/graceful-fs/fs.js b/tools/node_modules/eslint/node_modules/graceful-fs/fs.js similarity index 100% rename from tools/eslint/node_modules/graceful-fs/fs.js rename to tools/node_modules/eslint/node_modules/graceful-fs/fs.js diff --git a/tools/eslint/node_modules/graceful-fs/graceful-fs.js b/tools/node_modules/eslint/node_modules/graceful-fs/graceful-fs.js similarity index 100% rename from tools/eslint/node_modules/graceful-fs/graceful-fs.js rename to tools/node_modules/eslint/node_modules/graceful-fs/graceful-fs.js diff --git a/tools/eslint/node_modules/graceful-fs/legacy-streams.js b/tools/node_modules/eslint/node_modules/graceful-fs/legacy-streams.js similarity index 100% rename from tools/eslint/node_modules/graceful-fs/legacy-streams.js rename to tools/node_modules/eslint/node_modules/graceful-fs/legacy-streams.js diff --git a/tools/eslint/node_modules/graceful-fs/package.json b/tools/node_modules/eslint/node_modules/graceful-fs/package.json similarity index 100% rename from tools/eslint/node_modules/graceful-fs/package.json rename to tools/node_modules/eslint/node_modules/graceful-fs/package.json diff --git a/tools/eslint/node_modules/graceful-fs/polyfills.js b/tools/node_modules/eslint/node_modules/graceful-fs/polyfills.js similarity index 100% rename from tools/eslint/node_modules/graceful-fs/polyfills.js rename to tools/node_modules/eslint/node_modules/graceful-fs/polyfills.js diff --git a/tools/eslint/node_modules/has-ansi/index.js b/tools/node_modules/eslint/node_modules/has-ansi/index.js similarity index 100% rename from tools/eslint/node_modules/has-ansi/index.js rename to tools/node_modules/eslint/node_modules/has-ansi/index.js diff --git a/tools/eslint/node_modules/has-ansi/license b/tools/node_modules/eslint/node_modules/has-ansi/license similarity index 100% rename from tools/eslint/node_modules/has-ansi/license rename to tools/node_modules/eslint/node_modules/has-ansi/license diff --git a/tools/eslint/node_modules/has-ansi/package.json b/tools/node_modules/eslint/node_modules/has-ansi/package.json similarity index 100% rename from tools/eslint/node_modules/has-ansi/package.json rename to tools/node_modules/eslint/node_modules/has-ansi/package.json diff --git a/tools/eslint/node_modules/has-ansi/readme.md b/tools/node_modules/eslint/node_modules/has-ansi/readme.md similarity index 100% rename from tools/eslint/node_modules/has-ansi/readme.md rename to tools/node_modules/eslint/node_modules/has-ansi/readme.md diff --git a/tools/eslint/node_modules/has-flag/index.js b/tools/node_modules/eslint/node_modules/has-flag/index.js similarity index 100% rename from tools/eslint/node_modules/has-flag/index.js rename to tools/node_modules/eslint/node_modules/has-flag/index.js diff --git a/tools/eslint/node_modules/has-flag/license b/tools/node_modules/eslint/node_modules/has-flag/license similarity index 100% rename from tools/eslint/node_modules/has-flag/license rename to tools/node_modules/eslint/node_modules/has-flag/license diff --git a/tools/eslint/node_modules/has-flag/package.json b/tools/node_modules/eslint/node_modules/has-flag/package.json similarity index 100% rename from tools/eslint/node_modules/has-flag/package.json rename to tools/node_modules/eslint/node_modules/has-flag/package.json diff --git a/tools/eslint/node_modules/has-flag/readme.md b/tools/node_modules/eslint/node_modules/has-flag/readme.md similarity index 100% rename from tools/eslint/node_modules/has-flag/readme.md rename to tools/node_modules/eslint/node_modules/has-flag/readme.md diff --git a/tools/eslint/node_modules/has/LICENSE-MIT b/tools/node_modules/eslint/node_modules/has/LICENSE-MIT similarity index 100% rename from tools/eslint/node_modules/has/LICENSE-MIT rename to tools/node_modules/eslint/node_modules/has/LICENSE-MIT diff --git a/tools/eslint/node_modules/has/README.mkd b/tools/node_modules/eslint/node_modules/has/README.mkd similarity index 100% rename from tools/eslint/node_modules/has/README.mkd rename to tools/node_modules/eslint/node_modules/has/README.mkd diff --git a/tools/eslint/node_modules/has/package.json b/tools/node_modules/eslint/node_modules/has/package.json similarity index 100% rename from tools/eslint/node_modules/has/package.json rename to tools/node_modules/eslint/node_modules/has/package.json diff --git a/tools/eslint/node_modules/has/src/index.js b/tools/node_modules/eslint/node_modules/has/src/index.js similarity index 100% rename from tools/eslint/node_modules/has/src/index.js rename to tools/node_modules/eslint/node_modules/has/src/index.js diff --git a/tools/eslint/node_modules/iconv-lite/LICENSE b/tools/node_modules/eslint/node_modules/iconv-lite/LICENSE similarity index 100% rename from tools/eslint/node_modules/iconv-lite/LICENSE rename to tools/node_modules/eslint/node_modules/iconv-lite/LICENSE diff --git a/tools/eslint/node_modules/iconv-lite/README.md b/tools/node_modules/eslint/node_modules/iconv-lite/README.md similarity index 100% rename from tools/eslint/node_modules/iconv-lite/README.md rename to tools/node_modules/eslint/node_modules/iconv-lite/README.md diff --git a/tools/eslint/node_modules/iconv-lite/encodings/dbcs-codec.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/dbcs-codec.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/dbcs-codec.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/dbcs-codec.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/dbcs-data.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/dbcs-data.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/dbcs-data.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/dbcs-data.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/index.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/index.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/index.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/index.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/internal.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/internal.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/internal.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/internal.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/sbcs-codec.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/sbcs-codec.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/sbcs-codec.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/sbcs-codec.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/sbcs-data-generated.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/sbcs-data-generated.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/sbcs-data-generated.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/sbcs-data-generated.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/sbcs-data.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/sbcs-data.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/sbcs-data.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/sbcs-data.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/big5-added.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/big5-added.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/big5-added.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/big5-added.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/cp936.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/cp936.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/cp936.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/cp936.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/cp949.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/cp949.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/cp949.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/cp949.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/cp950.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/cp950.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/cp950.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/cp950.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/eucjp.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/eucjp.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/eucjp.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/eucjp.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/gbk-added.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/gbk-added.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/gbk-added.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/gbk-added.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/tables/shiftjis.json b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/shiftjis.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/tables/shiftjis.json rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/tables/shiftjis.json diff --git a/tools/eslint/node_modules/iconv-lite/encodings/utf16.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/utf16.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/utf16.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/utf16.js diff --git a/tools/eslint/node_modules/iconv-lite/encodings/utf7.js b/tools/node_modules/eslint/node_modules/iconv-lite/encodings/utf7.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/encodings/utf7.js rename to tools/node_modules/eslint/node_modules/iconv-lite/encodings/utf7.js diff --git a/tools/eslint/node_modules/iconv-lite/lib/bom-handling.js b/tools/node_modules/eslint/node_modules/iconv-lite/lib/bom-handling.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/lib/bom-handling.js rename to tools/node_modules/eslint/node_modules/iconv-lite/lib/bom-handling.js diff --git a/tools/eslint/node_modules/iconv-lite/lib/extend-node.js b/tools/node_modules/eslint/node_modules/iconv-lite/lib/extend-node.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/lib/extend-node.js rename to tools/node_modules/eslint/node_modules/iconv-lite/lib/extend-node.js diff --git a/tools/eslint/node_modules/iconv-lite/lib/index.d.ts b/tools/node_modules/eslint/node_modules/iconv-lite/lib/index.d.ts similarity index 100% rename from tools/eslint/node_modules/iconv-lite/lib/index.d.ts rename to tools/node_modules/eslint/node_modules/iconv-lite/lib/index.d.ts diff --git a/tools/eslint/node_modules/iconv-lite/lib/index.js b/tools/node_modules/eslint/node_modules/iconv-lite/lib/index.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/lib/index.js rename to tools/node_modules/eslint/node_modules/iconv-lite/lib/index.js diff --git a/tools/eslint/node_modules/iconv-lite/lib/streams.js b/tools/node_modules/eslint/node_modules/iconv-lite/lib/streams.js similarity index 100% rename from tools/eslint/node_modules/iconv-lite/lib/streams.js rename to tools/node_modules/eslint/node_modules/iconv-lite/lib/streams.js diff --git a/tools/eslint/node_modules/iconv-lite/package.json b/tools/node_modules/eslint/node_modules/iconv-lite/package.json similarity index 100% rename from tools/eslint/node_modules/iconv-lite/package.json rename to tools/node_modules/eslint/node_modules/iconv-lite/package.json diff --git a/tools/eslint/node_modules/ignore/README.md b/tools/node_modules/eslint/node_modules/ignore/README.md similarity index 100% rename from tools/eslint/node_modules/ignore/README.md rename to tools/node_modules/eslint/node_modules/ignore/README.md diff --git a/tools/eslint/node_modules/ignore/ignore.js b/tools/node_modules/eslint/node_modules/ignore/ignore.js similarity index 100% rename from tools/eslint/node_modules/ignore/ignore.js rename to tools/node_modules/eslint/node_modules/ignore/ignore.js diff --git a/tools/eslint/node_modules/ignore/index.d.ts b/tools/node_modules/eslint/node_modules/ignore/index.d.ts similarity index 100% rename from tools/eslint/node_modules/ignore/index.d.ts rename to tools/node_modules/eslint/node_modules/ignore/index.d.ts diff --git a/tools/eslint/node_modules/ignore/package.json b/tools/node_modules/eslint/node_modules/ignore/package.json similarity index 100% rename from tools/eslint/node_modules/ignore/package.json rename to tools/node_modules/eslint/node_modules/ignore/package.json diff --git a/tools/eslint/node_modules/imurmurhash/README.md b/tools/node_modules/eslint/node_modules/imurmurhash/README.md similarity index 100% rename from tools/eslint/node_modules/imurmurhash/README.md rename to tools/node_modules/eslint/node_modules/imurmurhash/README.md diff --git a/tools/eslint/node_modules/imurmurhash/imurmurhash.js b/tools/node_modules/eslint/node_modules/imurmurhash/imurmurhash.js similarity index 100% rename from tools/eslint/node_modules/imurmurhash/imurmurhash.js rename to tools/node_modules/eslint/node_modules/imurmurhash/imurmurhash.js diff --git a/tools/eslint/node_modules/imurmurhash/imurmurhash.min.js b/tools/node_modules/eslint/node_modules/imurmurhash/imurmurhash.min.js similarity index 100% rename from tools/eslint/node_modules/imurmurhash/imurmurhash.min.js rename to tools/node_modules/eslint/node_modules/imurmurhash/imurmurhash.min.js diff --git a/tools/eslint/node_modules/imurmurhash/package.json b/tools/node_modules/eslint/node_modules/imurmurhash/package.json similarity index 100% rename from tools/eslint/node_modules/imurmurhash/package.json rename to tools/node_modules/eslint/node_modules/imurmurhash/package.json diff --git a/tools/eslint/node_modules/inflight/LICENSE b/tools/node_modules/eslint/node_modules/inflight/LICENSE similarity index 100% rename from tools/eslint/node_modules/inflight/LICENSE rename to tools/node_modules/eslint/node_modules/inflight/LICENSE diff --git a/tools/eslint/node_modules/inflight/README.md b/tools/node_modules/eslint/node_modules/inflight/README.md similarity index 100% rename from tools/eslint/node_modules/inflight/README.md rename to tools/node_modules/eslint/node_modules/inflight/README.md diff --git a/tools/eslint/node_modules/inflight/inflight.js b/tools/node_modules/eslint/node_modules/inflight/inflight.js similarity index 100% rename from tools/eslint/node_modules/inflight/inflight.js rename to tools/node_modules/eslint/node_modules/inflight/inflight.js diff --git a/tools/eslint/node_modules/inflight/package.json b/tools/node_modules/eslint/node_modules/inflight/package.json similarity index 100% rename from tools/eslint/node_modules/inflight/package.json rename to tools/node_modules/eslint/node_modules/inflight/package.json diff --git a/tools/eslint/node_modules/inherits/LICENSE b/tools/node_modules/eslint/node_modules/inherits/LICENSE similarity index 100% rename from tools/eslint/node_modules/inherits/LICENSE rename to tools/node_modules/eslint/node_modules/inherits/LICENSE diff --git a/tools/eslint/node_modules/inherits/README.md b/tools/node_modules/eslint/node_modules/inherits/README.md similarity index 100% rename from tools/eslint/node_modules/inherits/README.md rename to tools/node_modules/eslint/node_modules/inherits/README.md diff --git a/tools/eslint/node_modules/inherits/inherits.js b/tools/node_modules/eslint/node_modules/inherits/inherits.js similarity index 100% rename from tools/eslint/node_modules/inherits/inherits.js rename to tools/node_modules/eslint/node_modules/inherits/inherits.js diff --git a/tools/eslint/node_modules/inherits/inherits_browser.js b/tools/node_modules/eslint/node_modules/inherits/inherits_browser.js similarity index 100% rename from tools/eslint/node_modules/inherits/inherits_browser.js rename to tools/node_modules/eslint/node_modules/inherits/inherits_browser.js diff --git a/tools/eslint/node_modules/inherits/package.json b/tools/node_modules/eslint/node_modules/inherits/package.json similarity index 100% rename from tools/eslint/node_modules/inherits/package.json rename to tools/node_modules/eslint/node_modules/inherits/package.json diff --git a/tools/eslint/node_modules/inquirer/README.md b/tools/node_modules/eslint/node_modules/inquirer/README.md similarity index 100% rename from tools/eslint/node_modules/inquirer/README.md rename to tools/node_modules/eslint/node_modules/inquirer/README.md diff --git a/tools/eslint/node_modules/inquirer/lib/inquirer.js b/tools/node_modules/eslint/node_modules/inquirer/lib/inquirer.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/inquirer.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/inquirer.js diff --git a/tools/eslint/node_modules/inquirer/lib/objects/choice.js b/tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/objects/choice.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js diff --git a/tools/eslint/node_modules/inquirer/lib/objects/choices.js b/tools/node_modules/eslint/node_modules/inquirer/lib/objects/choices.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/objects/choices.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/objects/choices.js diff --git a/tools/eslint/node_modules/inquirer/lib/objects/separator.js b/tools/node_modules/eslint/node_modules/inquirer/lib/objects/separator.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/objects/separator.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/objects/separator.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/base.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/base.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/base.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/base.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/checkbox.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/checkbox.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/confirm.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/confirm.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/confirm.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/confirm.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/editor.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/editor.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/editor.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/editor.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/expand.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/expand.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/expand.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/expand.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/input.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/input.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/input.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/input.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/list.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/list.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/list.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/list.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/password.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/password.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js diff --git a/tools/eslint/node_modules/inquirer/lib/prompts/rawlist.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/prompts/rawlist.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js diff --git a/tools/eslint/node_modules/inquirer/lib/ui/baseUI.js b/tools/node_modules/eslint/node_modules/inquirer/lib/ui/baseUI.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/ui/baseUI.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/ui/baseUI.js diff --git a/tools/eslint/node_modules/inquirer/lib/ui/bottom-bar.js b/tools/node_modules/eslint/node_modules/inquirer/lib/ui/bottom-bar.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/ui/bottom-bar.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/ui/bottom-bar.js diff --git a/tools/eslint/node_modules/inquirer/lib/ui/prompt.js b/tools/node_modules/eslint/node_modules/inquirer/lib/ui/prompt.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/ui/prompt.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/ui/prompt.js diff --git a/tools/eslint/node_modules/inquirer/lib/utils/events.js b/tools/node_modules/eslint/node_modules/inquirer/lib/utils/events.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/utils/events.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/utils/events.js diff --git a/tools/eslint/node_modules/inquirer/lib/utils/paginator.js b/tools/node_modules/eslint/node_modules/inquirer/lib/utils/paginator.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/utils/paginator.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/utils/paginator.js diff --git a/tools/eslint/node_modules/inquirer/lib/utils/readline.js b/tools/node_modules/eslint/node_modules/inquirer/lib/utils/readline.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/utils/readline.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/utils/readline.js diff --git a/tools/eslint/node_modules/inquirer/lib/utils/screen-manager.js b/tools/node_modules/eslint/node_modules/inquirer/lib/utils/screen-manager.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/utils/screen-manager.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/utils/screen-manager.js diff --git a/tools/eslint/node_modules/inquirer/lib/utils/utils.js b/tools/node_modules/eslint/node_modules/inquirer/lib/utils/utils.js similarity index 100% rename from tools/eslint/node_modules/inquirer/lib/utils/utils.js rename to tools/node_modules/eslint/node_modules/inquirer/lib/utils/utils.js diff --git a/tools/eslint/node_modules/inquirer/package.json b/tools/node_modules/eslint/node_modules/inquirer/package.json similarity index 100% rename from tools/eslint/node_modules/inquirer/package.json rename to tools/node_modules/eslint/node_modules/inquirer/package.json diff --git a/tools/eslint/node_modules/is-alphabetical/LICENSE b/tools/node_modules/eslint/node_modules/is-alphabetical/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-alphabetical/LICENSE rename to tools/node_modules/eslint/node_modules/is-alphabetical/LICENSE diff --git a/tools/eslint/node_modules/is-alphabetical/index.js b/tools/node_modules/eslint/node_modules/is-alphabetical/index.js similarity index 100% rename from tools/eslint/node_modules/is-alphabetical/index.js rename to tools/node_modules/eslint/node_modules/is-alphabetical/index.js diff --git a/tools/eslint/node_modules/is-alphabetical/package.json b/tools/node_modules/eslint/node_modules/is-alphabetical/package.json similarity index 100% rename from tools/eslint/node_modules/is-alphabetical/package.json rename to tools/node_modules/eslint/node_modules/is-alphabetical/package.json diff --git a/tools/eslint/node_modules/is-alphabetical/readme.md b/tools/node_modules/eslint/node_modules/is-alphabetical/readme.md similarity index 100% rename from tools/eslint/node_modules/is-alphabetical/readme.md rename to tools/node_modules/eslint/node_modules/is-alphabetical/readme.md diff --git a/tools/eslint/node_modules/is-alphanumerical/LICENSE b/tools/node_modules/eslint/node_modules/is-alphanumerical/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-alphanumerical/LICENSE rename to tools/node_modules/eslint/node_modules/is-alphanumerical/LICENSE diff --git a/tools/eslint/node_modules/is-alphanumerical/index.js b/tools/node_modules/eslint/node_modules/is-alphanumerical/index.js similarity index 100% rename from tools/eslint/node_modules/is-alphanumerical/index.js rename to tools/node_modules/eslint/node_modules/is-alphanumerical/index.js diff --git a/tools/eslint/node_modules/is-alphanumerical/package.json b/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json similarity index 100% rename from tools/eslint/node_modules/is-alphanumerical/package.json rename to tools/node_modules/eslint/node_modules/is-alphanumerical/package.json diff --git a/tools/eslint/node_modules/is-alphanumerical/readme.md b/tools/node_modules/eslint/node_modules/is-alphanumerical/readme.md similarity index 100% rename from tools/eslint/node_modules/is-alphanumerical/readme.md rename to tools/node_modules/eslint/node_modules/is-alphanumerical/readme.md diff --git a/tools/eslint/node_modules/is-buffer/LICENSE b/tools/node_modules/eslint/node_modules/is-buffer/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-buffer/LICENSE rename to tools/node_modules/eslint/node_modules/is-buffer/LICENSE diff --git a/tools/eslint/node_modules/is-buffer/README.md b/tools/node_modules/eslint/node_modules/is-buffer/README.md similarity index 100% rename from tools/eslint/node_modules/is-buffer/README.md rename to tools/node_modules/eslint/node_modules/is-buffer/README.md diff --git a/tools/eslint/node_modules/is-buffer/index.js b/tools/node_modules/eslint/node_modules/is-buffer/index.js similarity index 100% rename from tools/eslint/node_modules/is-buffer/index.js rename to tools/node_modules/eslint/node_modules/is-buffer/index.js diff --git a/tools/eslint/node_modules/is-buffer/package.json b/tools/node_modules/eslint/node_modules/is-buffer/package.json similarity index 100% rename from tools/eslint/node_modules/is-buffer/package.json rename to tools/node_modules/eslint/node_modules/is-buffer/package.json diff --git a/tools/eslint/node_modules/is-decimal/LICENSE b/tools/node_modules/eslint/node_modules/is-decimal/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-decimal/LICENSE rename to tools/node_modules/eslint/node_modules/is-decimal/LICENSE diff --git a/tools/eslint/node_modules/is-decimal/index.js b/tools/node_modules/eslint/node_modules/is-decimal/index.js similarity index 100% rename from tools/eslint/node_modules/is-decimal/index.js rename to tools/node_modules/eslint/node_modules/is-decimal/index.js diff --git a/tools/eslint/node_modules/is-decimal/package.json b/tools/node_modules/eslint/node_modules/is-decimal/package.json similarity index 100% rename from tools/eslint/node_modules/is-decimal/package.json rename to tools/node_modules/eslint/node_modules/is-decimal/package.json diff --git a/tools/eslint/node_modules/is-decimal/readme.md b/tools/node_modules/eslint/node_modules/is-decimal/readme.md similarity index 100% rename from tools/eslint/node_modules/is-decimal/readme.md rename to tools/node_modules/eslint/node_modules/is-decimal/readme.md diff --git a/tools/eslint/node_modules/is-fullwidth-code-point/index.js b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/index.js similarity index 100% rename from tools/eslint/node_modules/is-fullwidth-code-point/index.js rename to tools/node_modules/eslint/node_modules/is-fullwidth-code-point/index.js diff --git a/tools/eslint/node_modules/is-fullwidth-code-point/license b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/license similarity index 100% rename from tools/eslint/node_modules/is-fullwidth-code-point/license rename to tools/node_modules/eslint/node_modules/is-fullwidth-code-point/license diff --git a/tools/eslint/node_modules/is-fullwidth-code-point/package.json b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json similarity index 100% rename from tools/eslint/node_modules/is-fullwidth-code-point/package.json rename to tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json diff --git a/tools/eslint/node_modules/is-fullwidth-code-point/readme.md b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/readme.md similarity index 100% rename from tools/eslint/node_modules/is-fullwidth-code-point/readme.md rename to tools/node_modules/eslint/node_modules/is-fullwidth-code-point/readme.md diff --git a/tools/eslint/node_modules/is-hexadecimal/LICENSE b/tools/node_modules/eslint/node_modules/is-hexadecimal/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-hexadecimal/LICENSE rename to tools/node_modules/eslint/node_modules/is-hexadecimal/LICENSE diff --git a/tools/eslint/node_modules/is-hexadecimal/index.js b/tools/node_modules/eslint/node_modules/is-hexadecimal/index.js similarity index 100% rename from tools/eslint/node_modules/is-hexadecimal/index.js rename to tools/node_modules/eslint/node_modules/is-hexadecimal/index.js diff --git a/tools/eslint/node_modules/is-hexadecimal/package.json b/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json similarity index 100% rename from tools/eslint/node_modules/is-hexadecimal/package.json rename to tools/node_modules/eslint/node_modules/is-hexadecimal/package.json diff --git a/tools/eslint/node_modules/is-hexadecimal/readme.md b/tools/node_modules/eslint/node_modules/is-hexadecimal/readme.md similarity index 100% rename from tools/eslint/node_modules/is-hexadecimal/readme.md rename to tools/node_modules/eslint/node_modules/is-hexadecimal/readme.md diff --git a/tools/eslint/node_modules/is-path-cwd/index.js b/tools/node_modules/eslint/node_modules/is-path-cwd/index.js similarity index 100% rename from tools/eslint/node_modules/is-path-cwd/index.js rename to tools/node_modules/eslint/node_modules/is-path-cwd/index.js diff --git a/tools/eslint/node_modules/is-path-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-cwd/package.json similarity index 100% rename from tools/eslint/node_modules/is-path-cwd/package.json rename to tools/node_modules/eslint/node_modules/is-path-cwd/package.json diff --git a/tools/eslint/node_modules/is-path-cwd/readme.md b/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md similarity index 100% rename from tools/eslint/node_modules/is-path-cwd/readme.md rename to tools/node_modules/eslint/node_modules/is-path-cwd/readme.md diff --git a/tools/eslint/node_modules/is-path-in-cwd/index.js b/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js similarity index 100% rename from tools/eslint/node_modules/is-path-in-cwd/index.js rename to tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js diff --git a/tools/eslint/node_modules/is-path-in-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json similarity index 100% rename from tools/eslint/node_modules/is-path-in-cwd/package.json rename to tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json diff --git a/tools/eslint/node_modules/is-path-in-cwd/readme.md b/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md similarity index 100% rename from tools/eslint/node_modules/is-path-in-cwd/readme.md rename to tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md diff --git a/tools/eslint/node_modules/is-path-inside/index.js b/tools/node_modules/eslint/node_modules/is-path-inside/index.js similarity index 100% rename from tools/eslint/node_modules/is-path-inside/index.js rename to tools/node_modules/eslint/node_modules/is-path-inside/index.js diff --git a/tools/eslint/node_modules/is-path-inside/package.json b/tools/node_modules/eslint/node_modules/is-path-inside/package.json similarity index 100% rename from tools/eslint/node_modules/is-path-inside/package.json rename to tools/node_modules/eslint/node_modules/is-path-inside/package.json diff --git a/tools/eslint/node_modules/is-path-inside/readme.md b/tools/node_modules/eslint/node_modules/is-path-inside/readme.md similarity index 100% rename from tools/eslint/node_modules/is-path-inside/readme.md rename to tools/node_modules/eslint/node_modules/is-path-inside/readme.md diff --git a/tools/eslint/node_modules/is-plain-obj/index.js b/tools/node_modules/eslint/node_modules/is-plain-obj/index.js similarity index 100% rename from tools/eslint/node_modules/is-plain-obj/index.js rename to tools/node_modules/eslint/node_modules/is-plain-obj/index.js diff --git a/tools/eslint/node_modules/is-plain-obj/license b/tools/node_modules/eslint/node_modules/is-plain-obj/license similarity index 100% rename from tools/eslint/node_modules/is-plain-obj/license rename to tools/node_modules/eslint/node_modules/is-plain-obj/license diff --git a/tools/eslint/node_modules/is-plain-obj/package.json b/tools/node_modules/eslint/node_modules/is-plain-obj/package.json similarity index 100% rename from tools/eslint/node_modules/is-plain-obj/package.json rename to tools/node_modules/eslint/node_modules/is-plain-obj/package.json diff --git a/tools/eslint/node_modules/is-plain-obj/readme.md b/tools/node_modules/eslint/node_modules/is-plain-obj/readme.md similarity index 100% rename from tools/eslint/node_modules/is-plain-obj/readme.md rename to tools/node_modules/eslint/node_modules/is-plain-obj/readme.md diff --git a/tools/eslint/node_modules/is-promise/LICENSE b/tools/node_modules/eslint/node_modules/is-promise/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-promise/LICENSE rename to tools/node_modules/eslint/node_modules/is-promise/LICENSE diff --git a/tools/eslint/node_modules/is-promise/index.js b/tools/node_modules/eslint/node_modules/is-promise/index.js similarity index 100% rename from tools/eslint/node_modules/is-promise/index.js rename to tools/node_modules/eslint/node_modules/is-promise/index.js diff --git a/tools/eslint/node_modules/is-promise/package.json b/tools/node_modules/eslint/node_modules/is-promise/package.json similarity index 100% rename from tools/eslint/node_modules/is-promise/package.json rename to tools/node_modules/eslint/node_modules/is-promise/package.json diff --git a/tools/eslint/node_modules/is-promise/readme.md b/tools/node_modules/eslint/node_modules/is-promise/readme.md similarity index 100% rename from tools/eslint/node_modules/is-promise/readme.md rename to tools/node_modules/eslint/node_modules/is-promise/readme.md diff --git a/tools/eslint/node_modules/is-resolvable/LICENSE b/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-resolvable/LICENSE rename to tools/node_modules/eslint/node_modules/is-resolvable/LICENSE diff --git a/tools/eslint/node_modules/is-resolvable/README.md b/tools/node_modules/eslint/node_modules/is-resolvable/README.md similarity index 100% rename from tools/eslint/node_modules/is-resolvable/README.md rename to tools/node_modules/eslint/node_modules/is-resolvable/README.md diff --git a/tools/eslint/node_modules/is-resolvable/index.js b/tools/node_modules/eslint/node_modules/is-resolvable/index.js similarity index 100% rename from tools/eslint/node_modules/is-resolvable/index.js rename to tools/node_modules/eslint/node_modules/is-resolvable/index.js diff --git a/tools/eslint/node_modules/is-resolvable/package.json b/tools/node_modules/eslint/node_modules/is-resolvable/package.json similarity index 100% rename from tools/eslint/node_modules/is-resolvable/package.json rename to tools/node_modules/eslint/node_modules/is-resolvable/package.json diff --git a/tools/eslint/node_modules/is-whitespace-character/LICENSE b/tools/node_modules/eslint/node_modules/is-whitespace-character/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-whitespace-character/LICENSE rename to tools/node_modules/eslint/node_modules/is-whitespace-character/LICENSE diff --git a/tools/eslint/node_modules/is-whitespace-character/index.js b/tools/node_modules/eslint/node_modules/is-whitespace-character/index.js similarity index 100% rename from tools/eslint/node_modules/is-whitespace-character/index.js rename to tools/node_modules/eslint/node_modules/is-whitespace-character/index.js diff --git a/tools/eslint/node_modules/is-whitespace-character/package.json b/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json similarity index 100% rename from tools/eslint/node_modules/is-whitespace-character/package.json rename to tools/node_modules/eslint/node_modules/is-whitespace-character/package.json diff --git a/tools/eslint/node_modules/is-whitespace-character/readme.md b/tools/node_modules/eslint/node_modules/is-whitespace-character/readme.md similarity index 100% rename from tools/eslint/node_modules/is-whitespace-character/readme.md rename to tools/node_modules/eslint/node_modules/is-whitespace-character/readme.md diff --git a/tools/eslint/node_modules/is-word-character/LICENSE b/tools/node_modules/eslint/node_modules/is-word-character/LICENSE similarity index 100% rename from tools/eslint/node_modules/is-word-character/LICENSE rename to tools/node_modules/eslint/node_modules/is-word-character/LICENSE diff --git a/tools/eslint/node_modules/is-word-character/index.js b/tools/node_modules/eslint/node_modules/is-word-character/index.js similarity index 100% rename from tools/eslint/node_modules/is-word-character/index.js rename to tools/node_modules/eslint/node_modules/is-word-character/index.js diff --git a/tools/eslint/node_modules/is-word-character/package.json b/tools/node_modules/eslint/node_modules/is-word-character/package.json similarity index 100% rename from tools/eslint/node_modules/is-word-character/package.json rename to tools/node_modules/eslint/node_modules/is-word-character/package.json diff --git a/tools/eslint/node_modules/is-word-character/readme.md b/tools/node_modules/eslint/node_modules/is-word-character/readme.md similarity index 100% rename from tools/eslint/node_modules/is-word-character/readme.md rename to tools/node_modules/eslint/node_modules/is-word-character/readme.md diff --git a/tools/eslint/node_modules/isarray/Makefile b/tools/node_modules/eslint/node_modules/isarray/Makefile similarity index 100% rename from tools/eslint/node_modules/isarray/Makefile rename to tools/node_modules/eslint/node_modules/isarray/Makefile diff --git a/tools/eslint/node_modules/isarray/README.md b/tools/node_modules/eslint/node_modules/isarray/README.md similarity index 100% rename from tools/eslint/node_modules/isarray/README.md rename to tools/node_modules/eslint/node_modules/isarray/README.md diff --git a/tools/eslint/node_modules/isarray/index.js b/tools/node_modules/eslint/node_modules/isarray/index.js similarity index 100% rename from tools/eslint/node_modules/isarray/index.js rename to tools/node_modules/eslint/node_modules/isarray/index.js diff --git a/tools/eslint/node_modules/isarray/package.json b/tools/node_modules/eslint/node_modules/isarray/package.json similarity index 100% rename from tools/eslint/node_modules/isarray/package.json rename to tools/node_modules/eslint/node_modules/isarray/package.json diff --git a/tools/eslint/node_modules/isexe/LICENSE b/tools/node_modules/eslint/node_modules/isexe/LICENSE similarity index 100% rename from tools/eslint/node_modules/isexe/LICENSE rename to tools/node_modules/eslint/node_modules/isexe/LICENSE diff --git a/tools/eslint/node_modules/isexe/README.md b/tools/node_modules/eslint/node_modules/isexe/README.md similarity index 100% rename from tools/eslint/node_modules/isexe/README.md rename to tools/node_modules/eslint/node_modules/isexe/README.md diff --git a/tools/eslint/node_modules/isexe/index.js b/tools/node_modules/eslint/node_modules/isexe/index.js similarity index 100% rename from tools/eslint/node_modules/isexe/index.js rename to tools/node_modules/eslint/node_modules/isexe/index.js diff --git a/tools/eslint/node_modules/isexe/mode.js b/tools/node_modules/eslint/node_modules/isexe/mode.js similarity index 100% rename from tools/eslint/node_modules/isexe/mode.js rename to tools/node_modules/eslint/node_modules/isexe/mode.js diff --git a/tools/eslint/node_modules/isexe/package.json b/tools/node_modules/eslint/node_modules/isexe/package.json similarity index 100% rename from tools/eslint/node_modules/isexe/package.json rename to tools/node_modules/eslint/node_modules/isexe/package.json diff --git a/tools/eslint/node_modules/isexe/windows.js b/tools/node_modules/eslint/node_modules/isexe/windows.js similarity index 100% rename from tools/eslint/node_modules/isexe/windows.js rename to tools/node_modules/eslint/node_modules/isexe/windows.js diff --git a/tools/eslint/node_modules/js-tokens/LICENSE b/tools/node_modules/eslint/node_modules/js-tokens/LICENSE similarity index 100% rename from tools/eslint/node_modules/js-tokens/LICENSE rename to tools/node_modules/eslint/node_modules/js-tokens/LICENSE diff --git a/tools/eslint/node_modules/js-tokens/index.js b/tools/node_modules/eslint/node_modules/js-tokens/index.js similarity index 100% rename from tools/eslint/node_modules/js-tokens/index.js rename to tools/node_modules/eslint/node_modules/js-tokens/index.js diff --git a/tools/eslint/node_modules/js-tokens/package.json b/tools/node_modules/eslint/node_modules/js-tokens/package.json similarity index 100% rename from tools/eslint/node_modules/js-tokens/package.json rename to tools/node_modules/eslint/node_modules/js-tokens/package.json diff --git a/tools/eslint/node_modules/js-tokens/readme.md b/tools/node_modules/eslint/node_modules/js-tokens/readme.md similarity index 100% rename from tools/eslint/node_modules/js-tokens/readme.md rename to tools/node_modules/eslint/node_modules/js-tokens/readme.md diff --git a/tools/eslint/node_modules/js-yaml/LICENSE b/tools/node_modules/eslint/node_modules/js-yaml/LICENSE similarity index 100% rename from tools/eslint/node_modules/js-yaml/LICENSE rename to tools/node_modules/eslint/node_modules/js-yaml/LICENSE diff --git a/tools/eslint/node_modules/js-yaml/README.md b/tools/node_modules/eslint/node_modules/js-yaml/README.md similarity index 100% rename from tools/eslint/node_modules/js-yaml/README.md rename to tools/node_modules/eslint/node_modules/js-yaml/README.md diff --git a/tools/eslint/node_modules/js-yaml/bin/js-yaml.js b/tools/node_modules/eslint/node_modules/js-yaml/bin/js-yaml.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/bin/js-yaml.js rename to tools/node_modules/eslint/node_modules/js-yaml/bin/js-yaml.js diff --git a/tools/eslint/node_modules/js-yaml/dist/js-yaml.js b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/dist/js-yaml.js rename to tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js diff --git a/tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/dist/js-yaml.min.js rename to tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js diff --git a/tools/eslint/node_modules/js-yaml/index.js b/tools/node_modules/eslint/node_modules/js-yaml/index.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/index.js rename to tools/node_modules/eslint/node_modules/js-yaml/index.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/common.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/common.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/common.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/common.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/exception.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/exception.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/exception.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/exception.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/loader.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/loader.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/loader.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/mark.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/mark.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/mark.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/mark.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/schema.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/schema.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/core.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/core.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/core.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/core.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_full.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_full.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_full.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_full.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/json.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/json.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/schema/json.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/schema/json.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/binary.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/bool.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/bool.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/bool.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/bool.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/float.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/float.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/float.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/float.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/int.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/function.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/map.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/map.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/map.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/map.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/merge.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/merge.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/merge.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/merge.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/null.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/null.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/null.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/null.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/omap.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/omap.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/omap.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/omap.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/pairs.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/pairs.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/pairs.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/pairs.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/seq.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/seq.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/seq.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/seq.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/set.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/set.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/set.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/set.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/str.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/str.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/str.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/str.js diff --git a/tools/eslint/node_modules/js-yaml/lib/js-yaml/type/timestamp.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/timestamp.js similarity index 100% rename from tools/eslint/node_modules/js-yaml/lib/js-yaml/type/timestamp.js rename to tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/type/timestamp.js diff --git a/tools/eslint/node_modules/js-yaml/package.json b/tools/node_modules/eslint/node_modules/js-yaml/package.json similarity index 100% rename from tools/eslint/node_modules/js-yaml/package.json rename to tools/node_modules/eslint/node_modules/js-yaml/package.json diff --git a/tools/eslint/node_modules/json-schema-traverse/.eslintrc.yml b/tools/node_modules/eslint/node_modules/json-schema-traverse/.eslintrc.yml similarity index 100% rename from tools/eslint/node_modules/json-schema-traverse/.eslintrc.yml rename to tools/node_modules/eslint/node_modules/json-schema-traverse/.eslintrc.yml diff --git a/tools/eslint/node_modules/json-schema-traverse/LICENSE b/tools/node_modules/eslint/node_modules/json-schema-traverse/LICENSE similarity index 100% rename from tools/eslint/node_modules/json-schema-traverse/LICENSE rename to tools/node_modules/eslint/node_modules/json-schema-traverse/LICENSE diff --git a/tools/eslint/node_modules/json-schema-traverse/README.md b/tools/node_modules/eslint/node_modules/json-schema-traverse/README.md similarity index 100% rename from tools/eslint/node_modules/json-schema-traverse/README.md rename to tools/node_modules/eslint/node_modules/json-schema-traverse/README.md diff --git a/tools/eslint/node_modules/json-schema-traverse/index.js b/tools/node_modules/eslint/node_modules/json-schema-traverse/index.js similarity index 100% rename from tools/eslint/node_modules/json-schema-traverse/index.js rename to tools/node_modules/eslint/node_modules/json-schema-traverse/index.js diff --git a/tools/eslint/node_modules/json-schema-traverse/package.json b/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json similarity index 100% rename from tools/eslint/node_modules/json-schema-traverse/package.json rename to tools/node_modules/eslint/node_modules/json-schema-traverse/package.json diff --git a/tools/eslint/node_modules/json-stable-stringify-without-jsonify/LICENSE b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/LICENSE similarity index 100% rename from tools/eslint/node_modules/json-stable-stringify-without-jsonify/LICENSE rename to tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/LICENSE diff --git a/tools/eslint/node_modules/json-stable-stringify-without-jsonify/index.js b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/index.js similarity index 100% rename from tools/eslint/node_modules/json-stable-stringify-without-jsonify/index.js rename to tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/index.js diff --git a/tools/eslint/node_modules/json-stable-stringify-without-jsonify/package.json b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json similarity index 100% rename from tools/eslint/node_modules/json-stable-stringify-without-jsonify/package.json rename to tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json diff --git a/tools/eslint/node_modules/json-stable-stringify-without-jsonify/readme.markdown b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/readme.markdown similarity index 100% rename from tools/eslint/node_modules/json-stable-stringify-without-jsonify/readme.markdown rename to tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/readme.markdown diff --git a/tools/eslint/node_modules/levn/LICENSE b/tools/node_modules/eslint/node_modules/levn/LICENSE similarity index 100% rename from tools/eslint/node_modules/levn/LICENSE rename to tools/node_modules/eslint/node_modules/levn/LICENSE diff --git a/tools/eslint/node_modules/levn/README.md b/tools/node_modules/eslint/node_modules/levn/README.md similarity index 100% rename from tools/eslint/node_modules/levn/README.md rename to tools/node_modules/eslint/node_modules/levn/README.md diff --git a/tools/eslint/node_modules/levn/lib/cast.js b/tools/node_modules/eslint/node_modules/levn/lib/cast.js similarity index 100% rename from tools/eslint/node_modules/levn/lib/cast.js rename to tools/node_modules/eslint/node_modules/levn/lib/cast.js diff --git a/tools/eslint/node_modules/levn/lib/coerce.js b/tools/node_modules/eslint/node_modules/levn/lib/coerce.js similarity index 100% rename from tools/eslint/node_modules/levn/lib/coerce.js rename to tools/node_modules/eslint/node_modules/levn/lib/coerce.js diff --git a/tools/eslint/node_modules/levn/lib/index.js b/tools/node_modules/eslint/node_modules/levn/lib/index.js similarity index 100% rename from tools/eslint/node_modules/levn/lib/index.js rename to tools/node_modules/eslint/node_modules/levn/lib/index.js diff --git a/tools/eslint/node_modules/levn/lib/parse-string.js b/tools/node_modules/eslint/node_modules/levn/lib/parse-string.js similarity index 100% rename from tools/eslint/node_modules/levn/lib/parse-string.js rename to tools/node_modules/eslint/node_modules/levn/lib/parse-string.js diff --git a/tools/eslint/node_modules/levn/lib/parse.js b/tools/node_modules/eslint/node_modules/levn/lib/parse.js similarity index 100% rename from tools/eslint/node_modules/levn/lib/parse.js rename to tools/node_modules/eslint/node_modules/levn/lib/parse.js diff --git a/tools/eslint/node_modules/levn/package.json b/tools/node_modules/eslint/node_modules/levn/package.json similarity index 100% rename from tools/eslint/node_modules/levn/package.json rename to tools/node_modules/eslint/node_modules/levn/package.json diff --git a/tools/eslint/node_modules/lodash/LICENSE b/tools/node_modules/eslint/node_modules/lodash/LICENSE similarity index 100% rename from tools/eslint/node_modules/lodash/LICENSE rename to tools/node_modules/eslint/node_modules/lodash/LICENSE diff --git a/tools/eslint/node_modules/lodash/README.md b/tools/node_modules/eslint/node_modules/lodash/README.md similarity index 100% rename from tools/eslint/node_modules/lodash/README.md rename to tools/node_modules/eslint/node_modules/lodash/README.md diff --git a/tools/eslint/node_modules/lodash/_DataView.js b/tools/node_modules/eslint/node_modules/lodash/_DataView.js similarity index 100% rename from tools/eslint/node_modules/lodash/_DataView.js rename to tools/node_modules/eslint/node_modules/lodash/_DataView.js diff --git a/tools/eslint/node_modules/lodash/_Hash.js b/tools/node_modules/eslint/node_modules/lodash/_Hash.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Hash.js rename to tools/node_modules/eslint/node_modules/lodash/_Hash.js diff --git a/tools/eslint/node_modules/lodash/_LazyWrapper.js b/tools/node_modules/eslint/node_modules/lodash/_LazyWrapper.js similarity index 100% rename from tools/eslint/node_modules/lodash/_LazyWrapper.js rename to tools/node_modules/eslint/node_modules/lodash/_LazyWrapper.js diff --git a/tools/eslint/node_modules/lodash/_ListCache.js b/tools/node_modules/eslint/node_modules/lodash/_ListCache.js similarity index 100% rename from tools/eslint/node_modules/lodash/_ListCache.js rename to tools/node_modules/eslint/node_modules/lodash/_ListCache.js diff --git a/tools/eslint/node_modules/lodash/_LodashWrapper.js b/tools/node_modules/eslint/node_modules/lodash/_LodashWrapper.js similarity index 100% rename from tools/eslint/node_modules/lodash/_LodashWrapper.js rename to tools/node_modules/eslint/node_modules/lodash/_LodashWrapper.js diff --git a/tools/eslint/node_modules/lodash/_Map.js b/tools/node_modules/eslint/node_modules/lodash/_Map.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Map.js rename to tools/node_modules/eslint/node_modules/lodash/_Map.js diff --git a/tools/eslint/node_modules/lodash/_MapCache.js b/tools/node_modules/eslint/node_modules/lodash/_MapCache.js similarity index 100% rename from tools/eslint/node_modules/lodash/_MapCache.js rename to tools/node_modules/eslint/node_modules/lodash/_MapCache.js diff --git a/tools/eslint/node_modules/lodash/_Promise.js b/tools/node_modules/eslint/node_modules/lodash/_Promise.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Promise.js rename to tools/node_modules/eslint/node_modules/lodash/_Promise.js diff --git a/tools/eslint/node_modules/lodash/_Set.js b/tools/node_modules/eslint/node_modules/lodash/_Set.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Set.js rename to tools/node_modules/eslint/node_modules/lodash/_Set.js diff --git a/tools/eslint/node_modules/lodash/_SetCache.js b/tools/node_modules/eslint/node_modules/lodash/_SetCache.js similarity index 100% rename from tools/eslint/node_modules/lodash/_SetCache.js rename to tools/node_modules/eslint/node_modules/lodash/_SetCache.js diff --git a/tools/eslint/node_modules/lodash/_Stack.js b/tools/node_modules/eslint/node_modules/lodash/_Stack.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Stack.js rename to tools/node_modules/eslint/node_modules/lodash/_Stack.js diff --git a/tools/eslint/node_modules/lodash/_Symbol.js b/tools/node_modules/eslint/node_modules/lodash/_Symbol.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Symbol.js rename to tools/node_modules/eslint/node_modules/lodash/_Symbol.js diff --git a/tools/eslint/node_modules/lodash/_Uint8Array.js b/tools/node_modules/eslint/node_modules/lodash/_Uint8Array.js similarity index 100% rename from tools/eslint/node_modules/lodash/_Uint8Array.js rename to tools/node_modules/eslint/node_modules/lodash/_Uint8Array.js diff --git a/tools/eslint/node_modules/lodash/_WeakMap.js b/tools/node_modules/eslint/node_modules/lodash/_WeakMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_WeakMap.js rename to tools/node_modules/eslint/node_modules/lodash/_WeakMap.js diff --git a/tools/eslint/node_modules/lodash/_addMapEntry.js b/tools/node_modules/eslint/node_modules/lodash/_addMapEntry.js similarity index 100% rename from tools/eslint/node_modules/lodash/_addMapEntry.js rename to tools/node_modules/eslint/node_modules/lodash/_addMapEntry.js diff --git a/tools/eslint/node_modules/lodash/_addSetEntry.js b/tools/node_modules/eslint/node_modules/lodash/_addSetEntry.js similarity index 100% rename from tools/eslint/node_modules/lodash/_addSetEntry.js rename to tools/node_modules/eslint/node_modules/lodash/_addSetEntry.js diff --git a/tools/eslint/node_modules/lodash/_apply.js b/tools/node_modules/eslint/node_modules/lodash/_apply.js similarity index 100% rename from tools/eslint/node_modules/lodash/_apply.js rename to tools/node_modules/eslint/node_modules/lodash/_apply.js diff --git a/tools/eslint/node_modules/lodash/_arrayAggregator.js b/tools/node_modules/eslint/node_modules/lodash/_arrayAggregator.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayAggregator.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayAggregator.js diff --git a/tools/eslint/node_modules/lodash/_arrayEach.js b/tools/node_modules/eslint/node_modules/lodash/_arrayEach.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayEach.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayEach.js diff --git a/tools/eslint/node_modules/lodash/_arrayEachRight.js b/tools/node_modules/eslint/node_modules/lodash/_arrayEachRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayEachRight.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayEachRight.js diff --git a/tools/eslint/node_modules/lodash/_arrayEvery.js b/tools/node_modules/eslint/node_modules/lodash/_arrayEvery.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayEvery.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayEvery.js diff --git a/tools/eslint/node_modules/lodash/_arrayFilter.js b/tools/node_modules/eslint/node_modules/lodash/_arrayFilter.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayFilter.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayFilter.js diff --git a/tools/eslint/node_modules/lodash/_arrayIncludes.js b/tools/node_modules/eslint/node_modules/lodash/_arrayIncludes.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayIncludes.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayIncludes.js diff --git a/tools/eslint/node_modules/lodash/_arrayIncludesWith.js b/tools/node_modules/eslint/node_modules/lodash/_arrayIncludesWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayIncludesWith.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayIncludesWith.js diff --git a/tools/eslint/node_modules/lodash/_arrayLikeKeys.js b/tools/node_modules/eslint/node_modules/lodash/_arrayLikeKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayLikeKeys.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayLikeKeys.js diff --git a/tools/eslint/node_modules/lodash/_arrayMap.js b/tools/node_modules/eslint/node_modules/lodash/_arrayMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayMap.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayMap.js diff --git a/tools/eslint/node_modules/lodash/_arrayPush.js b/tools/node_modules/eslint/node_modules/lodash/_arrayPush.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayPush.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayPush.js diff --git a/tools/eslint/node_modules/lodash/_arrayReduce.js b/tools/node_modules/eslint/node_modules/lodash/_arrayReduce.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayReduce.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayReduce.js diff --git a/tools/eslint/node_modules/lodash/_arrayReduceRight.js b/tools/node_modules/eslint/node_modules/lodash/_arrayReduceRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayReduceRight.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayReduceRight.js diff --git a/tools/eslint/node_modules/lodash/_arraySample.js b/tools/node_modules/eslint/node_modules/lodash/_arraySample.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arraySample.js rename to tools/node_modules/eslint/node_modules/lodash/_arraySample.js diff --git a/tools/eslint/node_modules/lodash/_arraySampleSize.js b/tools/node_modules/eslint/node_modules/lodash/_arraySampleSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arraySampleSize.js rename to tools/node_modules/eslint/node_modules/lodash/_arraySampleSize.js diff --git a/tools/eslint/node_modules/lodash/_arrayShuffle.js b/tools/node_modules/eslint/node_modules/lodash/_arrayShuffle.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arrayShuffle.js rename to tools/node_modules/eslint/node_modules/lodash/_arrayShuffle.js diff --git a/tools/eslint/node_modules/lodash/_arraySome.js b/tools/node_modules/eslint/node_modules/lodash/_arraySome.js similarity index 100% rename from tools/eslint/node_modules/lodash/_arraySome.js rename to tools/node_modules/eslint/node_modules/lodash/_arraySome.js diff --git a/tools/eslint/node_modules/lodash/_asciiSize.js b/tools/node_modules/eslint/node_modules/lodash/_asciiSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/_asciiSize.js rename to tools/node_modules/eslint/node_modules/lodash/_asciiSize.js diff --git a/tools/eslint/node_modules/lodash/_asciiToArray.js b/tools/node_modules/eslint/node_modules/lodash/_asciiToArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_asciiToArray.js rename to tools/node_modules/eslint/node_modules/lodash/_asciiToArray.js diff --git a/tools/eslint/node_modules/lodash/_asciiWords.js b/tools/node_modules/eslint/node_modules/lodash/_asciiWords.js similarity index 100% rename from tools/eslint/node_modules/lodash/_asciiWords.js rename to tools/node_modules/eslint/node_modules/lodash/_asciiWords.js diff --git a/tools/eslint/node_modules/lodash/_assignMergeValue.js b/tools/node_modules/eslint/node_modules/lodash/_assignMergeValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/_assignMergeValue.js rename to tools/node_modules/eslint/node_modules/lodash/_assignMergeValue.js diff --git a/tools/eslint/node_modules/lodash/_assignValue.js b/tools/node_modules/eslint/node_modules/lodash/_assignValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/_assignValue.js rename to tools/node_modules/eslint/node_modules/lodash/_assignValue.js diff --git a/tools/eslint/node_modules/lodash/_assocIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/_assocIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/_assocIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/_assocIndexOf.js diff --git a/tools/eslint/node_modules/lodash/_baseAggregator.js b/tools/node_modules/eslint/node_modules/lodash/_baseAggregator.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseAggregator.js rename to tools/node_modules/eslint/node_modules/lodash/_baseAggregator.js diff --git a/tools/eslint/node_modules/lodash/_baseAssign.js b/tools/node_modules/eslint/node_modules/lodash/_baseAssign.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseAssign.js rename to tools/node_modules/eslint/node_modules/lodash/_baseAssign.js diff --git a/tools/eslint/node_modules/lodash/_baseAssignIn.js b/tools/node_modules/eslint/node_modules/lodash/_baseAssignIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseAssignIn.js rename to tools/node_modules/eslint/node_modules/lodash/_baseAssignIn.js diff --git a/tools/eslint/node_modules/lodash/_baseAssignValue.js b/tools/node_modules/eslint/node_modules/lodash/_baseAssignValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseAssignValue.js rename to tools/node_modules/eslint/node_modules/lodash/_baseAssignValue.js diff --git a/tools/eslint/node_modules/lodash/_baseAt.js b/tools/node_modules/eslint/node_modules/lodash/_baseAt.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseAt.js rename to tools/node_modules/eslint/node_modules/lodash/_baseAt.js diff --git a/tools/eslint/node_modules/lodash/_baseClamp.js b/tools/node_modules/eslint/node_modules/lodash/_baseClamp.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseClamp.js rename to tools/node_modules/eslint/node_modules/lodash/_baseClamp.js diff --git a/tools/eslint/node_modules/lodash/_baseClone.js b/tools/node_modules/eslint/node_modules/lodash/_baseClone.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseClone.js rename to tools/node_modules/eslint/node_modules/lodash/_baseClone.js diff --git a/tools/eslint/node_modules/lodash/_baseConforms.js b/tools/node_modules/eslint/node_modules/lodash/_baseConforms.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseConforms.js rename to tools/node_modules/eslint/node_modules/lodash/_baseConforms.js diff --git a/tools/eslint/node_modules/lodash/_baseConformsTo.js b/tools/node_modules/eslint/node_modules/lodash/_baseConformsTo.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseConformsTo.js rename to tools/node_modules/eslint/node_modules/lodash/_baseConformsTo.js diff --git a/tools/eslint/node_modules/lodash/_baseCreate.js b/tools/node_modules/eslint/node_modules/lodash/_baseCreate.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseCreate.js rename to tools/node_modules/eslint/node_modules/lodash/_baseCreate.js diff --git a/tools/eslint/node_modules/lodash/_baseDelay.js b/tools/node_modules/eslint/node_modules/lodash/_baseDelay.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseDelay.js rename to tools/node_modules/eslint/node_modules/lodash/_baseDelay.js diff --git a/tools/eslint/node_modules/lodash/_baseDifference.js b/tools/node_modules/eslint/node_modules/lodash/_baseDifference.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseDifference.js rename to tools/node_modules/eslint/node_modules/lodash/_baseDifference.js diff --git a/tools/eslint/node_modules/lodash/_baseEach.js b/tools/node_modules/eslint/node_modules/lodash/_baseEach.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseEach.js rename to tools/node_modules/eslint/node_modules/lodash/_baseEach.js diff --git a/tools/eslint/node_modules/lodash/_baseEachRight.js b/tools/node_modules/eslint/node_modules/lodash/_baseEachRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseEachRight.js rename to tools/node_modules/eslint/node_modules/lodash/_baseEachRight.js diff --git a/tools/eslint/node_modules/lodash/_baseEvery.js b/tools/node_modules/eslint/node_modules/lodash/_baseEvery.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseEvery.js rename to tools/node_modules/eslint/node_modules/lodash/_baseEvery.js diff --git a/tools/eslint/node_modules/lodash/_baseExtremum.js b/tools/node_modules/eslint/node_modules/lodash/_baseExtremum.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseExtremum.js rename to tools/node_modules/eslint/node_modules/lodash/_baseExtremum.js diff --git a/tools/eslint/node_modules/lodash/_baseFill.js b/tools/node_modules/eslint/node_modules/lodash/_baseFill.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFill.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFill.js diff --git a/tools/eslint/node_modules/lodash/_baseFilter.js b/tools/node_modules/eslint/node_modules/lodash/_baseFilter.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFilter.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFilter.js diff --git a/tools/eslint/node_modules/lodash/_baseFindIndex.js b/tools/node_modules/eslint/node_modules/lodash/_baseFindIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFindIndex.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFindIndex.js diff --git a/tools/eslint/node_modules/lodash/_baseFindKey.js b/tools/node_modules/eslint/node_modules/lodash/_baseFindKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFindKey.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFindKey.js diff --git a/tools/eslint/node_modules/lodash/_baseFlatten.js b/tools/node_modules/eslint/node_modules/lodash/_baseFlatten.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFlatten.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFlatten.js diff --git a/tools/eslint/node_modules/lodash/_baseFor.js b/tools/node_modules/eslint/node_modules/lodash/_baseFor.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFor.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFor.js diff --git a/tools/eslint/node_modules/lodash/_baseForOwn.js b/tools/node_modules/eslint/node_modules/lodash/_baseForOwn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseForOwn.js rename to tools/node_modules/eslint/node_modules/lodash/_baseForOwn.js diff --git a/tools/eslint/node_modules/lodash/_baseForOwnRight.js b/tools/node_modules/eslint/node_modules/lodash/_baseForOwnRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseForOwnRight.js rename to tools/node_modules/eslint/node_modules/lodash/_baseForOwnRight.js diff --git a/tools/eslint/node_modules/lodash/_baseForRight.js b/tools/node_modules/eslint/node_modules/lodash/_baseForRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseForRight.js rename to tools/node_modules/eslint/node_modules/lodash/_baseForRight.js diff --git a/tools/eslint/node_modules/lodash/_baseFunctions.js b/tools/node_modules/eslint/node_modules/lodash/_baseFunctions.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseFunctions.js rename to tools/node_modules/eslint/node_modules/lodash/_baseFunctions.js diff --git a/tools/eslint/node_modules/lodash/_baseGet.js b/tools/node_modules/eslint/node_modules/lodash/_baseGet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseGet.js rename to tools/node_modules/eslint/node_modules/lodash/_baseGet.js diff --git a/tools/eslint/node_modules/lodash/_baseGetAllKeys.js b/tools/node_modules/eslint/node_modules/lodash/_baseGetAllKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseGetAllKeys.js rename to tools/node_modules/eslint/node_modules/lodash/_baseGetAllKeys.js diff --git a/tools/eslint/node_modules/lodash/_baseGetTag.js b/tools/node_modules/eslint/node_modules/lodash/_baseGetTag.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseGetTag.js rename to tools/node_modules/eslint/node_modules/lodash/_baseGetTag.js diff --git a/tools/eslint/node_modules/lodash/_baseGt.js b/tools/node_modules/eslint/node_modules/lodash/_baseGt.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseGt.js rename to tools/node_modules/eslint/node_modules/lodash/_baseGt.js diff --git a/tools/eslint/node_modules/lodash/_baseHas.js b/tools/node_modules/eslint/node_modules/lodash/_baseHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseHas.js rename to tools/node_modules/eslint/node_modules/lodash/_baseHas.js diff --git a/tools/eslint/node_modules/lodash/_baseHasIn.js b/tools/node_modules/eslint/node_modules/lodash/_baseHasIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseHasIn.js rename to tools/node_modules/eslint/node_modules/lodash/_baseHasIn.js diff --git a/tools/eslint/node_modules/lodash/_baseInRange.js b/tools/node_modules/eslint/node_modules/lodash/_baseInRange.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseInRange.js rename to tools/node_modules/eslint/node_modules/lodash/_baseInRange.js diff --git a/tools/eslint/node_modules/lodash/_baseIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/_baseIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIndexOf.js diff --git a/tools/eslint/node_modules/lodash/_baseIndexOfWith.js b/tools/node_modules/eslint/node_modules/lodash/_baseIndexOfWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIndexOfWith.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIndexOfWith.js diff --git a/tools/eslint/node_modules/lodash/_baseIntersection.js b/tools/node_modules/eslint/node_modules/lodash/_baseIntersection.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIntersection.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIntersection.js diff --git a/tools/eslint/node_modules/lodash/_baseInverter.js b/tools/node_modules/eslint/node_modules/lodash/_baseInverter.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseInverter.js rename to tools/node_modules/eslint/node_modules/lodash/_baseInverter.js diff --git a/tools/eslint/node_modules/lodash/_baseInvoke.js b/tools/node_modules/eslint/node_modules/lodash/_baseInvoke.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseInvoke.js rename to tools/node_modules/eslint/node_modules/lodash/_baseInvoke.js diff --git a/tools/eslint/node_modules/lodash/_baseIsArguments.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsArguments.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsArguments.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsArguments.js diff --git a/tools/eslint/node_modules/lodash/_baseIsArrayBuffer.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsArrayBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsArrayBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsArrayBuffer.js diff --git a/tools/eslint/node_modules/lodash/_baseIsDate.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsDate.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsDate.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsDate.js diff --git a/tools/eslint/node_modules/lodash/_baseIsEqual.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsEqual.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsEqual.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsEqual.js diff --git a/tools/eslint/node_modules/lodash/_baseIsEqualDeep.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsEqualDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsEqualDeep.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsEqualDeep.js diff --git a/tools/eslint/node_modules/lodash/_baseIsMap.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsMap.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsMap.js diff --git a/tools/eslint/node_modules/lodash/_baseIsMatch.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsMatch.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsMatch.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsMatch.js diff --git a/tools/eslint/node_modules/lodash/_baseIsNaN.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsNaN.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsNaN.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsNaN.js diff --git a/tools/eslint/node_modules/lodash/_baseIsNative.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsNative.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsNative.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsNative.js diff --git a/tools/eslint/node_modules/lodash/_baseIsRegExp.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsRegExp.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsRegExp.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsRegExp.js diff --git a/tools/eslint/node_modules/lodash/_baseIsSet.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsSet.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsSet.js diff --git a/tools/eslint/node_modules/lodash/_baseIsTypedArray.js b/tools/node_modules/eslint/node_modules/lodash/_baseIsTypedArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIsTypedArray.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIsTypedArray.js diff --git a/tools/eslint/node_modules/lodash/_baseIteratee.js b/tools/node_modules/eslint/node_modules/lodash/_baseIteratee.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseIteratee.js rename to tools/node_modules/eslint/node_modules/lodash/_baseIteratee.js diff --git a/tools/eslint/node_modules/lodash/_baseKeys.js b/tools/node_modules/eslint/node_modules/lodash/_baseKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseKeys.js rename to tools/node_modules/eslint/node_modules/lodash/_baseKeys.js diff --git a/tools/eslint/node_modules/lodash/_baseKeysIn.js b/tools/node_modules/eslint/node_modules/lodash/_baseKeysIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseKeysIn.js rename to tools/node_modules/eslint/node_modules/lodash/_baseKeysIn.js diff --git a/tools/eslint/node_modules/lodash/_baseLodash.js b/tools/node_modules/eslint/node_modules/lodash/_baseLodash.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseLodash.js rename to tools/node_modules/eslint/node_modules/lodash/_baseLodash.js diff --git a/tools/eslint/node_modules/lodash/_baseLt.js b/tools/node_modules/eslint/node_modules/lodash/_baseLt.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseLt.js rename to tools/node_modules/eslint/node_modules/lodash/_baseLt.js diff --git a/tools/eslint/node_modules/lodash/_baseMap.js b/tools/node_modules/eslint/node_modules/lodash/_baseMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseMap.js rename to tools/node_modules/eslint/node_modules/lodash/_baseMap.js diff --git a/tools/eslint/node_modules/lodash/_baseMatches.js b/tools/node_modules/eslint/node_modules/lodash/_baseMatches.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseMatches.js rename to tools/node_modules/eslint/node_modules/lodash/_baseMatches.js diff --git a/tools/eslint/node_modules/lodash/_baseMatchesProperty.js b/tools/node_modules/eslint/node_modules/lodash/_baseMatchesProperty.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseMatchesProperty.js rename to tools/node_modules/eslint/node_modules/lodash/_baseMatchesProperty.js diff --git a/tools/eslint/node_modules/lodash/_baseMean.js b/tools/node_modules/eslint/node_modules/lodash/_baseMean.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseMean.js rename to tools/node_modules/eslint/node_modules/lodash/_baseMean.js diff --git a/tools/eslint/node_modules/lodash/_baseMerge.js b/tools/node_modules/eslint/node_modules/lodash/_baseMerge.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseMerge.js rename to tools/node_modules/eslint/node_modules/lodash/_baseMerge.js diff --git a/tools/eslint/node_modules/lodash/_baseMergeDeep.js b/tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseMergeDeep.js rename to tools/node_modules/eslint/node_modules/lodash/_baseMergeDeep.js diff --git a/tools/eslint/node_modules/lodash/_baseNth.js b/tools/node_modules/eslint/node_modules/lodash/_baseNth.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseNth.js rename to tools/node_modules/eslint/node_modules/lodash/_baseNth.js diff --git a/tools/eslint/node_modules/lodash/_baseOrderBy.js b/tools/node_modules/eslint/node_modules/lodash/_baseOrderBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseOrderBy.js rename to tools/node_modules/eslint/node_modules/lodash/_baseOrderBy.js diff --git a/tools/eslint/node_modules/lodash/_basePick.js b/tools/node_modules/eslint/node_modules/lodash/_basePick.js similarity index 100% rename from tools/eslint/node_modules/lodash/_basePick.js rename to tools/node_modules/eslint/node_modules/lodash/_basePick.js diff --git a/tools/eslint/node_modules/lodash/_basePickBy.js b/tools/node_modules/eslint/node_modules/lodash/_basePickBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/_basePickBy.js rename to tools/node_modules/eslint/node_modules/lodash/_basePickBy.js diff --git a/tools/eslint/node_modules/lodash/_baseProperty.js b/tools/node_modules/eslint/node_modules/lodash/_baseProperty.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseProperty.js rename to tools/node_modules/eslint/node_modules/lodash/_baseProperty.js diff --git a/tools/eslint/node_modules/lodash/_basePropertyDeep.js b/tools/node_modules/eslint/node_modules/lodash/_basePropertyDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/_basePropertyDeep.js rename to tools/node_modules/eslint/node_modules/lodash/_basePropertyDeep.js diff --git a/tools/eslint/node_modules/lodash/_basePropertyOf.js b/tools/node_modules/eslint/node_modules/lodash/_basePropertyOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/_basePropertyOf.js rename to tools/node_modules/eslint/node_modules/lodash/_basePropertyOf.js diff --git a/tools/eslint/node_modules/lodash/_basePullAll.js b/tools/node_modules/eslint/node_modules/lodash/_basePullAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/_basePullAll.js rename to tools/node_modules/eslint/node_modules/lodash/_basePullAll.js diff --git a/tools/eslint/node_modules/lodash/_basePullAt.js b/tools/node_modules/eslint/node_modules/lodash/_basePullAt.js similarity index 100% rename from tools/eslint/node_modules/lodash/_basePullAt.js rename to tools/node_modules/eslint/node_modules/lodash/_basePullAt.js diff --git a/tools/eslint/node_modules/lodash/_baseRandom.js b/tools/node_modules/eslint/node_modules/lodash/_baseRandom.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseRandom.js rename to tools/node_modules/eslint/node_modules/lodash/_baseRandom.js diff --git a/tools/eslint/node_modules/lodash/_baseRange.js b/tools/node_modules/eslint/node_modules/lodash/_baseRange.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseRange.js rename to tools/node_modules/eslint/node_modules/lodash/_baseRange.js diff --git a/tools/eslint/node_modules/lodash/_baseReduce.js b/tools/node_modules/eslint/node_modules/lodash/_baseReduce.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseReduce.js rename to tools/node_modules/eslint/node_modules/lodash/_baseReduce.js diff --git a/tools/eslint/node_modules/lodash/_baseRepeat.js b/tools/node_modules/eslint/node_modules/lodash/_baseRepeat.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseRepeat.js rename to tools/node_modules/eslint/node_modules/lodash/_baseRepeat.js diff --git a/tools/eslint/node_modules/lodash/_baseRest.js b/tools/node_modules/eslint/node_modules/lodash/_baseRest.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseRest.js rename to tools/node_modules/eslint/node_modules/lodash/_baseRest.js diff --git a/tools/eslint/node_modules/lodash/_baseSample.js b/tools/node_modules/eslint/node_modules/lodash/_baseSample.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSample.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSample.js diff --git a/tools/eslint/node_modules/lodash/_baseSampleSize.js b/tools/node_modules/eslint/node_modules/lodash/_baseSampleSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSampleSize.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSampleSize.js diff --git a/tools/eslint/node_modules/lodash/_baseSet.js b/tools/node_modules/eslint/node_modules/lodash/_baseSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSet.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSet.js diff --git a/tools/eslint/node_modules/lodash/_baseSetData.js b/tools/node_modules/eslint/node_modules/lodash/_baseSetData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSetData.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSetData.js diff --git a/tools/eslint/node_modules/lodash/_baseSetToString.js b/tools/node_modules/eslint/node_modules/lodash/_baseSetToString.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSetToString.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSetToString.js diff --git a/tools/eslint/node_modules/lodash/_baseShuffle.js b/tools/node_modules/eslint/node_modules/lodash/_baseShuffle.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseShuffle.js rename to tools/node_modules/eslint/node_modules/lodash/_baseShuffle.js diff --git a/tools/eslint/node_modules/lodash/_baseSlice.js b/tools/node_modules/eslint/node_modules/lodash/_baseSlice.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSlice.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSlice.js diff --git a/tools/eslint/node_modules/lodash/_baseSome.js b/tools/node_modules/eslint/node_modules/lodash/_baseSome.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSome.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSome.js diff --git a/tools/eslint/node_modules/lodash/_baseSortBy.js b/tools/node_modules/eslint/node_modules/lodash/_baseSortBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSortBy.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSortBy.js diff --git a/tools/eslint/node_modules/lodash/_baseSortedIndex.js b/tools/node_modules/eslint/node_modules/lodash/_baseSortedIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSortedIndex.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSortedIndex.js diff --git a/tools/eslint/node_modules/lodash/_baseSortedIndexBy.js b/tools/node_modules/eslint/node_modules/lodash/_baseSortedIndexBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSortedIndexBy.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSortedIndexBy.js diff --git a/tools/eslint/node_modules/lodash/_baseSortedUniq.js b/tools/node_modules/eslint/node_modules/lodash/_baseSortedUniq.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSortedUniq.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSortedUniq.js diff --git a/tools/eslint/node_modules/lodash/_baseSum.js b/tools/node_modules/eslint/node_modules/lodash/_baseSum.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseSum.js rename to tools/node_modules/eslint/node_modules/lodash/_baseSum.js diff --git a/tools/eslint/node_modules/lodash/_baseTimes.js b/tools/node_modules/eslint/node_modules/lodash/_baseTimes.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseTimes.js rename to tools/node_modules/eslint/node_modules/lodash/_baseTimes.js diff --git a/tools/eslint/node_modules/lodash/_baseToNumber.js b/tools/node_modules/eslint/node_modules/lodash/_baseToNumber.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseToNumber.js rename to tools/node_modules/eslint/node_modules/lodash/_baseToNumber.js diff --git a/tools/eslint/node_modules/lodash/_baseToPairs.js b/tools/node_modules/eslint/node_modules/lodash/_baseToPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseToPairs.js rename to tools/node_modules/eslint/node_modules/lodash/_baseToPairs.js diff --git a/tools/eslint/node_modules/lodash/_baseToString.js b/tools/node_modules/eslint/node_modules/lodash/_baseToString.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseToString.js rename to tools/node_modules/eslint/node_modules/lodash/_baseToString.js diff --git a/tools/eslint/node_modules/lodash/_baseUnary.js b/tools/node_modules/eslint/node_modules/lodash/_baseUnary.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseUnary.js rename to tools/node_modules/eslint/node_modules/lodash/_baseUnary.js diff --git a/tools/eslint/node_modules/lodash/_baseUniq.js b/tools/node_modules/eslint/node_modules/lodash/_baseUniq.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseUniq.js rename to tools/node_modules/eslint/node_modules/lodash/_baseUniq.js diff --git a/tools/eslint/node_modules/lodash/_baseUnset.js b/tools/node_modules/eslint/node_modules/lodash/_baseUnset.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseUnset.js rename to tools/node_modules/eslint/node_modules/lodash/_baseUnset.js diff --git a/tools/eslint/node_modules/lodash/_baseUpdate.js b/tools/node_modules/eslint/node_modules/lodash/_baseUpdate.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseUpdate.js rename to tools/node_modules/eslint/node_modules/lodash/_baseUpdate.js diff --git a/tools/eslint/node_modules/lodash/_baseValues.js b/tools/node_modules/eslint/node_modules/lodash/_baseValues.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseValues.js rename to tools/node_modules/eslint/node_modules/lodash/_baseValues.js diff --git a/tools/eslint/node_modules/lodash/_baseWhile.js b/tools/node_modules/eslint/node_modules/lodash/_baseWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseWhile.js rename to tools/node_modules/eslint/node_modules/lodash/_baseWhile.js diff --git a/tools/eslint/node_modules/lodash/_baseWrapperValue.js b/tools/node_modules/eslint/node_modules/lodash/_baseWrapperValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseWrapperValue.js rename to tools/node_modules/eslint/node_modules/lodash/_baseWrapperValue.js diff --git a/tools/eslint/node_modules/lodash/_baseXor.js b/tools/node_modules/eslint/node_modules/lodash/_baseXor.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseXor.js rename to tools/node_modules/eslint/node_modules/lodash/_baseXor.js diff --git a/tools/eslint/node_modules/lodash/_baseZipObject.js b/tools/node_modules/eslint/node_modules/lodash/_baseZipObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/_baseZipObject.js rename to tools/node_modules/eslint/node_modules/lodash/_baseZipObject.js diff --git a/tools/eslint/node_modules/lodash/_cacheHas.js b/tools/node_modules/eslint/node_modules/lodash/_cacheHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cacheHas.js rename to tools/node_modules/eslint/node_modules/lodash/_cacheHas.js diff --git a/tools/eslint/node_modules/lodash/_castArrayLikeObject.js b/tools/node_modules/eslint/node_modules/lodash/_castArrayLikeObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/_castArrayLikeObject.js rename to tools/node_modules/eslint/node_modules/lodash/_castArrayLikeObject.js diff --git a/tools/eslint/node_modules/lodash/_castFunction.js b/tools/node_modules/eslint/node_modules/lodash/_castFunction.js similarity index 100% rename from tools/eslint/node_modules/lodash/_castFunction.js rename to tools/node_modules/eslint/node_modules/lodash/_castFunction.js diff --git a/tools/eslint/node_modules/lodash/_castPath.js b/tools/node_modules/eslint/node_modules/lodash/_castPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/_castPath.js rename to tools/node_modules/eslint/node_modules/lodash/_castPath.js diff --git a/tools/eslint/node_modules/lodash/_castRest.js b/tools/node_modules/eslint/node_modules/lodash/_castRest.js similarity index 100% rename from tools/eslint/node_modules/lodash/_castRest.js rename to tools/node_modules/eslint/node_modules/lodash/_castRest.js diff --git a/tools/eslint/node_modules/lodash/_castSlice.js b/tools/node_modules/eslint/node_modules/lodash/_castSlice.js similarity index 100% rename from tools/eslint/node_modules/lodash/_castSlice.js rename to tools/node_modules/eslint/node_modules/lodash/_castSlice.js diff --git a/tools/eslint/node_modules/lodash/_charsEndIndex.js b/tools/node_modules/eslint/node_modules/lodash/_charsEndIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/_charsEndIndex.js rename to tools/node_modules/eslint/node_modules/lodash/_charsEndIndex.js diff --git a/tools/eslint/node_modules/lodash/_charsStartIndex.js b/tools/node_modules/eslint/node_modules/lodash/_charsStartIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/_charsStartIndex.js rename to tools/node_modules/eslint/node_modules/lodash/_charsStartIndex.js diff --git a/tools/eslint/node_modules/lodash/_cloneArrayBuffer.js b/tools/node_modules/eslint/node_modules/lodash/_cloneArrayBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneArrayBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneArrayBuffer.js diff --git a/tools/eslint/node_modules/lodash/_cloneBuffer.js b/tools/node_modules/eslint/node_modules/lodash/_cloneBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneBuffer.js diff --git a/tools/eslint/node_modules/lodash/_cloneDataView.js b/tools/node_modules/eslint/node_modules/lodash/_cloneDataView.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneDataView.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneDataView.js diff --git a/tools/eslint/node_modules/lodash/_cloneMap.js b/tools/node_modules/eslint/node_modules/lodash/_cloneMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneMap.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneMap.js diff --git a/tools/eslint/node_modules/lodash/_cloneRegExp.js b/tools/node_modules/eslint/node_modules/lodash/_cloneRegExp.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneRegExp.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneRegExp.js diff --git a/tools/eslint/node_modules/lodash/_cloneSet.js b/tools/node_modules/eslint/node_modules/lodash/_cloneSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneSet.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneSet.js diff --git a/tools/eslint/node_modules/lodash/_cloneSymbol.js b/tools/node_modules/eslint/node_modules/lodash/_cloneSymbol.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneSymbol.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneSymbol.js diff --git a/tools/eslint/node_modules/lodash/_cloneTypedArray.js b/tools/node_modules/eslint/node_modules/lodash/_cloneTypedArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_cloneTypedArray.js rename to tools/node_modules/eslint/node_modules/lodash/_cloneTypedArray.js diff --git a/tools/eslint/node_modules/lodash/_compareAscending.js b/tools/node_modules/eslint/node_modules/lodash/_compareAscending.js similarity index 100% rename from tools/eslint/node_modules/lodash/_compareAscending.js rename to tools/node_modules/eslint/node_modules/lodash/_compareAscending.js diff --git a/tools/eslint/node_modules/lodash/_compareMultiple.js b/tools/node_modules/eslint/node_modules/lodash/_compareMultiple.js similarity index 100% rename from tools/eslint/node_modules/lodash/_compareMultiple.js rename to tools/node_modules/eslint/node_modules/lodash/_compareMultiple.js diff --git a/tools/eslint/node_modules/lodash/_composeArgs.js b/tools/node_modules/eslint/node_modules/lodash/_composeArgs.js similarity index 100% rename from tools/eslint/node_modules/lodash/_composeArgs.js rename to tools/node_modules/eslint/node_modules/lodash/_composeArgs.js diff --git a/tools/eslint/node_modules/lodash/_composeArgsRight.js b/tools/node_modules/eslint/node_modules/lodash/_composeArgsRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/_composeArgsRight.js rename to tools/node_modules/eslint/node_modules/lodash/_composeArgsRight.js diff --git a/tools/eslint/node_modules/lodash/_copyArray.js b/tools/node_modules/eslint/node_modules/lodash/_copyArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_copyArray.js rename to tools/node_modules/eslint/node_modules/lodash/_copyArray.js diff --git a/tools/eslint/node_modules/lodash/_copyObject.js b/tools/node_modules/eslint/node_modules/lodash/_copyObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/_copyObject.js rename to tools/node_modules/eslint/node_modules/lodash/_copyObject.js diff --git a/tools/eslint/node_modules/lodash/_copySymbols.js b/tools/node_modules/eslint/node_modules/lodash/_copySymbols.js similarity index 100% rename from tools/eslint/node_modules/lodash/_copySymbols.js rename to tools/node_modules/eslint/node_modules/lodash/_copySymbols.js diff --git a/tools/eslint/node_modules/lodash/_copySymbolsIn.js b/tools/node_modules/eslint/node_modules/lodash/_copySymbolsIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_copySymbolsIn.js rename to tools/node_modules/eslint/node_modules/lodash/_copySymbolsIn.js diff --git a/tools/eslint/node_modules/lodash/_coreJsData.js b/tools/node_modules/eslint/node_modules/lodash/_coreJsData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_coreJsData.js rename to tools/node_modules/eslint/node_modules/lodash/_coreJsData.js diff --git a/tools/eslint/node_modules/lodash/_countHolders.js b/tools/node_modules/eslint/node_modules/lodash/_countHolders.js similarity index 100% rename from tools/eslint/node_modules/lodash/_countHolders.js rename to tools/node_modules/eslint/node_modules/lodash/_countHolders.js diff --git a/tools/eslint/node_modules/lodash/_createAggregator.js b/tools/node_modules/eslint/node_modules/lodash/_createAggregator.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createAggregator.js rename to tools/node_modules/eslint/node_modules/lodash/_createAggregator.js diff --git a/tools/eslint/node_modules/lodash/_createAssigner.js b/tools/node_modules/eslint/node_modules/lodash/_createAssigner.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createAssigner.js rename to tools/node_modules/eslint/node_modules/lodash/_createAssigner.js diff --git a/tools/eslint/node_modules/lodash/_createBaseEach.js b/tools/node_modules/eslint/node_modules/lodash/_createBaseEach.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createBaseEach.js rename to tools/node_modules/eslint/node_modules/lodash/_createBaseEach.js diff --git a/tools/eslint/node_modules/lodash/_createBaseFor.js b/tools/node_modules/eslint/node_modules/lodash/_createBaseFor.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createBaseFor.js rename to tools/node_modules/eslint/node_modules/lodash/_createBaseFor.js diff --git a/tools/eslint/node_modules/lodash/_createBind.js b/tools/node_modules/eslint/node_modules/lodash/_createBind.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createBind.js rename to tools/node_modules/eslint/node_modules/lodash/_createBind.js diff --git a/tools/eslint/node_modules/lodash/_createCaseFirst.js b/tools/node_modules/eslint/node_modules/lodash/_createCaseFirst.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createCaseFirst.js rename to tools/node_modules/eslint/node_modules/lodash/_createCaseFirst.js diff --git a/tools/eslint/node_modules/lodash/_createCompounder.js b/tools/node_modules/eslint/node_modules/lodash/_createCompounder.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createCompounder.js rename to tools/node_modules/eslint/node_modules/lodash/_createCompounder.js diff --git a/tools/eslint/node_modules/lodash/_createCtor.js b/tools/node_modules/eslint/node_modules/lodash/_createCtor.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createCtor.js rename to tools/node_modules/eslint/node_modules/lodash/_createCtor.js diff --git a/tools/eslint/node_modules/lodash/_createCurry.js b/tools/node_modules/eslint/node_modules/lodash/_createCurry.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createCurry.js rename to tools/node_modules/eslint/node_modules/lodash/_createCurry.js diff --git a/tools/eslint/node_modules/lodash/_createFind.js b/tools/node_modules/eslint/node_modules/lodash/_createFind.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createFind.js rename to tools/node_modules/eslint/node_modules/lodash/_createFind.js diff --git a/tools/eslint/node_modules/lodash/_createFlow.js b/tools/node_modules/eslint/node_modules/lodash/_createFlow.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createFlow.js rename to tools/node_modules/eslint/node_modules/lodash/_createFlow.js diff --git a/tools/eslint/node_modules/lodash/_createHybrid.js b/tools/node_modules/eslint/node_modules/lodash/_createHybrid.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createHybrid.js rename to tools/node_modules/eslint/node_modules/lodash/_createHybrid.js diff --git a/tools/eslint/node_modules/lodash/_createInverter.js b/tools/node_modules/eslint/node_modules/lodash/_createInverter.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createInverter.js rename to tools/node_modules/eslint/node_modules/lodash/_createInverter.js diff --git a/tools/eslint/node_modules/lodash/_createMathOperation.js b/tools/node_modules/eslint/node_modules/lodash/_createMathOperation.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createMathOperation.js rename to tools/node_modules/eslint/node_modules/lodash/_createMathOperation.js diff --git a/tools/eslint/node_modules/lodash/_createOver.js b/tools/node_modules/eslint/node_modules/lodash/_createOver.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createOver.js rename to tools/node_modules/eslint/node_modules/lodash/_createOver.js diff --git a/tools/eslint/node_modules/lodash/_createPadding.js b/tools/node_modules/eslint/node_modules/lodash/_createPadding.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createPadding.js rename to tools/node_modules/eslint/node_modules/lodash/_createPadding.js diff --git a/tools/eslint/node_modules/lodash/_createPartial.js b/tools/node_modules/eslint/node_modules/lodash/_createPartial.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createPartial.js rename to tools/node_modules/eslint/node_modules/lodash/_createPartial.js diff --git a/tools/eslint/node_modules/lodash/_createRange.js b/tools/node_modules/eslint/node_modules/lodash/_createRange.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createRange.js rename to tools/node_modules/eslint/node_modules/lodash/_createRange.js diff --git a/tools/eslint/node_modules/lodash/_createRecurry.js b/tools/node_modules/eslint/node_modules/lodash/_createRecurry.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createRecurry.js rename to tools/node_modules/eslint/node_modules/lodash/_createRecurry.js diff --git a/tools/eslint/node_modules/lodash/_createRelationalOperation.js b/tools/node_modules/eslint/node_modules/lodash/_createRelationalOperation.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createRelationalOperation.js rename to tools/node_modules/eslint/node_modules/lodash/_createRelationalOperation.js diff --git a/tools/eslint/node_modules/lodash/_createRound.js b/tools/node_modules/eslint/node_modules/lodash/_createRound.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createRound.js rename to tools/node_modules/eslint/node_modules/lodash/_createRound.js diff --git a/tools/eslint/node_modules/lodash/_createSet.js b/tools/node_modules/eslint/node_modules/lodash/_createSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createSet.js rename to tools/node_modules/eslint/node_modules/lodash/_createSet.js diff --git a/tools/eslint/node_modules/lodash/_createToPairs.js b/tools/node_modules/eslint/node_modules/lodash/_createToPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createToPairs.js rename to tools/node_modules/eslint/node_modules/lodash/_createToPairs.js diff --git a/tools/eslint/node_modules/lodash/_createWrap.js b/tools/node_modules/eslint/node_modules/lodash/_createWrap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_createWrap.js rename to tools/node_modules/eslint/node_modules/lodash/_createWrap.js diff --git a/tools/eslint/node_modules/lodash/_customDefaultsAssignIn.js b/tools/node_modules/eslint/node_modules/lodash/_customDefaultsAssignIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_customDefaultsAssignIn.js rename to tools/node_modules/eslint/node_modules/lodash/_customDefaultsAssignIn.js diff --git a/tools/eslint/node_modules/lodash/_customDefaultsMerge.js b/tools/node_modules/eslint/node_modules/lodash/_customDefaultsMerge.js similarity index 100% rename from tools/eslint/node_modules/lodash/_customDefaultsMerge.js rename to tools/node_modules/eslint/node_modules/lodash/_customDefaultsMerge.js diff --git a/tools/eslint/node_modules/lodash/_customOmitClone.js b/tools/node_modules/eslint/node_modules/lodash/_customOmitClone.js similarity index 100% rename from tools/eslint/node_modules/lodash/_customOmitClone.js rename to tools/node_modules/eslint/node_modules/lodash/_customOmitClone.js diff --git a/tools/eslint/node_modules/lodash/_deburrLetter.js b/tools/node_modules/eslint/node_modules/lodash/_deburrLetter.js similarity index 100% rename from tools/eslint/node_modules/lodash/_deburrLetter.js rename to tools/node_modules/eslint/node_modules/lodash/_deburrLetter.js diff --git a/tools/eslint/node_modules/lodash/_defineProperty.js b/tools/node_modules/eslint/node_modules/lodash/_defineProperty.js similarity index 100% rename from tools/eslint/node_modules/lodash/_defineProperty.js rename to tools/node_modules/eslint/node_modules/lodash/_defineProperty.js diff --git a/tools/eslint/node_modules/lodash/_equalArrays.js b/tools/node_modules/eslint/node_modules/lodash/_equalArrays.js similarity index 100% rename from tools/eslint/node_modules/lodash/_equalArrays.js rename to tools/node_modules/eslint/node_modules/lodash/_equalArrays.js diff --git a/tools/eslint/node_modules/lodash/_equalByTag.js b/tools/node_modules/eslint/node_modules/lodash/_equalByTag.js similarity index 100% rename from tools/eslint/node_modules/lodash/_equalByTag.js rename to tools/node_modules/eslint/node_modules/lodash/_equalByTag.js diff --git a/tools/eslint/node_modules/lodash/_equalObjects.js b/tools/node_modules/eslint/node_modules/lodash/_equalObjects.js similarity index 100% rename from tools/eslint/node_modules/lodash/_equalObjects.js rename to tools/node_modules/eslint/node_modules/lodash/_equalObjects.js diff --git a/tools/eslint/node_modules/lodash/_escapeHtmlChar.js b/tools/node_modules/eslint/node_modules/lodash/_escapeHtmlChar.js similarity index 100% rename from tools/eslint/node_modules/lodash/_escapeHtmlChar.js rename to tools/node_modules/eslint/node_modules/lodash/_escapeHtmlChar.js diff --git a/tools/eslint/node_modules/lodash/_escapeStringChar.js b/tools/node_modules/eslint/node_modules/lodash/_escapeStringChar.js similarity index 100% rename from tools/eslint/node_modules/lodash/_escapeStringChar.js rename to tools/node_modules/eslint/node_modules/lodash/_escapeStringChar.js diff --git a/tools/eslint/node_modules/lodash/_flatRest.js b/tools/node_modules/eslint/node_modules/lodash/_flatRest.js similarity index 100% rename from tools/eslint/node_modules/lodash/_flatRest.js rename to tools/node_modules/eslint/node_modules/lodash/_flatRest.js diff --git a/tools/eslint/node_modules/lodash/_freeGlobal.js b/tools/node_modules/eslint/node_modules/lodash/_freeGlobal.js similarity index 100% rename from tools/eslint/node_modules/lodash/_freeGlobal.js rename to tools/node_modules/eslint/node_modules/lodash/_freeGlobal.js diff --git a/tools/eslint/node_modules/lodash/_getAllKeys.js b/tools/node_modules/eslint/node_modules/lodash/_getAllKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getAllKeys.js rename to tools/node_modules/eslint/node_modules/lodash/_getAllKeys.js diff --git a/tools/eslint/node_modules/lodash/_getAllKeysIn.js b/tools/node_modules/eslint/node_modules/lodash/_getAllKeysIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getAllKeysIn.js rename to tools/node_modules/eslint/node_modules/lodash/_getAllKeysIn.js diff --git a/tools/eslint/node_modules/lodash/_getData.js b/tools/node_modules/eslint/node_modules/lodash/_getData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getData.js rename to tools/node_modules/eslint/node_modules/lodash/_getData.js diff --git a/tools/eslint/node_modules/lodash/_getFuncName.js b/tools/node_modules/eslint/node_modules/lodash/_getFuncName.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getFuncName.js rename to tools/node_modules/eslint/node_modules/lodash/_getFuncName.js diff --git a/tools/eslint/node_modules/lodash/_getHolder.js b/tools/node_modules/eslint/node_modules/lodash/_getHolder.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getHolder.js rename to tools/node_modules/eslint/node_modules/lodash/_getHolder.js diff --git a/tools/eslint/node_modules/lodash/_getMapData.js b/tools/node_modules/eslint/node_modules/lodash/_getMapData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getMapData.js rename to tools/node_modules/eslint/node_modules/lodash/_getMapData.js diff --git a/tools/eslint/node_modules/lodash/_getMatchData.js b/tools/node_modules/eslint/node_modules/lodash/_getMatchData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getMatchData.js rename to tools/node_modules/eslint/node_modules/lodash/_getMatchData.js diff --git a/tools/eslint/node_modules/lodash/_getNative.js b/tools/node_modules/eslint/node_modules/lodash/_getNative.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getNative.js rename to tools/node_modules/eslint/node_modules/lodash/_getNative.js diff --git a/tools/eslint/node_modules/lodash/_getPrototype.js b/tools/node_modules/eslint/node_modules/lodash/_getPrototype.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getPrototype.js rename to tools/node_modules/eslint/node_modules/lodash/_getPrototype.js diff --git a/tools/eslint/node_modules/lodash/_getRawTag.js b/tools/node_modules/eslint/node_modules/lodash/_getRawTag.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getRawTag.js rename to tools/node_modules/eslint/node_modules/lodash/_getRawTag.js diff --git a/tools/eslint/node_modules/lodash/_getSymbols.js b/tools/node_modules/eslint/node_modules/lodash/_getSymbols.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getSymbols.js rename to tools/node_modules/eslint/node_modules/lodash/_getSymbols.js diff --git a/tools/eslint/node_modules/lodash/_getSymbolsIn.js b/tools/node_modules/eslint/node_modules/lodash/_getSymbolsIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getSymbolsIn.js rename to tools/node_modules/eslint/node_modules/lodash/_getSymbolsIn.js diff --git a/tools/eslint/node_modules/lodash/_getTag.js b/tools/node_modules/eslint/node_modules/lodash/_getTag.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getTag.js rename to tools/node_modules/eslint/node_modules/lodash/_getTag.js diff --git a/tools/eslint/node_modules/lodash/_getValue.js b/tools/node_modules/eslint/node_modules/lodash/_getValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getValue.js rename to tools/node_modules/eslint/node_modules/lodash/_getValue.js diff --git a/tools/eslint/node_modules/lodash/_getView.js b/tools/node_modules/eslint/node_modules/lodash/_getView.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getView.js rename to tools/node_modules/eslint/node_modules/lodash/_getView.js diff --git a/tools/eslint/node_modules/lodash/_getWrapDetails.js b/tools/node_modules/eslint/node_modules/lodash/_getWrapDetails.js similarity index 100% rename from tools/eslint/node_modules/lodash/_getWrapDetails.js rename to tools/node_modules/eslint/node_modules/lodash/_getWrapDetails.js diff --git a/tools/eslint/node_modules/lodash/_hasPath.js b/tools/node_modules/eslint/node_modules/lodash/_hasPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hasPath.js rename to tools/node_modules/eslint/node_modules/lodash/_hasPath.js diff --git a/tools/eslint/node_modules/lodash/_hasUnicode.js b/tools/node_modules/eslint/node_modules/lodash/_hasUnicode.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hasUnicode.js rename to tools/node_modules/eslint/node_modules/lodash/_hasUnicode.js diff --git a/tools/eslint/node_modules/lodash/_hasUnicodeWord.js b/tools/node_modules/eslint/node_modules/lodash/_hasUnicodeWord.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hasUnicodeWord.js rename to tools/node_modules/eslint/node_modules/lodash/_hasUnicodeWord.js diff --git a/tools/eslint/node_modules/lodash/_hashClear.js b/tools/node_modules/eslint/node_modules/lodash/_hashClear.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hashClear.js rename to tools/node_modules/eslint/node_modules/lodash/_hashClear.js diff --git a/tools/eslint/node_modules/lodash/_hashDelete.js b/tools/node_modules/eslint/node_modules/lodash/_hashDelete.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hashDelete.js rename to tools/node_modules/eslint/node_modules/lodash/_hashDelete.js diff --git a/tools/eslint/node_modules/lodash/_hashGet.js b/tools/node_modules/eslint/node_modules/lodash/_hashGet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hashGet.js rename to tools/node_modules/eslint/node_modules/lodash/_hashGet.js diff --git a/tools/eslint/node_modules/lodash/_hashHas.js b/tools/node_modules/eslint/node_modules/lodash/_hashHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hashHas.js rename to tools/node_modules/eslint/node_modules/lodash/_hashHas.js diff --git a/tools/eslint/node_modules/lodash/_hashSet.js b/tools/node_modules/eslint/node_modules/lodash/_hashSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_hashSet.js rename to tools/node_modules/eslint/node_modules/lodash/_hashSet.js diff --git a/tools/eslint/node_modules/lodash/_initCloneArray.js b/tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_initCloneArray.js rename to tools/node_modules/eslint/node_modules/lodash/_initCloneArray.js diff --git a/tools/eslint/node_modules/lodash/_initCloneByTag.js b/tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js similarity index 100% rename from tools/eslint/node_modules/lodash/_initCloneByTag.js rename to tools/node_modules/eslint/node_modules/lodash/_initCloneByTag.js diff --git a/tools/eslint/node_modules/lodash/_initCloneObject.js b/tools/node_modules/eslint/node_modules/lodash/_initCloneObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/_initCloneObject.js rename to tools/node_modules/eslint/node_modules/lodash/_initCloneObject.js diff --git a/tools/eslint/node_modules/lodash/_insertWrapDetails.js b/tools/node_modules/eslint/node_modules/lodash/_insertWrapDetails.js similarity index 100% rename from tools/eslint/node_modules/lodash/_insertWrapDetails.js rename to tools/node_modules/eslint/node_modules/lodash/_insertWrapDetails.js diff --git a/tools/eslint/node_modules/lodash/_isFlattenable.js b/tools/node_modules/eslint/node_modules/lodash/_isFlattenable.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isFlattenable.js rename to tools/node_modules/eslint/node_modules/lodash/_isFlattenable.js diff --git a/tools/eslint/node_modules/lodash/_isIndex.js b/tools/node_modules/eslint/node_modules/lodash/_isIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isIndex.js rename to tools/node_modules/eslint/node_modules/lodash/_isIndex.js diff --git a/tools/eslint/node_modules/lodash/_isIterateeCall.js b/tools/node_modules/eslint/node_modules/lodash/_isIterateeCall.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isIterateeCall.js rename to tools/node_modules/eslint/node_modules/lodash/_isIterateeCall.js diff --git a/tools/eslint/node_modules/lodash/_isKey.js b/tools/node_modules/eslint/node_modules/lodash/_isKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isKey.js rename to tools/node_modules/eslint/node_modules/lodash/_isKey.js diff --git a/tools/eslint/node_modules/lodash/_isKeyable.js b/tools/node_modules/eslint/node_modules/lodash/_isKeyable.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isKeyable.js rename to tools/node_modules/eslint/node_modules/lodash/_isKeyable.js diff --git a/tools/eslint/node_modules/lodash/_isLaziable.js b/tools/node_modules/eslint/node_modules/lodash/_isLaziable.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isLaziable.js rename to tools/node_modules/eslint/node_modules/lodash/_isLaziable.js diff --git a/tools/eslint/node_modules/lodash/_isMaskable.js b/tools/node_modules/eslint/node_modules/lodash/_isMaskable.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isMaskable.js rename to tools/node_modules/eslint/node_modules/lodash/_isMaskable.js diff --git a/tools/eslint/node_modules/lodash/_isMasked.js b/tools/node_modules/eslint/node_modules/lodash/_isMasked.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isMasked.js rename to tools/node_modules/eslint/node_modules/lodash/_isMasked.js diff --git a/tools/eslint/node_modules/lodash/_isPrototype.js b/tools/node_modules/eslint/node_modules/lodash/_isPrototype.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isPrototype.js rename to tools/node_modules/eslint/node_modules/lodash/_isPrototype.js diff --git a/tools/eslint/node_modules/lodash/_isStrictComparable.js b/tools/node_modules/eslint/node_modules/lodash/_isStrictComparable.js similarity index 100% rename from tools/eslint/node_modules/lodash/_isStrictComparable.js rename to tools/node_modules/eslint/node_modules/lodash/_isStrictComparable.js diff --git a/tools/eslint/node_modules/lodash/_iteratorToArray.js b/tools/node_modules/eslint/node_modules/lodash/_iteratorToArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_iteratorToArray.js rename to tools/node_modules/eslint/node_modules/lodash/_iteratorToArray.js diff --git a/tools/eslint/node_modules/lodash/_lazyClone.js b/tools/node_modules/eslint/node_modules/lodash/_lazyClone.js similarity index 100% rename from tools/eslint/node_modules/lodash/_lazyClone.js rename to tools/node_modules/eslint/node_modules/lodash/_lazyClone.js diff --git a/tools/eslint/node_modules/lodash/_lazyReverse.js b/tools/node_modules/eslint/node_modules/lodash/_lazyReverse.js similarity index 100% rename from tools/eslint/node_modules/lodash/_lazyReverse.js rename to tools/node_modules/eslint/node_modules/lodash/_lazyReverse.js diff --git a/tools/eslint/node_modules/lodash/_lazyValue.js b/tools/node_modules/eslint/node_modules/lodash/_lazyValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/_lazyValue.js rename to tools/node_modules/eslint/node_modules/lodash/_lazyValue.js diff --git a/tools/eslint/node_modules/lodash/_listCacheClear.js b/tools/node_modules/eslint/node_modules/lodash/_listCacheClear.js similarity index 100% rename from tools/eslint/node_modules/lodash/_listCacheClear.js rename to tools/node_modules/eslint/node_modules/lodash/_listCacheClear.js diff --git a/tools/eslint/node_modules/lodash/_listCacheDelete.js b/tools/node_modules/eslint/node_modules/lodash/_listCacheDelete.js similarity index 100% rename from tools/eslint/node_modules/lodash/_listCacheDelete.js rename to tools/node_modules/eslint/node_modules/lodash/_listCacheDelete.js diff --git a/tools/eslint/node_modules/lodash/_listCacheGet.js b/tools/node_modules/eslint/node_modules/lodash/_listCacheGet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_listCacheGet.js rename to tools/node_modules/eslint/node_modules/lodash/_listCacheGet.js diff --git a/tools/eslint/node_modules/lodash/_listCacheHas.js b/tools/node_modules/eslint/node_modules/lodash/_listCacheHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_listCacheHas.js rename to tools/node_modules/eslint/node_modules/lodash/_listCacheHas.js diff --git a/tools/eslint/node_modules/lodash/_listCacheSet.js b/tools/node_modules/eslint/node_modules/lodash/_listCacheSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_listCacheSet.js rename to tools/node_modules/eslint/node_modules/lodash/_listCacheSet.js diff --git a/tools/eslint/node_modules/lodash/_mapCacheClear.js b/tools/node_modules/eslint/node_modules/lodash/_mapCacheClear.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mapCacheClear.js rename to tools/node_modules/eslint/node_modules/lodash/_mapCacheClear.js diff --git a/tools/eslint/node_modules/lodash/_mapCacheDelete.js b/tools/node_modules/eslint/node_modules/lodash/_mapCacheDelete.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mapCacheDelete.js rename to tools/node_modules/eslint/node_modules/lodash/_mapCacheDelete.js diff --git a/tools/eslint/node_modules/lodash/_mapCacheGet.js b/tools/node_modules/eslint/node_modules/lodash/_mapCacheGet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mapCacheGet.js rename to tools/node_modules/eslint/node_modules/lodash/_mapCacheGet.js diff --git a/tools/eslint/node_modules/lodash/_mapCacheHas.js b/tools/node_modules/eslint/node_modules/lodash/_mapCacheHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mapCacheHas.js rename to tools/node_modules/eslint/node_modules/lodash/_mapCacheHas.js diff --git a/tools/eslint/node_modules/lodash/_mapCacheSet.js b/tools/node_modules/eslint/node_modules/lodash/_mapCacheSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mapCacheSet.js rename to tools/node_modules/eslint/node_modules/lodash/_mapCacheSet.js diff --git a/tools/eslint/node_modules/lodash/_mapToArray.js b/tools/node_modules/eslint/node_modules/lodash/_mapToArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mapToArray.js rename to tools/node_modules/eslint/node_modules/lodash/_mapToArray.js diff --git a/tools/eslint/node_modules/lodash/_matchesStrictComparable.js b/tools/node_modules/eslint/node_modules/lodash/_matchesStrictComparable.js similarity index 100% rename from tools/eslint/node_modules/lodash/_matchesStrictComparable.js rename to tools/node_modules/eslint/node_modules/lodash/_matchesStrictComparable.js diff --git a/tools/eslint/node_modules/lodash/_memoizeCapped.js b/tools/node_modules/eslint/node_modules/lodash/_memoizeCapped.js similarity index 100% rename from tools/eslint/node_modules/lodash/_memoizeCapped.js rename to tools/node_modules/eslint/node_modules/lodash/_memoizeCapped.js diff --git a/tools/eslint/node_modules/lodash/_mergeData.js b/tools/node_modules/eslint/node_modules/lodash/_mergeData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_mergeData.js rename to tools/node_modules/eslint/node_modules/lodash/_mergeData.js diff --git a/tools/eslint/node_modules/lodash/_metaMap.js b/tools/node_modules/eslint/node_modules/lodash/_metaMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/_metaMap.js rename to tools/node_modules/eslint/node_modules/lodash/_metaMap.js diff --git a/tools/eslint/node_modules/lodash/_nativeCreate.js b/tools/node_modules/eslint/node_modules/lodash/_nativeCreate.js similarity index 100% rename from tools/eslint/node_modules/lodash/_nativeCreate.js rename to tools/node_modules/eslint/node_modules/lodash/_nativeCreate.js diff --git a/tools/eslint/node_modules/lodash/_nativeKeys.js b/tools/node_modules/eslint/node_modules/lodash/_nativeKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/_nativeKeys.js rename to tools/node_modules/eslint/node_modules/lodash/_nativeKeys.js diff --git a/tools/eslint/node_modules/lodash/_nativeKeysIn.js b/tools/node_modules/eslint/node_modules/lodash/_nativeKeysIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/_nativeKeysIn.js rename to tools/node_modules/eslint/node_modules/lodash/_nativeKeysIn.js diff --git a/tools/eslint/node_modules/lodash/_nodeUtil.js b/tools/node_modules/eslint/node_modules/lodash/_nodeUtil.js similarity index 100% rename from tools/eslint/node_modules/lodash/_nodeUtil.js rename to tools/node_modules/eslint/node_modules/lodash/_nodeUtil.js diff --git a/tools/eslint/node_modules/lodash/_objectToString.js b/tools/node_modules/eslint/node_modules/lodash/_objectToString.js similarity index 100% rename from tools/eslint/node_modules/lodash/_objectToString.js rename to tools/node_modules/eslint/node_modules/lodash/_objectToString.js diff --git a/tools/eslint/node_modules/lodash/_overArg.js b/tools/node_modules/eslint/node_modules/lodash/_overArg.js similarity index 100% rename from tools/eslint/node_modules/lodash/_overArg.js rename to tools/node_modules/eslint/node_modules/lodash/_overArg.js diff --git a/tools/eslint/node_modules/lodash/_overRest.js b/tools/node_modules/eslint/node_modules/lodash/_overRest.js similarity index 100% rename from tools/eslint/node_modules/lodash/_overRest.js rename to tools/node_modules/eslint/node_modules/lodash/_overRest.js diff --git a/tools/eslint/node_modules/lodash/_parent.js b/tools/node_modules/eslint/node_modules/lodash/_parent.js similarity index 100% rename from tools/eslint/node_modules/lodash/_parent.js rename to tools/node_modules/eslint/node_modules/lodash/_parent.js diff --git a/tools/eslint/node_modules/lodash/_reEscape.js b/tools/node_modules/eslint/node_modules/lodash/_reEscape.js similarity index 100% rename from tools/eslint/node_modules/lodash/_reEscape.js rename to tools/node_modules/eslint/node_modules/lodash/_reEscape.js diff --git a/tools/eslint/node_modules/lodash/_reEvaluate.js b/tools/node_modules/eslint/node_modules/lodash/_reEvaluate.js similarity index 100% rename from tools/eslint/node_modules/lodash/_reEvaluate.js rename to tools/node_modules/eslint/node_modules/lodash/_reEvaluate.js diff --git a/tools/eslint/node_modules/lodash/_reInterpolate.js b/tools/node_modules/eslint/node_modules/lodash/_reInterpolate.js similarity index 100% rename from tools/eslint/node_modules/lodash/_reInterpolate.js rename to tools/node_modules/eslint/node_modules/lodash/_reInterpolate.js diff --git a/tools/eslint/node_modules/lodash/_realNames.js b/tools/node_modules/eslint/node_modules/lodash/_realNames.js similarity index 100% rename from tools/eslint/node_modules/lodash/_realNames.js rename to tools/node_modules/eslint/node_modules/lodash/_realNames.js diff --git a/tools/eslint/node_modules/lodash/_reorder.js b/tools/node_modules/eslint/node_modules/lodash/_reorder.js similarity index 100% rename from tools/eslint/node_modules/lodash/_reorder.js rename to tools/node_modules/eslint/node_modules/lodash/_reorder.js diff --git a/tools/eslint/node_modules/lodash/_replaceHolders.js b/tools/node_modules/eslint/node_modules/lodash/_replaceHolders.js similarity index 100% rename from tools/eslint/node_modules/lodash/_replaceHolders.js rename to tools/node_modules/eslint/node_modules/lodash/_replaceHolders.js diff --git a/tools/eslint/node_modules/lodash/_root.js b/tools/node_modules/eslint/node_modules/lodash/_root.js similarity index 100% rename from tools/eslint/node_modules/lodash/_root.js rename to tools/node_modules/eslint/node_modules/lodash/_root.js diff --git a/tools/eslint/node_modules/lodash/_setCacheAdd.js b/tools/node_modules/eslint/node_modules/lodash/_setCacheAdd.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setCacheAdd.js rename to tools/node_modules/eslint/node_modules/lodash/_setCacheAdd.js diff --git a/tools/eslint/node_modules/lodash/_setCacheHas.js b/tools/node_modules/eslint/node_modules/lodash/_setCacheHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setCacheHas.js rename to tools/node_modules/eslint/node_modules/lodash/_setCacheHas.js diff --git a/tools/eslint/node_modules/lodash/_setData.js b/tools/node_modules/eslint/node_modules/lodash/_setData.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setData.js rename to tools/node_modules/eslint/node_modules/lodash/_setData.js diff --git a/tools/eslint/node_modules/lodash/_setToArray.js b/tools/node_modules/eslint/node_modules/lodash/_setToArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setToArray.js rename to tools/node_modules/eslint/node_modules/lodash/_setToArray.js diff --git a/tools/eslint/node_modules/lodash/_setToPairs.js b/tools/node_modules/eslint/node_modules/lodash/_setToPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setToPairs.js rename to tools/node_modules/eslint/node_modules/lodash/_setToPairs.js diff --git a/tools/eslint/node_modules/lodash/_setToString.js b/tools/node_modules/eslint/node_modules/lodash/_setToString.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setToString.js rename to tools/node_modules/eslint/node_modules/lodash/_setToString.js diff --git a/tools/eslint/node_modules/lodash/_setWrapToString.js b/tools/node_modules/eslint/node_modules/lodash/_setWrapToString.js similarity index 100% rename from tools/eslint/node_modules/lodash/_setWrapToString.js rename to tools/node_modules/eslint/node_modules/lodash/_setWrapToString.js diff --git a/tools/eslint/node_modules/lodash/_shortOut.js b/tools/node_modules/eslint/node_modules/lodash/_shortOut.js similarity index 100% rename from tools/eslint/node_modules/lodash/_shortOut.js rename to tools/node_modules/eslint/node_modules/lodash/_shortOut.js diff --git a/tools/eslint/node_modules/lodash/_shuffleSelf.js b/tools/node_modules/eslint/node_modules/lodash/_shuffleSelf.js similarity index 100% rename from tools/eslint/node_modules/lodash/_shuffleSelf.js rename to tools/node_modules/eslint/node_modules/lodash/_shuffleSelf.js diff --git a/tools/eslint/node_modules/lodash/_stackClear.js b/tools/node_modules/eslint/node_modules/lodash/_stackClear.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stackClear.js rename to tools/node_modules/eslint/node_modules/lodash/_stackClear.js diff --git a/tools/eslint/node_modules/lodash/_stackDelete.js b/tools/node_modules/eslint/node_modules/lodash/_stackDelete.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stackDelete.js rename to tools/node_modules/eslint/node_modules/lodash/_stackDelete.js diff --git a/tools/eslint/node_modules/lodash/_stackGet.js b/tools/node_modules/eslint/node_modules/lodash/_stackGet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stackGet.js rename to tools/node_modules/eslint/node_modules/lodash/_stackGet.js diff --git a/tools/eslint/node_modules/lodash/_stackHas.js b/tools/node_modules/eslint/node_modules/lodash/_stackHas.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stackHas.js rename to tools/node_modules/eslint/node_modules/lodash/_stackHas.js diff --git a/tools/eslint/node_modules/lodash/_stackSet.js b/tools/node_modules/eslint/node_modules/lodash/_stackSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stackSet.js rename to tools/node_modules/eslint/node_modules/lodash/_stackSet.js diff --git a/tools/eslint/node_modules/lodash/_strictIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/_strictIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/_strictIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/_strictIndexOf.js diff --git a/tools/eslint/node_modules/lodash/_strictLastIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/_strictLastIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/_strictLastIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/_strictLastIndexOf.js diff --git a/tools/eslint/node_modules/lodash/_stringSize.js b/tools/node_modules/eslint/node_modules/lodash/_stringSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stringSize.js rename to tools/node_modules/eslint/node_modules/lodash/_stringSize.js diff --git a/tools/eslint/node_modules/lodash/_stringToArray.js b/tools/node_modules/eslint/node_modules/lodash/_stringToArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stringToArray.js rename to tools/node_modules/eslint/node_modules/lodash/_stringToArray.js diff --git a/tools/eslint/node_modules/lodash/_stringToPath.js b/tools/node_modules/eslint/node_modules/lodash/_stringToPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/_stringToPath.js rename to tools/node_modules/eslint/node_modules/lodash/_stringToPath.js diff --git a/tools/eslint/node_modules/lodash/_toKey.js b/tools/node_modules/eslint/node_modules/lodash/_toKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/_toKey.js rename to tools/node_modules/eslint/node_modules/lodash/_toKey.js diff --git a/tools/eslint/node_modules/lodash/_toSource.js b/tools/node_modules/eslint/node_modules/lodash/_toSource.js similarity index 100% rename from tools/eslint/node_modules/lodash/_toSource.js rename to tools/node_modules/eslint/node_modules/lodash/_toSource.js diff --git a/tools/eslint/node_modules/lodash/_unescapeHtmlChar.js b/tools/node_modules/eslint/node_modules/lodash/_unescapeHtmlChar.js similarity index 100% rename from tools/eslint/node_modules/lodash/_unescapeHtmlChar.js rename to tools/node_modules/eslint/node_modules/lodash/_unescapeHtmlChar.js diff --git a/tools/eslint/node_modules/lodash/_unicodeSize.js b/tools/node_modules/eslint/node_modules/lodash/_unicodeSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/_unicodeSize.js rename to tools/node_modules/eslint/node_modules/lodash/_unicodeSize.js diff --git a/tools/eslint/node_modules/lodash/_unicodeToArray.js b/tools/node_modules/eslint/node_modules/lodash/_unicodeToArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/_unicodeToArray.js rename to tools/node_modules/eslint/node_modules/lodash/_unicodeToArray.js diff --git a/tools/eslint/node_modules/lodash/_unicodeWords.js b/tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js similarity index 100% rename from tools/eslint/node_modules/lodash/_unicodeWords.js rename to tools/node_modules/eslint/node_modules/lodash/_unicodeWords.js diff --git a/tools/eslint/node_modules/lodash/_updateWrapDetails.js b/tools/node_modules/eslint/node_modules/lodash/_updateWrapDetails.js similarity index 100% rename from tools/eslint/node_modules/lodash/_updateWrapDetails.js rename to tools/node_modules/eslint/node_modules/lodash/_updateWrapDetails.js diff --git a/tools/eslint/node_modules/lodash/_wrapperClone.js b/tools/node_modules/eslint/node_modules/lodash/_wrapperClone.js similarity index 100% rename from tools/eslint/node_modules/lodash/_wrapperClone.js rename to tools/node_modules/eslint/node_modules/lodash/_wrapperClone.js diff --git a/tools/eslint/node_modules/lodash/add.js b/tools/node_modules/eslint/node_modules/lodash/add.js similarity index 100% rename from tools/eslint/node_modules/lodash/add.js rename to tools/node_modules/eslint/node_modules/lodash/add.js diff --git a/tools/eslint/node_modules/lodash/after.js b/tools/node_modules/eslint/node_modules/lodash/after.js similarity index 100% rename from tools/eslint/node_modules/lodash/after.js rename to tools/node_modules/eslint/node_modules/lodash/after.js diff --git a/tools/eslint/node_modules/lodash/array.js b/tools/node_modules/eslint/node_modules/lodash/array.js similarity index 100% rename from tools/eslint/node_modules/lodash/array.js rename to tools/node_modules/eslint/node_modules/lodash/array.js diff --git a/tools/eslint/node_modules/lodash/ary.js b/tools/node_modules/eslint/node_modules/lodash/ary.js similarity index 100% rename from tools/eslint/node_modules/lodash/ary.js rename to tools/node_modules/eslint/node_modules/lodash/ary.js diff --git a/tools/eslint/node_modules/lodash/assign.js b/tools/node_modules/eslint/node_modules/lodash/assign.js similarity index 100% rename from tools/eslint/node_modules/lodash/assign.js rename to tools/node_modules/eslint/node_modules/lodash/assign.js diff --git a/tools/eslint/node_modules/lodash/assignIn.js b/tools/node_modules/eslint/node_modules/lodash/assignIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/assignIn.js rename to tools/node_modules/eslint/node_modules/lodash/assignIn.js diff --git a/tools/eslint/node_modules/lodash/assignInWith.js b/tools/node_modules/eslint/node_modules/lodash/assignInWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/assignInWith.js rename to tools/node_modules/eslint/node_modules/lodash/assignInWith.js diff --git a/tools/eslint/node_modules/lodash/assignWith.js b/tools/node_modules/eslint/node_modules/lodash/assignWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/assignWith.js rename to tools/node_modules/eslint/node_modules/lodash/assignWith.js diff --git a/tools/eslint/node_modules/lodash/at.js b/tools/node_modules/eslint/node_modules/lodash/at.js similarity index 100% rename from tools/eslint/node_modules/lodash/at.js rename to tools/node_modules/eslint/node_modules/lodash/at.js diff --git a/tools/eslint/node_modules/lodash/attempt.js b/tools/node_modules/eslint/node_modules/lodash/attempt.js similarity index 100% rename from tools/eslint/node_modules/lodash/attempt.js rename to tools/node_modules/eslint/node_modules/lodash/attempt.js diff --git a/tools/eslint/node_modules/lodash/before.js b/tools/node_modules/eslint/node_modules/lodash/before.js similarity index 100% rename from tools/eslint/node_modules/lodash/before.js rename to tools/node_modules/eslint/node_modules/lodash/before.js diff --git a/tools/eslint/node_modules/lodash/bind.js b/tools/node_modules/eslint/node_modules/lodash/bind.js similarity index 100% rename from tools/eslint/node_modules/lodash/bind.js rename to tools/node_modules/eslint/node_modules/lodash/bind.js diff --git a/tools/eslint/node_modules/lodash/bindAll.js b/tools/node_modules/eslint/node_modules/lodash/bindAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/bindAll.js rename to tools/node_modules/eslint/node_modules/lodash/bindAll.js diff --git a/tools/eslint/node_modules/lodash/bindKey.js b/tools/node_modules/eslint/node_modules/lodash/bindKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/bindKey.js rename to tools/node_modules/eslint/node_modules/lodash/bindKey.js diff --git a/tools/eslint/node_modules/lodash/camelCase.js b/tools/node_modules/eslint/node_modules/lodash/camelCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/camelCase.js rename to tools/node_modules/eslint/node_modules/lodash/camelCase.js diff --git a/tools/eslint/node_modules/lodash/capitalize.js b/tools/node_modules/eslint/node_modules/lodash/capitalize.js similarity index 100% rename from tools/eslint/node_modules/lodash/capitalize.js rename to tools/node_modules/eslint/node_modules/lodash/capitalize.js diff --git a/tools/eslint/node_modules/lodash/castArray.js b/tools/node_modules/eslint/node_modules/lodash/castArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/castArray.js rename to tools/node_modules/eslint/node_modules/lodash/castArray.js diff --git a/tools/eslint/node_modules/lodash/ceil.js b/tools/node_modules/eslint/node_modules/lodash/ceil.js similarity index 100% rename from tools/eslint/node_modules/lodash/ceil.js rename to tools/node_modules/eslint/node_modules/lodash/ceil.js diff --git a/tools/eslint/node_modules/lodash/chain.js b/tools/node_modules/eslint/node_modules/lodash/chain.js similarity index 100% rename from tools/eslint/node_modules/lodash/chain.js rename to tools/node_modules/eslint/node_modules/lodash/chain.js diff --git a/tools/eslint/node_modules/lodash/chunk.js b/tools/node_modules/eslint/node_modules/lodash/chunk.js similarity index 100% rename from tools/eslint/node_modules/lodash/chunk.js rename to tools/node_modules/eslint/node_modules/lodash/chunk.js diff --git a/tools/eslint/node_modules/lodash/clamp.js b/tools/node_modules/eslint/node_modules/lodash/clamp.js similarity index 100% rename from tools/eslint/node_modules/lodash/clamp.js rename to tools/node_modules/eslint/node_modules/lodash/clamp.js diff --git a/tools/eslint/node_modules/lodash/clone.js b/tools/node_modules/eslint/node_modules/lodash/clone.js similarity index 100% rename from tools/eslint/node_modules/lodash/clone.js rename to tools/node_modules/eslint/node_modules/lodash/clone.js diff --git a/tools/eslint/node_modules/lodash/cloneDeep.js b/tools/node_modules/eslint/node_modules/lodash/cloneDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/cloneDeep.js rename to tools/node_modules/eslint/node_modules/lodash/cloneDeep.js diff --git a/tools/eslint/node_modules/lodash/cloneDeepWith.js b/tools/node_modules/eslint/node_modules/lodash/cloneDeepWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/cloneDeepWith.js rename to tools/node_modules/eslint/node_modules/lodash/cloneDeepWith.js diff --git a/tools/eslint/node_modules/lodash/cloneWith.js b/tools/node_modules/eslint/node_modules/lodash/cloneWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/cloneWith.js rename to tools/node_modules/eslint/node_modules/lodash/cloneWith.js diff --git a/tools/eslint/node_modules/lodash/collection.js b/tools/node_modules/eslint/node_modules/lodash/collection.js similarity index 100% rename from tools/eslint/node_modules/lodash/collection.js rename to tools/node_modules/eslint/node_modules/lodash/collection.js diff --git a/tools/eslint/node_modules/lodash/commit.js b/tools/node_modules/eslint/node_modules/lodash/commit.js similarity index 100% rename from tools/eslint/node_modules/lodash/commit.js rename to tools/node_modules/eslint/node_modules/lodash/commit.js diff --git a/tools/eslint/node_modules/lodash/compact.js b/tools/node_modules/eslint/node_modules/lodash/compact.js similarity index 100% rename from tools/eslint/node_modules/lodash/compact.js rename to tools/node_modules/eslint/node_modules/lodash/compact.js diff --git a/tools/eslint/node_modules/lodash/concat.js b/tools/node_modules/eslint/node_modules/lodash/concat.js similarity index 100% rename from tools/eslint/node_modules/lodash/concat.js rename to tools/node_modules/eslint/node_modules/lodash/concat.js diff --git a/tools/eslint/node_modules/lodash/cond.js b/tools/node_modules/eslint/node_modules/lodash/cond.js similarity index 100% rename from tools/eslint/node_modules/lodash/cond.js rename to tools/node_modules/eslint/node_modules/lodash/cond.js diff --git a/tools/eslint/node_modules/lodash/conforms.js b/tools/node_modules/eslint/node_modules/lodash/conforms.js similarity index 100% rename from tools/eslint/node_modules/lodash/conforms.js rename to tools/node_modules/eslint/node_modules/lodash/conforms.js diff --git a/tools/eslint/node_modules/lodash/conformsTo.js b/tools/node_modules/eslint/node_modules/lodash/conformsTo.js similarity index 100% rename from tools/eslint/node_modules/lodash/conformsTo.js rename to tools/node_modules/eslint/node_modules/lodash/conformsTo.js diff --git a/tools/eslint/node_modules/lodash/constant.js b/tools/node_modules/eslint/node_modules/lodash/constant.js similarity index 100% rename from tools/eslint/node_modules/lodash/constant.js rename to tools/node_modules/eslint/node_modules/lodash/constant.js diff --git a/tools/eslint/node_modules/lodash/core.js b/tools/node_modules/eslint/node_modules/lodash/core.js similarity index 100% rename from tools/eslint/node_modules/lodash/core.js rename to tools/node_modules/eslint/node_modules/lodash/core.js diff --git a/tools/eslint/node_modules/lodash/core.min.js b/tools/node_modules/eslint/node_modules/lodash/core.min.js similarity index 100% rename from tools/eslint/node_modules/lodash/core.min.js rename to tools/node_modules/eslint/node_modules/lodash/core.min.js diff --git a/tools/eslint/node_modules/lodash/countBy.js b/tools/node_modules/eslint/node_modules/lodash/countBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/countBy.js rename to tools/node_modules/eslint/node_modules/lodash/countBy.js diff --git a/tools/eslint/node_modules/lodash/create.js b/tools/node_modules/eslint/node_modules/lodash/create.js similarity index 100% rename from tools/eslint/node_modules/lodash/create.js rename to tools/node_modules/eslint/node_modules/lodash/create.js diff --git a/tools/eslint/node_modules/lodash/curry.js b/tools/node_modules/eslint/node_modules/lodash/curry.js similarity index 100% rename from tools/eslint/node_modules/lodash/curry.js rename to tools/node_modules/eslint/node_modules/lodash/curry.js diff --git a/tools/eslint/node_modules/lodash/curryRight.js b/tools/node_modules/eslint/node_modules/lodash/curryRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/curryRight.js rename to tools/node_modules/eslint/node_modules/lodash/curryRight.js diff --git a/tools/eslint/node_modules/lodash/date.js b/tools/node_modules/eslint/node_modules/lodash/date.js similarity index 100% rename from tools/eslint/node_modules/lodash/date.js rename to tools/node_modules/eslint/node_modules/lodash/date.js diff --git a/tools/eslint/node_modules/lodash/debounce.js b/tools/node_modules/eslint/node_modules/lodash/debounce.js similarity index 100% rename from tools/eslint/node_modules/lodash/debounce.js rename to tools/node_modules/eslint/node_modules/lodash/debounce.js diff --git a/tools/eslint/node_modules/lodash/deburr.js b/tools/node_modules/eslint/node_modules/lodash/deburr.js similarity index 100% rename from tools/eslint/node_modules/lodash/deburr.js rename to tools/node_modules/eslint/node_modules/lodash/deburr.js diff --git a/tools/eslint/node_modules/lodash/defaultTo.js b/tools/node_modules/eslint/node_modules/lodash/defaultTo.js similarity index 100% rename from tools/eslint/node_modules/lodash/defaultTo.js rename to tools/node_modules/eslint/node_modules/lodash/defaultTo.js diff --git a/tools/eslint/node_modules/lodash/defaults.js b/tools/node_modules/eslint/node_modules/lodash/defaults.js similarity index 100% rename from tools/eslint/node_modules/lodash/defaults.js rename to tools/node_modules/eslint/node_modules/lodash/defaults.js diff --git a/tools/eslint/node_modules/lodash/defaultsDeep.js b/tools/node_modules/eslint/node_modules/lodash/defaultsDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/defaultsDeep.js rename to tools/node_modules/eslint/node_modules/lodash/defaultsDeep.js diff --git a/tools/eslint/node_modules/lodash/defer.js b/tools/node_modules/eslint/node_modules/lodash/defer.js similarity index 100% rename from tools/eslint/node_modules/lodash/defer.js rename to tools/node_modules/eslint/node_modules/lodash/defer.js diff --git a/tools/eslint/node_modules/lodash/delay.js b/tools/node_modules/eslint/node_modules/lodash/delay.js similarity index 100% rename from tools/eslint/node_modules/lodash/delay.js rename to tools/node_modules/eslint/node_modules/lodash/delay.js diff --git a/tools/eslint/node_modules/lodash/difference.js b/tools/node_modules/eslint/node_modules/lodash/difference.js similarity index 100% rename from tools/eslint/node_modules/lodash/difference.js rename to tools/node_modules/eslint/node_modules/lodash/difference.js diff --git a/tools/eslint/node_modules/lodash/differenceBy.js b/tools/node_modules/eslint/node_modules/lodash/differenceBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/differenceBy.js rename to tools/node_modules/eslint/node_modules/lodash/differenceBy.js diff --git a/tools/eslint/node_modules/lodash/differenceWith.js b/tools/node_modules/eslint/node_modules/lodash/differenceWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/differenceWith.js rename to tools/node_modules/eslint/node_modules/lodash/differenceWith.js diff --git a/tools/eslint/node_modules/lodash/divide.js b/tools/node_modules/eslint/node_modules/lodash/divide.js similarity index 100% rename from tools/eslint/node_modules/lodash/divide.js rename to tools/node_modules/eslint/node_modules/lodash/divide.js diff --git a/tools/eslint/node_modules/lodash/drop.js b/tools/node_modules/eslint/node_modules/lodash/drop.js similarity index 100% rename from tools/eslint/node_modules/lodash/drop.js rename to tools/node_modules/eslint/node_modules/lodash/drop.js diff --git a/tools/eslint/node_modules/lodash/dropRight.js b/tools/node_modules/eslint/node_modules/lodash/dropRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/dropRight.js rename to tools/node_modules/eslint/node_modules/lodash/dropRight.js diff --git a/tools/eslint/node_modules/lodash/dropRightWhile.js b/tools/node_modules/eslint/node_modules/lodash/dropRightWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/dropRightWhile.js rename to tools/node_modules/eslint/node_modules/lodash/dropRightWhile.js diff --git a/tools/eslint/node_modules/lodash/dropWhile.js b/tools/node_modules/eslint/node_modules/lodash/dropWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/dropWhile.js rename to tools/node_modules/eslint/node_modules/lodash/dropWhile.js diff --git a/tools/eslint/node_modules/lodash/each.js b/tools/node_modules/eslint/node_modules/lodash/each.js similarity index 100% rename from tools/eslint/node_modules/lodash/each.js rename to tools/node_modules/eslint/node_modules/lodash/each.js diff --git a/tools/eslint/node_modules/lodash/eachRight.js b/tools/node_modules/eslint/node_modules/lodash/eachRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/eachRight.js rename to tools/node_modules/eslint/node_modules/lodash/eachRight.js diff --git a/tools/eslint/node_modules/lodash/endsWith.js b/tools/node_modules/eslint/node_modules/lodash/endsWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/endsWith.js rename to tools/node_modules/eslint/node_modules/lodash/endsWith.js diff --git a/tools/eslint/node_modules/lodash/entries.js b/tools/node_modules/eslint/node_modules/lodash/entries.js similarity index 100% rename from tools/eslint/node_modules/lodash/entries.js rename to tools/node_modules/eslint/node_modules/lodash/entries.js diff --git a/tools/eslint/node_modules/lodash/entriesIn.js b/tools/node_modules/eslint/node_modules/lodash/entriesIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/entriesIn.js rename to tools/node_modules/eslint/node_modules/lodash/entriesIn.js diff --git a/tools/eslint/node_modules/lodash/eq.js b/tools/node_modules/eslint/node_modules/lodash/eq.js similarity index 100% rename from tools/eslint/node_modules/lodash/eq.js rename to tools/node_modules/eslint/node_modules/lodash/eq.js diff --git a/tools/eslint/node_modules/lodash/escape.js b/tools/node_modules/eslint/node_modules/lodash/escape.js similarity index 100% rename from tools/eslint/node_modules/lodash/escape.js rename to tools/node_modules/eslint/node_modules/lodash/escape.js diff --git a/tools/eslint/node_modules/lodash/escapeRegExp.js b/tools/node_modules/eslint/node_modules/lodash/escapeRegExp.js similarity index 100% rename from tools/eslint/node_modules/lodash/escapeRegExp.js rename to tools/node_modules/eslint/node_modules/lodash/escapeRegExp.js diff --git a/tools/eslint/node_modules/lodash/every.js b/tools/node_modules/eslint/node_modules/lodash/every.js similarity index 100% rename from tools/eslint/node_modules/lodash/every.js rename to tools/node_modules/eslint/node_modules/lodash/every.js diff --git a/tools/eslint/node_modules/lodash/extend.js b/tools/node_modules/eslint/node_modules/lodash/extend.js similarity index 100% rename from tools/eslint/node_modules/lodash/extend.js rename to tools/node_modules/eslint/node_modules/lodash/extend.js diff --git a/tools/eslint/node_modules/lodash/extendWith.js b/tools/node_modules/eslint/node_modules/lodash/extendWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/extendWith.js rename to tools/node_modules/eslint/node_modules/lodash/extendWith.js diff --git a/tools/eslint/node_modules/lodash/fill.js b/tools/node_modules/eslint/node_modules/lodash/fill.js similarity index 100% rename from tools/eslint/node_modules/lodash/fill.js rename to tools/node_modules/eslint/node_modules/lodash/fill.js diff --git a/tools/eslint/node_modules/lodash/filter.js b/tools/node_modules/eslint/node_modules/lodash/filter.js similarity index 100% rename from tools/eslint/node_modules/lodash/filter.js rename to tools/node_modules/eslint/node_modules/lodash/filter.js diff --git a/tools/eslint/node_modules/lodash/find.js b/tools/node_modules/eslint/node_modules/lodash/find.js similarity index 100% rename from tools/eslint/node_modules/lodash/find.js rename to tools/node_modules/eslint/node_modules/lodash/find.js diff --git a/tools/eslint/node_modules/lodash/findIndex.js b/tools/node_modules/eslint/node_modules/lodash/findIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/findIndex.js rename to tools/node_modules/eslint/node_modules/lodash/findIndex.js diff --git a/tools/eslint/node_modules/lodash/findKey.js b/tools/node_modules/eslint/node_modules/lodash/findKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/findKey.js rename to tools/node_modules/eslint/node_modules/lodash/findKey.js diff --git a/tools/eslint/node_modules/lodash/findLast.js b/tools/node_modules/eslint/node_modules/lodash/findLast.js similarity index 100% rename from tools/eslint/node_modules/lodash/findLast.js rename to tools/node_modules/eslint/node_modules/lodash/findLast.js diff --git a/tools/eslint/node_modules/lodash/findLastIndex.js b/tools/node_modules/eslint/node_modules/lodash/findLastIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/findLastIndex.js rename to tools/node_modules/eslint/node_modules/lodash/findLastIndex.js diff --git a/tools/eslint/node_modules/lodash/findLastKey.js b/tools/node_modules/eslint/node_modules/lodash/findLastKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/findLastKey.js rename to tools/node_modules/eslint/node_modules/lodash/findLastKey.js diff --git a/tools/eslint/node_modules/lodash/first.js b/tools/node_modules/eslint/node_modules/lodash/first.js similarity index 100% rename from tools/eslint/node_modules/lodash/first.js rename to tools/node_modules/eslint/node_modules/lodash/first.js diff --git a/tools/eslint/node_modules/lodash/flatMap.js b/tools/node_modules/eslint/node_modules/lodash/flatMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/flatMap.js rename to tools/node_modules/eslint/node_modules/lodash/flatMap.js diff --git a/tools/eslint/node_modules/lodash/flatMapDeep.js b/tools/node_modules/eslint/node_modules/lodash/flatMapDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/flatMapDeep.js rename to tools/node_modules/eslint/node_modules/lodash/flatMapDeep.js diff --git a/tools/eslint/node_modules/lodash/flatMapDepth.js b/tools/node_modules/eslint/node_modules/lodash/flatMapDepth.js similarity index 100% rename from tools/eslint/node_modules/lodash/flatMapDepth.js rename to tools/node_modules/eslint/node_modules/lodash/flatMapDepth.js diff --git a/tools/eslint/node_modules/lodash/flatten.js b/tools/node_modules/eslint/node_modules/lodash/flatten.js similarity index 100% rename from tools/eslint/node_modules/lodash/flatten.js rename to tools/node_modules/eslint/node_modules/lodash/flatten.js diff --git a/tools/eslint/node_modules/lodash/flattenDeep.js b/tools/node_modules/eslint/node_modules/lodash/flattenDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/flattenDeep.js rename to tools/node_modules/eslint/node_modules/lodash/flattenDeep.js diff --git a/tools/eslint/node_modules/lodash/flattenDepth.js b/tools/node_modules/eslint/node_modules/lodash/flattenDepth.js similarity index 100% rename from tools/eslint/node_modules/lodash/flattenDepth.js rename to tools/node_modules/eslint/node_modules/lodash/flattenDepth.js diff --git a/tools/eslint/node_modules/lodash/flip.js b/tools/node_modules/eslint/node_modules/lodash/flip.js similarity index 100% rename from tools/eslint/node_modules/lodash/flip.js rename to tools/node_modules/eslint/node_modules/lodash/flip.js diff --git a/tools/eslint/node_modules/lodash/floor.js b/tools/node_modules/eslint/node_modules/lodash/floor.js similarity index 100% rename from tools/eslint/node_modules/lodash/floor.js rename to tools/node_modules/eslint/node_modules/lodash/floor.js diff --git a/tools/eslint/node_modules/lodash/flow.js b/tools/node_modules/eslint/node_modules/lodash/flow.js similarity index 100% rename from tools/eslint/node_modules/lodash/flow.js rename to tools/node_modules/eslint/node_modules/lodash/flow.js diff --git a/tools/eslint/node_modules/lodash/flowRight.js b/tools/node_modules/eslint/node_modules/lodash/flowRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/flowRight.js rename to tools/node_modules/eslint/node_modules/lodash/flowRight.js diff --git a/tools/eslint/node_modules/lodash/forEach.js b/tools/node_modules/eslint/node_modules/lodash/forEach.js similarity index 100% rename from tools/eslint/node_modules/lodash/forEach.js rename to tools/node_modules/eslint/node_modules/lodash/forEach.js diff --git a/tools/eslint/node_modules/lodash/forEachRight.js b/tools/node_modules/eslint/node_modules/lodash/forEachRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/forEachRight.js rename to tools/node_modules/eslint/node_modules/lodash/forEachRight.js diff --git a/tools/eslint/node_modules/lodash/forIn.js b/tools/node_modules/eslint/node_modules/lodash/forIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/forIn.js rename to tools/node_modules/eslint/node_modules/lodash/forIn.js diff --git a/tools/eslint/node_modules/lodash/forInRight.js b/tools/node_modules/eslint/node_modules/lodash/forInRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/forInRight.js rename to tools/node_modules/eslint/node_modules/lodash/forInRight.js diff --git a/tools/eslint/node_modules/lodash/forOwn.js b/tools/node_modules/eslint/node_modules/lodash/forOwn.js similarity index 100% rename from tools/eslint/node_modules/lodash/forOwn.js rename to tools/node_modules/eslint/node_modules/lodash/forOwn.js diff --git a/tools/eslint/node_modules/lodash/forOwnRight.js b/tools/node_modules/eslint/node_modules/lodash/forOwnRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/forOwnRight.js rename to tools/node_modules/eslint/node_modules/lodash/forOwnRight.js diff --git a/tools/eslint/node_modules/lodash/fp.js b/tools/node_modules/eslint/node_modules/lodash/fp.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp.js rename to tools/node_modules/eslint/node_modules/lodash/fp.js diff --git a/tools/eslint/node_modules/lodash/fp/F.js b/tools/node_modules/eslint/node_modules/lodash/fp/F.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/F.js rename to tools/node_modules/eslint/node_modules/lodash/fp/F.js diff --git a/tools/eslint/node_modules/lodash/fp/T.js b/tools/node_modules/eslint/node_modules/lodash/fp/T.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/T.js rename to tools/node_modules/eslint/node_modules/lodash/fp/T.js diff --git a/tools/eslint/node_modules/lodash/fp/__.js b/tools/node_modules/eslint/node_modules/lodash/fp/__.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/__.js rename to tools/node_modules/eslint/node_modules/lodash/fp/__.js diff --git a/tools/eslint/node_modules/lodash/fp/_baseConvert.js b/tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/_baseConvert.js rename to tools/node_modules/eslint/node_modules/lodash/fp/_baseConvert.js diff --git a/tools/eslint/node_modules/lodash/fp/_convertBrowser.js b/tools/node_modules/eslint/node_modules/lodash/fp/_convertBrowser.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/_convertBrowser.js rename to tools/node_modules/eslint/node_modules/lodash/fp/_convertBrowser.js diff --git a/tools/eslint/node_modules/lodash/fp/_falseOptions.js b/tools/node_modules/eslint/node_modules/lodash/fp/_falseOptions.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/_falseOptions.js rename to tools/node_modules/eslint/node_modules/lodash/fp/_falseOptions.js diff --git a/tools/eslint/node_modules/lodash/fp/_mapping.js b/tools/node_modules/eslint/node_modules/lodash/fp/_mapping.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/_mapping.js rename to tools/node_modules/eslint/node_modules/lodash/fp/_mapping.js diff --git a/tools/eslint/node_modules/lodash/fp/_util.js b/tools/node_modules/eslint/node_modules/lodash/fp/_util.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/_util.js rename to tools/node_modules/eslint/node_modules/lodash/fp/_util.js diff --git a/tools/eslint/node_modules/lodash/fp/add.js b/tools/node_modules/eslint/node_modules/lodash/fp/add.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/add.js rename to tools/node_modules/eslint/node_modules/lodash/fp/add.js diff --git a/tools/eslint/node_modules/lodash/fp/after.js b/tools/node_modules/eslint/node_modules/lodash/fp/after.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/after.js rename to tools/node_modules/eslint/node_modules/lodash/fp/after.js diff --git a/tools/eslint/node_modules/lodash/fp/all.js b/tools/node_modules/eslint/node_modules/lodash/fp/all.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/all.js rename to tools/node_modules/eslint/node_modules/lodash/fp/all.js diff --git a/tools/eslint/node_modules/lodash/fp/allPass.js b/tools/node_modules/eslint/node_modules/lodash/fp/allPass.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/allPass.js rename to tools/node_modules/eslint/node_modules/lodash/fp/allPass.js diff --git a/tools/eslint/node_modules/lodash/fp/always.js b/tools/node_modules/eslint/node_modules/lodash/fp/always.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/always.js rename to tools/node_modules/eslint/node_modules/lodash/fp/always.js diff --git a/tools/eslint/node_modules/lodash/fp/any.js b/tools/node_modules/eslint/node_modules/lodash/fp/any.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/any.js rename to tools/node_modules/eslint/node_modules/lodash/fp/any.js diff --git a/tools/eslint/node_modules/lodash/fp/anyPass.js b/tools/node_modules/eslint/node_modules/lodash/fp/anyPass.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/anyPass.js rename to tools/node_modules/eslint/node_modules/lodash/fp/anyPass.js diff --git a/tools/eslint/node_modules/lodash/fp/apply.js b/tools/node_modules/eslint/node_modules/lodash/fp/apply.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/apply.js rename to tools/node_modules/eslint/node_modules/lodash/fp/apply.js diff --git a/tools/eslint/node_modules/lodash/fp/array.js b/tools/node_modules/eslint/node_modules/lodash/fp/array.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/array.js rename to tools/node_modules/eslint/node_modules/lodash/fp/array.js diff --git a/tools/eslint/node_modules/lodash/fp/ary.js b/tools/node_modules/eslint/node_modules/lodash/fp/ary.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/ary.js rename to tools/node_modules/eslint/node_modules/lodash/fp/ary.js diff --git a/tools/eslint/node_modules/lodash/fp/assign.js b/tools/node_modules/eslint/node_modules/lodash/fp/assign.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assign.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assign.js diff --git a/tools/eslint/node_modules/lodash/fp/assignAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignAll.js diff --git a/tools/eslint/node_modules/lodash/fp/assignAllWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignAllWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignAllWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignAllWith.js diff --git a/tools/eslint/node_modules/lodash/fp/assignIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignIn.js diff --git a/tools/eslint/node_modules/lodash/fp/assignInAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignInAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignInAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignInAll.js diff --git a/tools/eslint/node_modules/lodash/fp/assignInAllWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignInAllWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignInAllWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignInAllWith.js diff --git a/tools/eslint/node_modules/lodash/fp/assignInWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignInWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignInWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignInWith.js diff --git a/tools/eslint/node_modules/lodash/fp/assignWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/assignWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assignWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assignWith.js diff --git a/tools/eslint/node_modules/lodash/fp/assoc.js b/tools/node_modules/eslint/node_modules/lodash/fp/assoc.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assoc.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assoc.js diff --git a/tools/eslint/node_modules/lodash/fp/assocPath.js b/tools/node_modules/eslint/node_modules/lodash/fp/assocPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/assocPath.js rename to tools/node_modules/eslint/node_modules/lodash/fp/assocPath.js diff --git a/tools/eslint/node_modules/lodash/fp/at.js b/tools/node_modules/eslint/node_modules/lodash/fp/at.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/at.js rename to tools/node_modules/eslint/node_modules/lodash/fp/at.js diff --git a/tools/eslint/node_modules/lodash/fp/attempt.js b/tools/node_modules/eslint/node_modules/lodash/fp/attempt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/attempt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/attempt.js diff --git a/tools/eslint/node_modules/lodash/fp/before.js b/tools/node_modules/eslint/node_modules/lodash/fp/before.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/before.js rename to tools/node_modules/eslint/node_modules/lodash/fp/before.js diff --git a/tools/eslint/node_modules/lodash/fp/bind.js b/tools/node_modules/eslint/node_modules/lodash/fp/bind.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/bind.js rename to tools/node_modules/eslint/node_modules/lodash/fp/bind.js diff --git a/tools/eslint/node_modules/lodash/fp/bindAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/bindAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/bindAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/bindAll.js diff --git a/tools/eslint/node_modules/lodash/fp/bindKey.js b/tools/node_modules/eslint/node_modules/lodash/fp/bindKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/bindKey.js rename to tools/node_modules/eslint/node_modules/lodash/fp/bindKey.js diff --git a/tools/eslint/node_modules/lodash/fp/camelCase.js b/tools/node_modules/eslint/node_modules/lodash/fp/camelCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/camelCase.js rename to tools/node_modules/eslint/node_modules/lodash/fp/camelCase.js diff --git a/tools/eslint/node_modules/lodash/fp/capitalize.js b/tools/node_modules/eslint/node_modules/lodash/fp/capitalize.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/capitalize.js rename to tools/node_modules/eslint/node_modules/lodash/fp/capitalize.js diff --git a/tools/eslint/node_modules/lodash/fp/castArray.js b/tools/node_modules/eslint/node_modules/lodash/fp/castArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/castArray.js rename to tools/node_modules/eslint/node_modules/lodash/fp/castArray.js diff --git a/tools/eslint/node_modules/lodash/fp/ceil.js b/tools/node_modules/eslint/node_modules/lodash/fp/ceil.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/ceil.js rename to tools/node_modules/eslint/node_modules/lodash/fp/ceil.js diff --git a/tools/eslint/node_modules/lodash/fp/chain.js b/tools/node_modules/eslint/node_modules/lodash/fp/chain.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/chain.js rename to tools/node_modules/eslint/node_modules/lodash/fp/chain.js diff --git a/tools/eslint/node_modules/lodash/fp/chunk.js b/tools/node_modules/eslint/node_modules/lodash/fp/chunk.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/chunk.js rename to tools/node_modules/eslint/node_modules/lodash/fp/chunk.js diff --git a/tools/eslint/node_modules/lodash/fp/clamp.js b/tools/node_modules/eslint/node_modules/lodash/fp/clamp.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/clamp.js rename to tools/node_modules/eslint/node_modules/lodash/fp/clamp.js diff --git a/tools/eslint/node_modules/lodash/fp/clone.js b/tools/node_modules/eslint/node_modules/lodash/fp/clone.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/clone.js rename to tools/node_modules/eslint/node_modules/lodash/fp/clone.js diff --git a/tools/eslint/node_modules/lodash/fp/cloneDeep.js b/tools/node_modules/eslint/node_modules/lodash/fp/cloneDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/cloneDeep.js rename to tools/node_modules/eslint/node_modules/lodash/fp/cloneDeep.js diff --git a/tools/eslint/node_modules/lodash/fp/cloneDeepWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/cloneDeepWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/cloneDeepWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/cloneDeepWith.js diff --git a/tools/eslint/node_modules/lodash/fp/cloneWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/cloneWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/cloneWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/cloneWith.js diff --git a/tools/eslint/node_modules/lodash/fp/collection.js b/tools/node_modules/eslint/node_modules/lodash/fp/collection.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/collection.js rename to tools/node_modules/eslint/node_modules/lodash/fp/collection.js diff --git a/tools/eslint/node_modules/lodash/fp/commit.js b/tools/node_modules/eslint/node_modules/lodash/fp/commit.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/commit.js rename to tools/node_modules/eslint/node_modules/lodash/fp/commit.js diff --git a/tools/eslint/node_modules/lodash/fp/compact.js b/tools/node_modules/eslint/node_modules/lodash/fp/compact.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/compact.js rename to tools/node_modules/eslint/node_modules/lodash/fp/compact.js diff --git a/tools/eslint/node_modules/lodash/fp/complement.js b/tools/node_modules/eslint/node_modules/lodash/fp/complement.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/complement.js rename to tools/node_modules/eslint/node_modules/lodash/fp/complement.js diff --git a/tools/eslint/node_modules/lodash/fp/compose.js b/tools/node_modules/eslint/node_modules/lodash/fp/compose.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/compose.js rename to tools/node_modules/eslint/node_modules/lodash/fp/compose.js diff --git a/tools/eslint/node_modules/lodash/fp/concat.js b/tools/node_modules/eslint/node_modules/lodash/fp/concat.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/concat.js rename to tools/node_modules/eslint/node_modules/lodash/fp/concat.js diff --git a/tools/eslint/node_modules/lodash/fp/cond.js b/tools/node_modules/eslint/node_modules/lodash/fp/cond.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/cond.js rename to tools/node_modules/eslint/node_modules/lodash/fp/cond.js diff --git a/tools/eslint/node_modules/lodash/fp/conforms.js b/tools/node_modules/eslint/node_modules/lodash/fp/conforms.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/conforms.js rename to tools/node_modules/eslint/node_modules/lodash/fp/conforms.js diff --git a/tools/eslint/node_modules/lodash/fp/conformsTo.js b/tools/node_modules/eslint/node_modules/lodash/fp/conformsTo.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/conformsTo.js rename to tools/node_modules/eslint/node_modules/lodash/fp/conformsTo.js diff --git a/tools/eslint/node_modules/lodash/fp/constant.js b/tools/node_modules/eslint/node_modules/lodash/fp/constant.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/constant.js rename to tools/node_modules/eslint/node_modules/lodash/fp/constant.js diff --git a/tools/eslint/node_modules/lodash/fp/contains.js b/tools/node_modules/eslint/node_modules/lodash/fp/contains.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/contains.js rename to tools/node_modules/eslint/node_modules/lodash/fp/contains.js diff --git a/tools/eslint/node_modules/lodash/fp/convert.js b/tools/node_modules/eslint/node_modules/lodash/fp/convert.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/convert.js rename to tools/node_modules/eslint/node_modules/lodash/fp/convert.js diff --git a/tools/eslint/node_modules/lodash/fp/countBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/countBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/countBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/countBy.js diff --git a/tools/eslint/node_modules/lodash/fp/create.js b/tools/node_modules/eslint/node_modules/lodash/fp/create.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/create.js rename to tools/node_modules/eslint/node_modules/lodash/fp/create.js diff --git a/tools/eslint/node_modules/lodash/fp/curry.js b/tools/node_modules/eslint/node_modules/lodash/fp/curry.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/curry.js rename to tools/node_modules/eslint/node_modules/lodash/fp/curry.js diff --git a/tools/eslint/node_modules/lodash/fp/curryN.js b/tools/node_modules/eslint/node_modules/lodash/fp/curryN.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/curryN.js rename to tools/node_modules/eslint/node_modules/lodash/fp/curryN.js diff --git a/tools/eslint/node_modules/lodash/fp/curryRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/curryRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/curryRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/curryRight.js diff --git a/tools/eslint/node_modules/lodash/fp/curryRightN.js b/tools/node_modules/eslint/node_modules/lodash/fp/curryRightN.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/curryRightN.js rename to tools/node_modules/eslint/node_modules/lodash/fp/curryRightN.js diff --git a/tools/eslint/node_modules/lodash/fp/date.js b/tools/node_modules/eslint/node_modules/lodash/fp/date.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/date.js rename to tools/node_modules/eslint/node_modules/lodash/fp/date.js diff --git a/tools/eslint/node_modules/lodash/fp/debounce.js b/tools/node_modules/eslint/node_modules/lodash/fp/debounce.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/debounce.js rename to tools/node_modules/eslint/node_modules/lodash/fp/debounce.js diff --git a/tools/eslint/node_modules/lodash/fp/deburr.js b/tools/node_modules/eslint/node_modules/lodash/fp/deburr.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/deburr.js rename to tools/node_modules/eslint/node_modules/lodash/fp/deburr.js diff --git a/tools/eslint/node_modules/lodash/fp/defaultTo.js b/tools/node_modules/eslint/node_modules/lodash/fp/defaultTo.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/defaultTo.js rename to tools/node_modules/eslint/node_modules/lodash/fp/defaultTo.js diff --git a/tools/eslint/node_modules/lodash/fp/defaults.js b/tools/node_modules/eslint/node_modules/lodash/fp/defaults.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/defaults.js rename to tools/node_modules/eslint/node_modules/lodash/fp/defaults.js diff --git a/tools/eslint/node_modules/lodash/fp/defaultsAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/defaultsAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/defaultsAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/defaultsAll.js diff --git a/tools/eslint/node_modules/lodash/fp/defaultsDeep.js b/tools/node_modules/eslint/node_modules/lodash/fp/defaultsDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/defaultsDeep.js rename to tools/node_modules/eslint/node_modules/lodash/fp/defaultsDeep.js diff --git a/tools/eslint/node_modules/lodash/fp/defaultsDeepAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/defaultsDeepAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/defaultsDeepAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/defaultsDeepAll.js diff --git a/tools/eslint/node_modules/lodash/fp/defer.js b/tools/node_modules/eslint/node_modules/lodash/fp/defer.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/defer.js rename to tools/node_modules/eslint/node_modules/lodash/fp/defer.js diff --git a/tools/eslint/node_modules/lodash/fp/delay.js b/tools/node_modules/eslint/node_modules/lodash/fp/delay.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/delay.js rename to tools/node_modules/eslint/node_modules/lodash/fp/delay.js diff --git a/tools/eslint/node_modules/lodash/fp/difference.js b/tools/node_modules/eslint/node_modules/lodash/fp/difference.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/difference.js rename to tools/node_modules/eslint/node_modules/lodash/fp/difference.js diff --git a/tools/eslint/node_modules/lodash/fp/differenceBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/differenceBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/differenceBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/differenceBy.js diff --git a/tools/eslint/node_modules/lodash/fp/differenceWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/differenceWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/differenceWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/differenceWith.js diff --git a/tools/eslint/node_modules/lodash/fp/dissoc.js b/tools/node_modules/eslint/node_modules/lodash/fp/dissoc.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dissoc.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dissoc.js diff --git a/tools/eslint/node_modules/lodash/fp/dissocPath.js b/tools/node_modules/eslint/node_modules/lodash/fp/dissocPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dissocPath.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dissocPath.js diff --git a/tools/eslint/node_modules/lodash/fp/divide.js b/tools/node_modules/eslint/node_modules/lodash/fp/divide.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/divide.js rename to tools/node_modules/eslint/node_modules/lodash/fp/divide.js diff --git a/tools/eslint/node_modules/lodash/fp/drop.js b/tools/node_modules/eslint/node_modules/lodash/fp/drop.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/drop.js rename to tools/node_modules/eslint/node_modules/lodash/fp/drop.js diff --git a/tools/eslint/node_modules/lodash/fp/dropLast.js b/tools/node_modules/eslint/node_modules/lodash/fp/dropLast.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dropLast.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dropLast.js diff --git a/tools/eslint/node_modules/lodash/fp/dropLastWhile.js b/tools/node_modules/eslint/node_modules/lodash/fp/dropLastWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dropLastWhile.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dropLastWhile.js diff --git a/tools/eslint/node_modules/lodash/fp/dropRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/dropRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dropRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dropRight.js diff --git a/tools/eslint/node_modules/lodash/fp/dropRightWhile.js b/tools/node_modules/eslint/node_modules/lodash/fp/dropRightWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dropRightWhile.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dropRightWhile.js diff --git a/tools/eslint/node_modules/lodash/fp/dropWhile.js b/tools/node_modules/eslint/node_modules/lodash/fp/dropWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/dropWhile.js rename to tools/node_modules/eslint/node_modules/lodash/fp/dropWhile.js diff --git a/tools/eslint/node_modules/lodash/fp/each.js b/tools/node_modules/eslint/node_modules/lodash/fp/each.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/each.js rename to tools/node_modules/eslint/node_modules/lodash/fp/each.js diff --git a/tools/eslint/node_modules/lodash/fp/eachRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/eachRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/eachRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/eachRight.js diff --git a/tools/eslint/node_modules/lodash/fp/endsWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/endsWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/endsWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/endsWith.js diff --git a/tools/eslint/node_modules/lodash/fp/entries.js b/tools/node_modules/eslint/node_modules/lodash/fp/entries.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/entries.js rename to tools/node_modules/eslint/node_modules/lodash/fp/entries.js diff --git a/tools/eslint/node_modules/lodash/fp/entriesIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/entriesIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/entriesIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/entriesIn.js diff --git a/tools/eslint/node_modules/lodash/fp/eq.js b/tools/node_modules/eslint/node_modules/lodash/fp/eq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/eq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/eq.js diff --git a/tools/eslint/node_modules/lodash/fp/equals.js b/tools/node_modules/eslint/node_modules/lodash/fp/equals.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/equals.js rename to tools/node_modules/eslint/node_modules/lodash/fp/equals.js diff --git a/tools/eslint/node_modules/lodash/fp/escape.js b/tools/node_modules/eslint/node_modules/lodash/fp/escape.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/escape.js rename to tools/node_modules/eslint/node_modules/lodash/fp/escape.js diff --git a/tools/eslint/node_modules/lodash/fp/escapeRegExp.js b/tools/node_modules/eslint/node_modules/lodash/fp/escapeRegExp.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/escapeRegExp.js rename to tools/node_modules/eslint/node_modules/lodash/fp/escapeRegExp.js diff --git a/tools/eslint/node_modules/lodash/fp/every.js b/tools/node_modules/eslint/node_modules/lodash/fp/every.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/every.js rename to tools/node_modules/eslint/node_modules/lodash/fp/every.js diff --git a/tools/eslint/node_modules/lodash/fp/extend.js b/tools/node_modules/eslint/node_modules/lodash/fp/extend.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/extend.js rename to tools/node_modules/eslint/node_modules/lodash/fp/extend.js diff --git a/tools/eslint/node_modules/lodash/fp/extendAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/extendAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/extendAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/extendAll.js diff --git a/tools/eslint/node_modules/lodash/fp/extendAllWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/extendAllWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/extendAllWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/extendAllWith.js diff --git a/tools/eslint/node_modules/lodash/fp/extendWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/extendWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/extendWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/extendWith.js diff --git a/tools/eslint/node_modules/lodash/fp/fill.js b/tools/node_modules/eslint/node_modules/lodash/fp/fill.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/fill.js rename to tools/node_modules/eslint/node_modules/lodash/fp/fill.js diff --git a/tools/eslint/node_modules/lodash/fp/filter.js b/tools/node_modules/eslint/node_modules/lodash/fp/filter.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/filter.js rename to tools/node_modules/eslint/node_modules/lodash/fp/filter.js diff --git a/tools/eslint/node_modules/lodash/fp/find.js b/tools/node_modules/eslint/node_modules/lodash/fp/find.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/find.js rename to tools/node_modules/eslint/node_modules/lodash/fp/find.js diff --git a/tools/eslint/node_modules/lodash/fp/findFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/findFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/findIndex.js b/tools/node_modules/eslint/node_modules/lodash/fp/findIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findIndex.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findIndex.js diff --git a/tools/eslint/node_modules/lodash/fp/findIndexFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/findIndexFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findIndexFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findIndexFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/findKey.js b/tools/node_modules/eslint/node_modules/lodash/fp/findKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findKey.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findKey.js diff --git a/tools/eslint/node_modules/lodash/fp/findLast.js b/tools/node_modules/eslint/node_modules/lodash/fp/findLast.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findLast.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findLast.js diff --git a/tools/eslint/node_modules/lodash/fp/findLastFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/findLastFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findLastFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findLastFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/findLastIndex.js b/tools/node_modules/eslint/node_modules/lodash/fp/findLastIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findLastIndex.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findLastIndex.js diff --git a/tools/eslint/node_modules/lodash/fp/findLastIndexFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/findLastIndexFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findLastIndexFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findLastIndexFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/findLastKey.js b/tools/node_modules/eslint/node_modules/lodash/fp/findLastKey.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/findLastKey.js rename to tools/node_modules/eslint/node_modules/lodash/fp/findLastKey.js diff --git a/tools/eslint/node_modules/lodash/fp/first.js b/tools/node_modules/eslint/node_modules/lodash/fp/first.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/first.js rename to tools/node_modules/eslint/node_modules/lodash/fp/first.js diff --git a/tools/eslint/node_modules/lodash/fp/flatMap.js b/tools/node_modules/eslint/node_modules/lodash/fp/flatMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flatMap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flatMap.js diff --git a/tools/eslint/node_modules/lodash/fp/flatMapDeep.js b/tools/node_modules/eslint/node_modules/lodash/fp/flatMapDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flatMapDeep.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flatMapDeep.js diff --git a/tools/eslint/node_modules/lodash/fp/flatMapDepth.js b/tools/node_modules/eslint/node_modules/lodash/fp/flatMapDepth.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flatMapDepth.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flatMapDepth.js diff --git a/tools/eslint/node_modules/lodash/fp/flatten.js b/tools/node_modules/eslint/node_modules/lodash/fp/flatten.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flatten.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flatten.js diff --git a/tools/eslint/node_modules/lodash/fp/flattenDeep.js b/tools/node_modules/eslint/node_modules/lodash/fp/flattenDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flattenDeep.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flattenDeep.js diff --git a/tools/eslint/node_modules/lodash/fp/flattenDepth.js b/tools/node_modules/eslint/node_modules/lodash/fp/flattenDepth.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flattenDepth.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flattenDepth.js diff --git a/tools/eslint/node_modules/lodash/fp/flip.js b/tools/node_modules/eslint/node_modules/lodash/fp/flip.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flip.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flip.js diff --git a/tools/eslint/node_modules/lodash/fp/floor.js b/tools/node_modules/eslint/node_modules/lodash/fp/floor.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/floor.js rename to tools/node_modules/eslint/node_modules/lodash/fp/floor.js diff --git a/tools/eslint/node_modules/lodash/fp/flow.js b/tools/node_modules/eslint/node_modules/lodash/fp/flow.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flow.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flow.js diff --git a/tools/eslint/node_modules/lodash/fp/flowRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/flowRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/flowRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/flowRight.js diff --git a/tools/eslint/node_modules/lodash/fp/forEach.js b/tools/node_modules/eslint/node_modules/lodash/fp/forEach.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/forEach.js rename to tools/node_modules/eslint/node_modules/lodash/fp/forEach.js diff --git a/tools/eslint/node_modules/lodash/fp/forEachRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/forEachRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/forEachRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/forEachRight.js diff --git a/tools/eslint/node_modules/lodash/fp/forIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/forIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/forIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/forIn.js diff --git a/tools/eslint/node_modules/lodash/fp/forInRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/forInRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/forInRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/forInRight.js diff --git a/tools/eslint/node_modules/lodash/fp/forOwn.js b/tools/node_modules/eslint/node_modules/lodash/fp/forOwn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/forOwn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/forOwn.js diff --git a/tools/eslint/node_modules/lodash/fp/forOwnRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/forOwnRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/forOwnRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/forOwnRight.js diff --git a/tools/eslint/node_modules/lodash/fp/fromPairs.js b/tools/node_modules/eslint/node_modules/lodash/fp/fromPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/fromPairs.js rename to tools/node_modules/eslint/node_modules/lodash/fp/fromPairs.js diff --git a/tools/eslint/node_modules/lodash/fp/function.js b/tools/node_modules/eslint/node_modules/lodash/fp/function.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/function.js rename to tools/node_modules/eslint/node_modules/lodash/fp/function.js diff --git a/tools/eslint/node_modules/lodash/fp/functions.js b/tools/node_modules/eslint/node_modules/lodash/fp/functions.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/functions.js rename to tools/node_modules/eslint/node_modules/lodash/fp/functions.js diff --git a/tools/eslint/node_modules/lodash/fp/functionsIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/functionsIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/functionsIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/functionsIn.js diff --git a/tools/eslint/node_modules/lodash/fp/get.js b/tools/node_modules/eslint/node_modules/lodash/fp/get.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/get.js rename to tools/node_modules/eslint/node_modules/lodash/fp/get.js diff --git a/tools/eslint/node_modules/lodash/fp/getOr.js b/tools/node_modules/eslint/node_modules/lodash/fp/getOr.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/getOr.js rename to tools/node_modules/eslint/node_modules/lodash/fp/getOr.js diff --git a/tools/eslint/node_modules/lodash/fp/groupBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/groupBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/groupBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/groupBy.js diff --git a/tools/eslint/node_modules/lodash/fp/gt.js b/tools/node_modules/eslint/node_modules/lodash/fp/gt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/gt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/gt.js diff --git a/tools/eslint/node_modules/lodash/fp/gte.js b/tools/node_modules/eslint/node_modules/lodash/fp/gte.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/gte.js rename to tools/node_modules/eslint/node_modules/lodash/fp/gte.js diff --git a/tools/eslint/node_modules/lodash/fp/has.js b/tools/node_modules/eslint/node_modules/lodash/fp/has.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/has.js rename to tools/node_modules/eslint/node_modules/lodash/fp/has.js diff --git a/tools/eslint/node_modules/lodash/fp/hasIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/hasIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/hasIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/hasIn.js diff --git a/tools/eslint/node_modules/lodash/fp/head.js b/tools/node_modules/eslint/node_modules/lodash/fp/head.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/head.js rename to tools/node_modules/eslint/node_modules/lodash/fp/head.js diff --git a/tools/eslint/node_modules/lodash/fp/identical.js b/tools/node_modules/eslint/node_modules/lodash/fp/identical.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/identical.js rename to tools/node_modules/eslint/node_modules/lodash/fp/identical.js diff --git a/tools/eslint/node_modules/lodash/fp/identity.js b/tools/node_modules/eslint/node_modules/lodash/fp/identity.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/identity.js rename to tools/node_modules/eslint/node_modules/lodash/fp/identity.js diff --git a/tools/eslint/node_modules/lodash/fp/inRange.js b/tools/node_modules/eslint/node_modules/lodash/fp/inRange.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/inRange.js rename to tools/node_modules/eslint/node_modules/lodash/fp/inRange.js diff --git a/tools/eslint/node_modules/lodash/fp/includes.js b/tools/node_modules/eslint/node_modules/lodash/fp/includes.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/includes.js rename to tools/node_modules/eslint/node_modules/lodash/fp/includes.js diff --git a/tools/eslint/node_modules/lodash/fp/includesFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/includesFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/includesFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/includesFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/indexBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/indexBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/indexBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/indexBy.js diff --git a/tools/eslint/node_modules/lodash/fp/indexOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/indexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/indexOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/indexOf.js diff --git a/tools/eslint/node_modules/lodash/fp/indexOfFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/indexOfFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/indexOfFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/indexOfFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/init.js b/tools/node_modules/eslint/node_modules/lodash/fp/init.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/init.js rename to tools/node_modules/eslint/node_modules/lodash/fp/init.js diff --git a/tools/eslint/node_modules/lodash/fp/initial.js b/tools/node_modules/eslint/node_modules/lodash/fp/initial.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/initial.js rename to tools/node_modules/eslint/node_modules/lodash/fp/initial.js diff --git a/tools/eslint/node_modules/lodash/fp/intersection.js b/tools/node_modules/eslint/node_modules/lodash/fp/intersection.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/intersection.js rename to tools/node_modules/eslint/node_modules/lodash/fp/intersection.js diff --git a/tools/eslint/node_modules/lodash/fp/intersectionBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/intersectionBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/intersectionBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/intersectionBy.js diff --git a/tools/eslint/node_modules/lodash/fp/intersectionWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/intersectionWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/intersectionWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/intersectionWith.js diff --git a/tools/eslint/node_modules/lodash/fp/invert.js b/tools/node_modules/eslint/node_modules/lodash/fp/invert.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invert.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invert.js diff --git a/tools/eslint/node_modules/lodash/fp/invertBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/invertBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invertBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invertBy.js diff --git a/tools/eslint/node_modules/lodash/fp/invertObj.js b/tools/node_modules/eslint/node_modules/lodash/fp/invertObj.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invertObj.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invertObj.js diff --git a/tools/eslint/node_modules/lodash/fp/invoke.js b/tools/node_modules/eslint/node_modules/lodash/fp/invoke.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invoke.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invoke.js diff --git a/tools/eslint/node_modules/lodash/fp/invokeArgs.js b/tools/node_modules/eslint/node_modules/lodash/fp/invokeArgs.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invokeArgs.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invokeArgs.js diff --git a/tools/eslint/node_modules/lodash/fp/invokeArgsMap.js b/tools/node_modules/eslint/node_modules/lodash/fp/invokeArgsMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invokeArgsMap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invokeArgsMap.js diff --git a/tools/eslint/node_modules/lodash/fp/invokeMap.js b/tools/node_modules/eslint/node_modules/lodash/fp/invokeMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/invokeMap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/invokeMap.js diff --git a/tools/eslint/node_modules/lodash/fp/isArguments.js b/tools/node_modules/eslint/node_modules/lodash/fp/isArguments.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isArguments.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isArguments.js diff --git a/tools/eslint/node_modules/lodash/fp/isArray.js b/tools/node_modules/eslint/node_modules/lodash/fp/isArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isArray.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isArray.js diff --git a/tools/eslint/node_modules/lodash/fp/isArrayBuffer.js b/tools/node_modules/eslint/node_modules/lodash/fp/isArrayBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isArrayBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isArrayBuffer.js diff --git a/tools/eslint/node_modules/lodash/fp/isArrayLike.js b/tools/node_modules/eslint/node_modules/lodash/fp/isArrayLike.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isArrayLike.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isArrayLike.js diff --git a/tools/eslint/node_modules/lodash/fp/isArrayLikeObject.js b/tools/node_modules/eslint/node_modules/lodash/fp/isArrayLikeObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isArrayLikeObject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isArrayLikeObject.js diff --git a/tools/eslint/node_modules/lodash/fp/isBoolean.js b/tools/node_modules/eslint/node_modules/lodash/fp/isBoolean.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isBoolean.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isBoolean.js diff --git a/tools/eslint/node_modules/lodash/fp/isBuffer.js b/tools/node_modules/eslint/node_modules/lodash/fp/isBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isBuffer.js diff --git a/tools/eslint/node_modules/lodash/fp/isDate.js b/tools/node_modules/eslint/node_modules/lodash/fp/isDate.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isDate.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isDate.js diff --git a/tools/eslint/node_modules/lodash/fp/isElement.js b/tools/node_modules/eslint/node_modules/lodash/fp/isElement.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isElement.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isElement.js diff --git a/tools/eslint/node_modules/lodash/fp/isEmpty.js b/tools/node_modules/eslint/node_modules/lodash/fp/isEmpty.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isEmpty.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isEmpty.js diff --git a/tools/eslint/node_modules/lodash/fp/isEqual.js b/tools/node_modules/eslint/node_modules/lodash/fp/isEqual.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isEqual.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isEqual.js diff --git a/tools/eslint/node_modules/lodash/fp/isEqualWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/isEqualWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isEqualWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isEqualWith.js diff --git a/tools/eslint/node_modules/lodash/fp/isError.js b/tools/node_modules/eslint/node_modules/lodash/fp/isError.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isError.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isError.js diff --git a/tools/eslint/node_modules/lodash/fp/isFinite.js b/tools/node_modules/eslint/node_modules/lodash/fp/isFinite.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isFinite.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isFinite.js diff --git a/tools/eslint/node_modules/lodash/fp/isFunction.js b/tools/node_modules/eslint/node_modules/lodash/fp/isFunction.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isFunction.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isFunction.js diff --git a/tools/eslint/node_modules/lodash/fp/isInteger.js b/tools/node_modules/eslint/node_modules/lodash/fp/isInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isInteger.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isInteger.js diff --git a/tools/eslint/node_modules/lodash/fp/isLength.js b/tools/node_modules/eslint/node_modules/lodash/fp/isLength.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isLength.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isLength.js diff --git a/tools/eslint/node_modules/lodash/fp/isMap.js b/tools/node_modules/eslint/node_modules/lodash/fp/isMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isMap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isMap.js diff --git a/tools/eslint/node_modules/lodash/fp/isMatch.js b/tools/node_modules/eslint/node_modules/lodash/fp/isMatch.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isMatch.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isMatch.js diff --git a/tools/eslint/node_modules/lodash/fp/isMatchWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/isMatchWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isMatchWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isMatchWith.js diff --git a/tools/eslint/node_modules/lodash/fp/isNaN.js b/tools/node_modules/eslint/node_modules/lodash/fp/isNaN.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isNaN.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isNaN.js diff --git a/tools/eslint/node_modules/lodash/fp/isNative.js b/tools/node_modules/eslint/node_modules/lodash/fp/isNative.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isNative.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isNative.js diff --git a/tools/eslint/node_modules/lodash/fp/isNil.js b/tools/node_modules/eslint/node_modules/lodash/fp/isNil.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isNil.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isNil.js diff --git a/tools/eslint/node_modules/lodash/fp/isNull.js b/tools/node_modules/eslint/node_modules/lodash/fp/isNull.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isNull.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isNull.js diff --git a/tools/eslint/node_modules/lodash/fp/isNumber.js b/tools/node_modules/eslint/node_modules/lodash/fp/isNumber.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isNumber.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isNumber.js diff --git a/tools/eslint/node_modules/lodash/fp/isObject.js b/tools/node_modules/eslint/node_modules/lodash/fp/isObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isObject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isObject.js diff --git a/tools/eslint/node_modules/lodash/fp/isObjectLike.js b/tools/node_modules/eslint/node_modules/lodash/fp/isObjectLike.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isObjectLike.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isObjectLike.js diff --git a/tools/eslint/node_modules/lodash/fp/isPlainObject.js b/tools/node_modules/eslint/node_modules/lodash/fp/isPlainObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isPlainObject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isPlainObject.js diff --git a/tools/eslint/node_modules/lodash/fp/isRegExp.js b/tools/node_modules/eslint/node_modules/lodash/fp/isRegExp.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isRegExp.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isRegExp.js diff --git a/tools/eslint/node_modules/lodash/fp/isSafeInteger.js b/tools/node_modules/eslint/node_modules/lodash/fp/isSafeInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isSafeInteger.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isSafeInteger.js diff --git a/tools/eslint/node_modules/lodash/fp/isSet.js b/tools/node_modules/eslint/node_modules/lodash/fp/isSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isSet.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isSet.js diff --git a/tools/eslint/node_modules/lodash/fp/isString.js b/tools/node_modules/eslint/node_modules/lodash/fp/isString.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isString.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isString.js diff --git a/tools/eslint/node_modules/lodash/fp/isSymbol.js b/tools/node_modules/eslint/node_modules/lodash/fp/isSymbol.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isSymbol.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isSymbol.js diff --git a/tools/eslint/node_modules/lodash/fp/isTypedArray.js b/tools/node_modules/eslint/node_modules/lodash/fp/isTypedArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isTypedArray.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isTypedArray.js diff --git a/tools/eslint/node_modules/lodash/fp/isUndefined.js b/tools/node_modules/eslint/node_modules/lodash/fp/isUndefined.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isUndefined.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isUndefined.js diff --git a/tools/eslint/node_modules/lodash/fp/isWeakMap.js b/tools/node_modules/eslint/node_modules/lodash/fp/isWeakMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isWeakMap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isWeakMap.js diff --git a/tools/eslint/node_modules/lodash/fp/isWeakSet.js b/tools/node_modules/eslint/node_modules/lodash/fp/isWeakSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/isWeakSet.js rename to tools/node_modules/eslint/node_modules/lodash/fp/isWeakSet.js diff --git a/tools/eslint/node_modules/lodash/fp/iteratee.js b/tools/node_modules/eslint/node_modules/lodash/fp/iteratee.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/iteratee.js rename to tools/node_modules/eslint/node_modules/lodash/fp/iteratee.js diff --git a/tools/eslint/node_modules/lodash/fp/join.js b/tools/node_modules/eslint/node_modules/lodash/fp/join.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/join.js rename to tools/node_modules/eslint/node_modules/lodash/fp/join.js diff --git a/tools/eslint/node_modules/lodash/fp/juxt.js b/tools/node_modules/eslint/node_modules/lodash/fp/juxt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/juxt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/juxt.js diff --git a/tools/eslint/node_modules/lodash/fp/kebabCase.js b/tools/node_modules/eslint/node_modules/lodash/fp/kebabCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/kebabCase.js rename to tools/node_modules/eslint/node_modules/lodash/fp/kebabCase.js diff --git a/tools/eslint/node_modules/lodash/fp/keyBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/keyBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/keyBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/keyBy.js diff --git a/tools/eslint/node_modules/lodash/fp/keys.js b/tools/node_modules/eslint/node_modules/lodash/fp/keys.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/keys.js rename to tools/node_modules/eslint/node_modules/lodash/fp/keys.js diff --git a/tools/eslint/node_modules/lodash/fp/keysIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/keysIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/keysIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/keysIn.js diff --git a/tools/eslint/node_modules/lodash/fp/lang.js b/tools/node_modules/eslint/node_modules/lodash/fp/lang.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lang.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lang.js diff --git a/tools/eslint/node_modules/lodash/fp/last.js b/tools/node_modules/eslint/node_modules/lodash/fp/last.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/last.js rename to tools/node_modules/eslint/node_modules/lodash/fp/last.js diff --git a/tools/eslint/node_modules/lodash/fp/lastIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/lastIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lastIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lastIndexOf.js diff --git a/tools/eslint/node_modules/lodash/fp/lastIndexOfFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/lastIndexOfFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lastIndexOfFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lastIndexOfFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/lowerCase.js b/tools/node_modules/eslint/node_modules/lodash/fp/lowerCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lowerCase.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lowerCase.js diff --git a/tools/eslint/node_modules/lodash/fp/lowerFirst.js b/tools/node_modules/eslint/node_modules/lodash/fp/lowerFirst.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lowerFirst.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lowerFirst.js diff --git a/tools/eslint/node_modules/lodash/fp/lt.js b/tools/node_modules/eslint/node_modules/lodash/fp/lt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lt.js diff --git a/tools/eslint/node_modules/lodash/fp/lte.js b/tools/node_modules/eslint/node_modules/lodash/fp/lte.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/lte.js rename to tools/node_modules/eslint/node_modules/lodash/fp/lte.js diff --git a/tools/eslint/node_modules/lodash/fp/map.js b/tools/node_modules/eslint/node_modules/lodash/fp/map.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/map.js rename to tools/node_modules/eslint/node_modules/lodash/fp/map.js diff --git a/tools/eslint/node_modules/lodash/fp/mapKeys.js b/tools/node_modules/eslint/node_modules/lodash/fp/mapKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mapKeys.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mapKeys.js diff --git a/tools/eslint/node_modules/lodash/fp/mapValues.js b/tools/node_modules/eslint/node_modules/lodash/fp/mapValues.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mapValues.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mapValues.js diff --git a/tools/eslint/node_modules/lodash/fp/matches.js b/tools/node_modules/eslint/node_modules/lodash/fp/matches.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/matches.js rename to tools/node_modules/eslint/node_modules/lodash/fp/matches.js diff --git a/tools/eslint/node_modules/lodash/fp/matchesProperty.js b/tools/node_modules/eslint/node_modules/lodash/fp/matchesProperty.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/matchesProperty.js rename to tools/node_modules/eslint/node_modules/lodash/fp/matchesProperty.js diff --git a/tools/eslint/node_modules/lodash/fp/math.js b/tools/node_modules/eslint/node_modules/lodash/fp/math.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/math.js rename to tools/node_modules/eslint/node_modules/lodash/fp/math.js diff --git a/tools/eslint/node_modules/lodash/fp/max.js b/tools/node_modules/eslint/node_modules/lodash/fp/max.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/max.js rename to tools/node_modules/eslint/node_modules/lodash/fp/max.js diff --git a/tools/eslint/node_modules/lodash/fp/maxBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/maxBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/maxBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/maxBy.js diff --git a/tools/eslint/node_modules/lodash/fp/mean.js b/tools/node_modules/eslint/node_modules/lodash/fp/mean.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mean.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mean.js diff --git a/tools/eslint/node_modules/lodash/fp/meanBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/meanBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/meanBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/meanBy.js diff --git a/tools/eslint/node_modules/lodash/fp/memoize.js b/tools/node_modules/eslint/node_modules/lodash/fp/memoize.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/memoize.js rename to tools/node_modules/eslint/node_modules/lodash/fp/memoize.js diff --git a/tools/eslint/node_modules/lodash/fp/merge.js b/tools/node_modules/eslint/node_modules/lodash/fp/merge.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/merge.js rename to tools/node_modules/eslint/node_modules/lodash/fp/merge.js diff --git a/tools/eslint/node_modules/lodash/fp/mergeAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/mergeAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mergeAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mergeAll.js diff --git a/tools/eslint/node_modules/lodash/fp/mergeAllWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/mergeAllWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mergeAllWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mergeAllWith.js diff --git a/tools/eslint/node_modules/lodash/fp/mergeWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/mergeWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mergeWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mergeWith.js diff --git a/tools/eslint/node_modules/lodash/fp/method.js b/tools/node_modules/eslint/node_modules/lodash/fp/method.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/method.js rename to tools/node_modules/eslint/node_modules/lodash/fp/method.js diff --git a/tools/eslint/node_modules/lodash/fp/methodOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/methodOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/methodOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/methodOf.js diff --git a/tools/eslint/node_modules/lodash/fp/min.js b/tools/node_modules/eslint/node_modules/lodash/fp/min.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/min.js rename to tools/node_modules/eslint/node_modules/lodash/fp/min.js diff --git a/tools/eslint/node_modules/lodash/fp/minBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/minBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/minBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/minBy.js diff --git a/tools/eslint/node_modules/lodash/fp/mixin.js b/tools/node_modules/eslint/node_modules/lodash/fp/mixin.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/mixin.js rename to tools/node_modules/eslint/node_modules/lodash/fp/mixin.js diff --git a/tools/eslint/node_modules/lodash/fp/multiply.js b/tools/node_modules/eslint/node_modules/lodash/fp/multiply.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/multiply.js rename to tools/node_modules/eslint/node_modules/lodash/fp/multiply.js diff --git a/tools/eslint/node_modules/lodash/fp/nAry.js b/tools/node_modules/eslint/node_modules/lodash/fp/nAry.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/nAry.js rename to tools/node_modules/eslint/node_modules/lodash/fp/nAry.js diff --git a/tools/eslint/node_modules/lodash/fp/negate.js b/tools/node_modules/eslint/node_modules/lodash/fp/negate.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/negate.js rename to tools/node_modules/eslint/node_modules/lodash/fp/negate.js diff --git a/tools/eslint/node_modules/lodash/fp/next.js b/tools/node_modules/eslint/node_modules/lodash/fp/next.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/next.js rename to tools/node_modules/eslint/node_modules/lodash/fp/next.js diff --git a/tools/eslint/node_modules/lodash/fp/noop.js b/tools/node_modules/eslint/node_modules/lodash/fp/noop.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/noop.js rename to tools/node_modules/eslint/node_modules/lodash/fp/noop.js diff --git a/tools/eslint/node_modules/lodash/fp/now.js b/tools/node_modules/eslint/node_modules/lodash/fp/now.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/now.js rename to tools/node_modules/eslint/node_modules/lodash/fp/now.js diff --git a/tools/eslint/node_modules/lodash/fp/nth.js b/tools/node_modules/eslint/node_modules/lodash/fp/nth.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/nth.js rename to tools/node_modules/eslint/node_modules/lodash/fp/nth.js diff --git a/tools/eslint/node_modules/lodash/fp/nthArg.js b/tools/node_modules/eslint/node_modules/lodash/fp/nthArg.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/nthArg.js rename to tools/node_modules/eslint/node_modules/lodash/fp/nthArg.js diff --git a/tools/eslint/node_modules/lodash/fp/number.js b/tools/node_modules/eslint/node_modules/lodash/fp/number.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/number.js rename to tools/node_modules/eslint/node_modules/lodash/fp/number.js diff --git a/tools/eslint/node_modules/lodash/fp/object.js b/tools/node_modules/eslint/node_modules/lodash/fp/object.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/object.js rename to tools/node_modules/eslint/node_modules/lodash/fp/object.js diff --git a/tools/eslint/node_modules/lodash/fp/omit.js b/tools/node_modules/eslint/node_modules/lodash/fp/omit.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/omit.js rename to tools/node_modules/eslint/node_modules/lodash/fp/omit.js diff --git a/tools/eslint/node_modules/lodash/fp/omitAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/omitAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/omitAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/omitAll.js diff --git a/tools/eslint/node_modules/lodash/fp/omitBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/omitBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/omitBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/omitBy.js diff --git a/tools/eslint/node_modules/lodash/fp/once.js b/tools/node_modules/eslint/node_modules/lodash/fp/once.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/once.js rename to tools/node_modules/eslint/node_modules/lodash/fp/once.js diff --git a/tools/eslint/node_modules/lodash/fp/orderBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/orderBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/orderBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/orderBy.js diff --git a/tools/eslint/node_modules/lodash/fp/over.js b/tools/node_modules/eslint/node_modules/lodash/fp/over.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/over.js rename to tools/node_modules/eslint/node_modules/lodash/fp/over.js diff --git a/tools/eslint/node_modules/lodash/fp/overArgs.js b/tools/node_modules/eslint/node_modules/lodash/fp/overArgs.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/overArgs.js rename to tools/node_modules/eslint/node_modules/lodash/fp/overArgs.js diff --git a/tools/eslint/node_modules/lodash/fp/overEvery.js b/tools/node_modules/eslint/node_modules/lodash/fp/overEvery.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/overEvery.js rename to tools/node_modules/eslint/node_modules/lodash/fp/overEvery.js diff --git a/tools/eslint/node_modules/lodash/fp/overSome.js b/tools/node_modules/eslint/node_modules/lodash/fp/overSome.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/overSome.js rename to tools/node_modules/eslint/node_modules/lodash/fp/overSome.js diff --git a/tools/eslint/node_modules/lodash/fp/pad.js b/tools/node_modules/eslint/node_modules/lodash/fp/pad.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pad.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pad.js diff --git a/tools/eslint/node_modules/lodash/fp/padChars.js b/tools/node_modules/eslint/node_modules/lodash/fp/padChars.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/padChars.js rename to tools/node_modules/eslint/node_modules/lodash/fp/padChars.js diff --git a/tools/eslint/node_modules/lodash/fp/padCharsEnd.js b/tools/node_modules/eslint/node_modules/lodash/fp/padCharsEnd.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/padCharsEnd.js rename to tools/node_modules/eslint/node_modules/lodash/fp/padCharsEnd.js diff --git a/tools/eslint/node_modules/lodash/fp/padCharsStart.js b/tools/node_modules/eslint/node_modules/lodash/fp/padCharsStart.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/padCharsStart.js rename to tools/node_modules/eslint/node_modules/lodash/fp/padCharsStart.js diff --git a/tools/eslint/node_modules/lodash/fp/padEnd.js b/tools/node_modules/eslint/node_modules/lodash/fp/padEnd.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/padEnd.js rename to tools/node_modules/eslint/node_modules/lodash/fp/padEnd.js diff --git a/tools/eslint/node_modules/lodash/fp/padStart.js b/tools/node_modules/eslint/node_modules/lodash/fp/padStart.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/padStart.js rename to tools/node_modules/eslint/node_modules/lodash/fp/padStart.js diff --git a/tools/eslint/node_modules/lodash/fp/parseInt.js b/tools/node_modules/eslint/node_modules/lodash/fp/parseInt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/parseInt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/parseInt.js diff --git a/tools/eslint/node_modules/lodash/fp/partial.js b/tools/node_modules/eslint/node_modules/lodash/fp/partial.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/partial.js rename to tools/node_modules/eslint/node_modules/lodash/fp/partial.js diff --git a/tools/eslint/node_modules/lodash/fp/partialRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/partialRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/partialRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/partialRight.js diff --git a/tools/eslint/node_modules/lodash/fp/partition.js b/tools/node_modules/eslint/node_modules/lodash/fp/partition.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/partition.js rename to tools/node_modules/eslint/node_modules/lodash/fp/partition.js diff --git a/tools/eslint/node_modules/lodash/fp/path.js b/tools/node_modules/eslint/node_modules/lodash/fp/path.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/path.js rename to tools/node_modules/eslint/node_modules/lodash/fp/path.js diff --git a/tools/eslint/node_modules/lodash/fp/pathEq.js b/tools/node_modules/eslint/node_modules/lodash/fp/pathEq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pathEq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pathEq.js diff --git a/tools/eslint/node_modules/lodash/fp/pathOr.js b/tools/node_modules/eslint/node_modules/lodash/fp/pathOr.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pathOr.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pathOr.js diff --git a/tools/eslint/node_modules/lodash/fp/paths.js b/tools/node_modules/eslint/node_modules/lodash/fp/paths.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/paths.js rename to tools/node_modules/eslint/node_modules/lodash/fp/paths.js diff --git a/tools/eslint/node_modules/lodash/fp/pick.js b/tools/node_modules/eslint/node_modules/lodash/fp/pick.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pick.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pick.js diff --git a/tools/eslint/node_modules/lodash/fp/pickAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/pickAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pickAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pickAll.js diff --git a/tools/eslint/node_modules/lodash/fp/pickBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/pickBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pickBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pickBy.js diff --git a/tools/eslint/node_modules/lodash/fp/pipe.js b/tools/node_modules/eslint/node_modules/lodash/fp/pipe.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pipe.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pipe.js diff --git a/tools/eslint/node_modules/lodash/fp/placeholder.js b/tools/node_modules/eslint/node_modules/lodash/fp/placeholder.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/placeholder.js rename to tools/node_modules/eslint/node_modules/lodash/fp/placeholder.js diff --git a/tools/eslint/node_modules/lodash/fp/plant.js b/tools/node_modules/eslint/node_modules/lodash/fp/plant.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/plant.js rename to tools/node_modules/eslint/node_modules/lodash/fp/plant.js diff --git a/tools/eslint/node_modules/lodash/fp/pluck.js b/tools/node_modules/eslint/node_modules/lodash/fp/pluck.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pluck.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pluck.js diff --git a/tools/eslint/node_modules/lodash/fp/prop.js b/tools/node_modules/eslint/node_modules/lodash/fp/prop.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/prop.js rename to tools/node_modules/eslint/node_modules/lodash/fp/prop.js diff --git a/tools/eslint/node_modules/lodash/fp/propEq.js b/tools/node_modules/eslint/node_modules/lodash/fp/propEq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/propEq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/propEq.js diff --git a/tools/eslint/node_modules/lodash/fp/propOr.js b/tools/node_modules/eslint/node_modules/lodash/fp/propOr.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/propOr.js rename to tools/node_modules/eslint/node_modules/lodash/fp/propOr.js diff --git a/tools/eslint/node_modules/lodash/fp/property.js b/tools/node_modules/eslint/node_modules/lodash/fp/property.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/property.js rename to tools/node_modules/eslint/node_modules/lodash/fp/property.js diff --git a/tools/eslint/node_modules/lodash/fp/propertyOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/propertyOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/propertyOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/propertyOf.js diff --git a/tools/eslint/node_modules/lodash/fp/props.js b/tools/node_modules/eslint/node_modules/lodash/fp/props.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/props.js rename to tools/node_modules/eslint/node_modules/lodash/fp/props.js diff --git a/tools/eslint/node_modules/lodash/fp/pull.js b/tools/node_modules/eslint/node_modules/lodash/fp/pull.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pull.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pull.js diff --git a/tools/eslint/node_modules/lodash/fp/pullAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/pullAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pullAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pullAll.js diff --git a/tools/eslint/node_modules/lodash/fp/pullAllBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/pullAllBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pullAllBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pullAllBy.js diff --git a/tools/eslint/node_modules/lodash/fp/pullAllWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/pullAllWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pullAllWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pullAllWith.js diff --git a/tools/eslint/node_modules/lodash/fp/pullAt.js b/tools/node_modules/eslint/node_modules/lodash/fp/pullAt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/pullAt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/pullAt.js diff --git a/tools/eslint/node_modules/lodash/fp/random.js b/tools/node_modules/eslint/node_modules/lodash/fp/random.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/random.js rename to tools/node_modules/eslint/node_modules/lodash/fp/random.js diff --git a/tools/eslint/node_modules/lodash/fp/range.js b/tools/node_modules/eslint/node_modules/lodash/fp/range.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/range.js rename to tools/node_modules/eslint/node_modules/lodash/fp/range.js diff --git a/tools/eslint/node_modules/lodash/fp/rangeRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/rangeRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/rangeRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/rangeRight.js diff --git a/tools/eslint/node_modules/lodash/fp/rangeStep.js b/tools/node_modules/eslint/node_modules/lodash/fp/rangeStep.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/rangeStep.js rename to tools/node_modules/eslint/node_modules/lodash/fp/rangeStep.js diff --git a/tools/eslint/node_modules/lodash/fp/rangeStepRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/rangeStepRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/rangeStepRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/rangeStepRight.js diff --git a/tools/eslint/node_modules/lodash/fp/rearg.js b/tools/node_modules/eslint/node_modules/lodash/fp/rearg.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/rearg.js rename to tools/node_modules/eslint/node_modules/lodash/fp/rearg.js diff --git a/tools/eslint/node_modules/lodash/fp/reduce.js b/tools/node_modules/eslint/node_modules/lodash/fp/reduce.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/reduce.js rename to tools/node_modules/eslint/node_modules/lodash/fp/reduce.js diff --git a/tools/eslint/node_modules/lodash/fp/reduceRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/reduceRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/reduceRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/reduceRight.js diff --git a/tools/eslint/node_modules/lodash/fp/reject.js b/tools/node_modules/eslint/node_modules/lodash/fp/reject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/reject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/reject.js diff --git a/tools/eslint/node_modules/lodash/fp/remove.js b/tools/node_modules/eslint/node_modules/lodash/fp/remove.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/remove.js rename to tools/node_modules/eslint/node_modules/lodash/fp/remove.js diff --git a/tools/eslint/node_modules/lodash/fp/repeat.js b/tools/node_modules/eslint/node_modules/lodash/fp/repeat.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/repeat.js rename to tools/node_modules/eslint/node_modules/lodash/fp/repeat.js diff --git a/tools/eslint/node_modules/lodash/fp/replace.js b/tools/node_modules/eslint/node_modules/lodash/fp/replace.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/replace.js rename to tools/node_modules/eslint/node_modules/lodash/fp/replace.js diff --git a/tools/eslint/node_modules/lodash/fp/rest.js b/tools/node_modules/eslint/node_modules/lodash/fp/rest.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/rest.js rename to tools/node_modules/eslint/node_modules/lodash/fp/rest.js diff --git a/tools/eslint/node_modules/lodash/fp/restFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/restFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/restFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/restFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/result.js b/tools/node_modules/eslint/node_modules/lodash/fp/result.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/result.js rename to tools/node_modules/eslint/node_modules/lodash/fp/result.js diff --git a/tools/eslint/node_modules/lodash/fp/reverse.js b/tools/node_modules/eslint/node_modules/lodash/fp/reverse.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/reverse.js rename to tools/node_modules/eslint/node_modules/lodash/fp/reverse.js diff --git a/tools/eslint/node_modules/lodash/fp/round.js b/tools/node_modules/eslint/node_modules/lodash/fp/round.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/round.js rename to tools/node_modules/eslint/node_modules/lodash/fp/round.js diff --git a/tools/eslint/node_modules/lodash/fp/sample.js b/tools/node_modules/eslint/node_modules/lodash/fp/sample.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sample.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sample.js diff --git a/tools/eslint/node_modules/lodash/fp/sampleSize.js b/tools/node_modules/eslint/node_modules/lodash/fp/sampleSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sampleSize.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sampleSize.js diff --git a/tools/eslint/node_modules/lodash/fp/seq.js b/tools/node_modules/eslint/node_modules/lodash/fp/seq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/seq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/seq.js diff --git a/tools/eslint/node_modules/lodash/fp/set.js b/tools/node_modules/eslint/node_modules/lodash/fp/set.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/set.js rename to tools/node_modules/eslint/node_modules/lodash/fp/set.js diff --git a/tools/eslint/node_modules/lodash/fp/setWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/setWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/setWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/setWith.js diff --git a/tools/eslint/node_modules/lodash/fp/shuffle.js b/tools/node_modules/eslint/node_modules/lodash/fp/shuffle.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/shuffle.js rename to tools/node_modules/eslint/node_modules/lodash/fp/shuffle.js diff --git a/tools/eslint/node_modules/lodash/fp/size.js b/tools/node_modules/eslint/node_modules/lodash/fp/size.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/size.js rename to tools/node_modules/eslint/node_modules/lodash/fp/size.js diff --git a/tools/eslint/node_modules/lodash/fp/slice.js b/tools/node_modules/eslint/node_modules/lodash/fp/slice.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/slice.js rename to tools/node_modules/eslint/node_modules/lodash/fp/slice.js diff --git a/tools/eslint/node_modules/lodash/fp/snakeCase.js b/tools/node_modules/eslint/node_modules/lodash/fp/snakeCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/snakeCase.js rename to tools/node_modules/eslint/node_modules/lodash/fp/snakeCase.js diff --git a/tools/eslint/node_modules/lodash/fp/some.js b/tools/node_modules/eslint/node_modules/lodash/fp/some.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/some.js rename to tools/node_modules/eslint/node_modules/lodash/fp/some.js diff --git a/tools/eslint/node_modules/lodash/fp/sortBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortBy.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedIndex.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedIndex.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedIndex.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedIndexBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedIndexBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedIndexBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedIndexBy.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedIndexOf.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedLastIndex.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedLastIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedLastIndex.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedLastIndex.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedLastIndexBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedLastIndexBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedLastIndexBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedLastIndexBy.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedLastIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedLastIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedLastIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedLastIndexOf.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedUniq.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedUniq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedUniq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedUniq.js diff --git a/tools/eslint/node_modules/lodash/fp/sortedUniqBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/sortedUniqBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sortedUniqBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sortedUniqBy.js diff --git a/tools/eslint/node_modules/lodash/fp/split.js b/tools/node_modules/eslint/node_modules/lodash/fp/split.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/split.js rename to tools/node_modules/eslint/node_modules/lodash/fp/split.js diff --git a/tools/eslint/node_modules/lodash/fp/spread.js b/tools/node_modules/eslint/node_modules/lodash/fp/spread.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/spread.js rename to tools/node_modules/eslint/node_modules/lodash/fp/spread.js diff --git a/tools/eslint/node_modules/lodash/fp/spreadFrom.js b/tools/node_modules/eslint/node_modules/lodash/fp/spreadFrom.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/spreadFrom.js rename to tools/node_modules/eslint/node_modules/lodash/fp/spreadFrom.js diff --git a/tools/eslint/node_modules/lodash/fp/startCase.js b/tools/node_modules/eslint/node_modules/lodash/fp/startCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/startCase.js rename to tools/node_modules/eslint/node_modules/lodash/fp/startCase.js diff --git a/tools/eslint/node_modules/lodash/fp/startsWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/startsWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/startsWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/startsWith.js diff --git a/tools/eslint/node_modules/lodash/fp/string.js b/tools/node_modules/eslint/node_modules/lodash/fp/string.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/string.js rename to tools/node_modules/eslint/node_modules/lodash/fp/string.js diff --git a/tools/eslint/node_modules/lodash/fp/stubArray.js b/tools/node_modules/eslint/node_modules/lodash/fp/stubArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/stubArray.js rename to tools/node_modules/eslint/node_modules/lodash/fp/stubArray.js diff --git a/tools/eslint/node_modules/lodash/fp/stubFalse.js b/tools/node_modules/eslint/node_modules/lodash/fp/stubFalse.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/stubFalse.js rename to tools/node_modules/eslint/node_modules/lodash/fp/stubFalse.js diff --git a/tools/eslint/node_modules/lodash/fp/stubObject.js b/tools/node_modules/eslint/node_modules/lodash/fp/stubObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/stubObject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/stubObject.js diff --git a/tools/eslint/node_modules/lodash/fp/stubString.js b/tools/node_modules/eslint/node_modules/lodash/fp/stubString.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/stubString.js rename to tools/node_modules/eslint/node_modules/lodash/fp/stubString.js diff --git a/tools/eslint/node_modules/lodash/fp/stubTrue.js b/tools/node_modules/eslint/node_modules/lodash/fp/stubTrue.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/stubTrue.js rename to tools/node_modules/eslint/node_modules/lodash/fp/stubTrue.js diff --git a/tools/eslint/node_modules/lodash/fp/subtract.js b/tools/node_modules/eslint/node_modules/lodash/fp/subtract.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/subtract.js rename to tools/node_modules/eslint/node_modules/lodash/fp/subtract.js diff --git a/tools/eslint/node_modules/lodash/fp/sum.js b/tools/node_modules/eslint/node_modules/lodash/fp/sum.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sum.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sum.js diff --git a/tools/eslint/node_modules/lodash/fp/sumBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/sumBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/sumBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/sumBy.js diff --git a/tools/eslint/node_modules/lodash/fp/symmetricDifference.js b/tools/node_modules/eslint/node_modules/lodash/fp/symmetricDifference.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/symmetricDifference.js rename to tools/node_modules/eslint/node_modules/lodash/fp/symmetricDifference.js diff --git a/tools/eslint/node_modules/lodash/fp/symmetricDifferenceBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/symmetricDifferenceBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/symmetricDifferenceBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/symmetricDifferenceBy.js diff --git a/tools/eslint/node_modules/lodash/fp/symmetricDifferenceWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/symmetricDifferenceWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/symmetricDifferenceWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/symmetricDifferenceWith.js diff --git a/tools/eslint/node_modules/lodash/fp/tail.js b/tools/node_modules/eslint/node_modules/lodash/fp/tail.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/tail.js rename to tools/node_modules/eslint/node_modules/lodash/fp/tail.js diff --git a/tools/eslint/node_modules/lodash/fp/take.js b/tools/node_modules/eslint/node_modules/lodash/fp/take.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/take.js rename to tools/node_modules/eslint/node_modules/lodash/fp/take.js diff --git a/tools/eslint/node_modules/lodash/fp/takeLast.js b/tools/node_modules/eslint/node_modules/lodash/fp/takeLast.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/takeLast.js rename to tools/node_modules/eslint/node_modules/lodash/fp/takeLast.js diff --git a/tools/eslint/node_modules/lodash/fp/takeLastWhile.js b/tools/node_modules/eslint/node_modules/lodash/fp/takeLastWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/takeLastWhile.js rename to tools/node_modules/eslint/node_modules/lodash/fp/takeLastWhile.js diff --git a/tools/eslint/node_modules/lodash/fp/takeRight.js b/tools/node_modules/eslint/node_modules/lodash/fp/takeRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/takeRight.js rename to tools/node_modules/eslint/node_modules/lodash/fp/takeRight.js diff --git a/tools/eslint/node_modules/lodash/fp/takeRightWhile.js b/tools/node_modules/eslint/node_modules/lodash/fp/takeRightWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/takeRightWhile.js rename to tools/node_modules/eslint/node_modules/lodash/fp/takeRightWhile.js diff --git a/tools/eslint/node_modules/lodash/fp/takeWhile.js b/tools/node_modules/eslint/node_modules/lodash/fp/takeWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/takeWhile.js rename to tools/node_modules/eslint/node_modules/lodash/fp/takeWhile.js diff --git a/tools/eslint/node_modules/lodash/fp/tap.js b/tools/node_modules/eslint/node_modules/lodash/fp/tap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/tap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/tap.js diff --git a/tools/eslint/node_modules/lodash/fp/template.js b/tools/node_modules/eslint/node_modules/lodash/fp/template.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/template.js rename to tools/node_modules/eslint/node_modules/lodash/fp/template.js diff --git a/tools/eslint/node_modules/lodash/fp/templateSettings.js b/tools/node_modules/eslint/node_modules/lodash/fp/templateSettings.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/templateSettings.js rename to tools/node_modules/eslint/node_modules/lodash/fp/templateSettings.js diff --git a/tools/eslint/node_modules/lodash/fp/throttle.js b/tools/node_modules/eslint/node_modules/lodash/fp/throttle.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/throttle.js rename to tools/node_modules/eslint/node_modules/lodash/fp/throttle.js diff --git a/tools/eslint/node_modules/lodash/fp/thru.js b/tools/node_modules/eslint/node_modules/lodash/fp/thru.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/thru.js rename to tools/node_modules/eslint/node_modules/lodash/fp/thru.js diff --git a/tools/eslint/node_modules/lodash/fp/times.js b/tools/node_modules/eslint/node_modules/lodash/fp/times.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/times.js rename to tools/node_modules/eslint/node_modules/lodash/fp/times.js diff --git a/tools/eslint/node_modules/lodash/fp/toArray.js b/tools/node_modules/eslint/node_modules/lodash/fp/toArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toArray.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toArray.js diff --git a/tools/eslint/node_modules/lodash/fp/toFinite.js b/tools/node_modules/eslint/node_modules/lodash/fp/toFinite.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toFinite.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toFinite.js diff --git a/tools/eslint/node_modules/lodash/fp/toInteger.js b/tools/node_modules/eslint/node_modules/lodash/fp/toInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toInteger.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toInteger.js diff --git a/tools/eslint/node_modules/lodash/fp/toIterator.js b/tools/node_modules/eslint/node_modules/lodash/fp/toIterator.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toIterator.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toIterator.js diff --git a/tools/eslint/node_modules/lodash/fp/toJSON.js b/tools/node_modules/eslint/node_modules/lodash/fp/toJSON.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toJSON.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toJSON.js diff --git a/tools/eslint/node_modules/lodash/fp/toLength.js b/tools/node_modules/eslint/node_modules/lodash/fp/toLength.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toLength.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toLength.js diff --git a/tools/eslint/node_modules/lodash/fp/toLower.js b/tools/node_modules/eslint/node_modules/lodash/fp/toLower.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toLower.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toLower.js diff --git a/tools/eslint/node_modules/lodash/fp/toNumber.js b/tools/node_modules/eslint/node_modules/lodash/fp/toNumber.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toNumber.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toNumber.js diff --git a/tools/eslint/node_modules/lodash/fp/toPairs.js b/tools/node_modules/eslint/node_modules/lodash/fp/toPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toPairs.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toPairs.js diff --git a/tools/eslint/node_modules/lodash/fp/toPairsIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/toPairsIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toPairsIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toPairsIn.js diff --git a/tools/eslint/node_modules/lodash/fp/toPath.js b/tools/node_modules/eslint/node_modules/lodash/fp/toPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toPath.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toPath.js diff --git a/tools/eslint/node_modules/lodash/fp/toPlainObject.js b/tools/node_modules/eslint/node_modules/lodash/fp/toPlainObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toPlainObject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toPlainObject.js diff --git a/tools/eslint/node_modules/lodash/fp/toSafeInteger.js b/tools/node_modules/eslint/node_modules/lodash/fp/toSafeInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toSafeInteger.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toSafeInteger.js diff --git a/tools/eslint/node_modules/lodash/fp/toString.js b/tools/node_modules/eslint/node_modules/lodash/fp/toString.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toString.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toString.js diff --git a/tools/eslint/node_modules/lodash/fp/toUpper.js b/tools/node_modules/eslint/node_modules/lodash/fp/toUpper.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/toUpper.js rename to tools/node_modules/eslint/node_modules/lodash/fp/toUpper.js diff --git a/tools/eslint/node_modules/lodash/fp/transform.js b/tools/node_modules/eslint/node_modules/lodash/fp/transform.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/transform.js rename to tools/node_modules/eslint/node_modules/lodash/fp/transform.js diff --git a/tools/eslint/node_modules/lodash/fp/trim.js b/tools/node_modules/eslint/node_modules/lodash/fp/trim.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/trim.js rename to tools/node_modules/eslint/node_modules/lodash/fp/trim.js diff --git a/tools/eslint/node_modules/lodash/fp/trimChars.js b/tools/node_modules/eslint/node_modules/lodash/fp/trimChars.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/trimChars.js rename to tools/node_modules/eslint/node_modules/lodash/fp/trimChars.js diff --git a/tools/eslint/node_modules/lodash/fp/trimCharsEnd.js b/tools/node_modules/eslint/node_modules/lodash/fp/trimCharsEnd.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/trimCharsEnd.js rename to tools/node_modules/eslint/node_modules/lodash/fp/trimCharsEnd.js diff --git a/tools/eslint/node_modules/lodash/fp/trimCharsStart.js b/tools/node_modules/eslint/node_modules/lodash/fp/trimCharsStart.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/trimCharsStart.js rename to tools/node_modules/eslint/node_modules/lodash/fp/trimCharsStart.js diff --git a/tools/eslint/node_modules/lodash/fp/trimEnd.js b/tools/node_modules/eslint/node_modules/lodash/fp/trimEnd.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/trimEnd.js rename to tools/node_modules/eslint/node_modules/lodash/fp/trimEnd.js diff --git a/tools/eslint/node_modules/lodash/fp/trimStart.js b/tools/node_modules/eslint/node_modules/lodash/fp/trimStart.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/trimStart.js rename to tools/node_modules/eslint/node_modules/lodash/fp/trimStart.js diff --git a/tools/eslint/node_modules/lodash/fp/truncate.js b/tools/node_modules/eslint/node_modules/lodash/fp/truncate.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/truncate.js rename to tools/node_modules/eslint/node_modules/lodash/fp/truncate.js diff --git a/tools/eslint/node_modules/lodash/fp/unapply.js b/tools/node_modules/eslint/node_modules/lodash/fp/unapply.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unapply.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unapply.js diff --git a/tools/eslint/node_modules/lodash/fp/unary.js b/tools/node_modules/eslint/node_modules/lodash/fp/unary.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unary.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unary.js diff --git a/tools/eslint/node_modules/lodash/fp/unescape.js b/tools/node_modules/eslint/node_modules/lodash/fp/unescape.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unescape.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unescape.js diff --git a/tools/eslint/node_modules/lodash/fp/union.js b/tools/node_modules/eslint/node_modules/lodash/fp/union.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/union.js rename to tools/node_modules/eslint/node_modules/lodash/fp/union.js diff --git a/tools/eslint/node_modules/lodash/fp/unionBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/unionBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unionBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unionBy.js diff --git a/tools/eslint/node_modules/lodash/fp/unionWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/unionWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unionWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unionWith.js diff --git a/tools/eslint/node_modules/lodash/fp/uniq.js b/tools/node_modules/eslint/node_modules/lodash/fp/uniq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/uniq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/uniq.js diff --git a/tools/eslint/node_modules/lodash/fp/uniqBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/uniqBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/uniqBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/uniqBy.js diff --git a/tools/eslint/node_modules/lodash/fp/uniqWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/uniqWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/uniqWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/uniqWith.js diff --git a/tools/eslint/node_modules/lodash/fp/uniqueId.js b/tools/node_modules/eslint/node_modules/lodash/fp/uniqueId.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/uniqueId.js rename to tools/node_modules/eslint/node_modules/lodash/fp/uniqueId.js diff --git a/tools/eslint/node_modules/lodash/fp/unnest.js b/tools/node_modules/eslint/node_modules/lodash/fp/unnest.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unnest.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unnest.js diff --git a/tools/eslint/node_modules/lodash/fp/unset.js b/tools/node_modules/eslint/node_modules/lodash/fp/unset.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unset.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unset.js diff --git a/tools/eslint/node_modules/lodash/fp/unzip.js b/tools/node_modules/eslint/node_modules/lodash/fp/unzip.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unzip.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unzip.js diff --git a/tools/eslint/node_modules/lodash/fp/unzipWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/unzipWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/unzipWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/unzipWith.js diff --git a/tools/eslint/node_modules/lodash/fp/update.js b/tools/node_modules/eslint/node_modules/lodash/fp/update.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/update.js rename to tools/node_modules/eslint/node_modules/lodash/fp/update.js diff --git a/tools/eslint/node_modules/lodash/fp/updateWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/updateWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/updateWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/updateWith.js diff --git a/tools/eslint/node_modules/lodash/fp/upperCase.js b/tools/node_modules/eslint/node_modules/lodash/fp/upperCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/upperCase.js rename to tools/node_modules/eslint/node_modules/lodash/fp/upperCase.js diff --git a/tools/eslint/node_modules/lodash/fp/upperFirst.js b/tools/node_modules/eslint/node_modules/lodash/fp/upperFirst.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/upperFirst.js rename to tools/node_modules/eslint/node_modules/lodash/fp/upperFirst.js diff --git a/tools/eslint/node_modules/lodash/fp/useWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/useWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/useWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/useWith.js diff --git a/tools/eslint/node_modules/lodash/fp/util.js b/tools/node_modules/eslint/node_modules/lodash/fp/util.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/util.js rename to tools/node_modules/eslint/node_modules/lodash/fp/util.js diff --git a/tools/eslint/node_modules/lodash/fp/value.js b/tools/node_modules/eslint/node_modules/lodash/fp/value.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/value.js rename to tools/node_modules/eslint/node_modules/lodash/fp/value.js diff --git a/tools/eslint/node_modules/lodash/fp/valueOf.js b/tools/node_modules/eslint/node_modules/lodash/fp/valueOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/valueOf.js rename to tools/node_modules/eslint/node_modules/lodash/fp/valueOf.js diff --git a/tools/eslint/node_modules/lodash/fp/values.js b/tools/node_modules/eslint/node_modules/lodash/fp/values.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/values.js rename to tools/node_modules/eslint/node_modules/lodash/fp/values.js diff --git a/tools/eslint/node_modules/lodash/fp/valuesIn.js b/tools/node_modules/eslint/node_modules/lodash/fp/valuesIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/valuesIn.js rename to tools/node_modules/eslint/node_modules/lodash/fp/valuesIn.js diff --git a/tools/eslint/node_modules/lodash/fp/where.js b/tools/node_modules/eslint/node_modules/lodash/fp/where.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/where.js rename to tools/node_modules/eslint/node_modules/lodash/fp/where.js diff --git a/tools/eslint/node_modules/lodash/fp/whereEq.js b/tools/node_modules/eslint/node_modules/lodash/fp/whereEq.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/whereEq.js rename to tools/node_modules/eslint/node_modules/lodash/fp/whereEq.js diff --git a/tools/eslint/node_modules/lodash/fp/without.js b/tools/node_modules/eslint/node_modules/lodash/fp/without.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/without.js rename to tools/node_modules/eslint/node_modules/lodash/fp/without.js diff --git a/tools/eslint/node_modules/lodash/fp/words.js b/tools/node_modules/eslint/node_modules/lodash/fp/words.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/words.js rename to tools/node_modules/eslint/node_modules/lodash/fp/words.js diff --git a/tools/eslint/node_modules/lodash/fp/wrap.js b/tools/node_modules/eslint/node_modules/lodash/fp/wrap.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/wrap.js rename to tools/node_modules/eslint/node_modules/lodash/fp/wrap.js diff --git a/tools/eslint/node_modules/lodash/fp/wrapperAt.js b/tools/node_modules/eslint/node_modules/lodash/fp/wrapperAt.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/wrapperAt.js rename to tools/node_modules/eslint/node_modules/lodash/fp/wrapperAt.js diff --git a/tools/eslint/node_modules/lodash/fp/wrapperChain.js b/tools/node_modules/eslint/node_modules/lodash/fp/wrapperChain.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/wrapperChain.js rename to tools/node_modules/eslint/node_modules/lodash/fp/wrapperChain.js diff --git a/tools/eslint/node_modules/lodash/fp/wrapperLodash.js b/tools/node_modules/eslint/node_modules/lodash/fp/wrapperLodash.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/wrapperLodash.js rename to tools/node_modules/eslint/node_modules/lodash/fp/wrapperLodash.js diff --git a/tools/eslint/node_modules/lodash/fp/wrapperReverse.js b/tools/node_modules/eslint/node_modules/lodash/fp/wrapperReverse.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/wrapperReverse.js rename to tools/node_modules/eslint/node_modules/lodash/fp/wrapperReverse.js diff --git a/tools/eslint/node_modules/lodash/fp/wrapperValue.js b/tools/node_modules/eslint/node_modules/lodash/fp/wrapperValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/wrapperValue.js rename to tools/node_modules/eslint/node_modules/lodash/fp/wrapperValue.js diff --git a/tools/eslint/node_modules/lodash/fp/xor.js b/tools/node_modules/eslint/node_modules/lodash/fp/xor.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/xor.js rename to tools/node_modules/eslint/node_modules/lodash/fp/xor.js diff --git a/tools/eslint/node_modules/lodash/fp/xorBy.js b/tools/node_modules/eslint/node_modules/lodash/fp/xorBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/xorBy.js rename to tools/node_modules/eslint/node_modules/lodash/fp/xorBy.js diff --git a/tools/eslint/node_modules/lodash/fp/xorWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/xorWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/xorWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/xorWith.js diff --git a/tools/eslint/node_modules/lodash/fp/zip.js b/tools/node_modules/eslint/node_modules/lodash/fp/zip.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/zip.js rename to tools/node_modules/eslint/node_modules/lodash/fp/zip.js diff --git a/tools/eslint/node_modules/lodash/fp/zipAll.js b/tools/node_modules/eslint/node_modules/lodash/fp/zipAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/zipAll.js rename to tools/node_modules/eslint/node_modules/lodash/fp/zipAll.js diff --git a/tools/eslint/node_modules/lodash/fp/zipObj.js b/tools/node_modules/eslint/node_modules/lodash/fp/zipObj.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/zipObj.js rename to tools/node_modules/eslint/node_modules/lodash/fp/zipObj.js diff --git a/tools/eslint/node_modules/lodash/fp/zipObject.js b/tools/node_modules/eslint/node_modules/lodash/fp/zipObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/zipObject.js rename to tools/node_modules/eslint/node_modules/lodash/fp/zipObject.js diff --git a/tools/eslint/node_modules/lodash/fp/zipObjectDeep.js b/tools/node_modules/eslint/node_modules/lodash/fp/zipObjectDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/zipObjectDeep.js rename to tools/node_modules/eslint/node_modules/lodash/fp/zipObjectDeep.js diff --git a/tools/eslint/node_modules/lodash/fp/zipWith.js b/tools/node_modules/eslint/node_modules/lodash/fp/zipWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/fp/zipWith.js rename to tools/node_modules/eslint/node_modules/lodash/fp/zipWith.js diff --git a/tools/eslint/node_modules/lodash/fromPairs.js b/tools/node_modules/eslint/node_modules/lodash/fromPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/fromPairs.js rename to tools/node_modules/eslint/node_modules/lodash/fromPairs.js diff --git a/tools/eslint/node_modules/lodash/function.js b/tools/node_modules/eslint/node_modules/lodash/function.js similarity index 100% rename from tools/eslint/node_modules/lodash/function.js rename to tools/node_modules/eslint/node_modules/lodash/function.js diff --git a/tools/eslint/node_modules/lodash/functions.js b/tools/node_modules/eslint/node_modules/lodash/functions.js similarity index 100% rename from tools/eslint/node_modules/lodash/functions.js rename to tools/node_modules/eslint/node_modules/lodash/functions.js diff --git a/tools/eslint/node_modules/lodash/functionsIn.js b/tools/node_modules/eslint/node_modules/lodash/functionsIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/functionsIn.js rename to tools/node_modules/eslint/node_modules/lodash/functionsIn.js diff --git a/tools/eslint/node_modules/lodash/get.js b/tools/node_modules/eslint/node_modules/lodash/get.js similarity index 100% rename from tools/eslint/node_modules/lodash/get.js rename to tools/node_modules/eslint/node_modules/lodash/get.js diff --git a/tools/eslint/node_modules/lodash/groupBy.js b/tools/node_modules/eslint/node_modules/lodash/groupBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/groupBy.js rename to tools/node_modules/eslint/node_modules/lodash/groupBy.js diff --git a/tools/eslint/node_modules/lodash/gt.js b/tools/node_modules/eslint/node_modules/lodash/gt.js similarity index 100% rename from tools/eslint/node_modules/lodash/gt.js rename to tools/node_modules/eslint/node_modules/lodash/gt.js diff --git a/tools/eslint/node_modules/lodash/gte.js b/tools/node_modules/eslint/node_modules/lodash/gte.js similarity index 100% rename from tools/eslint/node_modules/lodash/gte.js rename to tools/node_modules/eslint/node_modules/lodash/gte.js diff --git a/tools/eslint/node_modules/lodash/has.js b/tools/node_modules/eslint/node_modules/lodash/has.js similarity index 100% rename from tools/eslint/node_modules/lodash/has.js rename to tools/node_modules/eslint/node_modules/lodash/has.js diff --git a/tools/eslint/node_modules/lodash/hasIn.js b/tools/node_modules/eslint/node_modules/lodash/hasIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/hasIn.js rename to tools/node_modules/eslint/node_modules/lodash/hasIn.js diff --git a/tools/eslint/node_modules/lodash/head.js b/tools/node_modules/eslint/node_modules/lodash/head.js similarity index 100% rename from tools/eslint/node_modules/lodash/head.js rename to tools/node_modules/eslint/node_modules/lodash/head.js diff --git a/tools/eslint/node_modules/lodash/identity.js b/tools/node_modules/eslint/node_modules/lodash/identity.js similarity index 100% rename from tools/eslint/node_modules/lodash/identity.js rename to tools/node_modules/eslint/node_modules/lodash/identity.js diff --git a/tools/eslint/node_modules/lodash/inRange.js b/tools/node_modules/eslint/node_modules/lodash/inRange.js similarity index 100% rename from tools/eslint/node_modules/lodash/inRange.js rename to tools/node_modules/eslint/node_modules/lodash/inRange.js diff --git a/tools/eslint/node_modules/lodash/includes.js b/tools/node_modules/eslint/node_modules/lodash/includes.js similarity index 100% rename from tools/eslint/node_modules/lodash/includes.js rename to tools/node_modules/eslint/node_modules/lodash/includes.js diff --git a/tools/eslint/node_modules/lodash/index.js b/tools/node_modules/eslint/node_modules/lodash/index.js similarity index 100% rename from tools/eslint/node_modules/lodash/index.js rename to tools/node_modules/eslint/node_modules/lodash/index.js diff --git a/tools/eslint/node_modules/lodash/indexOf.js b/tools/node_modules/eslint/node_modules/lodash/indexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/indexOf.js rename to tools/node_modules/eslint/node_modules/lodash/indexOf.js diff --git a/tools/eslint/node_modules/lodash/initial.js b/tools/node_modules/eslint/node_modules/lodash/initial.js similarity index 100% rename from tools/eslint/node_modules/lodash/initial.js rename to tools/node_modules/eslint/node_modules/lodash/initial.js diff --git a/tools/eslint/node_modules/lodash/intersection.js b/tools/node_modules/eslint/node_modules/lodash/intersection.js similarity index 100% rename from tools/eslint/node_modules/lodash/intersection.js rename to tools/node_modules/eslint/node_modules/lodash/intersection.js diff --git a/tools/eslint/node_modules/lodash/intersectionBy.js b/tools/node_modules/eslint/node_modules/lodash/intersectionBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/intersectionBy.js rename to tools/node_modules/eslint/node_modules/lodash/intersectionBy.js diff --git a/tools/eslint/node_modules/lodash/intersectionWith.js b/tools/node_modules/eslint/node_modules/lodash/intersectionWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/intersectionWith.js rename to tools/node_modules/eslint/node_modules/lodash/intersectionWith.js diff --git a/tools/eslint/node_modules/lodash/invert.js b/tools/node_modules/eslint/node_modules/lodash/invert.js similarity index 100% rename from tools/eslint/node_modules/lodash/invert.js rename to tools/node_modules/eslint/node_modules/lodash/invert.js diff --git a/tools/eslint/node_modules/lodash/invertBy.js b/tools/node_modules/eslint/node_modules/lodash/invertBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/invertBy.js rename to tools/node_modules/eslint/node_modules/lodash/invertBy.js diff --git a/tools/eslint/node_modules/lodash/invoke.js b/tools/node_modules/eslint/node_modules/lodash/invoke.js similarity index 100% rename from tools/eslint/node_modules/lodash/invoke.js rename to tools/node_modules/eslint/node_modules/lodash/invoke.js diff --git a/tools/eslint/node_modules/lodash/invokeMap.js b/tools/node_modules/eslint/node_modules/lodash/invokeMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/invokeMap.js rename to tools/node_modules/eslint/node_modules/lodash/invokeMap.js diff --git a/tools/eslint/node_modules/lodash/isArguments.js b/tools/node_modules/eslint/node_modules/lodash/isArguments.js similarity index 100% rename from tools/eslint/node_modules/lodash/isArguments.js rename to tools/node_modules/eslint/node_modules/lodash/isArguments.js diff --git a/tools/eslint/node_modules/lodash/isArray.js b/tools/node_modules/eslint/node_modules/lodash/isArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/isArray.js rename to tools/node_modules/eslint/node_modules/lodash/isArray.js diff --git a/tools/eslint/node_modules/lodash/isArrayBuffer.js b/tools/node_modules/eslint/node_modules/lodash/isArrayBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/isArrayBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/isArrayBuffer.js diff --git a/tools/eslint/node_modules/lodash/isArrayLike.js b/tools/node_modules/eslint/node_modules/lodash/isArrayLike.js similarity index 100% rename from tools/eslint/node_modules/lodash/isArrayLike.js rename to tools/node_modules/eslint/node_modules/lodash/isArrayLike.js diff --git a/tools/eslint/node_modules/lodash/isArrayLikeObject.js b/tools/node_modules/eslint/node_modules/lodash/isArrayLikeObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/isArrayLikeObject.js rename to tools/node_modules/eslint/node_modules/lodash/isArrayLikeObject.js diff --git a/tools/eslint/node_modules/lodash/isBoolean.js b/tools/node_modules/eslint/node_modules/lodash/isBoolean.js similarity index 100% rename from tools/eslint/node_modules/lodash/isBoolean.js rename to tools/node_modules/eslint/node_modules/lodash/isBoolean.js diff --git a/tools/eslint/node_modules/lodash/isBuffer.js b/tools/node_modules/eslint/node_modules/lodash/isBuffer.js similarity index 100% rename from tools/eslint/node_modules/lodash/isBuffer.js rename to tools/node_modules/eslint/node_modules/lodash/isBuffer.js diff --git a/tools/eslint/node_modules/lodash/isDate.js b/tools/node_modules/eslint/node_modules/lodash/isDate.js similarity index 100% rename from tools/eslint/node_modules/lodash/isDate.js rename to tools/node_modules/eslint/node_modules/lodash/isDate.js diff --git a/tools/eslint/node_modules/lodash/isElement.js b/tools/node_modules/eslint/node_modules/lodash/isElement.js similarity index 100% rename from tools/eslint/node_modules/lodash/isElement.js rename to tools/node_modules/eslint/node_modules/lodash/isElement.js diff --git a/tools/eslint/node_modules/lodash/isEmpty.js b/tools/node_modules/eslint/node_modules/lodash/isEmpty.js similarity index 100% rename from tools/eslint/node_modules/lodash/isEmpty.js rename to tools/node_modules/eslint/node_modules/lodash/isEmpty.js diff --git a/tools/eslint/node_modules/lodash/isEqual.js b/tools/node_modules/eslint/node_modules/lodash/isEqual.js similarity index 100% rename from tools/eslint/node_modules/lodash/isEqual.js rename to tools/node_modules/eslint/node_modules/lodash/isEqual.js diff --git a/tools/eslint/node_modules/lodash/isEqualWith.js b/tools/node_modules/eslint/node_modules/lodash/isEqualWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/isEqualWith.js rename to tools/node_modules/eslint/node_modules/lodash/isEqualWith.js diff --git a/tools/eslint/node_modules/lodash/isError.js b/tools/node_modules/eslint/node_modules/lodash/isError.js similarity index 100% rename from tools/eslint/node_modules/lodash/isError.js rename to tools/node_modules/eslint/node_modules/lodash/isError.js diff --git a/tools/eslint/node_modules/lodash/isFinite.js b/tools/node_modules/eslint/node_modules/lodash/isFinite.js similarity index 100% rename from tools/eslint/node_modules/lodash/isFinite.js rename to tools/node_modules/eslint/node_modules/lodash/isFinite.js diff --git a/tools/eslint/node_modules/lodash/isFunction.js b/tools/node_modules/eslint/node_modules/lodash/isFunction.js similarity index 100% rename from tools/eslint/node_modules/lodash/isFunction.js rename to tools/node_modules/eslint/node_modules/lodash/isFunction.js diff --git a/tools/eslint/node_modules/lodash/isInteger.js b/tools/node_modules/eslint/node_modules/lodash/isInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/isInteger.js rename to tools/node_modules/eslint/node_modules/lodash/isInteger.js diff --git a/tools/eslint/node_modules/lodash/isLength.js b/tools/node_modules/eslint/node_modules/lodash/isLength.js similarity index 100% rename from tools/eslint/node_modules/lodash/isLength.js rename to tools/node_modules/eslint/node_modules/lodash/isLength.js diff --git a/tools/eslint/node_modules/lodash/isMap.js b/tools/node_modules/eslint/node_modules/lodash/isMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/isMap.js rename to tools/node_modules/eslint/node_modules/lodash/isMap.js diff --git a/tools/eslint/node_modules/lodash/isMatch.js b/tools/node_modules/eslint/node_modules/lodash/isMatch.js similarity index 100% rename from tools/eslint/node_modules/lodash/isMatch.js rename to tools/node_modules/eslint/node_modules/lodash/isMatch.js diff --git a/tools/eslint/node_modules/lodash/isMatchWith.js b/tools/node_modules/eslint/node_modules/lodash/isMatchWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/isMatchWith.js rename to tools/node_modules/eslint/node_modules/lodash/isMatchWith.js diff --git a/tools/eslint/node_modules/lodash/isNaN.js b/tools/node_modules/eslint/node_modules/lodash/isNaN.js similarity index 100% rename from tools/eslint/node_modules/lodash/isNaN.js rename to tools/node_modules/eslint/node_modules/lodash/isNaN.js diff --git a/tools/eslint/node_modules/lodash/isNative.js b/tools/node_modules/eslint/node_modules/lodash/isNative.js similarity index 100% rename from tools/eslint/node_modules/lodash/isNative.js rename to tools/node_modules/eslint/node_modules/lodash/isNative.js diff --git a/tools/eslint/node_modules/lodash/isNil.js b/tools/node_modules/eslint/node_modules/lodash/isNil.js similarity index 100% rename from tools/eslint/node_modules/lodash/isNil.js rename to tools/node_modules/eslint/node_modules/lodash/isNil.js diff --git a/tools/eslint/node_modules/lodash/isNull.js b/tools/node_modules/eslint/node_modules/lodash/isNull.js similarity index 100% rename from tools/eslint/node_modules/lodash/isNull.js rename to tools/node_modules/eslint/node_modules/lodash/isNull.js diff --git a/tools/eslint/node_modules/lodash/isNumber.js b/tools/node_modules/eslint/node_modules/lodash/isNumber.js similarity index 100% rename from tools/eslint/node_modules/lodash/isNumber.js rename to tools/node_modules/eslint/node_modules/lodash/isNumber.js diff --git a/tools/eslint/node_modules/lodash/isObject.js b/tools/node_modules/eslint/node_modules/lodash/isObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/isObject.js rename to tools/node_modules/eslint/node_modules/lodash/isObject.js diff --git a/tools/eslint/node_modules/lodash/isObjectLike.js b/tools/node_modules/eslint/node_modules/lodash/isObjectLike.js similarity index 100% rename from tools/eslint/node_modules/lodash/isObjectLike.js rename to tools/node_modules/eslint/node_modules/lodash/isObjectLike.js diff --git a/tools/eslint/node_modules/lodash/isPlainObject.js b/tools/node_modules/eslint/node_modules/lodash/isPlainObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/isPlainObject.js rename to tools/node_modules/eslint/node_modules/lodash/isPlainObject.js diff --git a/tools/eslint/node_modules/lodash/isRegExp.js b/tools/node_modules/eslint/node_modules/lodash/isRegExp.js similarity index 100% rename from tools/eslint/node_modules/lodash/isRegExp.js rename to tools/node_modules/eslint/node_modules/lodash/isRegExp.js diff --git a/tools/eslint/node_modules/lodash/isSafeInteger.js b/tools/node_modules/eslint/node_modules/lodash/isSafeInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/isSafeInteger.js rename to tools/node_modules/eslint/node_modules/lodash/isSafeInteger.js diff --git a/tools/eslint/node_modules/lodash/isSet.js b/tools/node_modules/eslint/node_modules/lodash/isSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/isSet.js rename to tools/node_modules/eslint/node_modules/lodash/isSet.js diff --git a/tools/eslint/node_modules/lodash/isString.js b/tools/node_modules/eslint/node_modules/lodash/isString.js similarity index 100% rename from tools/eslint/node_modules/lodash/isString.js rename to tools/node_modules/eslint/node_modules/lodash/isString.js diff --git a/tools/eslint/node_modules/lodash/isSymbol.js b/tools/node_modules/eslint/node_modules/lodash/isSymbol.js similarity index 100% rename from tools/eslint/node_modules/lodash/isSymbol.js rename to tools/node_modules/eslint/node_modules/lodash/isSymbol.js diff --git a/tools/eslint/node_modules/lodash/isTypedArray.js b/tools/node_modules/eslint/node_modules/lodash/isTypedArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/isTypedArray.js rename to tools/node_modules/eslint/node_modules/lodash/isTypedArray.js diff --git a/tools/eslint/node_modules/lodash/isUndefined.js b/tools/node_modules/eslint/node_modules/lodash/isUndefined.js similarity index 100% rename from tools/eslint/node_modules/lodash/isUndefined.js rename to tools/node_modules/eslint/node_modules/lodash/isUndefined.js diff --git a/tools/eslint/node_modules/lodash/isWeakMap.js b/tools/node_modules/eslint/node_modules/lodash/isWeakMap.js similarity index 100% rename from tools/eslint/node_modules/lodash/isWeakMap.js rename to tools/node_modules/eslint/node_modules/lodash/isWeakMap.js diff --git a/tools/eslint/node_modules/lodash/isWeakSet.js b/tools/node_modules/eslint/node_modules/lodash/isWeakSet.js similarity index 100% rename from tools/eslint/node_modules/lodash/isWeakSet.js rename to tools/node_modules/eslint/node_modules/lodash/isWeakSet.js diff --git a/tools/eslint/node_modules/lodash/iteratee.js b/tools/node_modules/eslint/node_modules/lodash/iteratee.js similarity index 100% rename from tools/eslint/node_modules/lodash/iteratee.js rename to tools/node_modules/eslint/node_modules/lodash/iteratee.js diff --git a/tools/eslint/node_modules/lodash/join.js b/tools/node_modules/eslint/node_modules/lodash/join.js similarity index 100% rename from tools/eslint/node_modules/lodash/join.js rename to tools/node_modules/eslint/node_modules/lodash/join.js diff --git a/tools/eslint/node_modules/lodash/kebabCase.js b/tools/node_modules/eslint/node_modules/lodash/kebabCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/kebabCase.js rename to tools/node_modules/eslint/node_modules/lodash/kebabCase.js diff --git a/tools/eslint/node_modules/lodash/keyBy.js b/tools/node_modules/eslint/node_modules/lodash/keyBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/keyBy.js rename to tools/node_modules/eslint/node_modules/lodash/keyBy.js diff --git a/tools/eslint/node_modules/lodash/keys.js b/tools/node_modules/eslint/node_modules/lodash/keys.js similarity index 100% rename from tools/eslint/node_modules/lodash/keys.js rename to tools/node_modules/eslint/node_modules/lodash/keys.js diff --git a/tools/eslint/node_modules/lodash/keysIn.js b/tools/node_modules/eslint/node_modules/lodash/keysIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/keysIn.js rename to tools/node_modules/eslint/node_modules/lodash/keysIn.js diff --git a/tools/eslint/node_modules/lodash/lang.js b/tools/node_modules/eslint/node_modules/lodash/lang.js similarity index 100% rename from tools/eslint/node_modules/lodash/lang.js rename to tools/node_modules/eslint/node_modules/lodash/lang.js diff --git a/tools/eslint/node_modules/lodash/last.js b/tools/node_modules/eslint/node_modules/lodash/last.js similarity index 100% rename from tools/eslint/node_modules/lodash/last.js rename to tools/node_modules/eslint/node_modules/lodash/last.js diff --git a/tools/eslint/node_modules/lodash/lastIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/lastIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/lastIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/lastIndexOf.js diff --git a/tools/eslint/node_modules/lodash/lodash.js b/tools/node_modules/eslint/node_modules/lodash/lodash.js similarity index 100% rename from tools/eslint/node_modules/lodash/lodash.js rename to tools/node_modules/eslint/node_modules/lodash/lodash.js diff --git a/tools/eslint/node_modules/lodash/lodash.min.js b/tools/node_modules/eslint/node_modules/lodash/lodash.min.js similarity index 100% rename from tools/eslint/node_modules/lodash/lodash.min.js rename to tools/node_modules/eslint/node_modules/lodash/lodash.min.js diff --git a/tools/eslint/node_modules/lodash/lowerCase.js b/tools/node_modules/eslint/node_modules/lodash/lowerCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/lowerCase.js rename to tools/node_modules/eslint/node_modules/lodash/lowerCase.js diff --git a/tools/eslint/node_modules/lodash/lowerFirst.js b/tools/node_modules/eslint/node_modules/lodash/lowerFirst.js similarity index 100% rename from tools/eslint/node_modules/lodash/lowerFirst.js rename to tools/node_modules/eslint/node_modules/lodash/lowerFirst.js diff --git a/tools/eslint/node_modules/lodash/lt.js b/tools/node_modules/eslint/node_modules/lodash/lt.js similarity index 100% rename from tools/eslint/node_modules/lodash/lt.js rename to tools/node_modules/eslint/node_modules/lodash/lt.js diff --git a/tools/eslint/node_modules/lodash/lte.js b/tools/node_modules/eslint/node_modules/lodash/lte.js similarity index 100% rename from tools/eslint/node_modules/lodash/lte.js rename to tools/node_modules/eslint/node_modules/lodash/lte.js diff --git a/tools/eslint/node_modules/lodash/map.js b/tools/node_modules/eslint/node_modules/lodash/map.js similarity index 100% rename from tools/eslint/node_modules/lodash/map.js rename to tools/node_modules/eslint/node_modules/lodash/map.js diff --git a/tools/eslint/node_modules/lodash/mapKeys.js b/tools/node_modules/eslint/node_modules/lodash/mapKeys.js similarity index 100% rename from tools/eslint/node_modules/lodash/mapKeys.js rename to tools/node_modules/eslint/node_modules/lodash/mapKeys.js diff --git a/tools/eslint/node_modules/lodash/mapValues.js b/tools/node_modules/eslint/node_modules/lodash/mapValues.js similarity index 100% rename from tools/eslint/node_modules/lodash/mapValues.js rename to tools/node_modules/eslint/node_modules/lodash/mapValues.js diff --git a/tools/eslint/node_modules/lodash/matches.js b/tools/node_modules/eslint/node_modules/lodash/matches.js similarity index 100% rename from tools/eslint/node_modules/lodash/matches.js rename to tools/node_modules/eslint/node_modules/lodash/matches.js diff --git a/tools/eslint/node_modules/lodash/matchesProperty.js b/tools/node_modules/eslint/node_modules/lodash/matchesProperty.js similarity index 100% rename from tools/eslint/node_modules/lodash/matchesProperty.js rename to tools/node_modules/eslint/node_modules/lodash/matchesProperty.js diff --git a/tools/eslint/node_modules/lodash/math.js b/tools/node_modules/eslint/node_modules/lodash/math.js similarity index 100% rename from tools/eslint/node_modules/lodash/math.js rename to tools/node_modules/eslint/node_modules/lodash/math.js diff --git a/tools/eslint/node_modules/lodash/max.js b/tools/node_modules/eslint/node_modules/lodash/max.js similarity index 100% rename from tools/eslint/node_modules/lodash/max.js rename to tools/node_modules/eslint/node_modules/lodash/max.js diff --git a/tools/eslint/node_modules/lodash/maxBy.js b/tools/node_modules/eslint/node_modules/lodash/maxBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/maxBy.js rename to tools/node_modules/eslint/node_modules/lodash/maxBy.js diff --git a/tools/eslint/node_modules/lodash/mean.js b/tools/node_modules/eslint/node_modules/lodash/mean.js similarity index 100% rename from tools/eslint/node_modules/lodash/mean.js rename to tools/node_modules/eslint/node_modules/lodash/mean.js diff --git a/tools/eslint/node_modules/lodash/meanBy.js b/tools/node_modules/eslint/node_modules/lodash/meanBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/meanBy.js rename to tools/node_modules/eslint/node_modules/lodash/meanBy.js diff --git a/tools/eslint/node_modules/lodash/memoize.js b/tools/node_modules/eslint/node_modules/lodash/memoize.js similarity index 100% rename from tools/eslint/node_modules/lodash/memoize.js rename to tools/node_modules/eslint/node_modules/lodash/memoize.js diff --git a/tools/eslint/node_modules/lodash/merge.js b/tools/node_modules/eslint/node_modules/lodash/merge.js similarity index 100% rename from tools/eslint/node_modules/lodash/merge.js rename to tools/node_modules/eslint/node_modules/lodash/merge.js diff --git a/tools/eslint/node_modules/lodash/mergeWith.js b/tools/node_modules/eslint/node_modules/lodash/mergeWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/mergeWith.js rename to tools/node_modules/eslint/node_modules/lodash/mergeWith.js diff --git a/tools/eslint/node_modules/lodash/method.js b/tools/node_modules/eslint/node_modules/lodash/method.js similarity index 100% rename from tools/eslint/node_modules/lodash/method.js rename to tools/node_modules/eslint/node_modules/lodash/method.js diff --git a/tools/eslint/node_modules/lodash/methodOf.js b/tools/node_modules/eslint/node_modules/lodash/methodOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/methodOf.js rename to tools/node_modules/eslint/node_modules/lodash/methodOf.js diff --git a/tools/eslint/node_modules/lodash/min.js b/tools/node_modules/eslint/node_modules/lodash/min.js similarity index 100% rename from tools/eslint/node_modules/lodash/min.js rename to tools/node_modules/eslint/node_modules/lodash/min.js diff --git a/tools/eslint/node_modules/lodash/minBy.js b/tools/node_modules/eslint/node_modules/lodash/minBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/minBy.js rename to tools/node_modules/eslint/node_modules/lodash/minBy.js diff --git a/tools/eslint/node_modules/lodash/mixin.js b/tools/node_modules/eslint/node_modules/lodash/mixin.js similarity index 100% rename from tools/eslint/node_modules/lodash/mixin.js rename to tools/node_modules/eslint/node_modules/lodash/mixin.js diff --git a/tools/eslint/node_modules/lodash/multiply.js b/tools/node_modules/eslint/node_modules/lodash/multiply.js similarity index 100% rename from tools/eslint/node_modules/lodash/multiply.js rename to tools/node_modules/eslint/node_modules/lodash/multiply.js diff --git a/tools/eslint/node_modules/lodash/negate.js b/tools/node_modules/eslint/node_modules/lodash/negate.js similarity index 100% rename from tools/eslint/node_modules/lodash/negate.js rename to tools/node_modules/eslint/node_modules/lodash/negate.js diff --git a/tools/eslint/node_modules/lodash/next.js b/tools/node_modules/eslint/node_modules/lodash/next.js similarity index 100% rename from tools/eslint/node_modules/lodash/next.js rename to tools/node_modules/eslint/node_modules/lodash/next.js diff --git a/tools/eslint/node_modules/lodash/noop.js b/tools/node_modules/eslint/node_modules/lodash/noop.js similarity index 100% rename from tools/eslint/node_modules/lodash/noop.js rename to tools/node_modules/eslint/node_modules/lodash/noop.js diff --git a/tools/eslint/node_modules/lodash/now.js b/tools/node_modules/eslint/node_modules/lodash/now.js similarity index 100% rename from tools/eslint/node_modules/lodash/now.js rename to tools/node_modules/eslint/node_modules/lodash/now.js diff --git a/tools/eslint/node_modules/lodash/nth.js b/tools/node_modules/eslint/node_modules/lodash/nth.js similarity index 100% rename from tools/eslint/node_modules/lodash/nth.js rename to tools/node_modules/eslint/node_modules/lodash/nth.js diff --git a/tools/eslint/node_modules/lodash/nthArg.js b/tools/node_modules/eslint/node_modules/lodash/nthArg.js similarity index 100% rename from tools/eslint/node_modules/lodash/nthArg.js rename to tools/node_modules/eslint/node_modules/lodash/nthArg.js diff --git a/tools/eslint/node_modules/lodash/number.js b/tools/node_modules/eslint/node_modules/lodash/number.js similarity index 100% rename from tools/eslint/node_modules/lodash/number.js rename to tools/node_modules/eslint/node_modules/lodash/number.js diff --git a/tools/eslint/node_modules/lodash/object.js b/tools/node_modules/eslint/node_modules/lodash/object.js similarity index 100% rename from tools/eslint/node_modules/lodash/object.js rename to tools/node_modules/eslint/node_modules/lodash/object.js diff --git a/tools/eslint/node_modules/lodash/omit.js b/tools/node_modules/eslint/node_modules/lodash/omit.js similarity index 100% rename from tools/eslint/node_modules/lodash/omit.js rename to tools/node_modules/eslint/node_modules/lodash/omit.js diff --git a/tools/eslint/node_modules/lodash/omitBy.js b/tools/node_modules/eslint/node_modules/lodash/omitBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/omitBy.js rename to tools/node_modules/eslint/node_modules/lodash/omitBy.js diff --git a/tools/eslint/node_modules/lodash/once.js b/tools/node_modules/eslint/node_modules/lodash/once.js similarity index 100% rename from tools/eslint/node_modules/lodash/once.js rename to tools/node_modules/eslint/node_modules/lodash/once.js diff --git a/tools/eslint/node_modules/lodash/orderBy.js b/tools/node_modules/eslint/node_modules/lodash/orderBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/orderBy.js rename to tools/node_modules/eslint/node_modules/lodash/orderBy.js diff --git a/tools/eslint/node_modules/lodash/over.js b/tools/node_modules/eslint/node_modules/lodash/over.js similarity index 100% rename from tools/eslint/node_modules/lodash/over.js rename to tools/node_modules/eslint/node_modules/lodash/over.js diff --git a/tools/eslint/node_modules/lodash/overArgs.js b/tools/node_modules/eslint/node_modules/lodash/overArgs.js similarity index 100% rename from tools/eslint/node_modules/lodash/overArgs.js rename to tools/node_modules/eslint/node_modules/lodash/overArgs.js diff --git a/tools/eslint/node_modules/lodash/overEvery.js b/tools/node_modules/eslint/node_modules/lodash/overEvery.js similarity index 100% rename from tools/eslint/node_modules/lodash/overEvery.js rename to tools/node_modules/eslint/node_modules/lodash/overEvery.js diff --git a/tools/eslint/node_modules/lodash/overSome.js b/tools/node_modules/eslint/node_modules/lodash/overSome.js similarity index 100% rename from tools/eslint/node_modules/lodash/overSome.js rename to tools/node_modules/eslint/node_modules/lodash/overSome.js diff --git a/tools/eslint/node_modules/lodash/package.json b/tools/node_modules/eslint/node_modules/lodash/package.json similarity index 100% rename from tools/eslint/node_modules/lodash/package.json rename to tools/node_modules/eslint/node_modules/lodash/package.json diff --git a/tools/eslint/node_modules/lodash/pad.js b/tools/node_modules/eslint/node_modules/lodash/pad.js similarity index 100% rename from tools/eslint/node_modules/lodash/pad.js rename to tools/node_modules/eslint/node_modules/lodash/pad.js diff --git a/tools/eslint/node_modules/lodash/padEnd.js b/tools/node_modules/eslint/node_modules/lodash/padEnd.js similarity index 100% rename from tools/eslint/node_modules/lodash/padEnd.js rename to tools/node_modules/eslint/node_modules/lodash/padEnd.js diff --git a/tools/eslint/node_modules/lodash/padStart.js b/tools/node_modules/eslint/node_modules/lodash/padStart.js similarity index 100% rename from tools/eslint/node_modules/lodash/padStart.js rename to tools/node_modules/eslint/node_modules/lodash/padStart.js diff --git a/tools/eslint/node_modules/lodash/parseInt.js b/tools/node_modules/eslint/node_modules/lodash/parseInt.js similarity index 100% rename from tools/eslint/node_modules/lodash/parseInt.js rename to tools/node_modules/eslint/node_modules/lodash/parseInt.js diff --git a/tools/eslint/node_modules/lodash/partial.js b/tools/node_modules/eslint/node_modules/lodash/partial.js similarity index 100% rename from tools/eslint/node_modules/lodash/partial.js rename to tools/node_modules/eslint/node_modules/lodash/partial.js diff --git a/tools/eslint/node_modules/lodash/partialRight.js b/tools/node_modules/eslint/node_modules/lodash/partialRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/partialRight.js rename to tools/node_modules/eslint/node_modules/lodash/partialRight.js diff --git a/tools/eslint/node_modules/lodash/partition.js b/tools/node_modules/eslint/node_modules/lodash/partition.js similarity index 100% rename from tools/eslint/node_modules/lodash/partition.js rename to tools/node_modules/eslint/node_modules/lodash/partition.js diff --git a/tools/eslint/node_modules/lodash/pick.js b/tools/node_modules/eslint/node_modules/lodash/pick.js similarity index 100% rename from tools/eslint/node_modules/lodash/pick.js rename to tools/node_modules/eslint/node_modules/lodash/pick.js diff --git a/tools/eslint/node_modules/lodash/pickBy.js b/tools/node_modules/eslint/node_modules/lodash/pickBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/pickBy.js rename to tools/node_modules/eslint/node_modules/lodash/pickBy.js diff --git a/tools/eslint/node_modules/lodash/plant.js b/tools/node_modules/eslint/node_modules/lodash/plant.js similarity index 100% rename from tools/eslint/node_modules/lodash/plant.js rename to tools/node_modules/eslint/node_modules/lodash/plant.js diff --git a/tools/eslint/node_modules/lodash/property.js b/tools/node_modules/eslint/node_modules/lodash/property.js similarity index 100% rename from tools/eslint/node_modules/lodash/property.js rename to tools/node_modules/eslint/node_modules/lodash/property.js diff --git a/tools/eslint/node_modules/lodash/propertyOf.js b/tools/node_modules/eslint/node_modules/lodash/propertyOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/propertyOf.js rename to tools/node_modules/eslint/node_modules/lodash/propertyOf.js diff --git a/tools/eslint/node_modules/lodash/pull.js b/tools/node_modules/eslint/node_modules/lodash/pull.js similarity index 100% rename from tools/eslint/node_modules/lodash/pull.js rename to tools/node_modules/eslint/node_modules/lodash/pull.js diff --git a/tools/eslint/node_modules/lodash/pullAll.js b/tools/node_modules/eslint/node_modules/lodash/pullAll.js similarity index 100% rename from tools/eslint/node_modules/lodash/pullAll.js rename to tools/node_modules/eslint/node_modules/lodash/pullAll.js diff --git a/tools/eslint/node_modules/lodash/pullAllBy.js b/tools/node_modules/eslint/node_modules/lodash/pullAllBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/pullAllBy.js rename to tools/node_modules/eslint/node_modules/lodash/pullAllBy.js diff --git a/tools/eslint/node_modules/lodash/pullAllWith.js b/tools/node_modules/eslint/node_modules/lodash/pullAllWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/pullAllWith.js rename to tools/node_modules/eslint/node_modules/lodash/pullAllWith.js diff --git a/tools/eslint/node_modules/lodash/pullAt.js b/tools/node_modules/eslint/node_modules/lodash/pullAt.js similarity index 100% rename from tools/eslint/node_modules/lodash/pullAt.js rename to tools/node_modules/eslint/node_modules/lodash/pullAt.js diff --git a/tools/eslint/node_modules/lodash/random.js b/tools/node_modules/eslint/node_modules/lodash/random.js similarity index 100% rename from tools/eslint/node_modules/lodash/random.js rename to tools/node_modules/eslint/node_modules/lodash/random.js diff --git a/tools/eslint/node_modules/lodash/range.js b/tools/node_modules/eslint/node_modules/lodash/range.js similarity index 100% rename from tools/eslint/node_modules/lodash/range.js rename to tools/node_modules/eslint/node_modules/lodash/range.js diff --git a/tools/eslint/node_modules/lodash/rangeRight.js b/tools/node_modules/eslint/node_modules/lodash/rangeRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/rangeRight.js rename to tools/node_modules/eslint/node_modules/lodash/rangeRight.js diff --git a/tools/eslint/node_modules/lodash/rearg.js b/tools/node_modules/eslint/node_modules/lodash/rearg.js similarity index 100% rename from tools/eslint/node_modules/lodash/rearg.js rename to tools/node_modules/eslint/node_modules/lodash/rearg.js diff --git a/tools/eslint/node_modules/lodash/reduce.js b/tools/node_modules/eslint/node_modules/lodash/reduce.js similarity index 100% rename from tools/eslint/node_modules/lodash/reduce.js rename to tools/node_modules/eslint/node_modules/lodash/reduce.js diff --git a/tools/eslint/node_modules/lodash/reduceRight.js b/tools/node_modules/eslint/node_modules/lodash/reduceRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/reduceRight.js rename to tools/node_modules/eslint/node_modules/lodash/reduceRight.js diff --git a/tools/eslint/node_modules/lodash/reject.js b/tools/node_modules/eslint/node_modules/lodash/reject.js similarity index 100% rename from tools/eslint/node_modules/lodash/reject.js rename to tools/node_modules/eslint/node_modules/lodash/reject.js diff --git a/tools/eslint/node_modules/lodash/remove.js b/tools/node_modules/eslint/node_modules/lodash/remove.js similarity index 100% rename from tools/eslint/node_modules/lodash/remove.js rename to tools/node_modules/eslint/node_modules/lodash/remove.js diff --git a/tools/eslint/node_modules/lodash/repeat.js b/tools/node_modules/eslint/node_modules/lodash/repeat.js similarity index 100% rename from tools/eslint/node_modules/lodash/repeat.js rename to tools/node_modules/eslint/node_modules/lodash/repeat.js diff --git a/tools/eslint/node_modules/lodash/replace.js b/tools/node_modules/eslint/node_modules/lodash/replace.js similarity index 100% rename from tools/eslint/node_modules/lodash/replace.js rename to tools/node_modules/eslint/node_modules/lodash/replace.js diff --git a/tools/eslint/node_modules/lodash/rest.js b/tools/node_modules/eslint/node_modules/lodash/rest.js similarity index 100% rename from tools/eslint/node_modules/lodash/rest.js rename to tools/node_modules/eslint/node_modules/lodash/rest.js diff --git a/tools/eslint/node_modules/lodash/result.js b/tools/node_modules/eslint/node_modules/lodash/result.js similarity index 100% rename from tools/eslint/node_modules/lodash/result.js rename to tools/node_modules/eslint/node_modules/lodash/result.js diff --git a/tools/eslint/node_modules/lodash/reverse.js b/tools/node_modules/eslint/node_modules/lodash/reverse.js similarity index 100% rename from tools/eslint/node_modules/lodash/reverse.js rename to tools/node_modules/eslint/node_modules/lodash/reverse.js diff --git a/tools/eslint/node_modules/lodash/round.js b/tools/node_modules/eslint/node_modules/lodash/round.js similarity index 100% rename from tools/eslint/node_modules/lodash/round.js rename to tools/node_modules/eslint/node_modules/lodash/round.js diff --git a/tools/eslint/node_modules/lodash/sample.js b/tools/node_modules/eslint/node_modules/lodash/sample.js similarity index 100% rename from tools/eslint/node_modules/lodash/sample.js rename to tools/node_modules/eslint/node_modules/lodash/sample.js diff --git a/tools/eslint/node_modules/lodash/sampleSize.js b/tools/node_modules/eslint/node_modules/lodash/sampleSize.js similarity index 100% rename from tools/eslint/node_modules/lodash/sampleSize.js rename to tools/node_modules/eslint/node_modules/lodash/sampleSize.js diff --git a/tools/eslint/node_modules/lodash/seq.js b/tools/node_modules/eslint/node_modules/lodash/seq.js similarity index 100% rename from tools/eslint/node_modules/lodash/seq.js rename to tools/node_modules/eslint/node_modules/lodash/seq.js diff --git a/tools/eslint/node_modules/lodash/set.js b/tools/node_modules/eslint/node_modules/lodash/set.js similarity index 100% rename from tools/eslint/node_modules/lodash/set.js rename to tools/node_modules/eslint/node_modules/lodash/set.js diff --git a/tools/eslint/node_modules/lodash/setWith.js b/tools/node_modules/eslint/node_modules/lodash/setWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/setWith.js rename to tools/node_modules/eslint/node_modules/lodash/setWith.js diff --git a/tools/eslint/node_modules/lodash/shuffle.js b/tools/node_modules/eslint/node_modules/lodash/shuffle.js similarity index 100% rename from tools/eslint/node_modules/lodash/shuffle.js rename to tools/node_modules/eslint/node_modules/lodash/shuffle.js diff --git a/tools/eslint/node_modules/lodash/size.js b/tools/node_modules/eslint/node_modules/lodash/size.js similarity index 100% rename from tools/eslint/node_modules/lodash/size.js rename to tools/node_modules/eslint/node_modules/lodash/size.js diff --git a/tools/eslint/node_modules/lodash/slice.js b/tools/node_modules/eslint/node_modules/lodash/slice.js similarity index 100% rename from tools/eslint/node_modules/lodash/slice.js rename to tools/node_modules/eslint/node_modules/lodash/slice.js diff --git a/tools/eslint/node_modules/lodash/snakeCase.js b/tools/node_modules/eslint/node_modules/lodash/snakeCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/snakeCase.js rename to tools/node_modules/eslint/node_modules/lodash/snakeCase.js diff --git a/tools/eslint/node_modules/lodash/some.js b/tools/node_modules/eslint/node_modules/lodash/some.js similarity index 100% rename from tools/eslint/node_modules/lodash/some.js rename to tools/node_modules/eslint/node_modules/lodash/some.js diff --git a/tools/eslint/node_modules/lodash/sortBy.js b/tools/node_modules/eslint/node_modules/lodash/sortBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortBy.js rename to tools/node_modules/eslint/node_modules/lodash/sortBy.js diff --git a/tools/eslint/node_modules/lodash/sortedIndex.js b/tools/node_modules/eslint/node_modules/lodash/sortedIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedIndex.js rename to tools/node_modules/eslint/node_modules/lodash/sortedIndex.js diff --git a/tools/eslint/node_modules/lodash/sortedIndexBy.js b/tools/node_modules/eslint/node_modules/lodash/sortedIndexBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedIndexBy.js rename to tools/node_modules/eslint/node_modules/lodash/sortedIndexBy.js diff --git a/tools/eslint/node_modules/lodash/sortedIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/sortedIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/sortedIndexOf.js diff --git a/tools/eslint/node_modules/lodash/sortedLastIndex.js b/tools/node_modules/eslint/node_modules/lodash/sortedLastIndex.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedLastIndex.js rename to tools/node_modules/eslint/node_modules/lodash/sortedLastIndex.js diff --git a/tools/eslint/node_modules/lodash/sortedLastIndexBy.js b/tools/node_modules/eslint/node_modules/lodash/sortedLastIndexBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedLastIndexBy.js rename to tools/node_modules/eslint/node_modules/lodash/sortedLastIndexBy.js diff --git a/tools/eslint/node_modules/lodash/sortedLastIndexOf.js b/tools/node_modules/eslint/node_modules/lodash/sortedLastIndexOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedLastIndexOf.js rename to tools/node_modules/eslint/node_modules/lodash/sortedLastIndexOf.js diff --git a/tools/eslint/node_modules/lodash/sortedUniq.js b/tools/node_modules/eslint/node_modules/lodash/sortedUniq.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedUniq.js rename to tools/node_modules/eslint/node_modules/lodash/sortedUniq.js diff --git a/tools/eslint/node_modules/lodash/sortedUniqBy.js b/tools/node_modules/eslint/node_modules/lodash/sortedUniqBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/sortedUniqBy.js rename to tools/node_modules/eslint/node_modules/lodash/sortedUniqBy.js diff --git a/tools/eslint/node_modules/lodash/split.js b/tools/node_modules/eslint/node_modules/lodash/split.js similarity index 100% rename from tools/eslint/node_modules/lodash/split.js rename to tools/node_modules/eslint/node_modules/lodash/split.js diff --git a/tools/eslint/node_modules/lodash/spread.js b/tools/node_modules/eslint/node_modules/lodash/spread.js similarity index 100% rename from tools/eslint/node_modules/lodash/spread.js rename to tools/node_modules/eslint/node_modules/lodash/spread.js diff --git a/tools/eslint/node_modules/lodash/startCase.js b/tools/node_modules/eslint/node_modules/lodash/startCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/startCase.js rename to tools/node_modules/eslint/node_modules/lodash/startCase.js diff --git a/tools/eslint/node_modules/lodash/startsWith.js b/tools/node_modules/eslint/node_modules/lodash/startsWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/startsWith.js rename to tools/node_modules/eslint/node_modules/lodash/startsWith.js diff --git a/tools/eslint/node_modules/lodash/string.js b/tools/node_modules/eslint/node_modules/lodash/string.js similarity index 100% rename from tools/eslint/node_modules/lodash/string.js rename to tools/node_modules/eslint/node_modules/lodash/string.js diff --git a/tools/eslint/node_modules/lodash/stubArray.js b/tools/node_modules/eslint/node_modules/lodash/stubArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/stubArray.js rename to tools/node_modules/eslint/node_modules/lodash/stubArray.js diff --git a/tools/eslint/node_modules/lodash/stubFalse.js b/tools/node_modules/eslint/node_modules/lodash/stubFalse.js similarity index 100% rename from tools/eslint/node_modules/lodash/stubFalse.js rename to tools/node_modules/eslint/node_modules/lodash/stubFalse.js diff --git a/tools/eslint/node_modules/lodash/stubObject.js b/tools/node_modules/eslint/node_modules/lodash/stubObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/stubObject.js rename to tools/node_modules/eslint/node_modules/lodash/stubObject.js diff --git a/tools/eslint/node_modules/lodash/stubString.js b/tools/node_modules/eslint/node_modules/lodash/stubString.js similarity index 100% rename from tools/eslint/node_modules/lodash/stubString.js rename to tools/node_modules/eslint/node_modules/lodash/stubString.js diff --git a/tools/eslint/node_modules/lodash/stubTrue.js b/tools/node_modules/eslint/node_modules/lodash/stubTrue.js similarity index 100% rename from tools/eslint/node_modules/lodash/stubTrue.js rename to tools/node_modules/eslint/node_modules/lodash/stubTrue.js diff --git a/tools/eslint/node_modules/lodash/subtract.js b/tools/node_modules/eslint/node_modules/lodash/subtract.js similarity index 100% rename from tools/eslint/node_modules/lodash/subtract.js rename to tools/node_modules/eslint/node_modules/lodash/subtract.js diff --git a/tools/eslint/node_modules/lodash/sum.js b/tools/node_modules/eslint/node_modules/lodash/sum.js similarity index 100% rename from tools/eslint/node_modules/lodash/sum.js rename to tools/node_modules/eslint/node_modules/lodash/sum.js diff --git a/tools/eslint/node_modules/lodash/sumBy.js b/tools/node_modules/eslint/node_modules/lodash/sumBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/sumBy.js rename to tools/node_modules/eslint/node_modules/lodash/sumBy.js diff --git a/tools/eslint/node_modules/lodash/tail.js b/tools/node_modules/eslint/node_modules/lodash/tail.js similarity index 100% rename from tools/eslint/node_modules/lodash/tail.js rename to tools/node_modules/eslint/node_modules/lodash/tail.js diff --git a/tools/eslint/node_modules/lodash/take.js b/tools/node_modules/eslint/node_modules/lodash/take.js similarity index 100% rename from tools/eslint/node_modules/lodash/take.js rename to tools/node_modules/eslint/node_modules/lodash/take.js diff --git a/tools/eslint/node_modules/lodash/takeRight.js b/tools/node_modules/eslint/node_modules/lodash/takeRight.js similarity index 100% rename from tools/eslint/node_modules/lodash/takeRight.js rename to tools/node_modules/eslint/node_modules/lodash/takeRight.js diff --git a/tools/eslint/node_modules/lodash/takeRightWhile.js b/tools/node_modules/eslint/node_modules/lodash/takeRightWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/takeRightWhile.js rename to tools/node_modules/eslint/node_modules/lodash/takeRightWhile.js diff --git a/tools/eslint/node_modules/lodash/takeWhile.js b/tools/node_modules/eslint/node_modules/lodash/takeWhile.js similarity index 100% rename from tools/eslint/node_modules/lodash/takeWhile.js rename to tools/node_modules/eslint/node_modules/lodash/takeWhile.js diff --git a/tools/eslint/node_modules/lodash/tap.js b/tools/node_modules/eslint/node_modules/lodash/tap.js similarity index 100% rename from tools/eslint/node_modules/lodash/tap.js rename to tools/node_modules/eslint/node_modules/lodash/tap.js diff --git a/tools/eslint/node_modules/lodash/template.js b/tools/node_modules/eslint/node_modules/lodash/template.js similarity index 100% rename from tools/eslint/node_modules/lodash/template.js rename to tools/node_modules/eslint/node_modules/lodash/template.js diff --git a/tools/eslint/node_modules/lodash/templateSettings.js b/tools/node_modules/eslint/node_modules/lodash/templateSettings.js similarity index 100% rename from tools/eslint/node_modules/lodash/templateSettings.js rename to tools/node_modules/eslint/node_modules/lodash/templateSettings.js diff --git a/tools/eslint/node_modules/lodash/throttle.js b/tools/node_modules/eslint/node_modules/lodash/throttle.js similarity index 100% rename from tools/eslint/node_modules/lodash/throttle.js rename to tools/node_modules/eslint/node_modules/lodash/throttle.js diff --git a/tools/eslint/node_modules/lodash/thru.js b/tools/node_modules/eslint/node_modules/lodash/thru.js similarity index 100% rename from tools/eslint/node_modules/lodash/thru.js rename to tools/node_modules/eslint/node_modules/lodash/thru.js diff --git a/tools/eslint/node_modules/lodash/times.js b/tools/node_modules/eslint/node_modules/lodash/times.js similarity index 100% rename from tools/eslint/node_modules/lodash/times.js rename to tools/node_modules/eslint/node_modules/lodash/times.js diff --git a/tools/eslint/node_modules/lodash/toArray.js b/tools/node_modules/eslint/node_modules/lodash/toArray.js similarity index 100% rename from tools/eslint/node_modules/lodash/toArray.js rename to tools/node_modules/eslint/node_modules/lodash/toArray.js diff --git a/tools/eslint/node_modules/lodash/toFinite.js b/tools/node_modules/eslint/node_modules/lodash/toFinite.js similarity index 100% rename from tools/eslint/node_modules/lodash/toFinite.js rename to tools/node_modules/eslint/node_modules/lodash/toFinite.js diff --git a/tools/eslint/node_modules/lodash/toInteger.js b/tools/node_modules/eslint/node_modules/lodash/toInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/toInteger.js rename to tools/node_modules/eslint/node_modules/lodash/toInteger.js diff --git a/tools/eslint/node_modules/lodash/toIterator.js b/tools/node_modules/eslint/node_modules/lodash/toIterator.js similarity index 100% rename from tools/eslint/node_modules/lodash/toIterator.js rename to tools/node_modules/eslint/node_modules/lodash/toIterator.js diff --git a/tools/eslint/node_modules/lodash/toJSON.js b/tools/node_modules/eslint/node_modules/lodash/toJSON.js similarity index 100% rename from tools/eslint/node_modules/lodash/toJSON.js rename to tools/node_modules/eslint/node_modules/lodash/toJSON.js diff --git a/tools/eslint/node_modules/lodash/toLength.js b/tools/node_modules/eslint/node_modules/lodash/toLength.js similarity index 100% rename from tools/eslint/node_modules/lodash/toLength.js rename to tools/node_modules/eslint/node_modules/lodash/toLength.js diff --git a/tools/eslint/node_modules/lodash/toLower.js b/tools/node_modules/eslint/node_modules/lodash/toLower.js similarity index 100% rename from tools/eslint/node_modules/lodash/toLower.js rename to tools/node_modules/eslint/node_modules/lodash/toLower.js diff --git a/tools/eslint/node_modules/lodash/toNumber.js b/tools/node_modules/eslint/node_modules/lodash/toNumber.js similarity index 100% rename from tools/eslint/node_modules/lodash/toNumber.js rename to tools/node_modules/eslint/node_modules/lodash/toNumber.js diff --git a/tools/eslint/node_modules/lodash/toPairs.js b/tools/node_modules/eslint/node_modules/lodash/toPairs.js similarity index 100% rename from tools/eslint/node_modules/lodash/toPairs.js rename to tools/node_modules/eslint/node_modules/lodash/toPairs.js diff --git a/tools/eslint/node_modules/lodash/toPairsIn.js b/tools/node_modules/eslint/node_modules/lodash/toPairsIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/toPairsIn.js rename to tools/node_modules/eslint/node_modules/lodash/toPairsIn.js diff --git a/tools/eslint/node_modules/lodash/toPath.js b/tools/node_modules/eslint/node_modules/lodash/toPath.js similarity index 100% rename from tools/eslint/node_modules/lodash/toPath.js rename to tools/node_modules/eslint/node_modules/lodash/toPath.js diff --git a/tools/eslint/node_modules/lodash/toPlainObject.js b/tools/node_modules/eslint/node_modules/lodash/toPlainObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/toPlainObject.js rename to tools/node_modules/eslint/node_modules/lodash/toPlainObject.js diff --git a/tools/eslint/node_modules/lodash/toSafeInteger.js b/tools/node_modules/eslint/node_modules/lodash/toSafeInteger.js similarity index 100% rename from tools/eslint/node_modules/lodash/toSafeInteger.js rename to tools/node_modules/eslint/node_modules/lodash/toSafeInteger.js diff --git a/tools/eslint/node_modules/lodash/toString.js b/tools/node_modules/eslint/node_modules/lodash/toString.js similarity index 100% rename from tools/eslint/node_modules/lodash/toString.js rename to tools/node_modules/eslint/node_modules/lodash/toString.js diff --git a/tools/eslint/node_modules/lodash/toUpper.js b/tools/node_modules/eslint/node_modules/lodash/toUpper.js similarity index 100% rename from tools/eslint/node_modules/lodash/toUpper.js rename to tools/node_modules/eslint/node_modules/lodash/toUpper.js diff --git a/tools/eslint/node_modules/lodash/transform.js b/tools/node_modules/eslint/node_modules/lodash/transform.js similarity index 100% rename from tools/eslint/node_modules/lodash/transform.js rename to tools/node_modules/eslint/node_modules/lodash/transform.js diff --git a/tools/eslint/node_modules/lodash/trim.js b/tools/node_modules/eslint/node_modules/lodash/trim.js similarity index 100% rename from tools/eslint/node_modules/lodash/trim.js rename to tools/node_modules/eslint/node_modules/lodash/trim.js diff --git a/tools/eslint/node_modules/lodash/trimEnd.js b/tools/node_modules/eslint/node_modules/lodash/trimEnd.js similarity index 100% rename from tools/eslint/node_modules/lodash/trimEnd.js rename to tools/node_modules/eslint/node_modules/lodash/trimEnd.js diff --git a/tools/eslint/node_modules/lodash/trimStart.js b/tools/node_modules/eslint/node_modules/lodash/trimStart.js similarity index 100% rename from tools/eslint/node_modules/lodash/trimStart.js rename to tools/node_modules/eslint/node_modules/lodash/trimStart.js diff --git a/tools/eslint/node_modules/lodash/truncate.js b/tools/node_modules/eslint/node_modules/lodash/truncate.js similarity index 100% rename from tools/eslint/node_modules/lodash/truncate.js rename to tools/node_modules/eslint/node_modules/lodash/truncate.js diff --git a/tools/eslint/node_modules/lodash/unary.js b/tools/node_modules/eslint/node_modules/lodash/unary.js similarity index 100% rename from tools/eslint/node_modules/lodash/unary.js rename to tools/node_modules/eslint/node_modules/lodash/unary.js diff --git a/tools/eslint/node_modules/lodash/unescape.js b/tools/node_modules/eslint/node_modules/lodash/unescape.js similarity index 100% rename from tools/eslint/node_modules/lodash/unescape.js rename to tools/node_modules/eslint/node_modules/lodash/unescape.js diff --git a/tools/eslint/node_modules/lodash/union.js b/tools/node_modules/eslint/node_modules/lodash/union.js similarity index 100% rename from tools/eslint/node_modules/lodash/union.js rename to tools/node_modules/eslint/node_modules/lodash/union.js diff --git a/tools/eslint/node_modules/lodash/unionBy.js b/tools/node_modules/eslint/node_modules/lodash/unionBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/unionBy.js rename to tools/node_modules/eslint/node_modules/lodash/unionBy.js diff --git a/tools/eslint/node_modules/lodash/unionWith.js b/tools/node_modules/eslint/node_modules/lodash/unionWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/unionWith.js rename to tools/node_modules/eslint/node_modules/lodash/unionWith.js diff --git a/tools/eslint/node_modules/lodash/uniq.js b/tools/node_modules/eslint/node_modules/lodash/uniq.js similarity index 100% rename from tools/eslint/node_modules/lodash/uniq.js rename to tools/node_modules/eslint/node_modules/lodash/uniq.js diff --git a/tools/eslint/node_modules/lodash/uniqBy.js b/tools/node_modules/eslint/node_modules/lodash/uniqBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/uniqBy.js rename to tools/node_modules/eslint/node_modules/lodash/uniqBy.js diff --git a/tools/eslint/node_modules/lodash/uniqWith.js b/tools/node_modules/eslint/node_modules/lodash/uniqWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/uniqWith.js rename to tools/node_modules/eslint/node_modules/lodash/uniqWith.js diff --git a/tools/eslint/node_modules/lodash/uniqueId.js b/tools/node_modules/eslint/node_modules/lodash/uniqueId.js similarity index 100% rename from tools/eslint/node_modules/lodash/uniqueId.js rename to tools/node_modules/eslint/node_modules/lodash/uniqueId.js diff --git a/tools/eslint/node_modules/lodash/unset.js b/tools/node_modules/eslint/node_modules/lodash/unset.js similarity index 100% rename from tools/eslint/node_modules/lodash/unset.js rename to tools/node_modules/eslint/node_modules/lodash/unset.js diff --git a/tools/eslint/node_modules/lodash/unzip.js b/tools/node_modules/eslint/node_modules/lodash/unzip.js similarity index 100% rename from tools/eslint/node_modules/lodash/unzip.js rename to tools/node_modules/eslint/node_modules/lodash/unzip.js diff --git a/tools/eslint/node_modules/lodash/unzipWith.js b/tools/node_modules/eslint/node_modules/lodash/unzipWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/unzipWith.js rename to tools/node_modules/eslint/node_modules/lodash/unzipWith.js diff --git a/tools/eslint/node_modules/lodash/update.js b/tools/node_modules/eslint/node_modules/lodash/update.js similarity index 100% rename from tools/eslint/node_modules/lodash/update.js rename to tools/node_modules/eslint/node_modules/lodash/update.js diff --git a/tools/eslint/node_modules/lodash/updateWith.js b/tools/node_modules/eslint/node_modules/lodash/updateWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/updateWith.js rename to tools/node_modules/eslint/node_modules/lodash/updateWith.js diff --git a/tools/eslint/node_modules/lodash/upperCase.js b/tools/node_modules/eslint/node_modules/lodash/upperCase.js similarity index 100% rename from tools/eslint/node_modules/lodash/upperCase.js rename to tools/node_modules/eslint/node_modules/lodash/upperCase.js diff --git a/tools/eslint/node_modules/lodash/upperFirst.js b/tools/node_modules/eslint/node_modules/lodash/upperFirst.js similarity index 100% rename from tools/eslint/node_modules/lodash/upperFirst.js rename to tools/node_modules/eslint/node_modules/lodash/upperFirst.js diff --git a/tools/eslint/node_modules/lodash/util.js b/tools/node_modules/eslint/node_modules/lodash/util.js similarity index 100% rename from tools/eslint/node_modules/lodash/util.js rename to tools/node_modules/eslint/node_modules/lodash/util.js diff --git a/tools/eslint/node_modules/lodash/value.js b/tools/node_modules/eslint/node_modules/lodash/value.js similarity index 100% rename from tools/eslint/node_modules/lodash/value.js rename to tools/node_modules/eslint/node_modules/lodash/value.js diff --git a/tools/eslint/node_modules/lodash/valueOf.js b/tools/node_modules/eslint/node_modules/lodash/valueOf.js similarity index 100% rename from tools/eslint/node_modules/lodash/valueOf.js rename to tools/node_modules/eslint/node_modules/lodash/valueOf.js diff --git a/tools/eslint/node_modules/lodash/values.js b/tools/node_modules/eslint/node_modules/lodash/values.js similarity index 100% rename from tools/eslint/node_modules/lodash/values.js rename to tools/node_modules/eslint/node_modules/lodash/values.js diff --git a/tools/eslint/node_modules/lodash/valuesIn.js b/tools/node_modules/eslint/node_modules/lodash/valuesIn.js similarity index 100% rename from tools/eslint/node_modules/lodash/valuesIn.js rename to tools/node_modules/eslint/node_modules/lodash/valuesIn.js diff --git a/tools/eslint/node_modules/lodash/without.js b/tools/node_modules/eslint/node_modules/lodash/without.js similarity index 100% rename from tools/eslint/node_modules/lodash/without.js rename to tools/node_modules/eslint/node_modules/lodash/without.js diff --git a/tools/eslint/node_modules/lodash/words.js b/tools/node_modules/eslint/node_modules/lodash/words.js similarity index 100% rename from tools/eslint/node_modules/lodash/words.js rename to tools/node_modules/eslint/node_modules/lodash/words.js diff --git a/tools/eslint/node_modules/lodash/wrap.js b/tools/node_modules/eslint/node_modules/lodash/wrap.js similarity index 100% rename from tools/eslint/node_modules/lodash/wrap.js rename to tools/node_modules/eslint/node_modules/lodash/wrap.js diff --git a/tools/eslint/node_modules/lodash/wrapperAt.js b/tools/node_modules/eslint/node_modules/lodash/wrapperAt.js similarity index 100% rename from tools/eslint/node_modules/lodash/wrapperAt.js rename to tools/node_modules/eslint/node_modules/lodash/wrapperAt.js diff --git a/tools/eslint/node_modules/lodash/wrapperChain.js b/tools/node_modules/eslint/node_modules/lodash/wrapperChain.js similarity index 100% rename from tools/eslint/node_modules/lodash/wrapperChain.js rename to tools/node_modules/eslint/node_modules/lodash/wrapperChain.js diff --git a/tools/eslint/node_modules/lodash/wrapperLodash.js b/tools/node_modules/eslint/node_modules/lodash/wrapperLodash.js similarity index 100% rename from tools/eslint/node_modules/lodash/wrapperLodash.js rename to tools/node_modules/eslint/node_modules/lodash/wrapperLodash.js diff --git a/tools/eslint/node_modules/lodash/wrapperReverse.js b/tools/node_modules/eslint/node_modules/lodash/wrapperReverse.js similarity index 100% rename from tools/eslint/node_modules/lodash/wrapperReverse.js rename to tools/node_modules/eslint/node_modules/lodash/wrapperReverse.js diff --git a/tools/eslint/node_modules/lodash/wrapperValue.js b/tools/node_modules/eslint/node_modules/lodash/wrapperValue.js similarity index 100% rename from tools/eslint/node_modules/lodash/wrapperValue.js rename to tools/node_modules/eslint/node_modules/lodash/wrapperValue.js diff --git a/tools/eslint/node_modules/lodash/xor.js b/tools/node_modules/eslint/node_modules/lodash/xor.js similarity index 100% rename from tools/eslint/node_modules/lodash/xor.js rename to tools/node_modules/eslint/node_modules/lodash/xor.js diff --git a/tools/eslint/node_modules/lodash/xorBy.js b/tools/node_modules/eslint/node_modules/lodash/xorBy.js similarity index 100% rename from tools/eslint/node_modules/lodash/xorBy.js rename to tools/node_modules/eslint/node_modules/lodash/xorBy.js diff --git a/tools/eslint/node_modules/lodash/xorWith.js b/tools/node_modules/eslint/node_modules/lodash/xorWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/xorWith.js rename to tools/node_modules/eslint/node_modules/lodash/xorWith.js diff --git a/tools/eslint/node_modules/lodash/zip.js b/tools/node_modules/eslint/node_modules/lodash/zip.js similarity index 100% rename from tools/eslint/node_modules/lodash/zip.js rename to tools/node_modules/eslint/node_modules/lodash/zip.js diff --git a/tools/eslint/node_modules/lodash/zipObject.js b/tools/node_modules/eslint/node_modules/lodash/zipObject.js similarity index 100% rename from tools/eslint/node_modules/lodash/zipObject.js rename to tools/node_modules/eslint/node_modules/lodash/zipObject.js diff --git a/tools/eslint/node_modules/lodash/zipObjectDeep.js b/tools/node_modules/eslint/node_modules/lodash/zipObjectDeep.js similarity index 100% rename from tools/eslint/node_modules/lodash/zipObjectDeep.js rename to tools/node_modules/eslint/node_modules/lodash/zipObjectDeep.js diff --git a/tools/eslint/node_modules/lodash/zipWith.js b/tools/node_modules/eslint/node_modules/lodash/zipWith.js similarity index 100% rename from tools/eslint/node_modules/lodash/zipWith.js rename to tools/node_modules/eslint/node_modules/lodash/zipWith.js diff --git a/tools/eslint/node_modules/lru-cache/LICENSE b/tools/node_modules/eslint/node_modules/lru-cache/LICENSE similarity index 100% rename from tools/eslint/node_modules/lru-cache/LICENSE rename to tools/node_modules/eslint/node_modules/lru-cache/LICENSE diff --git a/tools/eslint/node_modules/lru-cache/README.md b/tools/node_modules/eslint/node_modules/lru-cache/README.md similarity index 100% rename from tools/eslint/node_modules/lru-cache/README.md rename to tools/node_modules/eslint/node_modules/lru-cache/README.md diff --git a/tools/eslint/node_modules/lru-cache/index.js b/tools/node_modules/eslint/node_modules/lru-cache/index.js similarity index 100% rename from tools/eslint/node_modules/lru-cache/index.js rename to tools/node_modules/eslint/node_modules/lru-cache/index.js diff --git a/tools/eslint/node_modules/lru-cache/package.json b/tools/node_modules/eslint/node_modules/lru-cache/package.json similarity index 100% rename from tools/eslint/node_modules/lru-cache/package.json rename to tools/node_modules/eslint/node_modules/lru-cache/package.json diff --git a/tools/eslint/node_modules/markdown-escapes/LICENSE b/tools/node_modules/eslint/node_modules/markdown-escapes/LICENSE similarity index 100% rename from tools/eslint/node_modules/markdown-escapes/LICENSE rename to tools/node_modules/eslint/node_modules/markdown-escapes/LICENSE diff --git a/tools/eslint/node_modules/markdown-escapes/index.js b/tools/node_modules/eslint/node_modules/markdown-escapes/index.js similarity index 100% rename from tools/eslint/node_modules/markdown-escapes/index.js rename to tools/node_modules/eslint/node_modules/markdown-escapes/index.js diff --git a/tools/eslint/node_modules/markdown-escapes/package.json b/tools/node_modules/eslint/node_modules/markdown-escapes/package.json similarity index 100% rename from tools/eslint/node_modules/markdown-escapes/package.json rename to tools/node_modules/eslint/node_modules/markdown-escapes/package.json diff --git a/tools/eslint/node_modules/markdown-escapes/readme.md b/tools/node_modules/eslint/node_modules/markdown-escapes/readme.md similarity index 100% rename from tools/eslint/node_modules/markdown-escapes/readme.md rename to tools/node_modules/eslint/node_modules/markdown-escapes/readme.md diff --git a/tools/eslint/node_modules/mimic-fn/index.js b/tools/node_modules/eslint/node_modules/mimic-fn/index.js similarity index 100% rename from tools/eslint/node_modules/mimic-fn/index.js rename to tools/node_modules/eslint/node_modules/mimic-fn/index.js diff --git a/tools/eslint/node_modules/mimic-fn/license b/tools/node_modules/eslint/node_modules/mimic-fn/license similarity index 100% rename from tools/eslint/node_modules/mimic-fn/license rename to tools/node_modules/eslint/node_modules/mimic-fn/license diff --git a/tools/eslint/node_modules/mimic-fn/package.json b/tools/node_modules/eslint/node_modules/mimic-fn/package.json similarity index 100% rename from tools/eslint/node_modules/mimic-fn/package.json rename to tools/node_modules/eslint/node_modules/mimic-fn/package.json diff --git a/tools/eslint/node_modules/mimic-fn/readme.md b/tools/node_modules/eslint/node_modules/mimic-fn/readme.md similarity index 100% rename from tools/eslint/node_modules/mimic-fn/readme.md rename to tools/node_modules/eslint/node_modules/mimic-fn/readme.md diff --git a/tools/eslint/node_modules/minimatch/LICENSE b/tools/node_modules/eslint/node_modules/minimatch/LICENSE similarity index 100% rename from tools/eslint/node_modules/minimatch/LICENSE rename to tools/node_modules/eslint/node_modules/minimatch/LICENSE diff --git a/tools/eslint/node_modules/minimatch/README.md b/tools/node_modules/eslint/node_modules/minimatch/README.md similarity index 100% rename from tools/eslint/node_modules/minimatch/README.md rename to tools/node_modules/eslint/node_modules/minimatch/README.md diff --git a/tools/eslint/node_modules/minimatch/minimatch.js b/tools/node_modules/eslint/node_modules/minimatch/minimatch.js similarity index 100% rename from tools/eslint/node_modules/minimatch/minimatch.js rename to tools/node_modules/eslint/node_modules/minimatch/minimatch.js diff --git a/tools/eslint/node_modules/minimatch/package.json b/tools/node_modules/eslint/node_modules/minimatch/package.json similarity index 100% rename from tools/eslint/node_modules/minimatch/package.json rename to tools/node_modules/eslint/node_modules/minimatch/package.json diff --git a/tools/eslint/node_modules/minimist/LICENSE b/tools/node_modules/eslint/node_modules/minimist/LICENSE similarity index 100% rename from tools/eslint/node_modules/minimist/LICENSE rename to tools/node_modules/eslint/node_modules/minimist/LICENSE diff --git a/tools/eslint/node_modules/minimist/index.js b/tools/node_modules/eslint/node_modules/minimist/index.js similarity index 100% rename from tools/eslint/node_modules/minimist/index.js rename to tools/node_modules/eslint/node_modules/minimist/index.js diff --git a/tools/eslint/node_modules/minimist/package.json b/tools/node_modules/eslint/node_modules/minimist/package.json similarity index 100% rename from tools/eslint/node_modules/minimist/package.json rename to tools/node_modules/eslint/node_modules/minimist/package.json diff --git a/tools/eslint/node_modules/minimist/readme.markdown b/tools/node_modules/eslint/node_modules/minimist/readme.markdown similarity index 100% rename from tools/eslint/node_modules/minimist/readme.markdown rename to tools/node_modules/eslint/node_modules/minimist/readme.markdown diff --git a/tools/eslint/node_modules/mkdirp/LICENSE b/tools/node_modules/eslint/node_modules/mkdirp/LICENSE similarity index 100% rename from tools/eslint/node_modules/mkdirp/LICENSE rename to tools/node_modules/eslint/node_modules/mkdirp/LICENSE diff --git a/tools/eslint/node_modules/mkdirp/bin/cmd.js b/tools/node_modules/eslint/node_modules/mkdirp/bin/cmd.js similarity index 100% rename from tools/eslint/node_modules/mkdirp/bin/cmd.js rename to tools/node_modules/eslint/node_modules/mkdirp/bin/cmd.js diff --git a/tools/eslint/node_modules/mkdirp/bin/usage.txt b/tools/node_modules/eslint/node_modules/mkdirp/bin/usage.txt similarity index 100% rename from tools/eslint/node_modules/mkdirp/bin/usage.txt rename to tools/node_modules/eslint/node_modules/mkdirp/bin/usage.txt diff --git a/tools/eslint/node_modules/mkdirp/index.js b/tools/node_modules/eslint/node_modules/mkdirp/index.js similarity index 100% rename from tools/eslint/node_modules/mkdirp/index.js rename to tools/node_modules/eslint/node_modules/mkdirp/index.js diff --git a/tools/eslint/node_modules/mkdirp/package.json b/tools/node_modules/eslint/node_modules/mkdirp/package.json similarity index 100% rename from tools/eslint/node_modules/mkdirp/package.json rename to tools/node_modules/eslint/node_modules/mkdirp/package.json diff --git a/tools/eslint/node_modules/mkdirp/readme.markdown b/tools/node_modules/eslint/node_modules/mkdirp/readme.markdown similarity index 100% rename from tools/eslint/node_modules/mkdirp/readme.markdown rename to tools/node_modules/eslint/node_modules/mkdirp/readme.markdown diff --git a/tools/eslint/node_modules/ms/LICENSE.md b/tools/node_modules/eslint/node_modules/ms/LICENSE.md similarity index 100% rename from tools/eslint/node_modules/ms/LICENSE.md rename to tools/node_modules/eslint/node_modules/ms/LICENSE.md diff --git a/tools/eslint/node_modules/ms/README.md b/tools/node_modules/eslint/node_modules/ms/README.md similarity index 100% rename from tools/eslint/node_modules/ms/README.md rename to tools/node_modules/eslint/node_modules/ms/README.md diff --git a/tools/eslint/node_modules/ms/index.js b/tools/node_modules/eslint/node_modules/ms/index.js similarity index 100% rename from tools/eslint/node_modules/ms/index.js rename to tools/node_modules/eslint/node_modules/ms/index.js diff --git a/tools/eslint/node_modules/ms/package.json b/tools/node_modules/eslint/node_modules/ms/package.json similarity index 100% rename from tools/eslint/node_modules/ms/package.json rename to tools/node_modules/eslint/node_modules/ms/package.json diff --git a/tools/eslint/node_modules/mute-stream/.nyc_output/33508.json b/tools/node_modules/eslint/node_modules/mute-stream/.nyc_output/33508.json similarity index 100% rename from tools/eslint/node_modules/mute-stream/.nyc_output/33508.json rename to tools/node_modules/eslint/node_modules/mute-stream/.nyc_output/33508.json diff --git a/tools/eslint/node_modules/mute-stream/.nyc_output/33510.json b/tools/node_modules/eslint/node_modules/mute-stream/.nyc_output/33510.json similarity index 100% rename from tools/eslint/node_modules/mute-stream/.nyc_output/33510.json rename to tools/node_modules/eslint/node_modules/mute-stream/.nyc_output/33510.json diff --git a/tools/eslint/node_modules/mute-stream/LICENSE b/tools/node_modules/eslint/node_modules/mute-stream/LICENSE similarity index 100% rename from tools/eslint/node_modules/mute-stream/LICENSE rename to tools/node_modules/eslint/node_modules/mute-stream/LICENSE diff --git a/tools/eslint/node_modules/mute-stream/README.md b/tools/node_modules/eslint/node_modules/mute-stream/README.md similarity index 100% rename from tools/eslint/node_modules/mute-stream/README.md rename to tools/node_modules/eslint/node_modules/mute-stream/README.md diff --git a/tools/eslint/node_modules/mute-stream/mute.js b/tools/node_modules/eslint/node_modules/mute-stream/mute.js similarity index 100% rename from tools/eslint/node_modules/mute-stream/mute.js rename to tools/node_modules/eslint/node_modules/mute-stream/mute.js diff --git a/tools/eslint/node_modules/mute-stream/package.json b/tools/node_modules/eslint/node_modules/mute-stream/package.json similarity index 100% rename from tools/eslint/node_modules/mute-stream/package.json rename to tools/node_modules/eslint/node_modules/mute-stream/package.json diff --git a/tools/eslint/node_modules/natural-compare/README.md b/tools/node_modules/eslint/node_modules/natural-compare/README.md similarity index 100% rename from tools/eslint/node_modules/natural-compare/README.md rename to tools/node_modules/eslint/node_modules/natural-compare/README.md diff --git a/tools/eslint/node_modules/natural-compare/index.js b/tools/node_modules/eslint/node_modules/natural-compare/index.js similarity index 100% rename from tools/eslint/node_modules/natural-compare/index.js rename to tools/node_modules/eslint/node_modules/natural-compare/index.js diff --git a/tools/eslint/node_modules/natural-compare/package.json b/tools/node_modules/eslint/node_modules/natural-compare/package.json similarity index 100% rename from tools/eslint/node_modules/natural-compare/package.json rename to tools/node_modules/eslint/node_modules/natural-compare/package.json diff --git a/tools/eslint/node_modules/object-assign/index.js b/tools/node_modules/eslint/node_modules/object-assign/index.js similarity index 100% rename from tools/eslint/node_modules/object-assign/index.js rename to tools/node_modules/eslint/node_modules/object-assign/index.js diff --git a/tools/eslint/node_modules/object-assign/license b/tools/node_modules/eslint/node_modules/object-assign/license similarity index 100% rename from tools/eslint/node_modules/object-assign/license rename to tools/node_modules/eslint/node_modules/object-assign/license diff --git a/tools/eslint/node_modules/object-assign/package.json b/tools/node_modules/eslint/node_modules/object-assign/package.json similarity index 100% rename from tools/eslint/node_modules/object-assign/package.json rename to tools/node_modules/eslint/node_modules/object-assign/package.json diff --git a/tools/eslint/node_modules/object-assign/readme.md b/tools/node_modules/eslint/node_modules/object-assign/readme.md similarity index 100% rename from tools/eslint/node_modules/object-assign/readme.md rename to tools/node_modules/eslint/node_modules/object-assign/readme.md diff --git a/tools/eslint/node_modules/once/LICENSE b/tools/node_modules/eslint/node_modules/once/LICENSE similarity index 100% rename from tools/eslint/node_modules/once/LICENSE rename to tools/node_modules/eslint/node_modules/once/LICENSE diff --git a/tools/eslint/node_modules/once/README.md b/tools/node_modules/eslint/node_modules/once/README.md similarity index 100% rename from tools/eslint/node_modules/once/README.md rename to tools/node_modules/eslint/node_modules/once/README.md diff --git a/tools/eslint/node_modules/once/once.js b/tools/node_modules/eslint/node_modules/once/once.js similarity index 100% rename from tools/eslint/node_modules/once/once.js rename to tools/node_modules/eslint/node_modules/once/once.js diff --git a/tools/eslint/node_modules/once/package.json b/tools/node_modules/eslint/node_modules/once/package.json similarity index 100% rename from tools/eslint/node_modules/once/package.json rename to tools/node_modules/eslint/node_modules/once/package.json diff --git a/tools/eslint/node_modules/onetime/index.js b/tools/node_modules/eslint/node_modules/onetime/index.js similarity index 100% rename from tools/eslint/node_modules/onetime/index.js rename to tools/node_modules/eslint/node_modules/onetime/index.js diff --git a/tools/eslint/node_modules/onetime/license b/tools/node_modules/eslint/node_modules/onetime/license similarity index 100% rename from tools/eslint/node_modules/onetime/license rename to tools/node_modules/eslint/node_modules/onetime/license diff --git a/tools/eslint/node_modules/onetime/package.json b/tools/node_modules/eslint/node_modules/onetime/package.json similarity index 100% rename from tools/eslint/node_modules/onetime/package.json rename to tools/node_modules/eslint/node_modules/onetime/package.json diff --git a/tools/eslint/node_modules/onetime/readme.md b/tools/node_modules/eslint/node_modules/onetime/readme.md similarity index 100% rename from tools/eslint/node_modules/onetime/readme.md rename to tools/node_modules/eslint/node_modules/onetime/readme.md diff --git a/tools/eslint/node_modules/optionator/LICENSE b/tools/node_modules/eslint/node_modules/optionator/LICENSE similarity index 100% rename from tools/eslint/node_modules/optionator/LICENSE rename to tools/node_modules/eslint/node_modules/optionator/LICENSE diff --git a/tools/eslint/node_modules/optionator/README.md b/tools/node_modules/eslint/node_modules/optionator/README.md similarity index 100% rename from tools/eslint/node_modules/optionator/README.md rename to tools/node_modules/eslint/node_modules/optionator/README.md diff --git a/tools/eslint/node_modules/optionator/lib/help.js b/tools/node_modules/eslint/node_modules/optionator/lib/help.js similarity index 100% rename from tools/eslint/node_modules/optionator/lib/help.js rename to tools/node_modules/eslint/node_modules/optionator/lib/help.js diff --git a/tools/eslint/node_modules/optionator/lib/index.js b/tools/node_modules/eslint/node_modules/optionator/lib/index.js similarity index 100% rename from tools/eslint/node_modules/optionator/lib/index.js rename to tools/node_modules/eslint/node_modules/optionator/lib/index.js diff --git a/tools/eslint/node_modules/optionator/lib/util.js b/tools/node_modules/eslint/node_modules/optionator/lib/util.js similarity index 100% rename from tools/eslint/node_modules/optionator/lib/util.js rename to tools/node_modules/eslint/node_modules/optionator/lib/util.js diff --git a/tools/eslint/node_modules/optionator/package.json b/tools/node_modules/eslint/node_modules/optionator/package.json similarity index 100% rename from tools/eslint/node_modules/optionator/package.json rename to tools/node_modules/eslint/node_modules/optionator/package.json diff --git a/tools/eslint/node_modules/os-tmpdir/index.js b/tools/node_modules/eslint/node_modules/os-tmpdir/index.js similarity index 100% rename from tools/eslint/node_modules/os-tmpdir/index.js rename to tools/node_modules/eslint/node_modules/os-tmpdir/index.js diff --git a/tools/eslint/node_modules/os-tmpdir/license b/tools/node_modules/eslint/node_modules/os-tmpdir/license similarity index 100% rename from tools/eslint/node_modules/os-tmpdir/license rename to tools/node_modules/eslint/node_modules/os-tmpdir/license diff --git a/tools/eslint/node_modules/os-tmpdir/package.json b/tools/node_modules/eslint/node_modules/os-tmpdir/package.json similarity index 100% rename from tools/eslint/node_modules/os-tmpdir/package.json rename to tools/node_modules/eslint/node_modules/os-tmpdir/package.json diff --git a/tools/eslint/node_modules/os-tmpdir/readme.md b/tools/node_modules/eslint/node_modules/os-tmpdir/readme.md similarity index 100% rename from tools/eslint/node_modules/os-tmpdir/readme.md rename to tools/node_modules/eslint/node_modules/os-tmpdir/readme.md diff --git a/tools/eslint/node_modules/parse-entities/LICENSE b/tools/node_modules/eslint/node_modules/parse-entities/LICENSE similarity index 100% rename from tools/eslint/node_modules/parse-entities/LICENSE rename to tools/node_modules/eslint/node_modules/parse-entities/LICENSE diff --git a/tools/eslint/node_modules/parse-entities/index.js b/tools/node_modules/eslint/node_modules/parse-entities/index.js similarity index 100% rename from tools/eslint/node_modules/parse-entities/index.js rename to tools/node_modules/eslint/node_modules/parse-entities/index.js diff --git a/tools/eslint/node_modules/parse-entities/package.json b/tools/node_modules/eslint/node_modules/parse-entities/package.json similarity index 100% rename from tools/eslint/node_modules/parse-entities/package.json rename to tools/node_modules/eslint/node_modules/parse-entities/package.json diff --git a/tools/eslint/node_modules/parse-entities/readme.md b/tools/node_modules/eslint/node_modules/parse-entities/readme.md similarity index 100% rename from tools/eslint/node_modules/parse-entities/readme.md rename to tools/node_modules/eslint/node_modules/parse-entities/readme.md diff --git a/tools/eslint/node_modules/path-is-absolute/index.js b/tools/node_modules/eslint/node_modules/path-is-absolute/index.js similarity index 100% rename from tools/eslint/node_modules/path-is-absolute/index.js rename to tools/node_modules/eslint/node_modules/path-is-absolute/index.js diff --git a/tools/eslint/node_modules/path-is-absolute/license b/tools/node_modules/eslint/node_modules/path-is-absolute/license similarity index 100% rename from tools/eslint/node_modules/path-is-absolute/license rename to tools/node_modules/eslint/node_modules/path-is-absolute/license diff --git a/tools/eslint/node_modules/path-is-absolute/package.json b/tools/node_modules/eslint/node_modules/path-is-absolute/package.json similarity index 100% rename from tools/eslint/node_modules/path-is-absolute/package.json rename to tools/node_modules/eslint/node_modules/path-is-absolute/package.json diff --git a/tools/eslint/node_modules/path-is-absolute/readme.md b/tools/node_modules/eslint/node_modules/path-is-absolute/readme.md similarity index 100% rename from tools/eslint/node_modules/path-is-absolute/readme.md rename to tools/node_modules/eslint/node_modules/path-is-absolute/readme.md diff --git a/tools/eslint/node_modules/path-is-inside/LICENSE.txt b/tools/node_modules/eslint/node_modules/path-is-inside/LICENSE.txt similarity index 100% rename from tools/eslint/node_modules/path-is-inside/LICENSE.txt rename to tools/node_modules/eslint/node_modules/path-is-inside/LICENSE.txt diff --git a/tools/eslint/node_modules/path-is-inside/lib/path-is-inside.js b/tools/node_modules/eslint/node_modules/path-is-inside/lib/path-is-inside.js similarity index 100% rename from tools/eslint/node_modules/path-is-inside/lib/path-is-inside.js rename to tools/node_modules/eslint/node_modules/path-is-inside/lib/path-is-inside.js diff --git a/tools/eslint/node_modules/path-is-inside/package.json b/tools/node_modules/eslint/node_modules/path-is-inside/package.json similarity index 100% rename from tools/eslint/node_modules/path-is-inside/package.json rename to tools/node_modules/eslint/node_modules/path-is-inside/package.json diff --git a/tools/eslint/node_modules/pify/index.js b/tools/node_modules/eslint/node_modules/pify/index.js similarity index 100% rename from tools/eslint/node_modules/pify/index.js rename to tools/node_modules/eslint/node_modules/pify/index.js diff --git a/tools/eslint/node_modules/pify/license b/tools/node_modules/eslint/node_modules/pify/license similarity index 100% rename from tools/eslint/node_modules/pify/license rename to tools/node_modules/eslint/node_modules/pify/license diff --git a/tools/eslint/node_modules/pify/package.json b/tools/node_modules/eslint/node_modules/pify/package.json similarity index 100% rename from tools/eslint/node_modules/pify/package.json rename to tools/node_modules/eslint/node_modules/pify/package.json diff --git a/tools/eslint/node_modules/pify/readme.md b/tools/node_modules/eslint/node_modules/pify/readme.md similarity index 100% rename from tools/eslint/node_modules/pify/readme.md rename to tools/node_modules/eslint/node_modules/pify/readme.md diff --git a/tools/eslint/node_modules/pinkie-promise/index.js b/tools/node_modules/eslint/node_modules/pinkie-promise/index.js similarity index 100% rename from tools/eslint/node_modules/pinkie-promise/index.js rename to tools/node_modules/eslint/node_modules/pinkie-promise/index.js diff --git a/tools/eslint/node_modules/pinkie-promise/license b/tools/node_modules/eslint/node_modules/pinkie-promise/license similarity index 100% rename from tools/eslint/node_modules/pinkie-promise/license rename to tools/node_modules/eslint/node_modules/pinkie-promise/license diff --git a/tools/eslint/node_modules/pinkie-promise/package.json b/tools/node_modules/eslint/node_modules/pinkie-promise/package.json similarity index 100% rename from tools/eslint/node_modules/pinkie-promise/package.json rename to tools/node_modules/eslint/node_modules/pinkie-promise/package.json diff --git a/tools/eslint/node_modules/pinkie-promise/readme.md b/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md similarity index 100% rename from tools/eslint/node_modules/pinkie-promise/readme.md rename to tools/node_modules/eslint/node_modules/pinkie-promise/readme.md diff --git a/tools/eslint/node_modules/pinkie/index.js b/tools/node_modules/eslint/node_modules/pinkie/index.js similarity index 100% rename from tools/eslint/node_modules/pinkie/index.js rename to tools/node_modules/eslint/node_modules/pinkie/index.js diff --git a/tools/eslint/node_modules/pinkie/license b/tools/node_modules/eslint/node_modules/pinkie/license similarity index 100% rename from tools/eslint/node_modules/pinkie/license rename to tools/node_modules/eslint/node_modules/pinkie/license diff --git a/tools/eslint/node_modules/pinkie/package.json b/tools/node_modules/eslint/node_modules/pinkie/package.json similarity index 100% rename from tools/eslint/node_modules/pinkie/package.json rename to tools/node_modules/eslint/node_modules/pinkie/package.json diff --git a/tools/eslint/node_modules/pinkie/readme.md b/tools/node_modules/eslint/node_modules/pinkie/readme.md similarity index 100% rename from tools/eslint/node_modules/pinkie/readme.md rename to tools/node_modules/eslint/node_modules/pinkie/readme.md diff --git a/tools/eslint/node_modules/pluralize/LICENSE b/tools/node_modules/eslint/node_modules/pluralize/LICENSE similarity index 100% rename from tools/eslint/node_modules/pluralize/LICENSE rename to tools/node_modules/eslint/node_modules/pluralize/LICENSE diff --git a/tools/eslint/node_modules/pluralize/Readme.md b/tools/node_modules/eslint/node_modules/pluralize/Readme.md similarity index 100% rename from tools/eslint/node_modules/pluralize/Readme.md rename to tools/node_modules/eslint/node_modules/pluralize/Readme.md diff --git a/tools/eslint/node_modules/pluralize/package.json b/tools/node_modules/eslint/node_modules/pluralize/package.json similarity index 100% rename from tools/eslint/node_modules/pluralize/package.json rename to tools/node_modules/eslint/node_modules/pluralize/package.json diff --git a/tools/eslint/node_modules/pluralize/pluralize.js b/tools/node_modules/eslint/node_modules/pluralize/pluralize.js similarity index 100% rename from tools/eslint/node_modules/pluralize/pluralize.js rename to tools/node_modules/eslint/node_modules/pluralize/pluralize.js diff --git a/tools/eslint/node_modules/prelude-ls/LICENSE b/tools/node_modules/eslint/node_modules/prelude-ls/LICENSE similarity index 100% rename from tools/eslint/node_modules/prelude-ls/LICENSE rename to tools/node_modules/eslint/node_modules/prelude-ls/LICENSE diff --git a/tools/eslint/node_modules/prelude-ls/README.md b/tools/node_modules/eslint/node_modules/prelude-ls/README.md similarity index 100% rename from tools/eslint/node_modules/prelude-ls/README.md rename to tools/node_modules/eslint/node_modules/prelude-ls/README.md diff --git a/tools/eslint/node_modules/prelude-ls/lib/Func.js b/tools/node_modules/eslint/node_modules/prelude-ls/lib/Func.js similarity index 100% rename from tools/eslint/node_modules/prelude-ls/lib/Func.js rename to tools/node_modules/eslint/node_modules/prelude-ls/lib/Func.js diff --git a/tools/eslint/node_modules/prelude-ls/lib/List.js b/tools/node_modules/eslint/node_modules/prelude-ls/lib/List.js similarity index 100% rename from tools/eslint/node_modules/prelude-ls/lib/List.js rename to tools/node_modules/eslint/node_modules/prelude-ls/lib/List.js diff --git a/tools/eslint/node_modules/prelude-ls/lib/Num.js b/tools/node_modules/eslint/node_modules/prelude-ls/lib/Num.js similarity index 100% rename from tools/eslint/node_modules/prelude-ls/lib/Num.js rename to tools/node_modules/eslint/node_modules/prelude-ls/lib/Num.js diff --git a/tools/eslint/node_modules/prelude-ls/lib/Obj.js b/tools/node_modules/eslint/node_modules/prelude-ls/lib/Obj.js similarity index 100% rename from tools/eslint/node_modules/prelude-ls/lib/Obj.js rename to tools/node_modules/eslint/node_modules/prelude-ls/lib/Obj.js diff --git a/tools/eslint/node_modules/prelude-ls/lib/Str.js b/tools/node_modules/eslint/node_modules/prelude-ls/lib/Str.js similarity index 100% rename from tools/eslint/node_modules/prelude-ls/lib/Str.js rename to tools/node_modules/eslint/node_modules/prelude-ls/lib/Str.js diff --git a/tools/eslint/node_modules/prelude-ls/lib/index.js b/tools/node_modules/eslint/node_modules/prelude-ls/lib/index.js similarity index 100% rename from tools/eslint/node_modules/prelude-ls/lib/index.js rename to tools/node_modules/eslint/node_modules/prelude-ls/lib/index.js diff --git a/tools/eslint/node_modules/prelude-ls/package.json b/tools/node_modules/eslint/node_modules/prelude-ls/package.json similarity index 100% rename from tools/eslint/node_modules/prelude-ls/package.json rename to tools/node_modules/eslint/node_modules/prelude-ls/package.json diff --git a/tools/eslint/node_modules/process-nextick-args/index.js b/tools/node_modules/eslint/node_modules/process-nextick-args/index.js similarity index 100% rename from tools/eslint/node_modules/process-nextick-args/index.js rename to tools/node_modules/eslint/node_modules/process-nextick-args/index.js diff --git a/tools/eslint/node_modules/process-nextick-args/license.md b/tools/node_modules/eslint/node_modules/process-nextick-args/license.md similarity index 100% rename from tools/eslint/node_modules/process-nextick-args/license.md rename to tools/node_modules/eslint/node_modules/process-nextick-args/license.md diff --git a/tools/eslint/node_modules/process-nextick-args/package.json b/tools/node_modules/eslint/node_modules/process-nextick-args/package.json similarity index 100% rename from tools/eslint/node_modules/process-nextick-args/package.json rename to tools/node_modules/eslint/node_modules/process-nextick-args/package.json diff --git a/tools/eslint/node_modules/process-nextick-args/readme.md b/tools/node_modules/eslint/node_modules/process-nextick-args/readme.md similarity index 100% rename from tools/eslint/node_modules/process-nextick-args/readme.md rename to tools/node_modules/eslint/node_modules/process-nextick-args/readme.md diff --git a/tools/eslint/node_modules/progress/LICENSE b/tools/node_modules/eslint/node_modules/progress/LICENSE similarity index 100% rename from tools/eslint/node_modules/progress/LICENSE rename to tools/node_modules/eslint/node_modules/progress/LICENSE diff --git a/tools/eslint/node_modules/progress/Makefile b/tools/node_modules/eslint/node_modules/progress/Makefile similarity index 100% rename from tools/eslint/node_modules/progress/Makefile rename to tools/node_modules/eslint/node_modules/progress/Makefile diff --git a/tools/eslint/node_modules/progress/Readme.md b/tools/node_modules/eslint/node_modules/progress/Readme.md similarity index 100% rename from tools/eslint/node_modules/progress/Readme.md rename to tools/node_modules/eslint/node_modules/progress/Readme.md diff --git a/tools/eslint/node_modules/progress/index.js b/tools/node_modules/eslint/node_modules/progress/index.js similarity index 100% rename from tools/eslint/node_modules/progress/index.js rename to tools/node_modules/eslint/node_modules/progress/index.js diff --git a/tools/eslint/node_modules/progress/lib/node-progress.js b/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js similarity index 100% rename from tools/eslint/node_modules/progress/lib/node-progress.js rename to tools/node_modules/eslint/node_modules/progress/lib/node-progress.js diff --git a/tools/eslint/node_modules/progress/package.json b/tools/node_modules/eslint/node_modules/progress/package.json similarity index 100% rename from tools/eslint/node_modules/progress/package.json rename to tools/node_modules/eslint/node_modules/progress/package.json diff --git a/tools/eslint/node_modules/pseudomap/LICENSE b/tools/node_modules/eslint/node_modules/pseudomap/LICENSE similarity index 100% rename from tools/eslint/node_modules/pseudomap/LICENSE rename to tools/node_modules/eslint/node_modules/pseudomap/LICENSE diff --git a/tools/eslint/node_modules/pseudomap/README.md b/tools/node_modules/eslint/node_modules/pseudomap/README.md similarity index 100% rename from tools/eslint/node_modules/pseudomap/README.md rename to tools/node_modules/eslint/node_modules/pseudomap/README.md diff --git a/tools/eslint/node_modules/pseudomap/map.js b/tools/node_modules/eslint/node_modules/pseudomap/map.js similarity index 100% rename from tools/eslint/node_modules/pseudomap/map.js rename to tools/node_modules/eslint/node_modules/pseudomap/map.js diff --git a/tools/eslint/node_modules/pseudomap/package.json b/tools/node_modules/eslint/node_modules/pseudomap/package.json similarity index 100% rename from tools/eslint/node_modules/pseudomap/package.json rename to tools/node_modules/eslint/node_modules/pseudomap/package.json diff --git a/tools/eslint/node_modules/pseudomap/pseudomap.js b/tools/node_modules/eslint/node_modules/pseudomap/pseudomap.js similarity index 100% rename from tools/eslint/node_modules/pseudomap/pseudomap.js rename to tools/node_modules/eslint/node_modules/pseudomap/pseudomap.js diff --git a/tools/eslint/node_modules/readable-stream/GOVERNANCE.md b/tools/node_modules/eslint/node_modules/readable-stream/GOVERNANCE.md similarity index 100% rename from tools/eslint/node_modules/readable-stream/GOVERNANCE.md rename to tools/node_modules/eslint/node_modules/readable-stream/GOVERNANCE.md diff --git a/tools/eslint/node_modules/readable-stream/LICENSE b/tools/node_modules/eslint/node_modules/readable-stream/LICENSE similarity index 100% rename from tools/eslint/node_modules/readable-stream/LICENSE rename to tools/node_modules/eslint/node_modules/readable-stream/LICENSE diff --git a/tools/eslint/node_modules/readable-stream/README.md b/tools/node_modules/eslint/node_modules/readable-stream/README.md similarity index 100% rename from tools/eslint/node_modules/readable-stream/README.md rename to tools/node_modules/eslint/node_modules/readable-stream/README.md diff --git a/tools/eslint/node_modules/readable-stream/duplex-browser.js b/tools/node_modules/eslint/node_modules/readable-stream/duplex-browser.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/duplex-browser.js rename to tools/node_modules/eslint/node_modules/readable-stream/duplex-browser.js diff --git a/tools/eslint/node_modules/readable-stream/duplex.js b/tools/node_modules/eslint/node_modules/readable-stream/duplex.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/duplex.js rename to tools/node_modules/eslint/node_modules/readable-stream/duplex.js diff --git a/tools/eslint/node_modules/readable-stream/lib/_stream_duplex.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/_stream_duplex.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_duplex.js diff --git a/tools/eslint/node_modules/readable-stream/lib/_stream_passthrough.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_passthrough.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/_stream_passthrough.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_passthrough.js diff --git a/tools/eslint/node_modules/readable-stream/lib/_stream_readable.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/_stream_readable.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_readable.js diff --git a/tools/eslint/node_modules/readable-stream/lib/_stream_transform.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/_stream_transform.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_transform.js diff --git a/tools/eslint/node_modules/readable-stream/lib/_stream_writable.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/_stream_writable.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/_stream_writable.js diff --git a/tools/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/BufferList.js diff --git a/tools/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/destroy.js diff --git a/tools/eslint/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/stream-browser.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/internal/streams/stream-browser.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/stream-browser.js diff --git a/tools/eslint/node_modules/readable-stream/lib/internal/streams/stream.js b/tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/stream.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/lib/internal/streams/stream.js rename to tools/node_modules/eslint/node_modules/readable-stream/lib/internal/streams/stream.js diff --git a/tools/eslint/node_modules/readable-stream/package.json b/tools/node_modules/eslint/node_modules/readable-stream/package.json similarity index 100% rename from tools/eslint/node_modules/readable-stream/package.json rename to tools/node_modules/eslint/node_modules/readable-stream/package.json diff --git a/tools/eslint/node_modules/readable-stream/passthrough.js b/tools/node_modules/eslint/node_modules/readable-stream/passthrough.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/passthrough.js rename to tools/node_modules/eslint/node_modules/readable-stream/passthrough.js diff --git a/tools/eslint/node_modules/readable-stream/readable-browser.js b/tools/node_modules/eslint/node_modules/readable-stream/readable-browser.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/readable-browser.js rename to tools/node_modules/eslint/node_modules/readable-stream/readable-browser.js diff --git a/tools/eslint/node_modules/readable-stream/readable.js b/tools/node_modules/eslint/node_modules/readable-stream/readable.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/readable.js rename to tools/node_modules/eslint/node_modules/readable-stream/readable.js diff --git a/tools/eslint/node_modules/readable-stream/transform.js b/tools/node_modules/eslint/node_modules/readable-stream/transform.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/transform.js rename to tools/node_modules/eslint/node_modules/readable-stream/transform.js diff --git a/tools/eslint/node_modules/readable-stream/writable-browser.js b/tools/node_modules/eslint/node_modules/readable-stream/writable-browser.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/writable-browser.js rename to tools/node_modules/eslint/node_modules/readable-stream/writable-browser.js diff --git a/tools/eslint/node_modules/readable-stream/writable.js b/tools/node_modules/eslint/node_modules/readable-stream/writable.js similarity index 100% rename from tools/eslint/node_modules/readable-stream/writable.js rename to tools/node_modules/eslint/node_modules/readable-stream/writable.js diff --git a/tools/eslint/node_modules/remark-parse/index.js b/tools/node_modules/eslint/node_modules/remark-parse/index.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/index.js rename to tools/node_modules/eslint/node_modules/remark-parse/index.js diff --git a/tools/eslint/node_modules/remark-parse/lib/block-elements.json b/tools/node_modules/eslint/node_modules/remark-parse/lib/block-elements.json similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/block-elements.json rename to tools/node_modules/eslint/node_modules/remark-parse/lib/block-elements.json diff --git a/tools/eslint/node_modules/remark-parse/lib/decode.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/decode.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/decode.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/decode.js diff --git a/tools/eslint/node_modules/remark-parse/lib/defaults.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/defaults.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/defaults.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/defaults.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/break.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/break.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/break.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/break.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/code-inline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/code-inline.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/code-inline.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/code-inline.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/delete.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/delete.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/delete.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/delete.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/emphasis.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/emphasis.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/emphasis.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/emphasis.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/escape.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/escape.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/escape.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/escape.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/link.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/link.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/link.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/link.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/strong.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/strong.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/strong.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/strong.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/tag.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/tag.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/tag.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/tag.js diff --git a/tools/eslint/node_modules/remark-parse/lib/locate/url.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/url.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/locate/url.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/locate/url.js diff --git a/tools/eslint/node_modules/remark-parse/lib/parse.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/parse.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/parse.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/parse.js diff --git a/tools/eslint/node_modules/remark-parse/lib/parser.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/parser.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/parser.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/parser.js diff --git a/tools/eslint/node_modules/remark-parse/lib/set-options.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/set-options.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/set-options.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/set-options.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/break.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/break.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/break.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/break.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/definition.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/definition.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/definition.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/definition.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/delete.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/delete.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/delete.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/delete.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/escape.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/escape.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/escape.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/escape.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/html-block.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-block.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/html-block.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-block.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/link.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/link.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/link.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/link.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/list.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/list.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/list.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/list.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/newline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/newline.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/newline.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/newline.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/reference.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/reference.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/reference.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/reference.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/strong.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/strong.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/strong.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/strong.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/table.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/table.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/table.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/table.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/text.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/text.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/url.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/url.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/url.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/url.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenize/yaml.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/yaml.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenize/yaml.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/yaml.js diff --git a/tools/eslint/node_modules/remark-parse/lib/tokenizer.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenizer.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/tokenizer.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/tokenizer.js diff --git a/tools/eslint/node_modules/remark-parse/lib/unescape.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/unescape.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/unescape.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/unescape.js diff --git a/tools/eslint/node_modules/remark-parse/lib/util/get-indentation.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/get-indentation.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/util/get-indentation.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/util/get-indentation.js diff --git a/tools/eslint/node_modules/remark-parse/lib/util/html.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/html.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/util/html.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/util/html.js diff --git a/tools/eslint/node_modules/remark-parse/lib/util/interrupt.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/interrupt.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/util/interrupt.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/util/interrupt.js diff --git a/tools/eslint/node_modules/remark-parse/lib/util/normalize.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/normalize.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/util/normalize.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/util/normalize.js diff --git a/tools/eslint/node_modules/remark-parse/lib/util/remove-indentation.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/remove-indentation.js similarity index 100% rename from tools/eslint/node_modules/remark-parse/lib/util/remove-indentation.js rename to tools/node_modules/eslint/node_modules/remark-parse/lib/util/remove-indentation.js diff --git a/tools/eslint/node_modules/remark-parse/package.json b/tools/node_modules/eslint/node_modules/remark-parse/package.json similarity index 100% rename from tools/eslint/node_modules/remark-parse/package.json rename to tools/node_modules/eslint/node_modules/remark-parse/package.json diff --git a/tools/eslint/node_modules/remark-parse/readme.md b/tools/node_modules/eslint/node_modules/remark-parse/readme.md similarity index 100% rename from tools/eslint/node_modules/remark-parse/readme.md rename to tools/node_modules/eslint/node_modules/remark-parse/readme.md diff --git a/tools/eslint/node_modules/repeat-string/LICENSE b/tools/node_modules/eslint/node_modules/repeat-string/LICENSE similarity index 100% rename from tools/eslint/node_modules/repeat-string/LICENSE rename to tools/node_modules/eslint/node_modules/repeat-string/LICENSE diff --git a/tools/eslint/node_modules/repeat-string/README.md b/tools/node_modules/eslint/node_modules/repeat-string/README.md similarity index 100% rename from tools/eslint/node_modules/repeat-string/README.md rename to tools/node_modules/eslint/node_modules/repeat-string/README.md diff --git a/tools/eslint/node_modules/repeat-string/index.js b/tools/node_modules/eslint/node_modules/repeat-string/index.js similarity index 100% rename from tools/eslint/node_modules/repeat-string/index.js rename to tools/node_modules/eslint/node_modules/repeat-string/index.js diff --git a/tools/eslint/node_modules/repeat-string/package.json b/tools/node_modules/eslint/node_modules/repeat-string/package.json similarity index 100% rename from tools/eslint/node_modules/repeat-string/package.json rename to tools/node_modules/eslint/node_modules/repeat-string/package.json diff --git a/tools/eslint/node_modules/replace-ext/LICENSE b/tools/node_modules/eslint/node_modules/replace-ext/LICENSE similarity index 100% rename from tools/eslint/node_modules/replace-ext/LICENSE rename to tools/node_modules/eslint/node_modules/replace-ext/LICENSE diff --git a/tools/eslint/node_modules/replace-ext/README.md b/tools/node_modules/eslint/node_modules/replace-ext/README.md similarity index 100% rename from tools/eslint/node_modules/replace-ext/README.md rename to tools/node_modules/eslint/node_modules/replace-ext/README.md diff --git a/tools/eslint/node_modules/replace-ext/index.js b/tools/node_modules/eslint/node_modules/replace-ext/index.js similarity index 100% rename from tools/eslint/node_modules/replace-ext/index.js rename to tools/node_modules/eslint/node_modules/replace-ext/index.js diff --git a/tools/eslint/node_modules/replace-ext/package.json b/tools/node_modules/eslint/node_modules/replace-ext/package.json similarity index 100% rename from tools/eslint/node_modules/replace-ext/package.json rename to tools/node_modules/eslint/node_modules/replace-ext/package.json diff --git a/tools/eslint/node_modules/require-uncached/index.js b/tools/node_modules/eslint/node_modules/require-uncached/index.js similarity index 100% rename from tools/eslint/node_modules/require-uncached/index.js rename to tools/node_modules/eslint/node_modules/require-uncached/index.js diff --git a/tools/eslint/node_modules/require-uncached/license b/tools/node_modules/eslint/node_modules/require-uncached/license similarity index 100% rename from tools/eslint/node_modules/require-uncached/license rename to tools/node_modules/eslint/node_modules/require-uncached/license diff --git a/tools/eslint/node_modules/require-uncached/package.json b/tools/node_modules/eslint/node_modules/require-uncached/package.json similarity index 100% rename from tools/eslint/node_modules/require-uncached/package.json rename to tools/node_modules/eslint/node_modules/require-uncached/package.json diff --git a/tools/eslint/node_modules/require-uncached/readme.md b/tools/node_modules/eslint/node_modules/require-uncached/readme.md similarity index 100% rename from tools/eslint/node_modules/require-uncached/readme.md rename to tools/node_modules/eslint/node_modules/require-uncached/readme.md diff --git a/tools/eslint/node_modules/resolve-from/index.js b/tools/node_modules/eslint/node_modules/resolve-from/index.js similarity index 100% rename from tools/eslint/node_modules/resolve-from/index.js rename to tools/node_modules/eslint/node_modules/resolve-from/index.js diff --git a/tools/eslint/node_modules/resolve-from/license b/tools/node_modules/eslint/node_modules/resolve-from/license similarity index 100% rename from tools/eslint/node_modules/resolve-from/license rename to tools/node_modules/eslint/node_modules/resolve-from/license diff --git a/tools/eslint/node_modules/resolve-from/package.json b/tools/node_modules/eslint/node_modules/resolve-from/package.json similarity index 100% rename from tools/eslint/node_modules/resolve-from/package.json rename to tools/node_modules/eslint/node_modules/resolve-from/package.json diff --git a/tools/eslint/node_modules/resolve-from/readme.md b/tools/node_modules/eslint/node_modules/resolve-from/readme.md similarity index 100% rename from tools/eslint/node_modules/resolve-from/readme.md rename to tools/node_modules/eslint/node_modules/resolve-from/readme.md diff --git a/tools/eslint/node_modules/restore-cursor/index.js b/tools/node_modules/eslint/node_modules/restore-cursor/index.js similarity index 100% rename from tools/eslint/node_modules/restore-cursor/index.js rename to tools/node_modules/eslint/node_modules/restore-cursor/index.js diff --git a/tools/eslint/node_modules/restore-cursor/license b/tools/node_modules/eslint/node_modules/restore-cursor/license similarity index 100% rename from tools/eslint/node_modules/restore-cursor/license rename to tools/node_modules/eslint/node_modules/restore-cursor/license diff --git a/tools/eslint/node_modules/restore-cursor/package.json b/tools/node_modules/eslint/node_modules/restore-cursor/package.json similarity index 100% rename from tools/eslint/node_modules/restore-cursor/package.json rename to tools/node_modules/eslint/node_modules/restore-cursor/package.json diff --git a/tools/eslint/node_modules/restore-cursor/readme.md b/tools/node_modules/eslint/node_modules/restore-cursor/readme.md similarity index 100% rename from tools/eslint/node_modules/restore-cursor/readme.md rename to tools/node_modules/eslint/node_modules/restore-cursor/readme.md diff --git a/tools/eslint/node_modules/rimraf/LICENSE b/tools/node_modules/eslint/node_modules/rimraf/LICENSE similarity index 100% rename from tools/eslint/node_modules/rimraf/LICENSE rename to tools/node_modules/eslint/node_modules/rimraf/LICENSE diff --git a/tools/eslint/node_modules/rimraf/README.md b/tools/node_modules/eslint/node_modules/rimraf/README.md similarity index 100% rename from tools/eslint/node_modules/rimraf/README.md rename to tools/node_modules/eslint/node_modules/rimraf/README.md diff --git a/tools/eslint/node_modules/rimraf/bin.js b/tools/node_modules/eslint/node_modules/rimraf/bin.js similarity index 100% rename from tools/eslint/node_modules/rimraf/bin.js rename to tools/node_modules/eslint/node_modules/rimraf/bin.js diff --git a/tools/eslint/node_modules/rimraf/package.json b/tools/node_modules/eslint/node_modules/rimraf/package.json similarity index 100% rename from tools/eslint/node_modules/rimraf/package.json rename to tools/node_modules/eslint/node_modules/rimraf/package.json diff --git a/tools/eslint/node_modules/rimraf/rimraf.js b/tools/node_modules/eslint/node_modules/rimraf/rimraf.js similarity index 100% rename from tools/eslint/node_modules/rimraf/rimraf.js rename to tools/node_modules/eslint/node_modules/rimraf/rimraf.js diff --git a/tools/eslint/node_modules/run-async/LICENSE b/tools/node_modules/eslint/node_modules/run-async/LICENSE similarity index 100% rename from tools/eslint/node_modules/run-async/LICENSE rename to tools/node_modules/eslint/node_modules/run-async/LICENSE diff --git a/tools/eslint/node_modules/run-async/README.md b/tools/node_modules/eslint/node_modules/run-async/README.md similarity index 100% rename from tools/eslint/node_modules/run-async/README.md rename to tools/node_modules/eslint/node_modules/run-async/README.md diff --git a/tools/eslint/node_modules/run-async/index.js b/tools/node_modules/eslint/node_modules/run-async/index.js similarity index 100% rename from tools/eslint/node_modules/run-async/index.js rename to tools/node_modules/eslint/node_modules/run-async/index.js diff --git a/tools/eslint/node_modules/run-async/package.json b/tools/node_modules/eslint/node_modules/run-async/package.json similarity index 100% rename from tools/eslint/node_modules/run-async/package.json rename to tools/node_modules/eslint/node_modules/run-async/package.json diff --git a/tools/eslint/node_modules/rx-lite-aggregates/package.json b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json similarity index 100% rename from tools/eslint/node_modules/rx-lite-aggregates/package.json rename to tools/node_modules/eslint/node_modules/rx-lite-aggregates/package.json diff --git a/tools/eslint/node_modules/rx-lite-aggregates/readme.md b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/readme.md similarity index 100% rename from tools/eslint/node_modules/rx-lite-aggregates/readme.md rename to tools/node_modules/eslint/node_modules/rx-lite-aggregates/readme.md diff --git a/tools/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js similarity index 100% rename from tools/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js rename to tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js diff --git a/tools/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map similarity index 100% rename from tools/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map rename to tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map diff --git a/tools/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js similarity index 100% rename from tools/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js rename to tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js diff --git a/tools/eslint/node_modules/rx-lite/package.json b/tools/node_modules/eslint/node_modules/rx-lite/package.json similarity index 100% rename from tools/eslint/node_modules/rx-lite/package.json rename to tools/node_modules/eslint/node_modules/rx-lite/package.json diff --git a/tools/eslint/node_modules/rx-lite/readme.md b/tools/node_modules/eslint/node_modules/rx-lite/readme.md similarity index 100% rename from tools/eslint/node_modules/rx-lite/readme.md rename to tools/node_modules/eslint/node_modules/rx-lite/readme.md diff --git a/tools/eslint/node_modules/rx-lite/rx.lite.js b/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.js similarity index 100% rename from tools/eslint/node_modules/rx-lite/rx.lite.js rename to tools/node_modules/eslint/node_modules/rx-lite/rx.lite.js diff --git a/tools/eslint/node_modules/rx-lite/rx.lite.map b/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.map similarity index 100% rename from tools/eslint/node_modules/rx-lite/rx.lite.map rename to tools/node_modules/eslint/node_modules/rx-lite/rx.lite.map diff --git a/tools/eslint/node_modules/rx-lite/rx.lite.min.js b/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.min.js similarity index 100% rename from tools/eslint/node_modules/rx-lite/rx.lite.min.js rename to tools/node_modules/eslint/node_modules/rx-lite/rx.lite.min.js diff --git a/tools/eslint/node_modules/safe-buffer/LICENSE b/tools/node_modules/eslint/node_modules/safe-buffer/LICENSE similarity index 100% rename from tools/eslint/node_modules/safe-buffer/LICENSE rename to tools/node_modules/eslint/node_modules/safe-buffer/LICENSE diff --git a/tools/eslint/node_modules/safe-buffer/README.md b/tools/node_modules/eslint/node_modules/safe-buffer/README.md similarity index 100% rename from tools/eslint/node_modules/safe-buffer/README.md rename to tools/node_modules/eslint/node_modules/safe-buffer/README.md diff --git a/tools/eslint/node_modules/safe-buffer/index.js b/tools/node_modules/eslint/node_modules/safe-buffer/index.js similarity index 100% rename from tools/eslint/node_modules/safe-buffer/index.js rename to tools/node_modules/eslint/node_modules/safe-buffer/index.js diff --git a/tools/eslint/node_modules/safe-buffer/package.json b/tools/node_modules/eslint/node_modules/safe-buffer/package.json similarity index 100% rename from tools/eslint/node_modules/safe-buffer/package.json rename to tools/node_modules/eslint/node_modules/safe-buffer/package.json diff --git a/tools/eslint/node_modules/semver/LICENSE b/tools/node_modules/eslint/node_modules/semver/LICENSE similarity index 100% rename from tools/eslint/node_modules/semver/LICENSE rename to tools/node_modules/eslint/node_modules/semver/LICENSE diff --git a/tools/eslint/node_modules/semver/README.md b/tools/node_modules/eslint/node_modules/semver/README.md similarity index 100% rename from tools/eslint/node_modules/semver/README.md rename to tools/node_modules/eslint/node_modules/semver/README.md diff --git a/tools/eslint/node_modules/semver/bin/semver b/tools/node_modules/eslint/node_modules/semver/bin/semver similarity index 100% rename from tools/eslint/node_modules/semver/bin/semver rename to tools/node_modules/eslint/node_modules/semver/bin/semver diff --git a/tools/eslint/node_modules/semver/package.json b/tools/node_modules/eslint/node_modules/semver/package.json similarity index 100% rename from tools/eslint/node_modules/semver/package.json rename to tools/node_modules/eslint/node_modules/semver/package.json diff --git a/tools/eslint/node_modules/semver/range.bnf b/tools/node_modules/eslint/node_modules/semver/range.bnf similarity index 100% rename from tools/eslint/node_modules/semver/range.bnf rename to tools/node_modules/eslint/node_modules/semver/range.bnf diff --git a/tools/eslint/node_modules/semver/semver.js b/tools/node_modules/eslint/node_modules/semver/semver.js similarity index 100% rename from tools/eslint/node_modules/semver/semver.js rename to tools/node_modules/eslint/node_modules/semver/semver.js diff --git a/tools/eslint/node_modules/shebang-command/index.js b/tools/node_modules/eslint/node_modules/shebang-command/index.js similarity index 100% rename from tools/eslint/node_modules/shebang-command/index.js rename to tools/node_modules/eslint/node_modules/shebang-command/index.js diff --git a/tools/eslint/node_modules/shebang-command/license b/tools/node_modules/eslint/node_modules/shebang-command/license similarity index 100% rename from tools/eslint/node_modules/shebang-command/license rename to tools/node_modules/eslint/node_modules/shebang-command/license diff --git a/tools/eslint/node_modules/shebang-command/package.json b/tools/node_modules/eslint/node_modules/shebang-command/package.json similarity index 100% rename from tools/eslint/node_modules/shebang-command/package.json rename to tools/node_modules/eslint/node_modules/shebang-command/package.json diff --git a/tools/eslint/node_modules/shebang-command/readme.md b/tools/node_modules/eslint/node_modules/shebang-command/readme.md similarity index 100% rename from tools/eslint/node_modules/shebang-command/readme.md rename to tools/node_modules/eslint/node_modules/shebang-command/readme.md diff --git a/tools/eslint/node_modules/shebang-regex/index.js b/tools/node_modules/eslint/node_modules/shebang-regex/index.js similarity index 100% rename from tools/eslint/node_modules/shebang-regex/index.js rename to tools/node_modules/eslint/node_modules/shebang-regex/index.js diff --git a/tools/eslint/node_modules/shebang-regex/license b/tools/node_modules/eslint/node_modules/shebang-regex/license similarity index 100% rename from tools/eslint/node_modules/shebang-regex/license rename to tools/node_modules/eslint/node_modules/shebang-regex/license diff --git a/tools/eslint/node_modules/shebang-regex/package.json b/tools/node_modules/eslint/node_modules/shebang-regex/package.json similarity index 100% rename from tools/eslint/node_modules/shebang-regex/package.json rename to tools/node_modules/eslint/node_modules/shebang-regex/package.json diff --git a/tools/eslint/node_modules/shebang-regex/readme.md b/tools/node_modules/eslint/node_modules/shebang-regex/readme.md similarity index 100% rename from tools/eslint/node_modules/shebang-regex/readme.md rename to tools/node_modules/eslint/node_modules/shebang-regex/readme.md diff --git a/tools/eslint/node_modules/signal-exit/LICENSE.txt b/tools/node_modules/eslint/node_modules/signal-exit/LICENSE.txt similarity index 100% rename from tools/eslint/node_modules/signal-exit/LICENSE.txt rename to tools/node_modules/eslint/node_modules/signal-exit/LICENSE.txt diff --git a/tools/eslint/node_modules/signal-exit/README.md b/tools/node_modules/eslint/node_modules/signal-exit/README.md similarity index 100% rename from tools/eslint/node_modules/signal-exit/README.md rename to tools/node_modules/eslint/node_modules/signal-exit/README.md diff --git a/tools/eslint/node_modules/signal-exit/index.js b/tools/node_modules/eslint/node_modules/signal-exit/index.js similarity index 100% rename from tools/eslint/node_modules/signal-exit/index.js rename to tools/node_modules/eslint/node_modules/signal-exit/index.js diff --git a/tools/eslint/node_modules/signal-exit/package.json b/tools/node_modules/eslint/node_modules/signal-exit/package.json similarity index 100% rename from tools/eslint/node_modules/signal-exit/package.json rename to tools/node_modules/eslint/node_modules/signal-exit/package.json diff --git a/tools/eslint/node_modules/signal-exit/signals.js b/tools/node_modules/eslint/node_modules/signal-exit/signals.js similarity index 100% rename from tools/eslint/node_modules/signal-exit/signals.js rename to tools/node_modules/eslint/node_modules/signal-exit/signals.js diff --git a/tools/eslint/node_modules/slice-ansi/index.js b/tools/node_modules/eslint/node_modules/slice-ansi/index.js similarity index 100% rename from tools/eslint/node_modules/slice-ansi/index.js rename to tools/node_modules/eslint/node_modules/slice-ansi/index.js diff --git a/tools/eslint/node_modules/slice-ansi/license b/tools/node_modules/eslint/node_modules/slice-ansi/license similarity index 100% rename from tools/eslint/node_modules/slice-ansi/license rename to tools/node_modules/eslint/node_modules/slice-ansi/license diff --git a/tools/eslint/node_modules/slice-ansi/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/package.json similarity index 100% rename from tools/eslint/node_modules/slice-ansi/package.json rename to tools/node_modules/eslint/node_modules/slice-ansi/package.json diff --git a/tools/eslint/node_modules/slice-ansi/readme.md b/tools/node_modules/eslint/node_modules/slice-ansi/readme.md similarity index 100% rename from tools/eslint/node_modules/slice-ansi/readme.md rename to tools/node_modules/eslint/node_modules/slice-ansi/readme.md diff --git a/tools/eslint/node_modules/sprintf-js/LICENSE b/tools/node_modules/eslint/node_modules/sprintf-js/LICENSE similarity index 100% rename from tools/eslint/node_modules/sprintf-js/LICENSE rename to tools/node_modules/eslint/node_modules/sprintf-js/LICENSE diff --git a/tools/eslint/node_modules/sprintf-js/README.md b/tools/node_modules/eslint/node_modules/sprintf-js/README.md similarity index 100% rename from tools/eslint/node_modules/sprintf-js/README.md rename to tools/node_modules/eslint/node_modules/sprintf-js/README.md diff --git a/tools/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js b/tools/node_modules/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js similarity index 100% rename from tools/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js rename to tools/node_modules/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js diff --git a/tools/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js.map b/tools/node_modules/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js.map similarity index 100% rename from tools/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js.map rename to tools/node_modules/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.js.map diff --git a/tools/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.map b/tools/node_modules/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.map similarity index 100% rename from tools/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.map rename to tools/node_modules/eslint/node_modules/sprintf-js/dist/angular-sprintf.min.map diff --git a/tools/eslint/node_modules/sprintf-js/dist/sprintf.min.js b/tools/node_modules/eslint/node_modules/sprintf-js/dist/sprintf.min.js similarity index 100% rename from tools/eslint/node_modules/sprintf-js/dist/sprintf.min.js rename to tools/node_modules/eslint/node_modules/sprintf-js/dist/sprintf.min.js diff --git a/tools/eslint/node_modules/sprintf-js/dist/sprintf.min.js.map b/tools/node_modules/eslint/node_modules/sprintf-js/dist/sprintf.min.js.map similarity index 100% rename from tools/eslint/node_modules/sprintf-js/dist/sprintf.min.js.map rename to tools/node_modules/eslint/node_modules/sprintf-js/dist/sprintf.min.js.map diff --git a/tools/eslint/node_modules/sprintf-js/dist/sprintf.min.map b/tools/node_modules/eslint/node_modules/sprintf-js/dist/sprintf.min.map similarity index 100% rename from tools/eslint/node_modules/sprintf-js/dist/sprintf.min.map rename to tools/node_modules/eslint/node_modules/sprintf-js/dist/sprintf.min.map diff --git a/tools/eslint/node_modules/sprintf-js/package.json b/tools/node_modules/eslint/node_modules/sprintf-js/package.json similarity index 100% rename from tools/eslint/node_modules/sprintf-js/package.json rename to tools/node_modules/eslint/node_modules/sprintf-js/package.json diff --git a/tools/eslint/node_modules/sprintf-js/src/angular-sprintf.js b/tools/node_modules/eslint/node_modules/sprintf-js/src/angular-sprintf.js similarity index 100% rename from tools/eslint/node_modules/sprintf-js/src/angular-sprintf.js rename to tools/node_modules/eslint/node_modules/sprintf-js/src/angular-sprintf.js diff --git a/tools/eslint/node_modules/sprintf-js/src/sprintf.js b/tools/node_modules/eslint/node_modules/sprintf-js/src/sprintf.js similarity index 100% rename from tools/eslint/node_modules/sprintf-js/src/sprintf.js rename to tools/node_modules/eslint/node_modules/sprintf-js/src/sprintf.js diff --git a/tools/eslint/node_modules/state-toggle/LICENSE b/tools/node_modules/eslint/node_modules/state-toggle/LICENSE similarity index 100% rename from tools/eslint/node_modules/state-toggle/LICENSE rename to tools/node_modules/eslint/node_modules/state-toggle/LICENSE diff --git a/tools/eslint/node_modules/state-toggle/history.md b/tools/node_modules/eslint/node_modules/state-toggle/history.md similarity index 100% rename from tools/eslint/node_modules/state-toggle/history.md rename to tools/node_modules/eslint/node_modules/state-toggle/history.md diff --git a/tools/eslint/node_modules/state-toggle/index.js b/tools/node_modules/eslint/node_modules/state-toggle/index.js similarity index 100% rename from tools/eslint/node_modules/state-toggle/index.js rename to tools/node_modules/eslint/node_modules/state-toggle/index.js diff --git a/tools/eslint/node_modules/state-toggle/package.json b/tools/node_modules/eslint/node_modules/state-toggle/package.json similarity index 100% rename from tools/eslint/node_modules/state-toggle/package.json rename to tools/node_modules/eslint/node_modules/state-toggle/package.json diff --git a/tools/eslint/node_modules/state-toggle/readme.md b/tools/node_modules/eslint/node_modules/state-toggle/readme.md similarity index 100% rename from tools/eslint/node_modules/state-toggle/readme.md rename to tools/node_modules/eslint/node_modules/state-toggle/readme.md diff --git a/tools/eslint/node_modules/string-width/index.js b/tools/node_modules/eslint/node_modules/string-width/index.js similarity index 100% rename from tools/eslint/node_modules/string-width/index.js rename to tools/node_modules/eslint/node_modules/string-width/index.js diff --git a/tools/eslint/node_modules/string-width/license b/tools/node_modules/eslint/node_modules/string-width/license similarity index 100% rename from tools/eslint/node_modules/string-width/license rename to tools/node_modules/eslint/node_modules/string-width/license diff --git a/tools/eslint/node_modules/string-width/package.json b/tools/node_modules/eslint/node_modules/string-width/package.json similarity index 100% rename from tools/eslint/node_modules/string-width/package.json rename to tools/node_modules/eslint/node_modules/string-width/package.json diff --git a/tools/eslint/node_modules/string-width/readme.md b/tools/node_modules/eslint/node_modules/string-width/readme.md similarity index 100% rename from tools/eslint/node_modules/string-width/readme.md rename to tools/node_modules/eslint/node_modules/string-width/readme.md diff --git a/tools/eslint/node_modules/string_decoder/LICENSE b/tools/node_modules/eslint/node_modules/string_decoder/LICENSE similarity index 100% rename from tools/eslint/node_modules/string_decoder/LICENSE rename to tools/node_modules/eslint/node_modules/string_decoder/LICENSE diff --git a/tools/eslint/node_modules/string_decoder/README.md b/tools/node_modules/eslint/node_modules/string_decoder/README.md similarity index 100% rename from tools/eslint/node_modules/string_decoder/README.md rename to tools/node_modules/eslint/node_modules/string_decoder/README.md diff --git a/tools/eslint/node_modules/string_decoder/lib/string_decoder.js b/tools/node_modules/eslint/node_modules/string_decoder/lib/string_decoder.js similarity index 100% rename from tools/eslint/node_modules/string_decoder/lib/string_decoder.js rename to tools/node_modules/eslint/node_modules/string_decoder/lib/string_decoder.js diff --git a/tools/eslint/node_modules/string_decoder/package.json b/tools/node_modules/eslint/node_modules/string_decoder/package.json similarity index 100% rename from tools/eslint/node_modules/string_decoder/package.json rename to tools/node_modules/eslint/node_modules/string_decoder/package.json diff --git a/tools/eslint/node_modules/strip-ansi/index.js b/tools/node_modules/eslint/node_modules/strip-ansi/index.js similarity index 100% rename from tools/eslint/node_modules/strip-ansi/index.js rename to tools/node_modules/eslint/node_modules/strip-ansi/index.js diff --git a/tools/eslint/node_modules/strip-ansi/license b/tools/node_modules/eslint/node_modules/strip-ansi/license similarity index 100% rename from tools/eslint/node_modules/strip-ansi/license rename to tools/node_modules/eslint/node_modules/strip-ansi/license diff --git a/tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.js similarity index 100% rename from tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.js rename to tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.js diff --git a/tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/license b/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/license similarity index 100% rename from tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/license rename to tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/license diff --git a/tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json similarity index 100% rename from tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json rename to tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json diff --git a/tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/readme.md b/tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/readme.md similarity index 100% rename from tools/eslint/node_modules/strip-ansi/node_modules/ansi-regex/readme.md rename to tools/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/readme.md diff --git a/tools/eslint/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/strip-ansi/package.json similarity index 100% rename from tools/eslint/node_modules/strip-ansi/package.json rename to tools/node_modules/eslint/node_modules/strip-ansi/package.json diff --git a/tools/eslint/node_modules/strip-ansi/readme.md b/tools/node_modules/eslint/node_modules/strip-ansi/readme.md similarity index 100% rename from tools/eslint/node_modules/strip-ansi/readme.md rename to tools/node_modules/eslint/node_modules/strip-ansi/readme.md diff --git a/tools/eslint/node_modules/strip-json-comments/index.js b/tools/node_modules/eslint/node_modules/strip-json-comments/index.js similarity index 100% rename from tools/eslint/node_modules/strip-json-comments/index.js rename to tools/node_modules/eslint/node_modules/strip-json-comments/index.js diff --git a/tools/eslint/node_modules/strip-json-comments/license b/tools/node_modules/eslint/node_modules/strip-json-comments/license similarity index 100% rename from tools/eslint/node_modules/strip-json-comments/license rename to tools/node_modules/eslint/node_modules/strip-json-comments/license diff --git a/tools/eslint/node_modules/strip-json-comments/package.json b/tools/node_modules/eslint/node_modules/strip-json-comments/package.json similarity index 100% rename from tools/eslint/node_modules/strip-json-comments/package.json rename to tools/node_modules/eslint/node_modules/strip-json-comments/package.json diff --git a/tools/eslint/node_modules/strip-json-comments/readme.md b/tools/node_modules/eslint/node_modules/strip-json-comments/readme.md similarity index 100% rename from tools/eslint/node_modules/strip-json-comments/readme.md rename to tools/node_modules/eslint/node_modules/strip-json-comments/readme.md diff --git a/tools/eslint/node_modules/supports-color/index.js b/tools/node_modules/eslint/node_modules/supports-color/index.js similarity index 100% rename from tools/eslint/node_modules/supports-color/index.js rename to tools/node_modules/eslint/node_modules/supports-color/index.js diff --git a/tools/eslint/node_modules/supports-color/license b/tools/node_modules/eslint/node_modules/supports-color/license similarity index 100% rename from tools/eslint/node_modules/supports-color/license rename to tools/node_modules/eslint/node_modules/supports-color/license diff --git a/tools/eslint/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/supports-color/package.json similarity index 100% rename from tools/eslint/node_modules/supports-color/package.json rename to tools/node_modules/eslint/node_modules/supports-color/package.json diff --git a/tools/eslint/node_modules/supports-color/readme.md b/tools/node_modules/eslint/node_modules/supports-color/readme.md similarity index 100% rename from tools/eslint/node_modules/supports-color/readme.md rename to tools/node_modules/eslint/node_modules/supports-color/readme.md diff --git a/tools/eslint/node_modules/table/LICENSE b/tools/node_modules/eslint/node_modules/table/LICENSE similarity index 100% rename from tools/eslint/node_modules/table/LICENSE rename to tools/node_modules/eslint/node_modules/table/LICENSE diff --git a/tools/eslint/node_modules/table/README.md b/tools/node_modules/eslint/node_modules/table/README.md similarity index 100% rename from tools/eslint/node_modules/table/README.md rename to tools/node_modules/eslint/node_modules/table/README.md diff --git a/tools/eslint/node_modules/table/dist/alignString.js b/tools/node_modules/eslint/node_modules/table/dist/alignString.js similarity index 100% rename from tools/eslint/node_modules/table/dist/alignString.js rename to tools/node_modules/eslint/node_modules/table/dist/alignString.js diff --git a/tools/eslint/node_modules/table/dist/alignTableData.js b/tools/node_modules/eslint/node_modules/table/dist/alignTableData.js similarity index 100% rename from tools/eslint/node_modules/table/dist/alignTableData.js rename to tools/node_modules/eslint/node_modules/table/dist/alignTableData.js diff --git a/tools/eslint/node_modules/table/dist/calculateCellHeight.js b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js similarity index 100% rename from tools/eslint/node_modules/table/dist/calculateCellHeight.js rename to tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js diff --git a/tools/eslint/node_modules/table/dist/calculateCellWidthIndex.js b/tools/node_modules/eslint/node_modules/table/dist/calculateCellWidthIndex.js similarity index 100% rename from tools/eslint/node_modules/table/dist/calculateCellWidthIndex.js rename to tools/node_modules/eslint/node_modules/table/dist/calculateCellWidthIndex.js diff --git a/tools/eslint/node_modules/table/dist/calculateMaximumColumnWidthIndex.js b/tools/node_modules/eslint/node_modules/table/dist/calculateMaximumColumnWidthIndex.js similarity index 100% rename from tools/eslint/node_modules/table/dist/calculateMaximumColumnWidthIndex.js rename to tools/node_modules/eslint/node_modules/table/dist/calculateMaximumColumnWidthIndex.js diff --git a/tools/eslint/node_modules/table/dist/calculateRowHeightIndex.js b/tools/node_modules/eslint/node_modules/table/dist/calculateRowHeightIndex.js similarity index 100% rename from tools/eslint/node_modules/table/dist/calculateRowHeightIndex.js rename to tools/node_modules/eslint/node_modules/table/dist/calculateRowHeightIndex.js diff --git a/tools/eslint/node_modules/table/dist/createStream.js b/tools/node_modules/eslint/node_modules/table/dist/createStream.js similarity index 100% rename from tools/eslint/node_modules/table/dist/createStream.js rename to tools/node_modules/eslint/node_modules/table/dist/createStream.js diff --git a/tools/eslint/node_modules/table/dist/drawBorder.js b/tools/node_modules/eslint/node_modules/table/dist/drawBorder.js similarity index 100% rename from tools/eslint/node_modules/table/dist/drawBorder.js rename to tools/node_modules/eslint/node_modules/table/dist/drawBorder.js diff --git a/tools/eslint/node_modules/table/dist/drawRow.js b/tools/node_modules/eslint/node_modules/table/dist/drawRow.js similarity index 100% rename from tools/eslint/node_modules/table/dist/drawRow.js rename to tools/node_modules/eslint/node_modules/table/dist/drawRow.js diff --git a/tools/eslint/node_modules/table/dist/drawTable.js b/tools/node_modules/eslint/node_modules/table/dist/drawTable.js similarity index 100% rename from tools/eslint/node_modules/table/dist/drawTable.js rename to tools/node_modules/eslint/node_modules/table/dist/drawTable.js diff --git a/tools/eslint/node_modules/table/dist/getBorderCharacters.js b/tools/node_modules/eslint/node_modules/table/dist/getBorderCharacters.js similarity index 100% rename from tools/eslint/node_modules/table/dist/getBorderCharacters.js rename to tools/node_modules/eslint/node_modules/table/dist/getBorderCharacters.js diff --git a/tools/eslint/node_modules/table/dist/index.js b/tools/node_modules/eslint/node_modules/table/dist/index.js similarity index 100% rename from tools/eslint/node_modules/table/dist/index.js rename to tools/node_modules/eslint/node_modules/table/dist/index.js diff --git a/tools/eslint/node_modules/table/dist/makeConfig.js b/tools/node_modules/eslint/node_modules/table/dist/makeConfig.js similarity index 100% rename from tools/eslint/node_modules/table/dist/makeConfig.js rename to tools/node_modules/eslint/node_modules/table/dist/makeConfig.js diff --git a/tools/eslint/node_modules/table/dist/makeStreamConfig.js b/tools/node_modules/eslint/node_modules/table/dist/makeStreamConfig.js similarity index 100% rename from tools/eslint/node_modules/table/dist/makeStreamConfig.js rename to tools/node_modules/eslint/node_modules/table/dist/makeStreamConfig.js diff --git a/tools/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js similarity index 100% rename from tools/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js rename to tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js diff --git a/tools/eslint/node_modules/table/dist/padTableData.js b/tools/node_modules/eslint/node_modules/table/dist/padTableData.js similarity index 100% rename from tools/eslint/node_modules/table/dist/padTableData.js rename to tools/node_modules/eslint/node_modules/table/dist/padTableData.js diff --git a/tools/eslint/node_modules/table/dist/schemas/config.json b/tools/node_modules/eslint/node_modules/table/dist/schemas/config.json similarity index 100% rename from tools/eslint/node_modules/table/dist/schemas/config.json rename to tools/node_modules/eslint/node_modules/table/dist/schemas/config.json diff --git a/tools/eslint/node_modules/table/dist/schemas/streamConfig.json b/tools/node_modules/eslint/node_modules/table/dist/schemas/streamConfig.json similarity index 100% rename from tools/eslint/node_modules/table/dist/schemas/streamConfig.json rename to tools/node_modules/eslint/node_modules/table/dist/schemas/streamConfig.json diff --git a/tools/eslint/node_modules/table/dist/stringifyTableData.js b/tools/node_modules/eslint/node_modules/table/dist/stringifyTableData.js similarity index 100% rename from tools/eslint/node_modules/table/dist/stringifyTableData.js rename to tools/node_modules/eslint/node_modules/table/dist/stringifyTableData.js diff --git a/tools/eslint/node_modules/table/dist/table.js b/tools/node_modules/eslint/node_modules/table/dist/table.js similarity index 100% rename from tools/eslint/node_modules/table/dist/table.js rename to tools/node_modules/eslint/node_modules/table/dist/table.js diff --git a/tools/eslint/node_modules/table/dist/truncateTableData.js b/tools/node_modules/eslint/node_modules/table/dist/truncateTableData.js similarity index 100% rename from tools/eslint/node_modules/table/dist/truncateTableData.js rename to tools/node_modules/eslint/node_modules/table/dist/truncateTableData.js diff --git a/tools/eslint/node_modules/table/dist/validateConfig.js b/tools/node_modules/eslint/node_modules/table/dist/validateConfig.js similarity index 100% rename from tools/eslint/node_modules/table/dist/validateConfig.js rename to tools/node_modules/eslint/node_modules/table/dist/validateConfig.js diff --git a/tools/eslint/node_modules/table/dist/validateStreamConfig.js b/tools/node_modules/eslint/node_modules/table/dist/validateStreamConfig.js similarity index 100% rename from tools/eslint/node_modules/table/dist/validateStreamConfig.js rename to tools/node_modules/eslint/node_modules/table/dist/validateStreamConfig.js diff --git a/tools/eslint/node_modules/table/dist/validateTableData.js b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js similarity index 100% rename from tools/eslint/node_modules/table/dist/validateTableData.js rename to tools/node_modules/eslint/node_modules/table/dist/validateTableData.js diff --git a/tools/eslint/node_modules/table/dist/wrapString.js b/tools/node_modules/eslint/node_modules/table/dist/wrapString.js similarity index 100% rename from tools/eslint/node_modules/table/dist/wrapString.js rename to tools/node_modules/eslint/node_modules/table/dist/wrapString.js diff --git a/tools/eslint/node_modules/table/dist/wrapWord.js b/tools/node_modules/eslint/node_modules/table/dist/wrapWord.js similarity index 100% rename from tools/eslint/node_modules/table/dist/wrapWord.js rename to tools/node_modules/eslint/node_modules/table/dist/wrapWord.js diff --git a/tools/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json similarity index 100% rename from tools/eslint/node_modules/table/package.json rename to tools/node_modules/eslint/node_modules/table/package.json diff --git a/tools/eslint/node_modules/text-table/LICENSE b/tools/node_modules/eslint/node_modules/text-table/LICENSE similarity index 100% rename from tools/eslint/node_modules/text-table/LICENSE rename to tools/node_modules/eslint/node_modules/text-table/LICENSE diff --git a/tools/eslint/node_modules/text-table/index.js b/tools/node_modules/eslint/node_modules/text-table/index.js similarity index 100% rename from tools/eslint/node_modules/text-table/index.js rename to tools/node_modules/eslint/node_modules/text-table/index.js diff --git a/tools/eslint/node_modules/text-table/package.json b/tools/node_modules/eslint/node_modules/text-table/package.json similarity index 100% rename from tools/eslint/node_modules/text-table/package.json rename to tools/node_modules/eslint/node_modules/text-table/package.json diff --git a/tools/eslint/node_modules/text-table/readme.markdown b/tools/node_modules/eslint/node_modules/text-table/readme.markdown similarity index 100% rename from tools/eslint/node_modules/text-table/readme.markdown rename to tools/node_modules/eslint/node_modules/text-table/readme.markdown diff --git a/tools/eslint/node_modules/through/LICENSE.APACHE2 b/tools/node_modules/eslint/node_modules/through/LICENSE.APACHE2 similarity index 100% rename from tools/eslint/node_modules/through/LICENSE.APACHE2 rename to tools/node_modules/eslint/node_modules/through/LICENSE.APACHE2 diff --git a/tools/eslint/node_modules/through/LICENSE.MIT b/tools/node_modules/eslint/node_modules/through/LICENSE.MIT similarity index 100% rename from tools/eslint/node_modules/through/LICENSE.MIT rename to tools/node_modules/eslint/node_modules/through/LICENSE.MIT diff --git a/tools/eslint/node_modules/through/index.js b/tools/node_modules/eslint/node_modules/through/index.js similarity index 100% rename from tools/eslint/node_modules/through/index.js rename to tools/node_modules/eslint/node_modules/through/index.js diff --git a/tools/eslint/node_modules/through/package.json b/tools/node_modules/eslint/node_modules/through/package.json similarity index 100% rename from tools/eslint/node_modules/through/package.json rename to tools/node_modules/eslint/node_modules/through/package.json diff --git a/tools/eslint/node_modules/through/readme.markdown b/tools/node_modules/eslint/node_modules/through/readme.markdown similarity index 100% rename from tools/eslint/node_modules/through/readme.markdown rename to tools/node_modules/eslint/node_modules/through/readme.markdown diff --git a/tools/eslint/node_modules/trim-trailing-lines/LICENSE b/tools/node_modules/eslint/node_modules/trim-trailing-lines/LICENSE similarity index 100% rename from tools/eslint/node_modules/trim-trailing-lines/LICENSE rename to tools/node_modules/eslint/node_modules/trim-trailing-lines/LICENSE diff --git a/tools/eslint/node_modules/trim-trailing-lines/index.js b/tools/node_modules/eslint/node_modules/trim-trailing-lines/index.js similarity index 100% rename from tools/eslint/node_modules/trim-trailing-lines/index.js rename to tools/node_modules/eslint/node_modules/trim-trailing-lines/index.js diff --git a/tools/eslint/node_modules/trim-trailing-lines/package.json b/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json similarity index 100% rename from tools/eslint/node_modules/trim-trailing-lines/package.json rename to tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json diff --git a/tools/eslint/node_modules/trim-trailing-lines/readme.md b/tools/node_modules/eslint/node_modules/trim-trailing-lines/readme.md similarity index 100% rename from tools/eslint/node_modules/trim-trailing-lines/readme.md rename to tools/node_modules/eslint/node_modules/trim-trailing-lines/readme.md diff --git a/tools/eslint/node_modules/trim/Makefile b/tools/node_modules/eslint/node_modules/trim/Makefile similarity index 100% rename from tools/eslint/node_modules/trim/Makefile rename to tools/node_modules/eslint/node_modules/trim/Makefile diff --git a/tools/eslint/node_modules/trim/Readme.md b/tools/node_modules/eslint/node_modules/trim/Readme.md similarity index 100% rename from tools/eslint/node_modules/trim/Readme.md rename to tools/node_modules/eslint/node_modules/trim/Readme.md diff --git a/tools/eslint/node_modules/trim/index.js b/tools/node_modules/eslint/node_modules/trim/index.js similarity index 100% rename from tools/eslint/node_modules/trim/index.js rename to tools/node_modules/eslint/node_modules/trim/index.js diff --git a/tools/eslint/node_modules/trim/package.json b/tools/node_modules/eslint/node_modules/trim/package.json similarity index 100% rename from tools/eslint/node_modules/trim/package.json rename to tools/node_modules/eslint/node_modules/trim/package.json diff --git a/tools/eslint/node_modules/trough/LICENSE b/tools/node_modules/eslint/node_modules/trough/LICENSE similarity index 100% rename from tools/eslint/node_modules/trough/LICENSE rename to tools/node_modules/eslint/node_modules/trough/LICENSE diff --git a/tools/eslint/node_modules/trough/index.js b/tools/node_modules/eslint/node_modules/trough/index.js similarity index 100% rename from tools/eslint/node_modules/trough/index.js rename to tools/node_modules/eslint/node_modules/trough/index.js diff --git a/tools/eslint/node_modules/trough/package.json b/tools/node_modules/eslint/node_modules/trough/package.json similarity index 100% rename from tools/eslint/node_modules/trough/package.json rename to tools/node_modules/eslint/node_modules/trough/package.json diff --git a/tools/eslint/node_modules/trough/readme.md b/tools/node_modules/eslint/node_modules/trough/readme.md similarity index 100% rename from tools/eslint/node_modules/trough/readme.md rename to tools/node_modules/eslint/node_modules/trough/readme.md diff --git a/tools/eslint/node_modules/tryit/README.md b/tools/node_modules/eslint/node_modules/tryit/README.md similarity index 100% rename from tools/eslint/node_modules/tryit/README.md rename to tools/node_modules/eslint/node_modules/tryit/README.md diff --git a/tools/eslint/node_modules/tryit/package.json b/tools/node_modules/eslint/node_modules/tryit/package.json similarity index 100% rename from tools/eslint/node_modules/tryit/package.json rename to tools/node_modules/eslint/node_modules/tryit/package.json diff --git a/tools/eslint/node_modules/tryit/tryit.js b/tools/node_modules/eslint/node_modules/tryit/tryit.js similarity index 100% rename from tools/eslint/node_modules/tryit/tryit.js rename to tools/node_modules/eslint/node_modules/tryit/tryit.js diff --git a/tools/eslint/node_modules/type-check/LICENSE b/tools/node_modules/eslint/node_modules/type-check/LICENSE similarity index 100% rename from tools/eslint/node_modules/type-check/LICENSE rename to tools/node_modules/eslint/node_modules/type-check/LICENSE diff --git a/tools/eslint/node_modules/type-check/README.md b/tools/node_modules/eslint/node_modules/type-check/README.md similarity index 100% rename from tools/eslint/node_modules/type-check/README.md rename to tools/node_modules/eslint/node_modules/type-check/README.md diff --git a/tools/eslint/node_modules/type-check/lib/check.js b/tools/node_modules/eslint/node_modules/type-check/lib/check.js similarity index 100% rename from tools/eslint/node_modules/type-check/lib/check.js rename to tools/node_modules/eslint/node_modules/type-check/lib/check.js diff --git a/tools/eslint/node_modules/type-check/lib/index.js b/tools/node_modules/eslint/node_modules/type-check/lib/index.js similarity index 100% rename from tools/eslint/node_modules/type-check/lib/index.js rename to tools/node_modules/eslint/node_modules/type-check/lib/index.js diff --git a/tools/eslint/node_modules/type-check/lib/parse-type.js b/tools/node_modules/eslint/node_modules/type-check/lib/parse-type.js similarity index 100% rename from tools/eslint/node_modules/type-check/lib/parse-type.js rename to tools/node_modules/eslint/node_modules/type-check/lib/parse-type.js diff --git a/tools/eslint/node_modules/type-check/package.json b/tools/node_modules/eslint/node_modules/type-check/package.json similarity index 100% rename from tools/eslint/node_modules/type-check/package.json rename to tools/node_modules/eslint/node_modules/type-check/package.json diff --git a/tools/eslint/node_modules/typedarray/LICENSE b/tools/node_modules/eslint/node_modules/typedarray/LICENSE similarity index 100% rename from tools/eslint/node_modules/typedarray/LICENSE rename to tools/node_modules/eslint/node_modules/typedarray/LICENSE diff --git a/tools/eslint/node_modules/typedarray/index.js b/tools/node_modules/eslint/node_modules/typedarray/index.js similarity index 100% rename from tools/eslint/node_modules/typedarray/index.js rename to tools/node_modules/eslint/node_modules/typedarray/index.js diff --git a/tools/eslint/node_modules/typedarray/package.json b/tools/node_modules/eslint/node_modules/typedarray/package.json similarity index 100% rename from tools/eslint/node_modules/typedarray/package.json rename to tools/node_modules/eslint/node_modules/typedarray/package.json diff --git a/tools/eslint/node_modules/typedarray/readme.markdown b/tools/node_modules/eslint/node_modules/typedarray/readme.markdown similarity index 100% rename from tools/eslint/node_modules/typedarray/readme.markdown rename to tools/node_modules/eslint/node_modules/typedarray/readme.markdown diff --git a/tools/eslint/node_modules/unherit/LICENSE b/tools/node_modules/eslint/node_modules/unherit/LICENSE similarity index 100% rename from tools/eslint/node_modules/unherit/LICENSE rename to tools/node_modules/eslint/node_modules/unherit/LICENSE diff --git a/tools/eslint/node_modules/unherit/index.js b/tools/node_modules/eslint/node_modules/unherit/index.js similarity index 100% rename from tools/eslint/node_modules/unherit/index.js rename to tools/node_modules/eslint/node_modules/unherit/index.js diff --git a/tools/eslint/node_modules/unherit/package.json b/tools/node_modules/eslint/node_modules/unherit/package.json similarity index 100% rename from tools/eslint/node_modules/unherit/package.json rename to tools/node_modules/eslint/node_modules/unherit/package.json diff --git a/tools/eslint/node_modules/unherit/readme.md b/tools/node_modules/eslint/node_modules/unherit/readme.md similarity index 100% rename from tools/eslint/node_modules/unherit/readme.md rename to tools/node_modules/eslint/node_modules/unherit/readme.md diff --git a/tools/eslint/node_modules/unified/LICENSE b/tools/node_modules/eslint/node_modules/unified/LICENSE similarity index 100% rename from tools/eslint/node_modules/unified/LICENSE rename to tools/node_modules/eslint/node_modules/unified/LICENSE diff --git a/tools/eslint/node_modules/unified/index.js b/tools/node_modules/eslint/node_modules/unified/index.js similarity index 100% rename from tools/eslint/node_modules/unified/index.js rename to tools/node_modules/eslint/node_modules/unified/index.js diff --git a/tools/eslint/node_modules/unified/package.json b/tools/node_modules/eslint/node_modules/unified/package.json similarity index 100% rename from tools/eslint/node_modules/unified/package.json rename to tools/node_modules/eslint/node_modules/unified/package.json diff --git a/tools/eslint/node_modules/unified/readme.md b/tools/node_modules/eslint/node_modules/unified/readme.md similarity index 100% rename from tools/eslint/node_modules/unified/readme.md rename to tools/node_modules/eslint/node_modules/unified/readme.md diff --git a/tools/eslint/node_modules/unist-util-is/LICENSE b/tools/node_modules/eslint/node_modules/unist-util-is/LICENSE similarity index 100% rename from tools/eslint/node_modules/unist-util-is/LICENSE rename to tools/node_modules/eslint/node_modules/unist-util-is/LICENSE diff --git a/tools/eslint/node_modules/unist-util-is/index.js b/tools/node_modules/eslint/node_modules/unist-util-is/index.js similarity index 100% rename from tools/eslint/node_modules/unist-util-is/index.js rename to tools/node_modules/eslint/node_modules/unist-util-is/index.js diff --git a/tools/eslint/node_modules/unist-util-is/package.json b/tools/node_modules/eslint/node_modules/unist-util-is/package.json similarity index 100% rename from tools/eslint/node_modules/unist-util-is/package.json rename to tools/node_modules/eslint/node_modules/unist-util-is/package.json diff --git a/tools/eslint/node_modules/unist-util-is/readme.md b/tools/node_modules/eslint/node_modules/unist-util-is/readme.md similarity index 100% rename from tools/eslint/node_modules/unist-util-is/readme.md rename to tools/node_modules/eslint/node_modules/unist-util-is/readme.md diff --git a/tools/eslint/node_modules/unist-util-remove-position/LICENSE b/tools/node_modules/eslint/node_modules/unist-util-remove-position/LICENSE similarity index 100% rename from tools/eslint/node_modules/unist-util-remove-position/LICENSE rename to tools/node_modules/eslint/node_modules/unist-util-remove-position/LICENSE diff --git a/tools/eslint/node_modules/unist-util-remove-position/index.js b/tools/node_modules/eslint/node_modules/unist-util-remove-position/index.js similarity index 100% rename from tools/eslint/node_modules/unist-util-remove-position/index.js rename to tools/node_modules/eslint/node_modules/unist-util-remove-position/index.js diff --git a/tools/eslint/node_modules/unist-util-remove-position/package.json b/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json similarity index 100% rename from tools/eslint/node_modules/unist-util-remove-position/package.json rename to tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json diff --git a/tools/eslint/node_modules/unist-util-remove-position/readme.md b/tools/node_modules/eslint/node_modules/unist-util-remove-position/readme.md similarity index 100% rename from tools/eslint/node_modules/unist-util-remove-position/readme.md rename to tools/node_modules/eslint/node_modules/unist-util-remove-position/readme.md diff --git a/tools/eslint/node_modules/unist-util-stringify-position/LICENSE b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/LICENSE similarity index 100% rename from tools/eslint/node_modules/unist-util-stringify-position/LICENSE rename to tools/node_modules/eslint/node_modules/unist-util-stringify-position/LICENSE diff --git a/tools/eslint/node_modules/unist-util-stringify-position/index.js b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/index.js similarity index 100% rename from tools/eslint/node_modules/unist-util-stringify-position/index.js rename to tools/node_modules/eslint/node_modules/unist-util-stringify-position/index.js diff --git a/tools/eslint/node_modules/unist-util-stringify-position/package.json b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json similarity index 100% rename from tools/eslint/node_modules/unist-util-stringify-position/package.json rename to tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json diff --git a/tools/eslint/node_modules/unist-util-stringify-position/readme.md b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/readme.md similarity index 100% rename from tools/eslint/node_modules/unist-util-stringify-position/readme.md rename to tools/node_modules/eslint/node_modules/unist-util-stringify-position/readme.md diff --git a/tools/eslint/node_modules/unist-util-visit/LICENSE b/tools/node_modules/eslint/node_modules/unist-util-visit/LICENSE similarity index 100% rename from tools/eslint/node_modules/unist-util-visit/LICENSE rename to tools/node_modules/eslint/node_modules/unist-util-visit/LICENSE diff --git a/tools/eslint/node_modules/unist-util-visit/index.js b/tools/node_modules/eslint/node_modules/unist-util-visit/index.js similarity index 100% rename from tools/eslint/node_modules/unist-util-visit/index.js rename to tools/node_modules/eslint/node_modules/unist-util-visit/index.js diff --git a/tools/eslint/node_modules/unist-util-visit/package.json b/tools/node_modules/eslint/node_modules/unist-util-visit/package.json similarity index 100% rename from tools/eslint/node_modules/unist-util-visit/package.json rename to tools/node_modules/eslint/node_modules/unist-util-visit/package.json diff --git a/tools/eslint/node_modules/unist-util-visit/readme.md b/tools/node_modules/eslint/node_modules/unist-util-visit/readme.md similarity index 100% rename from tools/eslint/node_modules/unist-util-visit/readme.md rename to tools/node_modules/eslint/node_modules/unist-util-visit/readme.md diff --git a/tools/eslint/node_modules/util-deprecate/LICENSE b/tools/node_modules/eslint/node_modules/util-deprecate/LICENSE similarity index 100% rename from tools/eslint/node_modules/util-deprecate/LICENSE rename to tools/node_modules/eslint/node_modules/util-deprecate/LICENSE diff --git a/tools/eslint/node_modules/util-deprecate/README.md b/tools/node_modules/eslint/node_modules/util-deprecate/README.md similarity index 100% rename from tools/eslint/node_modules/util-deprecate/README.md rename to tools/node_modules/eslint/node_modules/util-deprecate/README.md diff --git a/tools/eslint/node_modules/util-deprecate/browser.js b/tools/node_modules/eslint/node_modules/util-deprecate/browser.js similarity index 100% rename from tools/eslint/node_modules/util-deprecate/browser.js rename to tools/node_modules/eslint/node_modules/util-deprecate/browser.js diff --git a/tools/eslint/node_modules/util-deprecate/node.js b/tools/node_modules/eslint/node_modules/util-deprecate/node.js similarity index 100% rename from tools/eslint/node_modules/util-deprecate/node.js rename to tools/node_modules/eslint/node_modules/util-deprecate/node.js diff --git a/tools/eslint/node_modules/util-deprecate/package.json b/tools/node_modules/eslint/node_modules/util-deprecate/package.json similarity index 100% rename from tools/eslint/node_modules/util-deprecate/package.json rename to tools/node_modules/eslint/node_modules/util-deprecate/package.json diff --git a/tools/eslint/node_modules/vfile-location/LICENSE b/tools/node_modules/eslint/node_modules/vfile-location/LICENSE similarity index 100% rename from tools/eslint/node_modules/vfile-location/LICENSE rename to tools/node_modules/eslint/node_modules/vfile-location/LICENSE diff --git a/tools/eslint/node_modules/vfile-location/index.js b/tools/node_modules/eslint/node_modules/vfile-location/index.js similarity index 100% rename from tools/eslint/node_modules/vfile-location/index.js rename to tools/node_modules/eslint/node_modules/vfile-location/index.js diff --git a/tools/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json similarity index 100% rename from tools/eslint/node_modules/vfile-location/package.json rename to tools/node_modules/eslint/node_modules/vfile-location/package.json diff --git a/tools/eslint/node_modules/vfile-location/readme.md b/tools/node_modules/eslint/node_modules/vfile-location/readme.md similarity index 100% rename from tools/eslint/node_modules/vfile-location/readme.md rename to tools/node_modules/eslint/node_modules/vfile-location/readme.md diff --git a/tools/eslint/node_modules/vfile-message/LICENSE b/tools/node_modules/eslint/node_modules/vfile-message/LICENSE similarity index 100% rename from tools/eslint/node_modules/vfile-message/LICENSE rename to tools/node_modules/eslint/node_modules/vfile-message/LICENSE diff --git a/tools/eslint/node_modules/vfile-message/index.js b/tools/node_modules/eslint/node_modules/vfile-message/index.js similarity index 100% rename from tools/eslint/node_modules/vfile-message/index.js rename to tools/node_modules/eslint/node_modules/vfile-message/index.js diff --git a/tools/eslint/node_modules/vfile-message/package.json b/tools/node_modules/eslint/node_modules/vfile-message/package.json similarity index 100% rename from tools/eslint/node_modules/vfile-message/package.json rename to tools/node_modules/eslint/node_modules/vfile-message/package.json diff --git a/tools/eslint/node_modules/vfile-message/readme.md b/tools/node_modules/eslint/node_modules/vfile-message/readme.md similarity index 100% rename from tools/eslint/node_modules/vfile-message/readme.md rename to tools/node_modules/eslint/node_modules/vfile-message/readme.md diff --git a/tools/eslint/node_modules/vfile/LICENSE b/tools/node_modules/eslint/node_modules/vfile/LICENSE similarity index 100% rename from tools/eslint/node_modules/vfile/LICENSE rename to tools/node_modules/eslint/node_modules/vfile/LICENSE diff --git a/tools/eslint/node_modules/vfile/core.js b/tools/node_modules/eslint/node_modules/vfile/core.js similarity index 100% rename from tools/eslint/node_modules/vfile/core.js rename to tools/node_modules/eslint/node_modules/vfile/core.js diff --git a/tools/eslint/node_modules/vfile/index.js b/tools/node_modules/eslint/node_modules/vfile/index.js similarity index 100% rename from tools/eslint/node_modules/vfile/index.js rename to tools/node_modules/eslint/node_modules/vfile/index.js diff --git a/tools/eslint/node_modules/vfile/package.json b/tools/node_modules/eslint/node_modules/vfile/package.json similarity index 100% rename from tools/eslint/node_modules/vfile/package.json rename to tools/node_modules/eslint/node_modules/vfile/package.json diff --git a/tools/eslint/node_modules/vfile/readme.md b/tools/node_modules/eslint/node_modules/vfile/readme.md similarity index 100% rename from tools/eslint/node_modules/vfile/readme.md rename to tools/node_modules/eslint/node_modules/vfile/readme.md diff --git a/tools/eslint/node_modules/which/LICENSE b/tools/node_modules/eslint/node_modules/which/LICENSE similarity index 100% rename from tools/eslint/node_modules/which/LICENSE rename to tools/node_modules/eslint/node_modules/which/LICENSE diff --git a/tools/eslint/node_modules/which/README.md b/tools/node_modules/eslint/node_modules/which/README.md similarity index 100% rename from tools/eslint/node_modules/which/README.md rename to tools/node_modules/eslint/node_modules/which/README.md diff --git a/tools/eslint/node_modules/which/bin/which b/tools/node_modules/eslint/node_modules/which/bin/which similarity index 100% rename from tools/eslint/node_modules/which/bin/which rename to tools/node_modules/eslint/node_modules/which/bin/which diff --git a/tools/eslint/node_modules/which/package.json b/tools/node_modules/eslint/node_modules/which/package.json similarity index 100% rename from tools/eslint/node_modules/which/package.json rename to tools/node_modules/eslint/node_modules/which/package.json diff --git a/tools/eslint/node_modules/which/which.js b/tools/node_modules/eslint/node_modules/which/which.js similarity index 100% rename from tools/eslint/node_modules/which/which.js rename to tools/node_modules/eslint/node_modules/which/which.js diff --git a/tools/eslint/node_modules/wordwrap/LICENSE b/tools/node_modules/eslint/node_modules/wordwrap/LICENSE similarity index 100% rename from tools/eslint/node_modules/wordwrap/LICENSE rename to tools/node_modules/eslint/node_modules/wordwrap/LICENSE diff --git a/tools/eslint/node_modules/wordwrap/README.markdown b/tools/node_modules/eslint/node_modules/wordwrap/README.markdown similarity index 100% rename from tools/eslint/node_modules/wordwrap/README.markdown rename to tools/node_modules/eslint/node_modules/wordwrap/README.markdown diff --git a/tools/eslint/node_modules/wordwrap/index.js b/tools/node_modules/eslint/node_modules/wordwrap/index.js similarity index 100% rename from tools/eslint/node_modules/wordwrap/index.js rename to tools/node_modules/eslint/node_modules/wordwrap/index.js diff --git a/tools/eslint/node_modules/wordwrap/package.json b/tools/node_modules/eslint/node_modules/wordwrap/package.json similarity index 100% rename from tools/eslint/node_modules/wordwrap/package.json rename to tools/node_modules/eslint/node_modules/wordwrap/package.json diff --git a/tools/eslint/node_modules/wrappy/LICENSE b/tools/node_modules/eslint/node_modules/wrappy/LICENSE similarity index 100% rename from tools/eslint/node_modules/wrappy/LICENSE rename to tools/node_modules/eslint/node_modules/wrappy/LICENSE diff --git a/tools/eslint/node_modules/wrappy/README.md b/tools/node_modules/eslint/node_modules/wrappy/README.md similarity index 100% rename from tools/eslint/node_modules/wrappy/README.md rename to tools/node_modules/eslint/node_modules/wrappy/README.md diff --git a/tools/eslint/node_modules/wrappy/package.json b/tools/node_modules/eslint/node_modules/wrappy/package.json similarity index 100% rename from tools/eslint/node_modules/wrappy/package.json rename to tools/node_modules/eslint/node_modules/wrappy/package.json diff --git a/tools/eslint/node_modules/wrappy/wrappy.js b/tools/node_modules/eslint/node_modules/wrappy/wrappy.js similarity index 100% rename from tools/eslint/node_modules/wrappy/wrappy.js rename to tools/node_modules/eslint/node_modules/wrappy/wrappy.js diff --git a/tools/eslint/node_modules/write/LICENSE b/tools/node_modules/eslint/node_modules/write/LICENSE similarity index 100% rename from tools/eslint/node_modules/write/LICENSE rename to tools/node_modules/eslint/node_modules/write/LICENSE diff --git a/tools/eslint/node_modules/write/README.md b/tools/node_modules/eslint/node_modules/write/README.md similarity index 100% rename from tools/eslint/node_modules/write/README.md rename to tools/node_modules/eslint/node_modules/write/README.md diff --git a/tools/eslint/node_modules/write/index.js b/tools/node_modules/eslint/node_modules/write/index.js similarity index 100% rename from tools/eslint/node_modules/write/index.js rename to tools/node_modules/eslint/node_modules/write/index.js diff --git a/tools/eslint/node_modules/write/package.json b/tools/node_modules/eslint/node_modules/write/package.json similarity index 100% rename from tools/eslint/node_modules/write/package.json rename to tools/node_modules/eslint/node_modules/write/package.json diff --git a/tools/eslint/node_modules/x-is-function/LICENSE b/tools/node_modules/eslint/node_modules/x-is-function/LICENSE similarity index 100% rename from tools/eslint/node_modules/x-is-function/LICENSE rename to tools/node_modules/eslint/node_modules/x-is-function/LICENSE diff --git a/tools/eslint/node_modules/x-is-function/README.md b/tools/node_modules/eslint/node_modules/x-is-function/README.md similarity index 100% rename from tools/eslint/node_modules/x-is-function/README.md rename to tools/node_modules/eslint/node_modules/x-is-function/README.md diff --git a/tools/eslint/node_modules/x-is-function/index.js b/tools/node_modules/eslint/node_modules/x-is-function/index.js similarity index 100% rename from tools/eslint/node_modules/x-is-function/index.js rename to tools/node_modules/eslint/node_modules/x-is-function/index.js diff --git a/tools/eslint/node_modules/x-is-function/package.json b/tools/node_modules/eslint/node_modules/x-is-function/package.json similarity index 100% rename from tools/eslint/node_modules/x-is-function/package.json rename to tools/node_modules/eslint/node_modules/x-is-function/package.json diff --git a/tools/eslint/node_modules/x-is-string/LICENCE b/tools/node_modules/eslint/node_modules/x-is-string/LICENCE similarity index 100% rename from tools/eslint/node_modules/x-is-string/LICENCE rename to tools/node_modules/eslint/node_modules/x-is-string/LICENCE diff --git a/tools/eslint/node_modules/x-is-string/README.md b/tools/node_modules/eslint/node_modules/x-is-string/README.md similarity index 100% rename from tools/eslint/node_modules/x-is-string/README.md rename to tools/node_modules/eslint/node_modules/x-is-string/README.md diff --git a/tools/eslint/node_modules/x-is-string/index.js b/tools/node_modules/eslint/node_modules/x-is-string/index.js similarity index 100% rename from tools/eslint/node_modules/x-is-string/index.js rename to tools/node_modules/eslint/node_modules/x-is-string/index.js diff --git a/tools/eslint/node_modules/x-is-string/package.json b/tools/node_modules/eslint/node_modules/x-is-string/package.json similarity index 100% rename from tools/eslint/node_modules/x-is-string/package.json rename to tools/node_modules/eslint/node_modules/x-is-string/package.json diff --git a/tools/eslint/node_modules/xtend/LICENCE b/tools/node_modules/eslint/node_modules/xtend/LICENCE similarity index 100% rename from tools/eslint/node_modules/xtend/LICENCE rename to tools/node_modules/eslint/node_modules/xtend/LICENCE diff --git a/tools/eslint/node_modules/xtend/Makefile b/tools/node_modules/eslint/node_modules/xtend/Makefile similarity index 100% rename from tools/eslint/node_modules/xtend/Makefile rename to tools/node_modules/eslint/node_modules/xtend/Makefile diff --git a/tools/eslint/node_modules/xtend/README.md b/tools/node_modules/eslint/node_modules/xtend/README.md similarity index 100% rename from tools/eslint/node_modules/xtend/README.md rename to tools/node_modules/eslint/node_modules/xtend/README.md diff --git a/tools/eslint/node_modules/xtend/immutable.js b/tools/node_modules/eslint/node_modules/xtend/immutable.js similarity index 100% rename from tools/eslint/node_modules/xtend/immutable.js rename to tools/node_modules/eslint/node_modules/xtend/immutable.js diff --git a/tools/eslint/node_modules/xtend/mutable.js b/tools/node_modules/eslint/node_modules/xtend/mutable.js similarity index 100% rename from tools/eslint/node_modules/xtend/mutable.js rename to tools/node_modules/eslint/node_modules/xtend/mutable.js diff --git a/tools/eslint/node_modules/xtend/package.json b/tools/node_modules/eslint/node_modules/xtend/package.json similarity index 100% rename from tools/eslint/node_modules/xtend/package.json rename to tools/node_modules/eslint/node_modules/xtend/package.json diff --git a/tools/eslint/node_modules/yallist/LICENSE b/tools/node_modules/eslint/node_modules/yallist/LICENSE similarity index 100% rename from tools/eslint/node_modules/yallist/LICENSE rename to tools/node_modules/eslint/node_modules/yallist/LICENSE diff --git a/tools/eslint/node_modules/yallist/README.md b/tools/node_modules/eslint/node_modules/yallist/README.md similarity index 100% rename from tools/eslint/node_modules/yallist/README.md rename to tools/node_modules/eslint/node_modules/yallist/README.md diff --git a/tools/eslint/node_modules/yallist/iterator.js b/tools/node_modules/eslint/node_modules/yallist/iterator.js similarity index 100% rename from tools/eslint/node_modules/yallist/iterator.js rename to tools/node_modules/eslint/node_modules/yallist/iterator.js diff --git a/tools/eslint/node_modules/yallist/package.json b/tools/node_modules/eslint/node_modules/yallist/package.json similarity index 100% rename from tools/eslint/node_modules/yallist/package.json rename to tools/node_modules/eslint/node_modules/yallist/package.json diff --git a/tools/eslint/node_modules/yallist/yallist.js b/tools/node_modules/eslint/node_modules/yallist/yallist.js similarity index 100% rename from tools/eslint/node_modules/yallist/yallist.js rename to tools/node_modules/eslint/node_modules/yallist/yallist.js diff --git a/tools/eslint/package.json b/tools/node_modules/eslint/package.json similarity index 100% rename from tools/eslint/package.json rename to tools/node_modules/eslint/package.json diff --git a/tools/update-eslint.sh b/tools/update-eslint.sh index 7de687f715cf25..44f43a05d31e1a 100755 --- a/tools/update-eslint.sh +++ b/tools/update-eslint.sh @@ -8,7 +8,7 @@ # $BASH_SOURCE[0] to determine directories to work in. cd "$( dirname "${BASH_SOURCE[0]}" )" -rm -rf eslint +rm -rf node_modules/eslint mkdir eslint-tmp cd eslint-tmp npm init --yes @@ -26,5 +26,5 @@ type -P dmn || npm install -g dmn dmn -f clean cd .. -mv eslint-tmp/node_modules/eslint eslint +mv eslint-tmp/node_modules/eslint node_modules/eslint rm -rf eslint-tmp/ diff --git a/vcbuild.bat b/vcbuild.bat index e7e392a69203dd..796508d23be875 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -504,9 +504,9 @@ goto exit :lint-js if defined lint_js_ci goto lint-js-ci if not defined lint_js goto exit -if not exist tools\eslint goto no-lint +if not exist tools\node_modules\eslint goto no-lint echo running lint-js -%config%\node tools\eslint\bin\eslint.js --cache --rule "linebreak-style: 0" --rulesdir=tools\eslint-rules --ext=.js,.md benchmark doc lib test tools +%config%\node tools\node_modules\eslint\bin\eslint.js --cache --rule "linebreak-style: 0" --rulesdir=tools\eslint-rules --ext=.js,.md benchmark doc lib test tools goto exit :lint-js-ci From 7a52c51e811cd59db0d2b1b6d6b8b2e7f917d65c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 9 Jan 2018 11:04:20 +0100 Subject: [PATCH 2/4] tools: update ESLint to 4.15.0 PR-URL: https://github.com/nodejs/node/pull/17820 Reviewed-By: Matteo Collina Reviewed-By: Benjamin Gruenbaum --- tools/node_modules/eslint/README.md | 6 +- tools/node_modules/eslint/lib/cli-engine.js | 4 + .../eslint/lib/formatters/checkstyle.js | 2 +- .../eslint/lib/formatters/jslint-xml.js | 2 +- .../eslint/lib/formatters/junit.js | 2 +- tools/node_modules/eslint/lib/linter.js | 113 ++++-- tools/node_modules/eslint/lib/options.js | 88 +++-- .../eslint/lib/report-translator.js | 47 ++- .../eslint/lib/rules/.eslintrc.yml | 1 + .../eslint/lib/rules/accessor-pairs.js | 3 +- .../eslint/lib/rules/array-bracket-newline.js | 3 +- .../eslint/lib/rules/array-bracket-spacing.js | 3 +- .../eslint/lib/rules/array-callback-return.js | 21 +- .../eslint/lib/rules/array-element-newline.js | 3 +- .../eslint/lib/rules/arrow-body-style.js | 17 +- .../eslint/lib/rules/arrow-parens.js | 3 +- .../eslint/lib/rules/arrow-spacing.js | 3 +- .../eslint/lib/rules/block-scoped-var.js | 3 +- .../eslint/lib/rules/block-spacing.js | 3 +- .../eslint/lib/rules/brace-style.js | 3 +- .../eslint/lib/rules/callback-return.js | 3 +- .../eslint/lib/rules/camelcase.js | 46 ++- .../eslint/lib/rules/capitalized-comments.js | 3 +- .../lib/rules/class-methods-use-this.js | 3 +- .../eslint/lib/rules/comma-dangle.js | 3 +- .../eslint/lib/rules/comma-spacing.js | 3 +- .../eslint/lib/rules/comma-style.js | 3 +- .../eslint/lib/rules/complexity.js | 19 +- .../lib/rules/computed-property-spacing.js | 3 +- .../eslint/lib/rules/consistent-return.js | 3 +- .../eslint/lib/rules/consistent-this.js | 3 +- .../eslint/lib/rules/constructor-super.js | 3 +- tools/node_modules/eslint/lib/rules/curly.js | 3 +- .../eslint/lib/rules/default-case.js | 3 +- .../eslint/lib/rules/dot-location.js | 3 +- .../eslint/lib/rules/dot-notation.js | 3 +- .../node_modules/eslint/lib/rules/eol-last.js | 11 +- tools/node_modules/eslint/lib/rules/eqeqeq.js | 3 +- .../eslint/lib/rules/for-direction.js | 3 +- .../eslint/lib/rules/func-call-spacing.js | 3 +- .../eslint/lib/rules/func-name-matching.js | 3 +- .../eslint/lib/rules/func-names.js | 3 +- .../eslint/lib/rules/func-style.js | 3 +- .../lib/rules/function-paren-newline.js | 3 +- .../lib/rules/generator-star-spacing.js | 3 +- .../eslint/lib/rules/getter-return.js | 3 +- .../eslint/lib/rules/global-require.js | 3 +- .../eslint/lib/rules/guard-for-in.js | 3 +- .../eslint/lib/rules/handle-callback-err.js | 3 +- .../eslint/lib/rules/id-blacklist.js | 3 +- .../eslint/lib/rules/id-length.js | 3 +- .../node_modules/eslint/lib/rules/id-match.js | 3 +- .../lib/rules/implicit-arrow-linebreak.js | 3 +- .../eslint/lib/rules/indent-legacy.js | 3 +- tools/node_modules/eslint/lib/rules/indent.js | 15 +- .../eslint/lib/rules/init-declarations.js | 3 +- .../eslint/lib/rules/jsx-quotes.js | 3 +- .../eslint/lib/rules/key-spacing.js | 3 +- .../eslint/lib/rules/keyword-spacing.js | 3 +- .../eslint/lib/rules/line-comment-position.js | 3 +- .../eslint/lib/rules/linebreak-style.js | 3 +- .../eslint/lib/rules/lines-around-comment.js | 3 +- .../lib/rules/lines-around-directive.js | 3 +- .../lib/rules/lines-between-class-members.js | 57 ++- .../eslint/lib/rules/max-depth.js | 3 +- .../node_modules/eslint/lib/rules/max-len.js | 3 +- .../eslint/lib/rules/max-lines.js | 3 +- .../eslint/lib/rules/max-nested-callbacks.js | 3 +- .../eslint/lib/rules/max-params.js | 3 +- .../lib/rules/max-statements-per-line.js | 3 +- .../eslint/lib/rules/max-statements.js | 3 +- .../lib/rules/multiline-comment-style.js | 3 +- .../eslint/lib/rules/multiline-ternary.js | 3 +- .../node_modules/eslint/lib/rules/new-cap.js | 3 +- .../eslint/lib/rules/new-parens.js | 3 +- .../eslint/lib/rules/newline-after-var.js | 3 +- .../eslint/lib/rules/newline-before-return.js | 3 +- .../lib/rules/newline-per-chained-call.js | 3 +- .../node_modules/eslint/lib/rules/no-alert.js | 3 +- .../eslint/lib/rules/no-array-constructor.js | 3 +- .../eslint/lib/rules/no-await-in-loop.js | 3 +- .../eslint/lib/rules/no-bitwise.js | 3 +- .../eslint/lib/rules/no-buffer-constructor.js | 3 +- .../eslint/lib/rules/no-caller.js | 3 +- .../eslint/lib/rules/no-case-declarations.js | 3 +- .../eslint/lib/rules/no-catch-shadow.js | 3 +- .../eslint/lib/rules/no-class-assign.js | 3 +- .../eslint/lib/rules/no-compare-neg-zero.js | 3 +- .../eslint/lib/rules/no-cond-assign.js | 3 +- .../eslint/lib/rules/no-confusing-arrow.js | 3 +- .../eslint/lib/rules/no-console.js | 3 +- .../eslint/lib/rules/no-const-assign.js | 3 +- .../eslint/lib/rules/no-constant-condition.js | 3 +- .../eslint/lib/rules/no-continue.js | 3 +- .../eslint/lib/rules/no-control-regex.js | 3 +- .../eslint/lib/rules/no-debugger.js | 3 +- .../eslint/lib/rules/no-delete-var.js | 3 +- .../eslint/lib/rules/no-div-regex.js | 3 +- .../eslint/lib/rules/no-dupe-args.js | 3 +- .../eslint/lib/rules/no-dupe-class-members.js | 3 +- .../eslint/lib/rules/no-dupe-keys.js | 3 +- .../eslint/lib/rules/no-duplicate-case.js | 3 +- .../eslint/lib/rules/no-duplicate-imports.js | 3 +- .../eslint/lib/rules/no-else-return.js | 3 +- .../lib/rules/no-empty-character-class.js | 3 +- .../eslint/lib/rules/no-empty-function.js | 3 +- .../eslint/lib/rules/no-empty-pattern.js | 3 +- .../node_modules/eslint/lib/rules/no-empty.js | 3 +- .../eslint/lib/rules/no-eq-null.js | 3 +- .../node_modules/eslint/lib/rules/no-eval.js | 3 +- .../eslint/lib/rules/no-ex-assign.js | 3 +- .../eslint/lib/rules/no-extend-native.js | 3 +- .../eslint/lib/rules/no-extra-bind.js | 3 +- .../eslint/lib/rules/no-extra-boolean-cast.js | 3 +- .../eslint/lib/rules/no-extra-label.js | 3 +- .../eslint/lib/rules/no-extra-parens.js | 5 +- .../eslint/lib/rules/no-extra-semi.js | 3 +- .../eslint/lib/rules/no-fallthrough.js | 3 +- .../eslint/lib/rules/no-floating-decimal.js | 3 +- .../eslint/lib/rules/no-func-assign.js | 3 +- .../eslint/lib/rules/no-global-assign.js | 3 +- .../eslint/lib/rules/no-implicit-coercion.js | 3 +- .../eslint/lib/rules/no-implicit-globals.js | 3 +- .../eslint/lib/rules/no-implied-eval.js | 3 +- .../eslint/lib/rules/no-inline-comments.js | 3 +- .../eslint/lib/rules/no-inner-declarations.js | 3 +- .../eslint/lib/rules/no-invalid-regexp.js | 3 +- .../eslint/lib/rules/no-invalid-this.js | 3 +- .../lib/rules/no-irregular-whitespace.js | 3 +- .../eslint/lib/rules/no-iterator.js | 3 +- .../eslint/lib/rules/no-label-var.js | 3 +- .../eslint/lib/rules/no-labels.js | 3 +- .../eslint/lib/rules/no-lone-blocks.js | 3 +- .../eslint/lib/rules/no-lonely-if.js | 3 +- .../eslint/lib/rules/no-loop-func.js | 3 +- .../eslint/lib/rules/no-magic-numbers.js | 3 +- .../eslint/lib/rules/no-mixed-operators.js | 3 +- .../eslint/lib/rules/no-mixed-requires.js | 3 +- .../lib/rules/no-mixed-spaces-and-tabs.js | 3 +- .../eslint/lib/rules/no-multi-assign.js | 3 +- .../eslint/lib/rules/no-multi-spaces.js | 3 +- .../eslint/lib/rules/no-multi-str.js | 3 +- .../lib/rules/no-multiple-empty-lines.js | 3 +- .../eslint/lib/rules/no-native-reassign.js | 3 +- .../eslint/lib/rules/no-negated-condition.js | 3 +- .../eslint/lib/rules/no-negated-in-lhs.js | 3 +- .../eslint/lib/rules/no-nested-ternary.js | 3 +- .../eslint/lib/rules/no-new-func.js | 3 +- .../eslint/lib/rules/no-new-object.js | 3 +- .../eslint/lib/rules/no-new-require.js | 3 +- .../eslint/lib/rules/no-new-symbol.js | 3 +- .../eslint/lib/rules/no-new-wrappers.js | 3 +- tools/node_modules/eslint/lib/rules/no-new.js | 3 +- .../eslint/lib/rules/no-obj-calls.js | 3 +- .../eslint/lib/rules/no-octal-escape.js | 3 +- .../node_modules/eslint/lib/rules/no-octal.js | 3 +- .../eslint/lib/rules/no-param-reassign.js | 3 +- .../eslint/lib/rules/no-path-concat.js | 3 +- .../eslint/lib/rules/no-plusplus.js | 3 +- .../eslint/lib/rules/no-process-env.js | 3 +- .../eslint/lib/rules/no-process-exit.js | 3 +- .../node_modules/eslint/lib/rules/no-proto.js | 3 +- .../eslint/lib/rules/no-prototype-builtins.js | 3 +- .../eslint/lib/rules/no-redeclare.js | 3 +- .../eslint/lib/rules/no-regex-spaces.js | 3 +- .../eslint/lib/rules/no-restricted-globals.js | 3 +- .../eslint/lib/rules/no-restricted-imports.js | 3 +- .../eslint/lib/rules/no-restricted-modules.js | 3 +- .../lib/rules/no-restricted-properties.js | 3 +- .../eslint/lib/rules/no-restricted-syntax.js | 3 +- .../eslint/lib/rules/no-return-assign.js | 3 +- .../eslint/lib/rules/no-return-await.js | 6 +- .../eslint/lib/rules/no-script-url.js | 3 +- .../eslint/lib/rules/no-self-assign.js | 3 +- .../eslint/lib/rules/no-self-compare.js | 3 +- .../eslint/lib/rules/no-sequences.js | 3 +- .../lib/rules/no-shadow-restricted-names.js | 3 +- .../eslint/lib/rules/no-shadow.js | 3 +- .../eslint/lib/rules/no-spaced-func.js | 3 +- .../eslint/lib/rules/no-sparse-arrays.js | 3 +- .../node_modules/eslint/lib/rules/no-sync.js | 3 +- .../node_modules/eslint/lib/rules/no-tabs.js | 3 +- .../lib/rules/no-template-curly-in-string.js | 3 +- .../eslint/lib/rules/no-ternary.js | 3 +- .../eslint/lib/rules/no-this-before-super.js | 3 +- .../eslint/lib/rules/no-throw-literal.js | 3 +- .../eslint/lib/rules/no-trailing-spaces.js | 3 +- .../eslint/lib/rules/no-undef-init.js | 3 +- .../node_modules/eslint/lib/rules/no-undef.js | 3 +- .../eslint/lib/rules/no-undefined.js | 3 +- .../eslint/lib/rules/no-underscore-dangle.js | 3 +- .../lib/rules/no-unexpected-multiline.js | 3 +- .../lib/rules/no-unmodified-loop-condition.js | 160 ++++---- .../eslint/lib/rules/no-unneeded-ternary.js | 3 +- .../eslint/lib/rules/no-unreachable.js | 3 +- .../eslint/lib/rules/no-unsafe-finally.js | 3 +- .../eslint/lib/rules/no-unsafe-negation.js | 3 +- .../eslint/lib/rules/no-unused-expressions.js | 3 +- .../eslint/lib/rules/no-unused-labels.js | 3 +- .../eslint/lib/rules/no-unused-vars.js | 24 +- .../eslint/lib/rules/no-use-before-define.js | 3 +- .../eslint/lib/rules/no-useless-call.js | 3 +- .../lib/rules/no-useless-computed-key.js | 3 +- .../eslint/lib/rules/no-useless-concat.js | 3 +- .../lib/rules/no-useless-constructor.js | 3 +- .../eslint/lib/rules/no-useless-escape.js | 3 +- .../eslint/lib/rules/no-useless-rename.js | 3 +- .../eslint/lib/rules/no-useless-return.js | 3 +- tools/node_modules/eslint/lib/rules/no-var.js | 3 +- .../node_modules/eslint/lib/rules/no-void.js | 3 +- .../eslint/lib/rules/no-warning-comments.js | 3 +- .../rules/no-whitespace-before-property.js | 3 +- .../node_modules/eslint/lib/rules/no-with.js | 3 +- .../rules/nonblock-statement-body-position.js | 3 +- .../eslint/lib/rules/object-curly-newline.js | 3 +- .../eslint/lib/rules/object-curly-spacing.js | 3 +- .../lib/rules/object-property-newline.js | 3 +- .../eslint/lib/rules/object-shorthand.js | 3 +- .../lib/rules/one-var-declaration-per-line.js | 3 +- .../node_modules/eslint/lib/rules/one-var.js | 50 ++- .../eslint/lib/rules/operator-assignment.js | 3 +- .../eslint/lib/rules/operator-linebreak.js | 3 +- .../eslint/lib/rules/padded-blocks.js | 3 +- .../rules/padding-line-between-statements.js | 3 +- .../eslint/lib/rules/prefer-arrow-callback.js | 3 +- .../eslint/lib/rules/prefer-const.js | 3 +- .../eslint/lib/rules/prefer-destructuring.js | 3 +- .../lib/rules/prefer-numeric-literals.js | 3 +- .../lib/rules/prefer-promise-reject-errors.js | 3 +- .../eslint/lib/rules/prefer-reflect.js | 3 +- .../eslint/lib/rules/prefer-rest-params.js | 3 +- .../eslint/lib/rules/prefer-spread.js | 3 +- .../eslint/lib/rules/prefer-template.js | 3 +- .../eslint/lib/rules/quote-props.js | 3 +- tools/node_modules/eslint/lib/rules/quotes.js | 3 +- tools/node_modules/eslint/lib/rules/radix.js | 3 +- .../eslint/lib/rules/require-await.js | 3 +- .../eslint/lib/rules/require-jsdoc.js | 3 +- .../eslint/lib/rules/require-yield.js | 3 +- .../eslint/lib/rules/rest-spread-spacing.js | 3 +- .../eslint/lib/rules/semi-spacing.js | 3 +- .../eslint/lib/rules/semi-style.js | 3 +- tools/node_modules/eslint/lib/rules/semi.js | 3 +- .../eslint/lib/rules/sort-imports.js | 3 +- .../eslint/lib/rules/sort-keys.js | 3 +- .../eslint/lib/rules/sort-vars.js | 3 +- .../eslint/lib/rules/space-before-blocks.js | 3 +- .../lib/rules/space-before-function-paren.js | 3 +- .../eslint/lib/rules/space-in-parens.js | 3 +- .../eslint/lib/rules/space-infix-ops.js | 3 +- .../eslint/lib/rules/space-unary-ops.js | 3 +- .../eslint/lib/rules/spaced-comment.js | 3 +- tools/node_modules/eslint/lib/rules/strict.js | 3 +- .../eslint/lib/rules/switch-colon-spacing.js | 3 +- .../eslint/lib/rules/symbol-description.js | 3 +- .../lib/rules/template-curly-spacing.js | 3 +- .../eslint/lib/rules/template-tag-spacing.js | 3 +- .../eslint/lib/rules/unicode-bom.js | 3 +- .../eslint/lib/rules/use-isnan.js | 3 +- .../eslint/lib/rules/valid-jsdoc.js | 3 +- .../eslint/lib/rules/valid-typeof.js | 3 +- .../eslint/lib/rules/vars-on-top.js | 3 +- .../eslint/lib/rules/wrap-iife.js | 3 +- .../eslint/lib/rules/wrap-regex.js | 3 +- .../eslint/lib/rules/yield-star-spacing.js | 3 +- tools/node_modules/eslint/lib/rules/yoda.js | 3 +- .../eslint/lib/testers/rule-tester.js | 93 +++-- .../eslint/lib/util/interpolate.js | 24 ++ .../eslint/lib/util/source-code.js | 47 ++- .../node_modules/eslint/lib/util/traverser.js | 178 ++++++++- .../acorn-jsx/node_modules/acorn/package.json | 2 +- .../node_modules/acorn-jsx/package.json | 2 +- .../eslint/node_modules/acorn/AUTHORS | 5 + .../eslint/node_modules/acorn/README.md | 27 +- .../eslint/node_modules/acorn/bin/_acorn.js | 69 ++++ .../eslint/node_modules/acorn/bin/acorn | 67 +--- .../node_modules/acorn/bin/run_test262.js | 27 ++ .../node_modules/acorn/bin/test262.whitelist | 372 ++++++++++++++++++ .../node_modules/acorn/dist/acorn.es.js | 327 ++++++++------- .../eslint/node_modules/acorn/dist/acorn.js | 329 +++++++++------- .../node_modules/acorn/dist/acorn_loose.js | 2 +- .../eslint/node_modules/acorn/dist/walk.js | 2 +- .../eslint/node_modules/acorn/package.json | 49 ++- .../node_modules/ajv-keywords/package.json | 2 +- .../eslint/node_modules/ajv/README.md | 2 +- .../node_modules/ajv/dist/ajv.bundle.js | 2 +- .../eslint/node_modules/ajv/dist/ajv.min.js | 4 +- .../node_modules/ajv/dist/ajv.min.js.map | 2 +- .../node_modules/ajv/dist/nodent.min.js | 4 +- .../node_modules/ajv/dist/regenerator.min.js | 4 +- .../eslint/node_modules/ajv/lib/ajv.d.ts | 126 +++--- .../eslint/node_modules/ajv/lib/ajv.js | 2 +- .../eslint/node_modules/ajv/package.json | 20 +- .../node_modules/ansi-escapes/package.json | 2 +- .../node_modules/ansi-regex/package.json | 2 +- .../node_modules/ansi-styles/package.json | 2 +- .../eslint/node_modules/argparse/package.json | 2 +- .../node_modules/array-union/package.json | 2 +- .../node_modules/array-uniq/package.json | 2 +- .../eslint/node_modules/arrify/package.json | 2 +- .../node_modules/chalk/package.json | 2 +- .../node_modules/strip-ansi/package.json | 2 +- .../babel-code-frame/package.json | 2 +- .../eslint/node_modules/bail/package.json | 2 +- .../node_modules/balanced-match/package.json | 2 +- .../node_modules/brace-expansion/package.json | 2 +- .../node_modules/caller-path/package.json | 2 +- .../node_modules/callsites/package.json | 2 +- .../node_modules/ansi-styles/package.json | 2 +- .../node_modules/supports-color/package.json | 2 +- .../eslint/node_modules/chalk/package.json | 2 +- .../character-entities-legacy/package.json | 2 +- .../character-entities/package.json | 2 +- .../character-reference-invalid/package.json | 2 +- .../eslint/node_modules/chardet/package.json | 12 +- .../node_modules/chardet/scripts/release | 16 - .../node_modules/circular-json/package.json | 2 +- .../node_modules/cli-cursor/package.json | 2 +- .../node_modules/cli-width/package.json | 2 +- .../eslint/node_modules/co/package.json | 2 +- .../collapse-white-space/package.json | 2 +- .../node_modules/color-convert/package.json | 2 +- .../node_modules/color-name/package.json | 2 +- .../node_modules/concat-map/package.json | 2 +- .../node_modules/concat-stream/package.json | 2 +- .../node_modules/core-util-is/package.json | 2 +- .../node_modules/cross-spawn/package.json | 2 +- .../debug/{Readme.md => README.md} | 0 .../eslint/node_modules/debug/package.json | 12 +- .../eslint/node_modules/deep-is/package.json | 2 +- .../eslint/node_modules/del/package.json | 2 +- .../eslint/node_modules/doctrine/README.md | 1 + .../node_modules/doctrine/lib/doctrine.js | 106 ++--- .../eslint/node_modules/doctrine/lib/typed.js | 162 ++++---- .../eslint/node_modules/doctrine/package.json | 12 +- .../escape-string-regexp/package.json | 2 +- .../eslint-plugin-markdown/package.json | 2 +- .../node_modules/eslint-scope/package.json | 2 +- .../node_modules/eslint-visitor-keys/LICENSE | 201 ++++++++++ .../eslint-visitor-keys/README.md | 98 +++++ .../eslint-visitor-keys/lib/index.js | 81 ++++ .../eslint-visitor-keys/lib/visitor-keys.json | 277 +++++++++++++ .../eslint-visitor-keys/package.json | 68 ++++ .../eslint/node_modules/espree/package.json | 2 +- .../eslint/node_modules/esprima/ChangeLog | 225 +++++++++++ .../eslint/node_modules/esprima/package.json | 2 +- .../eslint/node_modules/esquery/package.json | 2 +- .../node_modules/esrecurse/package.json | 2 +- .../node_modules/estraverse/package.json | 13 +- .../eslint/node_modules/esutils/package.json | 2 +- .../eslint/node_modules/extend/package.json | 2 +- .../node_modules/external-editor/package.json | 2 +- .../node_modules/fast-deep-equal/package.json | 2 +- .../fast-json-stable-stringify/package.json | 2 +- .../fast-levenshtein/package.json | 2 +- .../eslint/node_modules/figures/package.json | 2 +- .../file-entry-cache/package.json | 2 +- .../node_modules/flat-cache/package.json | 2 +- .../node_modules/fs.realpath/package.json | 2 +- .../node_modules/function-bind/package.json | 2 +- .../functional-red-black-tree/package.json | 2 +- .../eslint/node_modules/glob/package.json | 2 +- .../eslint/node_modules/globals/globals.json | 41 +- .../eslint/node_modules/globals/package.json | 12 +- .../eslint/node_modules/globby/package.json | 2 +- .../node_modules/graceful-fs/package.json | 2 +- .../eslint/node_modules/has-ansi/package.json | 2 +- .../eslint/node_modules/has-flag/package.json | 2 +- .../eslint/node_modules/has/package.json | 2 +- .../node_modules/iconv-lite/package.json | 2 +- .../eslint/node_modules/ignore/package.json | 2 +- .../node_modules/imurmurhash/package.json | 2 +- .../eslint/node_modules/inflight/package.json | 2 +- .../eslint/node_modules/inherits/package.json | 2 +- .../eslint/node_modules/inquirer/package.json | 2 +- .../node_modules/is-alphabetical/package.json | 2 +- .../is-alphanumerical/package.json | 2 +- .../node_modules/is-buffer/package.json | 2 +- .../node_modules/is-decimal/package.json | 2 +- .../is-fullwidth-code-point/package.json | 2 +- .../node_modules/is-hexadecimal/package.json | 2 +- .../node_modules/is-path-cwd/package.json | 2 +- .../node_modules/is-path-in-cwd/package.json | 2 +- .../node_modules/is-path-inside/license | 21 + .../node_modules/is-path-inside/package.json | 19 +- .../node_modules/is-path-inside/readme.md | 9 +- .../node_modules/is-plain-obj/package.json | 2 +- .../node_modules/is-promise/package.json | 2 +- .../eslint/node_modules/is-resolvable/LICENSE | 2 +- .../node_modules/is-resolvable/README.md | 6 +- .../node_modules/is-resolvable/index.js | 24 +- .../node_modules/is-resolvable/package.json | 50 ++- .../is-whitespace-character/package.json | 2 +- .../is-word-character/package.json | 2 +- .../eslint/node_modules/isarray/package.json | 2 +- .../eslint/node_modules/isexe/package.json | 2 +- .../js-tokens/{readme.md => README.md} | 0 .../node_modules/js-tokens/package.json | 2 +- .../eslint/node_modules/js-yaml/package.json | 2 +- .../json-schema-traverse/package.json | 2 +- .../package.json | 2 +- .../eslint/node_modules/levn/package.json | 2 +- .../eslint/node_modules/lodash/package.json | 2 +- .../node_modules/lru-cache/package.json | 2 +- .../markdown-escapes/package.json | 2 +- .../eslint/node_modules/mimic-fn/package.json | 2 +- .../node_modules/minimatch/package.json | 2 +- .../eslint/node_modules/minimist/package.json | 2 +- .../eslint/node_modules/mkdirp/package.json | 2 +- .../ms/{LICENSE.md => license.md} | 0 .../eslint/node_modules/ms/package.json | 2 +- .../node_modules/ms/{README.md => readme.md} | 0 .../node_modules/mute-stream/package.json | 2 +- .../node_modules/natural-compare/package.json | 2 +- .../node_modules/object-assign/package.json | 2 +- .../eslint/node_modules/once/package.json | 2 +- .../eslint/node_modules/onetime/package.json | 2 +- .../node_modules/optionator/package.json | 2 +- .../node_modules/os-tmpdir/package.json | 2 +- .../node_modules/parse-entities/package.json | 2 +- .../path-is-absolute/package.json | 2 +- .../node_modules/path-is-inside/package.json | 2 +- .../eslint/node_modules/pify/package.json | 2 +- .../node_modules/pinkie-promise/package.json | 2 +- .../eslint/node_modules/pinkie/package.json | 2 +- .../node_modules/pluralize/package.json | 2 +- .../node_modules/prelude-ls/package.json | 2 +- .../process-nextick-args/package.json | 2 +- .../progress/{Readme.md => README.md} | 0 .../eslint/node_modules/progress/package.json | 2 +- .../node_modules/pseudomap/package.json | 2 +- .../node_modules/readable-stream/package.json | 2 +- .../node_modules/remark-parse/package.json | 2 +- .../node_modules/repeat-string/package.json | 2 +- .../node_modules/replace-ext/package.json | 2 +- .../require-uncached/package.json | 2 +- .../node_modules/resolve-from/package.json | 2 +- .../node_modules/restore-cursor/package.json | 2 +- .../eslint/node_modules/rimraf/package.json | 2 +- .../node_modules/run-async/package.json | 2 +- .../rx-lite-aggregates/package.json | 2 +- .../eslint/node_modules/rx-lite/package.json | 2 +- .../node_modules/safe-buffer/package.json | 2 +- .../eslint/node_modules/semver/package.json | 2 +- .../node_modules/shebang-command/package.json | 2 +- .../node_modules/shebang-regex/package.json | 2 +- .../node_modules/signal-exit/package.json | 2 +- .../node_modules/slice-ansi/package.json | 2 +- .../node_modules/sprintf-js/package.json | 2 +- .../node_modules/state-toggle/package.json | 2 +- .../node_modules/string-width/package.json | 2 +- .../node_modules/string_decoder/package.json | 2 +- .../node_modules/ansi-regex/package.json | 2 +- .../node_modules/strip-ansi/package.json | 2 +- .../strip-json-comments/package.json | 2 +- .../node_modules/supports-color/package.json | 2 +- .../eslint/node_modules/table/package.json | 2 +- .../node_modules/text-table/package.json | 2 +- .../eslint/node_modules/through/package.json | 2 +- .../trim-trailing-lines/package.json | 2 +- .../eslint/node_modules/trim/package.json | 2 +- .../eslint/node_modules/trough/package.json | 2 +- .../eslint/node_modules/tryit/README.md | 56 --- .../eslint/node_modules/tryit/package.json | 59 --- .../eslint/node_modules/tryit/tryit.js | 14 - .../node_modules/type-check/package.json | 2 +- .../node_modules/typedarray/package.json | 2 +- .../eslint/node_modules/unherit/package.json | 2 +- .../eslint/node_modules/unified/package.json | 2 +- .../node_modules/unist-util-is/package.json | 2 +- .../unist-util-remove-position/package.json | 2 +- .../package.json | 2 +- .../node_modules/unist-util-visit/index.js | 34 +- .../unist-util-visit/package.json | 12 +- .../node_modules/unist-util-visit/readme.md | 73 +++- .../node_modules/util-deprecate/package.json | 2 +- .../node_modules/vfile-location/package.json | 2 +- .../node_modules/vfile-message/package.json | 2 +- .../eslint/node_modules/vfile/package.json | 2 +- .../eslint/node_modules/which/package.json | 2 +- .../eslint/node_modules/wordwrap/package.json | 2 +- .../eslint/node_modules/wrappy/package.json | 2 +- .../eslint/node_modules/write/package.json | 2 +- .../node_modules/x-is-function/package.json | 2 +- .../node_modules/x-is-string/package.json | 2 +- .../eslint/node_modules/xtend/package.json | 2 +- .../eslint/node_modules/yallist/package.json | 2 +- tools/node_modules/eslint/package.json | 16 +- 488 files changed, 3694 insertions(+), 1579 deletions(-) create mode 100644 tools/node_modules/eslint/lib/util/interpolate.js create mode 100644 tools/node_modules/eslint/node_modules/acorn/bin/_acorn.js create mode 100644 tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js create mode 100644 tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist delete mode 100755 tools/node_modules/eslint/node_modules/chardet/scripts/release rename tools/node_modules/eslint/node_modules/debug/{Readme.md => README.md} (100%) create mode 100644 tools/node_modules/eslint/node_modules/eslint-visitor-keys/LICENSE create mode 100644 tools/node_modules/eslint/node_modules/eslint-visitor-keys/README.md create mode 100644 tools/node_modules/eslint/node_modules/eslint-visitor-keys/lib/index.js create mode 100644 tools/node_modules/eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.json create mode 100644 tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json create mode 100644 tools/node_modules/eslint/node_modules/esprima/ChangeLog create mode 100644 tools/node_modules/eslint/node_modules/is-path-inside/license mode change 100755 => 100644 tools/node_modules/eslint/node_modules/is-resolvable/README.md mode change 100755 => 100644 tools/node_modules/eslint/node_modules/is-resolvable/index.js rename tools/node_modules/eslint/node_modules/js-tokens/{readme.md => README.md} (100%) rename tools/node_modules/eslint/node_modules/ms/{LICENSE.md => license.md} (100%) rename tools/node_modules/eslint/node_modules/ms/{README.md => readme.md} (100%) rename tools/node_modules/eslint/node_modules/progress/{Readme.md => README.md} (100%) delete mode 100644 tools/node_modules/eslint/node_modules/tryit/README.md delete mode 100644 tools/node_modules/eslint/node_modules/tryit/package.json delete mode 100644 tools/node_modules/eslint/node_modules/tryit/tryit.js diff --git a/tools/node_modules/eslint/README.md b/tools/node_modules/eslint/README.md index 5a23d6295deff4..c333edd83bfaa1 100644 --- a/tools/node_modules/eslint/README.md +++ b/tools/node_modules/eslint/README.md @@ -156,7 +156,7 @@ Before filing an issue, please be sure to read the guidelines for what you're re ## Semantic Versioning Policy -ESLint follows [semantic versioning](http://semver.org). However, due to the nature of ESLint as a code quality tool, it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, we've defined the following semantic versioning policy for ESLint: +ESLint follows [semantic versioning](https://semver.org). However, due to the nature of ESLint as a code quality tool, it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, we've defined the following semantic versioning policy for ESLint: * Patch release (intended to not break your lint build) * A bug fix in a rule that results in ESLint reporting fewer errors. @@ -188,7 +188,7 @@ According to our policy, any minor update may report more errors than the previo ### How is ESLint different from JSHint? -The most significant difference is that ESlint has pluggable linting rules. That means you can use the rules it comes with, or you can extend it with rules created by others or by yourself! +The most significant difference is that ESLint has pluggable linting rules. That means you can use the rules it comes with, or you can extend it with rules created by others or by yourself! ### How does ESLint performance compare to JSHint? @@ -239,7 +239,7 @@ Once a language feature has been adopted into the ECMAScript standard (stage 4 a ### Where to ask for help? -Join our [Mailing List](https://groups.google.com/group/eslint) or [Chatroom](https://gitter.im/eslint/eslint) +Join our [Mailing List](https://groups.google.com/group/eslint) or [Chatroom](https://gitter.im/eslint/eslint). [npm-image]: https://img.shields.io/npm/v/eslint.svg?style=flat-square diff --git a/tools/node_modules/eslint/lib/cli-engine.js b/tools/node_modules/eslint/lib/cli-engine.js index 55450fd633e283..0c1afcbcebd13c 100644 --- a/tools/node_modules/eslint/lib/cli-engine.js +++ b/tools/node_modules/eslint/lib/cli-engine.js @@ -420,6 +420,10 @@ class CLIEngine { this.config = new Config(this.options, this.linter); } + getRules() { + return this.linter.getRules(); + } + /** * Returns results that only contains errors. * @param {LintResult[]} results The results to filter. diff --git a/tools/node_modules/eslint/lib/formatters/checkstyle.js b/tools/node_modules/eslint/lib/formatters/checkstyle.js index 720e831a3ecd67..c807871930bdec 100644 --- a/tools/node_modules/eslint/lib/formatters/checkstyle.js +++ b/tools/node_modules/eslint/lib/formatters/checkstyle.js @@ -32,7 +32,7 @@ module.exports = function(results) { let output = ""; - output += ""; + output += ""; output += ""; results.forEach(result => { diff --git a/tools/node_modules/eslint/lib/formatters/jslint-xml.js b/tools/node_modules/eslint/lib/formatters/jslint-xml.js index e152d8bdd71bff..14743430d8ff94 100644 --- a/tools/node_modules/eslint/lib/formatters/jslint-xml.js +++ b/tools/node_modules/eslint/lib/formatters/jslint-xml.js @@ -14,7 +14,7 @@ module.exports = function(results) { let output = ""; - output += ""; + output += ""; output += ""; results.forEach(result => { diff --git a/tools/node_modules/eslint/lib/formatters/junit.js b/tools/node_modules/eslint/lib/formatters/junit.js index ca666bb14c6ceb..77d548f380e2b6 100644 --- a/tools/node_modules/eslint/lib/formatters/junit.js +++ b/tools/node_modules/eslint/lib/formatters/junit.js @@ -32,7 +32,7 @@ module.exports = function(results) { let output = ""; - output += "\n"; + output += "\n"; output += "\n"; results.forEach(result => { diff --git a/tools/node_modules/eslint/lib/linter.js b/tools/node_modules/eslint/lib/linter.js index 21d62f73ae6a3b..2238c5be0e3448 100755 --- a/tools/node_modules/eslint/lib/linter.js +++ b/tools/node_modules/eslint/lib/linter.js @@ -10,6 +10,7 @@ //------------------------------------------------------------------------------ const eslintScope = require("eslint-scope"), + evk = require("eslint-visitor-keys"), levn = require("levn"), lodash = require("lodash"), blankScriptAST = require("../conf/blank-script.json"), @@ -43,6 +44,8 @@ const MAX_AUTOFIX_PASSES = 10; * @property {ASTNode} ast The ESTree AST Program node. * @property {Object} services An object containing additional services related * to the parser. + * @property {ScopeManager|null} scopeManager The scope manager object of this AST. + * @property {Object|null} visitorKeys The visitor keys to traverse this AST. */ //------------------------------------------------------------------------------ @@ -501,6 +504,28 @@ function getRuleOptions(ruleConfig) { } +/** + * Analyze scope of the given AST. + * @param {ASTNode} ast The `Program` node to analyze. + * @param {Object} parserOptions The parser options. + * @param {Object} visitorKeys The visitor keys. + * @returns {ScopeManager} The analysis result. + */ +function analyzeScope(ast, parserOptions, visitorKeys) { + const ecmaFeatures = parserOptions.ecmaFeatures || {}; + const ecmaVersion = parserOptions.ecmaVersion || 5; + + return eslintScope.analyze(ast, { + ignoreEval: true, + nodejsScope: ecmaFeatures.globalReturn, + impliedStrict: ecmaFeatures.impliedStrict, + ecmaVersion, + sourceType: parserOptions.sourceType || "script", + childVisitorKeys: visitorKeys || evk.KEYS, + fallback: Traverser.getKeys + }); +} + /** * Parses text into an AST. Moved out here because the try-catch prevents * optimization of functions, so it's best to keep the try-catch as isolated @@ -509,18 +534,20 @@ function getRuleOptions(ruleConfig) { * @param {Object} providedParserOptions Options to pass to the parser * @param {Object} parser The parser module * @param {string} filePath The path to the file being parsed. - * @returns {{success: false, error: Problem}|{success: true,ast: ASTNode, services: Object}} + * @returns {{success: false, error: Problem}|{success: true, sourceCode: SourceCode}} * An object containing the AST and parser services if parsing was successful, or the error if parsing failed * @private */ function parse(text, providedParserOptions, parser, filePath) { - + const textToParse = stripUnicodeBOM(text).replace(astUtils.SHEBANG_MATCHER, (match, captured) => `//${captured}`); const parserOptions = Object.assign({}, providedParserOptions, { loc: true, range: true, raw: true, tokens: true, comment: true, + eslintVisitorKeys: true, + eslintScopeManager: true, filePath }); @@ -531,20 +558,30 @@ function parse(text, providedParserOptions, parser, filePath) { * problem that ESLint identified just like any other. */ try { - if (typeof parser.parseForESLint === "function") { - const parseResult = parser.parseForESLint(text, parserOptions); - - return { - success: true, - ast: parseResult.ast, - services: parseResult.services || {} - }; - } + const parseResult = (typeof parser.parseForESLint === "function") + ? parser.parseForESLint(textToParse, parserOptions) + : { ast: parser.parse(textToParse, parserOptions) }; + const ast = parseResult.ast; + const parserServices = parseResult.services || {}; + const visitorKeys = parseResult.visitorKeys || evk.KEYS; + const scopeManager = parseResult.scopeManager || analyzeScope(ast, parserOptions, visitorKeys); return { success: true, - ast: parser.parse(text, parserOptions), - services: {} + + /* + * Save all values that `parseForESLint()` returned. + * If a `SourceCode` object is given as the first parameter instead of source code text, + * linter skips the parsing process and reuses the source code object. + * In that case, linter needs all the values that `parseForESLint()` returned. + */ + sourceCode: new SourceCode({ + text, + ast, + parserServices, + scopeManager, + visitorKeys + }) }; } catch (ex) { @@ -717,7 +754,6 @@ module.exports = class Linter { */ _verifyWithoutProcessors(textOrSourceCode, config, filenameOrOptions) { let text, - parserServices, allowInlineConfig, providedFilename, reportUnusedDisableDirectives; @@ -731,8 +767,6 @@ module.exports = class Linter { providedFilename = filenameOrOptions; } - const filename = typeof providedFilename === "string" ? providedFilename : ""; - if (typeof textOrSourceCode === "string") { lastSourceCodes.set(this, null); text = textOrSourceCode; @@ -741,6 +775,8 @@ module.exports = class Linter { text = textOrSourceCode.text; } + const filename = typeof providedFilename === "string" ? providedFilename : ""; + // search and apply "eslint-env *". const envInFile = findEslintEnv(text); @@ -757,9 +793,7 @@ module.exports = class Linter { // process initial config to make it safe to extend config = prepareConfig(config, this.environments); - if (lastSourceCodes.get(this)) { - parserServices = {}; - } else { + if (!lastSourceCodes.get(this)) { // there's no input, just exit here if (text.trim().length === 0) { @@ -783,7 +817,7 @@ module.exports = class Linter { }]; } const parseResult = parse( - stripUnicodeBOM(text).replace(astUtils.SHEBANG_MATCHER, (match, captured) => `//${captured}`), + text, config.parserOptions, parser, filename @@ -793,8 +827,24 @@ module.exports = class Linter { return [parseResult.error]; } - parserServices = parseResult.services; - lastSourceCodes.set(this, new SourceCode(text, parseResult.ast)); + lastSourceCodes.set(this, parseResult.sourceCode); + } else { + + /* + * If the given source code object as the first argument does not have scopeManager, analyze the scope. + * This is for backward compatibility (SourceCode is frozen so it cannot rebind). + */ + const lastSourceCode = lastSourceCodes.get(this); + + if (!lastSourceCode.scopeManager) { + lastSourceCodes.set(this, new SourceCode({ + text: lastSourceCode.text, + ast: lastSourceCode.ast, + parserServices: lastSourceCode.parserServices, + visitorKeys: lastSourceCode.visitorKeys, + scopeManager: analyzeScope(lastSourceCode.ast, config.parserOptions) + })); + } } const problems = []; @@ -814,16 +864,7 @@ module.exports = class Linter { const emitter = createEmitter(); const traverser = new Traverser(); - const ecmaFeatures = config.parserOptions.ecmaFeatures || {}; - const ecmaVersion = config.parserOptions.ecmaVersion || 5; - const scopeManager = eslintScope.analyze(sourceCode.ast, { - ignoreEval: true, - nodejsScope: ecmaFeatures.globalReturn, - impliedStrict: ecmaFeatures.impliedStrict, - ecmaVersion, - sourceType: config.parserOptions.sourceType || "script", - fallback: Traverser.getKeys - }); + const scopeManager = sourceCode.scopeManager; /* * Create a frozen object with the ruleContext properties and methods that are shared by all rules. @@ -842,7 +883,7 @@ module.exports = class Linter { markVariableAsUsed: name => markVariableAsUsed(scopeManager, traverser.current(), config.parserOptions, name), parserOptions: config.parserOptions, parserPath: config.parser, - parserServices, + parserServices: sourceCode.parserServices, settings: config.settings, /** @@ -870,6 +911,7 @@ module.exports = class Linter { } const rule = this.rules.get(ruleId); + const messageIds = rule && rule.meta && rule.meta.messages; let reportTranslator = null; const ruleContext = Object.freeze( Object.assign( @@ -890,7 +932,7 @@ module.exports = class Linter { * with Node 8.4.0. */ if (reportTranslator === null) { - reportTranslator = createReportTranslator({ ruleId, severity, sourceCode }); + reportTranslator = createReportTranslator({ ruleId, severity, sourceCode, messageIds }); } const problem = reportTranslator.apply(null, arguments); @@ -957,7 +999,8 @@ module.exports = class Linter { }, leave(node) { eventGenerator.leaveNode(node); - } + }, + visitorKeys: sourceCode.visitorKeys }); return applyDisableDirectives({ diff --git a/tools/node_modules/eslint/lib/options.js b/tools/node_modules/eslint/lib/options.js index ee1d3369cecf36..c8005d4445190e 100644 --- a/tools/node_modules/eslint/lib/options.js +++ b/tools/node_modules/eslint/lib/options.js @@ -64,26 +64,6 @@ module.exports = optionator({ type: "Object", description: "Specify parser options" }, - { - heading: "Caching" - }, - { - option: "cache", - type: "Boolean", - default: "false", - description: "Only check changed files" - }, - { - option: "cache-file", - type: "path::String", - default: ".eslintcache", - description: "Path to the cache file. Deprecated: use --cache-location" - }, - { - option: "cache-location", - type: "path::String", - description: "Path to the cache file or directory" - }, { heading: "Specifying rules and plugins" }, @@ -102,6 +82,21 @@ module.exports = optionator({ type: "Object", description: "Specify rules" }, + { + heading: "Fixing problems" + }, + { + option: "fix", + type: "Boolean", + default: false, + description: "Automatically fix problems" + }, + { + option: "fix-dry-run", + type: "Boolean", + default: false, + description: "Automatically fix problems without saving the changes to the file system" + }, { heading: "Ignoring files" }, @@ -176,25 +171,48 @@ module.exports = optionator({ description: "Force enabling/disabling of color" }, { - heading: "Miscellaneous" + heading: "Inline configuration comments" }, { - option: "init", + option: "inline-config", type: "Boolean", - default: "false", - description: "Run config initialization wizard" + default: "true", + description: "Prevent comments from changing config or rules" }, { - option: "fix", + option: "report-unused-disable-directives", type: "Boolean", default: false, - description: "Automatically fix problems" + description: "Adds reported errors for unused eslint-disable directives" }, { - option: "fix-dry-run", + heading: "Caching" + }, + { + option: "cache", type: "Boolean", - default: false, - description: "Automatically fix problems without saving the changes to the file system" + default: "false", + description: "Only check changed files" + }, + { + option: "cache-file", + type: "path::String", + default: ".eslintcache", + description: "Path to the cache file. Deprecated: use --cache-location" + }, + { + option: "cache-location", + type: "path::String", + description: "Path to the cache file or directory" + }, + { + heading: "Miscellaneous" + }, + { + option: "init", + type: "Boolean", + default: "false", + description: "Run config initialization wizard" }, { option: "debug", @@ -214,18 +232,6 @@ module.exports = optionator({ type: "Boolean", description: "Output the version number" }, - { - option: "inline-config", - type: "Boolean", - default: "true", - description: "Prevent comments from changing config or rules" - }, - { - option: "report-unused-disable-directives", - type: "Boolean", - default: false, - description: "Adds reported errors for unused eslint-disable directives" - }, { option: "print-config", type: "path::String", diff --git a/tools/node_modules/eslint/lib/report-translator.js b/tools/node_modules/eslint/lib/report-translator.js index 9c4ab8b9a9fb05..8e5b587f96c33c 100644 --- a/tools/node_modules/eslint/lib/report-translator.js +++ b/tools/node_modules/eslint/lib/report-translator.js @@ -11,6 +11,7 @@ const assert = require("assert"); const ruleFixer = require("./util/rule-fixer"); +const interpolate = require("./util/interpolate"); //------------------------------------------------------------------------------ // Typedefs @@ -41,7 +42,9 @@ function normalizeMultiArgReportCall() { // If there is one argument, it is considered to be a new-style call already. if (arguments.length === 1) { - return arguments[0]; + + // Shallow clone the object to avoid surprises if reusing the descriptor + return Object.assign({}, arguments[0]); } // If the second argument is a string, the arguments are interpreted as [node, message, data, fix]. @@ -100,16 +103,7 @@ function normalizeReportLoc(descriptor) { * @returns {string} The interpolated message for the descriptor */ function normalizeMessagePlaceholders(descriptor) { - if (!descriptor.data) { - return descriptor.message; - } - return descriptor.message.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (fullMatch, term) => { - if (term in descriptor.data) { - return descriptor.data[term]; - } - - return fullMatch; - }); + return interpolate(descriptor.message, descriptor.data); } /** @@ -216,6 +210,14 @@ function createProblem(options) { source: options.sourceLines[options.loc.start.line - 1] || "" }; + /* + * If this isn’t in the conditional, some of the tests fail + * because `messageId` is present in the problem object + */ + if (options.messageId) { + problem.messageId = options.messageId; + } + if (options.loc.end) { problem.endLine = options.loc.end.line; problem.endColumn = options.loc.end.column + 1; @@ -231,12 +233,13 @@ function createProblem(options) { /** * Returns a function that converts the arguments of a `context.report` call from a rule into a reported * problem for the Node.js API. - * @param {{ruleId: string, severity: number, sourceCode: SourceCode}} metadata Metadata for the reported problem + * @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object}} metadata Metadata for the reported problem * @param {SourceCode} sourceCode The `SourceCode` instance for the text being linted * @returns {function(...args): { * ruleId: string, * severity: (0|1|2), - * message: string, + * message: (string|undefined), + * messageId: (string|undefined), * line: number, * column: number, * endLine: (number|undefined), @@ -261,11 +264,29 @@ module.exports = function createReportTranslator(metadata) { assertValidNodeInfo(descriptor); + if (descriptor.messageId) { + if (!metadata.messageIds) { + throw new TypeError("context.report() called with a messageId, but no messages were present in the rule metadata."); + } + const id = descriptor.messageId; + const messages = metadata.messageIds; + + if (descriptor.message) { + throw new TypeError("context.report() called with a message and a messageId. Please only pass one."); + } + if (!messages || !Object.prototype.hasOwnProperty.call(messages, id)) { + throw new TypeError(`context.report() called with a messageId of '${id}' which is not present in the 'messages' config: ${JSON.stringify(messages, null, 2)}`); + } + descriptor.message = messages[id]; + } + + return createProblem({ ruleId: metadata.ruleId, severity: metadata.severity, node: descriptor.node, message: normalizeMessagePlaceholders(descriptor), + messageId: descriptor.messageId, loc: normalizeReportLoc(descriptor), fix: normalizeFixes(descriptor, metadata.sourceCode), sourceLines: metadata.sourceCode.lines diff --git a/tools/node_modules/eslint/lib/rules/.eslintrc.yml b/tools/node_modules/eslint/lib/rules/.eslintrc.yml index 2a8d907935b5f7..64b3cee7f0111e 100644 --- a/tools/node_modules/eslint/lib/rules/.eslintrc.yml +++ b/tools/node_modules/eslint/lib/rules/.eslintrc.yml @@ -1,3 +1,4 @@ rules: rulesdir/no-invalid-meta: "error" rulesdir/consistent-docs-description: "error" + rulesdir/consistent-docs-url: "error" diff --git a/tools/node_modules/eslint/lib/rules/accessor-pairs.js b/tools/node_modules/eslint/lib/rules/accessor-pairs.js index 4afdc7136ca2a6..b01b29b176390e 100644 --- a/tools/node_modules/eslint/lib/rules/accessor-pairs.js +++ b/tools/node_modules/eslint/lib/rules/accessor-pairs.js @@ -75,7 +75,8 @@ module.exports = { docs: { description: "enforce getter and setter pairs in objects", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/accessor-pairs" }, schema: [{ type: "object", diff --git a/tools/node_modules/eslint/lib/rules/array-bracket-newline.js b/tools/node_modules/eslint/lib/rules/array-bracket-newline.js index cb7350a825057f..b939d65b3f1da4 100644 --- a/tools/node_modules/eslint/lib/rules/array-bracket-newline.js +++ b/tools/node_modules/eslint/lib/rules/array-bracket-newline.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce linebreaks after opening and before closing array brackets", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/array-bracket-newline" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/array-bracket-spacing.js b/tools/node_modules/eslint/lib/rules/array-bracket-spacing.js index aecef2c4f2099e..933458a42a1a63 100644 --- a/tools/node_modules/eslint/lib/rules/array-bracket-spacing.js +++ b/tools/node_modules/eslint/lib/rules/array-bracket-spacing.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce consistent spacing inside array brackets", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/array-bracket-spacing" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/array-callback-return.js b/tools/node_modules/eslint/lib/rules/array-callback-return.js index 37d6ebe3a72343..69655481d80626 100644 --- a/tools/node_modules/eslint/lib/rules/array-callback-return.js +++ b/tools/node_modules/eslint/lib/rules/array-callback-return.js @@ -142,13 +142,27 @@ module.exports = { docs: { description: "enforce `return` statements in callbacks of array methods", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/array-callback-return" }, - schema: [] + schema: [ + { + type: "object", + properties: { + allowImplicit: { + type: "boolean" + } + }, + additionalProperties: false + } + ] }, create(context) { + + const options = context.options[0] || { allowImplicit: false }; + let funcInfo = { upper: null, codePath: null, @@ -212,7 +226,8 @@ module.exports = { if (funcInfo.shouldCheck) { funcInfo.hasReturn = true; - if (!node.argument) { + // if allowImplicit: false, should also check node.argument + if (!options.allowImplicit && !node.argument) { context.report({ node, message: "{{name}} expected a return value.", diff --git a/tools/node_modules/eslint/lib/rules/array-element-newline.js b/tools/node_modules/eslint/lib/rules/array-element-newline.js index 26dc9bfa0b6af3..22352c7e33db65 100644 --- a/tools/node_modules/eslint/lib/rules/array-element-newline.js +++ b/tools/node_modules/eslint/lib/rules/array-element-newline.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce line breaks after each array element", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/array-element-newline" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/arrow-body-style.js b/tools/node_modules/eslint/lib/rules/arrow-body-style.js index 78a391334d7a51..afbf46fd54589f 100644 --- a/tools/node_modules/eslint/lib/rules/arrow-body-style.js +++ b/tools/node_modules/eslint/lib/rules/arrow-body-style.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "require braces around arrow function bodies", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/arrow-body-style" }, schema: { @@ -109,10 +110,22 @@ module.exports = { } if (never || asNeeded && blockBody[0].type === "ReturnStatement") { + let message; + + if (blockBody.length === 0) { + message = "Unexpected block statement surrounding arrow body; put a value of `undefined` immediately after the `=>`."; + } else if (blockBody.length > 1) { + message = "Unexpected block statement surrounding arrow body."; + } else if (astUtils.isOpeningBraceToken(sourceCode.getFirstToken(blockBody[0], { skip: 1 }))) { + message = "Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the `=>`."; + } else { + message = "Unexpected block statement surrounding arrow body; move the returned value immediately after the `=>`."; + } + context.report({ node, loc: arrowBody.loc.start, - message: "Unexpected block statement surrounding arrow body.", + message, fix(fixer) { const fixes = []; diff --git a/tools/node_modules/eslint/lib/rules/arrow-parens.js b/tools/node_modules/eslint/lib/rules/arrow-parens.js index e8f8ddd8e76583..5a0fd61b3482b0 100644 --- a/tools/node_modules/eslint/lib/rules/arrow-parens.js +++ b/tools/node_modules/eslint/lib/rules/arrow-parens.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "require parentheses around arrow function arguments", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/arrow-parens" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/arrow-spacing.js b/tools/node_modules/eslint/lib/rules/arrow-spacing.js index 37e03907cb9f27..d2c5b9b77bfc6b 100644 --- a/tools/node_modules/eslint/lib/rules/arrow-spacing.js +++ b/tools/node_modules/eslint/lib/rules/arrow-spacing.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce consistent spacing before and after the arrow in arrow functions", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/arrow-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/block-scoped-var.js b/tools/node_modules/eslint/lib/rules/block-scoped-var.js index 0b4d855fae5024..58cef1741a82db 100644 --- a/tools/node_modules/eslint/lib/rules/block-scoped-var.js +++ b/tools/node_modules/eslint/lib/rules/block-scoped-var.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "enforce the use of variables within the scope they are defined", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/block-scoped-var" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/block-spacing.js b/tools/node_modules/eslint/lib/rules/block-spacing.js index b3ea8405e24be1..4fbf6d4c0bfb66 100644 --- a/tools/node_modules/eslint/lib/rules/block-spacing.js +++ b/tools/node_modules/eslint/lib/rules/block-spacing.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow or enforce spaces inside of blocks after opening block and before closing block", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/block-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/brace-style.js b/tools/node_modules/eslint/lib/rules/brace-style.js index 320da9dac91cbc..bc0ddbd78f2810 100644 --- a/tools/node_modules/eslint/lib/rules/brace-style.js +++ b/tools/node_modules/eslint/lib/rules/brace-style.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce consistent brace style for blocks", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/brace-style" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/callback-return.js b/tools/node_modules/eslint/lib/rules/callback-return.js index 0fa7f278a18161..ed85c7181a9f4b 100644 --- a/tools/node_modules/eslint/lib/rules/callback-return.js +++ b/tools/node_modules/eslint/lib/rules/callback-return.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "require `return` statements after callbacks", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/callback-return" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/camelcase.js b/tools/node_modules/eslint/lib/rules/camelcase.js index 6fb1475b21dbcd..86822f975293b5 100644 --- a/tools/node_modules/eslint/lib/rules/camelcase.js +++ b/tools/node_modules/eslint/lib/rules/camelcase.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce camelcase naming convention", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/camelcase" }, schema: [ @@ -92,34 +93,45 @@ module.exports = { } // Always report underscored object names - if (node.parent.object.type === "Identifier" && - node.parent.object.name === node.name && - isUnderscored(name)) { + if (node.parent.object.type === "Identifier" && node.parent.object.name === node.name && isUnderscored(name)) { report(node); // Report AssignmentExpressions only if they are the left side of the assignment - } else if (effectiveParent.type === "AssignmentExpression" && - isUnderscored(name) && - (effectiveParent.right.type !== "MemberExpression" || - effectiveParent.left.type === "MemberExpression" && - effectiveParent.left.property.name === node.name)) { + } else if (effectiveParent.type === "AssignmentExpression" && isUnderscored(name) && (effectiveParent.right.type !== "MemberExpression" || effectiveParent.left.type === "MemberExpression" && effectiveParent.left.property.name === node.name)) { report(node); } - // Properties have their own rules - } else if (node.parent.type === "Property") { + /* + * Properties have their own rules, and + * AssignmentPattern nodes can be treated like Properties: + * e.g.: const { no_camelcased = false } = bar; + */ + } else if (node.parent.type === "Property" || node.parent.type === "AssignmentPattern") { - // "never" check properties - if (properties === "never") { - return; + if (node.parent.parent && node.parent.parent.type === "ObjectPattern") { + + if (node.parent.shorthand && node.parent.value.left && isUnderscored(name)) { + + report(node); + } + + // prevent checking righthand side of destructured object + if (node.parent.key === node && node.parent.value !== node) { + return; + } + + if (node.parent.value.name && isUnderscored(name)) { + report(node); + } } - if (node.parent.parent && node.parent.parent.type === "ObjectPattern" && - node.parent.key === node && node.parent.value !== node) { + // "never" check properties + if (properties === "never") { return; } - if (isUnderscored(name) && !ALLOWED_PARENT_TYPES.has(effectiveParent.type)) { + // don't check right hand side of AssignmentExpression to prevent duplicate warnings + if (isUnderscored(name) && !ALLOWED_PARENT_TYPES.has(effectiveParent.type) && !(node.parent.right === node)) { report(node); } diff --git a/tools/node_modules/eslint/lib/rules/capitalized-comments.js b/tools/node_modules/eslint/lib/rules/capitalized-comments.js index 1a276080673084..19b5f6a7175dbb 100644 --- a/tools/node_modules/eslint/lib/rules/capitalized-comments.js +++ b/tools/node_modules/eslint/lib/rules/capitalized-comments.js @@ -113,7 +113,8 @@ module.exports = { docs: { description: "enforce or disallow capitalization of the first letter of a comment", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/capitalized-comments" }, fixable: "code", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/class-methods-use-this.js b/tools/node_modules/eslint/lib/rules/class-methods-use-this.js index d429c579b94110..774086780aef71 100644 --- a/tools/node_modules/eslint/lib/rules/class-methods-use-this.js +++ b/tools/node_modules/eslint/lib/rules/class-methods-use-this.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce that class methods utilize `this`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/class-methods-use-this" }, schema: [{ type: "object", diff --git a/tools/node_modules/eslint/lib/rules/comma-dangle.js b/tools/node_modules/eslint/lib/rules/comma-dangle.js index ddcc0cd229e977..180979d40321d0 100644 --- a/tools/node_modules/eslint/lib/rules/comma-dangle.js +++ b/tools/node_modules/eslint/lib/rules/comma-dangle.js @@ -79,7 +79,8 @@ module.exports = { docs: { description: "require or disallow trailing commas", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/comma-dangle" }, fixable: "code", schema: { diff --git a/tools/node_modules/eslint/lib/rules/comma-spacing.js b/tools/node_modules/eslint/lib/rules/comma-spacing.js index 25a0e7d82c8abe..dd3de7f35430a6 100644 --- a/tools/node_modules/eslint/lib/rules/comma-spacing.js +++ b/tools/node_modules/eslint/lib/rules/comma-spacing.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce consistent spacing before and after commas", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/comma-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/comma-style.js b/tools/node_modules/eslint/lib/rules/comma-style.js index 4c65338a4448c4..8b96e5e25a3b81 100644 --- a/tools/node_modules/eslint/lib/rules/comma-style.js +++ b/tools/node_modules/eslint/lib/rules/comma-style.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce consistent comma style", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/comma-style" }, fixable: "code", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/complexity.js b/tools/node_modules/eslint/lib/rules/complexity.js index e0313fa78f17c3..1838d4bf8ed707 100644 --- a/tools/node_modules/eslint/lib/rules/complexity.js +++ b/tools/node_modules/eslint/lib/rules/complexity.js @@ -23,7 +23,8 @@ module.exports = { docs: { description: "enforce a maximum cyclomatic complexity allowed in a program", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/complexity" }, schema: [ @@ -126,20 +127,6 @@ module.exports = { } } - /** - * Increase the logical path complexity in context - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function increaseLogicalComplexity(node) { - - // Avoiding && - if (node.operator === "||") { - increaseComplexity(); - } - } - //-------------------------------------------------------------------------- // Public API //-------------------------------------------------------------------------- @@ -154,7 +141,7 @@ module.exports = { CatchClause: increaseComplexity, ConditionalExpression: increaseComplexity, - LogicalExpression: increaseLogicalComplexity, + LogicalExpression: increaseComplexity, ForStatement: increaseComplexity, ForInStatement: increaseComplexity, ForOfStatement: increaseComplexity, diff --git a/tools/node_modules/eslint/lib/rules/computed-property-spacing.js b/tools/node_modules/eslint/lib/rules/computed-property-spacing.js index 19c28fd22e1a38..57408afb453d60 100644 --- a/tools/node_modules/eslint/lib/rules/computed-property-spacing.js +++ b/tools/node_modules/eslint/lib/rules/computed-property-spacing.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce consistent spacing inside computed property brackets", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/computed-property-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/consistent-return.js b/tools/node_modules/eslint/lib/rules/consistent-return.js index a42faaa1ed6484..a436dd1fc0c987 100644 --- a/tools/node_modules/eslint/lib/rules/consistent-return.js +++ b/tools/node_modules/eslint/lib/rules/consistent-return.js @@ -56,7 +56,8 @@ module.exports = { docs: { description: "require `return` statements to either always or never specify values", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/consistent-return" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/consistent-this.js b/tools/node_modules/eslint/lib/rules/consistent-this.js index 151cdcf9c9c03f..60690007f2de83 100644 --- a/tools/node_modules/eslint/lib/rules/consistent-this.js +++ b/tools/node_modules/eslint/lib/rules/consistent-this.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "enforce consistent naming when capturing the current execution context", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/consistent-this" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/constructor-super.js b/tools/node_modules/eslint/lib/rules/constructor-super.js index d0a238df8edbd3..30637472f196fe 100644 --- a/tools/node_modules/eslint/lib/rules/constructor-super.js +++ b/tools/node_modules/eslint/lib/rules/constructor-super.js @@ -95,7 +95,8 @@ module.exports = { docs: { description: "require `super()` calls in constructors", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/constructor-super" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/curly.js b/tools/node_modules/eslint/lib/rules/curly.js index 37f07d95eece49..7fdf57eda175e6 100644 --- a/tools/node_modules/eslint/lib/rules/curly.js +++ b/tools/node_modules/eslint/lib/rules/curly.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce consistent brace style for all control statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/curly" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/default-case.js b/tools/node_modules/eslint/lib/rules/default-case.js index 32cd8dfe4922d0..a66300a99b5ca3 100644 --- a/tools/node_modules/eslint/lib/rules/default-case.js +++ b/tools/node_modules/eslint/lib/rules/default-case.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "require `default` cases in `switch` statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/default-case" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/dot-location.js b/tools/node_modules/eslint/lib/rules/dot-location.js index 60f4af7013a9e3..c02476e0354662 100644 --- a/tools/node_modules/eslint/lib/rules/dot-location.js +++ b/tools/node_modules/eslint/lib/rules/dot-location.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce consistent newlines before and after dots", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/dot-location" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/dot-notation.js b/tools/node_modules/eslint/lib/rules/dot-notation.js index 21e3df17412e84..10c73b41f0415c 100644 --- a/tools/node_modules/eslint/lib/rules/dot-notation.js +++ b/tools/node_modules/eslint/lib/rules/dot-notation.js @@ -22,7 +22,8 @@ module.exports = { docs: { description: "enforce dot notation whenever possible", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/dot-notation" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/eol-last.js b/tools/node_modules/eslint/lib/rules/eol-last.js index 1f3676b0e96b2a..f96352676c72ef 100644 --- a/tools/node_modules/eslint/lib/rules/eol-last.js +++ b/tools/node_modules/eslint/lib/rules/eol-last.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "require or disallow newline at the end of files", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/eol-last" }, fixable: "whitespace", schema: [ @@ -46,6 +47,14 @@ module.exports = { CRLF = `\r${LF}`, endsWithNewline = lodash.endsWith(src, LF); + /* + * Empty source is always valid: No content in file so we don't + * need to lint for a newline on the last line of content. + */ + if (!src.length) { + return; + } + let mode = context.options[0] || "always", appendCRLF = false; diff --git a/tools/node_modules/eslint/lib/rules/eqeqeq.js b/tools/node_modules/eslint/lib/rules/eqeqeq.js index 8801102e649aa4..fc65450af4b091 100644 --- a/tools/node_modules/eslint/lib/rules/eqeqeq.js +++ b/tools/node_modules/eslint/lib/rules/eqeqeq.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "require the use of `===` and `!==`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/eqeqeq" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/for-direction.js b/tools/node_modules/eslint/lib/rules/for-direction.js index 7178ced9db0a4b..c91888da2295cb 100644 --- a/tools/node_modules/eslint/lib/rules/for-direction.js +++ b/tools/node_modules/eslint/lib/rules/for-direction.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce \"for\" loop update clause moving the counter in the right direction.", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/for-direction" }, fixable: null, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/func-call-spacing.js b/tools/node_modules/eslint/lib/rules/func-call-spacing.js index 00e677d33b0ac6..b13613cf8098f6 100644 --- a/tools/node_modules/eslint/lib/rules/func-call-spacing.js +++ b/tools/node_modules/eslint/lib/rules/func-call-spacing.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "require or disallow spacing between function identifiers and their invocations", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/func-call-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/func-name-matching.js b/tools/node_modules/eslint/lib/rules/func-name-matching.js index db06d5d468d774..85fd7d4f1ee864 100644 --- a/tools/node_modules/eslint/lib/rules/func-name-matching.js +++ b/tools/node_modules/eslint/lib/rules/func-name-matching.js @@ -70,7 +70,8 @@ module.exports = { docs: { description: "require function names to match the name of the variable or property to which they are assigned", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/func-name-matching" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/func-names.js b/tools/node_modules/eslint/lib/rules/func-names.js index 848ce9757413ea..722f276c1d2d3a 100644 --- a/tools/node_modules/eslint/lib/rules/func-names.js +++ b/tools/node_modules/eslint/lib/rules/func-names.js @@ -29,7 +29,8 @@ module.exports = { docs: { description: "require or disallow named `function` expressions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/func-names" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/func-style.js b/tools/node_modules/eslint/lib/rules/func-style.js index 123eae3d8a406f..ea6d74fb3a4998 100644 --- a/tools/node_modules/eslint/lib/rules/func-style.js +++ b/tools/node_modules/eslint/lib/rules/func-style.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "enforce the consistent use of either `function` declarations or expressions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/func-style" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/function-paren-newline.js b/tools/node_modules/eslint/lib/rules/function-paren-newline.js index 10ad960a4d3eea..7e4f2792cffcd2 100644 --- a/tools/node_modules/eslint/lib/rules/function-paren-newline.js +++ b/tools/node_modules/eslint/lib/rules/function-paren-newline.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce consistent line breaks inside function parentheses", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/function-paren-newline" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/generator-star-spacing.js b/tools/node_modules/eslint/lib/rules/generator-star-spacing.js index a718b59afcfa0d..282b37510b197c 100644 --- a/tools/node_modules/eslint/lib/rules/generator-star-spacing.js +++ b/tools/node_modules/eslint/lib/rules/generator-star-spacing.js @@ -30,7 +30,8 @@ module.exports = { docs: { description: "enforce consistent spacing around `*` operators in generator functions", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/generator-star-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/getter-return.js b/tools/node_modules/eslint/lib/rules/getter-return.js index 6eb1efc00c4951..58f2a3978b8bd6 100644 --- a/tools/node_modules/eslint/lib/rules/getter-return.js +++ b/tools/node_modules/eslint/lib/rules/getter-return.js @@ -47,7 +47,8 @@ module.exports = { docs: { description: "enforce `return` statements in getters", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/getter-return" }, fixable: null, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/global-require.js b/tools/node_modules/eslint/lib/rules/global-require.js index beda8d99f1b033..a5f5335d01dc12 100644 --- a/tools/node_modules/eslint/lib/rules/global-require.js +++ b/tools/node_modules/eslint/lib/rules/global-require.js @@ -51,7 +51,8 @@ module.exports = { docs: { description: "require `require()` calls to be placed at top-level module scope", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/global-require" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/guard-for-in.js b/tools/node_modules/eslint/lib/rules/guard-for-in.js index 754830f6a64be3..88a9106b3fb946 100644 --- a/tools/node_modules/eslint/lib/rules/guard-for-in.js +++ b/tools/node_modules/eslint/lib/rules/guard-for-in.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require `for-in` loops to include an `if` statement", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/guard-for-in" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/handle-callback-err.js b/tools/node_modules/eslint/lib/rules/handle-callback-err.js index de36a0c1b002c6..f6e6c108ce15c2 100644 --- a/tools/node_modules/eslint/lib/rules/handle-callback-err.js +++ b/tools/node_modules/eslint/lib/rules/handle-callback-err.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require error handling in callbacks", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/handle-callback-err" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/id-blacklist.js b/tools/node_modules/eslint/lib/rules/id-blacklist.js index ee28c0b5a819aa..ba9b5d4b398261 100644 --- a/tools/node_modules/eslint/lib/rules/id-blacklist.js +++ b/tools/node_modules/eslint/lib/rules/id-blacklist.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow specified identifiers", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/id-blacklist" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/id-length.js b/tools/node_modules/eslint/lib/rules/id-length.js index dad9c406493399..eaed26217ddf65 100644 --- a/tools/node_modules/eslint/lib/rules/id-length.js +++ b/tools/node_modules/eslint/lib/rules/id-length.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce minimum and maximum identifier lengths", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/id-length" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/id-match.js b/tools/node_modules/eslint/lib/rules/id-match.js index 0420fdc74e4e6f..608ef17d11485b 100644 --- a/tools/node_modules/eslint/lib/rules/id-match.js +++ b/tools/node_modules/eslint/lib/rules/id-match.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require identifiers to match a specified regular expression", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/id-match" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js index b8802f4de53320..a7ad1122b50544 100644 --- a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +++ b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js @@ -12,7 +12,8 @@ module.exports = { docs: { description: "enforce the location of arrow function bodies", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/implicit-arrow-linebreak" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/indent-legacy.js b/tools/node_modules/eslint/lib/rules/indent-legacy.js index cf914068062adf..701cf0163248a1 100644 --- a/tools/node_modules/eslint/lib/rules/indent-legacy.js +++ b/tools/node_modules/eslint/lib/rules/indent-legacy.js @@ -25,7 +25,8 @@ module.exports = { description: "enforce consistent indentation", category: "Stylistic Issues", recommended: false, - replacedBy: ["indent"] + replacedBy: ["indent"], + url: "https://eslint.org/docs/rules/indent-legacy" }, deprecated: true, diff --git a/tools/node_modules/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js index 42cebf9ea53ce2..2159880f88d569 100644 --- a/tools/node_modules/eslint/lib/rules/indent.js +++ b/tools/node_modules/eslint/lib/rules/indent.js @@ -492,7 +492,8 @@ module.exports = { docs: { description: "enforce consistent indentation", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/indent" }, fixable: "whitespace", @@ -600,6 +601,9 @@ module.exports = { pattern: ":exit$" } } + }, + ignoreComments: { + type: "boolean" } }, additionalProperties: false @@ -638,7 +642,8 @@ module.exports = { ObjectExpression: 1, ImportDeclaration: 1, flatTernaryExpressions: false, - ignoredNodes: [] + ignoredNodes: [], + ignoreComments: false }; if (context.options.length) { @@ -1457,6 +1462,12 @@ module.exports = { }, "Program:exit"() { + // If ignoreComments option is enabled, ignore all comment tokens. + if (options.ignoreComments) { + sourceCode.getAllComments() + .forEach(comment => offsets.ignoreToken(comment)); + } + // Invoke the queued offset listeners for the nodes that aren't ignored. listenerCallQueue .filter(nodeInfo => !ignoredNodes.has(nodeInfo.node)) diff --git a/tools/node_modules/eslint/lib/rules/init-declarations.js b/tools/node_modules/eslint/lib/rules/init-declarations.js index 1f53f3dfc482db..412b96dc0abff9 100644 --- a/tools/node_modules/eslint/lib/rules/init-declarations.js +++ b/tools/node_modules/eslint/lib/rules/init-declarations.js @@ -47,7 +47,8 @@ module.exports = { docs: { description: "require or disallow initialization in variable declarations", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/init-declarations" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/jsx-quotes.js b/tools/node_modules/eslint/lib/rules/jsx-quotes.js index 5653922d9495d5..54ec481a80d0d7 100644 --- a/tools/node_modules/eslint/lib/rules/jsx-quotes.js +++ b/tools/node_modules/eslint/lib/rules/jsx-quotes.js @@ -41,7 +41,8 @@ module.exports = { docs: { description: "enforce the consistent use of either double or single quotes in JSX attributes", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/jsx-quotes" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/key-spacing.js b/tools/node_modules/eslint/lib/rules/key-spacing.js index 1c62ad42892012..1ae4990a594262 100644 --- a/tools/node_modules/eslint/lib/rules/key-spacing.js +++ b/tools/node_modules/eslint/lib/rules/key-spacing.js @@ -131,7 +131,8 @@ module.exports = { docs: { description: "enforce consistent spacing between keys and values in object literal properties", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/key-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/keyword-spacing.js b/tools/node_modules/eslint/lib/rules/keyword-spacing.js index 218cfd02be68b9..d0dd640255bee6 100644 --- a/tools/node_modules/eslint/lib/rules/keyword-spacing.js +++ b/tools/node_modules/eslint/lib/rules/keyword-spacing.js @@ -68,7 +68,8 @@ module.exports = { docs: { description: "enforce consistent spacing before and after keywords", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/keyword-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/line-comment-position.js b/tools/node_modules/eslint/lib/rules/line-comment-position.js index 0df806cca8cdeb..ebdb024f6e47cc 100644 --- a/tools/node_modules/eslint/lib/rules/line-comment-position.js +++ b/tools/node_modules/eslint/lib/rules/line-comment-position.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce position of line comments", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/line-comment-position" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/linebreak-style.js b/tools/node_modules/eslint/lib/rules/linebreak-style.js index 907bc02ec4c6b1..d5a170f73083ad 100644 --- a/tools/node_modules/eslint/lib/rules/linebreak-style.js +++ b/tools/node_modules/eslint/lib/rules/linebreak-style.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "enforce consistent linebreak style", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/linebreak-style" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/lines-around-comment.js b/tools/node_modules/eslint/lib/rules/lines-around-comment.js index 3df9cb86f4f69c..5d98473be1ccc2 100644 --- a/tools/node_modules/eslint/lib/rules/lines-around-comment.js +++ b/tools/node_modules/eslint/lib/rules/lines-around-comment.js @@ -55,7 +55,8 @@ module.exports = { docs: { description: "require empty lines around comments", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/lines-around-comment" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/lines-around-directive.js b/tools/node_modules/eslint/lib/rules/lines-around-directive.js index b560009f71439c..3ba3ab5bb333ea 100644 --- a/tools/node_modules/eslint/lib/rules/lines-around-directive.js +++ b/tools/node_modules/eslint/lib/rules/lines-around-directive.js @@ -18,7 +18,8 @@ module.exports = { description: "require or disallow newlines around directives", category: "Stylistic Issues", recommended: false, - replacedBy: ["padding-line-between-statements"] + replacedBy: ["padding-line-between-statements"], + url: "https://eslint.org/docs/rules/lines-around-directive" }, schema: [{ oneOf: [ diff --git a/tools/node_modules/eslint/lib/rules/lines-between-class-members.js b/tools/node_modules/eslint/lib/rules/lines-between-class-members.js index 85e8c69358c9f3..252984da5ad8d4 100644 --- a/tools/node_modules/eslint/lib/rules/lines-between-class-members.js +++ b/tools/node_modules/eslint/lib/rules/lines-between-class-members.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "require or disallow an empty line between class members", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/lines-between-class-members" }, fixable: "whitespace", @@ -55,7 +56,56 @@ module.exports = { * @returns {boolean} True if there is at least a line between the tokens */ function isPaddingBetweenTokens(first, second) { - return second.loc.start.line - first.loc.end.line >= 2; + const comments = sourceCode.getCommentsBefore(second); + const len = comments.length; + + // If there is no comments + if (len === 0) { + const linesBetweenFstAndSnd = second.loc.start.line - first.loc.end.line - 1; + + return linesBetweenFstAndSnd >= 1; + } + + + // If there are comments + let sumOfCommentLines = 0; // the numbers of lines of comments + let prevCommentLineNum = -1; // line number of the end of the previous comment + + for (let i = 0; i < len; i++) { + const commentLinesOfThisComment = comments[i].loc.end.line - comments[i].loc.start.line + 1; + + sumOfCommentLines += commentLinesOfThisComment; + + /* + * If this comment and the previous comment are in the same line, + * the count of comment lines is duplicated. So decrement sumOfCommentLines. + */ + if (prevCommentLineNum === comments[i].loc.start.line) { + sumOfCommentLines -= 1; + } + + prevCommentLineNum = comments[i].loc.end.line; + } + + /* + * If the first block and the first comment are in the same line, + * the count of comment lines is duplicated. So decrement sumOfCommentLines. + */ + if (first.loc.end.line === comments[0].loc.start.line) { + sumOfCommentLines -= 1; + } + + /* + * If the last comment and the second block are in the same line, + * the count of comment lines is duplicated. So decrement sumOfCommentLines. + */ + if (comments[len - 1].loc.end.line === second.loc.start.line) { + sumOfCommentLines -= 1; + } + + const linesBetweenFstAndSnd = second.loc.start.line - first.loc.end.line - 1; + + return linesBetweenFstAndSnd - sumOfCommentLines >= 1; } return { @@ -65,8 +115,7 @@ module.exports = { for (let i = 0; i < body.length - 1; i++) { const curFirst = sourceCode.getFirstToken(body[i]); const curLast = sourceCode.getLastToken(body[i]); - const comments = sourceCode.getCommentsBefore(body[i + 1]); - const nextFirst = comments.length ? comments[0] : sourceCode.getFirstToken(body[i + 1]); + const nextFirst = sourceCode.getFirstToken(body[i + 1]); const isPadded = isPaddingBetweenTokens(curLast, nextFirst); const isMulti = !astUtils.isTokenOnSameLine(curFirst, curLast); const skip = !isMulti && options[1].exceptAfterSingleLine; diff --git a/tools/node_modules/eslint/lib/rules/max-depth.js b/tools/node_modules/eslint/lib/rules/max-depth.js index 74c13ffa9fad2e..ead44b90cbaab6 100644 --- a/tools/node_modules/eslint/lib/rules/max-depth.js +++ b/tools/node_modules/eslint/lib/rules/max-depth.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce a maximum depth that blocks can be nested", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-depth" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/max-len.js b/tools/node_modules/eslint/lib/rules/max-len.js index 27d549c9c56af4..35ac803b65e091 100644 --- a/tools/node_modules/eslint/lib/rules/max-len.js +++ b/tools/node_modules/eslint/lib/rules/max-len.js @@ -68,7 +68,8 @@ module.exports = { docs: { description: "enforce a maximum line length", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-len" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/max-lines.js b/tools/node_modules/eslint/lib/rules/max-lines.js index 297c75dc138ad6..9bb4420edc0737 100644 --- a/tools/node_modules/eslint/lib/rules/max-lines.js +++ b/tools/node_modules/eslint/lib/rules/max-lines.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "enforce a maximum number of lines per file", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-lines" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js b/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js index a89f49ae02094e..7d7386ec1ead0a 100644 --- a/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js +++ b/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce a maximum depth that callbacks can be nested", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-nested-callbacks" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/max-params.js b/tools/node_modules/eslint/lib/rules/max-params.js index 85838adaccb846..d7c22c5274116b 100644 --- a/tools/node_modules/eslint/lib/rules/max-params.js +++ b/tools/node_modules/eslint/lib/rules/max-params.js @@ -22,7 +22,8 @@ module.exports = { docs: { description: "enforce a maximum number of parameters in function definitions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-params" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/max-statements-per-line.js b/tools/node_modules/eslint/lib/rules/max-statements-per-line.js index 3d18da4ee10fc1..a6776bdea99393 100644 --- a/tools/node_modules/eslint/lib/rules/max-statements-per-line.js +++ b/tools/node_modules/eslint/lib/rules/max-statements-per-line.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce a maximum number of statements allowed per line", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-statements-per-line" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/max-statements.js b/tools/node_modules/eslint/lib/rules/max-statements.js index f98aa3a21d9f66..faa0d5d8445ad3 100644 --- a/tools/node_modules/eslint/lib/rules/max-statements.js +++ b/tools/node_modules/eslint/lib/rules/max-statements.js @@ -22,7 +22,8 @@ module.exports = { docs: { description: "enforce a maximum number of statements allowed in function blocks", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/max-statements" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/multiline-comment-style.js b/tools/node_modules/eslint/lib/rules/multiline-comment-style.js index db4f7684437b51..4da9a619fce3dd 100644 --- a/tools/node_modules/eslint/lib/rules/multiline-comment-style.js +++ b/tools/node_modules/eslint/lib/rules/multiline-comment-style.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce a particular style for multiline comments", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/multiline-comment-style" }, fixable: "whitespace", schema: [{ enum: ["starred-block", "separate-lines", "bare-block"] }] diff --git a/tools/node_modules/eslint/lib/rules/multiline-ternary.js b/tools/node_modules/eslint/lib/rules/multiline-ternary.js index a74f241d86c7ca..10cf269fb1866e 100644 --- a/tools/node_modules/eslint/lib/rules/multiline-ternary.js +++ b/tools/node_modules/eslint/lib/rules/multiline-ternary.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce newlines between operands of ternary expressions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/multiline-ternary" }, schema: [ { diff --git a/tools/node_modules/eslint/lib/rules/new-cap.js b/tools/node_modules/eslint/lib/rules/new-cap.js index f01e8f90ac3910..cc33e3b8175483 100644 --- a/tools/node_modules/eslint/lib/rules/new-cap.js +++ b/tools/node_modules/eslint/lib/rules/new-cap.js @@ -77,7 +77,8 @@ module.exports = { docs: { description: "require constructor names to begin with a capital letter", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/new-cap" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/new-parens.js b/tools/node_modules/eslint/lib/rules/new-parens.js index aa0f7fe931db5f..abf2e032b77f84 100644 --- a/tools/node_modules/eslint/lib/rules/new-parens.js +++ b/tools/node_modules/eslint/lib/rules/new-parens.js @@ -24,7 +24,8 @@ module.exports = { docs: { description: "require parentheses when invoking a constructor with no arguments", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/new-parens" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/newline-after-var.js b/tools/node_modules/eslint/lib/rules/newline-after-var.js index 80f73c836fa38c..b11d9d9952e832 100644 --- a/tools/node_modules/eslint/lib/rules/newline-after-var.js +++ b/tools/node_modules/eslint/lib/rules/newline-after-var.js @@ -22,7 +22,8 @@ module.exports = { description: "require or disallow an empty line after variable declarations", category: "Stylistic Issues", recommended: false, - replacedBy: ["padding-line-between-statements"] + replacedBy: ["padding-line-between-statements"], + url: "https://eslint.org/docs/rules/newline-after-var" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/newline-before-return.js b/tools/node_modules/eslint/lib/rules/newline-before-return.js index 02bd66db13788a..5bc1f7031b057a 100644 --- a/tools/node_modules/eslint/lib/rules/newline-before-return.js +++ b/tools/node_modules/eslint/lib/rules/newline-before-return.js @@ -15,7 +15,8 @@ module.exports = { description: "require an empty line before `return` statements", category: "Stylistic Issues", recommended: false, - replacedBy: ["padding-line-between-statements"] + replacedBy: ["padding-line-between-statements"], + url: "https://eslint.org/docs/rules/newline-before-return" }, fixable: "whitespace", schema: [], diff --git a/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js b/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js index 356c4baf32763c..9691da44e0118d 100644 --- a/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js +++ b/tools/node_modules/eslint/lib/rules/newline-per-chained-call.js @@ -17,7 +17,8 @@ module.exports = { docs: { description: "require a newline after each call in a method chain", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/newline-per-chained-call" }, fixable: "whitespace", schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/no-alert.js b/tools/node_modules/eslint/lib/rules/no-alert.js index bc1087253bf76b..b4fd23121508b1 100644 --- a/tools/node_modules/eslint/lib/rules/no-alert.js +++ b/tools/node_modules/eslint/lib/rules/no-alert.js @@ -88,7 +88,8 @@ module.exports = { docs: { description: "disallow the use of `alert`, `confirm`, and `prompt`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-alert" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-array-constructor.js b/tools/node_modules/eslint/lib/rules/no-array-constructor.js index 70dc8b4cd5ded8..187389fdff3312 100644 --- a/tools/node_modules/eslint/lib/rules/no-array-constructor.js +++ b/tools/node_modules/eslint/lib/rules/no-array-constructor.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `Array` constructors", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-array-constructor" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-await-in-loop.js b/tools/node_modules/eslint/lib/rules/no-await-in-loop.js index d1ed92b704cebf..7d4f8a0a6ba9e6 100644 --- a/tools/node_modules/eslint/lib/rules/no-await-in-loop.js +++ b/tools/node_modules/eslint/lib/rules/no-await-in-loop.js @@ -28,7 +28,8 @@ module.exports = { docs: { description: "disallow `await` inside of loops", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-await-in-loop" }, schema: [] }, diff --git a/tools/node_modules/eslint/lib/rules/no-bitwise.js b/tools/node_modules/eslint/lib/rules/no-bitwise.js index f062ad26699369..8376674f65f78f 100644 --- a/tools/node_modules/eslint/lib/rules/no-bitwise.js +++ b/tools/node_modules/eslint/lib/rules/no-bitwise.js @@ -25,7 +25,8 @@ module.exports = { docs: { description: "disallow bitwise operators", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-bitwise" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-buffer-constructor.js b/tools/node_modules/eslint/lib/rules/no-buffer-constructor.js index 1521ff2847e11d..55f181ee69715b 100644 --- a/tools/node_modules/eslint/lib/rules/no-buffer-constructor.js +++ b/tools/node_modules/eslint/lib/rules/no-buffer-constructor.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow use of the Buffer() constructor", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-buffer-constructor" }, schema: [] }, diff --git a/tools/node_modules/eslint/lib/rules/no-caller.js b/tools/node_modules/eslint/lib/rules/no-caller.js index 55a37b7d86406a..df10bf3736b597 100644 --- a/tools/node_modules/eslint/lib/rules/no-caller.js +++ b/tools/node_modules/eslint/lib/rules/no-caller.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow the use of `arguments.caller` or `arguments.callee`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-caller" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-case-declarations.js b/tools/node_modules/eslint/lib/rules/no-case-declarations.js index e801c6bb6e0db7..03c730ddbdb4bd 100644 --- a/tools/node_modules/eslint/lib/rules/no-case-declarations.js +++ b/tools/node_modules/eslint/lib/rules/no-case-declarations.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow lexical declarations in case clauses", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-case-declarations" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-catch-shadow.js b/tools/node_modules/eslint/lib/rules/no-catch-shadow.js index bef61902e90598..69a4e6aff85649 100644 --- a/tools/node_modules/eslint/lib/rules/no-catch-shadow.js +++ b/tools/node_modules/eslint/lib/rules/no-catch-shadow.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow `catch` clause parameters from shadowing variables in the outer scope", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-catch-shadow" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-class-assign.js b/tools/node_modules/eslint/lib/rules/no-class-assign.js index 4b0443abc72858..56e75122a252e4 100644 --- a/tools/node_modules/eslint/lib/rules/no-class-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-class-assign.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow reassigning class members", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-class-assign" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-compare-neg-zero.js b/tools/node_modules/eslint/lib/rules/no-compare-neg-zero.js index 604e221919922a..09cf29506307b8 100644 --- a/tools/node_modules/eslint/lib/rules/no-compare-neg-zero.js +++ b/tools/node_modules/eslint/lib/rules/no-compare-neg-zero.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow comparing against -0", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-compare-neg-zero" }, fixable: null, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-cond-assign.js b/tools/node_modules/eslint/lib/rules/no-cond-assign.js index 7c031c13f06de2..e761be14ecda0c 100644 --- a/tools/node_modules/eslint/lib/rules/no-cond-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-cond-assign.js @@ -22,7 +22,8 @@ module.exports = { docs: { description: "disallow assignment operators in conditional expressions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-cond-assign" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js b/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js index fc69ca39a9eda0..542a4060e27535 100644 --- a/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js +++ b/tools/node_modules/eslint/lib/rules/no-confusing-arrow.js @@ -30,7 +30,8 @@ module.exports = { docs: { description: "disallow arrow functions where they could be confused with comparisons", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-confusing-arrow" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/no-console.js b/tools/node_modules/eslint/lib/rules/no-console.js index f5a3a235e6b196..b00582ebada3c9 100644 --- a/tools/node_modules/eslint/lib/rules/no-console.js +++ b/tools/node_modules/eslint/lib/rules/no-console.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow the use of `console`", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-console" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-const-assign.js b/tools/node_modules/eslint/lib/rules/no-const-assign.js index db1848a9819f00..8a08a52df4eb75 100644 --- a/tools/node_modules/eslint/lib/rules/no-const-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-const-assign.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow reassigning `const` variables", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-const-assign" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-constant-condition.js b/tools/node_modules/eslint/lib/rules/no-constant-condition.js index 0cd445dfdbadf8..5611d617ec8daf 100644 --- a/tools/node_modules/eslint/lib/rules/no-constant-condition.js +++ b/tools/node_modules/eslint/lib/rules/no-constant-condition.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow constant expressions in conditions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-constant-condition" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-continue.js b/tools/node_modules/eslint/lib/rules/no-continue.js index 2615fba13e2401..52061ef5328a5e 100644 --- a/tools/node_modules/eslint/lib/rules/no-continue.js +++ b/tools/node_modules/eslint/lib/rules/no-continue.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `continue` statements", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-continue" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-control-regex.js b/tools/node_modules/eslint/lib/rules/no-control-regex.js index 14981f4ab13b34..676c666128e22e 100644 --- a/tools/node_modules/eslint/lib/rules/no-control-regex.js +++ b/tools/node_modules/eslint/lib/rules/no-control-regex.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow control characters in regular expressions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-control-regex" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-debugger.js b/tools/node_modules/eslint/lib/rules/no-debugger.js index d79cb1816670b2..7d816e3a000e42 100644 --- a/tools/node_modules/eslint/lib/rules/no-debugger.js +++ b/tools/node_modules/eslint/lib/rules/no-debugger.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow the use of `debugger`", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-debugger" }, fixable: "code", schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-delete-var.js b/tools/node_modules/eslint/lib/rules/no-delete-var.js index adc1b5bb9c2c01..9ca09f1deaebc9 100644 --- a/tools/node_modules/eslint/lib/rules/no-delete-var.js +++ b/tools/node_modules/eslint/lib/rules/no-delete-var.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow deleting variables", category: "Variables", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-delete-var" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-div-regex.js b/tools/node_modules/eslint/lib/rules/no-div-regex.js index 84a9b9a3aaa9a6..87423f8861a0b5 100644 --- a/tools/node_modules/eslint/lib/rules/no-div-regex.js +++ b/tools/node_modules/eslint/lib/rules/no-div-regex.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow division operators explicitly at the beginning of regular expressions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-div-regex" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-dupe-args.js b/tools/node_modules/eslint/lib/rules/no-dupe-args.js index c932be01d7615e..a71d01f9bd2beb 100644 --- a/tools/node_modules/eslint/lib/rules/no-dupe-args.js +++ b/tools/node_modules/eslint/lib/rules/no-dupe-args.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow duplicate arguments in `function` definitions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-dupe-args" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-dupe-class-members.js b/tools/node_modules/eslint/lib/rules/no-dupe-class-members.js index 07b999fab19bb9..cc7f8da284ac2c 100644 --- a/tools/node_modules/eslint/lib/rules/no-dupe-class-members.js +++ b/tools/node_modules/eslint/lib/rules/no-dupe-class-members.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow duplicate class members", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-dupe-class-members" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-dupe-keys.js b/tools/node_modules/eslint/lib/rules/no-dupe-keys.js index 0120d0b38cfffc..10955e45037103 100644 --- a/tools/node_modules/eslint/lib/rules/no-dupe-keys.js +++ b/tools/node_modules/eslint/lib/rules/no-dupe-keys.js @@ -87,7 +87,8 @@ module.exports = { docs: { description: "disallow duplicate keys in object literals", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-dupe-keys" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-duplicate-case.js b/tools/node_modules/eslint/lib/rules/no-duplicate-case.js index 07823f284c1c3d..2a9d9551114185 100644 --- a/tools/node_modules/eslint/lib/rules/no-duplicate-case.js +++ b/tools/node_modules/eslint/lib/rules/no-duplicate-case.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow duplicate case labels", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-duplicate-case" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js index d12c3a56dffc61..32071da15fd2cf 100644 --- a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js +++ b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js @@ -104,7 +104,8 @@ module.exports = { docs: { description: "disallow duplicate module imports", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-duplicate-imports" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/no-else-return.js b/tools/node_modules/eslint/lib/rules/no-else-return.js index deeff41ab83ed3..91cb5b97963b9b 100644 --- a/tools/node_modules/eslint/lib/rules/no-else-return.js +++ b/tools/node_modules/eslint/lib/rules/no-else-return.js @@ -21,7 +21,8 @@ module.exports = { docs: { description: "disallow `else` blocks after `return` statements in `if` statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-else-return" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/no-empty-character-class.js b/tools/node_modules/eslint/lib/rules/no-empty-character-class.js index 0ea7c5a0d1c470..3c4806632e5c99 100644 --- a/tools/node_modules/eslint/lib/rules/no-empty-character-class.js +++ b/tools/node_modules/eslint/lib/rules/no-empty-character-class.js @@ -32,7 +32,8 @@ module.exports = { docs: { description: "disallow empty character classes in regular expressions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-empty-character-class" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-empty-function.js b/tools/node_modules/eslint/lib/rules/no-empty-function.js index 38c915c33f9730..3852774e6b243f 100644 --- a/tools/node_modules/eslint/lib/rules/no-empty-function.js +++ b/tools/node_modules/eslint/lib/rules/no-empty-function.js @@ -93,7 +93,8 @@ module.exports = { docs: { description: "disallow empty functions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-empty-function" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-empty-pattern.js b/tools/node_modules/eslint/lib/rules/no-empty-pattern.js index 11f50b54142e04..1d0c3ab4b1da06 100644 --- a/tools/node_modules/eslint/lib/rules/no-empty-pattern.js +++ b/tools/node_modules/eslint/lib/rules/no-empty-pattern.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow empty destructuring patterns", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-empty-pattern" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-empty.js b/tools/node_modules/eslint/lib/rules/no-empty.js index b71b8582a37195..15f1df67908710 100644 --- a/tools/node_modules/eslint/lib/rules/no-empty.js +++ b/tools/node_modules/eslint/lib/rules/no-empty.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow empty block statements", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-empty" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-eq-null.js b/tools/node_modules/eslint/lib/rules/no-eq-null.js index 7e915a8c726f9f..befb9d46f09991 100644 --- a/tools/node_modules/eslint/lib/rules/no-eq-null.js +++ b/tools/node_modules/eslint/lib/rules/no-eq-null.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow `null` comparisons without type-checking operators", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-eq-null" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-eval.js b/tools/node_modules/eslint/lib/rules/no-eval.js index ee5f577f471ef9..8cf4aa307b0f62 100644 --- a/tools/node_modules/eslint/lib/rules/no-eval.js +++ b/tools/node_modules/eslint/lib/rules/no-eval.js @@ -79,7 +79,8 @@ module.exports = { docs: { description: "disallow the use of `eval()`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-eval" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-ex-assign.js b/tools/node_modules/eslint/lib/rules/no-ex-assign.js index 20869d5cd107c9..6ede2fc210b3f2 100644 --- a/tools/node_modules/eslint/lib/rules/no-ex-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-ex-assign.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow reassigning exceptions in `catch` clauses", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-ex-assign" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-extend-native.js b/tools/node_modules/eslint/lib/rules/no-extend-native.js index c550cf5da57a25..2e170017a87e22 100644 --- a/tools/node_modules/eslint/lib/rules/no-extend-native.js +++ b/tools/node_modules/eslint/lib/rules/no-extend-native.js @@ -27,7 +27,8 @@ module.exports = { docs: { description: "disallow extending native types", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-extend-native" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-extra-bind.js b/tools/node_modules/eslint/lib/rules/no-extra-bind.js index 2d22eff2459b5d..21b96c3c261a4f 100644 --- a/tools/node_modules/eslint/lib/rules/no-extra-bind.js +++ b/tools/node_modules/eslint/lib/rules/no-extra-bind.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow unnecessary calls to `.bind()`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-extra-bind" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-extra-boolean-cast.js b/tools/node_modules/eslint/lib/rules/no-extra-boolean-cast.js index 47ca7e22feabda..471e8b5b82c6ac 100644 --- a/tools/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +++ b/tools/node_modules/eslint/lib/rules/no-extra-boolean-cast.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow unnecessary boolean casts", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-extra-boolean-cast" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-extra-label.js b/tools/node_modules/eslint/lib/rules/no-extra-label.js index b89267de93d7b3..f90a403cbfde89 100644 --- a/tools/node_modules/eslint/lib/rules/no-extra-label.js +++ b/tools/node_modules/eslint/lib/rules/no-extra-label.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow unnecessary labels", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-extra-label" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-extra-parens.js b/tools/node_modules/eslint/lib/rules/no-extra-parens.js index d8e0df64a7b2d9..4bf8f995009a41 100644 --- a/tools/node_modules/eslint/lib/rules/no-extra-parens.js +++ b/tools/node_modules/eslint/lib/rules/no-extra-parens.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow unnecessary parentheses", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-extra-parens" }, fixable: "code", @@ -582,7 +583,7 @@ module.exports = { tokensToIgnore.add(firstLeftToken); } } - if (hasExcessParens(node.right)) { + if (!(node.type === "ForOfStatement" && node.right.type === "SequenceExpression") && hasExcessParens(node.right)) { report(node.right); } if (hasExcessParens(node.left)) { diff --git a/tools/node_modules/eslint/lib/rules/no-extra-semi.js b/tools/node_modules/eslint/lib/rules/no-extra-semi.js index acd312b32b2513..5668c7e095ef9d 100644 --- a/tools/node_modules/eslint/lib/rules/no-extra-semi.js +++ b/tools/node_modules/eslint/lib/rules/no-extra-semi.js @@ -21,7 +21,8 @@ module.exports = { docs: { description: "disallow unnecessary semicolons", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-extra-semi" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/no-fallthrough.js b/tools/node_modules/eslint/lib/rules/no-fallthrough.js index 082e8431d63dc6..ce4f91ad9643ce 100644 --- a/tools/node_modules/eslint/lib/rules/no-fallthrough.js +++ b/tools/node_modules/eslint/lib/rules/no-fallthrough.js @@ -58,7 +58,8 @@ module.exports = { docs: { description: "disallow fallthrough of `case` statements", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-fallthrough" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-floating-decimal.js b/tools/node_modules/eslint/lib/rules/no-floating-decimal.js index dfba453a4984d6..da8c4791237475 100644 --- a/tools/node_modules/eslint/lib/rules/no-floating-decimal.js +++ b/tools/node_modules/eslint/lib/rules/no-floating-decimal.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow leading or trailing decimal points in numeric literals", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-floating-decimal" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-func-assign.js b/tools/node_modules/eslint/lib/rules/no-func-assign.js index ea86365b2914eb..a0a17f3697964e 100644 --- a/tools/node_modules/eslint/lib/rules/no-func-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-func-assign.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow reassigning `function` declarations", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-func-assign" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-global-assign.js b/tools/node_modules/eslint/lib/rules/no-global-assign.js index 679650cb70fdd6..3397bdbe0009fc 100644 --- a/tools/node_modules/eslint/lib/rules/no-global-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-global-assign.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow assignments to native objects or read-only global variables", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-global-assign" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js index 24e04858f0651f..7efab83935f305 100644 --- a/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js +++ b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js @@ -156,7 +156,8 @@ module.exports = { docs: { description: "disallow shorthand type conversions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-implicit-coercion" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/no-implicit-globals.js b/tools/node_modules/eslint/lib/rules/no-implicit-globals.js index f0962cdc7a864a..c4717b6a374e86 100644 --- a/tools/node_modules/eslint/lib/rules/no-implicit-globals.js +++ b/tools/node_modules/eslint/lib/rules/no-implicit-globals.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow variable and `function` declarations in the global scope", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-implicit-globals" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-implied-eval.js b/tools/node_modules/eslint/lib/rules/no-implied-eval.js index cfb16dbf73e42d..de294bc8858f94 100644 --- a/tools/node_modules/eslint/lib/rules/no-implied-eval.js +++ b/tools/node_modules/eslint/lib/rules/no-implied-eval.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow the use of `eval()`-like methods", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-implied-eval" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-inline-comments.js b/tools/node_modules/eslint/lib/rules/no-inline-comments.js index 42b4753dfdd713..85a0d3831699c3 100644 --- a/tools/node_modules/eslint/lib/rules/no-inline-comments.js +++ b/tools/node_modules/eslint/lib/rules/no-inline-comments.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow inline comments after code", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-inline-comments" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-inner-declarations.js b/tools/node_modules/eslint/lib/rules/no-inner-declarations.js index 28aa5b4b5c37e3..032c0a0f096788 100644 --- a/tools/node_modules/eslint/lib/rules/no-inner-declarations.js +++ b/tools/node_modules/eslint/lib/rules/no-inner-declarations.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow variable or `function` declarations in nested blocks", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-inner-declarations" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-invalid-regexp.js b/tools/node_modules/eslint/lib/rules/no-invalid-regexp.js index 45596f7ee876a1..8ccb5242b00558 100644 --- a/tools/node_modules/eslint/lib/rules/no-invalid-regexp.js +++ b/tools/node_modules/eslint/lib/rules/no-invalid-regexp.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow invalid regular expression strings in `RegExp` constructors", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-invalid-regexp" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/no-invalid-this.js b/tools/node_modules/eslint/lib/rules/no-invalid-this.js index 5a0a62f7a1d442..a04673be867d68 100644 --- a/tools/node_modules/eslint/lib/rules/no-invalid-this.js +++ b/tools/node_modules/eslint/lib/rules/no-invalid-this.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow `this` keywords outside of classes or class-like objects", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-invalid-this" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js b/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js index cfbdfd1a5ef97b..e36ec88b013553 100644 --- a/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js +++ b/tools/node_modules/eslint/lib/rules/no-irregular-whitespace.js @@ -30,7 +30,8 @@ module.exports = { docs: { description: "disallow irregular whitespace outside of strings and comments", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-irregular-whitespace" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-iterator.js b/tools/node_modules/eslint/lib/rules/no-iterator.js index 3677dd94d9f938..ca12fcda477639 100644 --- a/tools/node_modules/eslint/lib/rules/no-iterator.js +++ b/tools/node_modules/eslint/lib/rules/no-iterator.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow the use of the `__iterator__` property", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-iterator" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-label-var.js b/tools/node_modules/eslint/lib/rules/no-label-var.js index 954066aef32e69..a880abfcabb011 100644 --- a/tools/node_modules/eslint/lib/rules/no-label-var.js +++ b/tools/node_modules/eslint/lib/rules/no-label-var.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow labels that share a name with a variable", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-label-var" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-labels.js b/tools/node_modules/eslint/lib/rules/no-labels.js index 101092a667622b..e09bb7b6eef6f9 100644 --- a/tools/node_modules/eslint/lib/rules/no-labels.js +++ b/tools/node_modules/eslint/lib/rules/no-labels.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow labeled statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-labels" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-lone-blocks.js b/tools/node_modules/eslint/lib/rules/no-lone-blocks.js index 2b5666e213c4a2..5e22aacf00f8a6 100644 --- a/tools/node_modules/eslint/lib/rules/no-lone-blocks.js +++ b/tools/node_modules/eslint/lib/rules/no-lone-blocks.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow unnecessary nested blocks", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-lone-blocks" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-lonely-if.js b/tools/node_modules/eslint/lib/rules/no-lonely-if.js index db127d1945a577..3ecc41e8cf6e22 100644 --- a/tools/node_modules/eslint/lib/rules/no-lonely-if.js +++ b/tools/node_modules/eslint/lib/rules/no-lonely-if.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow `if` statements as the only statement in `else` blocks", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-lonely-if" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-loop-func.js b/tools/node_modules/eslint/lib/rules/no-loop-func.js index c97e0c3c5aefd6..0dce09a61a450c 100644 --- a/tools/node_modules/eslint/lib/rules/no-loop-func.js +++ b/tools/node_modules/eslint/lib/rules/no-loop-func.js @@ -159,7 +159,8 @@ module.exports = { docs: { description: "disallow `function` declarations and expressions inside loop statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-loop-func" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-magic-numbers.js b/tools/node_modules/eslint/lib/rules/no-magic-numbers.js index 796ecff0f8a090..20a752e554f941 100644 --- a/tools/node_modules/eslint/lib/rules/no-magic-numbers.js +++ b/tools/node_modules/eslint/lib/rules/no-magic-numbers.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow magic numbers", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-magic-numbers" }, schema: [{ diff --git a/tools/node_modules/eslint/lib/rules/no-mixed-operators.js b/tools/node_modules/eslint/lib/rules/no-mixed-operators.js index 9f1fbc9a6d41b6..0df42259db80cc 100644 --- a/tools/node_modules/eslint/lib/rules/no-mixed-operators.js +++ b/tools/node_modules/eslint/lib/rules/no-mixed-operators.js @@ -74,7 +74,8 @@ module.exports = { docs: { description: "disallow mixed binary operators", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-mixed-operators" }, schema: [ { diff --git a/tools/node_modules/eslint/lib/rules/no-mixed-requires.js b/tools/node_modules/eslint/lib/rules/no-mixed-requires.js index 171052a52a3f7c..1058f3a511e120 100644 --- a/tools/node_modules/eslint/lib/rules/no-mixed-requires.js +++ b/tools/node_modules/eslint/lib/rules/no-mixed-requires.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `require` calls to be mixed with regular variable declarations", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-mixed-requires" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js b/tools/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js index 2b8e89d3c87123..7cb4b4ceeaea38 100644 --- a/tools/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +++ b/tools/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow mixed spaces and tabs for indentation", category: "Stylistic Issues", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-mixed-spaces-and-tabs" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-multi-assign.js b/tools/node_modules/eslint/lib/rules/no-multi-assign.js index 164869f6ddc1d9..ca3f778ac6fd87 100644 --- a/tools/node_modules/eslint/lib/rules/no-multi-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-multi-assign.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow use of chained assignment expressions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-multi-assign" }, schema: [] }, diff --git a/tools/node_modules/eslint/lib/rules/no-multi-spaces.js b/tools/node_modules/eslint/lib/rules/no-multi-spaces.js index 84f1b501896341..d0ca097ad670d5 100644 --- a/tools/node_modules/eslint/lib/rules/no-multi-spaces.js +++ b/tools/node_modules/eslint/lib/rules/no-multi-spaces.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow multiple spaces", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-multi-spaces" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/no-multi-str.js b/tools/node_modules/eslint/lib/rules/no-multi-str.js index 76f29cbb5a9f6b..2b97c261e0f0e5 100644 --- a/tools/node_modules/eslint/lib/rules/no-multi-str.js +++ b/tools/node_modules/eslint/lib/rules/no-multi-str.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow multiline strings", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-multi-str" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-multiple-empty-lines.js b/tools/node_modules/eslint/lib/rules/no-multiple-empty-lines.js index 9d1067c205dd0a..a111786a30829f 100644 --- a/tools/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +++ b/tools/node_modules/eslint/lib/rules/no-multiple-empty-lines.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow multiple empty lines", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-multiple-empty-lines" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/no-native-reassign.js b/tools/node_modules/eslint/lib/rules/no-native-reassign.js index a60d4e499cb816..b1064b0bb36661 100644 --- a/tools/node_modules/eslint/lib/rules/no-native-reassign.js +++ b/tools/node_modules/eslint/lib/rules/no-native-reassign.js @@ -16,7 +16,8 @@ module.exports = { description: "disallow assignments to native objects or read-only global variables", category: "Best Practices", recommended: false, - replacedBy: ["no-global-assign"] + replacedBy: ["no-global-assign"], + url: "https://eslint.org/docs/rules/no-native-reassign" }, deprecated: true, diff --git a/tools/node_modules/eslint/lib/rules/no-negated-condition.js b/tools/node_modules/eslint/lib/rules/no-negated-condition.js index 8ea8559ea1c96f..254dcb5c23c7e9 100644 --- a/tools/node_modules/eslint/lib/rules/no-negated-condition.js +++ b/tools/node_modules/eslint/lib/rules/no-negated-condition.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow negated conditions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-negated-condition" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-negated-in-lhs.js b/tools/node_modules/eslint/lib/rules/no-negated-in-lhs.js index 495cbc160ec7d6..7f08814c941ffd 100644 --- a/tools/node_modules/eslint/lib/rules/no-negated-in-lhs.js +++ b/tools/node_modules/eslint/lib/rules/no-negated-in-lhs.js @@ -16,7 +16,8 @@ module.exports = { description: "disallow negating the left operand in `in` expressions", category: "Possible Errors", recommended: false, - replacedBy: ["no-unsafe-negation"] + replacedBy: ["no-unsafe-negation"], + url: "https://eslint.org/docs/rules/no-negated-in-lhs" }, deprecated: true, diff --git a/tools/node_modules/eslint/lib/rules/no-nested-ternary.js b/tools/node_modules/eslint/lib/rules/no-nested-ternary.js index 4fe49fc9c01e58..15e72f20d1cb7f 100644 --- a/tools/node_modules/eslint/lib/rules/no-nested-ternary.js +++ b/tools/node_modules/eslint/lib/rules/no-nested-ternary.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow nested ternary expressions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-nested-ternary" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-new-func.js b/tools/node_modules/eslint/lib/rules/no-new-func.js index 6abbe8391d5d38..8ee327baa1c445 100644 --- a/tools/node_modules/eslint/lib/rules/no-new-func.js +++ b/tools/node_modules/eslint/lib/rules/no-new-func.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `new` operators with the `Function` object", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-new-func" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-new-object.js b/tools/node_modules/eslint/lib/rules/no-new-object.js index d4d77b55147a62..3f68cbc1b51b29 100644 --- a/tools/node_modules/eslint/lib/rules/no-new-object.js +++ b/tools/node_modules/eslint/lib/rules/no-new-object.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `Object` constructors", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-new-object" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-new-require.js b/tools/node_modules/eslint/lib/rules/no-new-require.js index f9ea1f84bf3bb3..f74daa7569c984 100644 --- a/tools/node_modules/eslint/lib/rules/no-new-require.js +++ b/tools/node_modules/eslint/lib/rules/no-new-require.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `new` operators with calls to `require`", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-new-require" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-new-symbol.js b/tools/node_modules/eslint/lib/rules/no-new-symbol.js index 5743a4748a9275..a537268e38dc1d 100644 --- a/tools/node_modules/eslint/lib/rules/no-new-symbol.js +++ b/tools/node_modules/eslint/lib/rules/no-new-symbol.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `new` operators with the `Symbol` object", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-new-symbol" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-new-wrappers.js b/tools/node_modules/eslint/lib/rules/no-new-wrappers.js index 65bf79b87c50b3..e8d516212b67aa 100644 --- a/tools/node_modules/eslint/lib/rules/no-new-wrappers.js +++ b/tools/node_modules/eslint/lib/rules/no-new-wrappers.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `new` operators with the `String`, `Number`, and `Boolean` objects", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-new-wrappers" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-new.js b/tools/node_modules/eslint/lib/rules/no-new.js index 6e6025aac54304..f9121bc18f656a 100644 --- a/tools/node_modules/eslint/lib/rules/no-new.js +++ b/tools/node_modules/eslint/lib/rules/no-new.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow `new` operators outside of assignments or comparisons", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-new" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-obj-calls.js b/tools/node_modules/eslint/lib/rules/no-obj-calls.js index 0ca8a5effb6e86..320343cb2c01e6 100644 --- a/tools/node_modules/eslint/lib/rules/no-obj-calls.js +++ b/tools/node_modules/eslint/lib/rules/no-obj-calls.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow calling global object properties as functions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-obj-calls" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-octal-escape.js b/tools/node_modules/eslint/lib/rules/no-octal-escape.js index 04bfb6aae3357c..e9509b87f821ec 100644 --- a/tools/node_modules/eslint/lib/rules/no-octal-escape.js +++ b/tools/node_modules/eslint/lib/rules/no-octal-escape.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow octal escape sequences in string literals", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-octal-escape" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-octal.js b/tools/node_modules/eslint/lib/rules/no-octal.js index 58082d0d1cfb04..d782c23a39b719 100644 --- a/tools/node_modules/eslint/lib/rules/no-octal.js +++ b/tools/node_modules/eslint/lib/rules/no-octal.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow octal literals", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-octal" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-param-reassign.js b/tools/node_modules/eslint/lib/rules/no-param-reassign.js index f32e42ae2fa4c6..be1a559178a973 100644 --- a/tools/node_modules/eslint/lib/rules/no-param-reassign.js +++ b/tools/node_modules/eslint/lib/rules/no-param-reassign.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow reassigning `function` parameters", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-param-reassign" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-path-concat.js b/tools/node_modules/eslint/lib/rules/no-path-concat.js index 1e153a43b6c683..1dee7bda1117a6 100644 --- a/tools/node_modules/eslint/lib/rules/no-path-concat.js +++ b/tools/node_modules/eslint/lib/rules/no-path-concat.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow string concatenation with `__dirname` and `__filename`", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-path-concat" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-plusplus.js b/tools/node_modules/eslint/lib/rules/no-plusplus.js index 94f259ac9ef441..f754b3672194cd 100644 --- a/tools/node_modules/eslint/lib/rules/no-plusplus.js +++ b/tools/node_modules/eslint/lib/rules/no-plusplus.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow the unary operators `++` and `--`", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-plusplus" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-process-env.js b/tools/node_modules/eslint/lib/rules/no-process-env.js index ef58b38e3cccd4..71b27ffd72069b 100644 --- a/tools/node_modules/eslint/lib/rules/no-process-env.js +++ b/tools/node_modules/eslint/lib/rules/no-process-env.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow the use of `process.env`", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-process-env" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-process-exit.js b/tools/node_modules/eslint/lib/rules/no-process-exit.js index 04e423b88ffb99..2d22d7fd96a120 100644 --- a/tools/node_modules/eslint/lib/rules/no-process-exit.js +++ b/tools/node_modules/eslint/lib/rules/no-process-exit.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow the use of `process.exit()`", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-process-exit" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-proto.js b/tools/node_modules/eslint/lib/rules/no-proto.js index 933746f559cd4b..e37c6c22e628b8 100644 --- a/tools/node_modules/eslint/lib/rules/no-proto.js +++ b/tools/node_modules/eslint/lib/rules/no-proto.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow the use of the `__proto__` property", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-proto" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-prototype-builtins.js b/tools/node_modules/eslint/lib/rules/no-prototype-builtins.js index b9f040eaf67497..f52847f44d4b0e 100644 --- a/tools/node_modules/eslint/lib/rules/no-prototype-builtins.js +++ b/tools/node_modules/eslint/lib/rules/no-prototype-builtins.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow calling some `Object.prototype` methods directly on objects", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-prototype-builtins" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-redeclare.js b/tools/node_modules/eslint/lib/rules/no-redeclare.js index ccb57003ed628b..79ab21137ecf93 100644 --- a/tools/node_modules/eslint/lib/rules/no-redeclare.js +++ b/tools/node_modules/eslint/lib/rules/no-redeclare.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow variable redeclaration", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-redeclare" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-regex-spaces.js b/tools/node_modules/eslint/lib/rules/no-regex-spaces.js index 9250437caa472e..a50692a4c3d1f8 100644 --- a/tools/node_modules/eslint/lib/rules/no-regex-spaces.js +++ b/tools/node_modules/eslint/lib/rules/no-regex-spaces.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow multiple spaces in regular expressions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-regex-spaces" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-globals.js b/tools/node_modules/eslint/lib/rules/no-restricted-globals.js index 75428fc1747386..691e55d1924aec 100644 --- a/tools/node_modules/eslint/lib/rules/no-restricted-globals.js +++ b/tools/node_modules/eslint/lib/rules/no-restricted-globals.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow specified global variables", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-restricted-globals" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-imports.js b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js index eb477b4be612b6..11d09d6d226689 100644 --- a/tools/node_modules/eslint/lib/rules/no-restricted-imports.js +++ b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js @@ -56,7 +56,8 @@ module.exports = { docs: { description: "disallow specified modules when loaded by `import`", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-restricted-imports" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-modules.js b/tools/node_modules/eslint/lib/rules/no-restricted-modules.js index cd47975733d166..54271094fd434d 100644 --- a/tools/node_modules/eslint/lib/rules/no-restricted-modules.js +++ b/tools/node_modules/eslint/lib/rules/no-restricted-modules.js @@ -50,7 +50,8 @@ module.exports = { docs: { description: "disallow specified modules when loaded by `require`", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-restricted-modules" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-properties.js b/tools/node_modules/eslint/lib/rules/no-restricted-properties.js index cdc73f9e41097c..71cc83c65a42ac 100644 --- a/tools/node_modules/eslint/lib/rules/no-restricted-properties.js +++ b/tools/node_modules/eslint/lib/rules/no-restricted-properties.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow certain properties on certain objects", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-restricted-properties" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-syntax.js b/tools/node_modules/eslint/lib/rules/no-restricted-syntax.js index 1798065ec06cbe..c472d9432e69d7 100644 --- a/tools/node_modules/eslint/lib/rules/no-restricted-syntax.js +++ b/tools/node_modules/eslint/lib/rules/no-restricted-syntax.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow specified syntax", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-restricted-syntax" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/no-return-assign.js b/tools/node_modules/eslint/lib/rules/no-return-assign.js index 882f94b7246212..0a016cfad5e044 100644 --- a/tools/node_modules/eslint/lib/rules/no-return-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-return-assign.js @@ -25,7 +25,8 @@ module.exports = { docs: { description: "disallow assignment operators in `return` statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-return-assign" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-return-await.js b/tools/node_modules/eslint/lib/rules/no-return-await.js index 2f06b611084904..490ccaeb369a88 100644 --- a/tools/node_modules/eslint/lib/rules/no-return-await.js +++ b/tools/node_modules/eslint/lib/rules/no-return-await.js @@ -17,7 +17,11 @@ module.exports = { docs: { description: "disallow unnecessary `return await`", category: "Best Practices", - recommended: false // TODO: set to true + + // TODO: set to true + recommended: false, + + url: "https://eslint.org/docs/rules/no-return-await" }, fixable: null, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-script-url.js b/tools/node_modules/eslint/lib/rules/no-script-url.js index 98f988ff1a3b96..ba74dafb8e274d 100644 --- a/tools/node_modules/eslint/lib/rules/no-script-url.js +++ b/tools/node_modules/eslint/lib/rules/no-script-url.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow `javascript:` urls", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-script-url" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-self-assign.js b/tools/node_modules/eslint/lib/rules/no-self-assign.js index 48b922d46b88fa..30140420025092 100644 --- a/tools/node_modules/eslint/lib/rules/no-self-assign.js +++ b/tools/node_modules/eslint/lib/rules/no-self-assign.js @@ -166,7 +166,8 @@ module.exports = { docs: { description: "disallow assignments where both sides are exactly the same", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-self-assign" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-self-compare.js b/tools/node_modules/eslint/lib/rules/no-self-compare.js index 5beaa181b99022..6ebc3870feb6b7 100644 --- a/tools/node_modules/eslint/lib/rules/no-self-compare.js +++ b/tools/node_modules/eslint/lib/rules/no-self-compare.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "disallow comparisons where both sides are exactly the same", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-self-compare" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-sequences.js b/tools/node_modules/eslint/lib/rules/no-sequences.js index 5e746dfa88f77b..8eaf55572b374b 100644 --- a/tools/node_modules/eslint/lib/rules/no-sequences.js +++ b/tools/node_modules/eslint/lib/rules/no-sequences.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow comma operators", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-sequences" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js b/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js index 6c60232b8b444b..7b92521b0723cc 100644 --- a/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +++ b/tools/node_modules/eslint/lib/rules/no-shadow-restricted-names.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow identifiers from shadowing restricted names", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-shadow-restricted-names" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-shadow.js b/tools/node_modules/eslint/lib/rules/no-shadow.js index e093d48c810aeb..d01231ff99c1ff 100644 --- a/tools/node_modules/eslint/lib/rules/no-shadow.js +++ b/tools/node_modules/eslint/lib/rules/no-shadow.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "disallow variable declarations from shadowing variables declared in the outer scope", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-shadow" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-spaced-func.js b/tools/node_modules/eslint/lib/rules/no-spaced-func.js index 361c1e0cd7ec0c..42d1e4b243a4d0 100644 --- a/tools/node_modules/eslint/lib/rules/no-spaced-func.js +++ b/tools/node_modules/eslint/lib/rules/no-spaced-func.js @@ -16,7 +16,8 @@ module.exports = { description: "disallow spacing between function identifiers and their applications (deprecated)", category: "Stylistic Issues", recommended: false, - replacedBy: ["func-call-spacing"] + replacedBy: ["func-call-spacing"], + url: "https://eslint.org/docs/rules/no-spaced-func" }, deprecated: true, diff --git a/tools/node_modules/eslint/lib/rules/no-sparse-arrays.js b/tools/node_modules/eslint/lib/rules/no-sparse-arrays.js index 3044896c612d17..1cc6f7ccba9569 100644 --- a/tools/node_modules/eslint/lib/rules/no-sparse-arrays.js +++ b/tools/node_modules/eslint/lib/rules/no-sparse-arrays.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow sparse arrays", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-sparse-arrays" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-sync.js b/tools/node_modules/eslint/lib/rules/no-sync.js index 06305969a1fabf..eb7b787d38c35a 100644 --- a/tools/node_modules/eslint/lib/rules/no-sync.js +++ b/tools/node_modules/eslint/lib/rules/no-sync.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow synchronous methods", category: "Node.js and CommonJS", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-sync" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-tabs.js b/tools/node_modules/eslint/lib/rules/no-tabs.js index 4bab96f3873d30..08a8fa5b758b4f 100644 --- a/tools/node_modules/eslint/lib/rules/no-tabs.js +++ b/tools/node_modules/eslint/lib/rules/no-tabs.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow all tabs", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-tabs" }, schema: [] }, diff --git a/tools/node_modules/eslint/lib/rules/no-template-curly-in-string.js b/tools/node_modules/eslint/lib/rules/no-template-curly-in-string.js index d8f6c31108bb23..ed74fcc6f7f16c 100644 --- a/tools/node_modules/eslint/lib/rules/no-template-curly-in-string.js +++ b/tools/node_modules/eslint/lib/rules/no-template-curly-in-string.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow template literal placeholder syntax in regular strings", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-template-curly-in-string" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-ternary.js b/tools/node_modules/eslint/lib/rules/no-ternary.js index 3e254f68126f5a..4dcc8db069e991 100644 --- a/tools/node_modules/eslint/lib/rules/no-ternary.js +++ b/tools/node_modules/eslint/lib/rules/no-ternary.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow ternary operators", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-ternary" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-this-before-super.js b/tools/node_modules/eslint/lib/rules/no-this-before-super.js index 2a686ac72e9dd1..944a3235290803 100644 --- a/tools/node_modules/eslint/lib/rules/no-this-before-super.js +++ b/tools/node_modules/eslint/lib/rules/no-this-before-super.js @@ -39,7 +39,8 @@ module.exports = { docs: { description: "disallow `this`/`super` before calling `super()` in constructors", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-this-before-super" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-throw-literal.js b/tools/node_modules/eslint/lib/rules/no-throw-literal.js index 5e9054399a28ae..b080578bf2fd5f 100644 --- a/tools/node_modules/eslint/lib/rules/no-throw-literal.js +++ b/tools/node_modules/eslint/lib/rules/no-throw-literal.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow throwing literals as exceptions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-throw-literal" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js b/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js index fbbc6402175029..4d70c3b5cd2f1d 100644 --- a/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js +++ b/tools/node_modules/eslint/lib/rules/no-trailing-spaces.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow trailing whitespace at the end of lines", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-trailing-spaces" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/no-undef-init.js b/tools/node_modules/eslint/lib/rules/no-undef-init.js index 7e58f55a6900d5..2e0ab246299c6d 100644 --- a/tools/node_modules/eslint/lib/rules/no-undef-init.js +++ b/tools/node_modules/eslint/lib/rules/no-undef-init.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow initializing variables to `undefined`", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-undef-init" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-undef.js b/tools/node_modules/eslint/lib/rules/no-undef.js index 74a33dd9973234..c8347d50d1aa15 100644 --- a/tools/node_modules/eslint/lib/rules/no-undef.js +++ b/tools/node_modules/eslint/lib/rules/no-undef.js @@ -28,7 +28,8 @@ module.exports = { docs: { description: "disallow the use of undeclared variables unless mentioned in `/*global */` comments", category: "Variables", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-undef" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-undefined.js b/tools/node_modules/eslint/lib/rules/no-undefined.js index 7e9f96b921855a..94b514e91d81b4 100644 --- a/tools/node_modules/eslint/lib/rules/no-undefined.js +++ b/tools/node_modules/eslint/lib/rules/no-undefined.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow the use of `undefined` as an identifier", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-undefined" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js b/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js index 5964da41cde61a..c76488a94313c4 100644 --- a/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js +++ b/tools/node_modules/eslint/lib/rules/no-underscore-dangle.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow dangling underscores in identifiers", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-underscore-dangle" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js b/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js index 9398b8a6036bc3..c7c26686d92e7d 100644 --- a/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js +++ b/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow confusing multiline expressions", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-unexpected-multiline" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js b/tools/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js index 49dff0d0ced3c7..623144dc064f11 100644 --- a/tools/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +++ b/tools/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js @@ -106,84 +106,6 @@ const isInLoop = { } }; -/** - * Checks whether or not a given group node has any dynamic elements. - * - * @param {ASTNode} root - A node to check. - * This node is one of BinaryExpression or ConditionalExpression. - * @returns {boolean} `true` if the node is dynamic. - */ -function hasDynamicExpressions(root) { - let retv = false; - const traverser = new Traverser(); - - traverser.traverse(root, { - enter(node) { - if (DYNAMIC_PATTERN.test(node.type)) { - retv = true; - this.break(); - } else if (SKIP_PATTERN.test(node.type)) { - this.skip(); - } - } - }); - - return retv; -} - -/** - * Creates the loop condition information from a given reference. - * - * @param {eslint-scope.Reference} reference - A reference to create. - * @returns {LoopConditionInfo|null} Created loop condition info, or null. - */ -function toLoopCondition(reference) { - if (reference.init) { - return null; - } - - let group = null; - let child = reference.identifier; - let node = child.parent; - - while (node) { - if (SENTINEL_PATTERN.test(node.type)) { - if (LOOP_PATTERN.test(node.type) && node.test === child) { - - // This reference is inside of a loop condition. - return { - reference, - group, - isInLoop: isInLoop[node.type].bind(null, node), - modified: false - }; - } - - // This reference is outside of a loop condition. - break; - } - - /* - * If it's inside of a group, OK if either operand is modified. - * So stores the group this reference belongs to. - */ - if (GROUP_PATTERN.test(node.type)) { - - // If this expression is dynamic, no need to check. - if (hasDynamicExpressions(node)) { - break; - } else { - group = node; - } - } - - child = node; - node = node.parent; - } - - return null; -} - /** * Gets the function which encloses a given reference. * This supports only FunctionDeclaration. @@ -247,13 +169,15 @@ module.exports = { docs: { description: "disallow unmodified loop conditions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-unmodified-loop-condition" }, schema: [] }, create(context) { + const sourceCode = context.getSourceCode(); let groupMap = null; /** @@ -307,6 +231,84 @@ module.exports = { } } + /** + * Checks whether or not a given group node has any dynamic elements. + * + * @param {ASTNode} root - A node to check. + * This node is one of BinaryExpression or ConditionalExpression. + * @returns {boolean} `true` if the node is dynamic. + */ + function hasDynamicExpressions(root) { + let retv = false; + + Traverser.traverse(root, { + visitorKeys: sourceCode.visitorKeys, + enter(node) { + if (DYNAMIC_PATTERN.test(node.type)) { + retv = true; + this.break(); + } else if (SKIP_PATTERN.test(node.type)) { + this.skip(); + } + } + }); + + return retv; + } + + /** + * Creates the loop condition information from a given reference. + * + * @param {eslint-scope.Reference} reference - A reference to create. + * @returns {LoopConditionInfo|null} Created loop condition info, or null. + */ + function toLoopCondition(reference) { + if (reference.init) { + return null; + } + + let group = null; + let child = reference.identifier; + let node = child.parent; + + while (node) { + if (SENTINEL_PATTERN.test(node.type)) { + if (LOOP_PATTERN.test(node.type) && node.test === child) { + + // This reference is inside of a loop condition. + return { + reference, + group, + isInLoop: isInLoop[node.type].bind(null, node), + modified: false + }; + } + + // This reference is outside of a loop condition. + break; + } + + /* + * If it's inside of a group, OK if either operand is modified. + * So stores the group this reference belongs to. + */ + if (GROUP_PATTERN.test(node.type)) { + + // If this expression is dynamic, no need to check. + if (hasDynamicExpressions(node)) { + break; + } else { + group = node; + } + } + + child = node; + node = node.parent; + } + + return null; + } + /** * Finds unmodified references which are inside of a loop condition. * Then reports the references which are outside of groups. diff --git a/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js b/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js index 57455378053f37..7f82c8ee281cf0 100644 --- a/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js +++ b/tools/node_modules/eslint/lib/rules/no-unneeded-ternary.js @@ -27,7 +27,8 @@ module.exports = { docs: { description: "disallow ternary operators when simpler alternatives exist", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-unneeded-ternary" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-unreachable.js b/tools/node_modules/eslint/lib/rules/no-unreachable.js index 217a6a42995184..80d246307c31ea 100644 --- a/tools/node_modules/eslint/lib/rules/no-unreachable.js +++ b/tools/node_modules/eslint/lib/rules/no-unreachable.js @@ -104,7 +104,8 @@ module.exports = { docs: { description: "disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-unreachable" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-unsafe-finally.js b/tools/node_modules/eslint/lib/rules/no-unsafe-finally.js index d25033e5453ce4..ebef05188fb4a4 100644 --- a/tools/node_modules/eslint/lib/rules/no-unsafe-finally.js +++ b/tools/node_modules/eslint/lib/rules/no-unsafe-finally.js @@ -23,7 +23,8 @@ module.exports = { docs: { description: "disallow control flow statements in `finally` blocks", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-unsafe-finally" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js b/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js index 761dc03386e13f..5dc39f183bc0dc 100644 --- a/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js +++ b/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js @@ -44,7 +44,8 @@ module.exports = { docs: { description: "disallow negating the left operand of relational operators", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-unsafe-negation" }, schema: [], fixable: "code" diff --git a/tools/node_modules/eslint/lib/rules/no-unused-expressions.js b/tools/node_modules/eslint/lib/rules/no-unused-expressions.js index b4e1074d5498a1..fedfac17d1fb15 100644 --- a/tools/node_modules/eslint/lib/rules/no-unused-expressions.js +++ b/tools/node_modules/eslint/lib/rules/no-unused-expressions.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow unused expressions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-unused-expressions" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-unused-labels.js b/tools/node_modules/eslint/lib/rules/no-unused-labels.js index bcd3cfdc4780f0..3e1dcb6601fece 100644 --- a/tools/node_modules/eslint/lib/rules/no-unused-labels.js +++ b/tools/node_modules/eslint/lib/rules/no-unused-labels.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow unused labels", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-unused-labels" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-unused-vars.js b/tools/node_modules/eslint/lib/rules/no-unused-vars.js index 05940d5932a900..1d0cef85628f42 100644 --- a/tools/node_modules/eslint/lib/rules/no-unused-vars.js +++ b/tools/node_modules/eslint/lib/rules/no-unused-vars.js @@ -21,7 +21,8 @@ module.exports = { docs: { description: "disallow unused variables", category: "Variables", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-unused-vars" }, schema: [ @@ -105,26 +106,21 @@ module.exports = { * @returns {string} The warning message to be used with this unused variable. */ function getDefinedMessage(unusedVar) { + const defType = unusedVar.defs && unusedVar.defs[0] && unusedVar.defs[0].type; let type; let pattern; - if (config.varsIgnorePattern) { + if (defType === "CatchClause" && config.caughtErrorsIgnorePattern) { + type = "args"; + pattern = config.caughtErrorsIgnorePattern.toString(); + } else if (defType === "Parameter" && config.argsIgnorePattern) { + type = "args"; + pattern = config.argsIgnorePattern.toString(); + } else if (defType !== "Parameter" && config.varsIgnorePattern) { type = "vars"; pattern = config.varsIgnorePattern.toString(); } - if (unusedVar.defs && unusedVar.defs[0] && unusedVar.defs[0].type) { - const defType = unusedVar.defs[0].type; - - if (defType === "CatchClause" && config.caughtErrorsIgnorePattern) { - type = "args"; - pattern = config.caughtErrorsIgnorePattern.toString(); - } else if (defType === "Parameter" && config.argsIgnorePattern) { - type = "args"; - pattern = config.argsIgnorePattern.toString(); - } - } - const additional = type ? ` Allowed unused ${type} must match ${pattern}.` : ""; return `'{{name}}' is defined but never used.${additional}`; diff --git a/tools/node_modules/eslint/lib/rules/no-use-before-define.js b/tools/node_modules/eslint/lib/rules/no-use-before-define.js index ada01815d9c888..37b8e11ca84db6 100644 --- a/tools/node_modules/eslint/lib/rules/no-use-before-define.js +++ b/tools/node_modules/eslint/lib/rules/no-use-before-define.js @@ -139,7 +139,8 @@ module.exports = { docs: { description: "disallow the use of variables before they are defined", category: "Variables", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-use-before-define" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-useless-call.js b/tools/node_modules/eslint/lib/rules/no-useless-call.js index e4820ac248e04a..925c9f79a99815 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-call.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-call.js @@ -52,7 +52,8 @@ module.exports = { docs: { description: "disallow unnecessary calls to `.call()` and `.apply()`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-useless-call" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-useless-computed-key.js b/tools/node_modules/eslint/lib/rules/no-useless-computed-key.js index f8114ab754368b..07573075e1a469 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-computed-key.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-computed-key.js @@ -21,7 +21,8 @@ module.exports = { docs: { description: "disallow unnecessary computed property keys in object literals", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-useless-computed-key" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-useless-concat.js b/tools/node_modules/eslint/lib/rules/no-useless-concat.js index e42781fee7da30..a9ac7868436a6a 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-concat.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-concat.js @@ -69,7 +69,8 @@ module.exports = { docs: { description: "disallow unnecessary concatenation of literals or template literals", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-useless-concat" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-useless-constructor.js b/tools/node_modules/eslint/lib/rules/no-useless-constructor.js index f790c789f53d0b..59e40bef8f4b66 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-constructor.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-constructor.js @@ -145,7 +145,8 @@ module.exports = { docs: { description: "disallow unnecessary constructors", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-useless-constructor" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-useless-escape.js b/tools/node_modules/eslint/lib/rules/no-useless-escape.js index cdc3e98df85c5d..80abec78e84fe3 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-escape.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-escape.js @@ -82,7 +82,8 @@ module.exports = { docs: { description: "disallow unnecessary escape characters", category: "Best Practices", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/no-useless-escape" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-useless-rename.js b/tools/node_modules/eslint/lib/rules/no-useless-rename.js index a489a6e51ba0c0..83a03deb63022a 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-rename.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-rename.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow renaming import, export, and destructured assignments to the same name", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-useless-rename" }, fixable: "code", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-useless-return.js b/tools/node_modules/eslint/lib/rules/no-useless-return.js index 5415bf59b80bce..8e2a6d97f6709d 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-return.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-return.js @@ -76,7 +76,8 @@ module.exports = { docs: { description: "disallow redundant return statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-useless-return" }, fixable: "code", schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-var.js b/tools/node_modules/eslint/lib/rules/no-var.js index d3c163e5577402..d95ca539f0336b 100644 --- a/tools/node_modules/eslint/lib/rules/no-var.js +++ b/tools/node_modules/eslint/lib/rules/no-var.js @@ -183,7 +183,8 @@ module.exports = { docs: { description: "require `let` or `const` instead of `var`", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-var" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/no-void.js b/tools/node_modules/eslint/lib/rules/no-void.js index 5202fa49a8543a..1d3d887da66873 100644 --- a/tools/node_modules/eslint/lib/rules/no-void.js +++ b/tools/node_modules/eslint/lib/rules/no-void.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "disallow `void` operators", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-void" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/no-warning-comments.js b/tools/node_modules/eslint/lib/rules/no-warning-comments.js index c0ecaca9e7dff4..ce58f9ac8088b2 100644 --- a/tools/node_modules/eslint/lib/rules/no-warning-comments.js +++ b/tools/node_modules/eslint/lib/rules/no-warning-comments.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "disallow specified warning terms in comments", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-warning-comments" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/no-whitespace-before-property.js b/tools/node_modules/eslint/lib/rules/no-whitespace-before-property.js index 2d476b66c0a99c..fc4c25f8497097 100644 --- a/tools/node_modules/eslint/lib/rules/no-whitespace-before-property.js +++ b/tools/node_modules/eslint/lib/rules/no-whitespace-before-property.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "disallow whitespace before properties", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-whitespace-before-property" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/no-with.js b/tools/node_modules/eslint/lib/rules/no-with.js index be9e3463606404..d72dcdfb21e4d6 100644 --- a/tools/node_modules/eslint/lib/rules/no-with.js +++ b/tools/node_modules/eslint/lib/rules/no-with.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "disallow `with` statements", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/no-with" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/nonblock-statement-body-position.js b/tools/node_modules/eslint/lib/rules/nonblock-statement-body-position.js index 212e36a57c2b57..e447ef886b3c03 100644 --- a/tools/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +++ b/tools/node_modules/eslint/lib/rules/nonblock-statement-body-position.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce the location of single-line statements", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/nonblock-statement-body-position" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/object-curly-newline.js b/tools/node_modules/eslint/lib/rules/object-curly-newline.js index ebad69de2ee123..91b2ca6c97c335 100644 --- a/tools/node_modules/eslint/lib/rules/object-curly-newline.js +++ b/tools/node_modules/eslint/lib/rules/object-curly-newline.js @@ -97,7 +97,8 @@ module.exports = { docs: { description: "enforce consistent line breaks inside braces", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/object-curly-newline" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/object-curly-spacing.js b/tools/node_modules/eslint/lib/rules/object-curly-spacing.js index 3341e915f24954..b37d6fd90f3baa 100644 --- a/tools/node_modules/eslint/lib/rules/object-curly-spacing.js +++ b/tools/node_modules/eslint/lib/rules/object-curly-spacing.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce consistent spacing inside braces", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/object-curly-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/object-property-newline.js b/tools/node_modules/eslint/lib/rules/object-property-newline.js index 0463e389ab9918..56ca269402fe1c 100644 --- a/tools/node_modules/eslint/lib/rules/object-property-newline.js +++ b/tools/node_modules/eslint/lib/rules/object-property-newline.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce placing object properties on separate lines", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/object-property-newline" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/object-shorthand.js b/tools/node_modules/eslint/lib/rules/object-shorthand.js index 980d0fc35a52b2..c6c0b104458bef 100644 --- a/tools/node_modules/eslint/lib/rules/object-shorthand.js +++ b/tools/node_modules/eslint/lib/rules/object-shorthand.js @@ -27,7 +27,8 @@ module.exports = { docs: { description: "require or disallow method and property shorthand syntax for object literals", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/object-shorthand" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/one-var-declaration-per-line.js b/tools/node_modules/eslint/lib/rules/one-var-declaration-per-line.js index 61b505c82d5d71..e17529b6bed487 100644 --- a/tools/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +++ b/tools/node_modules/eslint/lib/rules/one-var-declaration-per-line.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "require or disallow newlines around variable declarations", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/one-var-declaration-per-line" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/one-var.js b/tools/node_modules/eslint/lib/rules/one-var.js index 9e40d4ea6f26c1..cd094444b6ab05 100644 --- a/tools/node_modules/eslint/lib/rules/one-var.js +++ b/tools/node_modules/eslint/lib/rules/one-var.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce variables to be declared either together or separately in functions", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/one-var" }, schema: [ @@ -26,6 +27,9 @@ module.exports = { { type: "object", properties: { + separateRequires: { + type: "boolean" + }, var: { enum: ["always", "never"] }, @@ -62,21 +66,23 @@ module.exports = { const mode = context.options[0] || MODE_ALWAYS; - const options = { - }; + const options = {}; if (typeof mode === "string") { // simple options configuration with just a string options.var = { uninitialized: mode, initialized: mode }; options.let = { uninitialized: mode, initialized: mode }; options.const = { uninitialized: mode, initialized: mode }; } else if (typeof mode === "object") { // options configuration is an object - if (mode.hasOwnProperty("var") && typeof mode.var === "string") { + if (mode.hasOwnProperty("separateRequires")) { + options.separateRequires = !!mode.separateRequires; + } + if (mode.hasOwnProperty("var")) { options.var = { uninitialized: mode.var, initialized: mode.var }; } - if (mode.hasOwnProperty("let") && typeof mode.let === "string") { + if (mode.hasOwnProperty("let")) { options.let = { uninitialized: mode.let, initialized: mode.let }; } - if (mode.hasOwnProperty("const") && typeof mode.const === "string") { + if (mode.hasOwnProperty("const")) { options.const = { uninitialized: mode.const, initialized: mode.const }; } if (mode.hasOwnProperty("uninitialized")) { @@ -158,7 +164,17 @@ module.exports = { } /** - * Records whether initialized or uninitialized variables are defined in current scope. + * Check if a variable declaration is a require. + * @param {ASTNode} decl variable declaration Node + * @returns {bool} if decl is a require, return true; else return false. + * @private + */ + function isRequire(decl) { + return decl.init && decl.init.type === "CallExpression" && decl.init.callee.name === "require"; + } + + /** + * Records whether initialized/uninitialized/required variables are defined in current scope. * @param {string} statementType node.kind, one of: "var", "let", or "const" * @param {ASTNode[]} declarations List of declarations * @param {Object} currentScope The scope being investigated @@ -173,7 +189,11 @@ module.exports = { } } else { if (options[statementType] && options[statementType].initialized === MODE_ALWAYS) { - currentScope.initialized = true; + if (options.separateRequires && isRequire(declarations[i])) { + currentScope.required = true; + } else { + currentScope.initialized = true; + } } } } @@ -228,6 +248,7 @@ module.exports = { const declarationCounts = countDeclarations(declarations); const currentOptions = options[statementType] || {}; const currentScope = getCurrentScope(statementType); + const hasRequires = declarations.some(isRequire); if (currentOptions.uninitialized === MODE_ALWAYS && currentOptions.initialized === MODE_ALWAYS) { if (currentScope.uninitialized || currentScope.initialized) { @@ -245,6 +266,9 @@ module.exports = { return false; } } + if (currentScope.required && hasRequires) { + return false; + } recordTypes(statementType, declarations, currentScope); return true; } @@ -275,6 +299,16 @@ module.exports = { const declarations = node.declarations; const declarationCounts = countDeclarations(declarations); + const mixedRequires = declarations.some(isRequire) && !declarations.every(isRequire); + + if (options[type].initialized === MODE_ALWAYS) { + if (options.separateRequires && mixedRequires) { + context.report({ + node, + message: "Split requires to be separated into a single block." + }); + } + } // always if (!hasOnlyOneStatement(type, declarations)) { diff --git a/tools/node_modules/eslint/lib/rules/operator-assignment.js b/tools/node_modules/eslint/lib/rules/operator-assignment.js index f776609f5e33ac..ad516bbfc4cab7 100644 --- a/tools/node_modules/eslint/lib/rules/operator-assignment.js +++ b/tools/node_modules/eslint/lib/rules/operator-assignment.js @@ -92,7 +92,8 @@ module.exports = { docs: { description: "require or disallow assignment operator shorthand where possible", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/operator-assignment" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/operator-linebreak.js b/tools/node_modules/eslint/lib/rules/operator-linebreak.js index 271cbb35c1d88b..558258b27df533 100644 --- a/tools/node_modules/eslint/lib/rules/operator-linebreak.js +++ b/tools/node_modules/eslint/lib/rules/operator-linebreak.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "enforce consistent linebreak style for operators", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/operator-linebreak" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/padded-blocks.js b/tools/node_modules/eslint/lib/rules/padded-blocks.js index ad65882ac6a7dc..2fbb2671216d3b 100644 --- a/tools/node_modules/eslint/lib/rules/padded-blocks.js +++ b/tools/node_modules/eslint/lib/rules/padded-blocks.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require or disallow padding within blocks", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/padded-blocks" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js b/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js index a89c49decf5e4a..9d1a4a3c7eb5f4 100644 --- a/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js +++ b/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js @@ -394,7 +394,8 @@ module.exports = { docs: { description: "require or disallow padding lines between statements", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/padding-line-between-statements" }, fixable: "whitespace", schema: { diff --git a/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js b/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js index 31ae2859fea840..ff7a0fa7e7a6d2 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js +++ b/tools/node_modules/eslint/lib/rules/prefer-arrow-callback.js @@ -134,7 +134,8 @@ module.exports = { docs: { description: "require using arrow functions for callbacks", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-arrow-callback" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/prefer-const.js b/tools/node_modules/eslint/lib/rules/prefer-const.js index a8cf3b7ef61893..a24a00284f5fa5 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-const.js +++ b/tools/node_modules/eslint/lib/rules/prefer-const.js @@ -233,7 +233,8 @@ module.exports = { docs: { description: "require `const` declarations for variables that are never reassigned after declared", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-const" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/prefer-destructuring.js b/tools/node_modules/eslint/lib/rules/prefer-destructuring.js index 56c348a4785321..e9d02da3a113c9 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-destructuring.js +++ b/tools/node_modules/eslint/lib/rules/prefer-destructuring.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "require destructuring from arrays and/or objects", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-destructuring" }, schema: [ { diff --git a/tools/node_modules/eslint/lib/rules/prefer-numeric-literals.js b/tools/node_modules/eslint/lib/rules/prefer-numeric-literals.js index 929e660c665538..051a91c81cb446 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-numeric-literals.js +++ b/tools/node_modules/eslint/lib/rules/prefer-numeric-literals.js @@ -41,7 +41,8 @@ module.exports = { docs: { description: "disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-numeric-literals" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js b/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js index d2a6b5df102eb1..f92bd58d2e6c96 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +++ b/tools/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "require using Error objects as Promise rejection reasons", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-promise-reject-errors" }, fixable: null, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/prefer-reflect.js b/tools/node_modules/eslint/lib/rules/prefer-reflect.js index a47e66c5f533b1..56e841ff181799 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-reflect.js +++ b/tools/node_modules/eslint/lib/rules/prefer-reflect.js @@ -15,7 +15,8 @@ module.exports = { description: "require `Reflect` methods where applicable", category: "ECMAScript 6", recommended: false, - replacedBy: [] + replacedBy: [], + url: "https://eslint.org/docs/rules/prefer-reflect" }, deprecated: true, diff --git a/tools/node_modules/eslint/lib/rules/prefer-rest-params.js b/tools/node_modules/eslint/lib/rules/prefer-rest-params.js index 03342371b2bfed..133456e4d176cf 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-rest-params.js +++ b/tools/node_modules/eslint/lib/rules/prefer-rest-params.js @@ -65,7 +65,8 @@ module.exports = { docs: { description: "require rest parameters instead of `arguments`", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-rest-params" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/prefer-spread.js b/tools/node_modules/eslint/lib/rules/prefer-spread.js index c111d5f98e805f..62cfb28e7e26a0 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-spread.js +++ b/tools/node_modules/eslint/lib/rules/prefer-spread.js @@ -52,7 +52,8 @@ module.exports = { docs: { description: "require spread operators instead of `.apply()`", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-spread" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/prefer-template.js b/tools/node_modules/eslint/lib/rules/prefer-template.js index 076ce6a3ea8a63..c583bdcf9a202e 100644 --- a/tools/node_modules/eslint/lib/rules/prefer-template.js +++ b/tools/node_modules/eslint/lib/rules/prefer-template.js @@ -103,7 +103,8 @@ module.exports = { docs: { description: "require template literals instead of string concatenation", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/prefer-template" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/quote-props.js b/tools/node_modules/eslint/lib/rules/quote-props.js index 6ac1f3c138f9a4..36739494da4058 100644 --- a/tools/node_modules/eslint/lib/rules/quote-props.js +++ b/tools/node_modules/eslint/lib/rules/quote-props.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "require quotes around object literal property names", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/quote-props" }, schema: { diff --git a/tools/node_modules/eslint/lib/rules/quotes.js b/tools/node_modules/eslint/lib/rules/quotes.js index 914762727bdcb9..fa8bbae5fa14d9 100644 --- a/tools/node_modules/eslint/lib/rules/quotes.js +++ b/tools/node_modules/eslint/lib/rules/quotes.js @@ -79,7 +79,8 @@ module.exports = { docs: { description: "enforce the consistent use of either backticks, double, or single quotes", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/quotes" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/radix.js b/tools/node_modules/eslint/lib/rules/radix.js index 0484c3bfb371b5..7e116a6fbf9508 100644 --- a/tools/node_modules/eslint/lib/rules/radix.js +++ b/tools/node_modules/eslint/lib/rules/radix.js @@ -81,7 +81,8 @@ module.exports = { docs: { description: "enforce the consistent use of the radix argument when using `parseInt()`", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/radix" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/require-await.js b/tools/node_modules/eslint/lib/rules/require-await.js index a5698ae058bdf0..6adc84ae15c64b 100644 --- a/tools/node_modules/eslint/lib/rules/require-await.js +++ b/tools/node_modules/eslint/lib/rules/require-await.js @@ -34,7 +34,8 @@ module.exports = { docs: { description: "disallow async functions which have no `await` expression", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/require-await" }, schema: [] }, diff --git a/tools/node_modules/eslint/lib/rules/require-jsdoc.js b/tools/node_modules/eslint/lib/rules/require-jsdoc.js index a02ee3659c3fff..91b90b7d10a381 100644 --- a/tools/node_modules/eslint/lib/rules/require-jsdoc.js +++ b/tools/node_modules/eslint/lib/rules/require-jsdoc.js @@ -9,7 +9,8 @@ module.exports = { docs: { description: "require JSDoc comments", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/require-jsdoc" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/require-yield.js b/tools/node_modules/eslint/lib/rules/require-yield.js index 5cc2944bc692d6..83a29876f0912a 100644 --- a/tools/node_modules/eslint/lib/rules/require-yield.js +++ b/tools/node_modules/eslint/lib/rules/require-yield.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require generator functions to contain `yield`", category: "ECMAScript 6", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/require-yield" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/rest-spread-spacing.js b/tools/node_modules/eslint/lib/rules/rest-spread-spacing.js index 91770eca74e4d3..1fbc2c4cc584cf 100644 --- a/tools/node_modules/eslint/lib/rules/rest-spread-spacing.js +++ b/tools/node_modules/eslint/lib/rules/rest-spread-spacing.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce spacing between rest and spread operators and their expressions", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/rest-spread-spacing" }, fixable: "whitespace", schema: [ diff --git a/tools/node_modules/eslint/lib/rules/semi-spacing.js b/tools/node_modules/eslint/lib/rules/semi-spacing.js index fd300e4a37a782..07af993764a24c 100644 --- a/tools/node_modules/eslint/lib/rules/semi-spacing.js +++ b/tools/node_modules/eslint/lib/rules/semi-spacing.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce consistent spacing before and after semicolons", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/semi-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/semi-style.js b/tools/node_modules/eslint/lib/rules/semi-style.js index 41fb39246c7514..de65928136b3b8 100644 --- a/tools/node_modules/eslint/lib/rules/semi-style.js +++ b/tools/node_modules/eslint/lib/rules/semi-style.js @@ -68,7 +68,8 @@ module.exports = { docs: { description: "enforce location of semicolons", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/semi-style" }, schema: [{ enum: ["last", "first"] }], fixable: "whitespace" diff --git a/tools/node_modules/eslint/lib/rules/semi.js b/tools/node_modules/eslint/lib/rules/semi.js index 78b6966deab67e..33a214db7c9dbf 100644 --- a/tools/node_modules/eslint/lib/rules/semi.js +++ b/tools/node_modules/eslint/lib/rules/semi.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "require or disallow semicolons instead of ASI", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/semi" }, fixable: "code", diff --git a/tools/node_modules/eslint/lib/rules/sort-imports.js b/tools/node_modules/eslint/lib/rules/sort-imports.js index 2bd415e9746968..8735be5d307144 100644 --- a/tools/node_modules/eslint/lib/rules/sort-imports.js +++ b/tools/node_modules/eslint/lib/rules/sort-imports.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "enforce sorted import declarations within modules", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/sort-imports" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/sort-keys.js b/tools/node_modules/eslint/lib/rules/sort-keys.js index 8821f629433d48..9318e2fbb2377c 100644 --- a/tools/node_modules/eslint/lib/rules/sort-keys.js +++ b/tools/node_modules/eslint/lib/rules/sort-keys.js @@ -76,7 +76,8 @@ module.exports = { docs: { description: "require object keys to be sorted", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/sort-keys" }, schema: [ { diff --git a/tools/node_modules/eslint/lib/rules/sort-vars.js b/tools/node_modules/eslint/lib/rules/sort-vars.js index c77cdf86207518..334deb0657f3ef 100644 --- a/tools/node_modules/eslint/lib/rules/sort-vars.js +++ b/tools/node_modules/eslint/lib/rules/sort-vars.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require variables within the same declaration block to be sorted", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/sort-vars" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/space-before-blocks.js b/tools/node_modules/eslint/lib/rules/space-before-blocks.js index f50298c9c403a2..2b82066d727c08 100644 --- a/tools/node_modules/eslint/lib/rules/space-before-blocks.js +++ b/tools/node_modules/eslint/lib/rules/space-before-blocks.js @@ -16,7 +16,8 @@ module.exports = { docs: { description: "enforce consistent spacing before blocks", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/space-before-blocks" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/space-before-function-paren.js b/tools/node_modules/eslint/lib/rules/space-before-function-paren.js index 8851c4587ac779..51f6cc43262c87 100644 --- a/tools/node_modules/eslint/lib/rules/space-before-function-paren.js +++ b/tools/node_modules/eslint/lib/rules/space-before-function-paren.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce consistent spacing before `function` definition opening parenthesis", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/space-before-function-paren" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/space-in-parens.js b/tools/node_modules/eslint/lib/rules/space-in-parens.js index 67ec5847cd1514..7e315c448627c6 100644 --- a/tools/node_modules/eslint/lib/rules/space-in-parens.js +++ b/tools/node_modules/eslint/lib/rules/space-in-parens.js @@ -15,7 +15,8 @@ module.exports = { docs: { description: "enforce consistent spacing inside parentheses", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/space-in-parens" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/space-infix-ops.js b/tools/node_modules/eslint/lib/rules/space-infix-ops.js index b92c889c7fb4e9..49b64658d190e0 100644 --- a/tools/node_modules/eslint/lib/rules/space-infix-ops.js +++ b/tools/node_modules/eslint/lib/rules/space-infix-ops.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "require spacing around infix operators", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/space-infix-ops" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/space-unary-ops.js b/tools/node_modules/eslint/lib/rules/space-unary-ops.js index 06a70fb6adec9b..4d122836ad6379 100644 --- a/tools/node_modules/eslint/lib/rules/space-unary-ops.js +++ b/tools/node_modules/eslint/lib/rules/space-unary-ops.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce consistent spacing before or after unary operators", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/space-unary-ops" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/spaced-comment.js b/tools/node_modules/eslint/lib/rules/spaced-comment.js index 8cdd05514ca654..9d2f5f49acd69d 100644 --- a/tools/node_modules/eslint/lib/rules/spaced-comment.js +++ b/tools/node_modules/eslint/lib/rules/spaced-comment.js @@ -158,7 +158,8 @@ module.exports = { docs: { description: "enforce consistent spacing after the `//` or `/*` in a comment", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/spaced-comment" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/strict.js b/tools/node_modules/eslint/lib/rules/strict.js index 433b47136797c6..633a8b323da9f8 100644 --- a/tools/node_modules/eslint/lib/rules/strict.js +++ b/tools/node_modules/eslint/lib/rules/strict.js @@ -83,7 +83,8 @@ module.exports = { docs: { description: "require or disallow strict mode directives", category: "Strict Mode", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/strict" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js b/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js index 400e850997e54e..cf19df6ed4a05a 100644 --- a/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js +++ b/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "enforce spacing around colons of switch statements", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/switch-colon-spacing" }, schema: [ { diff --git a/tools/node_modules/eslint/lib/rules/symbol-description.js b/tools/node_modules/eslint/lib/rules/symbol-description.js index 3f5ffd7463cd5a..95c1a1deb5db14 100644 --- a/tools/node_modules/eslint/lib/rules/symbol-description.js +++ b/tools/node_modules/eslint/lib/rules/symbol-description.js @@ -21,7 +21,8 @@ module.exports = { docs: { description: "require symbol descriptions", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/symbol-description" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/template-curly-spacing.js b/tools/node_modules/eslint/lib/rules/template-curly-spacing.js index 1d491a24c9c1e2..707ea76a360ee6 100644 --- a/tools/node_modules/eslint/lib/rules/template-curly-spacing.js +++ b/tools/node_modules/eslint/lib/rules/template-curly-spacing.js @@ -27,7 +27,8 @@ module.exports = { docs: { description: "require or disallow spacing around embedded expressions of template strings", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/template-curly-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/template-tag-spacing.js b/tools/node_modules/eslint/lib/rules/template-tag-spacing.js index 907c537ff30182..aee7ac108be16c 100755 --- a/tools/node_modules/eslint/lib/rules/template-tag-spacing.js +++ b/tools/node_modules/eslint/lib/rules/template-tag-spacing.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require or disallow spacing between template tags and their literals", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/template-tag-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/unicode-bom.js b/tools/node_modules/eslint/lib/rules/unicode-bom.js index 7109a49edbb5ed..03b2d5ae68e463 100644 --- a/tools/node_modules/eslint/lib/rules/unicode-bom.js +++ b/tools/node_modules/eslint/lib/rules/unicode-bom.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "require or disallow Unicode byte order mark (BOM)", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/unicode-bom" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/use-isnan.js b/tools/node_modules/eslint/lib/rules/use-isnan.js index 5ec48a0386e1b5..5bad5b3c6ddb5b 100644 --- a/tools/node_modules/eslint/lib/rules/use-isnan.js +++ b/tools/node_modules/eslint/lib/rules/use-isnan.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require calls to `isNaN()` when checking for `NaN`", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/use-isnan" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js index ea60b115ce6c76..5e1af10de7ad8b 100644 --- a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js +++ b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js @@ -19,7 +19,8 @@ module.exports = { docs: { description: "enforce valid JSDoc comments", category: "Possible Errors", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/valid-jsdoc" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/valid-typeof.js b/tools/node_modules/eslint/lib/rules/valid-typeof.js index fba4cc5712a7dc..ac4e74f20ba6c5 100644 --- a/tools/node_modules/eslint/lib/rules/valid-typeof.js +++ b/tools/node_modules/eslint/lib/rules/valid-typeof.js @@ -13,7 +13,8 @@ module.exports = { docs: { description: "enforce comparing `typeof` expressions against valid strings", category: "Possible Errors", - recommended: true + recommended: true, + url: "https://eslint.org/docs/rules/valid-typeof" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/vars-on-top.js b/tools/node_modules/eslint/lib/rules/vars-on-top.js index f74db905b1908d..8f6bf1d977782b 100644 --- a/tools/node_modules/eslint/lib/rules/vars-on-top.js +++ b/tools/node_modules/eslint/lib/rules/vars-on-top.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require `var` declarations be placed at the top of their containing scope", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/vars-on-top" }, schema: [] diff --git a/tools/node_modules/eslint/lib/rules/wrap-iife.js b/tools/node_modules/eslint/lib/rules/wrap-iife.js index c4e6a9e0c735cf..a21bf21634c8b8 100644 --- a/tools/node_modules/eslint/lib/rules/wrap-iife.js +++ b/tools/node_modules/eslint/lib/rules/wrap-iife.js @@ -20,7 +20,8 @@ module.exports = { docs: { description: "require parentheses around immediate `function` invocations", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/wrap-iife" }, schema: [ diff --git a/tools/node_modules/eslint/lib/rules/wrap-regex.js b/tools/node_modules/eslint/lib/rules/wrap-regex.js index 79f3d30515d63d..e58a4fe537669e 100644 --- a/tools/node_modules/eslint/lib/rules/wrap-regex.js +++ b/tools/node_modules/eslint/lib/rules/wrap-regex.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require parenthesis around regex literals", category: "Stylistic Issues", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/wrap-regex" }, schema: [], diff --git a/tools/node_modules/eslint/lib/rules/yield-star-spacing.js b/tools/node_modules/eslint/lib/rules/yield-star-spacing.js index eb20fc01b0b9a9..33a37f0d991577 100644 --- a/tools/node_modules/eslint/lib/rules/yield-star-spacing.js +++ b/tools/node_modules/eslint/lib/rules/yield-star-spacing.js @@ -14,7 +14,8 @@ module.exports = { docs: { description: "require or disallow spacing around the `*` in `yield*` expressions", category: "ECMAScript 6", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/yield-star-spacing" }, fixable: "whitespace", diff --git a/tools/node_modules/eslint/lib/rules/yoda.js b/tools/node_modules/eslint/lib/rules/yoda.js index 2ccb61f73a0946..7f3bc6115b969b 100644 --- a/tools/node_modules/eslint/lib/rules/yoda.js +++ b/tools/node_modules/eslint/lib/rules/yoda.js @@ -155,7 +155,8 @@ module.exports = { docs: { description: "require or disallow \"Yoda\" conditions", category: "Best Practices", - recommended: false + recommended: false, + url: "https://eslint.org/docs/rules/yoda" }, schema: [ diff --git a/tools/node_modules/eslint/lib/testers/rule-tester.js b/tools/node_modules/eslint/lib/testers/rule-tester.js index aae66301d87173..de218a875f53d1 100644 --- a/tools/node_modules/eslint/lib/testers/rule-tester.js +++ b/tools/node_modules/eslint/lib/testers/rule-tester.js @@ -47,7 +47,8 @@ const lodash = require("lodash"), ajv = require("../util/ajv"), Linter = require("../linter"), Environments = require("../config/environments"), - SourceCodeFixer = require("../util/source-code-fixer"); + SourceCodeFixer = require("../util/source-code-fixer"), + interpolate = require("../util/interpolate"); //------------------------------------------------------------------------------ // Private Members @@ -131,13 +132,31 @@ const DESCRIBE = Symbol("describe"); const IT = Symbol("it"); /** - * This is `it` or `describe` if those don't exist. + * This is `it` default handler if `it` don't exist. * @this {Mocha} * @param {string} text - The description of the test case. * @param {Function} method - The logic of the test case. * @returns {any} Returned value of `method`. */ -function defaultHandler(text, method) { +function itDefaultHandler(text, method) { + try { + return method.apply(this); + } catch (err) { + if (err instanceof assert.AssertionError) { + err.message += ` (${util.inspect(err.actual)} ${err.operator} ${util.inspect(err.expected)})`; + } + throw err; + } +} + +/** + * This is `describe` default handler if `describe` don't exist. + * @this {Mocha} + * @param {string} text - The description of the test case. + * @param {Function} method - The logic of the test case. + * @returns {any} Returned value of `method`. + */ +function describeDefaultHandler(text, method) { return method.apply(this); } @@ -212,7 +231,7 @@ class RuleTester { static get describe() { return ( this[DESCRIBE] || - (typeof describe === "function" ? describe : defaultHandler) + (typeof describe === "function" ? describe : describeDefaultHandler) ); } @@ -223,7 +242,7 @@ class RuleTester { static get it() { return ( this[IT] || - (typeof it === "function" ? it : defaultHandler) + (typeof it === "function" ? it : itDefaultHandler) ); } @@ -454,59 +473,73 @@ class RuleTester { const hasMessageOfThisRule = messages.some(m => m.ruleId === ruleName); for (let i = 0, l = item.errors.length; i < l; i++) { - assert(!messages[i].fatal, `A fatal parsing error occurred: ${messages[i].message}`); + const error = item.errors[i]; + const message = messages[i]; + + assert(!message.fatal, `A fatal parsing error occurred: ${message.message}`); assert(hasMessageOfThisRule, "Error rule name should be the same as the name of the rule being tested"); - if (typeof item.errors[i] === "string" || item.errors[i] instanceof RegExp) { + if (typeof error === "string" || error instanceof RegExp) { // Just an error message. - assertMessageMatches(messages[i].message, item.errors[i]); - } else if (typeof item.errors[i] === "object") { + assertMessageMatches(message.message, error); + } else if (typeof error === "object") { /* * Error object. * This may have a message, node type, line, and/or * column. */ - if (item.errors[i].message) { - assertMessageMatches(messages[i].message, item.errors[i].message); + if (error.message) { + assertMessageMatches(message.message, error.message); } - // The following checks use loose equality assertions for backwards compatibility. + if (error.messageId) { + const hOP = Object.hasOwnProperty.call.bind(Object.hasOwnProperty); - if (item.errors[i].type) { + // verify that `error.message` is `undefined` + assert.strictEqual(error.message, void 0, "Error should not specify both a message and a messageId."); + if (!hOP(rule, "meta") || !hOP(rule.meta, "messages")) { + assert.fail("Rule must specify a messages hash in `meta`"); + } + if (!hOP(rule.meta.messages, error.messageId)) { + const friendlyIDList = `[${Object.keys(rule.meta.messages).map(key => `'${key}'`).join(", ")}]`; - // eslint-disable-next-line no-restricted-properties - assert.equal(messages[i].nodeType, item.errors[i].type, `Error type should be ${item.errors[i].type}, found ${messages[i].nodeType}`); - } + assert.fail(`Invalid messageId '${error.messageId}'. Expected one of ${friendlyIDList}.`); + } - if (item.errors[i].hasOwnProperty("line")) { + let expectedMessage = rule.meta.messages[error.messageId]; - // eslint-disable-next-line no-restricted-properties - assert.equal(messages[i].line, item.errors[i].line, `Error line should be ${item.errors[i].line}`); - } + if (error.data) { + expectedMessage = interpolate(expectedMessage, error.data); + } - if (item.errors[i].hasOwnProperty("column")) { + assertMessageMatches(message.message, expectedMessage); + } - // eslint-disable-next-line no-restricted-properties - assert.equal(messages[i].column, item.errors[i].column, `Error column should be ${item.errors[i].column}`); + if (error.type) { + assert.strictEqual(message.nodeType, error.type, `Error type should be ${error.type}, found ${message.nodeType}`); } - if (item.errors[i].hasOwnProperty("endLine")) { + if (error.hasOwnProperty("line")) { + assert.strictEqual(message.line, error.line, `Error line should be ${error.line}`); + } - // eslint-disable-next-line no-restricted-properties - assert.equal(messages[i].endLine, item.errors[i].endLine, `Error endLine should be ${item.errors[i].endLine}`); + if (error.hasOwnProperty("column")) { + assert.strictEqual(message.column, error.column, `Error column should be ${error.column}`); } - if (item.errors[i].hasOwnProperty("endColumn")) { + if (error.hasOwnProperty("endLine")) { + assert.strictEqual(message.endLine, error.endLine, `Error endLine should be ${error.endLine}`); + } - // eslint-disable-next-line no-restricted-properties - assert.equal(messages[i].endColumn, item.errors[i].endColumn, `Error endColumn should be ${item.errors[i].endColumn}`); + if (error.hasOwnProperty("endColumn")) { + assert.strictEqual(message.endColumn, error.endColumn, `Error endColumn should be ${error.endColumn}`); } } else { // Message was an unexpected type - assert.fail(messages[i], null, "Error should be a string, object, or RegExp."); + assert.fail(message, null, "Error should be a string, object, or RegExp."); } } } diff --git a/tools/node_modules/eslint/lib/util/interpolate.js b/tools/node_modules/eslint/lib/util/interpolate.js new file mode 100644 index 00000000000000..e0f2d027d197ca --- /dev/null +++ b/tools/node_modules/eslint/lib/util/interpolate.js @@ -0,0 +1,24 @@ +/** + * @fileoverview Interpolate keys from an object into a string with {{ }} markers. + * @author Jed Fox + */ + +"use strict"; + +//------------------------------------------------------------------------------ +// Public Interface +//------------------------------------------------------------------------------ + +module.exports = (text, data) => { + if (!data) { + return text; + } + return text.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (fullMatch, term) => { + if (term in data) { + return data[term]; + } + + // Preserve old behavior: If parameter name not provided, don't replace it. + return fullMatch; + }); +}; diff --git a/tools/node_modules/eslint/lib/util/source-code.js b/tools/node_modules/eslint/lib/util/source-code.js index 0bd710bf67ae93..dee81aa10cade8 100644 --- a/tools/node_modules/eslint/lib/util/source-code.js +++ b/tools/node_modules/eslint/lib/util/source-code.js @@ -84,13 +84,30 @@ class SourceCode extends TokenStore { /** * Represents parsed source code. - * @param {string} text - The source code text. - * @param {ASTNode} ast - The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. + * @param {string|Object} textOrConfig - The source code text or config object. + * @param {string} textOrConfig.text - The source code text. + * @param {ASTNode} textOrConfig.ast - The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. + * @param {Object|null} textOrConfig.parserServices - The parser srevices. + * @param {ScopeManager|null} textOrConfig.scopeManager - The scope of this source code. + * @param {Object|null} textOrConfig.visitorKeys - The visitor keys to traverse AST. + * @param {ASTNode} [ast] - The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. * @constructor */ - constructor(text, ast) { - validate(ast); + constructor(textOrConfig, ast) { + let text, parserServices, scopeManager, visitorKeys; + + // Process overloading. + if (typeof textOrConfig === "string") { + text = textOrConfig; + } else if (typeof textOrConfig === "object" && textOrConfig !== null) { + text = textOrConfig.text; + ast = textOrConfig.ast; + parserServices = textOrConfig.parserServices; + scopeManager = textOrConfig.scopeManager; + visitorKeys = textOrConfig.visitorKeys; + } + validate(ast); super(ast.tokens, ast.comments); /** @@ -112,6 +129,24 @@ class SourceCode extends TokenStore { */ this.ast = ast; + /** + * The parser services of this source code. + * @type {Object} + */ + this.parserServices = parserServices || {}; + + /** + * The scope of this source code. + * @type {ScopeManager|null} + */ + this.scopeManager = scopeManager || null; + + /** + * The visitor keys to traverse AST. + * @type {Object} + */ + this.visitorKeys = visitorKeys || Traverser.DEFAULT_VISITOR_KEYS; + // Check the source text for the presence of a shebang since it is parsed as a standard line comment. const shebangMatched = this.text.match(astUtils.SHEBANG_MATCHER); const hasShebang = shebangMatched && ast.comments.length && ast.comments[0].value === shebangMatched[1]; @@ -353,9 +388,9 @@ class SourceCode extends TokenStore { getNodeByRangeIndex(index) { let result = null, resultParent = null; - const traverser = new Traverser(); - traverser.traverse(this.ast, { + Traverser.traverse(this.ast, { + visitorKeys: this.visitorKeys, enter(node, parent) { if (node.range[0] <= index && index < node.range[1]) { result = node; diff --git a/tools/node_modules/eslint/lib/util/traverser.js b/tools/node_modules/eslint/lib/util/traverser.js index fc070186b3b60e..79fb32faf95cff 100644 --- a/tools/node_modules/eslint/lib/util/traverser.js +++ b/tools/node_modules/eslint/lib/util/traverser.js @@ -1,6 +1,7 @@ /** - * @fileoverview Wrapper around estraverse + * @fileoverview Traverser to traverse AST trees. * @author Nicholas C. Zakas + * @author Toru Nagashima */ "use strict"; @@ -8,27 +9,153 @@ // Requirements //------------------------------------------------------------------------------ -const estraverse = require("estraverse"); +const vk = require("eslint-visitor-keys"); +const debug = require("debug")("eslint:traverser"); //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ -const KEY_BLACKLIST = new Set([ - "parent", - "leadingComments", - "trailingComments" -]); +/** + * Do nothing. + * @returns {void} + */ +function noop() { + + // do nothing. +} + +/** + * Check whether the given value is an ASTNode or not. + * @param {any} x The value to check. + * @returns {boolean} `true` if the value is an ASTNode. + */ +function isNode(x) { + return x !== null && typeof x === "object" && typeof x.type === "string"; +} /** - * Wrapper around an estraverse controller that ensures the correct keys - * are visited. - * @constructor + * Get the visitor keys of a given node. + * @param {Object} visitorKeys The map of visitor keys. + * @param {ASTNode} node The node to get their visitor keys. + * @returns {string[]} The visitor keys of the node. */ -class Traverser extends estraverse.Controller { - traverse(node, visitor) { - visitor.fallback = Traverser.getKeys; - return super.traverse(node, visitor); +function getVisitorKeys(visitorKeys, node) { + let keys = visitorKeys[node.type]; + + if (!keys) { + keys = vk.getKeys(node); + debug("Unknown node type \"%s\": Estimated visitor keys %j", node.type, keys); + } + + return keys; +} + +/** + * The traverser class to traverse AST trees. + */ +class Traverser { + constructor() { + this._current = null; + this._parents = []; + this._skipped = false; + this._broken = false; + this._visitorKeys = null; + this._enter = null; + this._leave = null; + } + + /** + * @returns {ASTNode} The current node. + */ + current() { + return this._current; + } + + /** + * @returns {ASTNode[]} The ancestor nodes. + */ + parents() { + return this._parents.slice(0); + } + + /** + * Break the current traversal. + * @returns {void} + */ + break() { + this._broken = true; + } + + /** + * Skip child nodes for the current traversal. + * @returns {void} + */ + skip() { + this._skipped = true; + } + + /** + * Traverse the given AST tree. + * @param {ASTNode} node The root node to traverse. + * @param {Object} options The option object. + * @param {Object} [options.visitorKeys=DEFAULT_VISITOR_KEYS] The keys of each node types to traverse child nodes. Default is `./default-visitor-keys.json`. + * @param {Function} [options.enter=noop] The callback function which is called on entering each node. + * @param {Function} [options.leave=noop] The callback function which is called on leaving each node. + * @returns {void} + */ + traverse(node, options) { + this._current = null; + this._parents = []; + this._skipped = false; + this._broken = false; + this._visitorKeys = options.visitorKeys || vk.KEYS; + this._enter = options.enter || noop; + this._leave = options.leave || noop; + this._traverse(node, null); + } + + /** + * Traverse the given AST tree recursively. + * @param {ASTNode} node The current node. + * @param {ASTNode|null} parent The parent node. + * @returns {void} + * @private + */ + _traverse(node, parent) { + if (!isNode(node)) { + return; + } + + this._current = node; + this._skipped = false; + this._enter(node, parent); + + if (!this._skipped && !this._broken) { + const keys = getVisitorKeys(this._visitorKeys, node); + + if (keys.length >= 1) { + this._parents.push(node); + for (let i = 0; i < keys.length && !this._broken; ++i) { + const child = node[keys[i]]; + + if (Array.isArray(child)) { + for (let j = 0; j < child.length && !this._broken; ++j) { + this._traverse(child[j], node); + } + } else { + this._traverse(child, node); + } + } + this._parents.pop(); + } + } + + if (!this._broken) { + this._leave(node, parent); + } + + this._current = parent; } /** @@ -38,7 +165,28 @@ class Traverser extends estraverse.Controller { * @private */ static getKeys(node) { - return Object.keys(node).filter(key => !KEY_BLACKLIST.has(key)); + return vk.getKeys(node); + } + + /** + * Traverse the given AST tree. + * @param {ASTNode} node The root node to traverse. + * @param {Object} options The option object. + * @param {Object} [options.visitorKeys=DEFAULT_VISITOR_KEYS] The keys of each node types to traverse child nodes. Default is `./default-visitor-keys.json`. + * @param {Function} [options.enter=noop] The callback function which is called on entering each node. + * @param {Function} [options.leave=noop] The callback function which is called on leaving each node. + * @returns {void} + */ + static traverse(node, options) { + new Traverser().traverse(node, options); + } + + /** + * The default visitor keys. + * @type {Object} + */ + static get DEFAULT_VISITOR_KEYS() { + return vk.KEYS; } } diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json index c62e197f4931b7..b021abbb407094 100644 --- a/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json +++ b/tools/node_modules/eslint/node_modules/acorn-jsx/node_modules/acorn/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "_shasum": "45e37fb39e8da3f25baee3ff5369e2bb5f22017a", "_spec": "acorn@^3.0.4", - "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/acorn-jsx", + "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/acorn-jsx", "bin": { "acorn": "./bin/acorn" }, diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json index 96c127e87b9201..2690b541f9f4ef 100644 --- a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json +++ b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "_shasum": "afdf9488fb1ecefc8348f6fb22f464e32a58b36b", "_spec": "acorn-jsx@^3.0.0", - "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/espree", + "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/espree", "bugs": { "url": "https://github.com/RReverser/acorn-jsx/issues" }, diff --git a/tools/node_modules/eslint/node_modules/acorn/AUTHORS b/tools/node_modules/eslint/node_modules/acorn/AUTHORS index 78437f610c6ef7..bdbfea230f631b 100644 --- a/tools/node_modules/eslint/node_modules/acorn/AUTHORS +++ b/tools/node_modules/eslint/node_modules/acorn/AUTHORS @@ -1,5 +1,7 @@ List of Acorn contributors. Updated before every release. +Adrian Heine +Adrian Heine né Lang Adrian Rakovsky Alistair Braidwood Amila Welihinda @@ -11,11 +13,13 @@ Artem Govorov Bradley Heinz Brandon Mills Charles Hughes +Charmander Conrad Irwin Daniel Tschinder David Bonnet Domenico Matteo ehmicky +Felix Maier Forbes Lindesay Gilad Peleg impinball @@ -34,6 +38,7 @@ Keheliya Gallaba Kevin Irish Kevin Kwok krator +laosb Marek Marijn Haverbeke Martin Carlberg diff --git a/tools/node_modules/eslint/node_modules/acorn/README.md b/tools/node_modules/eslint/node_modules/acorn/README.md index ab2c12ea51add7..8855fa7cf4baf9 100644 --- a/tools/node_modules/eslint/node_modules/acorn/README.md +++ b/tools/node_modules/eslint/node_modules/acorn/README.md @@ -1,6 +1,6 @@ # Acorn -[![Build Status](https://travis-ci.org/ternjs/acorn.svg?branch=master)](https://travis-ci.org/ternjs/acorn) +[![Build Status](https://travis-ci.org/acornjs/acorn.svg?branch=master)](https://travis-ci.org/acornjs/acorn) [![NPM version](https://img.shields.io/npm/v/acorn.svg)](https://www.npmjs.com/package/acorn) [![CDNJS](https://img.shields.io/cdnjs/v/acorn.svg)](https://cdnjs.com/libraries/acorn) [Author funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png?force)](https://marijnhaverbeke.nl/fund/) @@ -10,13 +10,13 @@ A tiny, fast JavaScript parser, written completely in JavaScript. ## Community Acorn is open source software released under an -[MIT license](https://github.com/ternjs/acorn/blob/master/LICENSE). +[MIT license](https://github.com/acornjs/acorn/blob/master/LICENSE). You are welcome to -[report bugs](https://github.com/ternjs/acorn/issues) or create pull -requests on [github](https://github.com/ternjs/acorn). For questions +[report bugs](https://github.com/acornjs/acorn/issues) or create pull +requests on [github](https://github.com/acornjs/acorn). For questions and discussion, please use the -[Tern discussion forum](https://discuss.ternjs.net). +[Tern discussion forum](https://discuss.acornjs.net). ## Installation @@ -31,7 +31,7 @@ npm install acorn Alternately, download the source. ```sh -git clone https://github.com/ternjs/acorn.git +git clone https://github.com/acornjs/acorn.git ``` ## Components @@ -443,10 +443,13 @@ looseParser.extend("readToken", function(nextMethod) { ### Existing plugins - [`acorn-jsx`](https://github.com/RReverser/acorn-jsx): Parse [Facebook JSX syntax extensions](https://github.com/facebook/jsx) - - [`acorn-es7-plugin`](https://github.com/MatAtBread/acorn-es7-plugin/): Parse [async/await syntax proposal](https://github.com/tc39/ecmascript-asyncawait) - - [`acorn-object-spread`](https://github.com/UXtemple/acorn-object-spread): Parse [object spread syntax proposal](https://github.com/sebmarkbage/ecmascript-rest-spread) - - [`acorn-es7`](https://www.npmjs.com/package/acorn-es7): Parse [decorator syntax proposal](https://github.com/wycats/javascript-decorators) - - [`acorn-objj`](https://www.npmjs.com/package/acorn-objj): [Objective-J](http://www.cappuccino-project.org/learn/objective-j.html) language parser built as Acorn plugin - - [`acorn-object-rest-spread`](https://github.com/victor-homyakov/acorn-object-rest-spread) Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread), works with latest Acorn version (5.0.3) - - [`acorn-static-class-property-initializer`](https://github.com/victor-homyakov/acorn-static-class-property-initializer) Partial support for static class properties from [ES Class Fields & Static Properties Proposal](https://github.com/tc39/proposal-class-public-fields) to support static property initializers in [React components written as ES6+ classes](https://babeljs.io/blog/2015/06/07/react-on-es6-plus) + - [`acorn-objj`](https://github.com/cappuccino/acorn-objj): [Objective-J](http://www.cappuccino-project.org/learn/objective-j.html) language parser built as Acorn plugin + Plugins for ECMAScript proposals: + + - [`acorn-object-rest-spread`](https://github.com/victor-homyakov/acorn-object-rest-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread) + - [`acorn5-object-spread`](https://github.com/adrianheine/acorn5-object-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread) + - [`acorn-es7`](https://github.com/angelozerr/acorn-es7): Parse [decorator syntax proposal](https://github.com/wycats/javascript-decorators) + - [`acorn-static-class-property-initializer`](https://github.com/victor-homyakov/acorn-static-class-property-initializer): Partial support for static class properties from [ES Class Fields & Static Properties Proposal](https://github.com/tc39/proposal-class-public-fields) to support static property initializers in [React components written as ES6+ classes](https://babeljs.io/blog/2015/06/07/react-on-es6-plus) + - [`acorn-dynamic-import`](https://github.com/kesne/acorn-dynamic-import): Parse [import() proposal](https://github.com/tc39/proposal-dynamic-import) + - [`acorn-async-iteration`](https://github.com/adrianheine/acorn-async-iteration): Parse [async iteration proposal](https://github.com/tc39/proposal-async-iteration) diff --git a/tools/node_modules/eslint/node_modules/acorn/bin/_acorn.js b/tools/node_modules/eslint/node_modules/acorn/bin/_acorn.js new file mode 100644 index 00000000000000..830c3896417798 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/acorn/bin/_acorn.js @@ -0,0 +1,69 @@ +#!/usr/bin/env node +'use strict'; + +var path = require('path'); +var fs = require('fs'); +var acorn = require('../dist/acorn.js'); + +var infile; +var forceFile; +var silent = false; +var compact = false; +var tokenize = false; +var options = {}; + +function help(status) { + var print = (status == 0) ? console.log : console.error; + print("usage: " + path.basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|...|--ecma2015|--ecma2016|--ecma2017|--ecma2018|...]"); + print(" [--tokenize] [--locations] [---allow-hash-bang] [--compact] [--silent] [--module] [--help] [--] [infile]"); + process.exit(status); +} + +for (var i = 2; i < process.argv.length; ++i) { + var arg = process.argv[i]; + if ((arg == "-" || arg[0] != "-") && !infile) { infile = arg; } + else if (arg == "--" && !infile && i + 2 == process.argv.length) { forceFile = infile = process.argv[++i]; } + else if (arg == "--locations") { options.locations = true; } + else if (arg == "--allow-hash-bang") { options.allowHashBang = true; } + else if (arg == "--silent") { silent = true; } + else if (arg == "--compact") { compact = true; } + else if (arg == "--help") { help(0); } + else if (arg == "--tokenize") { tokenize = true; } + else if (arg == "--module") { options.sourceType = "module"; } + else { + var match = arg.match(/^--ecma(\d+)$/); + if (match) + { options.ecmaVersion = +match[1]; } + else + { help(1); } + } +} + +function run(code) { + var result; + try { + if (!tokenize) { + result = acorn.parse(code, options); + } else { + result = []; + var tokenizer$$1 = acorn.tokenizer(code, options), token; + do { + token = tokenizer$$1.getToken(); + result.push(token); + } while (token.type != acorn.tokTypes.eof) + } + } catch (e) { + console.error(e.message); + process.exit(1); + } + if (!silent) { console.log(JSON.stringify(result, null, compact ? null : 2)); } +} + +if (forceFile || infile && infile != "-") { + run(fs.readFileSync(infile, "utf8")); +} else { + var code = ""; + process.stdin.resume(); + process.stdin.on("data", function (chunk) { return code += chunk; }); + process.stdin.on("end", function () { return run(code); }); +} diff --git a/tools/node_modules/eslint/node_modules/acorn/bin/acorn b/tools/node_modules/eslint/node_modules/acorn/bin/acorn index 830c3896417798..03888d0aecac17 100755 --- a/tools/node_modules/eslint/node_modules/acorn/bin/acorn +++ b/tools/node_modules/eslint/node_modules/acorn/bin/acorn @@ -1,69 +1,4 @@ #!/usr/bin/env node 'use strict'; -var path = require('path'); -var fs = require('fs'); -var acorn = require('../dist/acorn.js'); - -var infile; -var forceFile; -var silent = false; -var compact = false; -var tokenize = false; -var options = {}; - -function help(status) { - var print = (status == 0) ? console.log : console.error; - print("usage: " + path.basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|...|--ecma2015|--ecma2016|--ecma2017|--ecma2018|...]"); - print(" [--tokenize] [--locations] [---allow-hash-bang] [--compact] [--silent] [--module] [--help] [--] [infile]"); - process.exit(status); -} - -for (var i = 2; i < process.argv.length; ++i) { - var arg = process.argv[i]; - if ((arg == "-" || arg[0] != "-") && !infile) { infile = arg; } - else if (arg == "--" && !infile && i + 2 == process.argv.length) { forceFile = infile = process.argv[++i]; } - else if (arg == "--locations") { options.locations = true; } - else if (arg == "--allow-hash-bang") { options.allowHashBang = true; } - else if (arg == "--silent") { silent = true; } - else if (arg == "--compact") { compact = true; } - else if (arg == "--help") { help(0); } - else if (arg == "--tokenize") { tokenize = true; } - else if (arg == "--module") { options.sourceType = "module"; } - else { - var match = arg.match(/^--ecma(\d+)$/); - if (match) - { options.ecmaVersion = +match[1]; } - else - { help(1); } - } -} - -function run(code) { - var result; - try { - if (!tokenize) { - result = acorn.parse(code, options); - } else { - result = []; - var tokenizer$$1 = acorn.tokenizer(code, options), token; - do { - token = tokenizer$$1.getToken(); - result.push(token); - } while (token.type != acorn.tokTypes.eof) - } - } catch (e) { - console.error(e.message); - process.exit(1); - } - if (!silent) { console.log(JSON.stringify(result, null, compact ? null : 2)); } -} - -if (forceFile || infile && infile != "-") { - run(fs.readFileSync(infile, "utf8")); -} else { - var code = ""; - process.stdin.resume(); - process.stdin.on("data", function (chunk) { return code += chunk; }); - process.stdin.on("end", function () { return run(code); }); -} +require('./_acorn.js'); diff --git a/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js b/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js new file mode 100644 index 00000000000000..b0e4e8fac81f2b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/acorn/bin/run_test262.js @@ -0,0 +1,27 @@ +const fs = require("fs") +const path = require("path") +const run = require("test262-parser-runner") +const parse = require("..").parse + +const unsupportedFeatures = [ + "async-iteration", + "BigInt", + "class-fields", + "class-fields-private", + "class-fields-public", + "object-rest", + "object-spread", + "optional-catch-binding", + "regexp-lookbehind", + "regexp-named-groups", + "regexp-unicode-property-escapes" +]; + +run( + (content, {sourceType}) => parse(content, {sourceType, ecmaVersion: 9}), + { + testsDirectory: path.dirname(require.resolve("test262/package.json")), + skip: test => (test.attrs.features && unsupportedFeatures.some(f => test.attrs.features.includes(f))), + whitelist: fs.readFileSync("./bin/test262.whitelist", "utf8").split("\n").filter(v => v) + } +) diff --git a/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist b/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist new file mode 100644 index 00000000000000..4524b3b1f0505b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/acorn/bin/test262.whitelist @@ -0,0 +1,372 @@ +annexB/language/function-code/block-decl-func-no-skip-try.js (default) +annexB/language/function-code/block-decl-func-skip-early-err-block.js (default) +annexB/language/function-code/block-decl-func-skip-early-err.js (default) +annexB/language/function-code/block-decl-func-skip-early-err-switch.js (default) +annexB/language/function-code/block-decl-func-skip-early-err-try.js (default) +annexB/language/function-code/if-decl-else-decl-a-func-no-skip-try.js (default) +annexB/language/function-code/if-decl-else-decl-a-func-skip-early-err-block.js (default) +annexB/language/function-code/if-decl-else-decl-a-func-skip-early-err.js (default) +annexB/language/function-code/if-decl-else-decl-a-func-skip-early-err-switch.js (default) +annexB/language/function-code/if-decl-else-decl-a-func-skip-early-err-try.js (default) +annexB/language/function-code/if-decl-else-decl-b-func-no-skip-try.js (default) +annexB/language/function-code/if-decl-else-decl-b-func-skip-early-err-block.js (default) +annexB/language/function-code/if-decl-else-decl-b-func-skip-early-err.js (default) +annexB/language/function-code/if-decl-else-decl-b-func-skip-early-err-switch.js (default) +annexB/language/function-code/if-decl-else-decl-b-func-skip-early-err-try.js (default) +annexB/language/function-code/if-decl-else-stmt-func-no-skip-try.js (default) +annexB/language/function-code/if-decl-else-stmt-func-skip-early-err-block.js (default) +annexB/language/function-code/if-decl-else-stmt-func-skip-early-err.js (default) +annexB/language/function-code/if-decl-else-stmt-func-skip-early-err-switch.js (default) +annexB/language/function-code/if-decl-else-stmt-func-skip-early-err-try.js (default) +annexB/language/function-code/if-decl-no-else-func-no-skip-try.js (default) +annexB/language/function-code/if-decl-no-else-func-skip-early-err-block.js (default) +annexB/language/function-code/if-decl-no-else-func-skip-early-err.js (default) +annexB/language/function-code/if-decl-no-else-func-skip-early-err-switch.js (default) +annexB/language/function-code/if-decl-no-else-func-skip-early-err-try.js (default) +annexB/language/function-code/if-stmt-else-decl-func-no-skip-try.js (default) +annexB/language/function-code/if-stmt-else-decl-func-skip-early-err-block.js (default) +annexB/language/function-code/if-stmt-else-decl-func-skip-early-err.js (default) +annexB/language/function-code/if-stmt-else-decl-func-skip-early-err-switch.js (default) +annexB/language/function-code/if-stmt-else-decl-func-skip-early-err-try.js (default) +annexB/language/function-code/switch-case-func-no-skip-try.js (default) +annexB/language/function-code/switch-case-func-skip-early-err-block.js (default) +annexB/language/function-code/switch-case-func-skip-early-err.js (default) +annexB/language/function-code/switch-case-func-skip-early-err-switch.js (default) +annexB/language/function-code/switch-case-func-skip-early-err-try.js (default) +annexB/language/function-code/switch-dflt-func-no-skip-try.js (default) +annexB/language/function-code/switch-dflt-func-skip-early-err-block.js (default) +annexB/language/function-code/switch-dflt-func-skip-early-err.js (default) +annexB/language/function-code/switch-dflt-func-skip-early-err-switch.js (default) +annexB/language/function-code/switch-dflt-func-skip-early-err-try.js (default) +annexB/language/global-code/block-decl-global-no-skip-try.js (default) +annexB/language/global-code/block-decl-global-skip-early-err-block.js (default) +annexB/language/global-code/block-decl-global-skip-early-err.js (default) +annexB/language/global-code/block-decl-global-skip-early-err-switch.js (default) +annexB/language/global-code/block-decl-global-skip-early-err-try.js (default) +annexB/language/global-code/if-decl-else-decl-a-global-no-skip-try.js (default) +annexB/language/global-code/if-decl-else-decl-a-global-skip-early-err-block.js (default) +annexB/language/global-code/if-decl-else-decl-a-global-skip-early-err.js (default) +annexB/language/global-code/if-decl-else-decl-a-global-skip-early-err-switch.js (default) +annexB/language/global-code/if-decl-else-decl-a-global-skip-early-err-try.js (default) +annexB/language/global-code/if-decl-else-decl-b-global-no-skip-try.js (default) +annexB/language/global-code/if-decl-else-decl-b-global-skip-early-err-block.js (default) +annexB/language/global-code/if-decl-else-decl-b-global-skip-early-err.js (default) +annexB/language/global-code/if-decl-else-decl-b-global-skip-early-err-switch.js (default) +annexB/language/global-code/if-decl-else-decl-b-global-skip-early-err-try.js (default) +annexB/language/global-code/if-decl-else-stmt-global-no-skip-try.js (default) +annexB/language/global-code/if-decl-else-stmt-global-skip-early-err-block.js (default) +annexB/language/global-code/if-decl-else-stmt-global-skip-early-err.js (default) +annexB/language/global-code/if-decl-else-stmt-global-skip-early-err-switch.js (default) +annexB/language/global-code/if-decl-else-stmt-global-skip-early-err-try.js (default) +annexB/language/global-code/if-decl-no-else-global-no-skip-try.js (default) +annexB/language/global-code/if-decl-no-else-global-skip-early-err-block.js (default) +annexB/language/global-code/if-decl-no-else-global-skip-early-err.js (default) +annexB/language/global-code/if-decl-no-else-global-skip-early-err-switch.js (default) +annexB/language/global-code/if-decl-no-else-global-skip-early-err-try.js (default) +annexB/language/global-code/if-stmt-else-decl-global-no-skip-try.js (default) +annexB/language/global-code/if-stmt-else-decl-global-skip-early-err-block.js (default) +annexB/language/global-code/if-stmt-else-decl-global-skip-early-err.js (default) +annexB/language/global-code/if-stmt-else-decl-global-skip-early-err-switch.js (default) +annexB/language/global-code/if-stmt-else-decl-global-skip-early-err-try.js (default) +annexB/language/global-code/switch-case-global-no-skip-try.js (default) +annexB/language/global-code/switch-case-global-skip-early-err-block.js (default) +annexB/language/global-code/switch-case-global-skip-early-err.js (default) +annexB/language/global-code/switch-case-global-skip-early-err-switch.js (default) +annexB/language/global-code/switch-case-global-skip-early-err-try.js (default) +annexB/language/global-code/switch-dflt-global-no-skip-try.js (default) +annexB/language/global-code/switch-dflt-global-skip-early-err-block.js (default) +annexB/language/global-code/switch-dflt-global-skip-early-err.js (default) +annexB/language/global-code/switch-dflt-global-skip-early-err-switch.js (default) +annexB/language/global-code/switch-dflt-global-skip-early-err-try.js (default) +annexB/language/statements/try/catch-redeclared-for-in-var.js (default) +annexB/language/statements/try/catch-redeclared-for-in-var.js (strict mode) +annexB/language/statements/try/catch-redeclared-for-var.js (default) +annexB/language/statements/try/catch-redeclared-for-var.js (strict mode) +annexB/language/statements/try/catch-redeclared-var-statement-captured.js (default) +annexB/language/statements/try/catch-redeclared-var-statement-captured.js (strict mode) +annexB/language/statements/try/catch-redeclared-var-statement.js (default) +annexB/language/statements/try/catch-redeclared-var-statement.js (strict mode) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js (default) +language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js (strict mode) +language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js (default) +language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js (strict mode) +language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js (default) +language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js (strict mode) +language/expressions/async-function/early-errors-expression-body-contains-super-call.js (default) +language/expressions/async-function/early-errors-expression-body-contains-super-call.js (strict mode) +language/expressions/async-function/early-errors-expression-body-contains-super-property.js (default) +language/expressions/async-function/early-errors-expression-body-contains-super-property.js (strict mode) +language/expressions/async-function/early-errors-expression-formals-contains-super-call.js (default) +language/expressions/async-function/early-errors-expression-formals-contains-super-call.js (strict mode) +language/expressions/async-function/early-errors-expression-formals-contains-super-property.js (default) +language/expressions/async-function/early-errors-expression-formals-contains-super-property.js (strict mode) +language/expressions/class/method-param-dflt-yield.js (default) +language/expressions/class/static-method-param-dflt-yield.js (default) +language/expressions/function/early-body-super-call.js (default) +language/expressions/function/early-body-super-call.js (strict mode) +language/expressions/function/early-body-super-prop.js (default) +language/expressions/function/early-body-super-prop.js (strict mode) +language/expressions/function/early-params-super-call.js (default) +language/expressions/function/early-params-super-call.js (strict mode) +language/expressions/function/early-params-super-prop.js (default) +language/expressions/function/early-params-super-prop.js (strict mode) +language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js (default) +language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js (strict mode) +language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js (default) +language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js (default) +language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js (strict mode) +language/expressions/object/method-definition/generator-super-call-body.js (default) +language/expressions/object/method-definition/generator-super-call-body.js (strict mode) +language/expressions/object/method-definition/generator-super-call-param.js (default) +language/expressions/object/method-definition/generator-super-call-param.js (strict mode) +language/expressions/object/prop-def-invalid-async-prefix.js (default) +language/expressions/object/prop-def-invalid-async-prefix.js (strict mode) +language/expressions/yield/in-iteration-stmt.js (default) +language/expressions/yield/in-iteration-stmt.js (strict mode) +language/expressions/yield/star-in-iteration-stmt.js (default) +language/expressions/yield/star-in-iteration-stmt.js (strict mode) +language/global-code/new.target-arrow.js (default) +language/global-code/new.target-arrow.js (strict mode) +language/global-code/super-call-arrow.js (default) +language/global-code/super-call-arrow.js (strict mode) +language/global-code/super-prop-arrow.js (default) +language/global-code/super-prop-arrow.js (strict mode) +language/literals/regexp/early-err-dup-flag.js (default) +language/literals/regexp/early-err-dup-flag.js (strict mode) +language/literals/regexp/early-err-flags-unicode-escape.js (default) +language/literals/regexp/early-err-flags-unicode-escape.js (strict mode) +language/literals/string/legacy-non-octal-escape-sequence-strict.js (strict mode) +language/module-code/early-export-global.js (default) +language/module-code/early-export-global.js (strict mode) +language/module-code/early-export-unresolvable.js (default) +language/module-code/early-export-unresolvable.js (strict mode) +language/module-code/instn-resolve-empty-export.js (default) +language/module-code/instn-resolve-empty-export.js (strict mode) +language/module-code/instn-resolve-empty-import.js (default) +language/module-code/instn-resolve-empty-import.js (strict mode) +language/module-code/instn-resolve-err-reference.js (default) +language/module-code/instn-resolve-err-reference.js (strict mode) +language/module-code/instn-resolve-err-syntax.js (default) +language/module-code/instn-resolve-err-syntax.js (strict mode) +language/module-code/instn-resolve-order-depth.js (default) +language/module-code/instn-resolve-order-depth.js (strict mode) +language/module-code/instn-resolve-order-src.js (default) +language/module-code/instn-resolve-order-src.js (strict mode) +language/module-code/parse-err-hoist-lex-fun.js (default) +language/module-code/parse-err-hoist-lex-fun.js (strict mode) +language/module-code/parse-err-hoist-lex-gen.js (default) +language/module-code/parse-err-hoist-lex-gen.js (strict mode) +language/statements/async-function/early-errors-declaration-body-contains-super-call.js (default) +language/statements/async-function/early-errors-declaration-body-contains-super-call.js (strict mode) +language/statements/async-function/early-errors-declaration-body-contains-super-property.js (default) +language/statements/async-function/early-errors-declaration-body-contains-super-property.js (strict mode) +language/statements/async-function/early-errors-declaration-formals-contains-super-call.js (default) +language/statements/async-function/early-errors-declaration-formals-contains-super-call.js (strict mode) +language/statements/async-function/early-errors-declaration-formals-contains-super-property.js (default) +language/statements/async-function/early-errors-declaration-formals-contains-super-property.js (strict mode) +language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js (default) +language/statements/class/definition/early-errors-class-method-body-contains-super-call.js (default) +language/statements/class/definition/early-errors-class-method-body-contains-super-call.js (strict mode) +language/statements/class/definition/early-errors-class-method-duplicate-parameters.js (default) +language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js (default) +language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js (default) +language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js (strict mode) +language/statements/class/definition/methods-gen-yield-as-function-expression-binding-identifier.js (default) +language/statements/class/definition/methods-gen-yield-as-identifier-in-nested-function.js (default) +language/statements/class/method-param-yield.js (default) +language/statements/class/static-method-param-yield.js (default) +language/statements/class/strict-mode/with.js (default) +language/statements/class/syntax/early-errors/class-body-has-direct-super-missing-class-heritage.js (default) +language/statements/class/syntax/early-errors/class-body-has-direct-super-missing-class-heritage.js (strict mode) +language/statements/class/syntax/early-errors/class-body-method-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-method-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-body-special-method-generator-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-special-method-generator-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-body-special-method-get-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-special-method-get-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-body-special-method-set-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-special-method-set-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-body-static-method-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-static-method-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-body-static-method-get-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-static-method-get-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-body-static-method-set-contains-direct-super.js (default) +language/statements/class/syntax/early-errors/class-body-static-method-set-contains-direct-super.js (strict mode) +language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js (default) +language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js (strict mode) +language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js (default) +language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js (strict mode) +language/statements/const/syntax/const-declaring-let-split-across-two-lines.js (default) +language/statements/do-while/labelled-fn-stmt.js (default) +language/statements/for/head-let-bound-names-in-stmt.js (default) +language/statements/for/head-let-bound-names-in-stmt.js (strict mode) +language/statements/for-in/head-const-bound-names-in-stmt.js (default) +language/statements/for-in/head-const-bound-names-in-stmt.js (strict mode) +language/statements/for-in/head-const-bound-names-let.js (default) +language/statements/for-in/head-let-bound-names-in-stmt.js (default) +language/statements/for-in/head-let-bound-names-in-stmt.js (strict mode) +language/statements/for-in/head-let-bound-names-let.js (default) +language/statements/for-in/labelled-fn-stmt-const.js (default) +language/statements/for-in/labelled-fn-stmt-let.js (default) +language/statements/for-in/labelled-fn-stmt-lhs.js (default) +language/statements/for-in/labelled-fn-stmt-var.js (default) +language/statements/for-in/let-block-with-newline.js (default) +language/statements/for-in/let-identifier-with-newline.js (default) +language/statements/for/labelled-fn-stmt-expr.js (default) +language/statements/for/labelled-fn-stmt-let.js (default) +language/statements/for/labelled-fn-stmt-var.js (default) +language/statements/for/let-block-with-newline.js (default) +language/statements/for/let-identifier-with-newline.js (default) +language/statements/for-of/head-const-bound-names-in-stmt.js (default) +language/statements/for-of/head-const-bound-names-in-stmt.js (strict mode) +language/statements/for-of/head-const-bound-names-let.js (default) +language/statements/for-of/head-let-bound-names-in-stmt.js (default) +language/statements/for-of/head-let-bound-names-in-stmt.js (strict mode) +language/statements/for-of/head-let-bound-names-let.js (default) +language/statements/for-of/labelled-fn-stmt-const.js (default) +language/statements/for-of/labelled-fn-stmt-let.js (default) +language/statements/for-of/labelled-fn-stmt-lhs.js (default) +language/statements/for-of/labelled-fn-stmt-var.js (default) +language/statements/for-of/let-block-with-newline.js (default) +language/statements/for-of/let-identifier-with-newline.js (default) +language/statements/function/early-body-super-call.js (default) +language/statements/function/early-body-super-call.js (strict mode) +language/statements/function/early-body-super-prop.js (default) +language/statements/function/early-body-super-prop.js (strict mode) +language/statements/function/early-params-super-call.js (default) +language/statements/function/early-params-super-call.js (strict mode) +language/statements/function/early-params-super-prop.js (default) +language/statements/function/early-params-super-prop.js (strict mode) +language/statements/if/if-gen-else-gen.js (default) +language/statements/if/if-gen-else-stmt.js (default) +language/statements/if/if-gen-no-else.js (default) +language/statements/if/if-stmt-else-gen.js (default) +language/statements/if/labelled-fn-stmt-first.js (default) +language/statements/if/labelled-fn-stmt-lone.js (default) +language/statements/if/labelled-fn-stmt-second.js (default) +language/statements/if/let-block-with-newline.js (default) +language/statements/if/let-identifier-with-newline.js (default) +language/statements/labeled/decl-async-function.js (default) +language/statements/labeled/let-block-with-newline.js (default) +language/statements/labeled/let-identifier-with-newline.js (default) +language/statements/let/syntax/identifier-let-disallowed-as-boundname.js (default) +language/statements/let/syntax/let-let-declaration-split-across-two-lines.js (default) +language/statements/let/syntax/let-let-declaration-with-initializer-split-across-two-lines.js (default) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js (default) +language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js (default) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js (default) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js (strict mode) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js (default) +language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js (strict mode) +language/statements/while/labelled-fn-stmt.js (default) +language/statements/while/let-block-with-newline.js (default) +language/statements/while/let-identifier-with-newline.js (default) +language/statements/with/labelled-fn-stmt.js (default) +language/statements/with/let-block-with-newline.js (default) +language/statements/with/let-identifier-with-newline.js (default) +language/white-space/mongolian-vowel-separator.js (default) +language/white-space/mongolian-vowel-separator.js (strict mode) diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js index d7289102c28efb..019417b6d3af94 100644 --- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js +++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.es.js @@ -17,6 +17,8 @@ var keywords = { 6: ecma5AndLessKeywords + " const class extends export import super" }; +var keywordRelationalOperator = /^in(stanceof)?$/; + // ## Character categories // Big ugly regular expressions that match characters in the @@ -570,13 +572,15 @@ pp.eat = function(type) { // Tests whether parsed token is a contextual keyword. pp.isContextual = function(name) { - return this.type === types.name && this.value === name + return this.type === types.name && this.value === name && !this.containsEsc }; // Consumes contextual keyword if possible. pp.eatContextual = function(name) { - return this.value === name && this.eat(types.name) + if (!this.isContextual(name)) { return false } + this.next(); + return true }; // Asserts that following token is given contextual keyword. @@ -636,6 +640,7 @@ function DestructuringErrors() { this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = + this.doubleProto = -1; } @@ -648,9 +653,14 @@ pp.checkPatternErrors = function(refDestructuringErrors, isAssign) { }; pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) { - var pos = refDestructuringErrors ? refDestructuringErrors.shorthandAssign : -1; - if (!andThrow) { return pos >= 0 } - if (pos > -1) { this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns"); } + if (!refDestructuringErrors) { return false } + var shorthandAssign = refDestructuringErrors.shorthandAssign; + var doubleProto = refDestructuringErrors.doubleProto; + if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 } + if (shorthandAssign >= 0) + { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); } + if (doubleProto >= 0) + { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); } }; pp.checkYieldAwaitInDefaultParams = function() { @@ -696,7 +706,7 @@ var loopLabel = {kind: "loop"}; var switchLabel = {kind: "switch"}; pp$1.isLet = function() { - if (this.type !== types.name || this.options.ecmaVersion < 6 || this.value != "let") { return false } + if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false } skipWhiteSpace.lastIndex = this.pos; var skip = skipWhiteSpace.exec(this.input); var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); @@ -705,7 +715,7 @@ pp$1.isLet = function() { var pos = next + 1; while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; } var ident = this.input.slice(next, pos); - if (!this.isKeyword(ident)) { return true } + if (!keywordRelationalOperator.test(ident)) { return true } } return false }; @@ -714,7 +724,7 @@ pp$1.isLet = function() { // - 'async /*foo*/ function' is OK. // - 'async /*\n*/ function' is invalid. pp$1.isAsyncFunction = function() { - if (this.type !== types.name || this.options.ecmaVersion < 8 || this.value != "async") + if (this.options.ecmaVersion < 8 || !this.isContextual("async")) { return false } skipWhiteSpace.lastIndex = this.pos; @@ -784,7 +794,8 @@ pp$1.parseStatement = function(declaration, topLevel, exports) { // next token is a colon and the expression was a simple // Identifier node, we switch to interpreting it as a label. default: - if (this.isAsyncFunction() && declaration) { + if (this.isAsyncFunction()) { + if (!declaration) { this.unexpected(); } this.next(); return this.parseFunctionStatement(node, true) } @@ -870,9 +881,8 @@ pp$1.parseForStatement = function(node) { var refDestructuringErrors = new DestructuringErrors; var init = this.parseExpression(true, refDestructuringErrors); if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) { - this.toAssignable(init); + this.toAssignable(init, false, refDestructuringErrors); this.checkLVal(init); - this.checkPatternErrors(refDestructuringErrors, true); return this.parseForIn(node, init) } else { this.checkExpressionErrors(refDestructuringErrors, true); @@ -885,16 +895,12 @@ pp$1.parseFunctionStatement = function(node, isAsync) { return this.parseFunction(node, true, false, isAsync) }; -pp$1.isFunction = function() { - return this.type === types._function || this.isAsyncFunction() -}; - pp$1.parseIfStatement = function(node) { this.next(); node.test = this.parseParenExpression(); // allow function declarations in branches, but only in non-strict mode - node.consequent = this.parseStatement(!this.strict && this.isFunction()); - node.alternate = this.eat(types._else) ? this.parseStatement(!this.strict && this.isFunction()) : null; + node.consequent = this.parseStatement(!this.strict && this.type == types._function); + node.alternate = this.eat(types._else) ? this.parseStatement(!this.strict && this.type == types._function) : null; return this.finishNode(node, "IfStatement") }; @@ -1032,6 +1038,7 @@ pp$1.parseLabeledStatement = function(node, maybeName, expr) { for (var i = this.labels.length - 1; i >= 0; i--) { var label$1 = this$1.labels[i]; if (label$1.statementStart == node.start) { + // Update information about previous labels on this node label$1.statementStart = this$1.start; label$1.kind = kind; } else { break } @@ -1100,8 +1107,14 @@ pp$1.parseFor = function(node, init) { pp$1.parseForIn = function(node, init) { var type = this.type === types._in ? "ForInStatement" : "ForOfStatement"; this.next(); + if (type == "ForInStatement") { + if (init.type === "AssignmentPattern" || + (init.type === "VariableDeclaration" && init.declarations[0].init != null && + (this.strict || init.declarations[0].id.type !== "Identifier"))) + { this.raise(init.start, "Invalid assignment in for-in loop head"); } + } node.left = init; - node.right = this.parseExpression(); + node.right = type == "ForInStatement" ? this.parseExpression() : this.parseMaybeAssign(); this.expect(types.parenR); this.exitLexicalScope(); node.body = this.parseStatement(false); @@ -1200,62 +1213,70 @@ pp$1.parseClass = function(node, isStatement) { classBody.body = []; this.expect(types.braceL); while (!this.eat(types.braceR)) { - if (this$1.eat(types.semi)) { continue } - var method = this$1.startNode(); - var isGenerator = this$1.eat(types.star); - var isAsync = false; - var isMaybeStatic = this$1.type === types.name && this$1.value === "static"; - this$1.parsePropertyName(method); - method.static = isMaybeStatic && this$1.type !== types.parenL; - if (method.static) { - if (isGenerator) { this$1.unexpected(); } - isGenerator = this$1.eat(types.star); - this$1.parsePropertyName(method); - } - if (this$1.options.ecmaVersion >= 8 && !isGenerator && !method.computed && - method.key.type === "Identifier" && method.key.name === "async" && this$1.type !== types.parenL && - !this$1.canInsertSemicolon()) { - isAsync = true; - this$1.parsePropertyName(method); - } - method.kind = "method"; - var isGetSet = false; - if (!method.computed) { - var key = method.key; - if (!isGenerator && !isAsync && key.type === "Identifier" && this$1.type !== types.parenL && (key.name === "get" || key.name === "set")) { - isGetSet = true; - method.kind = key.name; - key = this$1.parsePropertyName(method); - } - if (!method.static && (key.type === "Identifier" && key.name === "constructor" || - key.type === "Literal" && key.value === "constructor")) { - if (hadConstructor) { this$1.raise(key.start, "Duplicate constructor in the same class"); } - if (isGetSet) { this$1.raise(key.start, "Constructor can't have get/set modifier"); } - if (isGenerator) { this$1.raise(key.start, "Constructor can't be a generator"); } - if (isAsync) { this$1.raise(key.start, "Constructor can't be an async method"); } - method.kind = "constructor"; - hadConstructor = true; - } - } - this$1.parseClassMethod(classBody, method, isGenerator, isAsync); - if (isGetSet) { - var paramCount = method.kind === "get" ? 0 : 1; - if (method.value.params.length !== paramCount) { - var start = method.value.start; - if (method.kind === "get") - { this$1.raiseRecoverable(start, "getter should have no params"); } - else - { this$1.raiseRecoverable(start, "setter should have exactly one param"); } - } else { - if (method.kind === "set" && method.value.params[0].type === "RestElement") - { this$1.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); } - } + var member = this$1.parseClassMember(classBody); + if (member && member.type === "MethodDefinition" && member.kind === "constructor") { + if (hadConstructor) { this$1.raise(member.start, "Duplicate constructor in the same class"); } + hadConstructor = true; } } node.body = this.finishNode(classBody, "ClassBody"); return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") }; +pp$1.parseClassMember = function(classBody) { + var this$1 = this; + + if (this.eat(types.semi)) { return null } + + var method = this.startNode(); + var tryContextual = function (k, noLineBreak) { + if ( noLineBreak === void 0 ) noLineBreak = false; + + var start = this$1.start, startLoc = this$1.startLoc; + if (!this$1.eatContextual(k)) { return false } + if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true } + if (method.key) { this$1.unexpected(); } + method.computed = false; + method.key = this$1.startNodeAt(start, startLoc); + method.key.name = k; + this$1.finishNode(method.key, "Identifier"); + return false + }; + + method.kind = "method"; + method.static = tryContextual("static"); + var isGenerator = this.eat(types.star); + var isAsync = false; + if (!isGenerator) { + if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) { + isAsync = true; + } else if (tryContextual("get")) { + method.kind = "get"; + } else if (tryContextual("set")) { + method.kind = "set"; + } + } + if (!method.key) { this.parsePropertyName(method); } + var key = method.key; + if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" || + key.type === "Literal" && key.value === "constructor")) { + if (method.kind !== "method") { this.raise(key.start, "Constructor can't have get/set modifier"); } + if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); } + if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); } + method.kind = "constructor"; + } else if (method.static && key.type === "Identifier" && key.name === "prototype") { + this.raise(key.start, "Classes may not have a static property named prototype"); + } + this.parseClassMethod(classBody, method, isGenerator, isAsync); + if (method.kind === "get" && method.value.params.length !== 0) + { this.raiseRecoverable(method.value.start, "getter should have no params"); } + if (method.kind === "set" && method.value.params.length !== 1) + { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); } + if (method.kind === "set" && method.value.params[0].type === "RestElement") + { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); } + return method +}; + pp$1.parseClassMethod = function(classBody, method, isGenerator, isAsync) { method.value = this.parseMethod(isGenerator, isAsync); classBody.body.push(this.finishNode(method, "MethodDefinition")); @@ -1278,7 +1299,8 @@ pp$1.parseExport = function(node, exports) { // export * from '...' if (this.eat(types.star)) { this.expectContextual("from"); - node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected(); + if (this.type !== types.string) { this.unexpected(); } + node.source = this.parseExprAtom(); this.semicolon(); return this.finishNode(node, "ExportAllDeclaration") } @@ -1312,7 +1334,8 @@ pp$1.parseExport = function(node, exports) { node.declaration = null; node.specifiers = this.parseExportSpecifiers(exports); if (this.eatContextual("from")) { - node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected(); + if (this.type !== types.string) { this.unexpected(); } + node.source = this.parseExprAtom(); } else { // check for keywords used as local names for (var i = 0, list = node.specifiers; i < list.length; i += 1) { @@ -1486,7 +1509,7 @@ var pp$2 = Parser.prototype; // Convert existing expression atom to assignable pattern // if possible. -pp$2.toAssignable = function(node, isBinding) { +pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) { var this$1 = this; if (this.options.ecmaVersion >= 6 && node) { @@ -1498,33 +1521,45 @@ pp$2.toAssignable = function(node, isBinding) { case "ObjectPattern": case "ArrayPattern": + case "RestElement": break case "ObjectExpression": node.type = "ObjectPattern"; - for (var i = 0, list = node.properties; i < list.length; i += 1) { - var prop = list[i]; + if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } + for (var i = 0, list = node.properties; i < list.length; i += 1) + { + var prop = list[i]; - if (prop.kind !== "init") { this$1.raise(prop.key.start, "Object pattern can't contain getter or setter"); } - this$1.toAssignable(prop.value, isBinding); - } + this$1.toAssignable(prop, isBinding); + } + break + + case "Property": + // AssignmentProperty has type == "Property" + if (node.kind !== "init") { this.raise(node.key.start, "Object pattern can't contain getter or setter"); } + this.toAssignable(node.value, isBinding); break case "ArrayExpression": node.type = "ArrayPattern"; + if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } this.toAssignableList(node.elements, isBinding); break + case "SpreadElement": + node.type = "RestElement"; + this.toAssignable(node.argument, isBinding); + if (node.argument.type === "AssignmentPattern") + { this.raise(node.argument.start, "Rest elements cannot have a default value"); } + break + case "AssignmentExpression": - if (node.operator === "=") { - node.type = "AssignmentPattern"; - delete node.operator; - this.toAssignable(node.left, isBinding); - // falls through to AssignmentPattern - } else { - this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); - break - } + if (node.operator !== "=") { this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); } + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isBinding); + // falls through to AssignmentPattern case "AssignmentPattern": break @@ -1539,7 +1574,7 @@ pp$2.toAssignable = function(node, isBinding) { default: this.raise(node.start, "Assigning to rvalue"); } - } + } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } return node }; @@ -1549,24 +1584,15 @@ pp$2.toAssignableList = function(exprList, isBinding) { var this$1 = this; var end = exprList.length; + for (var i = 0; i < end; i++) { + var elt = exprList[i]; + if (elt) { this$1.toAssignable(elt, isBinding); } + } if (end) { var last = exprList[end - 1]; - if (last && last.type == "RestElement") { - --end; - } else if (last && last.type == "SpreadElement") { - last.type = "RestElement"; - var arg = last.argument; - this.toAssignable(arg, isBinding); - --end; - } - if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier") { this.unexpected(last.argument.start); } } - for (var i = 0; i < end; i++) { - var elt = exprList[i]; - if (elt) { this$1.toAssignable(elt, isBinding); } - } return exprList }; @@ -1687,7 +1713,7 @@ pp$2.checkLVal = function(expr, bindingType, checkClashes) { break case "MemberExpression": - if (bindingType) { this.raiseRecoverable(expr.start, (bindingType ? "Binding" : "Assigning to") + " member expression"); } + if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); } break case "ObjectPattern": @@ -1695,10 +1721,15 @@ pp$2.checkLVal = function(expr, bindingType, checkClashes) { { var prop = list[i]; - this$1.checkLVal(prop.value, bindingType, checkClashes); + this$1.checkLVal(prop, bindingType, checkClashes); } break + case "Property": + // AssignmentProperty has type == "Property" + this.checkLVal(expr.value, bindingType, checkClashes); + break + case "ArrayPattern": for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) { var elem = list$1[i$1]; @@ -1749,7 +1780,7 @@ var pp$3 = Parser.prototype; // either with each other or with an init property — and in // strict mode, init properties are also not allowed to be repeated. -pp$3.checkPropClash = function(prop, propHash) { +pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) { if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) { return } var key = prop.key; @@ -1762,7 +1793,11 @@ pp$3.checkPropClash = function(prop, propHash) { var kind = prop.kind; if (this.options.ecmaVersion >= 6) { if (name === "__proto__" && kind === "init") { - if (propHash.proto) { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); } + if (propHash.proto) { + if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) { refDestructuringErrors.doubleProto = key.start; } + // Backwards-compat kludge. Can be removed in version 6.0 + else { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); } + } propHash.proto = true; } return @@ -1839,11 +1874,10 @@ pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) { var left = this.parseMaybeConditional(noIn, refDestructuringErrors); if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); } if (this.type.isAssign) { - this.checkPatternErrors(refDestructuringErrors, true); - if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); } var node = this.startNodeAt(startPos, startLoc); node.operator = this.value; - node.left = this.type === types.eq ? this.toAssignable(left) : left; + node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left; + if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); } refDestructuringErrors.shorthandAssign = -1; // reset because shorthand default was used correctly this.checkLVal(left); this.next(); @@ -1974,7 +2008,7 @@ pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) { var this$1 = this; var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && - this.lastTokEnd == base.end && !this.canInsertSemicolon(); + this.lastTokEnd == base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async"; for (var computed = (void 0);;) { if ((computed = this$1.eat(types.bracketL)) || this$1.eat(types.dot)) { var node = this$1.startNodeAt(startPos, startLoc); @@ -2042,14 +2076,14 @@ pp$3.parseExprAtom = function(refDestructuringErrors) { return this.finishNode(node, "ThisExpression") case types.name: - var startPos = this.start, startLoc = this.startLoc; + var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc; var id = this.parseIdent(this.type !== types.name); - if (this.options.ecmaVersion >= 8 && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function)) + if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function)) { return this.parseFunction(this.startNodeAt(startPos, startLoc), false, false, true) } if (canBeArrow && !this.canInsertSemicolon()) { if (this.eat(types.arrow)) { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) } - if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name) { + if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name && !containsEsc) { id = this.parseIdent(); if (this.canInsertSemicolon() || !this.eat(types.arrow)) { this.unexpected(); } @@ -2136,7 +2170,7 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { var innerStartPos = this.start, innerStartLoc = this.startLoc; var exprList = [], first = true, lastIsComma = false; - var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart, innerParenStart; + var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart; this.yieldPos = 0; this.awaitPos = 0; while (this.type !== types.parenR) { @@ -2150,9 +2184,6 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { if (this$1.type === types.comma) { this$1.raise(this$1.start, "Comma is not permitted after the rest element"); } break } else { - if (this$1.type === types.parenL && !innerParenStart) { - innerParenStart = this$1.start; - } exprList.push(this$1.parseMaybeAssign(false, refDestructuringErrors, this$1.parseParenItem)); } } @@ -2162,7 +2193,6 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) { this.checkPatternErrors(refDestructuringErrors, false); this.checkYieldAwaitInDefaultParams(); - if (innerParenStart) { this.unexpected(innerParenStart); } this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; return this.parseParenArrowList(startPos, startLoc, exprList) @@ -2215,8 +2245,9 @@ pp$3.parseNew = function() { var meta = this.parseIdent(true); if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) { node.meta = meta; + var containsEsc = this.containsEsc; node.property = this.parseIdent(true); - if (node.property.name !== "target") + if (node.property.name !== "target" || containsEsc) { this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target"); } if (!this.inFunction) { this.raiseRecoverable(node.start, "new.target can only be used in functions"); } @@ -2295,7 +2326,7 @@ pp$3.parseObj = function(isPattern, refDestructuringErrors) { } else { first = false; } var prop = this$1.parseProperty(isPattern, refDestructuringErrors); - this$1.checkPropClash(prop, propHash); + if (!isPattern) { this$1.checkPropClash(prop, propHash, refDestructuringErrors); } node.properties.push(prop); } return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression") @@ -2313,18 +2344,19 @@ pp$3.parseProperty = function(isPattern, refDestructuringErrors) { if (!isPattern) { isGenerator = this.eat(types.star); } } + var containsEsc = this.containsEsc; this.parsePropertyName(prop); - if (!isPattern && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { + if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { isAsync = true; this.parsePropertyName(prop, refDestructuringErrors); } else { isAsync = false; } - this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors); + this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc); return this.finishNode(prop, "Property") }; -pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors) { +pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) { if ((isGenerator || isAsync) && this.type === types.colon) { this.unexpected(); } @@ -2336,7 +2368,7 @@ pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP prop.kind = "init"; prop.method = true; prop.value = this.parseMethod(isGenerator, isAsync); - } else if (!isPattern && + } else if (!isPattern && !containsEsc && this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && (this.type != types.comma && this.type != types.braceR)) { @@ -2570,8 +2602,11 @@ pp$3.checkUnreserved = function(ref) { if (this.options.ecmaVersion < 6 && this.input.slice(start, end).indexOf("\\") != -1) { return } var re = this.strict ? this.reservedWordsStrict : this.reservedWords; - if (re.test(name)) - { this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved")); } + if (re.test(name)) { + if (!this.inAsync && name === "await") + { this.raiseRecoverable(start, "Can not use keyword 'await' outside an async function"); } + this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved")); + } }; // Parse the next token as an identifier. If `liberal` is true (used @@ -2586,7 +2621,7 @@ pp$3.parseIdent = function(liberal, isBinding) { } else if (this.type.keyword) { node.name = this.type.keyword; - // To fix https://github.com/ternjs/acorn/issues/575 + // To fix https://github.com/acornjs/acorn/issues/575 // `class` and `function` keywords push new context into this.context. // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name. // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword @@ -3214,12 +3249,12 @@ pp$8.readToken_eq_excl = function(code) { // '=!' pp$8.getTokenFromCode = function(code) { switch (code) { - // The interpretation of a dot depends on whether it is followed - // by a digit or another two dots. + // The interpretation of a dot depends on whether it is followed + // by a digit or another two dots. case 46: // '.' return this.readToken_dot() - // Punctuation tokens. + // Punctuation tokens. case 40: ++this.pos; return this.finishToken(types.parenL) case 41: ++this.pos; return this.finishToken(types.parenR) case 59: ++this.pos; return this.finishToken(types.semi) @@ -3243,19 +3278,20 @@ pp$8.getTokenFromCode = function(code) { if (next === 111 || next === 79) { return this.readRadixNumber(8) } // '0o', '0O' - octal number if (next === 98 || next === 66) { return this.readRadixNumber(2) } // '0b', '0B' - binary number } - // Anything else beginning with a digit is an integer, octal - // number, or float. + + // Anything else beginning with a digit is an integer, octal + // number, or float. case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9 return this.readNumber(false) - // Quotes produce strings. + // Quotes produce strings. case 34: case 39: // '"', "'" return this.readString(code) - // Operators are parsed inline in tiny state machines. '=' (61) is - // often referred to. `finishOp` simply skips the amount of - // characters it is given as second argument, and returns a token - // of the type given by its first argument. + // Operators are parsed inline in tiny state machines. '=' (61) is + // often referred to. `finishOp` simply skips the amount of + // characters it is given as second argument, and returns a token + // of the type given by its first argument. case 47: // '/' return this.readToken_slash() @@ -3332,6 +3368,7 @@ pp$8.readRegexp = function() { if (mods) { var validFlags = /^[gim]*$/; if (this.options.ecmaVersion >= 6) { validFlags = /^[gimuy]*$/; } + if (this.options.ecmaVersion >= 9) { validFlags = /^[gimsuy]*$/; } if (!validFlags.test(mods)) { this.raise(start, "Invalid regular expression flag"); } if (mods.indexOf("u") >= 0) { if (regexpUnicodeSupport) { @@ -3402,30 +3439,26 @@ pp$8.readRadixNumber = function(radix) { // Read an integer, octal integer, or floating-point number. pp$8.readNumber = function(startsWithDot) { - var start = this.pos, isFloat = false, octal = this.input.charCodeAt(this.pos) === 48; + var start = this.pos; if (!startsWithDot && this.readInt(10) === null) { this.raise(start, "Invalid number"); } - if (octal && this.pos == start + 1) { octal = false; } + var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48; + if (octal && this.strict) { this.raise(start, "Invalid number"); } + if (octal && /[89]/.test(this.input.slice(start, this.pos))) { octal = false; } var next = this.input.charCodeAt(this.pos); if (next === 46 && !octal) { // '.' ++this.pos; this.readInt(10); - isFloat = true; next = this.input.charCodeAt(this.pos); } if ((next === 69 || next === 101) && !octal) { // 'eE' next = this.input.charCodeAt(++this.pos); if (next === 43 || next === 45) { ++this.pos; } // '+-' if (this.readInt(10) === null) { this.raise(start, "Invalid number"); } - isFloat = true; } if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } - var str = this.input.slice(start, this.pos), val; - if (isFloat) { val = parseFloat(str); } - else if (!octal || str.length === 1) { val = parseInt(str, 10); } - else if (this.strict) { this.raise(start, "Invalid number"); } - else if (/[89]/.test(str)) { val = parseInt(str, 10); } - else { val = parseInt(str, 8); } + var str = this.input.slice(start, this.pos); + var val = octal ? parseInt(str, 8) : parseFloat(str); return this.finishToken(types.num, val) }; @@ -3676,11 +3709,11 @@ pp$8.readWord = function() { // Git repositories for Acorn are available at // // http://marijnhaverbeke.nl/git/acorn -// https://github.com/ternjs/acorn.git +// https://github.com/acornjs/acorn.git // // Please use the [github bug tracker][ghbt] to report issues. // -// [ghbt]: https://github.com/ternjs/acorn/issues +// [ghbt]: https://github.com/acornjs/acorn/issues // // This file defines the main parser interface. The library also comes // with a [error-tolerant parser][dammit] and an @@ -3689,7 +3722,7 @@ pp$8.readWord = function() { // [dammit]: acorn_loose.js // [walk]: util/walk.js -var version = "5.2.1"; +var version = "5.3.0"; // The main exported interface (under `self.acorn` when in the // browser) is a `parse` function that takes a code string and diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js index 4f0dd5d2123b1f..c7bf2b5494cdfc 100644 --- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js +++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn.js @@ -1,7 +1,7 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.acorn = global.acorn || {}))); + (factory((global.acorn = {}))); }(this, (function (exports) { 'use strict'; // Reserved word lists for various dialects of the language @@ -23,6 +23,8 @@ var keywords = { 6: ecma5AndLessKeywords + " const class extends export import super" }; +var keywordRelationalOperator = /^in(stanceof)?$/; + // ## Character categories // Big ugly regular expressions that match characters in the @@ -576,13 +578,15 @@ pp.eat = function(type) { // Tests whether parsed token is a contextual keyword. pp.isContextual = function(name) { - return this.type === types.name && this.value === name + return this.type === types.name && this.value === name && !this.containsEsc }; // Consumes contextual keyword if possible. pp.eatContextual = function(name) { - return this.value === name && this.eat(types.name) + if (!this.isContextual(name)) { return false } + this.next(); + return true }; // Asserts that following token is given contextual keyword. @@ -642,6 +646,7 @@ function DestructuringErrors() { this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = + this.doubleProto = -1; } @@ -654,9 +659,14 @@ pp.checkPatternErrors = function(refDestructuringErrors, isAssign) { }; pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) { - var pos = refDestructuringErrors ? refDestructuringErrors.shorthandAssign : -1; - if (!andThrow) { return pos >= 0 } - if (pos > -1) { this.raise(pos, "Shorthand property assignments are valid only in destructuring patterns"); } + if (!refDestructuringErrors) { return false } + var shorthandAssign = refDestructuringErrors.shorthandAssign; + var doubleProto = refDestructuringErrors.doubleProto; + if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 } + if (shorthandAssign >= 0) + { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); } + if (doubleProto >= 0) + { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); } }; pp.checkYieldAwaitInDefaultParams = function() { @@ -702,7 +712,7 @@ var loopLabel = {kind: "loop"}; var switchLabel = {kind: "switch"}; pp$1.isLet = function() { - if (this.type !== types.name || this.options.ecmaVersion < 6 || this.value != "let") { return false } + if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false } skipWhiteSpace.lastIndex = this.pos; var skip = skipWhiteSpace.exec(this.input); var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); @@ -711,7 +721,7 @@ pp$1.isLet = function() { var pos = next + 1; while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; } var ident = this.input.slice(next, pos); - if (!this.isKeyword(ident)) { return true } + if (!keywordRelationalOperator.test(ident)) { return true } } return false }; @@ -720,7 +730,7 @@ pp$1.isLet = function() { // - 'async /*foo*/ function' is OK. // - 'async /*\n*/ function' is invalid. pp$1.isAsyncFunction = function() { - if (this.type !== types.name || this.options.ecmaVersion < 8 || this.value != "async") + if (this.options.ecmaVersion < 8 || !this.isContextual("async")) { return false } skipWhiteSpace.lastIndex = this.pos; @@ -790,7 +800,8 @@ pp$1.parseStatement = function(declaration, topLevel, exports) { // next token is a colon and the expression was a simple // Identifier node, we switch to interpreting it as a label. default: - if (this.isAsyncFunction() && declaration) { + if (this.isAsyncFunction()) { + if (!declaration) { this.unexpected(); } this.next(); return this.parseFunctionStatement(node, true) } @@ -876,9 +887,8 @@ pp$1.parseForStatement = function(node) { var refDestructuringErrors = new DestructuringErrors; var init = this.parseExpression(true, refDestructuringErrors); if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) { - this.toAssignable(init); + this.toAssignable(init, false, refDestructuringErrors); this.checkLVal(init); - this.checkPatternErrors(refDestructuringErrors, true); return this.parseForIn(node, init) } else { this.checkExpressionErrors(refDestructuringErrors, true); @@ -891,16 +901,12 @@ pp$1.parseFunctionStatement = function(node, isAsync) { return this.parseFunction(node, true, false, isAsync) }; -pp$1.isFunction = function() { - return this.type === types._function || this.isAsyncFunction() -}; - pp$1.parseIfStatement = function(node) { this.next(); node.test = this.parseParenExpression(); // allow function declarations in branches, but only in non-strict mode - node.consequent = this.parseStatement(!this.strict && this.isFunction()); - node.alternate = this.eat(types._else) ? this.parseStatement(!this.strict && this.isFunction()) : null; + node.consequent = this.parseStatement(!this.strict && this.type == types._function); + node.alternate = this.eat(types._else) ? this.parseStatement(!this.strict && this.type == types._function) : null; return this.finishNode(node, "IfStatement") }; @@ -1038,6 +1044,7 @@ pp$1.parseLabeledStatement = function(node, maybeName, expr) { for (var i = this.labels.length - 1; i >= 0; i--) { var label$1 = this$1.labels[i]; if (label$1.statementStart == node.start) { + // Update information about previous labels on this node label$1.statementStart = this$1.start; label$1.kind = kind; } else { break } @@ -1106,8 +1113,14 @@ pp$1.parseFor = function(node, init) { pp$1.parseForIn = function(node, init) { var type = this.type === types._in ? "ForInStatement" : "ForOfStatement"; this.next(); + if (type == "ForInStatement") { + if (init.type === "AssignmentPattern" || + (init.type === "VariableDeclaration" && init.declarations[0].init != null && + (this.strict || init.declarations[0].id.type !== "Identifier"))) + { this.raise(init.start, "Invalid assignment in for-in loop head"); } + } node.left = init; - node.right = this.parseExpression(); + node.right = type == "ForInStatement" ? this.parseExpression() : this.parseMaybeAssign(); this.expect(types.parenR); this.exitLexicalScope(); node.body = this.parseStatement(false); @@ -1206,62 +1219,70 @@ pp$1.parseClass = function(node, isStatement) { classBody.body = []; this.expect(types.braceL); while (!this.eat(types.braceR)) { - if (this$1.eat(types.semi)) { continue } - var method = this$1.startNode(); - var isGenerator = this$1.eat(types.star); - var isAsync = false; - var isMaybeStatic = this$1.type === types.name && this$1.value === "static"; - this$1.parsePropertyName(method); - method.static = isMaybeStatic && this$1.type !== types.parenL; - if (method.static) { - if (isGenerator) { this$1.unexpected(); } - isGenerator = this$1.eat(types.star); - this$1.parsePropertyName(method); - } - if (this$1.options.ecmaVersion >= 8 && !isGenerator && !method.computed && - method.key.type === "Identifier" && method.key.name === "async" && this$1.type !== types.parenL && - !this$1.canInsertSemicolon()) { - isAsync = true; - this$1.parsePropertyName(method); - } - method.kind = "method"; - var isGetSet = false; - if (!method.computed) { - var key = method.key; - if (!isGenerator && !isAsync && key.type === "Identifier" && this$1.type !== types.parenL && (key.name === "get" || key.name === "set")) { - isGetSet = true; - method.kind = key.name; - key = this$1.parsePropertyName(method); - } - if (!method.static && (key.type === "Identifier" && key.name === "constructor" || - key.type === "Literal" && key.value === "constructor")) { - if (hadConstructor) { this$1.raise(key.start, "Duplicate constructor in the same class"); } - if (isGetSet) { this$1.raise(key.start, "Constructor can't have get/set modifier"); } - if (isGenerator) { this$1.raise(key.start, "Constructor can't be a generator"); } - if (isAsync) { this$1.raise(key.start, "Constructor can't be an async method"); } - method.kind = "constructor"; - hadConstructor = true; - } - } - this$1.parseClassMethod(classBody, method, isGenerator, isAsync); - if (isGetSet) { - var paramCount = method.kind === "get" ? 0 : 1; - if (method.value.params.length !== paramCount) { - var start = method.value.start; - if (method.kind === "get") - { this$1.raiseRecoverable(start, "getter should have no params"); } - else - { this$1.raiseRecoverable(start, "setter should have exactly one param"); } - } else { - if (method.kind === "set" && method.value.params[0].type === "RestElement") - { this$1.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); } - } + var member = this$1.parseClassMember(classBody); + if (member && member.type === "MethodDefinition" && member.kind === "constructor") { + if (hadConstructor) { this$1.raise(member.start, "Duplicate constructor in the same class"); } + hadConstructor = true; } } node.body = this.finishNode(classBody, "ClassBody"); return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") }; +pp$1.parseClassMember = function(classBody) { + var this$1 = this; + + if (this.eat(types.semi)) { return null } + + var method = this.startNode(); + var tryContextual = function (k, noLineBreak) { + if ( noLineBreak === void 0 ) noLineBreak = false; + + var start = this$1.start, startLoc = this$1.startLoc; + if (!this$1.eatContextual(k)) { return false } + if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true } + if (method.key) { this$1.unexpected(); } + method.computed = false; + method.key = this$1.startNodeAt(start, startLoc); + method.key.name = k; + this$1.finishNode(method.key, "Identifier"); + return false + }; + + method.kind = "method"; + method.static = tryContextual("static"); + var isGenerator = this.eat(types.star); + var isAsync = false; + if (!isGenerator) { + if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) { + isAsync = true; + } else if (tryContextual("get")) { + method.kind = "get"; + } else if (tryContextual("set")) { + method.kind = "set"; + } + } + if (!method.key) { this.parsePropertyName(method); } + var key = method.key; + if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" || + key.type === "Literal" && key.value === "constructor")) { + if (method.kind !== "method") { this.raise(key.start, "Constructor can't have get/set modifier"); } + if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); } + if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); } + method.kind = "constructor"; + } else if (method.static && key.type === "Identifier" && key.name === "prototype") { + this.raise(key.start, "Classes may not have a static property named prototype"); + } + this.parseClassMethod(classBody, method, isGenerator, isAsync); + if (method.kind === "get" && method.value.params.length !== 0) + { this.raiseRecoverable(method.value.start, "getter should have no params"); } + if (method.kind === "set" && method.value.params.length !== 1) + { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); } + if (method.kind === "set" && method.value.params[0].type === "RestElement") + { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); } + return method +}; + pp$1.parseClassMethod = function(classBody, method, isGenerator, isAsync) { method.value = this.parseMethod(isGenerator, isAsync); classBody.body.push(this.finishNode(method, "MethodDefinition")); @@ -1284,7 +1305,8 @@ pp$1.parseExport = function(node, exports) { // export * from '...' if (this.eat(types.star)) { this.expectContextual("from"); - node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected(); + if (this.type !== types.string) { this.unexpected(); } + node.source = this.parseExprAtom(); this.semicolon(); return this.finishNode(node, "ExportAllDeclaration") } @@ -1318,7 +1340,8 @@ pp$1.parseExport = function(node, exports) { node.declaration = null; node.specifiers = this.parseExportSpecifiers(exports); if (this.eatContextual("from")) { - node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected(); + if (this.type !== types.string) { this.unexpected(); } + node.source = this.parseExprAtom(); } else { // check for keywords used as local names for (var i = 0, list = node.specifiers; i < list.length; i += 1) { @@ -1492,7 +1515,7 @@ var pp$2 = Parser.prototype; // Convert existing expression atom to assignable pattern // if possible. -pp$2.toAssignable = function(node, isBinding) { +pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) { var this$1 = this; if (this.options.ecmaVersion >= 6 && node) { @@ -1504,33 +1527,45 @@ pp$2.toAssignable = function(node, isBinding) { case "ObjectPattern": case "ArrayPattern": + case "RestElement": break case "ObjectExpression": node.type = "ObjectPattern"; - for (var i = 0, list = node.properties; i < list.length; i += 1) { - var prop = list[i]; + if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } + for (var i = 0, list = node.properties; i < list.length; i += 1) + { + var prop = list[i]; - if (prop.kind !== "init") { this$1.raise(prop.key.start, "Object pattern can't contain getter or setter"); } - this$1.toAssignable(prop.value, isBinding); - } + this$1.toAssignable(prop, isBinding); + } + break + + case "Property": + // AssignmentProperty has type == "Property" + if (node.kind !== "init") { this.raise(node.key.start, "Object pattern can't contain getter or setter"); } + this.toAssignable(node.value, isBinding); break case "ArrayExpression": node.type = "ArrayPattern"; + if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } this.toAssignableList(node.elements, isBinding); break + case "SpreadElement": + node.type = "RestElement"; + this.toAssignable(node.argument, isBinding); + if (node.argument.type === "AssignmentPattern") + { this.raise(node.argument.start, "Rest elements cannot have a default value"); } + break + case "AssignmentExpression": - if (node.operator === "=") { - node.type = "AssignmentPattern"; - delete node.operator; - this.toAssignable(node.left, isBinding); - // falls through to AssignmentPattern - } else { - this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); - break - } + if (node.operator !== "=") { this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); } + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isBinding); + // falls through to AssignmentPattern case "AssignmentPattern": break @@ -1545,7 +1580,7 @@ pp$2.toAssignable = function(node, isBinding) { default: this.raise(node.start, "Assigning to rvalue"); } - } + } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } return node }; @@ -1555,24 +1590,15 @@ pp$2.toAssignableList = function(exprList, isBinding) { var this$1 = this; var end = exprList.length; + for (var i = 0; i < end; i++) { + var elt = exprList[i]; + if (elt) { this$1.toAssignable(elt, isBinding); } + } if (end) { var last = exprList[end - 1]; - if (last && last.type == "RestElement") { - --end; - } else if (last && last.type == "SpreadElement") { - last.type = "RestElement"; - var arg = last.argument; - this.toAssignable(arg, isBinding); - --end; - } - if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier") { this.unexpected(last.argument.start); } } - for (var i = 0; i < end; i++) { - var elt = exprList[i]; - if (elt) { this$1.toAssignable(elt, isBinding); } - } return exprList }; @@ -1693,7 +1719,7 @@ pp$2.checkLVal = function(expr, bindingType, checkClashes) { break case "MemberExpression": - if (bindingType) { this.raiseRecoverable(expr.start, (bindingType ? "Binding" : "Assigning to") + " member expression"); } + if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); } break case "ObjectPattern": @@ -1701,10 +1727,15 @@ pp$2.checkLVal = function(expr, bindingType, checkClashes) { { var prop = list[i]; - this$1.checkLVal(prop.value, bindingType, checkClashes); + this$1.checkLVal(prop, bindingType, checkClashes); } break + case "Property": + // AssignmentProperty has type == "Property" + this.checkLVal(expr.value, bindingType, checkClashes); + break + case "ArrayPattern": for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) { var elem = list$1[i$1]; @@ -1755,7 +1786,7 @@ var pp$3 = Parser.prototype; // either with each other or with an init property — and in // strict mode, init properties are also not allowed to be repeated. -pp$3.checkPropClash = function(prop, propHash) { +pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) { if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) { return } var key = prop.key; @@ -1768,7 +1799,11 @@ pp$3.checkPropClash = function(prop, propHash) { var kind = prop.kind; if (this.options.ecmaVersion >= 6) { if (name === "__proto__" && kind === "init") { - if (propHash.proto) { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); } + if (propHash.proto) { + if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) { refDestructuringErrors.doubleProto = key.start; } + // Backwards-compat kludge. Can be removed in version 6.0 + else { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); } + } propHash.proto = true; } return @@ -1845,11 +1880,10 @@ pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) { var left = this.parseMaybeConditional(noIn, refDestructuringErrors); if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); } if (this.type.isAssign) { - this.checkPatternErrors(refDestructuringErrors, true); - if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); } var node = this.startNodeAt(startPos, startLoc); node.operator = this.value; - node.left = this.type === types.eq ? this.toAssignable(left) : left; + node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left; + if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); } refDestructuringErrors.shorthandAssign = -1; // reset because shorthand default was used correctly this.checkLVal(left); this.next(); @@ -1980,7 +2014,7 @@ pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) { var this$1 = this; var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && - this.lastTokEnd == base.end && !this.canInsertSemicolon(); + this.lastTokEnd == base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async"; for (var computed = (void 0);;) { if ((computed = this$1.eat(types.bracketL)) || this$1.eat(types.dot)) { var node = this$1.startNodeAt(startPos, startLoc); @@ -2048,14 +2082,14 @@ pp$3.parseExprAtom = function(refDestructuringErrors) { return this.finishNode(node, "ThisExpression") case types.name: - var startPos = this.start, startLoc = this.startLoc; + var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc; var id = this.parseIdent(this.type !== types.name); - if (this.options.ecmaVersion >= 8 && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function)) + if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function)) { return this.parseFunction(this.startNodeAt(startPos, startLoc), false, false, true) } if (canBeArrow && !this.canInsertSemicolon()) { if (this.eat(types.arrow)) { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) } - if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name) { + if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name && !containsEsc) { id = this.parseIdent(); if (this.canInsertSemicolon() || !this.eat(types.arrow)) { this.unexpected(); } @@ -2142,7 +2176,7 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { var innerStartPos = this.start, innerStartLoc = this.startLoc; var exprList = [], first = true, lastIsComma = false; - var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart, innerParenStart; + var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart; this.yieldPos = 0; this.awaitPos = 0; while (this.type !== types.parenR) { @@ -2156,9 +2190,6 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { if (this$1.type === types.comma) { this$1.raise(this$1.start, "Comma is not permitted after the rest element"); } break } else { - if (this$1.type === types.parenL && !innerParenStart) { - innerParenStart = this$1.start; - } exprList.push(this$1.parseMaybeAssign(false, refDestructuringErrors, this$1.parseParenItem)); } } @@ -2168,7 +2199,6 @@ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) { if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) { this.checkPatternErrors(refDestructuringErrors, false); this.checkYieldAwaitInDefaultParams(); - if (innerParenStart) { this.unexpected(innerParenStart); } this.yieldPos = oldYieldPos; this.awaitPos = oldAwaitPos; return this.parseParenArrowList(startPos, startLoc, exprList) @@ -2221,8 +2251,9 @@ pp$3.parseNew = function() { var meta = this.parseIdent(true); if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) { node.meta = meta; + var containsEsc = this.containsEsc; node.property = this.parseIdent(true); - if (node.property.name !== "target") + if (node.property.name !== "target" || containsEsc) { this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target"); } if (!this.inFunction) { this.raiseRecoverable(node.start, "new.target can only be used in functions"); } @@ -2301,7 +2332,7 @@ pp$3.parseObj = function(isPattern, refDestructuringErrors) { } else { first = false; } var prop = this$1.parseProperty(isPattern, refDestructuringErrors); - this$1.checkPropClash(prop, propHash); + if (!isPattern) { this$1.checkPropClash(prop, propHash, refDestructuringErrors); } node.properties.push(prop); } return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression") @@ -2319,18 +2350,19 @@ pp$3.parseProperty = function(isPattern, refDestructuringErrors) { if (!isPattern) { isGenerator = this.eat(types.star); } } + var containsEsc = this.containsEsc; this.parsePropertyName(prop); - if (!isPattern && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { + if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { isAsync = true; this.parsePropertyName(prop, refDestructuringErrors); } else { isAsync = false; } - this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors); + this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc); return this.finishNode(prop, "Property") }; -pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors) { +pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) { if ((isGenerator || isAsync) && this.type === types.colon) { this.unexpected(); } @@ -2342,7 +2374,7 @@ pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP prop.kind = "init"; prop.method = true; prop.value = this.parseMethod(isGenerator, isAsync); - } else if (!isPattern && + } else if (!isPattern && !containsEsc && this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && (this.type != types.comma && this.type != types.braceR)) { @@ -2576,8 +2608,11 @@ pp$3.checkUnreserved = function(ref) { if (this.options.ecmaVersion < 6 && this.input.slice(start, end).indexOf("\\") != -1) { return } var re = this.strict ? this.reservedWordsStrict : this.reservedWords; - if (re.test(name)) - { this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved")); } + if (re.test(name)) { + if (!this.inAsync && name === "await") + { this.raiseRecoverable(start, "Can not use keyword 'await' outside an async function"); } + this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved")); + } }; // Parse the next token as an identifier. If `liberal` is true (used @@ -2592,7 +2627,7 @@ pp$3.parseIdent = function(liberal, isBinding) { } else if (this.type.keyword) { node.name = this.type.keyword; - // To fix https://github.com/ternjs/acorn/issues/575 + // To fix https://github.com/acornjs/acorn/issues/575 // `class` and `function` keywords push new context into this.context. // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name. // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword @@ -3220,12 +3255,12 @@ pp$8.readToken_eq_excl = function(code) { // '=!' pp$8.getTokenFromCode = function(code) { switch (code) { - // The interpretation of a dot depends on whether it is followed - // by a digit or another two dots. + // The interpretation of a dot depends on whether it is followed + // by a digit or another two dots. case 46: // '.' return this.readToken_dot() - // Punctuation tokens. + // Punctuation tokens. case 40: ++this.pos; return this.finishToken(types.parenL) case 41: ++this.pos; return this.finishToken(types.parenR) case 59: ++this.pos; return this.finishToken(types.semi) @@ -3249,19 +3284,20 @@ pp$8.getTokenFromCode = function(code) { if (next === 111 || next === 79) { return this.readRadixNumber(8) } // '0o', '0O' - octal number if (next === 98 || next === 66) { return this.readRadixNumber(2) } // '0b', '0B' - binary number } - // Anything else beginning with a digit is an integer, octal - // number, or float. + + // Anything else beginning with a digit is an integer, octal + // number, or float. case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9 return this.readNumber(false) - // Quotes produce strings. + // Quotes produce strings. case 34: case 39: // '"', "'" return this.readString(code) - // Operators are parsed inline in tiny state machines. '=' (61) is - // often referred to. `finishOp` simply skips the amount of - // characters it is given as second argument, and returns a token - // of the type given by its first argument. + // Operators are parsed inline in tiny state machines. '=' (61) is + // often referred to. `finishOp` simply skips the amount of + // characters it is given as second argument, and returns a token + // of the type given by its first argument. case 47: // '/' return this.readToken_slash() @@ -3338,6 +3374,7 @@ pp$8.readRegexp = function() { if (mods) { var validFlags = /^[gim]*$/; if (this.options.ecmaVersion >= 6) { validFlags = /^[gimuy]*$/; } + if (this.options.ecmaVersion >= 9) { validFlags = /^[gimsuy]*$/; } if (!validFlags.test(mods)) { this.raise(start, "Invalid regular expression flag"); } if (mods.indexOf("u") >= 0) { if (regexpUnicodeSupport) { @@ -3408,30 +3445,26 @@ pp$8.readRadixNumber = function(radix) { // Read an integer, octal integer, or floating-point number. pp$8.readNumber = function(startsWithDot) { - var start = this.pos, isFloat = false, octal = this.input.charCodeAt(this.pos) === 48; + var start = this.pos; if (!startsWithDot && this.readInt(10) === null) { this.raise(start, "Invalid number"); } - if (octal && this.pos == start + 1) { octal = false; } + var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48; + if (octal && this.strict) { this.raise(start, "Invalid number"); } + if (octal && /[89]/.test(this.input.slice(start, this.pos))) { octal = false; } var next = this.input.charCodeAt(this.pos); if (next === 46 && !octal) { // '.' ++this.pos; this.readInt(10); - isFloat = true; next = this.input.charCodeAt(this.pos); } if ((next === 69 || next === 101) && !octal) { // 'eE' next = this.input.charCodeAt(++this.pos); if (next === 43 || next === 45) { ++this.pos; } // '+-' if (this.readInt(10) === null) { this.raise(start, "Invalid number"); } - isFloat = true; } if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); } - var str = this.input.slice(start, this.pos), val; - if (isFloat) { val = parseFloat(str); } - else if (!octal || str.length === 1) { val = parseInt(str, 10); } - else if (this.strict) { this.raise(start, "Invalid number"); } - else if (/[89]/.test(str)) { val = parseInt(str, 10); } - else { val = parseInt(str, 8); } + var str = this.input.slice(start, this.pos); + var val = octal ? parseInt(str, 8) : parseFloat(str); return this.finishToken(types.num, val) }; @@ -3682,11 +3715,11 @@ pp$8.readWord = function() { // Git repositories for Acorn are available at // // http://marijnhaverbeke.nl/git/acorn -// https://github.com/ternjs/acorn.git +// https://github.com/acornjs/acorn.git // // Please use the [github bug tracker][ghbt] to report issues. // -// [ghbt]: https://github.com/ternjs/acorn/issues +// [ghbt]: https://github.com/acornjs/acorn/issues // // This file defines the main parser interface. The library also comes // with a [error-tolerant parser][dammit] and an @@ -3695,7 +3728,7 @@ pp$8.readWord = function() { // [dammit]: acorn_loose.js // [walk]: util/walk.js -var version = "5.2.1"; +var version = "5.3.0"; // The main exported interface (under `self.acorn` when in the // browser) is a `parse` function that takes a code string and diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js index d6738db9dcd847..fbfe0f88b1c567 100644 --- a/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js +++ b/tools/node_modules/eslint/node_modules/acorn/dist/acorn_loose.js @@ -1,7 +1,7 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('./acorn')) : typeof define === 'function' && define.amd ? define(['exports', './acorn'], factory) : - (factory((global.acorn = global.acorn || {}, global.acorn.loose = global.acorn.loose || {}),global.acorn)); + (factory((global.acorn = global.acorn || {}, global.acorn.loose = {}),global.acorn)); }(this, (function (exports,__acorn) { 'use strict'; // Registered plugins diff --git a/tools/node_modules/eslint/node_modules/acorn/dist/walk.js b/tools/node_modules/eslint/node_modules/acorn/dist/walk.js index b4fb694053583d..64dae20f026486 100644 --- a/tools/node_modules/eslint/node_modules/acorn/dist/walk.js +++ b/tools/node_modules/eslint/node_modules/acorn/dist/walk.js @@ -1,7 +1,7 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.acorn = global.acorn || {}, global.acorn.walk = global.acorn.walk || {}))); + (factory((global.acorn = global.acorn || {}, global.acorn.walk = {}))); }(this, (function (exports) { 'use strict'; // AST walker module for Mozilla Parser API compatible trees diff --git a/tools/node_modules/eslint/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn/package.json index 610943538459dd..3512ede7ce5225 100644 --- a/tools/node_modules/eslint/node_modules/acorn/package.json +++ b/tools/node_modules/eslint/node_modules/acorn/package.json @@ -1,8 +1,8 @@ { "_from": "acorn@^5.2.1", - "_id": "acorn@5.2.1", + "_id": "acorn@5.3.0", "_inBundle": false, - "_integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "_integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", "_location": "/eslint/acorn", "_phantomChildren": {}, "_requested": { @@ -18,21 +18,27 @@ "_requiredBy": [ "/eslint/espree" ], - "_resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "_shasum": "317ac7821826c22c702d66189ab8359675f135d7", + "_resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", + "_shasum": "7446d39459c54fb49a80e6ee6478149b940ec822", "_spec": "acorn@^5.2.1", - "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/espree", + "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/espree", "bin": { "acorn": "./bin/acorn" }, "bugs": { - "url": "https://github.com/ternjs/acorn/issues" + "url": "https://github.com/acornjs/acorn/issues" }, "bundleDependencies": false, "contributors": [ { "name": "List of Acorn contributors. Updated before every release." }, + { + "name": "Adrian Heine" + }, + { + "name": "Adrian Heine né Lang" + }, { "name": "Adrian Rakovsky" }, @@ -66,6 +72,9 @@ { "name": "Charles Hughes" }, + { + "name": "Charmander" + }, { "name": "Conrad Irwin" }, @@ -81,6 +90,9 @@ { "name": "ehmicky" }, + { + "name": "Felix Maier" + }, { "name": "Forbes Lindesay" }, @@ -135,6 +147,9 @@ { "name": "krator" }, + { + "name": "laosb" + }, { "name": "Marek" }, @@ -238,19 +253,22 @@ "deprecated": false, "description": "ECMAScript parser", "devDependencies": { - "eslint": "^3.18.0", - "eslint-config-standard": "^7.1.0", + "eslint": "^4.10.0", + "eslint-config-standard": "^10.2.1", "eslint-plugin-import": "^2.2.0", + "eslint-plugin-node": "^5.2.1", "eslint-plugin-promise": "^3.5.0", - "eslint-plugin-standard": "^2.1.1", - "rollup": "^0.43.0", - "rollup-plugin-buble": "^0.15.0", + "eslint-plugin-standard": "^3.0.1", + "rollup": "^0.45.0", + "rollup-plugin-buble": "^0.16.0", + "test262": "git+https://github.com/tc39/test262.git#51553973738063f457e248f7f1e643c561c8a64c", + "test262-parser-runner": "^0.2.0", "unicode-9.0.0": "^0.7.0" }, "engines": { "node": ">=0.4.0" }, - "homepage": "https://github.com/ternjs/acorn", + "homepage": "https://github.com/acornjs/acorn", "license": "MIT", "main": "dist/acorn.js", "maintainers": [ @@ -269,7 +287,7 @@ "name": "acorn", "repository": { "type": "git", - "url": "git+https://github.com/ternjs/acorn.git" + "url": "git+https://github.com/acornjs/acorn.git" }, "scripts": { "build": "npm run build:main && npm run build:walk && npm run build:loose && npm run build:bin", @@ -280,7 +298,8 @@ "lint": "eslint src/", "prepare": "npm test", "pretest": "npm run build:main && npm run build:loose", - "test": "node test/run.js && node test/lint.js" + "test": "node test/run.js && node test/lint.js", + "test:test262": "node bin/run_test262.js" }, - "version": "5.2.1" + "version": "5.3.0" } diff --git a/tools/node_modules/eslint/node_modules/ajv-keywords/package.json b/tools/node_modules/eslint/node_modules/ajv-keywords/package.json index 0afdd4666bca8b..ec2cfa0aceef22 100644 --- a/tools/node_modules/eslint/node_modules/ajv-keywords/package.json +++ b/tools/node_modules/eslint/node_modules/ajv-keywords/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", "_shasum": "617997fc5f60576894c435f940d819e135b80762", "_spec": "ajv-keywords@^2.1.0", - "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/table", + "_where": "/home/mzasso/git/nodejs/node/tools/eslint-tmp/node_modules/eslint/node_modules/table", "author": { "name": "Evgeny Poberezkin" }, diff --git a/tools/node_modules/eslint/node_modules/ajv/README.md b/tools/node_modules/eslint/node_modules/ajv/README.md index fdf6144a20e9c7..387c81d8ca6750 100644 --- a/tools/node_modules/eslint/node_modules/ajv/README.md +++ b/tools/node_modules/eslint/node_modules/ajv/README.md @@ -74,7 +74,7 @@ Currently Ajv is the fastest and the most standard compliant validator according Performance of different validators by [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark): -[![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=32,4,1&chs=600x416&chxl=-1:%7Cajv%7Cis-my-json-valid%7Cjsen%7Cschemasaurus%7Cthemis%7Cz-schema%7Cjsck%7Cjsonschema%7Cskeemas%7Ctv4%7Cjayschema&chd=t:100,68,61,22.8,17.6,6.6,2.7,0.9,0.7,0.4,0.1)](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance) +[![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=32,4,1&chs=600x416&chxl=-1:|djv|ajv|json-schema-validator-generator|jsen|is-my-json-valid|themis|z-schema|jsck|skeemas|json-schema-library|tv4&chd=t:100,98,72.1,66.8,50.1,15.1,6.1,3.8,1.2,0.7,0.2)](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance) ## Features diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js index ee5623cb196da0..01d56327e693b3 100644 --- a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js +++ b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js @@ -6971,7 +6971,7 @@ function compile(schema, _meta) { function addSchema(schema, key, _skipValidation, _meta) { if (Array.isArray(schema)){ for (var i=0; i=1&&t<=12&&a>=1&&a<=h[t]}function o(e,r){var t=e.match(u);if(!t)return!1;return t[1]<=23&&t[2]<=59&&t[3]<=59&&(!r||t[5])}function i(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}var n=e("./util"),l=/^\d\d\d\d-(\d\d)-(\d\d)$/,h=[0,31,29,31,30,31,30,31,31,30,31,30,31],u=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,c=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,d=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,f=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,p=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,m=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,v=/^(?:\/(?:[^~/]|~0|~1)*)*$|^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,y=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;r.exports=a,a.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*)(?::|\/)\/?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/\/)?[^\s]*$/i,"uri-template":f,url:p,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:c,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:i,uuid:m,"json-pointer":v,"relative-json-pointer":y},a.full={date:s,time:o,"date-time":function(e){var r=e.split(g);return 2==r.length&&s(r[0])&&o(r[1],!0)},uri:function(e){return P.test(e)&&d.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":f,url:p,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&c.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:i,uuid:m,"json-pointer":v,"relative-json-pointer":y};var g=/t|\s/i,P=/\/|:/,E=/[^\\]\\Z/},{"./util":12}],7:[function(e,r,t){"use strict";function a(e,r,t,P){function E(){var e=C.validate,r=e.apply(null,arguments);return E.errors=e.errors,r}function w(e,t,s,f){var P=!t||t&&t.schema==e;if(t.schema!=r.schema)return a.call($,e,t,s,f);var E=!0===e.$async,w=p({isTop:!0,schema:e,isRoot:P,baseId:f,root:t,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:d.MissingRef,RULES:U,validate:p,util:c,resolve:u,resolveRef:b,usePattern:_,useDefault:x,useCustomRule:F,opts:R,formats:Q,logger:$.logger,self:$});w=h(O,n)+h(I,o)+h(k,i)+h(L,l)+w,R.processCode&&(w=R.processCode(w));var S;try{S=new Function("self","RULES","formats","root","refVal","defaults","customRules","co","equal","ucs2length","ValidationError",w)($,U,Q,r,O,k,L,m,y,v,g),O[0]=S}catch(e){throw $.logger.error("Error compiling schema, function code:",w),e}return S.schema=e,S.errors=null,S.refs=D,S.refVal=O,S.root=P?S:t,E&&(S.$async=!0),!0===R.sourceCode&&(S.source={code:w,patterns:I,defaults:k}),S}function b(e,s,o){s=u.url(e,s);var i,n,l=D[s];if(void 0!==l)return i=O[l],n="refVal["+l+"]",j(i,n);if(!o&&r.refs){var h=r.refs[s];if(void 0!==h)return i=r.refVal[h],n=S(s,i),j(i,n)}n=S(s);var c=u.call($,w,r,s);if(void 0===c){var d=t&&t[s];d&&(c=u.inlineRef(d,R.inlineRefs)?d:a.call($,d,r,t,e))}if(void 0!==c)return function(e,r){O[D[e]]=r}(s,c),j(c,n);!function(e){delete D[e]}(s)}function S(e,r){var t=O.length;return O[t]=r,D[e]=t,"refVal"+t}function j(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&e.$async}}function _(e){var r=A[e];return void 0===r&&(r=A[e]=I.length,I[r]=e),"pattern"+r}function x(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return c.toQuotedString(e);case"object":if(null===e)return"null";var r=f(e),t=q[r];return void 0===t&&(t=q[r]=k.length,k[t]=e),"default"+t}}function F(e,r,t,a){var s=e.definition.validateSchema;if(s&&!1!==$._opts.validateSchema){if(!s(r)){var o="keyword schema is invalid: "+$.errorsText(s.errors);if("log"!=$._opts.validateSchema)throw new Error(o);$.logger.error(o)}}var i,n=e.definition.compile,l=e.definition.inline,h=e.definition.macro;if(n)i=n.call($,r,t,a);else if(h)i=h.call($,r,t,a),!1!==R.validateSchema&&$.validateSchema(i,!0);else if(l)i=l.call($,a,e.keyword,r,t);else if(!(i=e.definition.validate))return;if(void 0===i)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var u=L.length;return L[u]=i,{code:"customRule"+u,validate:i}}var $=this,R=this._opts,O=[void 0],D={},I=[],A={},k=[],q={},L=[],z=function(e,r,t){var a=s.call(this,e,r,t);return a>=0?{index:a,compiling:!0}:(a=this._compilations.length,this._compilations[a]={schema:e,root:r,baseId:t},{index:a,compiling:!1})}.call(this,e,r=r||{schema:e,refVal:O,refs:D},P),C=this._compilations[z.index];if(z.compiling)return C.callValidate=E;var Q=this._formats,U=this.RULES;try{var V=w(e,r,t,P);C.validate=V;var N=C.callValidate;return N&&(N.schema=V.schema,N.errors=null,N.refs=V.refs,N.refVal=V.refVal,N.root=V.root,N.$async=V.$async,R.sourceCode&&(N.source=V.source)),V}finally{(function(e,r,t){var a=s.call(this,e,r,t);a>=0&&this._compilations.splice(a,1)}).call(this,e,r,P)}}function s(e,r,t){for(var a=0;a=55296&&r<=56319&&s=r)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(a>r)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(i="data"+(r-a||""),!s)return i}for(var l=i,h=s.split("/"),c=0;c",y=f?">":"<",g=void 0;if(e.opts.$data&&m&&m.$data){var P=e.util.getData(m.$data,i,e.dataPathArr),E="exclusive"+o,w="exclType"+o,b="exclIsNumber"+o,S="' + "+(j="op"+o)+" + '";s+=" var schemaExcl"+o+" = "+P+"; ",s+=" var "+E+"; var "+w+" = typeof "+(P="schemaExcl"+o)+"; if ("+w+" != 'boolean' && "+w+" != 'undefined' && "+w+" != 'number') { ";g=p;(_=_||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(g||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: {} ",!1!==e.opts.messages&&(s+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(s+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";x=s;s=_.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } else if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+w+" == 'number' ? ( ("+E+" = "+a+" === undefined || "+P+" "+v+"= "+a+") ? "+c+" "+y+"= "+P+" : "+c+" "+y+" "+a+" ) : ( ("+E+" = "+P+" === true) ? "+c+" "+y+"= "+a+" : "+c+" "+y+" "+a+" ) || "+c+" !== "+c+") { var op"+o+" = "+E+" ? '"+v+"' : '"+v+"=';"}else{S=v;if((b="number"==typeof m)&&d){j="'"+S+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" ( "+a+" === undefined || "+m+" "+v+"= "+a+" ? "+c+" "+y+"= "+m+" : "+c+" "+y+" "+a+" ) || "+c+" !== "+c+") { "}else{b&&void 0===n?(E=!0,g=p,h=e.errSchemaPath+"/"+p,a=m,y+="="):(b&&(a=Math[f?"min":"max"](m,n)),m===(!b||a)?(E=!0,g=p,h=e.errSchemaPath+"/"+p,y+="="):(E=!1,S+="="));var j="'"+S+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+c+" "+y+" "+a+" || "+c+" !== "+c+") { "}}g=g||r;var _=_||[];_.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(g||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { comparison: "+j+", limit: "+a+", exclusive: "+E+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be "+S+" ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var x=s;return s=_.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",u&&(s+=" else { "),s}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+c+".length "+("maxItems"==r?">":"<")+" "+a+") { ";var f=r,p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxItems"==r?"more":"less",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" items' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=!1===e.opts.unicode?" "+c+".length ":" ucs2length("+c+") ",s+=" "+("maxLength"==r?">":"<")+" "+a+") { ";var f=r,p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT be ",s+="maxLength"==r?"longer":"shorter",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" characters' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" Object.keys("+c+").length "+("maxProperties"==r?">":"<")+" "+a+") { ";var f=r,p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxProperties"==r?"more":"less",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" properties' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],17:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.schema[r],o=e.schemaPath+e.util.getProperty(r),i=e.errSchemaPath+"/"+r,n=!e.opts.allErrors,l=e.util.copy(e),h="";l.level++;var u="valid"+l.level,c=l.baseId,d=!0,f=s;if(f)for(var p,m=-1,v=f.length-1;m=0)return h&&(a+=" if (true) { "),a;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var v="object"==typeof m&&!(m instanceof RegExp)&&m.validate,y=v&&m.type||"string";if(v){var g=!0===m.async;m=m.validate}if(y!=t)return h&&(a+=" if (true) { "),a;if(g){if(!e.async)throw new Error("async format in sync schema");P="formats"+e.util.getProperty(i)+".validate";a+=" if (!("+e.yieldAwait+" "+P+"("+u+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(i);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+u+") ":" "+P+".test("+u+") ",a+=") { "}}var E=E||[];E.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",a+=d?""+c:""+e.util.toQuotedString(i),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=d?"' + "+c+" + '":""+e.util.escapeQuotes(i),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=d?"validate.schema"+n:""+e.util.toQuotedString(i),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var w=a;return a=E.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+w+"]); ":" validate.errors = ["+w+"]; return false; ":" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",h&&(a+=" else { "),a}},{}],25:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v="i"+s,y=f.dataLevel=e.dataLevel+1,g="data"+y,P=e.baseId;if(a+="var "+d+" = errors;var "+c+";",Array.isArray(i)){var E=e.schema.additionalItems;if(!1===E){a+=" "+c+" = "+u+".length <= "+i.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems",a+=" if (!"+c+") { ";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var S=a;a=b.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+S+"]); ":" validate.errors = ["+S+"]; return false; ":" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l=w,h&&(p+="}",a+=" else { ")}var j=i;if(j)for(var _,x=-1,F=j.length-1;x "+x+") { ";$=u+"["+x+"]";f.schema=_,f.schemaPath=n+"["+x+"]",f.errSchemaPath=l+"/"+x,f.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,!0),f.dataPathArr[y]=x;R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",a+=" } ",h&&(a+=" if ("+m+") { ",p+="}")}if("object"==typeof E&&e.util.schemaHasRules(E,e.RULES.all)){f.schema=E,f.schemaPath=e.schemaPath+".additionalItems",f.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+m+" = true; if ("+u+".length > "+i.length+") { for (var "+v+" = "+i.length+"; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[y]=v;R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",h&&(a+=" if (!"+m+") break; "),a+=" } } ",h&&(a+=" if ("+m+") { ",p+="}")}}else if(e.util.schemaHasRules(i,e.RULES.all)){f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" for (var "+v+" = 0; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);var $=u+"["+v+"]";f.dataPathArr[y]=v;var R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",h&&(a+=" if (!"+m+") break; "),a+=" }"}return h&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],26:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="var division"+o+";if (",d&&(s+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),s+=" (division"+o+" = "+c+" / "+a+", ",s+=e.opts.multipleOfPrecision?" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":" division"+o+" !== parseInt(division"+o+") ",s+=" ) ",d&&(s+=" ) "),s+=" ) { ";var f=f||[];f.push(s),s="",!1!==e.createErrors?(s+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { multipleOf: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be multiple of ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var p=s;return s=f.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],27:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l,a+=" var "+c+" = errors; ";var p=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1;var m;d.opts.allErrors&&(m=d.opts.allErrors,d.opts.allErrors=!1),a+=" "+e.validate(d)+" ",d.createErrors=!0,m&&(d.opts.allErrors=m),e.compositeRule=d.compositeRule=p,a+=" if ("+f+") { ";var v=v||[];v.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var y=a;a=v.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+y+"]); ":" validate.errors = ["+y+"]; return false; ":" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",h&&(a+=" if (false) { ");return a}},{}],28:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level;a+="var "+d+" = errors;var prevValid"+s+" = false;var "+c+" = false;";var v=f.baseId,y=e.compositeRule;e.compositeRule=f.compositeRule=!0;var g=i;if(g)for(var P,E=-1,w=g.length-1;E5)a+=" || validate.schema"+n+"["+v+"] ";else{var L=w;if(L)for(var z=-1,C=L.length-1;z= "+me+"; ",l=e.errSchemaPath+"/patternGroups/minimum",a+=" if (!"+c+") { ";(Ee=Ee||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'patternGroups' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { reason: '"+ge+"', limit: "+ye+", pattern: '"+e.util.escapeQuotes(he)+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have "+Pe+" than "+ye+' properties matching pattern "'+e.util.escapeQuotes(he)+"\"' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";we=a;a=Ee.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+we+"]); ":" validate.errors = ["+we+"]; return false; ":" var err = "+we+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",void 0!==ve&&(a+=" else ")}if(void 0!==ve){var ye=ve,ge="maximum",Pe="more";a+=" "+c+" = pgPropCount"+s+" <= "+ve+"; ",l=e.errSchemaPath+"/patternGroups/maximum",a+=" if (!"+c+") { ";var Ee=Ee||[];Ee.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'patternGroups' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { reason: '"+ge+"', limit: "+ye+", pattern: '"+e.util.escapeQuotes(he)+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have "+Pe+" than "+ye+' properties matching pattern "'+e.util.escapeQuotes(he)+"\"' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var we=a;a=Ee.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+we+"]); ":" validate.errors = ["+we+"]; return false; ":" var err = "+we+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } "}l=te,h&&(a+=" if ("+c+") { ",p+="}")}}}}return h&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],31:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l;var p="key"+s,m="idx"+s,v="i"+s,y="' + "+p+" + '",g="data"+(d.dataLevel=e.dataLevel+1),P="dataProperties"+s,E=e.opts.ownProperties,w=e.baseId;a+=" var "+c+" = errors; ",E&&(a+=" var "+P+" = undefined; "),a+=E?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+p+" = "+P+"["+m+"]; ":" for (var "+p+" in "+u+") { ",a+=" var startErrs"+s+" = errors; ";var b=p,S=e.compositeRule;e.compositeRule=d.compositeRule=!0;var j=e.validate(d);d.baseId=w,e.util.varOccurences(j,g)<2?a+=" "+e.util.varReplace(j,g,b)+" ":a+=" var "+g+" = "+b+"; "+j+" ",e.compositeRule=d.compositeRule=S,a+=" if (!"+f+") { for (var "+v+"=startErrs"+s+"; "+v+"=e.opts.loopRequired,b=e.opts.ownProperties;if(h)if(a+=" var missing"+s+"; ",w){d||(a+=" var "+f+" = validate.schema"+n+"; ");R="' + "+($="schema"+s+"["+(j="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,$,e.opts.jsonPointers)),a+=" var "+c+" = true; ",d&&(a+=" if (schema"+s+" === undefined) "+c+" = true; else if (!Array.isArray(schema"+s+")) "+c+" = false; else {"),a+=" for (var "+j+" = 0; "+j+" < "+f+".length; "+j+"++) { "+c+" = "+u+"["+f+"["+j+"]] !== undefined ",b&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", "+f+"["+j+"]) "),a+="; if (!"+c+") break; } ",d&&(a+=" } "),a+=" if (!"+c+") { ";(x=x||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+R+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+R+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";F=a;a=x.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+F+"]); ":" validate.errors = ["+F+"]; return false; ":" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var S=p;if(S)for(var j=-1,_=S.length-1;j<_;){D=S[j+=1],j&&(a+=" || ");a+=" ( ( "+(q=u+(k=e.util.getProperty(D)))+" === undefined ",b&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(D)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?D:k)+") ) "}a+=") { ";R="' + "+($="missing"+s)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,$,!0):E+" + "+$);var x=x||[];x.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+R+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+R+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var F=a;a=x.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+F+"]); ":" validate.errors = ["+F+"]; return false; ":" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var $="schema"+s+"["+(j="i"+s)+"]",R="' + "+$+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,$,e.opts.jsonPointers)),d&&(a+=" if ("+f+" && !Array.isArray("+f+")) { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+R+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+R+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+j+" = 0; "+j+" < "+f+".length; "+j+"++) { if ("+u+"["+f+"["+j+"]] === undefined ",b&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+f+"["+j+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+R+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+R+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(a+=" } ")}else{var O=p;if(O)for(var D,I=-1,A=O.length-1;I 1) { var i = "+c+".length, j; outer: for (;i--;) { for (j = i; j--;) { if (equal("+c+"[i], "+c+"[j])) { "+d+" = false; break outer; } } } } ",f&&(s+=" } "),s+=" if (!"+d+") { ";var p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(s+=" , schema: ",s+=f?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",u&&(s+=" else { ")}else u&&(s+=" if (true) { ");return s}},{}],35:[function(e,r,t){"use strict";r.exports=function(e,r,t){function a(e){for(var r=e.rules,t=0;t2&&(r=n.call(arguments,1)),t(r)})})}.call(this,e):Array.isArray(e)?function(e){return Promise.all(e.map(s,this))}.call(this,e):function(e){return Object==e.constructor}(e)?function(e){for(var r=new e.constructor,t=Object.keys(e),a=[],i=0;i1&&(a=t[0]+"@",e=t[1]);return a+o((e=e.replace(O,".")).split("."),r).join(".")}function n(e){for(var r,t,a=[],s=0,o=e.length;s=55296&&r<=56319&&s65535&&(r+=k((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=k(e)}).join("")}function h(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:E}function u(e,r){return e+22+75*(e<26)-((0!=r)<<5)}function c(e,r,t){var a=0;for(e=t?A(e/j):e>>1,e+=A(e/r);e>I*b>>1;a+=E)e=A(e/I);return A(a+(I+1)*e/(e+S))}function d(e){var r,t,a,o,i,n,u,d,f,p,m=[],v=e.length,y=0,g=x,S=_;for((t=e.lastIndexOf(F))<0&&(t=0),a=0;a=128&&s("not-basic"),m.push(e.charCodeAt(a));for(o=t>0?t+1:0;o=v&&s("invalid-input"),((d=h(e.charCodeAt(o++)))>=E||d>A((P-y)/n))&&s("overflow"),y+=d*n,f=u<=S?w:u>=S+b?b:u-S,!(dA(P/(p=E-f))&&s("overflow"),n*=p;S=c(y-i,r=m.length+1,0==i),A(y/r)>P-g&&s("overflow"),g+=A(y/r),y%=r,m.splice(y++,0,g)}return l(m)}function f(e){var r,t,a,o,i,l,h,d,f,p,m,v,y,g,S,j=[];for(v=(e=n(e)).length,r=x,t=0,i=_,l=0;l=r&&mA((P-t)/(y=a+1))&&s("overflow"),t+=(h-r)*y,r=h,l=0;lP&&s("overflow"),m==r){for(d=t,f=E;p=f<=i?w:f>=i+b?b:f-i,!(d= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=E-w,A=Math.floor,k=String.fromCharCode;if(y={version:"1.4.1",ucs2:{decode:n,encode:l},decode:d,encode:f,toASCII:function(e){return i(e,function(e){return R.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return i(e,function(e){return $.test(e)?d(e.slice(4).toLowerCase()):e})}},p&&m)if(r.exports==p)m.exports=y;else for(g in y)y.hasOwnProperty(g)&&(p[g]=y[g]);else a.punycode=y}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],45:[function(e,r,t){"use strict";function a(e,r){return Object.prototype.hasOwnProperty.call(e,r)}r.exports=function(e,r,t,o){r=r||"&",t=t||"=";var i={};if("string"!=typeof e||0===e.length)return i;var n=/\+/g;e=e.split(r);var l=1e3;o&&"number"==typeof o.maxKeys&&(l=o.maxKeys);var h=e.length;l>0&&h>l&&(h=l);for(var u=0;u=0?(c=m.substr(0,v),d=m.substr(v+1)):(c=m,d=""),f=decodeURIComponent(c),p=decodeURIComponent(d),a(i,f)?s(i[f])?i[f].push(p):i[f]=[i[f],p]:i[f]=p}return i};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],46:[function(e,r,t){"use strict";function a(e,r){if(e.map)return e.map(r);for(var t=[],a=0;a",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(u),d=["%","/","?",";","#"].concat(c),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},P=e("querystring");a.prototype.parse=function(e,r,t){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var a=e.indexOf("?"),s=-1!==a&&a127?A+="x":A+=I[k];if(!A.match(p)){var L=O.slice(0,_),z=O.slice(_+1),C=I.match(m);C&&(L.push(C[1]),z.unshift(C[2])),z.length&&(u="/"+z.join(".")+u),this.hostname=L.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),R||(this.hostname=o.toASCII(this.hostname));T=this.port?":"+this.port:"";this.host=(this.hostname||"")+T,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==u[0]&&(u="/"+u))}if(!v[b])for(var _=0,D=c.length;_0)&&t.host.split("@"))&&(t.auth=$.shift(),t.host=t.hostname=$.shift())}return t.search=e.search,t.query=e.query,i.isNull(t.pathname)&&i.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.href=t.format(),t}if(!E.length)return t.pathname=null,t.path=t.search?"/"+t.search:null,t.href=t.format(),t;for(var S=E.slice(-1)[0],j=(t.host||e.host||E.length>1)&&("."===S||".."===S)||""===S,_=0,x=E.length;x>=0;x--)"."===(S=E[x])?E.splice(x,1):".."===S?(E.splice(x,1),_++):_&&(E.splice(x,1),_--);if(!v&&!P)for(;_--;_)E.unshift("..");!v||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),j&&"/"!==E.join("/").substr(-1)&&E.push("");var F=""===E[0]||E[0]&&"/"===E[0].charAt(0);if(b){t.hostname=t.host=F?"":E.length?E.shift():"";var $=!!(t.host&&t.host.indexOf("@")>0)&&t.host.split("@");$&&(t.auth=$.shift(),t.host=t.hostname=$.shift())}return(v=v||t.host&&E.length)&&!F&&E.unshift(""),E.length?t.pathname=E.join("/"):(t.pathname=null,t.path=null),i.isNull(t.pathname)&&i.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.auth=e.auth||t.auth,t.slashes=t.slashes||e.slashes,t.href=t.format(),t},a.prototype.parseHost=function(){var e=this.host,r=l.exec(e);r&&(":"!==(r=r[0])&&(this.port=r.substr(1)),e=e.substr(0,e.length-r.length)),e&&(this.hostname=e)}},{"./util":49,punycode:44,querystring:47}],49:[function(e,r,t){"use strict";r.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],ajv:[function(e,r,t){"use strict";function a(r){if(!(this instanceof a))return new a(r);r=this._opts=E.copy(r)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:u,warn:u,error:u};else{if(void 0===r&&(r=console),!("object"==typeof r&&r.log&&r.warn&&r.error))throw new Error("logger must implement log, warn and error methods");e.logger=r}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=v(r.format);var t=this._schemaUriFormat=this._formats["uri-reference"];this._schemaUriFormatFunc=function(e){return t.test(e)},this._cache=r.cache||new f,this._loadingSchemas={},this._compilations=[],this.RULES=y(),this._getId=function(e){switch(e.schemaId){case"$id":return n;case"id":return i;default:return l}}(r),r.loopRequired=r.loopRequired||1/0,"property"==r.errorDataPath&&(r._errorDataPathProperty=!0),void 0===r.serialize&&(r.serialize=m),this._metaOpts=function(e){for(var r=E.copy(e._opts),t=0;t<_.length;t++)delete r[_[t]];return r}(this),r.formats&&function(e){for(var r in e._opts.formats){e.addFormat(r,e._opts.formats[r])}}(this),function(r){var t;r._opts.$data&&(t=e("./refs/$data.json"),r.addMetaSchema(t,t.$id,!0));if(!1===r._opts.meta)return;var a=e("./refs/json-schema-draft-06.json");r._opts.$data&&(a=g(a,x));r.addMetaSchema(a,j,!0),r._refs["http://json-schema.org/schema"]=j}(this),"object"==typeof r.meta&&this.addMetaSchema(r.meta),function(e){var r=e._opts.schemas;if(!r)return;if(Array.isArray(r))e.addSchema(r);else for(var t in r)e.addSchema(r[t],t)}(this),r.patternGroups&&P(this)}function s(e,r){return r=d.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function o(e,r,t){for(var a in r){var s=r[a];s.meta||t&&!t.test(a)||(e._cache.del(s.cacheKey),delete r[a])}}function i(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function n(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function l(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function h(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function u(){}var c=e("./compile"),d=e("./compile/resolve"),f=e("./cache"),p=e("./compile/schema_obj"),m=e("fast-json-stable-stringify"),v=e("./compile/formats"),y=e("./compile/rules"),g=e("./$data"),P=e("./patternGroups"),E=e("./compile/util"),w=e("co");r.exports=a,a.prototype.validate=function(e,r){var t;if("string"==typeof e){if(!(t=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var a=this._addSchema(e);t=a.validate||this._compile(a)}var s=t(r);return!0===t.$async?"*"==this._opts.async?w(s):s:(this.errors=t.errors,s)},a.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},a.prototype.addSchema=function(e,r,t,a){if(!Array.isArray(e)){var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return r=d.normalizeId(r||s),h(this,r),this._schemas[r]=this._addSchema(e,t,a,!0),this}for(var o=0;o=1&&t<=12&&a>=1&&a<=h[t]}function o(e,r){var t=e.match(u);if(!t)return!1;return t[1]<=23&&t[2]<=59&&t[3]<=59&&(!r||t[5])}function i(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}var n=e("./util"),l=/^\d\d\d\d-(\d\d)-(\d\d)$/,h=[0,31,29,31,30,31,30,31,31,30,31,30,31],u=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,c=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,d=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,f=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,p=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,m=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,v=/^(?:\/(?:[^~/]|~0|~1)*)*$|^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,y=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;r.exports=a,a.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*)(?::|\/)\/?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/\/)?[^\s]*$/i,"uri-template":f,url:p,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:c,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:i,uuid:m,"json-pointer":v,"relative-json-pointer":y},a.full={date:s,time:o,"date-time":function(e){var r=e.split(g);return 2==r.length&&s(r[0])&&o(r[1],!0)},uri:function(e){return P.test(e)&&d.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":f,url:p,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&c.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:i,uuid:m,"json-pointer":v,"relative-json-pointer":y};var g=/t|\s/i,P=/\/|:/,E=/[^\\]\\Z/},{"./util":12}],7:[function(e,r,t){"use strict";function a(e,r,t,P){function E(){var e=C.validate,r=e.apply(null,arguments);return E.errors=e.errors,r}function w(e,t,s,f){var P=!t||t&&t.schema==e;if(t.schema!=r.schema)return a.call($,e,t,s,f);var E=!0===e.$async,w=p({isTop:!0,schema:e,isRoot:P,baseId:f,root:t,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:d.MissingRef,RULES:U,validate:p,util:c,resolve:u,resolveRef:b,usePattern:_,useDefault:x,useCustomRule:F,opts:R,formats:Q,logger:$.logger,self:$});w=h(O,n)+h(I,o)+h(k,i)+h(L,l)+w,R.processCode&&(w=R.processCode(w));var S;try{S=new Function("self","RULES","formats","root","refVal","defaults","customRules","co","equal","ucs2length","ValidationError",w)($,U,Q,r,O,k,L,m,y,v,g),O[0]=S}catch(e){throw $.logger.error("Error compiling schema, function code:",w),e}return S.schema=e,S.errors=null,S.refs=D,S.refVal=O,S.root=P?S:t,E&&(S.$async=!0),!0===R.sourceCode&&(S.source={code:w,patterns:I,defaults:k}),S}function b(e,s,o){s=u.url(e,s);var i,n,l=D[s];if(void 0!==l)return i=O[l],n="refVal["+l+"]",j(i,n);if(!o&&r.refs){var h=r.refs[s];if(void 0!==h)return i=r.refVal[h],n=S(s,i),j(i,n)}n=S(s);var c=u.call($,w,r,s);if(void 0===c){var d=t&&t[s];d&&(c=u.inlineRef(d,R.inlineRefs)?d:a.call($,d,r,t,e))}if(void 0!==c)return function(e,r){O[D[e]]=r}(s,c),j(c,n);!function(e){delete D[e]}(s)}function S(e,r){var t=O.length;return O[t]=r,D[e]=t,"refVal"+t}function j(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&e.$async}}function _(e){var r=A[e];return void 0===r&&(r=A[e]=I.length,I[r]=e),"pattern"+r}function x(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return c.toQuotedString(e);case"object":if(null===e)return"null";var r=f(e),t=q[r];return void 0===t&&(t=q[r]=k.length,k[t]=e),"default"+t}}function F(e,r,t,a){var s=e.definition.validateSchema;if(s&&!1!==$._opts.validateSchema){if(!s(r)){var o="keyword schema is invalid: "+$.errorsText(s.errors);if("log"!=$._opts.validateSchema)throw new Error(o);$.logger.error(o)}}var i,n=e.definition.compile,l=e.definition.inline,h=e.definition.macro;if(n)i=n.call($,r,t,a);else if(h)i=h.call($,r,t,a),!1!==R.validateSchema&&$.validateSchema(i,!0);else if(l)i=l.call($,a,e.keyword,r,t);else if(!(i=e.definition.validate))return;if(void 0===i)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var u=L.length;return L[u]=i,{code:"customRule"+u,validate:i}}var $=this,R=this._opts,O=[void 0],D={},I=[],A={},k=[],q={},L=[],z=function(e,r,t){var a=s.call(this,e,r,t);return a>=0?{index:a,compiling:!0}:(a=this._compilations.length,this._compilations[a]={schema:e,root:r,baseId:t},{index:a,compiling:!1})}.call(this,e,r=r||{schema:e,refVal:O,refs:D},P),C=this._compilations[z.index];if(z.compiling)return C.callValidate=E;var Q=this._formats,U=this.RULES;try{var V=w(e,r,t,P);C.validate=V;var N=C.callValidate;return N&&(N.schema=V.schema,N.errors=null,N.refs=V.refs,N.refVal=V.refVal,N.root=V.root,N.$async=V.$async,R.sourceCode&&(N.source=V.source)),V}finally{(function(e,r,t){var a=s.call(this,e,r,t);a>=0&&this._compilations.splice(a,1)}).call(this,e,r,P)}}function s(e,r,t){for(var a=0;a=55296&&r<=56319&&s=r)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(a>r)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(i="data"+(r-a||""),!s)return i}for(var l=i,h=s.split("/"),c=0;c",y=f?">":"<",g=void 0;if(e.opts.$data&&m&&m.$data){var P=e.util.getData(m.$data,i,e.dataPathArr),E="exclusive"+o,w="exclType"+o,b="exclIsNumber"+o,S="' + "+(_="op"+o)+" + '";s+=" var schemaExcl"+o+" = "+P+"; ",s+=" var "+E+"; var "+w+" = typeof "+(P="schemaExcl"+o)+"; if ("+w+" != 'boolean' && "+w+" != 'undefined' && "+w+" != 'number') { ";g=p;(x=x||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(g||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: {} ",!1!==e.opts.messages&&(s+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(s+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var j=s;s=x.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+j+"]); ":" validate.errors = ["+j+"]; return false; ":" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } else if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+w+" == 'number' ? ( ("+E+" = "+a+" === undefined || "+P+" "+v+"= "+a+") ? "+c+" "+y+"= "+P+" : "+c+" "+y+" "+a+" ) : ( ("+E+" = "+P+" === true) ? "+c+" "+y+"= "+a+" : "+c+" "+y+" "+a+" ) || "+c+" !== "+c+") { var op"+o+" = "+E+" ? '"+v+"' : '"+v+"=';"}else{S=v;if((b="number"==typeof m)&&d){var _="'"+S+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" ( "+a+" === undefined || "+m+" "+v+"= "+a+" ? "+c+" "+y+"= "+m+" : "+c+" "+y+" "+a+" ) || "+c+" !== "+c+") { "}else{b&&void 0===n?(E=!0,g=p,h=e.errSchemaPath+"/"+p,a=m,y+="="):(b&&(a=Math[f?"min":"max"](m,n)),m===(!b||a)?(E=!0,g=p,h=e.errSchemaPath+"/"+p,y+="="):(E=!1,S+="="));_="'"+S+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+c+" "+y+" "+a+" || "+c+" !== "+c+") { "}}g=g||r;var x;(x=x||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(g||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { comparison: "+_+", limit: "+a+", exclusive: "+E+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be "+S+" ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";j=s;return s=x.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+j+"]); ":" validate.errors = ["+j+"]; return false; ":" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",u&&(s+=" else { "),s}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+c+".length "+("maxItems"==r?">":"<")+" "+a+") { ";var f=r,p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxItems"==r?"more":"less",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" items' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=!1===e.opts.unicode?" "+c+".length ":" ucs2length("+c+") ",s+=" "+("maxLength"==r?">":"<")+" "+a+") { ";var f=r,p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT be ",s+="maxLength"==r?"longer":"shorter",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" characters' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" Object.keys("+c+").length "+("maxProperties"==r?">":"<")+" "+a+") { ";var f=r,p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxProperties"==r?"more":"less",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" properties' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],17:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.schema[r],o=e.schemaPath+e.util.getProperty(r),i=e.errSchemaPath+"/"+r,n=!e.opts.allErrors,l=e.util.copy(e),h="";l.level++;var u="valid"+l.level,c=l.baseId,d=!0,f=s;if(f)for(var p,m=-1,v=f.length-1;m=0)return h&&(a+=" if (true) { "),a;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,y=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var g=!0===m.async;m=m.validate}if(y!=t)return h&&(a+=" if (true) { "),a;if(g){if(!e.async)throw new Error("async format in sync schema");var P="formats"+e.util.getProperty(i)+".validate";a+=" if (!("+e.yieldAwait+" "+P+"("+u+"))) { "}else{a+=" if (! ";P="formats"+e.util.getProperty(i);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+u+") ":" "+P+".test("+u+") ",a+=") { "}}var E=E||[];E.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",a+=d?""+c:""+e.util.toQuotedString(i),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=d?"' + "+c+" + '":""+e.util.escapeQuotes(i),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=d?"validate.schema"+n:""+e.util.toQuotedString(i),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var w=a;return a=E.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+w+"]); ":" validate.errors = ["+w+"]; return false; ":" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",h&&(a+=" else { "),a}},{}],25:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v="i"+s,y=f.dataLevel=e.dataLevel+1,g="data"+y,P=e.baseId;if(a+="var "+d+" = errors;var "+c+";",Array.isArray(i)){var E=e.schema.additionalItems;if(!1===E){a+=" "+c+" = "+u+".length <= "+i.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems",a+=" if (!"+c+") { ";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var S=a;a=b.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+S+"]); ":" validate.errors = ["+S+"]; return false; ":" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l=w,h&&(p+="}",a+=" else { ")}var j=i;if(j)for(var _,x=-1,F=j.length-1;x "+x+") { ";var $=u+"["+x+"]";f.schema=_,f.schemaPath=n+"["+x+"]",f.errSchemaPath=l+"/"+x,f.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,!0),f.dataPathArr[y]=x;var R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",a+=" } ",h&&(a+=" if ("+m+") { ",p+="}")}if("object"==typeof E&&e.util.schemaHasRules(E,e.RULES.all)){f.schema=E,f.schemaPath=e.schemaPath+".additionalItems",f.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+m+" = true; if ("+u+".length > "+i.length+") { for (var "+v+" = "+i.length+"; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[y]=v;R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",h&&(a+=" if (!"+m+") break; "),a+=" } } ",h&&(a+=" if ("+m+") { ",p+="}")}}else if(e.util.schemaHasRules(i,e.RULES.all)){f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" for (var "+v+" = 0; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[y]=v;R=e.validate(f);f.baseId=P,e.util.varOccurences(R,g)<2?a+=" "+e.util.varReplace(R,g,$)+" ":a+=" var "+g+" = "+$+"; "+R+" ",h&&(a+=" if (!"+m+") break; "),a+=" }"}return h&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],26:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),h=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="var division"+o+";if (",d&&(s+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),s+=" (division"+o+" = "+c+" / "+a+", ",s+=e.opts.multipleOfPrecision?" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":" division"+o+" !== parseInt(division"+o+") ",s+=" ) ",d&&(s+=" ) "),s+=" ) { ";var f=f||[];f.push(s),s="",!1!==e.createErrors?(s+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { multipleOf: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be multiple of ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var p=s;return s=f.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],27:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l,a+=" var "+c+" = errors; ";var p=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1;var m;d.opts.allErrors&&(m=d.opts.allErrors,d.opts.allErrors=!1),a+=" "+e.validate(d)+" ",d.createErrors=!0,m&&(d.opts.allErrors=m),e.compositeRule=d.compositeRule=p,a+=" if ("+f+") { ";var v=v||[];v.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var y=a;a=v.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+y+"]); ":" validate.errors = ["+y+"]; return false; ":" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",h&&(a+=" if (false) { ");return a}},{}],28:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level;a+="var "+d+" = errors;var prevValid"+s+" = false;var "+c+" = false;";var v=f.baseId,y=e.compositeRule;e.compositeRule=f.compositeRule=!0;var g=i;if(g)for(var P,E=-1,w=g.length-1;E5)a+=" || validate.schema"+n+"["+v+"] ";else{var L=w;if(L)for(var z=-1,C=L.length-1;z= "+ve+"; ",l=e.errSchemaPath+"/patternGroups/minimum",a+=" if (!"+c+") { ";(we=we||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'patternGroups' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { reason: '"+Pe+"', limit: "+ge+", pattern: '"+e.util.escapeQuotes(ce)+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have "+Ee+" than "+ge+' properties matching pattern "'+e.util.escapeQuotes(ce)+"\"' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";B=a;a=we.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+B+"]); ":" validate.errors = ["+B+"]; return false; ":" var err = "+B+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",void 0!==ye&&(a+=" else ")}if(void 0!==ye){ge=ye,Pe="maximum",Ee="more";a+=" "+c+" = pgPropCount"+s+" <= "+ye+"; ",l=e.errSchemaPath+"/patternGroups/maximum",a+=" if (!"+c+") { ";var we;(we=we||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'patternGroups' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { reason: '"+Pe+"', limit: "+ge+", pattern: '"+e.util.escapeQuotes(ce)+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have "+Ee+" than "+ge+' properties matching pattern "'+e.util.escapeQuotes(ce)+"\"' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";B=a;a=we.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+B+"]); ":" validate.errors = ["+B+"]; return false; ":" var err = "+B+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } "}l=K,h&&(a+=" if ("+c+") { ",p+="}")}}}}return h&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],31:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,u="data"+(o||""),c="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l;var p="key"+s,m="idx"+s,v="i"+s,y="' + "+p+" + '",g="data"+(d.dataLevel=e.dataLevel+1),P="dataProperties"+s,E=e.opts.ownProperties,w=e.baseId;a+=" var "+c+" = errors; ",E&&(a+=" var "+P+" = undefined; "),a+=E?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+p+" = "+P+"["+m+"]; ":" for (var "+p+" in "+u+") { ",a+=" var startErrs"+s+" = errors; ";var b=p,S=e.compositeRule;e.compositeRule=d.compositeRule=!0;var j=e.validate(d);d.baseId=w,e.util.varOccurences(j,g)<2?a+=" "+e.util.varReplace(j,g,b)+" ":a+=" var "+g+" = "+b+"; "+j+" ",e.compositeRule=d.compositeRule=S,a+=" if (!"+f+") { for (var "+v+"=startErrs"+s+"; "+v+"=e.opts.loopRequired,b=e.opts.ownProperties;if(h)if(a+=" var missing"+s+"; ",w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var S="' + "+(R="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,R,e.opts.jsonPointers)),a+=" var "+c+" = true; ",d&&(a+=" if (schema"+s+" === undefined) "+c+" = true; else if (!Array.isArray(schema"+s+")) "+c+" = false; else {"),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { "+c+" = "+u+"["+f+"["+x+"]] !== undefined ",b&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", "+f+"["+x+"]) "),a+="; if (!"+c+") break; } ",d&&(a+=" } "),a+=" if (!"+c+") { ";($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+S+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var j=a;a=$.pop(),a+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+j+"]); ":" validate.errors = ["+j+"]; return false; ":" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var _=p;if(_)for(var x=-1,F=_.length-1;x 1) { var i = "+c+".length, j; outer: for (;i--;) { for (j = i; j--;) { if (equal("+c+"[i], "+c+"[j])) { "+d+" = false; break outer; } } } } ",f&&(s+=" } "),s+=" if (!"+d+") { ";var p=p||[];p.push(s),s="",!1!==e.createErrors?(s+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(s+=" , schema: ",s+=f?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),s+=" } "):s+=" {} ";var m=s;s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",u&&(s+=" else { ")}else u&&(s+=" if (true) { ");return s}},{}],35:[function(e,r,t){"use strict";r.exports=function(e,r,t){function a(e){for(var r=e.rules,t=0;t2&&(r=n.call(arguments,1)),t(r)})})}.call(this,e):Array.isArray(e)?function(e){return Promise.all(e.map(s,this))}.call(this,e):function(e){return Object==e.constructor}(e)?function(e){for(var r=new e.constructor,t=Object.keys(e),a=[],i=0;i1&&(a=t[0]+"@",e=t[1]);return a+o((e=e.replace(O,".")).split("."),r).join(".")}function n(e){for(var r,t,a=[],s=0,o=e.length;s=55296&&r<=56319&&s65535&&(r+=k((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=k(e)}).join("")}function h(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:E}function u(e,r){return e+22+75*(e<26)-((0!=r)<<5)}function c(e,r,t){var a=0;for(e=t?A(e/j):e>>1,e+=A(e/r);e>I*b>>1;a+=E)e=A(e/I);return A(a+(I+1)*e/(e+S))}function d(e){var r,t,a,o,i,n,u,d,f,p,m=[],v=e.length,y=0,g=x,S=_;for((t=e.lastIndexOf(F))<0&&(t=0),a=0;a=128&&s("not-basic"),m.push(e.charCodeAt(a));for(o=t>0?t+1:0;o=v&&s("invalid-input"),((d=h(e.charCodeAt(o++)))>=E||d>A((P-y)/n))&&s("overflow"),y+=d*n,f=u<=S?w:u>=S+b?b:u-S,!(dA(P/(p=E-f))&&s("overflow"),n*=p;S=c(y-i,r=m.length+1,0==i),A(y/r)>P-g&&s("overflow"),g+=A(y/r),y%=r,m.splice(y++,0,g)}return l(m)}function f(e){var r,t,a,o,i,l,h,d,f,p,m,v,y,g,S,j=[];for(v=(e=n(e)).length,r=x,t=0,i=_,l=0;l=r&&mA((P-t)/(y=a+1))&&s("overflow"),t+=(h-r)*y,r=h,l=0;lP&&s("overflow"),m==r){for(d=t,f=E;p=f<=i?w:f>=i+b?b:f-i,!(d= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=E-w,A=Math.floor,k=String.fromCharCode;if(y={version:"1.4.1",ucs2:{decode:n,encode:l},decode:d,encode:f,toASCII:function(e){return i(e,function(e){return R.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return i(e,function(e){return $.test(e)?d(e.slice(4).toLowerCase()):e})}},p&&m)if(r.exports==p)m.exports=y;else for(g in y)y.hasOwnProperty(g)&&(p[g]=y[g]);else a.punycode=y}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],45:[function(e,r,t){"use strict";function a(e,r){return Object.prototype.hasOwnProperty.call(e,r)}r.exports=function(e,r,t,o){r=r||"&",t=t||"=";var i={};if("string"!=typeof e||0===e.length)return i;var n=/\+/g;e=e.split(r);var l=1e3;o&&"number"==typeof o.maxKeys&&(l=o.maxKeys);var h=e.length;l>0&&h>l&&(h=l);for(var u=0;u=0?(c=m.substr(0,v),d=m.substr(v+1)):(c=m,d=""),f=decodeURIComponent(c),p=decodeURIComponent(d),a(i,f)?s(i[f])?i[f].push(p):i[f]=[i[f],p]:i[f]=p}return i};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],46:[function(e,r,t){"use strict";function a(e,r){if(e.map)return e.map(r);for(var t=[],a=0;a",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(u),d=["%","/","?",";","#"].concat(c),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},P=e("querystring");a.prototype.parse=function(e,r,t){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var a=e.indexOf("?"),s=-1!==a&&a127?A+="x":A+=I[k];if(!A.match(p)){var L=O.slice(0,_),z=O.slice(_+1),C=I.match(m);C&&(L.push(C[1]),z.unshift(C[2])),z.length&&(u="/"+z.join(".")+u),this.hostname=L.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),R||(this.hostname=o.toASCII(this.hostname));var Q=this.port?":"+this.port:"";this.host=(this.hostname||"")+Q,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==u[0]&&(u="/"+u))}if(!v[b])for(_=0,D=c.length;_0)&&t.host.split("@"))&&(t.auth=$.shift(),t.host=t.hostname=$.shift())}return t.search=e.search,t.query=e.query,i.isNull(t.pathname)&&i.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.href=t.format(),t}if(!w.length)return t.pathname=null,t.path=t.search?"/"+t.search:null,t.href=t.format(),t;for(var S=w.slice(-1)[0],j=(t.host||e.host||w.length>1)&&("."===S||".."===S)||""===S,_=0,x=w.length;x>=0;x--)"."===(S=w[x])?w.splice(x,1):".."===S?(w.splice(x,1),_++):_&&(w.splice(x,1),_--);if(!P&&!E)for(;_--;_)w.unshift("..");!P||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),j&&"/"!==w.join("/").substr(-1)&&w.push("");var F=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(b){t.hostname=t.host=F?"":w.length?w.shift():"";var $;($=!!(t.host&&t.host.indexOf("@")>0)&&t.host.split("@"))&&(t.auth=$.shift(),t.host=t.hostname=$.shift())}return(P=P||t.host&&w.length)&&!F&&w.unshift(""),w.length?t.pathname=w.join("/"):(t.pathname=null,t.path=null),i.isNull(t.pathname)&&i.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.auth=e.auth||t.auth,t.slashes=t.slashes||e.slashes,t.href=t.format(),t},a.prototype.parseHost=function(){var e=this.host,r=l.exec(e);r&&(":"!==(r=r[0])&&(this.port=r.substr(1)),e=e.substr(0,e.length-r.length)),e&&(this.hostname=e)}},{"./util":49,punycode:44,querystring:47}],49:[function(e,r,t){"use strict";r.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],ajv:[function(e,r,t){"use strict";function a(r){if(!(this instanceof a))return new a(r);r=this._opts=E.copy(r)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:u,warn:u,error:u};else{if(void 0===r&&(r=console),!("object"==typeof r&&r.log&&r.warn&&r.error))throw new Error("logger must implement log, warn and error methods");e.logger=r}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=v(r.format);var t=this._schemaUriFormat=this._formats["uri-reference"];this._schemaUriFormatFunc=function(e){return t.test(e)},this._cache=r.cache||new f,this._loadingSchemas={},this._compilations=[],this.RULES=y(),this._getId=function(e){switch(e.schemaId){case"$id":return n;case"id":return i;default:return l}}(r),r.loopRequired=r.loopRequired||1/0,"property"==r.errorDataPath&&(r._errorDataPathProperty=!0),void 0===r.serialize&&(r.serialize=m),this._metaOpts=function(e){for(var r=E.copy(e._opts),t=0;t<_.length;t++)delete r[_[t]];return r}(this),r.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(r){var t;r._opts.$data&&(t=e("./refs/$data.json"),r.addMetaSchema(t,t.$id,!0));if(!1===r._opts.meta)return;var a=e("./refs/json-schema-draft-06.json");r._opts.$data&&(a=g(a,x));r.addMetaSchema(a,j,!0),r._refs["http://json-schema.org/schema"]=j}(this),"object"==typeof r.meta&&this.addMetaSchema(r.meta),function(e){var r=e._opts.schemas;if(!r)return;if(Array.isArray(r))e.addSchema(r);else for(var t in r)e.addSchema(r[t],t)}(this),r.patternGroups&&P(this)}function s(e,r){return r=d.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function o(e,r,t){for(var a in r){var s=r[a];s.meta||t&&!t.test(a)||(e._cache.del(s.cacheKey),delete r[a])}}function i(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function n(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function l(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function h(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function u(){}var c=e("./compile"),d=e("./compile/resolve"),f=e("./cache"),p=e("./compile/schema_obj"),m=e("fast-json-stable-stringify"),v=e("./compile/formats"),y=e("./compile/rules"),g=e("./$data"),P=e("./patternGroups"),E=e("./compile/util"),w=e("co");r.exports=a,a.prototype.validate=function(e,r){var t;if("string"==typeof e){if(!(t=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var a=this._addSchema(e);t=a.validate||this._compile(a)}var s=t(r);return!0===t.$async?"*"==this._opts.async?w(s):s:(this.errors=t.errors,s)},a.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},a.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var s=0;s=t}function i(e,t,n){var r=t.input.slice(t.start);return n&&(r=r.replace(l,"$1 $3")),e.test(r)}function s(e,t,n,r){var i=new e.constructor(e.options,e.input,t);if(n)for(var s in n)i[s]=n[s];var o=e,a=i;return["inFunction","inAsyncFunction","inAsync","inGenerator","inModule"].forEach(function(e){e in o&&(a[e]=o[e])}),r&&(i.options.preserveParens=!0),i.nextToken(),i}var o={},a=/^async[\t ]+(return|throw)/,u=/^async[\t ]+function/,c=/^\s*[():;]/,l=/([^\n])\/\*(\*(?!\/)|[^\n*])*\*\/([^\n])/g,p=/\s*(get|set)\s*\(/;t.exports=function(e,t){var n=function(){};e.extend("initialContext",function(r){return function(){return this.options.ecmaVersion<7&&(n=function(t){e.raise(t.start,"async/await keywords only available when ecmaVersion>=7")}),this.reservedWords=new RegExp(this.reservedWords.toString().replace(/await|async/g,"").replace("|/","/").replace("/|","/").replace("||","|")),this.reservedWordsStrict=new RegExp(this.reservedWordsStrict.toString().replace(/await|async/g,"").replace("|/","/").replace("/|","/").replace("||","|")),this.reservedWordsStrictBind=new RegExp(this.reservedWordsStrictBind.toString().replace(/await|async/g,"").replace("|/","/").replace("/|","/").replace("||","|")),this.inAsyncFunction=t.inAsyncFunction,t.awaitAnywhere&&t.inAsyncFunction&&e.raise(node.start,"The options awaitAnywhere and inAsyncFunction are mutually exclusive"),r.apply(this,arguments)}}),e.extend("shouldParseExportStatement",function(e){return function(){return!("name"!==this.type.label||"async"!==this.value||!i(u,this))||e.apply(this,arguments)}}),e.extend("parseStatement",function(e){return function(n,r){var s=this.start,o=this.startLoc;if("name"===this.type.label)if(i(u,this,!0)){var c=this.inAsyncFunction;try{return this.inAsyncFunction=!0,this.next(),(l=this.parseStatement(n,r)).async=!0,l.start=s,l.loc&&(l.loc.start=o),l.range&&(l.range[0]=s),l}finally{this.inAsyncFunction=c}}else if("object"==typeof t&&t.asyncExits&&i(a,this)){this.next();var l=this.parseStatement(n,r);return l.async=!0,l.start=s,l.loc&&(l.loc.start=o),l.range&&(l.range[0]=s),l}return e.apply(this,arguments)}}),e.extend("parseIdent",function(e){return function(t){var n=e.apply(this,arguments);return this.inAsyncFunction&&"await"===n.name&&0===arguments.length&&this.raise(n.start,"'await' is reserved within async functions"),n}}),e.extend("parseExprAtom",function(e){return function(i){var a,u=this.start,l=this.startLoc,p=e.apply(this,arguments);if("Identifier"===p.type)if("async"!==p.name||r(this,p.end)){if("await"===p.name){var h=this.startNodeAt(p.start,p.loc&&p.loc.start);if(this.inAsyncFunction)return a=this.parseExprSubscripts(),h.operator="await",h.argument=a,h=this.finishNodeAt(h,"AwaitExpression",a.end,a.loc&&a.loc.end),n(h),h;if(this.input.slice(p.end).match(c))return t.awaitAnywhere||"module"!==this.options.sourceType?p:this.raise(p.start,"'await' is reserved within modules");if("object"==typeof t&&t.awaitAnywhere&&(u=this.start,(a=s(this,u-4).parseExprSubscripts()).end<=u))return a=s(this,u).parseExprSubscripts(),h.operator="await",h.argument=a,h=this.finishNodeAt(h,"AwaitExpression",a.end,a.loc&&a.loc.end),this.pos=a.end,this.end=a.end,this.endLoc=a.endLoc,this.next(),n(h),h;if(!t.awaitAnywhere&&"module"===this.options.sourceType)return this.raise(p.start,"'await' is reserved within modules")}}else{var f=this.inAsyncFunction;try{this.inAsyncFunction=!0;var d=this,y=!1,m={parseFunctionBody:function(e,t){try{var n=y;return y=!0,d.parseFunctionBody.apply(this,arguments)}finally{y=n}},raise:function(){try{return d.raise.apply(this,arguments)}catch(e){throw y?e:o}}};if("SequenceExpression"===(a=s(this,this.start,m,!0).parseExpression()).type&&(a=a.expressions[0]),"CallExpression"===a.type&&(a=a.callee),"FunctionExpression"===a.type||"FunctionDeclaration"===a.type||"ArrowFunctionExpression"===a.type)return"SequenceExpression"===(a=s(this,this.start,m).parseExpression()).type&&(a=a.expressions[0]),"CallExpression"===a.type&&(a=a.callee),a.async=!0,a.start=u,a.loc&&(a.loc.start=l),a.range&&(a.range[0]=u),this.pos=a.end,this.end=a.end,this.endLoc=a.endLoc,this.next(),n(a),a}catch(e){if(e!==o)throw e}finally{this.inAsyncFunction=f}}return p}}),e.extend("finishNodeAt",function(e){return function(t,n,r,i){return t.__asyncValue&&(delete t.__asyncValue,t.value.async=!0),e.apply(this,arguments)}}),e.extend("finishNode",function(e){return function(t,n){return t.__asyncValue&&(delete t.__asyncValue,t.value.async=!0),e.apply(this,arguments)}}),e.extend("parsePropertyName",function(e){return function(t){t.key&&t.key.name;var i=e.apply(this,arguments);return"Identifier"!==i.type||"async"!==i.name||r(this,i.end)||this.input.slice(i.end).match(c)||(p.test(this.input.slice(i.end))?(i=e.apply(this,arguments),t.__asyncValue=!0):(n(t),"set"===t.kind&&this.raise(i.start,"'set (value)' cannot be be async"),"Identifier"===(i=e.apply(this,arguments)).type&&"set"===i.name&&this.raise(i.start,"'set (value)' cannot be be async"),t.__asyncValue=!0)),i}}),e.extend("parseClassMethod",function(e){return function(t,n,r){var i;n.__asyncValue&&("constructor"===n.kind&&this.raise(n.start,"class constructor() cannot be be async"),i=this.inAsyncFunction,this.inAsyncFunction=!0);var s=e.apply(this,arguments);return this.inAsyncFunction=i,s}}),e.extend("parseMethod",function(e){return function(t){var n;this.__currentProperty&&this.__currentProperty.__asyncValue&&(n=this.inAsyncFunction,this.inAsyncFunction=!0);var r=e.apply(this,arguments);return this.inAsyncFunction=n,r}}),e.extend("parsePropertyValue",function(e){return function(t,n,r,i,s,o){var a=this.__currentProperty;this.__currentProperty=t;var u;t.__asyncValue&&(u=this.inAsyncFunction,this.inAsyncFunction=!0);var c=e.apply(this,arguments);return this.inAsyncFunction=u,this.__currentProperty=a,c}})}},{}],3:[function(e,t,n){function r(e,t,n){var r=new e.constructor(e.options,e.input,t);if(n)for(var i in n)r[i]=n[i];var s=e,o=r;return["inFunction","inAsync","inGenerator","inModule"].forEach(function(e){e in s&&(o[e]=s[e])}),r.nextToken(),r}var i=/^async[\t ]+(return|throw)/,s=/^\s*[):;]/,o=/([^\n])\/\*(\*(?!\/)|[^\n*])*\*\/([^\n])/g;t.exports=function(e,t){t&&"object"==typeof t||(t={}),e.extend("parse",function(n){return function(){return this.inAsync=t.inAsyncFunction,t.awaitAnywhere&&t.inAsyncFunction&&e.raise(node.start,"The options awaitAnywhere and inAsyncFunction are mutually exclusive"),n.apply(this,arguments)}}),e.extend("parseStatement",function(e){return function(n,r){var s=this.start,a=this.startLoc;if("name"===this.type.label&&t.asyncExits&&function(e,t,n){var r=t.input.slice(t.start);return n&&(r=r.replace(o,"$1 $3")),e.test(r)}(i,this)){this.next();var u=this.parseStatement(n,r);return u.async=!0,u.start=s,u.loc&&(u.loc.start=a),u.range&&(u.range[0]=s),u}return e.apply(this,arguments)}}),e.extend("parseIdent",function(e){return function(n){return"module"===this.options.sourceType&&this.options.ecmaVersion>=8&&t.awaitAnywhere?e.call(this,!0):e.apply(this,arguments)}}),e.extend("parseExprAtom",function(e){var n={};return function(i){var s,o=this.start,a=(this.startLoc,e.apply(this,arguments));if("Identifier"===a.type&&"await"===a.name&&!this.inAsync&&t.awaitAnywhere){var u=this.startNodeAt(a.start,a.loc&&a.loc.start);o=this.start;var c={raise:function(){try{return pp.raise.apply(this,arguments)}catch(e){throw n}}};try{if((s=r(this,o-4,c).parseExprSubscripts()).end<=o)return s=r(this,o,c).parseExprSubscripts(),u.argument=s,u=this.finishNodeAt(u,"AwaitExpression",s.end,s.loc&&s.loc.end),this.pos=s.end,this.end=s.end,this.endLoc=s.endLoc,this.next(),u}catch(e){if(e===n)return a;throw e}}return a}});var n={undefined:!0,get:!0,set:!0,static:!0,async:!0,constructor:!0};e.extend("parsePropertyName",function(e){return function(t){var r=t.key&&t.key.name,i=e.apply(this,arguments);return"get"===this.value&&(t.__maybeStaticAsyncGetter=!0),n[this.value]?i:("Identifier"!==i.type||"async"!==i.name&&"async"!==r||function(e,t){return e.lineStart>=t}(this,i.end)||this.input.slice(i.end).match(s)?delete t.__maybeStaticAsyncGetter:"set"===t.kind||"set"===i.name?this.raise(i.start,"'set (value)' cannot be be async"):(this.__isAsyncProp=!0,"Identifier"===(i=e.apply(this,arguments)).type&&"set"===i.name&&this.raise(i.start,"'set (value)' cannot be be async")),i)}}),e.extend("parseClassMethod",function(e){return function(t,n,r){var i=e.apply(this,arguments);return n.__maybeStaticAsyncGetter&&(delete n.__maybeStaticAsyncGetter,"get"!==n.key.name&&(n.kind="get")),i}}),e.extend("parseFunctionBody",function(e){return function(t,n){var r=this.inAsync;this.__isAsyncProp&&(t.async=!0,this.inAsync=!0,delete this.__isAsyncProp);var i=e.apply(this,arguments);return this.inAsync=r,i}})}},{}],4:[function(e,t,n){!function(e,r){"object"==typeof n&&void 0!==t?r(n):"function"==typeof define&&define.amd?define(["exports"],r):r(e.acorn=e.acorn||{})}(this,function(e){"use strict";function t(e,t){for(var n=65536,r=0;re)return!1;if((n+=t[r+1])>=e)return!0}}function n(e,n){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&x.test(String.fromCharCode(e)):!1!==n&&t(e,E)))}function r(e,n){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&w.test(String.fromCharCode(e)):!1!==n&&(t(e,E)||t(e,S)))))}function i(e,t){return new k(e,{beforeExpr:!0,binop:t})}function s(e,t){return void 0===t&&(t={}),t.keyword=e,_[e]=new k(e,t)}function o(e){return 10===e||13===e||8232===e||8233===e}function a(e,t){return $.call(e,t)}function u(e,t){for(var n=1,r=0;;){T.lastIndex=r;var i=T.exec(e);if(!(i&&i.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),R(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}return R(t.onComment)&&(t.onComment=function(e,t){return function(n,r,i,s,o,a){var u={type:n?"Block":"Line",value:r,start:i,end:s};e.locations&&(u.loc=new j(this,o,a)),e.ranges&&(u.range=[i,s]),t.push(u)}}(t,t.onComment)),t}function l(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}function p(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=-1}function h(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}function f(e,t,n,r){try{return new RegExp(e,t)}catch(e){if(void 0!==n)throw e instanceof SyntaxError&&r.raise(n,"Error parsing regular expression: "+e.message),e}}function d(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}var y={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},m="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",g={5:m,6:m+" const class extends export import super"},v="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",b="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",x=new RegExp("["+v+"]"),w=new RegExp("["+v+b+"]");v=b=null;var E=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],S=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239],k=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null},A={beforeExpr:!0},C={startsExpr:!0},_={},L={num:new k("num",C),regexp:new k("regexp",C),string:new k("string",C),name:new k("name",C),eof:new k("eof"),bracketL:new k("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new k("]"),braceL:new k("{",{beforeExpr:!0,startsExpr:!0}),braceR:new k("}"),parenL:new k("(",{beforeExpr:!0,startsExpr:!0}),parenR:new k(")"),comma:new k(",",A),semi:new k(";",A),colon:new k(":",A),dot:new k("."),question:new k("?",A),arrow:new k("=>",A),template:new k("template"),invalidTemplate:new k("invalidTemplate"),ellipsis:new k("...",A),backQuote:new k("`",C),dollarBraceL:new k("${",{beforeExpr:!0,startsExpr:!0}),eq:new k("=",{beforeExpr:!0,isAssign:!0}),assign:new k("_=",{beforeExpr:!0,isAssign:!0}),incDec:new k("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new k("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:i("||",1),logicalAND:i("&&",2),bitwiseOR:i("|",3),bitwiseXOR:i("^",4),bitwiseAND:i("&",5),equality:i("==/!=/===/!==",6),relational:i("/<=/>=",7),bitShift:i("<>/>>>",8),plusMin:new k("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:i("%",10),star:i("*",10),slash:i("/",10),starstar:new k("**",{beforeExpr:!0}),_break:s("break"),_case:s("case",A),_catch:s("catch"),_continue:s("continue"),_debugger:s("debugger"),_default:s("default",A),_do:s("do",{isLoop:!0,beforeExpr:!0}),_else:s("else",A),_finally:s("finally"),_for:s("for",{isLoop:!0}),_function:s("function",C),_if:s("if"),_return:s("return",A),_switch:s("switch"),_throw:s("throw",A),_try:s("try"),_var:s("var"),_const:s("const"),_while:s("while",{isLoop:!0}),_with:s("with"),_new:s("new",{beforeExpr:!0,startsExpr:!0}),_this:s("this",C),_super:s("super",C),_class:s("class",C),_extends:s("extends",A),_export:s("export"),_import:s("import"),_null:s("null",C),_true:s("true",C),_false:s("false",C),_in:s("in",{beforeExpr:!0,binop:7}),_instanceof:s("instanceof",{beforeExpr:!0,binop:7}),_typeof:s("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:s("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:s("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},O=/\r\n?|\n|\u2028|\u2029/,T=new RegExp(O.source,"g"),N=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,P=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,F=Object.prototype,$=F.hasOwnProperty,B=F.toString,R=Array.isArray||function(e){return"[object Array]"===B.call(e)},I=function(e,t){this.line=e,this.column=t};I.prototype.offset=function(e){return new I(this.line,this.column+e)};var j=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)},D={ecmaVersion:7,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1,plugins:{}},M={},q=function(e,t,n){this.options=e=c(e),this.sourceFile=e.sourceFile,this.keywords=l(g[e.ecmaVersion>=6?6:5]);var r="";if(!e.allowReserved){for(var i=e.ecmaVersion;!(r=y[i]);i--);"module"==e.sourceType&&(r+=" await")}this.reservedWords=l(r);var s=(r?r+" ":"")+y.strict;this.reservedWordsStrict=l(s),this.reservedWordsStrictBind=l(s+" "+y.strictBind),this.input=String(t),this.containsEsc=!1,this.loadPlugins(e.plugins),n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(O).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=L.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.inFunction=this.inGenerator=this.inAsync=!1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterFunctionScope()};q.prototype.isKeyword=function(e){return this.keywords.test(e)},q.prototype.isReservedWord=function(e){return this.reservedWords.test(e)},q.prototype.extend=function(e,t){this[e]=t(this[e])},q.prototype.loadPlugins=function(e){for(var t in e){var n=M[t];if(!n)throw new Error("Plugin '"+t+"' not found");n(this,e[t])}},q.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)};var V=q.prototype,U=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/;V.strictDirective=function(e){for(;;){P.lastIndex=e,e+=P.exec(this.input)[0].length;var t=U.exec(this.input.slice(e));if(!t)return!1;if("use strict"==(t[1]||t[2]))return!0;e+=t[0].length}},V.eat=function(e){return this.type===e&&(this.next(),!0)},V.isContextual=function(e){return this.type===L.name&&this.value===e},V.eatContextual=function(e){return this.value===e&&this.eat(L.name)},V.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},V.canInsertSemicolon=function(){return this.type===L.eof||this.type===L.braceR||O.test(this.input.slice(this.lastTokEnd,this.start))},V.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},V.semicolon=function(){this.eat(L.semi)||this.insertSemicolon()||this.unexpected()},V.afterTrailingComma=function(e,t){if(this.type==e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},V.expect=function(e){this.eat(e)||this.unexpected()},V.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},V.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,"Parenthesized pattern")}},V.checkExpressionErrors=function(e,t){var n=e?e.shorthandAssign:-1;if(!t)return n>=0;n>-1&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns")},V.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&(e.sourceType=this.options.sourceType),this.finishNode(e,"Program")};var W={kind:"loop"},G={kind:"switch"};z.isLet=function(){if(this.type!==L.name||this.options.ecmaVersion<6||"let"!=this.value)return!1;P.lastIndex=this.pos;var e=P.exec(this.input),t=this.pos+e[0].length,i=this.input.charCodeAt(t);if(91===i||123==i)return!0;if(n(i,!0)){for(var s=t+1;r(this.input.charCodeAt(s),!0);)++s;var o=this.input.slice(t,s);if(!this.isKeyword(o))return!0}return!1},z.isAsyncFunction=function(){if(this.type!==L.name||this.options.ecmaVersion<8||"async"!=this.value)return!1;P.lastIndex=this.pos;var e=P.exec(this.input),t=this.pos+e[0].length;return!(O.test(this.input.slice(this.pos,t))||"function"!==this.input.slice(t,t+8)||t+8!=this.input.length&&r(this.input.charAt(t+8)))},z.parseStatement=function(e,t,n){var r,i=this.type,s=this.startNode();switch(this.isLet()&&(i=L._var,r="let"),i){case L._break:case L._continue:return this.parseBreakContinueStatement(s,i.keyword);case L._debugger:return this.parseDebuggerStatement(s);case L._do:return this.parseDoStatement(s);case L._for:return this.parseForStatement(s);case L._function:return!e&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1);case L._class:return e||this.unexpected(),this.parseClass(s,!0);case L._if:return this.parseIfStatement(s);case L._return:return this.parseReturnStatement(s);case L._switch:return this.parseSwitchStatement(s);case L._throw:return this.parseThrowStatement(s);case L._try:return this.parseTryStatement(s);case L._const:case L._var:return r=r||this.value,e||"var"==r||this.unexpected(),this.parseVarStatement(s,r);case L._while:return this.parseWhileStatement(s);case L._with:return this.parseWithStatement(s);case L.braceL:return this.parseBlock();case L.semi:return this.parseEmptyStatement(s);case L._export:case L._import:return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===L._import?this.parseImport(s):this.parseExport(s,n);default:if(this.isAsyncFunction()&&e)return this.next(),this.parseFunctionStatement(s,!0);var o=this.value,a=this.parseExpression();return i===L.name&&"Identifier"===a.type&&this.eat(L.colon)?this.parseLabeledStatement(s,o,a):this.parseExpressionStatement(s,a)}},z.parseBreakContinueStatement=function(e,t){var n="break"==t;this.next(),this.eat(L.semi)||this.insertSemicolon()?e.label=null:this.type!==L.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r=6?this.eat(L.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},z.parseForStatement=function(e){if(this.next(),this.labels.push(W),this.enterLexicalScope(),this.expect(L.parenL),this.type===L.semi)return this.parseFor(e,null);var t=this.isLet();if(this.type===L._var||this.type===L._const||t){var n=this.startNode(),r=t?"let":this.value;return this.next(),this.parseVar(n,!0,r),this.finishNode(n,"VariableDeclaration"),!(this.type===L._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==n.declarations.length||"var"!==r&&n.declarations[0].init?this.parseFor(e,n):this.parseForIn(e,n)}var i=new p,s=this.parseExpression(!0,i);return this.type===L._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.toAssignable(s),this.checkLVal(s),this.checkPatternErrors(i,!0),this.parseForIn(e,s)):(this.checkExpressionErrors(i,!0),this.parseFor(e,s))},z.parseFunctionStatement=function(e,t){return this.next(),this.parseFunction(e,!0,!1,t)},z.isFunction=function(){return this.type===L._function||this.isAsyncFunction()},z.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(!this.strict&&this.isFunction()),e.alternate=this.eat(L._else)?this.parseStatement(!this.strict&&this.isFunction()):null,this.finishNode(e,"IfStatement")},z.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(L.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},z.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(L.braceL),this.labels.push(G),this.enterLexicalScope();for(var t,n=!1;this.type!=L.braceR;)if(this.type===L._case||this.type===L._default){var r=this.type===L._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),n=!0,t.test=null),this.expect(L.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(!0));return this.exitLexicalScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},z.parseThrowStatement=function(e){return this.next(),O.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var J=[];z.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===L._catch){var t=this.startNode();this.next(),this.expect(L.parenL),t.param=this.parseBindingAtom(),this.enterLexicalScope(),this.checkLVal(t.param,"let"),this.expect(L.parenR),t.body=this.parseBlock(!1),this.exitLexicalScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(L._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},z.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},z.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(W),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"WhileStatement")},z.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(!1),this.finishNode(e,"WithStatement")},z.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},z.parseLabeledStatement=function(e,t,n){for(var r=0,i=this.labels;r=0;o--){var a=this.labels[o];if(a.statementStart!=e.start)break;a.statementStart=this.start,a.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(!0),("ClassDeclaration"==e.body.type||"VariableDeclaration"==e.body.type&&"var"!=e.body.kind||"FunctionDeclaration"==e.body.type&&(this.strict||e.body.generator))&&this.raiseRecoverable(e.body.start,"Invalid labeled declaration"),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},z.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},z.parseBlock=function(e){void 0===e&&(e=!0);var t=this.startNode();for(t.body=[],this.expect(L.braceL),e&&this.enterLexicalScope();!this.eat(L.braceR);){var n=this.parseStatement(!0);t.body.push(n)}return e&&this.exitLexicalScope(),this.finishNode(t,"BlockStatement")},z.parseFor=function(e,t){return e.init=t,this.expect(L.semi),e.test=this.type===L.semi?null:this.parseExpression(),this.expect(L.semi),e.update=this.type===L.parenR?null:this.parseExpression(),this.expect(L.parenR),this.exitLexicalScope(),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"ForStatement")},z.parseForIn=function(e,t){var n=this.type===L._in?"ForInStatement":"ForOfStatement";return this.next(),e.left=t,e.right=this.parseExpression(),this.expect(L.parenR),this.exitLexicalScope(),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,n)},z.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var r=this.startNode();if(this.parseVarId(r,n),this.eat(L.eq)?r.init=this.parseMaybeAssign(t):"const"!==n||this.type===L._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"==r.id.type||t&&(this.type===L._in||this.isContextual("of"))?r.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(r,"VariableDeclarator")),!this.eat(L.comma))break}return e},z.parseVarId=function(e,t){e.id=this.parseBindingAtom(t),this.checkLVal(e.id,t,!1)},z.parseFunction=function(e,t,n,r){this.initFunction(e),this.options.ecmaVersion>=6&&!r&&(e.generator=this.eat(L.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&&(e.id="nullableID"===t&&this.type!=L.name?null:this.parseIdent(),e.id&&this.checkLVal(e.id,"var"));var i=this.inGenerator,s=this.inAsync,o=this.yieldPos,a=this.awaitPos,u=this.inFunction;return this.inGenerator=e.generator,this.inAsync=e.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),t||(e.id=this.type==L.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n),this.inGenerator=i,this.inAsync=s,this.yieldPos=o,this.awaitPos=a,this.inFunction=u,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},z.parseFunctionParams=function(e){this.expect(L.parenL),e.params=this.parseBindingList(L.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},z.parseClass=function(e,t){this.next(),this.parseClassId(e,t),this.parseClassSuper(e);var n=this.startNode(),r=!1;for(n.body=[],this.expect(L.braceL);!this.eat(L.braceR);)if(!this.eat(L.semi)){var i=this.startNode(),s=this.eat(L.star),o=!1,a=this.type===L.name&&"static"===this.value;this.parsePropertyName(i),i.static=a&&this.type!==L.parenL,i.static&&(s&&this.unexpected(),s=this.eat(L.star),this.parsePropertyName(i)),this.options.ecmaVersion>=8&&!s&&!i.computed&&"Identifier"===i.key.type&&"async"===i.key.name&&this.type!==L.parenL&&!this.canInsertSemicolon()&&(o=!0,this.parsePropertyName(i)),i.kind="method";var u=!1;if(!i.computed){var c=i.key;s||o||"Identifier"!==c.type||this.type===L.parenL||"get"!==c.name&&"set"!==c.name||(u=!0,i.kind=c.name,c=this.parsePropertyName(i)),!i.static&&("Identifier"===c.type&&"constructor"===c.name||"Literal"===c.type&&"constructor"===c.value)&&(r&&this.raise(c.start,"Duplicate constructor in the same class"),u&&this.raise(c.start,"Constructor can't have get/set modifier"),s&&this.raise(c.start,"Constructor can't be a generator"),o&&this.raise(c.start,"Constructor can't be an async method"),i.kind="constructor",r=!0)}if(this.parseClassMethod(n,i,s,o),u){var l="get"===i.kind?0:1;if(i.value.params.length!==l){var p=i.value.start;"get"===i.kind?this.raiseRecoverable(p,"getter should have no params"):this.raiseRecoverable(p,"setter should have exactly one param")}else"set"===i.kind&&"RestElement"===i.value.params[0].type&&this.raiseRecoverable(i.value.params[0].start,"Setter cannot use rest params")}}return e.body=this.finishNode(n,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},z.parseClassMethod=function(e,t,n,r){t.value=this.parseMethod(n,r),e.body.push(this.finishNode(t,"MethodDefinition"))},z.parseClassId=function(e,t){e.id=this.type===L.name?this.parseIdent():!0===t?this.unexpected():null},z.parseClassSuper=function(e){e.superClass=this.eat(L._extends)?this.parseExprSubscripts():null},z.parseExport=function(e,t){if(this.next(),this.eat(L.star))return this.expectContextual("from"),e.source=this.type===L.string?this.parseExprAtom():this.unexpected(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(L._default)){this.checkExport(t,"default",this.lastTokStart);var n;if(this.type===L._function||(n=this.isAsyncFunction())){var r=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(r,"nullableID",!1,n)}else if(this.type===L._class){var i=this.startNode();e.declaration=this.parseClass(i,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(!0),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))e.source=this.type===L.string?this.parseExprAtom():this.unexpected();else{for(var s=0,o=e.specifiers;s=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(var n=0,r=e.properties;n=6&&(e.computed||e.method||e.shorthand))){var n,r=e.key;switch(r.type){case"Identifier":n=r.name;break;case"Literal":n=String(r.value);break;default:return}var i=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===n&&"init"===i&&(t.proto&&this.raiseRecoverable(r.start,"Redefinition of __proto__ property"),t.proto=!0);else{var s=t[n="$"+n];if(s){("init"===i?this.strict&&s.init||s.get||s.set:s.init||s[i])&&this.raiseRecoverable(r.start,"Redefinition of property")}else s=t[n]={init:!1,get:!1,set:!1};s[i]=!0}}},Y.parseExpression=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeAssign(e,t);if(this.type===L.comma){var s=this.startNodeAt(n,r);for(s.expressions=[i];this.eat(L.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return i},Y.parseMaybeAssign=function(e,t,n){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var r=!1,i=-1,s=-1;t?(i=t.parenthesizedAssign,s=t.trailingComma,t.parenthesizedAssign=t.trailingComma=-1):(t=new p,r=!0);var o=this.start,a=this.startLoc;this.type!=L.parenL&&this.type!=L.name||(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(e,t);if(n&&(u=n.call(this,u,o,a)),this.type.isAssign){this.checkPatternErrors(t,!0),r||p.call(t);var c=this.startNodeAt(o,a);return c.operator=this.value,c.left=this.type===L.eq?this.toAssignable(u):u,t.shorthandAssign=-1,this.checkLVal(u),this.next(),c.right=this.parseMaybeAssign(e),this.finishNode(c,"AssignmentExpression")}return r&&this.checkExpressionErrors(t,!0),i>-1&&(t.parenthesizedAssign=i),s>-1&&(t.trailingComma=s),u},Y.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(L.question)){var s=this.startNodeAt(n,r);return s.test=i,s.consequent=this.parseMaybeAssign(),this.expect(L.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return i},Y.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)?i:i.start==n&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,n,r,-1,e)},Y.parseExprOp=function(e,t,n,r,i){var s=this.type.binop;if(null!=s&&(!i||this.type!==L._in)&&s>r){var o=this.type===L.logicalOR||this.type===L.logicalAND,a=this.value;this.next();var u=this.start,c=this.startLoc,l=this.parseExprOp(this.parseMaybeUnary(null,!1),u,c,s,i),p=this.buildBinary(t,n,e,l,a,o);return this.parseExprOp(p,t,n,r,i)}return e},Y.buildBinary=function(e,t,n,r,i,s){var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},Y.parseMaybeUnary=function(e,t){var n,r=this.start,i=this.startLoc;if(this.inAsync&&this.isContextual("await"))n=this.parseAwait(),t=!0;else if(this.type.prefix){var s=this.startNode(),o=this.type===L.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),o?this.checkLVal(s.argument):this.strict&&"delete"===s.operator&&"Identifier"===s.argument.type?this.raiseRecoverable(s.start,"Deleting local variable in strict mode"):t=!0,n=this.finishNode(s,o?"UpdateExpression":"UnaryExpression")}else{if(n=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var a=this.startNodeAt(r,i);a.operator=this.value,a.prefix=!1,a.argument=n,this.checkLVal(n),this.next(),n=this.finishNode(a,"UpdateExpression")}}return!t&&this.eat(L.starstar)?this.buildBinary(r,i,n,this.parseMaybeUnary(null,!1),"**",!1):n},Y.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,r=this.parseExprAtom(e),i="ArrowFunctionExpression"===r.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(e)||i)return r;var s=this.parseSubscripts(r,t,n);return e&&"MemberExpression"===s.type&&(e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1)),s},Y.parseSubscripts=function(e,t,n,r){for(var i=this.options.ecmaVersion>=8&&"Identifier"===e.type&&"async"===e.name&&this.lastTokEnd==e.end&&!this.canInsertSemicolon(),s=void 0;;)if((s=this.eat(L.bracketL))||this.eat(L.dot)){var o=this.startNodeAt(t,n);o.object=e,o.property=s?this.parseExpression():this.parseIdent(!0),o.computed=!!s,s&&this.expect(L.bracketR),e=this.finishNode(o,"MemberExpression")}else if(!r&&this.eat(L.parenL)){var a=new p,u=this.yieldPos,c=this.awaitPos;this.yieldPos=0,this.awaitPos=0;var l=this.parseExprList(L.parenR,this.options.ecmaVersion>=8,!1,a);if(i&&!this.canInsertSemicolon()&&this.eat(L.arrow))return this.checkPatternErrors(a,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=u,this.awaitPos=c,this.parseArrowExpression(this.startNodeAt(t,n),l,!0);this.checkExpressionErrors(a,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=c||this.awaitPos;var h=this.startNodeAt(t,n);h.callee=e,h.arguments=l,e=this.finishNode(h,"CallExpression")}else{if(this.type!==L.backQuote)return e;var f=this.startNodeAt(t,n);f.tag=e,f.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(f,"TaggedTemplateExpression")}},Y.parseExprAtom=function(e){var t,n=this.potentialArrowAt==this.start;switch(this.type){case L._super:return this.inFunction||this.raise(this.start,"'super' outside of function or class"),t=this.startNode(),this.next(),this.type!==L.dot&&this.type!==L.bracketL&&this.type!==L.parenL&&this.unexpected(),this.finishNode(t,"Super");case L._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case L.name:var r=this.start,i=this.startLoc,s=this.parseIdent(this.type!==L.name);if(this.options.ecmaVersion>=8&&"async"===s.name&&!this.canInsertSemicolon()&&this.eat(L._function))return this.parseFunction(this.startNodeAt(r,i),!1,!1,!0);if(n&&!this.canInsertSemicolon()){if(this.eat(L.arrow))return this.parseArrowExpression(this.startNodeAt(r,i),[s],!1);if(this.options.ecmaVersion>=8&&"async"===s.name&&this.type===L.name)return s=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(L.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,i),[s],!0)}return s;case L.regexp:var o=this.value;return t=this.parseLiteral(o.value),t.regex={pattern:o.pattern,flags:o.flags},t;case L.num:case L.string:return this.parseLiteral(this.value);case L._null:case L._true:case L._false:return t=this.startNode(),t.value=this.type===L._null?null:this.type===L._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case L.parenL:var a=this.start,u=this.parseParenAndDistinguishExpression(n);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(e.parenthesizedAssign=a),e.parenthesizedBind<0&&(e.parenthesizedBind=a)),u;case L.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(L.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case L.braceL:return this.parseObj(!1,e);case L._function:return t=this.startNode(),this.next(),this.parseFunction(t,!1);case L._class:return this.parseClass(this.startNode(),!1);case L._new:return this.parseNew();case L.backQuote:return this.parseTemplate();default:this.unexpected()}},Y.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(t,"Literal")},Y.parseParenExpression=function(){this.expect(L.parenL);var e=this.parseExpression();return this.expect(L.parenR),e},Y.parseParenAndDistinguishExpression=function(e){var t,n=this.start,r=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,o,a=this.start,u=this.startLoc,c=[],l=!0,h=!1,f=new p,d=this.yieldPos,y=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==L.parenR;){if(l?l=!1:this.expect(L.comma),i&&this.afterTrailingComma(L.parenR,!0)){h=!0;break}if(this.type===L.ellipsis){s=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===L.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}this.type!==L.parenL||o||(o=this.start),c.push(this.parseMaybeAssign(!1,f,this.parseParenItem))}var m=this.start,g=this.startLoc;if(this.expect(L.parenR),e&&!this.canInsertSemicolon()&&this.eat(L.arrow))return this.checkPatternErrors(f,!1),this.checkYieldAwaitInDefaultParams(),o&&this.unexpected(o),this.yieldPos=d,this.awaitPos=y,this.parseParenArrowList(n,r,c);c.length&&!h||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(f,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=y||this.awaitPos,c.length>1?((t=this.startNodeAt(a,u)).expressions=c,this.finishNodeAt(t,"SequenceExpression",m,g)):t=c[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var v=this.startNodeAt(n,r);return v.expression=t,this.finishNode(v,"ParenthesizedExpression")}return t},Y.parseParenItem=function(e){return e},Y.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var Z=[];Y.parseNew=function(){var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(L.dot))return e.meta=t,e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(e.start,"new.target can only be used in functions"),this.finishNode(e,"MetaProperty");var n=this.start,r=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(),n,r,!0),this.eat(L.parenL)?e.arguments=this.parseExprList(L.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Z,this.finishNode(e,"NewExpression")},Y.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===L.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),n.tail=this.type===L.backQuote,this.finishNode(n,"TemplateElement")},Y.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.expect(L.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(L.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,"TemplateLiteral")},Y.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===L.name||this.type===L.num||this.type===L.string||this.type===L.bracketL||this.type.keyword)&&!O.test(this.input.slice(this.lastTokEnd,this.start))},Y.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(L.braceR);){if(r)r=!1;else if(this.expect(L.comma),this.afterTrailingComma(L.braceR))break;var s=this.parseProperty(e,t);this.checkPropClash(s,i),n.properties.push(s)}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")},Y.parseProperty=function(e,t){var n,r,i,s,o=this.startNode();return this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(e||t)&&(i=this.start,s=this.startLoc),e||(n=this.eat(L.star))),this.parsePropertyName(o),!e&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(o)?(r=!0,this.parsePropertyName(o,t)):r=!1,this.parsePropertyValue(o,e,n,r,i,s,t),this.finishNode(o,"Property")},Y.parsePropertyValue=function(e,t,n,r,i,s,o){if((n||r)&&this.type===L.colon&&this.unexpected(),this.eat(L.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===L.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n,r);else if(t||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type==L.comma||this.type==L.braceR)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?(this.checkUnreserved(e.key),e.kind="init",t?e.value=this.parseMaybeDefault(i,s,e.key):this.type===L.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,s,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(n||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var a="get"===e.kind?0:1;if(e.value.params.length!==a){var u=e.value.start;"get"===e.kind?this.raiseRecoverable(u,"getter should have no params"):this.raiseRecoverable(u,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},Y.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(L.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(L.bracketR),e.key;e.computed=!1}return e.key=this.type===L.num||this.type===L.string?this.parseExprAtom():this.parseIdent(!0)},Y.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=!1,e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Y.parseMethod=function(e,t){var n=this.startNode(),r=this.inGenerator,i=this.inAsync,s=this.yieldPos,o=this.awaitPos,a=this.inFunction;return this.initFunction(n),this.options.ecmaVersion>=6&&(n.generator=e),this.options.ecmaVersion>=8&&(n.async=!!t),this.inGenerator=n.generator,this.inAsync=n.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),this.expect(L.parenL),n.params=this.parseBindingList(L.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(n,!1),this.inGenerator=r,this.inAsync=i,this.yieldPos=s,this.awaitPos=o,this.inFunction=a,this.finishNode(n,"FunctionExpression")},Y.parseArrowExpression=function(e,t,n){var r=this.inGenerator,i=this.inAsync,s=this.yieldPos,o=this.awaitPos,a=this.inFunction;return this.enterFunctionScope(),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.inGenerator=!1,this.inAsync=e.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0),this.inGenerator=r,this.inAsync=i,this.yieldPos=s,this.awaitPos=o,this.inFunction=a,this.finishNode(e,"ArrowFunctionExpression")},Y.parseFunctionBody=function(e,t){var n=t&&this.type!==L.braceL,r=this.strict,i=!1;if(n)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);r&&!s||(i=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],i&&(this.strict=!0),this.checkParams(e,!r&&!i&&!t&&this.isSimpleParamList(e.params)),e.body=this.parseBlock(!1),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=o}this.exitFunctionScope(),this.strict&&e.id&&this.checkLVal(e.id,"none"),this.strict=r},Y.isSimpleParamList=function(e){for(var t=0,n=e;t0;)t[n]=arguments[n+1];for(var r=0,i=t;r=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},ie.updateContext=function(e){var t,n=this.type;n.keyword&&e==L.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},L.parenR.updateContext=L.braceR.updateContext=function(){if(1!=this.context.length){var e=this.context.pop();e===re.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},L.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?re.b_stat:re.b_expr),this.exprAllowed=!0},L.dollarBraceL.updateContext=function(){this.context.push(re.b_tmpl),this.exprAllowed=!0},L.parenL.updateContext=function(e){var t=e===L._if||e===L._for||e===L._with||e===L._while;this.context.push(t?re.p_stat:re.p_expr),this.exprAllowed=!0},L.incDec.updateContext=function(){},L._function.updateContext=L._class.updateContext=function(e){e.beforeExpr&&e!==L.semi&&e!==L._else&&(e!==L.colon&&e!==L.braceL||this.curContext()!==re.b_stat)?this.context.push(re.f_expr):this.context.push(re.f_stat),this.exprAllowed=!1},L.backQuote.updateContext=function(){this.curContext()===re.q_tmpl?this.context.pop():this.context.push(re.q_tmpl),this.exprAllowed=!1},L.star.updateContext=function(e){if(e==L._function){var t=this.context.length-1;this.context[t]===re.f_expr?this.context[t]=re.f_expr_gen:this.context[t]=re.f_gen}this.exprAllowed=!0},L.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&("of"==this.value&&!this.exprAllowed||"yield"==this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var se=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new j(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},oe=q.prototype,ae="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);oe.next=function(){this.options.onToken&&this.options.onToken(new se(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},oe.getToken=function(){return this.next(),new se(this)},"undefined"!=typeof Symbol&&(oe[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===L.eof,value:t}}}}),oe.curContext=function(){return this.context[this.context.length-1]},oe.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(L.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},oe.readToken=function(e){return n(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},oe.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344)return e;return(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},oe.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(-1===n&&this.raise(this.pos-2,"Unterminated comment"),this.pos=n+2,this.options.locations){T.lastIndex=t;for(var r;(r=T.exec(this.input))&&r.index8&&e<14||e>=5760&&N.test(String.fromCharCode(e))))break e;++this.pos}}},oe.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},oe.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(L.ellipsis)):(++this.pos,this.finishToken(L.dot))},oe.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(L.assign,2):this.finishOp(L.slash,1)},oe.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=42===e?L.star:L.modulo;return this.options.ecmaVersion>=7&&42==e&&42===t&&(++n,r=L.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(L.assign,n+1):this.finishOp(r,n)},oe.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.finishOp(124===e?L.logicalOR:L.logicalAND,2):61===t?this.finishOp(L.assign,2):this.finishOp(124===e?L.bitwiseOR:L.bitwiseAND,1)},oe.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(L.assign,2):this.finishOp(L.bitwiseXOR,1)},oe.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!=t||this.inModule||62!=this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!O.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(L.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(L.assign,2):this.finishOp(L.plusMin,1)},oe.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(L.assign,n+1):this.finishOp(L.bitShift,n)):33!=t||60!=e||this.inModule||45!=this.input.charCodeAt(this.pos+2)||45!=this.input.charCodeAt(this.pos+3)?(61===t&&(n=2),this.finishOp(L.relational,n)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},oe.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(L.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(L.arrow)):this.finishOp(61===e?L.eq:L.prefix,1)},oe.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(L.parenL);case 41:return++this.pos,this.finishToken(L.parenR);case 59:return++this.pos,this.finishToken(L.semi);case 44:return++this.pos,this.finishToken(L.comma);case 91:return++this.pos,this.finishToken(L.bracketL);case 93:return++this.pos,this.finishToken(L.bracketR);case 123:return++this.pos,this.finishToken(L.braceL);case 125:return++this.pos,this.finishToken(L.braceR);case 58:return++this.pos,this.finishToken(L.colon);case 63:return++this.pos,this.finishToken(L.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(L.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(L.prefix,1)}this.raise(this.pos,"Unexpected character '"+d(e)+"'")},oe.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)};var ue=!!f("￿","u");oe.readRegexp=function(){for(var e,t,n=this,r=this.pos;;){n.pos>=n.input.length&&n.raise(r,"Unterminated regular expression");var i=n.input.charAt(n.pos);if(O.test(i)&&n.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++n.pos}var s=this.input.slice(r,this.pos);++this.pos;var o=this.readWord1(),a=s,u="";if(o){var c=/^[gim]*$/;this.options.ecmaVersion>=6&&(c=/^[gimuy]*$/),c.test(o)||this.raise(r,"Invalid regular expression flag"),o.indexOf("u")>=0&&(ue?u="u":(a=(a=a.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(e,t,i){return(t=Number("0x"+t))>1114111&&n.raise(r+i+3,"Code point out of bounds"),"x"})).replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"),u=u.replace("u","")))}var l=null;return ae||(f(a,u,r,this),l=f(s,o)),this.finishToken(L.regexp,{pattern:s,flags:o,value:l})},oe.readInt=function(e,t){for(var n=this.pos,r=0,i=0,s=null==t?1/0:t;i=97?o-97+10:o>=65?o-65+10:o>=48&&o<=57?o-48:1/0)>=e)break;++this.pos,r=r*e+a}return this.pos===n||null!=t&&this.pos-n!==t?null:r},oe.readRadixNumber=function(e){this.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.start+2,"Expected number in radix "+e),n(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(L.num,t)},oe.readNumber=function(e){var t=this.pos,r=!1,i=48===this.input.charCodeAt(this.pos);e||null!==this.readInt(10)||this.raise(t,"Invalid number"),i&&this.pos==t+1&&(i=!1);var s=this.input.charCodeAt(this.pos);46!==s||i||(++this.pos,this.readInt(10),r=!0,s=this.input.charCodeAt(this.pos)),69!==s&&101!==s||i||(43!==(s=this.input.charCodeAt(++this.pos))&&45!==s||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),r=!0),n(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o,a=this.input.slice(t,this.pos);return r?o=parseFloat(a):i&&1!==a.length?this.strict?this.raise(t,"Invalid number"):o=/[89]/.test(a)?parseInt(a,10):parseInt(a,8):o=parseInt(a,10),this.finishToken(L.num,o)},oe.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},oe.readString=function(e){for(var t="",n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var r=this.input.charCodeAt(this.pos);if(r===e)break;92===r?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):(o(r)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(L.string,t)};var ce={};oe.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==ce)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},oe.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ce;this.raise(e,t)},oe.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var n=this.input.charCodeAt(this.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==L.template&&this.type!==L.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(L.template,e)):36===n?(this.pos+=2,this.finishToken(L.dollarBraceL)):(++this.pos,this.finishToken(L.backQuote));if(92===n)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(o(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},oe.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(n,8);return r>255&&(n=n.slice(0,-1),r=parseInt(n,8)),"0"!==n&&(this.strict||e)&&this.invalidStringToken(this.pos-2,"Octal literal in strict mode"),this.pos+=n.length-1,String.fromCharCode(r)}return String.fromCharCode(t)}},oe.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.invalidStringToken(t,"Bad character escape sequence"),n},oe.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos=s)&&a[c](t,n,e),(null==r||t.start==r)&&(null==s||t.end==s)&&o(c,t))throw new i(t,n)}(n,u)}catch(e){if(e instanceof i)return e;throw e}},e.findNodeAround=function(n,r,s,o,a){s=t(s),o||(o=e.base);try{!function e(t,n,a){var u=a||t.type;if(!(t.start>r||t.end=r&&s(u,t))throw new i(t,n);o[u](t,n,e)}}(n,a)}catch(e){if(e instanceof i)return e;throw e}},e.findNodeBefore=function(n,r,s,o,a){s=t(s),o||(o=e.base);var u;return function e(t,n,a){if(!(t.start>r)){var c=a||t.type;t.end<=r&&(!u||u.node.end0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function i(e){return o[e>>18&63]+o[e>>12&63]+o[e>>6&63]+o[63&e]}function s(e,t,n){for(var r,s=[],o=t;o0?c-4:c;var l=0;for(t=0;t>16&255,o[l++]=i>>8&255,o[l++]=255&i;return 2===s?(i=a[e.charCodeAt(t)]<<2|a[e.charCodeAt(t+1)]>>4,o[l++]=255&i):1===s&&(i=a[e.charCodeAt(t)]<<10|a[e.charCodeAt(t+1)]<<4|a[e.charCodeAt(t+2)]>>2,o[l++]=i>>8&255,o[l++]=255&i),o},n.fromByteArray=function(e){for(var t,n=e.length,r=n%3,i="",a=[],u=0,c=n-r;uc?c:u+16383));return 1===r?(t=e[n-1],i+=o[t>>2],i+=o[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=o[t>>10],i+=o[t>>4&63],i+=o[t<<2&63],i+="="),a.push(i),a.join("")};for(var o=[],a=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=0,p=c.length;lB)throw new RangeError("Invalid typed array length");var t=new Uint8Array(e);return t.__proto__=i.prototype,t}function i(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return a(e)}return s(e,t,n)}function s(e,t,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return T(e)?function(e,t,n){if(t<0||e.byteLength=B)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+B.toString(16)+" bytes");return 0|e}function l(e,t){if(i.isBuffer(e))return e.length;if(N(e)||T(e))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return _(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return L(e).length;default:if(r)return _(e).length;t=(""+t).toLowerCase(),r=!0}}function p(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||n>r)&&(n=r);for(var i="",s=t;s2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,P(n)&&(n=s?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(s)return-1;n=e.length-1}else if(n<0){if(!s)return-1;n=0}if("string"==typeof t&&(t=i.from(t,r)),i.isBuffer(t))return 0===t.length?-1:d(e,t,n,r,s);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):d(e,[t],n,r,s);throw new TypeError("val must be string, number or Buffer")}function d(e,t,n,r,i){function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}var c;if(i){var l=-1;for(c=n;ca&&(n=a-u),c=n;c>=0;c--){for(var p=!0,h=0;hi&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function w(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:s>223?3:s>191?2:1;if(i+a<=n){var u,c,l,p;switch(a){case 1:s<128&&(o=s);break;case 2:128==(192&(u=e[i+1]))&&(p=(31&s)<<6|63&u)>127&&(o=p);break;case 3:u=e[i+1],c=e[i+2],128==(192&u)&&128==(192&c)&&(p=(15&s)<<12|(63&u)<<6|63&c)>2047&&(p<55296||p>57343)&&(o=p);break;case 4:u=e[i+1],c=e[i+2],l=e[i+3],128==(192&u)&&128==(192&c)&&128==(192&l)&&(p=(15&s)<<18|(63&u)<<12|(63&c)<<6|63&l)>65535&&p<1114112&&(o=p)}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rn)throw new RangeError("Trying to access beyond buffer length")}function S(e,t,n,r,s,o){if(!i.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function k(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function A(e,t,n,r,i){return t=+t,n>>>=0,i||k(e,0,n,4),$.write(e,t,n,r,23,4),n+4}function C(e,t,n,r,i){return t=+t,n>>>=0,i||k(e,0,n,8),$.write(e,t,n,r,52,8),n+8}function _(e,t){t=t||1/0;for(var n,r=e.length,i=null,s=[],o=0;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function L(e){return F.toByteArray(function(e){if((e=e.trim().replace(I,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function O(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function T(e){return e instanceof ArrayBuffer||null!=e&&null!=e.constructor&&"ArrayBuffer"===e.constructor.name&&"number"==typeof e.byteLength}function N(e){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(e)}function P(e){return e!=e}var F=e("base64-js"),$=e("ieee754");n.Buffer=i,n.SlowBuffer=function(e){return+e!=e&&(e=0),i.alloc(+e)},n.INSPECT_MAX_BYTES=50;var B=2147483647;n.kMaxLength=B,(i.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}())||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(e,t,n){return s(e,t,n)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(e,t,n){return function(e,t,n){return o(e),e<=0?r(e):void 0!==t?"string"==typeof n?r(e).fill(t,n):r(e).fill(t):r(e)}(e,t,n)},i.allocUnsafe=function(e){return a(e)},i.allocUnsafeSlow=function(e){return a(e)},i.isBuffer=function(e){return null!=e&&!0===e._isBuffer},i.compare=function(e,t){if(!i.isBuffer(e)||!i.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,s=0,o=Math.min(n,r);s0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},i.prototype.compare=function(e,t,n,r,s){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===s&&(s=this.length),t<0||n>e.length||r<0||s>this.length)throw new RangeError("out of range index");if(r>=s&&t>=n)return 0;if(r>=s)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,s>>>=0,this===e)return 0;for(var o=s-r,a=n-t,u=Math.min(o,a),c=this.slice(r,s),l=e.slice(t,n),p=0;p>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return m(this,e,t,n);case"ascii":return g(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return b(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;i.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||E(e,t,this.length);for(var r=this[e],i=1,s=0;++s>>=0,t>>>=0,n||E(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},i.prototype.readUInt8=function(e,t){return e>>>=0,t||E(e,1,this.length),this[e]},i.prototype.readUInt16LE=function(e,t){return e>>>=0,t||E(e,2,this.length),this[e]|this[e+1]<<8},i.prototype.readUInt16BE=function(e,t){return e>>>=0,t||E(e,2,this.length),this[e]<<8|this[e+1]},i.prototype.readUInt32LE=function(e,t){return e>>>=0,t||E(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},i.prototype.readUInt32BE=function(e,t){return e>>>=0,t||E(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},i.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||E(e,t,this.length);for(var r=this[e],i=1,s=0;++s=i&&(r-=Math.pow(2,8*t)),r},i.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||E(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},i.prototype.readInt8=function(e,t){return e>>>=0,t||E(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},i.prototype.readInt16LE=function(e,t){e>>>=0,t||E(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt16BE=function(e,t){e>>>=0,t||E(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt32LE=function(e,t){return e>>>=0,t||E(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},i.prototype.readInt32BE=function(e,t){return e>>>=0,t||E(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},i.prototype.readFloatLE=function(e,t){return e>>>=0,t||E(e,4,this.length),$.read(this,e,!0,23,4)},i.prototype.readFloatBE=function(e,t){return e>>>=0,t||E(e,4,this.length),$.read(this,e,!1,23,4)},i.prototype.readDoubleLE=function(e,t){return e>>>=0,t||E(e,8,this.length),$.read(this,e,!0,52,8)},i.prototype.readDoubleBE=function(e,t){return e>>>=0,t||E(e,8,this.length),$.read(this,e,!1,52,8)},i.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){S(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,!r){S(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},i.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,1,255,0),this[t]=255&e,t+1},i.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},i.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);S(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},i.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);S(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},i.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},i.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},i.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeFloatLE=function(e,t,n){return A(this,e,t,!0,n)},i.prototype.writeFloatBE=function(e,t,n){return A(this,e,t,!1,n)},i.prototype.writeDoubleLE=function(e,t,n){return C(this,e,t,!0,n)},i.prototype.writeDoubleBE=function(e,t,n){return C(this,e,t,!1,n)},i.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(s<1e3)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;o>1,l=-7,p=n?i-1:0,h=n?-1:1,f=e[t+p];for(p+=h,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=256*s+e[t+p],p+=h,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=r;l>0;o=256*o+e[t+p],p+=h,l-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,r),s-=c}return(f?-1:1)*o*Math.pow(2,s-r)},n.write=function(e,t,n,r,i,s){var o,a,u,c=8*s-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,d=r?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+p>=1?h/u:h*Math.pow(2,1-p))*u>=2&&(o++,u/=2),o+p>=l?(a=0,o=l):o+p>=1?(a=(t*u-1)*Math.pow(2,i),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;e[n+f]=255&a,f+=d,a/=256,i-=8);for(o=o<0;e[n+f]=255&o,f+=d,o/=256,c-=8);e[n+f-d]|=128*y}},{}],10:[function(e,t,n){(function(n){function r(){}function i(e){this.covers={},this._ident=i.prototype.version+"_"+Math.random(),this.setOptions(e||{})}var s=e("./lib/parser"),o=e("./lib/arboriculture"),a=e("./lib/output");i.prototype.smCache={},i.prototype.setOptions=function(e){return this.log=!1===e.log?r:e.log||this.log,this.options=function(e){var t={};return e.forEach(function(e){if(e&&"object"==typeof e)for(var n in e)t[n]=e[n]}),t}([this.options,e]),delete this.options.log,this},i.prototype.version=e("./package.json").version,i.prototype.isThenable=function(e){return e&&e instanceof Object&&"function"==typeof e.then},i.prototype.compile=function(e,t,n,s){"object"==typeof n&&void 0===s&&(s=n),s=s||{};for(var o in i.initialCodeGenOpts)o in s||(s[o]=i.initialCodeGenOpts[o]);var a=this.parse(e,t,null,s);return this.asynchronize(a,null,s,this.log||r),this.prettyPrint(a,s),a},i.prototype.parse=function(e,t,n,r){"object"==typeof n&&void 0===r&&(r=n);var i={origCode:e.toString(),filename:t};try{return i.ast=s.parse(i.origCode,r&&r.parser),r.babelTree&&s.treeWalker(i.ast,function(e,t,n){"Literal"===e.type?n[0].replace(o.babelLiteralNode(e.value)):"Property"===e.type&&("ClassBody"===n[0].parent.type?e.type="ClassProperty":e.type="ObjectProperty"),t()}),i}catch(e){if(e instanceof SyntaxError){var a=i.origCode.substr(e.pos-e.loc.column);a=a.split("\n")[0],e.message+=" "+t+" (nodent)\n"+a+"\n"+a.replace(/[\S ]/g,"-").substring(0,e.loc.column)+"^",e.stack=""}throw e}},i.prototype.asynchronize=o.asynchronize,i.prototype.printNode=o.printNode,i.prototype.prettyPrint=function(t,r){var i=t.filename?t.filename.split("/"):["anonymous"],s=i.pop(),o=a(t.ast,r&&r.sourcemap?{map:{startLine:r.mapStartLine||0,file:s+"(original)",sourceMapRoot:i.join("/"),sourceContent:t.origCode}}:null,t.origCode);if(r&&r.sourcemap)try{var u="",c=o.map.toJSON();if(c){var l=e("source-map").SourceMapConsumer;t.sourcemap=c,this.smCache[t.filename]={map:c,smc:new l(c)},u="\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,"+function(e){return(e instanceof n?e:new n(e.toString(),"binary")).toString("base64")}(JSON.stringify(c))+"\n"}t.code=o.code+u}catch(e){t.code=o}else t.code=o;return t},i.prototype.getDefaultCompileOptions=void 0,Object.defineProperty(i.prototype,"Promise",{get:function(){return initOpts.log("Warning: nodent.Promise is deprecated. Use nodent.Thenable instead"),Thenable},enumerable:!1,configurable:!1}),i.initialCodeGenOpts={noRuntime:!1,lazyThenables:!1,es6target:!1,noUseDirective:!1,wrapAwait:null,mapStartLine:0,sourcemap:!0,engine:!1,parser:{sourceType:"script"},$return:"$return",$error:"$error",$arguments:"$args",$asyncspawn:"$asyncspawn",$asyncbind:"$asyncbind",generatedSymbolPrefix:"$",$makeThenable:"$makeThenable"},t.exports=i}).call(this,e("buffer").Buffer)},{"./lib/arboriculture":11,"./lib/output":12,"./lib/parser":13,"./package.json":25,buffer:8,"source-map":24}],11:[function(e,t,n){"use strict";function r(e){if(!e)return"";if(Array.isArray(e))return e.map(r).join("|\n");try{return m(e)}catch(t){return t.message+": "+(e&&e.type)}}function i(e){if(Array.isArray(e))return e.map(function(e){return i(e)});var t={};return Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function s(e,t){e!==t&&(e.__proto__=Object.getPrototypeOf(t),Object.keys(e).forEach(function(t){t in g||delete e[t]}),Object.keys(t).forEach(function(n){n in e||(e[n]=t[n])}))}function o(){}function a(e){return e?(b.node=e,b):{}}function u(e,t,n){if(!e)return null;if(t&&"object"==typeof t){var r=Object.keys(t);return u(e,function(e){return r.every(function(n){return e[n]==t[n]})})}var i,s={};if(Array.isArray(e)){for(var o=0;o0){if(!o)return t(e);delete e.async}return void(!o&&i?t():(e.type="ReturnStatement",e.$mapped=!0,e.argument={type:"CallExpression",callee:k(s,[n]).$error,arguments:[e.argument]}))}return"TryStatement"===e.type?(i++,t(e),void i--):a(e).isFunction?(r++,t(e),void r--):void t(e)}if(r>0){if(!a(e).isAsync)return t(e);delete e.async}return e.$mapped=!0,void(a(e.argument).isUnaryExpression&&"void"===e.argument.operator?e.argument=e.argument.argument:e.argument={type:"CallExpression",callee:k(s,[n]).$return,arguments:e.argument?[e.argument]:[]})},t)}function P(e,t){return Array.isArray(e)?e.map(function(e){return P(e,t)}):(y.treeWalker(e,function(e,t,n){if(t(),"ConditionalExpression"===e.type&&(c(e.alternate)||c(e.consequent))){h(E("condOp"));s(e,_(y.part("if ($0) return $1 ; return $2",[e.test,e.consequent,e.alternate]).body))}},t),e)}function F(e,t){return Array.isArray(e)?e.map(function(e){return F(e,t)}):(y.treeWalker(e,function(e,t,n){if(t(),"LogicalExpression"===e.type&&c(e.right)){var r,i=h(E("logical"+("&&"===e.operator?"And":"Or")));if("||"===e.operator)r="var $0; if (!($0 = $1)) {$0 = $2} return $0";else{if("&&"!==e.operator)throw new Error(v(e)+"Illegal logical operator: "+e.operator);r="var $0; if ($0 = $1) {$0 = $2} return $0"}s(e,_(y.part(r,[i,e.left,e.right]).body))}},t),e)}function $(e,t,n){if("SwitchCase"!==e.type&&a(e).isBlockStatement)for(var r=0;r { $$setMapped: while (q) { if (q.then) "+(1===i?" return void q.then($idTrampoline, $exit); ":" return q.then($idTrampoline, $exit); ")+" try { if (q.pop) if (q.length) return q.pop() ? $idContinuation.call(this) : q; else q = $idStep; else q = q.call(this) } catch (_exception) { return $exit(_exception); } } }))($idIter)":"($idTrampoline = (function (q) { $$setMapped: while (q) { if (q.then) "+(1===i?" return void q.then($idTrampoline, $exit); ":" return q.then($idTrampoline, $exit); ")+" try { if (q.pop) if (q.length) return q.pop() ? $idContinuation.call(this) : q; else q = $idStep; else q = q.call(this) } catch (_exception) { return $exit(_exception); } } }).bind(this))($idIter)",{setMapped:function(e){return e.$mapped=!0,e},idTrampoline:w,exit:P,idIter:E,idContinuation:A,idStep:S}).expr:y.part("(Function.$0.trampoline(this,$1,$2,$3,$5)($4))",[pe.asyncbind,A,S,P,E,b(1===i)]).expr,o.push({type:"ReturnStatement",argument:N}),o.push({$label:e.$label,type:"FunctionDeclaration",id:E,params:[],body:{type:"BlockStatement",body:d}}),f&&o.push({type:"FunctionDeclaration",id:S,params:[],body:{type:"BlockStatement",body:[f,L]}}),!l||"VariableDeclaration"!==l.type||"let"!==l.kind&&"const"!==l.kind?(o.push(v),t[0].replace(o.map(r))):("const"===l.kind&&(l.kind="let"),t[0].replace([{type:"BlockStatement",body:o.map(r)},r(v)]))}}function G(e){if(!a(e).isFunction)throw new Error("Cannot examine non-Function node types for async exits");return u(e.body,function(e){return"Identifier"===e.type&&(e.name===n.$return||e.name===n.$error)||I(e)&&a(e).isAsync},function(e){return!(a(e).isFunction&&(e.$wasAsync||a(e).isAsync))})}function J(t){return y.treeWalker(t,function(t,r,i){var s=x(t);if(r(),s&&a(s).isAsync){if("set"==t.kind){var o=new SyntaxError(v(s)+"method 'async set' cannot be invoked",e.filename,t.start);throw o.pos=t.start,o.loc=t.loc.start,o}s.async=!1;var u=w(s);G(s)||0!==s.body.body.length&&"ReturnStatement"===s.body.body[s.body.body.length-1].type||s.body.body.push({type:"ReturnStatement"});var c=m(S({type:"FunctionExpression",params:[pe.return,pe.error],body:J(N(s.body,i)),$wasAsync:!0},n),n.promises||n.generators||n.engine?null:b(!n.lazyThenables||0));n.promises?s.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:{type:"NewExpression",callee:h("Promise"),arguments:[c]}}]}:s.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:c}]},u&&D(s.body.body,[he])}})}function H(e){return y.treeWalker(e,function(e,t,r){if(t(),a(e).isAsync&&a(e).isFunction){var i;(i=x(r[0].parent))&&a(i).isAsync&&"get"===r[0].parent.kind&&X(r[0].parent.key),delete e.async;var s=w(e),o=S({type:"FunctionExpression",params:[pe.return,pe.error],$wasAsync:!0},n),u=[{self:o}].concat(r);return a(e.body).isBlockStatement?(G(e)||0!==e.body.body.length&&"ReturnStatement"===e.body.body[e.body.body.length-1].type||e.body.body.push({type:"ReturnStatement"}),o.body={type:"BlockStatement",body:e.body.body.map(function(e){return N(e,u)})}):(o.body={type:"BlockStatement",body:[N({type:"ReturnStatement",argument:e.body},u)]},e.expression=!1),o=m(o,n.promises||n.generators||n.engine?null:b(!n.lazyThenables||0)),n.promises&&(o={type:"NewExpression",callee:h("Promise"),arguments:[o]}),o={type:"BlockStatement",body:[{type:"ReturnStatement",loc:e.loc,argument:o}]},s&&D(o.body,[he]),void(e.body=o)}}),e}function Y(e){if(Array.isArray(e))return e.map(Y);var t=0;return y.treeWalker(e,function(e,n,r){if("ThrowStatement"!==e.type&&"ReturnStatement"!==e.type||e.$mapped){if(a(e).isFunction)return t++,n(e),void t--}else if(t>0&&a(e).isAsync)return delete e.async,e.argument={type:"CallExpression",callee:"ThrowStatement"===e.type?pe.error:pe.return,arguments:e.argument?[e.argument]:[]},void(e.type="ReturnStatement");n(e)})}function Z(e,t){if(n.noRuntime)throw new Error("Nodent: 'noRuntime' option only compatible with -promise and -engine modes");return y.part("{ return (function*($return,$error){ $:body }).$asyncspawn(Promise,this) }",{return:pe.return,error:pe.error,asyncspawn:pe.asyncspawn,body:Y(e).concat(t?[{type:"ReturnStatement",argument:pe.return}]:[])}).body[0]}function X(e){e.$asyncgetwarninig||(e.$asyncgetwarninig=!0,d(v(e)+"'async get "+r(e)+"(){...}' is non-standard. See https://github.com/MatAtBread/nodent#differences-from-the-es7-specification"))}function Q(e,t){function r(e,t){y.treeWalker(e,function(n,r,i){n!==e&&a(n).isFunction||(a(n).isAwait?t?(n.$hidden=!0,r()):(delete n.operator,n.delegate=!1,n.type="YieldExpression",r()):r())})}function o(e){var t=n.promises;n.promises=!0,A(e,!0),n.promises=t}function u(e){return"BlockStatement"!==e.body.type&&(e.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:e.body}]}),e}function c(e,n){n.$asyncexitwarninig||(n.$asyncexitwarninig=!0,d(v(e)+"'async "+{ReturnStatement:"return",ThrowStatement:"throw"}[e.type]+"' not possible in "+(t?"engine":"generator")+" mode. Using Promises for function at "+v(n)))}y.treeWalker(e,function(e,n,i){n();var l,p,h;if(a(e).isAsync&&a(e).isFunction){var f;(f=x(i[0].parent))&&a(f).isAsync&&"get"===i[0].parent.kind&&X(i[0].parent.key),(p=G(e))?(c(p,e.body),o(e)):t?"get"!==i[0].parent.kind&&r(e,!0):(delete(l=e).async,h=w(l),r(l,!1),(l=u(l)).body=Z(l.body.body,p),h&&D(l.body.body,[he]),l.id&&"ExpressionStatement"===i[0].parent.type?(l.type="FunctionDeclaration",i[1].replace(l)):i[0].replace(l))}else(l=x(e))&&a(l).isAsync&&((p=G(l))?(c(p,l),o(e)):t&&"get"!==e.kind||(t?o(e):(e.async=!1,h=w(l),r(l,!1),s(l,u(l)),l.body=Z(l.body.body,p)),h&&D(l.body.body,[he])))});var l=i(n);return n.engine=!1,n.generators=!1,ie(e),ne(e),j(e,l.engine),F(e),P(e),q(e,[M,W,B,R,$]),V(e,"warn"),n.engine=l.engine,n.generators=l.generators,e}function K(e,t,n){var r=[];return y.treeWalker(e,function(i,s,o){if(i===e)return s();t(i,o)?r.push([].concat(o)):n||a(i).isScope||s()}),r}function ee(e,t){var n=[],r={};if((e=e.filter(function(e){return"ExportNamedDeclaration"!==e[0].parent.type})).length){var s={};e.forEach(function(e){function t(e){e in s?r[e]=o.declarations[u]:s[e]=o.declarations[u]}for(var n=e[0],o=n.self,a=(o.kind,[]),u=0;u1?{type:"SequenceExpression",expressions:a}:a[0];"For"!==n.parent.type.slice(0,3)&&(p={type:"ExpressionStatement",expression:p}),n.replace(p)}});var o=Object.keys(s);o.length&&(o=o.map(function(e){return{type:"VariableDeclarator",id:h(e),loc:s[e].loc,start:s[e].start,end:s[e].end}}),n[0]&&"VariableDeclaration"===n[0].type?n[0].declarations=n[0].declarations.concat(o):n.unshift({type:"VariableDeclaration",kind:t,declarations:o}))}return{decls:n,duplicates:r}}function te(e){if(!e)return[];if(Array.isArray(e))return e.reduce(function(e,t){return e.concat(te(t.id))},[]);switch(e.type){case"Identifier":return[e.name];case"AssignmentPattern":return te(e.left);case"ArrayPattern":return e.elements.reduce(function(e,t){return e.concat(te(t))},[]);case"ObjectPattern":return e.properties.reduce(function(e,t){return e.concat(te(t))},[]);case"ObjectProperty":case"Property":return te(e.value);case"RestElement":case"RestProperty":return te(e.argument)}}function ne(e){function t(e){return u(e,function(e){return"AssignmentExpression"===e.type})}function n(e){return function(t,n){if("VariableDeclaration"===t.type&&(t.kind=t.kind||"var")&&e.indexOf(t.kind)>=0){var r=n[0];return("left"!=r.field||"ForInStatement"!==r.parent.type&&"ForOfStatement"!==r.parent.type)&&("init"!=r.field||"ForStatement"!==r.parent.type||"const"!==t.kind&&"let"!==t.kind)}}}function o(e,t){return!("FunctionDeclaration"!==e.type||!e.id)&&(a(e).isAsync||!e.$continuation)}var l={TemplateLiteral:function(e){return e.expressions},NewExpression:function(e){return e.arguments},CallExpression:function(e){return e.arguments},SequenceExpression:function(e){return e.expressions},ArrayExpression:function(e){return e.elements},ObjectExpression:function(e){return e.properties.map(function(e){return e.value})}};y.treeWalker(e,function(e,n,r){function o(e){h.length&&(e.argument={type:"SequenceExpression",expressions:h.map(function(e){var t=i(e);return s(e,e.left),t}).concat(e.argument)},h=[])}var u;if(n(),e.type in l&&!e.$hoisted){var p=l[e.type](e),h=[];for(u=0;u0;u--)if(e.declarations[u]&&e.declarations[u].init&&c(e.declarations[u].init)){var f={type:"VariableDeclaration",kind:e.kind,declarations:e.declarations.splice(u)},d=r[0];if(!("index"in d))throw new Error("VariableDeclaration not in a block");d.parent[d.field].splice(d.index+1,0,f)}}),function(e){function t(e){d(v(e)+"Possible assignment to 'const "+r(e)+"'")}function n(e){switch(e.type){case"Identifier":"const"===i[e.name]&&t(e);break;case"ArrayPattern":e.elements.forEach(function(e){"const"===i[e.name]&&t(e)});break;case"ObjectPattern":e.properties.forEach(function(e){"const"===i[e.key.name]&&t(e)})}}var i={};y.treeWalker(e,function(e,t,r){var s=a(e).isBlockStatement;if(s){i=Object.create(i);for(var o=0;o=0&&"ReturnStatement"===r[1].self.type){var s=e.$thisCallName,o=i(ce[s].def.body.body);ce[s].$inlined=!0,a(r[1].self).isJump||o.push({type:"ReturnStatement"}),r[1].replace(o)}});var n=Object.keys(ce).map(function(e){return ce[e].$inlined&&ce[e].def});y.treeWalker(e,function(e,t,r){t(),n.indexOf(e)>=0&&r[0].remove()})}if(!("Program"===e.type&&"module"===e.sourceType||u(e,function(e){return a(e).isES6},!0))){var r=oe(e);!function(e){y.treeWalker(e,function(e,t,n){if("Program"===e.type||"FunctionDeclaration"===e.type||"FunctionExpression"===e.type){var i=r;if(r=r||oe(e)){t();var s="Program"===e.type?e:e.body,o=K(s,function(e,t){if("FunctionDeclaration"===e.type)return t[0].parent!==s});o=o.map(function(e){return e[0].remove()}),[].push.apply(s.body,o)}else t();r=i}else t()})}(e)}return y.treeWalker(e,function(e,t,n){t(),Object.keys(e).filter(function(e){return"$"===e[0]}).forEach(function(t){delete e[t]})}),e}var ce={},le=1,pe={};Object.keys(n).filter(function(e){return"$"===e[0]}).forEach(function(e){pe[e.slice(1)]=h(n[e])});var he=y.part("var $0 = arguments",[pe.arguments]).body[0];return n.engine?(e.ast=re(e.ast,!0),e.ast=Q(e.ast,n.engine),e.ast=se(e.ast),ue(e.ast)):n.generators?(e.ast=re(e.ast),e.ast=Q(e.ast),e.ast=se(e.ast),ue(e.ast)):(e.ast=re(e.ast),A(e.ast)),n.babelTree&&y.treeWalker(e.ast,function(e,t,n){t(),"Literal"===e.type&&s(e,b(e.value))}),e}var y=e("./parser"),m=e("./output"),g={start:!0,end:!0,loc:!0,range:!0},v={getScope:function(){return"FunctionDeclaration"===this.node.type||"FunctionExpression"===this.node.type||"Function"===this.node.type||"ObjectMethod"===this.node.type||"ClassMethod"===this.node.type||"ArrowFunctionExpression"===this.node.type&&"BlockStatement"===this.node.body.type?this.node.body.body:"Program"===this.node.type?this.node.body:null},isScope:function(){return"FunctionDeclaration"===this.node.type||"FunctionExpression"===this.node.type||"Function"===this.node.type||"Program"===this.node.type||"ObjectMethod"===this.node.type||"ClassMethod"===this.node.type||"ArrowFunctionExpression"===this.node.type&&"BlockStatement"===this.node.body.type},isFunction:function(){return"FunctionDeclaration"===this.node.type||"FunctionExpression"===this.node.type||"Function"===this.node.type||"ObjectMethod"===this.node.type||"ClassMethod"===this.node.type||"ArrowFunctionExpression"===this.node.type},isClass:function(){return"ClassDeclaration"===this.node.type||"ClassExpression"===this.node.type},isBlockStatement:function(){return"ClassBody"===this.node.type||"Program"===this.node.type||"BlockStatement"===this.node.type?this.node.body:"SwitchCase"===this.node.type&&this.node.consequent},isExpressionStatement:function(){return"ExpressionStatement"===this.node.type},isLiteral:function(){return"Literal"===this.node.type||"BooleanLiteral"===this.node.type||"RegExpLiteral"===this.node.type||"NumericLiteral"===this.node.type||"StringLiteral"===this.node.type||"NullLiteral"===this.node.type},isDirective:function(){return"ExpressionStatement"===this.node.type&&("StringLiteral"===this.node.expression.type||"Literal"===this.node.expression.type&&"string"==typeof this.node.expression.value)},isUnaryExpression:function(){return"UnaryExpression"===this.node.type},isAwait:function(){return"AwaitExpression"===this.node.type&&!this.node.$hidden},isAsync:function(){return this.node.async},isStatement:function(){return null!==this.node.type.match(/[a-zA-Z]+Declaration/)||null!==this.node.type.match(/[a-zA-Z]+Statement/)},isExpression:function(){return null!==this.node.type.match(/[a-zA-Z]+Expression/)},isLoop:function(){return"ForStatement"===this.node.type||"WhileStatement"===this.node.type||"DoWhileStatement"===this.node.type},isJump:function(){return"ReturnStatement"===this.node.type||"ThrowStatement"===this.node.type||"BreakStatement"===this.node.type||"ContinueStatement"===this.node.type},isES6:function(){switch(this.node.type){case"ExportNamedDeclaration":case"ExportSpecifier":case"ExportDefaultDeclaration":case"ExportAllDeclaration":case"ImportDeclaration":case"ImportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ArrowFunctionExpression":case"ForOfStatement":case"YieldExpression":case"Super":case"RestElement":case"RestProperty":case"SpreadElement":case"TemplateLiteral":case"ClassDeclaration":case"ClassExpression":return!0;case"VariableDeclaration":return this.node.kind&&"var"!==this.node.kind;case"FunctionDeclaration":case"FunctionExpression":return!!this.node.generator}}},b={};Object.keys(v).forEach(function(e){Object.defineProperty(b,e,{get:v[e]})}),t.exports={printNode:r,babelLiteralNode:p,asynchronize:function(e,t,n,r){try{return d(e,0,n,r)}catch(t){if(t instanceof SyntaxError){var i=e.origCode.substr(t.pos-t.loc.column);i=i.split("\n")[0],t.message+=" (nodent)\n"+i+"\n"+i.replace(/[\S ]/g,"-").substring(0,t.loc.column)+"^",t.stack=""}throw t}}}},{"./output":12,"./parser":13}],12:[function(e,t,n){"use strict";function r(e){if("NewExpression"===e.type&&e.arguments&&e.arguments.length)return 19;var t=h[e.type]||h[e.type+e.operator]||h[e.type+e.operator+(e.prefix?"prefix":"")];return void 0!==t?t:20}var i,s,o,a,u,c,l=e("source-map").SourceMapGenerator;if("".repeat)c=function(e,t){return t&&e?e.repeat(t):""};else{var p={};c=function(e,t){if(!t||!e)return"";var n=""+e+t;if(!p[n]){for(var r=[];t--;)r.push(e);p[n]=r.join("")}return p[n]}}var h={ExpressionStatement:-1,Identifier:21,Literal:21,BooleanLiteral:21,RegExpLiteral:21,NumericLiteral:21,StringLiteral:21,NullLiteral:21,ThisExpression:21,SuperExpression:21,ObjectExpression:21,ClassExpression:21,MemberExpression:19,CallExpression:18,NewExpression:18,ArrayExpression:17.5,FunctionExpression:17.5,FunctionDeclaration:17.5,ArrowFunctionExpression:17.5,"UpdateExpression++":17,"UpdateExpression--":17,"UpdateExpression++prefix":16,"UpdateExpression--prefix":16,UnaryExpression:16,AwaitExpression:16,"BinaryExpression**":15,"BinaryExpression*":15,"BinaryExpression/":15,"BinaryExpression%":15,"BinaryExpression+":14,"BinaryExpression-":14,"BinaryExpression<<":13,"BinaryExpression>>":13,"BinaryExpression>>>":13,"BinaryExpression<":12,"BinaryExpression<=":12,"BinaryExpression>":12,"BinaryExpression>=":12,BinaryExpressionin:12,BinaryExpressioninstanceof:12,"BinaryExpression==":11,"BinaryExpression===":11,"BinaryExpression!=":11,"BinaryExpression!==":11,"BinaryExpression&":10,"BinaryExpression^":9,"BinaryExpression|":8,"LogicalExpression&&":7,"LogicalExpression||":6,ConditionalExpression:5,AssignmentPattern:4,AssignmentExpression:4,yield:3,YieldExpression:3,SpreadElement:2,"comma-separated-list":1.5,SequenceExpression:1},f={type:"comma-separated-list"},d={out:function(e,t,n){var r=this[n||e.type];r?r.call(this,e,t):t.write(e,"/*"+e.type+"?*/ "+t.sourceAt(e.start,e.end))},expr:function(e,t,n,i){2===i||r(n)0)for(var r=n.length,i=0;i0){this.out(e[0],t,e[0].type);for(var r=1,i=e.length;r0){t.write(null,s);for(var a=0,u=n.length;a0){this.out(n[0],t,"VariableDeclarator");for(var i=1;i0){for(var s=0;s0)for(var r=0;r ")):(this.formatParameters(e.params,t),t.write(e,"=> ")),"ObjectExpression"===e.body.type||"SequenceExpression"===e.body.type?(t.write(null,"("),this.out(e.body,t,e.body.type),t.write(null,")")):this.out(e.body,t,e.body.type)},ThisExpression:function(e,t){t.write(e,"this")},Super:function(e,t){t.write(e,"super")},RestElement:s=function(e,t){t.write(e,"..."),this.out(e.argument,t,e.argument.type)},SpreadElement:s,YieldExpression:function(e,t){t.write(e,e.delegate?"yield*":"yield"),e.argument&&(t.write(null," "),this.expr(t,e,e.argument))},AwaitExpression:function(e,t){t.write(e,"await "),this.expr(t,e,e.argument)},TemplateLiteral:function(e,t){var n,r=e.quasis,i=e.expressions;t.write(e,"`");for(var s=0,o=i.length;s0)for(var n=e.elements,r=n.length,i=0;;){var s=n[i];if(s&&this.expr(t,f,s),((i+=1)=r)break;t.lineLength()>t.wrapColumn&&t.write(null,t.lineEnd,c(t.indent,t.indentLevel+1))}t.write(null,"]")},ArrayPattern:a,ObjectExpression:function(e,t){var n,r=c(t.indent,t.indentLevel++),i=t.lineEnd,s=r+t.indent;if(t.write(e,"{"),e.properties.length>0){t.write(null,i);for(var o=e.properties,a=o.length,u=0;n=o[u],t.write(null,s),this.out(n,t,"Property"),++ut.wrapColumn&&t.write(null,t.lineEnd,c(t.indent,t.indentLevel+1));t.write(null,i,r,"}")}else t.write(null,"}");t.indentLevel--},Property:function(e,t){e.method||"get"===e.kind||"set"===e.kind?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write(null,"["),this.out(e.key,t,e.key.type),t.write(null,"]")):this.out(e.key,t,e.key.type),t.write(null,": ")),this.expr(t,f,e.value))},ObjectPattern:function(e,t){if(t.write(e,"{"),e.properties.length>0)for(var n=e.properties,r=n.length,i=0;this.out(n[i],t,"Property"),++i0)for(var i=r.length,s=0;s1&&t.write(e," "),this.expr(t,e,e.argument,!0)):(this.expr(t,e,e.argument),t.write(e,e.operator))},UpdateExpression:function(e,t){e.prefix?(t.write(e,e.operator),this.out(e.argument,t,e.argument.type)):(this.out(e.argument,t,e.argument.type),t.write(e,e.operator))},BinaryExpression:o=function(e,t){var n=e.operator;"in"===n&&t.inForInit&&t.write(null,"("),this.expr(t,e,e.left),t.write(e," ",n," "),this.expr(t,e,e.right,"ArrowFunctionExpression"===e.right.type?2:0),"in"===n&&t.inForInit&&t.write(null,")")},LogicalExpression:o,AssignmentExpression:function(e,t){"ObjectPattern"===e.left.type&&t.write(null,"("),this.BinaryExpression(e,t),"ObjectPattern"===e.left.type&&t.write(null,")")},AssignmentPattern:function(e,t){this.expr(t,e,e.left),t.write(e," = "),this.expr(t,e,e.right)},ConditionalExpression:function(e,t){this.expr(t,e,e.test,!0),t.write(e," ? "),this.expr(t,e,e.consequent),t.write(null," : "),this.expr(t,e,e.alternate)},NewExpression:function(e,t){t.write(e,"new "),this.expr(t,e,e.callee,"CallExpression"===e.callee.type||"ObjectExpression"===e.callee.type?2:0),this.argumentList(e,t)},CallExpression:function(e,t){this.expr(t,e,e.callee,"ObjectExpression"===e.callee.type?2:0),this.argumentList(e,t)},MemberExpression:function(e,t){!("ObjectExpression"===e.object.type||e.object.type.match(/Literal$/)&&e.object.raw&&e.object.raw.match(/^[0-9]/))&&("ArrayExpression"===e.object.type||"CallExpression"===e.object.type||"NewExpression"===e.object.type||r(e)<=r(e.object))?this.out(e.object,t,e.object.type):(t.write(null,"("),this.out(e.object,t,e.object.type),t.write(null,")")),e.computed?(t.write(e,"["),this.out(e.property,t,e.property.type),t.write(null,"]")):(t.write(e,"."),this.out(e.property,t,e.property.type))},Identifier:function(e,t){t.write(e,e.name)},Literal:function(e,t){t.write(e,e.raw)},NullLiteral:function(e,t){t.write(e,"null")},BooleanLiteral:function(e,t){t.write(e,JSON.stringify(e.value))},StringLiteral:function(e,t){t.write(e,JSON.stringify(e.value))},RegExpLiteral:function(e,t){t.write(e,e.extra.raw||"/"+e.pattern+"/"+e.flags)},NumericLiteral:function(e,t){t.write(e,JSON.stringify(e.value))}};t.exports=function(e,t,n){var r="",i=[],s=(t=t||{}).map&&new l(t.map);s&&t.map.sourceContent&&s.setSourceContent(t.map.file,t.map.sourceContent);var o="",a=[],u=[],p={inForInit:0,lineLength:function(){return r.length},sourceAt:function(e,t){return n?n.substring(e,t):"/* Omitted Non-standard node */"},write:function(e){o=arguments[arguments.length-1];for(var n=1;n=0&&r({self:i,parent:e,field:u[c],index:!0}):l instanceof Object&&i===l&&r({self:i,parent:e,field:u[c]})}})},n),e}function s(t,n){var r=[],s={ecmaVersion:8,allowHashBang:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,locations:!0,onComment:r};if((!n||!n.noNodentExtensions||parseInt(o.version)<4)&&(c||(parseInt(o.version)<4&&console.warn("Nodent: Warning - noNodentExtensions option requires acorn >=v4.x. Extensions installed."),e("acorn-es7-plugin")(o),c=!0),s.plugins=s.plugins||{},s.plugins.asyncawait={asyncExits:!0,awaitAnywhere:!0}),n)for(var a in n)"noNodentExtensions"!==a&&(s[a]=n[a]);var u=o.parse(t,s);return i(u,function(e,t,n){for(t();r.length&&e.loc&&e.loc.start.line>=r[0].loc.start.line&&e.loc.end.line>=r[0].loc.end.line;)e.$comments=e.$comments||[],e.$comments.push(r.shift())}),u}var o=e("acorn"),a=e("acorn/dist/walk").make({AwaitExpression:function(e,t,n){n(e.argument,t,"Expression")},SwitchStatement:function(e,t,n){n(e.discriminant,t,"Expression");for(var r=0;r=0)return t}else{var n=i.toSetString(e);if(s.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},n.decode=function(e,t,n){var i,s,o=e.length,a=0,u=0;do{if(t>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(s=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&s),a+=(s&=31)<>1;return 1==(1&e)?-t:t}(a),n.rest=t}},{"./base64":16}],16:[function(e,t,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e0?t-u>1?r(u,t,i,s,o,a):a==n.LEAST_UPPER_BOUND?t1?r(e,u,i,s,o,a):a==n.LEAST_UPPER_BOUND?u:e<0?-1:e}n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,i,s){if(0===t.length)return-1;var o=r(-1,t.length,e,t,i,s||n.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===i(t[o],t[o-1],!0);)--o;return o}},{}],18:[function(e,t,n){function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var i=e("./util");r.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},r.prototype.add=function(e){!function(e,t){var n=e.generatedLine,r=t.generatedLine,s=e.generatedColumn,o=t.generatedColumn;return r>n||r==n&&o>=s||i.compareByGeneratedPositionsInflated(e,t)<=0}(this._last,e)?(this._sorted=!1,this._array.push(e)):(this._last=e,this._array.push(e))},r.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=r},{"./util":23}],19:[function(e,t,n){function r(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function i(e,t,n,s){if(n=0){var s=this._originalMappings[i];if(void 0===e.column)for(var o=s.originalLine;s&&s.originalLine===o;)r.push({line:a.getArg(s,"generatedLine",null),column:a.getArg(s,"generatedColumn",null),lastColumn:a.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==c;)r.push({line:a.getArg(s,"generatedLine",null),column:a.getArg(s,"generatedColumn",null),lastColumn:a.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return r},n.SourceMapConsumer=r,(i.prototype=Object.create(r.prototype)).consumer=r,i.fromSourceMap=function(e){var t=Object.create(i.prototype),n=t._names=c.fromArray(e._names.toArray(),!0),r=t._sources=c.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var o=e._mappings.toArray().slice(),u=t.__generatedMappings=[],l=t.__originalMappings=[],h=0,f=o.length;h1&&(n.source=y+i[1],y+=i[1],n.originalLine=f+i[2],f=n.originalLine,n.originalLine+=1,n.originalColumn=d+i[3],d=n.originalColumn,i.length>4&&(n.name=m+i[4],m+=i[4])),E.push(n),"number"==typeof n.originalLine&&w.push(n)}p(E,a.compareByGeneratedPositionsDeflated),this.__generatedMappings=E,p(w,a.compareByOriginalPositions),this.__originalMappings=w},i.prototype._findMapping=function(e,t,n,r,i,s){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return u.search(e,t,i,s)},i.prototype.computeColumnSpans=function(){for(var e=0;e=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var s=a.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),null!=this.sourceRoot&&(s=a.join(this.sourceRoot,s)));var o=a.getArg(i,"name",null);return null!==o&&(o=this._names.at(o)),{source:s,line:a.getArg(i,"originalLine",null),column:a.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}},i.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},i.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=a.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=a.urlParse(this.sourceRoot))){var r=e.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(r))return this.sourcesContent[this._sources.indexOf(r)];if((!n.path||"/"==n.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},i.prototype.generatedPositionFor=function(e){var t=a.getArg(e,"source");if(null!=this.sourceRoot&&(t=a.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:a.getArg(e,"line"),originalColumn:a.getArg(e,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",a.compareByOriginalPositions,a.getArg(e,"bias",r.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===n.source)return{line:a.getArg(s,"generatedLine",null),column:a.getArg(s,"generatedColumn",null),lastColumn:a.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=i,(o.prototype=Object.create(r.prototype)).constructor=r,o.prototype._version=3,Object.defineProperty(o.prototype,"sources",{get:function(){for(var e=[],t=0;t0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},r.prototype._serializeMappings=function(){for(var e,t,n,r,o=0,a=1,u=0,c=0,l=0,p=0,h="",f=this._mappings.toArray(),d=0,y=f.length;d0){if(!s.compareByGeneratedPositionsInflated(t,f[d-1]))continue;e+=","}e+=i.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=i.encode(r-p),p=r,e+=i.encode(t.originalLine-1-c),c=t.originalLine-1,e+=i.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=i.encode(n-l),l=n)),h+=e}return h},r.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var n=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},r.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},r.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=r},{"./array-set":14,"./base64-vlq":15,"./mapping-list":18,"./util":23}],22:[function(e,t,n){function r(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[a]=!0,null!=r&&this.add(r)}var i=e("./source-map-generator").SourceMapGenerator,s=e("./util"),o=/(\r?\n)/,a="$$$isSourceNode$$$";r.fromStringWithSourceMap=function(e,t,n){function i(e,t){if(null===e||void 0===e.source)a.add(t);else{var i=n?s.join(n,e.source):e.source;a.add(new r(e.originalLine,e.originalColumn,i,t,e.name))}}var a=new r,u=e.split(o),c=0,l=function(){function e(){return c=0;t--)this.prepend(e[t]);else{if(!e[a]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n=0;l--)"."===(o=u[l])?u.splice(l,1):".."===o?c++:c>0&&(""===o?(u.splice(l+1,c),c=0):(u.splice(l,2),c--));return""===(t=u.join("/"))&&(t=a?"/":"."),s?(s.path=t,i(s)):t}function o(e){return e}function a(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:e>t?1:-1}n.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var c=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,l=/^data:.+\,.+$/;n.urlParse=r,n.urlGenerate=i,n.normalize=s,n.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var n=r(t),o=r(e);if(o&&(e=o.path||"/"),n&&!n.scheme)return o&&(n.scheme=o.scheme),i(n);if(n||t.match(l))return t;if(o&&!o.host&&!o.path)return o.host=t,i(o);var a="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=a,i(o)):a},n.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(c)},n.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var p=!("__proto__"in Object.create(null));n.toSetString=p?o:function(e){return a(e)?"$"+e:e},n.fromSetString=p?o:function(e){return a(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,t,n){var r=e.source-t.source;return 0!==r?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)||n?r:0!=(r=e.generatedColumn-t.generatedColumn)?r:0!=(r=e.generatedLine-t.generatedLine)?r:e.name-t.name},n.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-t.generatedColumn)||n?r:0!=(r=e.source-t.source)?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)?r:e.name-t.name},n.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!=(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=u(e.source,t.source))?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)}},{}],24:[function(e,t,n){n.SourceMapGenerator=e("./lib/source-map-generator").SourceMapGenerator,n.SourceMapConsumer=e("./lib/source-map-consumer").SourceMapConsumer,n.SourceNode=e("./lib/source-node").SourceNode},{"./lib/source-map-consumer":20,"./lib/source-map-generator":21,"./lib/source-node":22}],25:[function(e,t,n){t.exports={_args:[[{raw:"nodent-compiler@>=3.1.3",scope:null,escapedName:"nodent-compiler",name:"nodent-compiler",rawSpec:">=3.1.3",spec:">=3.1.3",type:"range"},"/Users/evgenypoberezkin/Documents/JSON/ajv/node_modules/nodent"]],_from:"nodent-compiler@>=3.1.3",_id:"nodent-compiler@3.1.3",_inCache:!0,_location:"/nodent-compiler",_nodeVersion:"8.4.0",_npmOperationalInternal:{host:"s3://npm-registry-packages",tmp:"tmp/nodent-compiler-3.1.3.tgz_1504874988276_0.6329000329133123"},_npmUser:{name:"matatbread",email:"npm@mailed.me.uk"},_npmVersion:"5.3.0",_phantomChildren:{},_requested:{raw:"nodent-compiler@>=3.1.3",scope:null,escapedName:"nodent-compiler",name:"nodent-compiler",rawSpec:">=3.1.3",spec:">=3.1.3",type:"range"},_requiredBy:["/nodent"],_resolved:"https://registry.npmjs.org/nodent-compiler/-/nodent-compiler-3.1.3.tgz",_shasum:"6f0f1f8098db251ec773742bb4f33cd0266434b2",_shrinkwrap:null,_spec:"nodent-compiler@>=3.1.3",_where:"/Users/evgenypoberezkin/Documents/JSON/ajv/node_modules/nodent",author:{name:"Mat At Bread",email:"nodent@mailed.me.uk"},bugs:{url:"https://github.com/MatAtBread/nodent/issues"},dependencies:{acorn:">=2.5.2","acorn-es7-plugin":">=1.1.6","source-map":"^0.5.6"},description:"NoDent - Asynchronous Javascript language extensions",devDependencies:{},directories:{},dist:{integrity:"sha512-pcUC9gIgXXI3mbGjESZfVZO4Vgarw63xYZFRdkqxCDnygvvpiAwzwvvJ7rWqskp72Nk3cxWZY/rYxUIkPT14lw==",shasum:"6f0f1f8098db251ec773742bb4f33cd0266434b2",tarball:"https://registry.npmjs.org/nodent-compiler/-/nodent-compiler-3.1.3.tgz"},engines:"node >= 0.10.0",gitHead:"d72c5767ca302884c3215e6267d4910239add177",homepage:"https://github.com/MatAtBread/nodent-compiler#readme",keywords:["Javascript","ES7","async","await","language","extensions","Node","callback","generator","Promise","asynchronous"],license:"BSD-2-Clause",main:"compiler.js",maintainers:[{name:"matatbread",email:"npm@mailed.me.uk"}],name:"nodent-compiler",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/MatAtBread/nodent-compiler.git"},scripts:{test:"node tests/basic.js # Please install 'nodent' and test the compiler fully from there."},version:"3.1.3"}},{}],26:[function(e,t,n){"use strict";function r(e,t){if(Function.prototype.$asyncspawn||Object.defineProperty(Function.prototype,"$asyncspawn",{value:r,enumerable:!1,configurable:!0,writable:!0}),this instanceof Function){var n=this;return new e(function(e,r){function i(t,n){var o;try{if((o=t.call(s,n)).done){if(o.value!==e){if(o.value&&o.value===o.value.then)return o.value(e,r);e&&e(o.value),e=null}return}o.value.then?o.value.then(function(e){i(s.next,e)},function(e){i(s.throw,e)}):i(s.next,o.value)}catch(e){return r&&r(e),void(r=null)}}var s=n.call(t,e,r);i(s.next)})}}var i=function(e,t){for(var n=t.toString(),r="return "+n,i=n.match(/.*\(([^)]*)\)/)[1],s=/['"]!!!([^'"]*)['"]/g,o=[];;){var a=s.exec(r);if(!a)break;o.push(a)}return o.reverse().forEach(function(t){r=r.slice(0,t.index)+e[t[1]]+r.substr(t.index+t[0].length)}),r=r.replace(/\/\*[^*]*\*\//g," ").replace(/\s+/g," "),new Function(i,r)()}({zousan:e("./zousan").toString(),thenable:e("./thenableFactory").toString()},function e(t,n){function r(){return i.apply(t,arguments)}Function.prototype.$asyncbind||Object.defineProperty(Function.prototype,"$asyncbind",{value:e,enumerable:!1,configurable:!0,writable:!0}),e.trampoline||(e.trampoline=function(e,t,n,r,i){return function s(o){for(;o;){if(o.then)return o=o.then(s,r),i?void 0:o;try{if(o.pop){if(o.length)return o.pop()?t.call(e):o;o=n}else o=o.call(e)}catch(e){return r(e)}}}}),e.LazyThenable||(e.LazyThenable="!!!thenable"(),e.EagerThenable=e.Thenable=(e.EagerThenableFactory="!!!zousan")());var i=this;switch(n){case!0:return new e.Thenable(r);case 0:return new e.LazyThenable(r);case void 0:return r.then=r,r;default:return function(){try{return i.apply(t,arguments)}catch(e){return n(e)}}}});i(),r(),t.exports={$asyncbind:i,$asyncspawn:r}},{"./thenableFactory":27,"./zousan":28}],27:[function(e,t,n){t.exports=function(){function e(e){return e&&e instanceof Object&&"function"==typeof e.then}function t(n,r,i){try{var s=i?i(r):r;if(n===s)return n.reject(new TypeError("Promise resolution loop"));e(s)?s.then(function(e){t(n,e)},function(e){n.reject(e)}):n.resolve(s)}catch(e){n.reject(e)}}function n(){}function r(e){}function i(r,i){var s=new n;try{this._resolver(function(n){return e(n)?n.then(r,i):t(s,n,r)},function(e){t(s,e,i)})}catch(e){t(s,e,i)}return s}function s(e){this._resolver=e,this.then=i}return n.prototype={resolve:r,reject:r,then:function(e,t){this.resolve=e,this.reject=t}},s.resolve=function(e){return s.isThenable(e)?e:{then:function(t){return t(e)}}},s.isThenable=e,s}},{}],28:[function(e,t,n){(function(e){"use strict";t.exports=function(t){function n(e){if(e){var t=this;e(function(e){t.resolve(e)},function(e){t.reject(e)})}}function r(e,t){if("function"==typeof e.y)try{var n=e.y.call(void 0,t);e.p.resolve(n)}catch(t){e.p.reject(t)}else e.p.resolve(t)}function i(e,t){if("function"==typeof e.n)try{var n=e.n.call(void 0,t);e.p.resolve(n)}catch(t){e.p.reject(t)}else e.p.reject(t)}t=t||"object"==typeof e&&e.nextTick||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,0)};var s=function(){function e(){for(;n.length-r;){try{n[r]()}catch(e){}n[r++]=void 0,r===i&&(n.splice(0,i),r=0)}}var n=[],r=0,i=1024;return function(i){n.push(i),n.length-r==1&&t(e)}}();return n.prototype={resolve:function(e){if(void 0===this.state){if(e===this)return this.reject(new TypeError("Attempt to resolve promise with self"));var t=this;if(e&&("function"==typeof e||"object"==typeof e))try{var n=0,i=e.then;if("function"==typeof i)return void i.call(e,function(e){n++||t.resolve(e)},function(e){n++||t.reject(e)})}catch(e){return void(n||this.reject(e))}this.state=r,this.v=e,t.c&&s(function(){for(var n=0,i=t.c.length;n]*>)(.*)/i,/(.*)(<\/script>)(.*)/i],o=0,a=!0;t=t.split("\n");for(var u=0;u=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!i;s--){var o=s>=0?arguments[s]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(n=o+"/"+n,i="/"===o.charAt(0))}return n=t(r(n.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(e){var i=n.isAbsolute(e),s="/"===o(e,-1);return(e=t(r(e.split("/"),function(e){return!!e}),!i).join("/"))||i||(e="."),e&&s&&(e+="/"),(i?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var i=r(e.split("/")),s=r(t.split("/")),o=Math.min(i.length,s.length),a=o,u=0;u1)for(var n=1;n= 8.8",https:!0,_http_server:">= 0.11",_linklist:"< 8",module:!0,net:!0,os:!0,path:!0,perf_hooks:">= 8.5",process:">= 1",punycode:!0,querystring:!0,readline:!0,repl:!0,stream:!0,string_decoder:!0,sys:!0,timers:!0,tls:!0,tty:!0,url:!0,util:!0,v8:">= 1",vm:!0,zlib:!0}},{}],37:[function(e,t,n){(function(n){function r(e){if(!0===e)return!0;for(var t=e.split(" "),n=t[0],r=t[1].split("."),s=0;s<3;++s){var o=Number(i[s]||0),a=Number(r[s]||0);if(o!==a)return"<"===n?o="===n&&o>=a}return!1}var i=n.versions&&n.versions.node&&n.versions.node.split(".")||[],s=e("./core.json"),o={};for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(o[a]=r(s[a]));t.exports=o}).call(this,e("_process"))},{"./core.json":36,_process:32}],38:[function(e,t,n){var r=e("path"),i=e("fs"),s=r.parse||e("path-parse");t.exports=function(e,t){var n=t&&t.moduleDirectory?[].concat(t.moduleDirectory):["node_modules"],o=r.resolve(e);if(t&&!1===t.preserveSymlinks)try{o=i.realpathSync(o)}catch(e){if("ENOENT"!==e.code)throw e}var a="/";/^([A-Za-z]:)/.test(o)?a="":/^\\\\/.test(o)&&(a="\\\\");for(var u=[o],c=s(o);c.dir!==u[u.length-1];)u.push(c.dir),c=s(c.dir);var l=u.reduce(function(e,t){return e.concat(n.map(function(e){return r.join(a,t,e)}))},[]);return t&&t.paths?l.concat(t.paths):l}},{fs:7,path:30,"path-parse":31}],39:[function(e,t,n){var r=e("./core"),i=e("fs"),s=e("path"),o=e("./caller.js"),a=e("./node-modules-paths.js");t.exports=function(e,t){function n(e){if(l(e))return e;for(var t=0;t"))}return Object.keys(hostOptions).forEach(function(k){"host"===parseOpts[k]&&(parseOpts[k]=function(){try{return eval(hostOptions[k]),!0}catch(e){return!1}}())}),parseOpts.promises||parseOpts.es7||parseOpts.generators||parseOpts.engine?((parseOpts.promises||parseOpts.es7)&&parseOpts.generators&&(log("No valid 'use nodent' directive, assumed -es7 mode"),parseOpts=optionSets.es7),(parseOpts.generators||parseOpts.engine)&&(parseOpts.promises=!0),parseOpts.promises&&(parseOpts.es7=!0),parseOpts):null}function stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),"#!"===e.substring(0,2)&&(e="//"+e),e}function compileNodentedFile(e,t){return t=t||e.log,function(n,r,i){var s=stripBOM(fs.readFileSync(r,"utf8")),o=e.parse(s,r,i);i=i||parseCompilerOptions(o.ast,t,r),e.asynchronize(o,void 0,i,t),e.prettyPrint(o,i),n._compile(o.code,o.filename)}}function asyncify(e){return e=e||Thenable,function(t,n,r){if(Array.isArray(n)){var i=n;n=function(e,t){return i.indexOf(e)>=0}}else n=n||function(e,t){return!(e.match(/Sync$/)&&e.replace(/Sync$/,"")in t)};r||(r="");var s=Object.create(t);for(var o in s)!function(){var i=o;try{"function"!=typeof t[i]||s[i+r]&&s[i+r].isAsync||!n(i,s)||(s[i+r]=function(){var n=Array.prototype.slice.call(arguments);return new e(function(e,r){var s=function(t,n){if(t)return r(t);switch(arguments.length){case 0:return e();case 2:return e(n);default:return e(Array.prototype.slice.call(arguments,1))}};n.length>t[i].length?n.push(s):n[t[i].length-1]=s;t[i].apply(t,n)})},s[i+r].isAsync=!0)}catch(e){}}();return s.super=t,s}}function generateRequestHandler(e,t,n){var r={},i=this;t||(t=/\.njs$/),n?n.compiler||(n.compiler={}):n={compiler:{}};var s=copyObj([NodentCompiler.initialCodeGenOpts,n.compiler]);return function(o,a,u){function c(e){a.statusCode=500,a.write(e.toString()),a.end()}if(r[o.url])return a.setHeader("Content-Type",r[o.url].contentType),n.setHeaders&&n.setHeaders(a),a.write(r[o.url].output),void a.end();if(!(o.url.match(t)||n.htmlScriptRegex&&o.url.match(n.htmlScriptRegex)))return u&&u();var l=e+o.url;if(n.extensions&&!fs.existsSync(l))for(var p=0;p=0?this.covers[n]=require(e):this.covers[n]=require(__dirname+"/covers/"+e)),this.covers[n](this,t)}function prepareMappedStackTrace(e,t){return e+t.map(function(e){var t=e.getFileName();if(t&&NodentCompiler.prototype.smCache[t]){var n=NodentCompiler.prototype.smCache[t].smc.originalPositionFor({line:e.getLineNumber(),column:e.getColumnNumber()});if(n&&n.line){var r=e.toString();return"\n at "+r.substring(0,r.length-1)+" => …"+n.source+":"+n.line+":"+n.column+(e.getFunctionName()?")":"")}}return"\n at "+e}).join("")}function setGlobalEnvironment(e){var t={};t[defaultCodeGenOpts.$asyncbind]={value:$asyncbind,writable:!0,enumerable:!1,configurable:!0},t[defaultCodeGenOpts.$asyncspawn]={value:$asyncspawn,writable:!0,enumerable:!1,configurable:!0};try{Object.defineProperties(Function.prototype,t)}catch(t){e.log("Function prototypes already assigned: ",t.messsage)}defaultCodeGenOpts[defaultCodeGenOpts.$error]in global||(global[defaultCodeGenOpts[defaultCodeGenOpts.$error]]=globalErrorHandler),e.augmentObject&&Object.defineProperties(Object.prototype,{asyncify:{value:function(e,t,n){return asyncify(e)(this,t,n)},writable:!0,configurable:!0},isThenable:{value:function(){return Thenable.isThenable(this)},writable:!0,configurable:!0}}),Object[defaultCodeGenOpts.$makeThenable]=Thenable.resolve}function initialize(e){function t(n,r){if(!r.match(/nodent\/nodent\.js$/)){if(r.match(/node_modules\/nodent\/.*\.js$/))return stdJSLoader(n,r);for(var o=0;ot[n])return 1}return 0}(u.version,NodentCompiler.prototype.version)<0&&(u.originalNodentLoader=n.exports,n.exports=function(){var t=require.extensions[".js"],n=u.originalNodentLoader.apply(this,arguments);return u.jsCompiler=require.extensions[".js"],require.extensions[".js"]=t,setGlobalEnvironment(e),n},Object.keys(u.originalNodentLoader).forEach(function(e){n.exports[e]=u.originalNodentLoader[e]}),i.push(u),i=i.sort(function(e,t){return t.path.length-e.path.length})))}function n(t){if(Array.isArray(t))return t.forEach(n);if(require.extensions[t]){Object.keys(e).filter(function(t){return compiler[t]!=e[t]}).length&&e.log("File extension "+t+" already configured for async/await compilation.")}require.extensions[t]=compileNodentedFile(compiler,e.log)}if(e){for(var r in e)if("use"!==r&&!config.hasOwnProperty(r))throw new Error("NoDent: unknown option: "+r+"="+JSON.stringify(e[r]))}else e={};compiler?compiler.setOptions(e):(Object.keys(config).forEach(function(t){t in e||(e[t]=config[t])}),compiler=new NodentCompiler(e)),e.dontMapStackTraces||(Error.prepareStackTrace=prepareMappedStackTrace),setGlobalEnvironment(e);var i=[];if(!e.dontInstallRequireHook){if(!stdJSLoader){stdJSLoader=require.extensions[".js"];var s=compileNodentedFile(compiler,e.log);require.extensions[".js"]=t}e.extension&&n(e.extension)}return e.use&&(Array.isArray(e.use)?(e.log("Warning: nodent({use:[...]}) is deprecated. Use nodent.require(module,options)\n"+(new Error).stack.split("\n")[2]),e.use.length&&e.use.forEach(function(e){compiler[e]=compiler.require(e)})):(e.log("Warning: nodent({use:{...}}) is deprecated. Use nodent.require(module,options)\n"+(new Error).stack.split("\n")[2]),Object.keys(e.use).forEach(function(t){compiler[t]=compiler.require(t,e.use[t])}))),compiler}function runFromCLI(){function e(e,n){try{var s,o;if(r.fromast){if(e=JSON.parse(e),s={origCode:"",filename:t,ast:e},!(o=parseCompilerOptions(e,i.log))){var a=r.use?'"use nodent-'+r.use+'";':'"use nodent";';o=parseCompilerOptions(a,i.log),console.warn("/* "+t+": No 'use nodent*' directive, assumed "+a+" */")}}else(o=parseCompilerOptions(r.use?'"use nodent-'+r.use+'";':e,i.log))||(o=parseCompilerOptions('"use nodent";',i.log),r.dest||console.warn("/* "+t+": 'use nodent*' directive missing/ignored, assumed 'use nodent;' */")),s=i.parse(e,t,o);if(r.parseast||r.pretty||i.asynchronize(s,void 0,o,i.log),i.prettyPrint(s,o),r.out||r.pretty||r.dest){if(r.dest&&!n)throw new Error("Can't write unknown file to "+r.dest);var u="";r.runtime&&(u+="Function.prototype.$asyncbind = "+Function.prototype.$asyncbind.toString()+";\n",u+="global.$error = global.$error || "+global.$error.toString()+";\n"),u+=s.code,n&&r.dest?(fs.writeFileSync(r.dest+n,u),console.log("Compiled",r.dest+n)):console.log(u)}(r.minast||r.parseast)&&console.log(JSON.stringify(s.ast,function(e,t){return"$"===e[0]||e.match(/^(start|end|loc)$/)?void 0:t},2,null)),r.ast&&console.log(JSON.stringify(s.ast,function(e,t){return"$"===e[0]?void 0:t},0)),r.exec&&new Function(s.code)()}catch(e){console.error(e)}}var t,n=require("path"),r=(process.env.NODENT_OPTS&&JSON.parse(process.env.NODENT_OPTS),function(e){for(var t=[],n=e||2;n0",engine:"(async ()=>0)",noRuntime:"Promise"};NodentCompiler.prototype.Thenable=Thenable,NodentCompiler.prototype.EagerThenable=$asyncbind.EagerThenableFactory,NodentCompiler.prototype.asyncify=asyncify,NodentCompiler.prototype.require=requireCover,NodentCompiler.prototype.generateRequestHandler=generateRequestHandler,NodentCompiler.prototype.$asyncspawn=$asyncspawn,NodentCompiler.prototype.$asyncbind=$asyncbind,NodentCompiler.prototype.parseCompilerOptions=parseCompilerOptions,$asyncbind.call($asyncbind);var compiler;initialize.setDefaultCompileOptions=function(e,t){return e&&Object.keys(e).forEach(function(t){if(!(t in defaultCodeGenOpts))throw new Error("NoDent: unknown compiler option: "+t);defaultCodeGenOpts[t]=e[t]}),t&&Object.keys(t).forEach(function(e){if(!(e in t))throw new Error("NoDent: unknown configuration option: "+e);config[e]=t[e]}),initialize},initialize.setCompileOptions=function(e,t){return optionSet[e]=optionSet[e]||copyObj([defaultCodeGenOpts]),t&&Object.keys(t).forEach(function(n){if(!(n in defaultCodeGenOpts))throw new Error("NoDent: unknown compiler option: "+n);optionSet[e][n]=t[n]}),initialize},initialize.asyncify=asyncify,initialize.Thenable=$asyncbind.Thenable,initialize.EagerThenable=$asyncbind.EagerThenableFactory,module.exports=initialize,require.main===module&&process.argv.length>=3&&runFromCLI()}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},"/node_modules/nodent")},{"./htmlScriptParser":29,_process:32,fs:7,"nodent-compiler":10,"nodent-runtime":26,path:30,resolve:33}]},{},[]); \ No newline at end of file +/* nodent 3.1.5: NoDent - Asynchronous Javascript language extensions */ +require=function e(t,n,r){function i(o,a){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!a&&u)return u(o,!0);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return i(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var s="function"==typeof require&&require,o=0;o=t}function i(e,t,n){var r=t.input.slice(t.start);return n&&(r=r.replace(l,"$1 $3")),e.test(r)}function s(e,t,n,r){var i=new e.constructor(e.options,e.input,t);if(n)for(var s in n)i[s]=n[s];var o=e,a=i;return["inFunction","inAsyncFunction","inAsync","inGenerator","inModule"].forEach(function(e){e in o&&(a[e]=o[e])}),r&&(i.options.preserveParens=!0),i.nextToken(),i}var o={},a=/^async[\t ]+(return|throw)/,u=/^async[\t ]+function/,c=/^\s*[():;]/,l=/([^\n])\/\*(\*(?!\/)|[^\n*])*\*\/([^\n])/g,p=/\s*(get|set)\s*\(/;t.exports=function(e,t){var n=function(){};e.extend("initialContext",function(r){return function(){return this.options.ecmaVersion<7&&(n=function(t){e.raise(t.start,"async/await keywords only available when ecmaVersion>=7")}),this.reservedWords=new RegExp(this.reservedWords.toString().replace(/await|async/g,"").replace("|/","/").replace("/|","/").replace("||","|")),this.reservedWordsStrict=new RegExp(this.reservedWordsStrict.toString().replace(/await|async/g,"").replace("|/","/").replace("/|","/").replace("||","|")),this.reservedWordsStrictBind=new RegExp(this.reservedWordsStrictBind.toString().replace(/await|async/g,"").replace("|/","/").replace("/|","/").replace("||","|")),this.inAsyncFunction=t.inAsyncFunction,t.awaitAnywhere&&t.inAsyncFunction&&e.raise(node.start,"The options awaitAnywhere and inAsyncFunction are mutually exclusive"),r.apply(this,arguments)}}),e.extend("shouldParseExportStatement",function(e){return function(){return!("name"!==this.type.label||"async"!==this.value||!i(u,this))||e.apply(this,arguments)}}),e.extend("parseStatement",function(e){return function(n,r){var s=this.start,o=this.startLoc;if("name"===this.type.label)if(i(u,this,!0)){var c=this.inAsyncFunction;try{return this.inAsyncFunction=!0,this.next(),(l=this.parseStatement(n,r)).async=!0,l.start=s,l.loc&&(l.loc.start=o),l.range&&(l.range[0]=s),l}finally{this.inAsyncFunction=c}}else if("object"==typeof t&&t.asyncExits&&i(a,this)){this.next();var l;return(l=this.parseStatement(n,r)).async=!0,l.start=s,l.loc&&(l.loc.start=o),l.range&&(l.range[0]=s),l}return e.apply(this,arguments)}}),e.extend("parseIdent",function(e){return function(t){var n=e.apply(this,arguments);return this.inAsyncFunction&&"await"===n.name&&0===arguments.length&&this.raise(n.start,"'await' is reserved within async functions"),n}}),e.extend("parseExprAtom",function(e){return function(i){var a,u=this.start,l=this.startLoc,p=e.apply(this,arguments);if("Identifier"===p.type)if("async"!==p.name||r(this,p.end)){if("await"===p.name){var h=this.startNodeAt(p.start,p.loc&&p.loc.start);if(this.inAsyncFunction)return a=this.parseExprSubscripts(),h.operator="await",h.argument=a,h=this.finishNodeAt(h,"AwaitExpression",a.end,a.loc&&a.loc.end),n(h),h;if(this.input.slice(p.end).match(c))return t.awaitAnywhere||"module"!==this.options.sourceType?p:this.raise(p.start,"'await' is reserved within modules");if("object"==typeof t&&t.awaitAnywhere&&(u=this.start,(a=s(this,u-4).parseExprSubscripts()).end<=u))return a=s(this,u).parseExprSubscripts(),h.operator="await",h.argument=a,h=this.finishNodeAt(h,"AwaitExpression",a.end,a.loc&&a.loc.end),this.pos=a.end,this.end=a.end,this.endLoc=a.endLoc,this.next(),n(h),h;if(!t.awaitAnywhere&&"module"===this.options.sourceType)return this.raise(p.start,"'await' is reserved within modules")}}else{var f=this.inAsyncFunction;try{this.inAsyncFunction=!0;var d=this,y=!1,m={parseFunctionBody:function(e,t){try{var n=y;return y=!0,d.parseFunctionBody.apply(this,arguments)}finally{y=n}},raise:function(){try{return d.raise.apply(this,arguments)}catch(e){throw y?e:o}}};if("SequenceExpression"===(a=s(this,this.start,m,!0).parseExpression()).type&&(a=a.expressions[0]),"CallExpression"===a.type&&(a=a.callee),"FunctionExpression"===a.type||"FunctionDeclaration"===a.type||"ArrowFunctionExpression"===a.type)return"SequenceExpression"===(a=s(this,this.start,m).parseExpression()).type&&(a=a.expressions[0]),"CallExpression"===a.type&&(a=a.callee),a.async=!0,a.start=u,a.loc&&(a.loc.start=l),a.range&&(a.range[0]=u),this.pos=a.end,this.end=a.end,this.endLoc=a.endLoc,this.next(),n(a),a}catch(e){if(e!==o)throw e}finally{this.inAsyncFunction=f}}return p}}),e.extend("finishNodeAt",function(e){return function(t,n,r,i){return t.__asyncValue&&(delete t.__asyncValue,t.value.async=!0),e.apply(this,arguments)}}),e.extend("finishNode",function(e){return function(t,n){return t.__asyncValue&&(delete t.__asyncValue,t.value.async=!0),e.apply(this,arguments)}}),e.extend("parsePropertyName",function(e){return function(t){t.key&&t.key.name;var i=e.apply(this,arguments);return"Identifier"!==i.type||"async"!==i.name||r(this,i.end)||this.input.slice(i.end).match(c)||(p.test(this.input.slice(i.end))?(i=e.apply(this,arguments),t.__asyncValue=!0):(n(t),"set"===t.kind&&this.raise(i.start,"'set (value)' cannot be be async"),"Identifier"===(i=e.apply(this,arguments)).type&&"set"===i.name&&this.raise(i.start,"'set (value)' cannot be be async"),t.__asyncValue=!0)),i}}),e.extend("parseClassMethod",function(e){return function(t,n,r){var i;n.__asyncValue&&("constructor"===n.kind&&this.raise(n.start,"class constructor() cannot be be async"),i=this.inAsyncFunction,this.inAsyncFunction=!0);var s=e.apply(this,arguments);return this.inAsyncFunction=i,s}}),e.extend("parseMethod",function(e){return function(t){var n;this.__currentProperty&&this.__currentProperty.__asyncValue&&(n=this.inAsyncFunction,this.inAsyncFunction=!0);var r=e.apply(this,arguments);return this.inAsyncFunction=n,r}}),e.extend("parsePropertyValue",function(e){return function(t,n,r,i,s,o){var a=this.__currentProperty;this.__currentProperty=t;var u;t.__asyncValue&&(u=this.inAsyncFunction,this.inAsyncFunction=!0);var c=e.apply(this,arguments);return this.inAsyncFunction=u,this.__currentProperty=a,c}})}},{}],3:[function(e,t,n){function r(e,t,n){var r=new e.constructor(e.options,e.input,t);if(n)for(var i in n)r[i]=n[i];var s=e,o=r;return["inFunction","inAsync","inGenerator","inModule"].forEach(function(e){e in s&&(o[e]=s[e])}),r.nextToken(),r}var i=/^async[\t ]+(return|throw)/,s=/^\s*[):;]/,o=/([^\n])\/\*(\*(?!\/)|[^\n*])*\*\/([^\n])/g;t.exports=function(e,t){t&&"object"==typeof t||(t={}),e.extend("parse",function(n){return function(){return this.inAsync=t.inAsyncFunction,t.awaitAnywhere&&t.inAsyncFunction&&e.raise(node.start,"The options awaitAnywhere and inAsyncFunction are mutually exclusive"),n.apply(this,arguments)}}),e.extend("parseStatement",function(e){return function(n,r){var s=this.start,a=this.startLoc;if("name"===this.type.label&&t.asyncExits&&function(e,t,n){var r=t.input.slice(t.start);return n&&(r=r.replace(o,"$1 $3")),e.test(r)}(i,this)){this.next();var u=this.parseStatement(n,r);return u.async=!0,u.start=s,u.loc&&(u.loc.start=a),u.range&&(u.range[0]=s),u}return e.apply(this,arguments)}}),e.extend("parseIdent",function(e){return function(n){return"module"===this.options.sourceType&&this.options.ecmaVersion>=8&&t.awaitAnywhere?e.call(this,!0):e.apply(this,arguments)}}),e.extend("parseExprAtom",function(e){var n={};return function(i){var s,o=this.start,a=(this.startLoc,e.apply(this,arguments));if("Identifier"===a.type&&"await"===a.name&&!this.inAsync&&t.awaitAnywhere){var u=this.startNodeAt(a.start,a.loc&&a.loc.start);o=this.start;var c={raise:function(){try{return pp.raise.apply(this,arguments)}catch(e){throw n}}};try{if((s=r(this,o-4,c).parseExprSubscripts()).end<=o)return s=r(this,o,c).parseExprSubscripts(),u.argument=s,u=this.finishNodeAt(u,"AwaitExpression",s.end,s.loc&&s.loc.end),this.pos=s.end,this.end=s.end,this.endLoc=s.endLoc,this.next(),u}catch(e){if(e===n)return a;throw e}}return a}});var n={undefined:!0,get:!0,set:!0,static:!0,async:!0,constructor:!0};e.extend("parsePropertyName",function(e){return function(t){var r=t.key&&t.key.name,i=e.apply(this,arguments);return"get"===this.value&&(t.__maybeStaticAsyncGetter=!0),n[this.value]?i:("Identifier"!==i.type||"async"!==i.name&&"async"!==r||function(e,t){return e.lineStart>=t}(this,i.end)||this.input.slice(i.end).match(s)?delete t.__maybeStaticAsyncGetter:"set"===t.kind||"set"===i.name?this.raise(i.start,"'set (value)' cannot be be async"):(this.__isAsyncProp=!0,"Identifier"===(i=e.apply(this,arguments)).type&&"set"===i.name&&this.raise(i.start,"'set (value)' cannot be be async")),i)}}),e.extend("parseClassMethod",function(e){return function(t,n,r){var i=e.apply(this,arguments);return n.__maybeStaticAsyncGetter&&(delete n.__maybeStaticAsyncGetter,"get"!==n.key.name&&(n.kind="get")),i}}),e.extend("parseFunctionBody",function(e){return function(t,n){var r=this.inAsync;this.__isAsyncProp&&(t.async=!0,this.inAsync=!0,delete this.__isAsyncProp);var i=e.apply(this,arguments);return this.inAsync=r,i}})}},{}],4:[function(e,t,n){!function(e,r){"object"==typeof n&&void 0!==t?r(n):"function"==typeof define&&define.amd?define(["exports"],r):r(e.acorn=e.acorn||{})}(this,function(e){"use strict";function t(e,t){for(var n=65536,r=0;re)return!1;if((n+=t[r+1])>=e)return!0}}function n(e,n){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&x.test(String.fromCharCode(e)):!1!==n&&t(e,E)))}function r(e,n){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&w.test(String.fromCharCode(e)):!1!==n&&(t(e,E)||t(e,S)))))}function i(e,t){return new k(e,{beforeExpr:!0,binop:t})}function s(e,t){return void 0===t&&(t={}),t.keyword=e,_[e]=new k(e,t)}function o(e){return 10===e||13===e||8232===e||8233===e}function a(e,t){return $.call(e,t)}function u(e,t){for(var n=1,r=0;;){T.lastIndex=r;var i=T.exec(e);if(!(i&&i.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),R(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}return R(t.onComment)&&(t.onComment=function(e,t){return function(n,r,i,s,o,a){var u={type:n?"Block":"Line",value:r,start:i,end:s};e.locations&&(u.loc=new j(this,o,a)),e.ranges&&(u.range=[i,s]),t.push(u)}}(t,t.onComment)),t}function l(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}function p(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=-1}function h(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}function f(e,t,n,r){try{return new RegExp(e,t)}catch(e){if(void 0!==n)throw e instanceof SyntaxError&&r.raise(n,"Error parsing regular expression: "+e.message),e}}function d(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}var y={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},m="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",g={5:m,6:m+" const class extends export import super"},v="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",b="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",x=new RegExp("["+v+"]"),w=new RegExp("["+v+b+"]");v=b=null;var E=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],S=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239],k=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null},A={beforeExpr:!0},C={startsExpr:!0},_={},L={num:new k("num",C),regexp:new k("regexp",C),string:new k("string",C),name:new k("name",C),eof:new k("eof"),bracketL:new k("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new k("]"),braceL:new k("{",{beforeExpr:!0,startsExpr:!0}),braceR:new k("}"),parenL:new k("(",{beforeExpr:!0,startsExpr:!0}),parenR:new k(")"),comma:new k(",",A),semi:new k(";",A),colon:new k(":",A),dot:new k("."),question:new k("?",A),arrow:new k("=>",A),template:new k("template"),invalidTemplate:new k("invalidTemplate"),ellipsis:new k("...",A),backQuote:new k("`",C),dollarBraceL:new k("${",{beforeExpr:!0,startsExpr:!0}),eq:new k("=",{beforeExpr:!0,isAssign:!0}),assign:new k("_=",{beforeExpr:!0,isAssign:!0}),incDec:new k("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new k("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:i("||",1),logicalAND:i("&&",2),bitwiseOR:i("|",3),bitwiseXOR:i("^",4),bitwiseAND:i("&",5),equality:i("==/!=/===/!==",6),relational:i("/<=/>=",7),bitShift:i("<>/>>>",8),plusMin:new k("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:i("%",10),star:i("*",10),slash:i("/",10),starstar:new k("**",{beforeExpr:!0}),_break:s("break"),_case:s("case",A),_catch:s("catch"),_continue:s("continue"),_debugger:s("debugger"),_default:s("default",A),_do:s("do",{isLoop:!0,beforeExpr:!0}),_else:s("else",A),_finally:s("finally"),_for:s("for",{isLoop:!0}),_function:s("function",C),_if:s("if"),_return:s("return",A),_switch:s("switch"),_throw:s("throw",A),_try:s("try"),_var:s("var"),_const:s("const"),_while:s("while",{isLoop:!0}),_with:s("with"),_new:s("new",{beforeExpr:!0,startsExpr:!0}),_this:s("this",C),_super:s("super",C),_class:s("class",C),_extends:s("extends",A),_export:s("export"),_import:s("import"),_null:s("null",C),_true:s("true",C),_false:s("false",C),_in:s("in",{beforeExpr:!0,binop:7}),_instanceof:s("instanceof",{beforeExpr:!0,binop:7}),_typeof:s("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:s("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:s("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},O=/\r\n?|\n|\u2028|\u2029/,T=new RegExp(O.source,"g"),N=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,P=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,F=Object.prototype,$=F.hasOwnProperty,B=F.toString,R=Array.isArray||function(e){return"[object Array]"===B.call(e)},I=function(e,t){this.line=e,this.column=t};I.prototype.offset=function(e){return new I(this.line,this.column+e)};var j=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)},D={ecmaVersion:7,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1,plugins:{}},M={},V=function(e,t,n){this.options=e=c(e),this.sourceFile=e.sourceFile,this.keywords=l(g[e.ecmaVersion>=6?6:5]);var r="";if(!e.allowReserved){for(var i=e.ecmaVersion;!(r=y[i]);i--);"module"==e.sourceType&&(r+=" await")}this.reservedWords=l(r);var s=(r?r+" ":"")+y.strict;this.reservedWordsStrict=l(s),this.reservedWordsStrictBind=l(s+" "+y.strictBind),this.input=String(t),this.containsEsc=!1,this.loadPlugins(e.plugins),n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(O).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=L.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.inFunction=this.inGenerator=this.inAsync=!1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterFunctionScope()};V.prototype.isKeyword=function(e){return this.keywords.test(e)},V.prototype.isReservedWord=function(e){return this.reservedWords.test(e)},V.prototype.extend=function(e,t){this[e]=t(this[e])},V.prototype.loadPlugins=function(e){for(var t in e){var n=M[t];if(!n)throw new Error("Plugin '"+t+"' not found");n(this,e[t])}},V.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)};var q=V.prototype,U=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/;q.strictDirective=function(e){for(;;){P.lastIndex=e,e+=P.exec(this.input)[0].length;var t=U.exec(this.input.slice(e));if(!t)return!1;if("use strict"==(t[1]||t[2]))return!0;e+=t[0].length}},q.eat=function(e){return this.type===e&&(this.next(),!0)},q.isContextual=function(e){return this.type===L.name&&this.value===e},q.eatContextual=function(e){return this.value===e&&this.eat(L.name)},q.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},q.canInsertSemicolon=function(){return this.type===L.eof||this.type===L.braceR||O.test(this.input.slice(this.lastTokEnd,this.start))},q.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},q.semicolon=function(){this.eat(L.semi)||this.insertSemicolon()||this.unexpected()},q.afterTrailingComma=function(e,t){if(this.type==e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},q.expect=function(e){this.eat(e)||this.unexpected()},q.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},q.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,"Parenthesized pattern")}},q.checkExpressionErrors=function(e,t){var n=e?e.shorthandAssign:-1;if(!t)return n>=0;n>-1&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns")},q.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&(e.sourceType=this.options.sourceType),this.finishNode(e,"Program")};var W={kind:"loop"},G={kind:"switch"};z.isLet=function(){if(this.type!==L.name||this.options.ecmaVersion<6||"let"!=this.value)return!1;P.lastIndex=this.pos;var e=P.exec(this.input),t=this.pos+e[0].length,i=this.input.charCodeAt(t);if(91===i||123==i)return!0;if(n(i,!0)){for(var s=t+1;r(this.input.charCodeAt(s),!0);)++s;var o=this.input.slice(t,s);if(!this.isKeyword(o))return!0}return!1},z.isAsyncFunction=function(){if(this.type!==L.name||this.options.ecmaVersion<8||"async"!=this.value)return!1;P.lastIndex=this.pos;var e=P.exec(this.input),t=this.pos+e[0].length;return!(O.test(this.input.slice(this.pos,t))||"function"!==this.input.slice(t,t+8)||t+8!=this.input.length&&r(this.input.charAt(t+8)))},z.parseStatement=function(e,t,n){var r,i=this.type,s=this.startNode();switch(this.isLet()&&(i=L._var,r="let"),i){case L._break:case L._continue:return this.parseBreakContinueStatement(s,i.keyword);case L._debugger:return this.parseDebuggerStatement(s);case L._do:return this.parseDoStatement(s);case L._for:return this.parseForStatement(s);case L._function:return!e&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1);case L._class:return e||this.unexpected(),this.parseClass(s,!0);case L._if:return this.parseIfStatement(s);case L._return:return this.parseReturnStatement(s);case L._switch:return this.parseSwitchStatement(s);case L._throw:return this.parseThrowStatement(s);case L._try:return this.parseTryStatement(s);case L._const:case L._var:return r=r||this.value,e||"var"==r||this.unexpected(),this.parseVarStatement(s,r);case L._while:return this.parseWhileStatement(s);case L._with:return this.parseWithStatement(s);case L.braceL:return this.parseBlock();case L.semi:return this.parseEmptyStatement(s);case L._export:case L._import:return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===L._import?this.parseImport(s):this.parseExport(s,n);default:if(this.isAsyncFunction()&&e)return this.next(),this.parseFunctionStatement(s,!0);var o=this.value,a=this.parseExpression();return i===L.name&&"Identifier"===a.type&&this.eat(L.colon)?this.parseLabeledStatement(s,o,a):this.parseExpressionStatement(s,a)}},z.parseBreakContinueStatement=function(e,t){var n="break"==t;this.next(),this.eat(L.semi)||this.insertSemicolon()?e.label=null:this.type!==L.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r=6?this.eat(L.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},z.parseForStatement=function(e){if(this.next(),this.labels.push(W),this.enterLexicalScope(),this.expect(L.parenL),this.type===L.semi)return this.parseFor(e,null);var t=this.isLet();if(this.type===L._var||this.type===L._const||t){var n=this.startNode(),r=t?"let":this.value;return this.next(),this.parseVar(n,!0,r),this.finishNode(n,"VariableDeclaration"),!(this.type===L._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==n.declarations.length||"var"!==r&&n.declarations[0].init?this.parseFor(e,n):this.parseForIn(e,n)}var i=new p,s=this.parseExpression(!0,i);return this.type===L._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.toAssignable(s),this.checkLVal(s),this.checkPatternErrors(i,!0),this.parseForIn(e,s)):(this.checkExpressionErrors(i,!0),this.parseFor(e,s))},z.parseFunctionStatement=function(e,t){return this.next(),this.parseFunction(e,!0,!1,t)},z.isFunction=function(){return this.type===L._function||this.isAsyncFunction()},z.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(!this.strict&&this.isFunction()),e.alternate=this.eat(L._else)?this.parseStatement(!this.strict&&this.isFunction()):null,this.finishNode(e,"IfStatement")},z.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(L.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},z.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(L.braceL),this.labels.push(G),this.enterLexicalScope();for(var t,n=!1;this.type!=L.braceR;)if(this.type===L._case||this.type===L._default){var r=this.type===L._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),n=!0,t.test=null),this.expect(L.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(!0));return this.exitLexicalScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},z.parseThrowStatement=function(e){return this.next(),O.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var J=[];z.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===L._catch){var t=this.startNode();this.next(),this.expect(L.parenL),t.param=this.parseBindingAtom(),this.enterLexicalScope(),this.checkLVal(t.param,"let"),this.expect(L.parenR),t.body=this.parseBlock(!1),this.exitLexicalScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(L._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},z.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},z.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(W),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"WhileStatement")},z.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(!1),this.finishNode(e,"WithStatement")},z.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},z.parseLabeledStatement=function(e,t,n){for(var r=0,i=this.labels;r=0;o--){var a=this.labels[o];if(a.statementStart!=e.start)break;a.statementStart=this.start,a.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(!0),("ClassDeclaration"==e.body.type||"VariableDeclaration"==e.body.type&&"var"!=e.body.kind||"FunctionDeclaration"==e.body.type&&(this.strict||e.body.generator))&&this.raiseRecoverable(e.body.start,"Invalid labeled declaration"),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},z.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},z.parseBlock=function(e){void 0===e&&(e=!0);var t=this.startNode();for(t.body=[],this.expect(L.braceL),e&&this.enterLexicalScope();!this.eat(L.braceR);){var n=this.parseStatement(!0);t.body.push(n)}return e&&this.exitLexicalScope(),this.finishNode(t,"BlockStatement")},z.parseFor=function(e,t){return e.init=t,this.expect(L.semi),e.test=this.type===L.semi?null:this.parseExpression(),this.expect(L.semi),e.update=this.type===L.parenR?null:this.parseExpression(),this.expect(L.parenR),this.exitLexicalScope(),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"ForStatement")},z.parseForIn=function(e,t){var n=this.type===L._in?"ForInStatement":"ForOfStatement";return this.next(),e.left=t,e.right=this.parseExpression(),this.expect(L.parenR),this.exitLexicalScope(),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,n)},z.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var r=this.startNode();if(this.parseVarId(r,n),this.eat(L.eq)?r.init=this.parseMaybeAssign(t):"const"!==n||this.type===L._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"==r.id.type||t&&(this.type===L._in||this.isContextual("of"))?r.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(r,"VariableDeclarator")),!this.eat(L.comma))break}return e},z.parseVarId=function(e,t){e.id=this.parseBindingAtom(t),this.checkLVal(e.id,t,!1)},z.parseFunction=function(e,t,n,r){this.initFunction(e),this.options.ecmaVersion>=6&&!r&&(e.generator=this.eat(L.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&&(e.id="nullableID"===t&&this.type!=L.name?null:this.parseIdent(),e.id&&this.checkLVal(e.id,"var"));var i=this.inGenerator,s=this.inAsync,o=this.yieldPos,a=this.awaitPos,u=this.inFunction;return this.inGenerator=e.generator,this.inAsync=e.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),t||(e.id=this.type==L.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n),this.inGenerator=i,this.inAsync=s,this.yieldPos=o,this.awaitPos=a,this.inFunction=u,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},z.parseFunctionParams=function(e){this.expect(L.parenL),e.params=this.parseBindingList(L.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},z.parseClass=function(e,t){this.next(),this.parseClassId(e,t),this.parseClassSuper(e);var n=this.startNode(),r=!1;for(n.body=[],this.expect(L.braceL);!this.eat(L.braceR);)if(!this.eat(L.semi)){var i=this.startNode(),s=this.eat(L.star),o=!1,a=this.type===L.name&&"static"===this.value;this.parsePropertyName(i),i.static=a&&this.type!==L.parenL,i.static&&(s&&this.unexpected(),s=this.eat(L.star),this.parsePropertyName(i)),this.options.ecmaVersion>=8&&!s&&!i.computed&&"Identifier"===i.key.type&&"async"===i.key.name&&this.type!==L.parenL&&!this.canInsertSemicolon()&&(o=!0,this.parsePropertyName(i)),i.kind="method";var u=!1;if(!i.computed){var c=i.key;s||o||"Identifier"!==c.type||this.type===L.parenL||"get"!==c.name&&"set"!==c.name||(u=!0,i.kind=c.name,c=this.parsePropertyName(i)),!i.static&&("Identifier"===c.type&&"constructor"===c.name||"Literal"===c.type&&"constructor"===c.value)&&(r&&this.raise(c.start,"Duplicate constructor in the same class"),u&&this.raise(c.start,"Constructor can't have get/set modifier"),s&&this.raise(c.start,"Constructor can't be a generator"),o&&this.raise(c.start,"Constructor can't be an async method"),i.kind="constructor",r=!0)}if(this.parseClassMethod(n,i,s,o),u){var l="get"===i.kind?0:1;if(i.value.params.length!==l){var p=i.value.start;"get"===i.kind?this.raiseRecoverable(p,"getter should have no params"):this.raiseRecoverable(p,"setter should have exactly one param")}else"set"===i.kind&&"RestElement"===i.value.params[0].type&&this.raiseRecoverable(i.value.params[0].start,"Setter cannot use rest params")}}return e.body=this.finishNode(n,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},z.parseClassMethod=function(e,t,n,r){t.value=this.parseMethod(n,r),e.body.push(this.finishNode(t,"MethodDefinition"))},z.parseClassId=function(e,t){e.id=this.type===L.name?this.parseIdent():!0===t?this.unexpected():null},z.parseClassSuper=function(e){e.superClass=this.eat(L._extends)?this.parseExprSubscripts():null},z.parseExport=function(e,t){if(this.next(),this.eat(L.star))return this.expectContextual("from"),e.source=this.type===L.string?this.parseExprAtom():this.unexpected(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(L._default)){this.checkExport(t,"default",this.lastTokStart);var n;if(this.type===L._function||(n=this.isAsyncFunction())){var r=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(r,"nullableID",!1,n)}else if(this.type===L._class){var i=this.startNode();e.declaration=this.parseClass(i,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(!0),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))e.source=this.type===L.string?this.parseExprAtom():this.unexpected();else{for(var s=0,o=e.specifiers;s=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(var n=0,r=e.properties;n=6&&(e.computed||e.method||e.shorthand))){var n,r=e.key;switch(r.type){case"Identifier":n=r.name;break;case"Literal":n=String(r.value);break;default:return}var i=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===n&&"init"===i&&(t.proto&&this.raiseRecoverable(r.start,"Redefinition of __proto__ property"),t.proto=!0);else{var s=t[n="$"+n];if(s){("init"===i?this.strict&&s.init||s.get||s.set:s.init||s[i])&&this.raiseRecoverable(r.start,"Redefinition of property")}else s=t[n]={init:!1,get:!1,set:!1};s[i]=!0}}},Y.parseExpression=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeAssign(e,t);if(this.type===L.comma){var s=this.startNodeAt(n,r);for(s.expressions=[i];this.eat(L.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return i},Y.parseMaybeAssign=function(e,t,n){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var r=!1,i=-1,s=-1;t?(i=t.parenthesizedAssign,s=t.trailingComma,t.parenthesizedAssign=t.trailingComma=-1):(t=new p,r=!0);var o=this.start,a=this.startLoc;this.type!=L.parenL&&this.type!=L.name||(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(e,t);if(n&&(u=n.call(this,u,o,a)),this.type.isAssign){this.checkPatternErrors(t,!0),r||p.call(t);var c=this.startNodeAt(o,a);return c.operator=this.value,c.left=this.type===L.eq?this.toAssignable(u):u,t.shorthandAssign=-1,this.checkLVal(u),this.next(),c.right=this.parseMaybeAssign(e),this.finishNode(c,"AssignmentExpression")}return r&&this.checkExpressionErrors(t,!0),i>-1&&(t.parenthesizedAssign=i),s>-1&&(t.trailingComma=s),u},Y.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(L.question)){var s=this.startNodeAt(n,r);return s.test=i,s.consequent=this.parseMaybeAssign(),this.expect(L.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return i},Y.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)?i:i.start==n&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,n,r,-1,e)},Y.parseExprOp=function(e,t,n,r,i){var s=this.type.binop;if(null!=s&&(!i||this.type!==L._in)&&s>r){var o=this.type===L.logicalOR||this.type===L.logicalAND,a=this.value;this.next();var u=this.start,c=this.startLoc,l=this.parseExprOp(this.parseMaybeUnary(null,!1),u,c,s,i),p=this.buildBinary(t,n,e,l,a,o);return this.parseExprOp(p,t,n,r,i)}return e},Y.buildBinary=function(e,t,n,r,i,s){var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},Y.parseMaybeUnary=function(e,t){var n,r=this.start,i=this.startLoc;if(this.inAsync&&this.isContextual("await"))n=this.parseAwait(),t=!0;else if(this.type.prefix){var s=this.startNode(),o=this.type===L.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),o?this.checkLVal(s.argument):this.strict&&"delete"===s.operator&&"Identifier"===s.argument.type?this.raiseRecoverable(s.start,"Deleting local variable in strict mode"):t=!0,n=this.finishNode(s,o?"UpdateExpression":"UnaryExpression")}else{if(n=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var a=this.startNodeAt(r,i);a.operator=this.value,a.prefix=!1,a.argument=n,this.checkLVal(n),this.next(),n=this.finishNode(a,"UpdateExpression")}}return!t&&this.eat(L.starstar)?this.buildBinary(r,i,n,this.parseMaybeUnary(null,!1),"**",!1):n},Y.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,r=this.parseExprAtom(e),i="ArrowFunctionExpression"===r.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(e)||i)return r;var s=this.parseSubscripts(r,t,n);return e&&"MemberExpression"===s.type&&(e.parenthesizedAssign>=s.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=s.start&&(e.parenthesizedBind=-1)),s},Y.parseSubscripts=function(e,t,n,r){for(var i=this.options.ecmaVersion>=8&&"Identifier"===e.type&&"async"===e.name&&this.lastTokEnd==e.end&&!this.canInsertSemicolon(),s=void 0;;)if((s=this.eat(L.bracketL))||this.eat(L.dot)){var o=this.startNodeAt(t,n);o.object=e,o.property=s?this.parseExpression():this.parseIdent(!0),o.computed=!!s,s&&this.expect(L.bracketR),e=this.finishNode(o,"MemberExpression")}else if(!r&&this.eat(L.parenL)){var a=new p,u=this.yieldPos,c=this.awaitPos;this.yieldPos=0,this.awaitPos=0;var l=this.parseExprList(L.parenR,this.options.ecmaVersion>=8,!1,a);if(i&&!this.canInsertSemicolon()&&this.eat(L.arrow))return this.checkPatternErrors(a,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=u,this.awaitPos=c,this.parseArrowExpression(this.startNodeAt(t,n),l,!0);this.checkExpressionErrors(a,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=c||this.awaitPos;var h=this.startNodeAt(t,n);h.callee=e,h.arguments=l,e=this.finishNode(h,"CallExpression")}else{if(this.type!==L.backQuote)return e;var f=this.startNodeAt(t,n);f.tag=e,f.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(f,"TaggedTemplateExpression")}},Y.parseExprAtom=function(e){var t,n=this.potentialArrowAt==this.start;switch(this.type){case L._super:return this.inFunction||this.raise(this.start,"'super' outside of function or class"),t=this.startNode(),this.next(),this.type!==L.dot&&this.type!==L.bracketL&&this.type!==L.parenL&&this.unexpected(),this.finishNode(t,"Super");case L._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case L.name:var r=this.start,i=this.startLoc,s=this.parseIdent(this.type!==L.name);if(this.options.ecmaVersion>=8&&"async"===s.name&&!this.canInsertSemicolon()&&this.eat(L._function))return this.parseFunction(this.startNodeAt(r,i),!1,!1,!0);if(n&&!this.canInsertSemicolon()){if(this.eat(L.arrow))return this.parseArrowExpression(this.startNodeAt(r,i),[s],!1);if(this.options.ecmaVersion>=8&&"async"===s.name&&this.type===L.name)return s=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(L.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,i),[s],!0)}return s;case L.regexp:var o=this.value;return t=this.parseLiteral(o.value),t.regex={pattern:o.pattern,flags:o.flags},t;case L.num:case L.string:return this.parseLiteral(this.value);case L._null:case L._true:case L._false:return t=this.startNode(),t.value=this.type===L._null?null:this.type===L._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case L.parenL:var a=this.start,u=this.parseParenAndDistinguishExpression(n);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(e.parenthesizedAssign=a),e.parenthesizedBind<0&&(e.parenthesizedBind=a)),u;case L.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(L.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case L.braceL:return this.parseObj(!1,e);case L._function:return t=this.startNode(),this.next(),this.parseFunction(t,!1);case L._class:return this.parseClass(this.startNode(),!1);case L._new:return this.parseNew();case L.backQuote:return this.parseTemplate();default:this.unexpected()}},Y.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(t,"Literal")},Y.parseParenExpression=function(){this.expect(L.parenL);var e=this.parseExpression();return this.expect(L.parenR),e},Y.parseParenAndDistinguishExpression=function(e){var t,n=this.start,r=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,o,a=this.start,u=this.startLoc,c=[],l=!0,h=!1,f=new p,d=this.yieldPos,y=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==L.parenR;){if(l?l=!1:this.expect(L.comma),i&&this.afterTrailingComma(L.parenR,!0)){h=!0;break}if(this.type===L.ellipsis){s=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===L.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}this.type!==L.parenL||o||(o=this.start),c.push(this.parseMaybeAssign(!1,f,this.parseParenItem))}var m=this.start,g=this.startLoc;if(this.expect(L.parenR),e&&!this.canInsertSemicolon()&&this.eat(L.arrow))return this.checkPatternErrors(f,!1),this.checkYieldAwaitInDefaultParams(),o&&this.unexpected(o),this.yieldPos=d,this.awaitPos=y,this.parseParenArrowList(n,r,c);c.length&&!h||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(f,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=y||this.awaitPos,c.length>1?((t=this.startNodeAt(a,u)).expressions=c,this.finishNodeAt(t,"SequenceExpression",m,g)):t=c[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var v=this.startNodeAt(n,r);return v.expression=t,this.finishNode(v,"ParenthesizedExpression")}return t},Y.parseParenItem=function(e){return e},Y.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var Q=[];Y.parseNew=function(){var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(L.dot))return e.meta=t,e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(e.start,"new.target can only be used in functions"),this.finishNode(e,"MetaProperty");var n=this.start,r=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(),n,r,!0),this.eat(L.parenL)?e.arguments=this.parseExprList(L.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Q,this.finishNode(e,"NewExpression")},Y.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===L.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),n.tail=this.type===L.backQuote,this.finishNode(n,"TemplateElement")},Y.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(n.quasis=[r];!r.tail;)this.expect(L.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(L.braceR),n.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,"TemplateLiteral")},Y.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===L.name||this.type===L.num||this.type===L.string||this.type===L.bracketL||this.type.keyword)&&!O.test(this.input.slice(this.lastTokEnd,this.start))},Y.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(L.braceR);){if(r)r=!1;else if(this.expect(L.comma),this.afterTrailingComma(L.braceR))break;var s=this.parseProperty(e,t);this.checkPropClash(s,i),n.properties.push(s)}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")},Y.parseProperty=function(e,t){var n,r,i,s,o=this.startNode();return this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(e||t)&&(i=this.start,s=this.startLoc),e||(n=this.eat(L.star))),this.parsePropertyName(o),!e&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(o)?(r=!0,this.parsePropertyName(o,t)):r=!1,this.parsePropertyValue(o,e,n,r,i,s,t),this.finishNode(o,"Property")},Y.parsePropertyValue=function(e,t,n,r,i,s,o){if((n||r)&&this.type===L.colon&&this.unexpected(),this.eat(L.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===L.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n,r);else if(t||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type==L.comma||this.type==L.braceR)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?(this.checkUnreserved(e.key),e.kind="init",t?e.value=this.parseMaybeDefault(i,s,e.key):this.type===L.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,s,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(n||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var a="get"===e.kind?0:1;if(e.value.params.length!==a){var u=e.value.start;"get"===e.kind?this.raiseRecoverable(u,"getter should have no params"):this.raiseRecoverable(u,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},Y.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(L.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(L.bracketR),e.key;e.computed=!1}return e.key=this.type===L.num||this.type===L.string?this.parseExprAtom():this.parseIdent(!0)},Y.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=!1,e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Y.parseMethod=function(e,t){var n=this.startNode(),r=this.inGenerator,i=this.inAsync,s=this.yieldPos,o=this.awaitPos,a=this.inFunction;return this.initFunction(n),this.options.ecmaVersion>=6&&(n.generator=e),this.options.ecmaVersion>=8&&(n.async=!!t),this.inGenerator=n.generator,this.inAsync=n.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),this.expect(L.parenL),n.params=this.parseBindingList(L.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(n,!1),this.inGenerator=r,this.inAsync=i,this.yieldPos=s,this.awaitPos=o,this.inFunction=a,this.finishNode(n,"FunctionExpression")},Y.parseArrowExpression=function(e,t,n){var r=this.inGenerator,i=this.inAsync,s=this.yieldPos,o=this.awaitPos,a=this.inFunction;return this.enterFunctionScope(),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.inGenerator=!1,this.inAsync=e.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0),this.inGenerator=r,this.inAsync=i,this.yieldPos=s,this.awaitPos=o,this.inFunction=a,this.finishNode(e,"ArrowFunctionExpression")},Y.parseFunctionBody=function(e,t){var n=t&&this.type!==L.braceL,r=this.strict,i=!1;if(n)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);r&&!s||(i=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],i&&(this.strict=!0),this.checkParams(e,!r&&!i&&!t&&this.isSimpleParamList(e.params)),e.body=this.parseBlock(!1),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=o}this.exitFunctionScope(),this.strict&&e.id&&this.checkLVal(e.id,"none"),this.strict=r},Y.isSimpleParamList=function(e){for(var t=0,n=e;t0;)t[n]=arguments[n+1];for(var r=0,i=t;r=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},ie.updateContext=function(e){var t,n=this.type;n.keyword&&e==L.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},L.parenR.updateContext=L.braceR.updateContext=function(){if(1!=this.context.length){var e=this.context.pop();e===re.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},L.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?re.b_stat:re.b_expr),this.exprAllowed=!0},L.dollarBraceL.updateContext=function(){this.context.push(re.b_tmpl),this.exprAllowed=!0},L.parenL.updateContext=function(e){var t=e===L._if||e===L._for||e===L._with||e===L._while;this.context.push(t?re.p_stat:re.p_expr),this.exprAllowed=!0},L.incDec.updateContext=function(){},L._function.updateContext=L._class.updateContext=function(e){e.beforeExpr&&e!==L.semi&&e!==L._else&&(e!==L.colon&&e!==L.braceL||this.curContext()!==re.b_stat)?this.context.push(re.f_expr):this.context.push(re.f_stat),this.exprAllowed=!1},L.backQuote.updateContext=function(){this.curContext()===re.q_tmpl?this.context.pop():this.context.push(re.q_tmpl),this.exprAllowed=!1},L.star.updateContext=function(e){if(e==L._function){var t=this.context.length-1;this.context[t]===re.f_expr?this.context[t]=re.f_expr_gen:this.context[t]=re.f_gen}this.exprAllowed=!0},L.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&("of"==this.value&&!this.exprAllowed||"yield"==this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var se=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new j(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},oe=V.prototype,ae="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);oe.next=function(){this.options.onToken&&this.options.onToken(new se(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},oe.getToken=function(){return this.next(),new se(this)},"undefined"!=typeof Symbol&&(oe[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===L.eof,value:t}}}}),oe.curContext=function(){return this.context[this.context.length-1]},oe.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(L.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},oe.readToken=function(e){return n(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},oe.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=57344)return e;return(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},oe.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(-1===n&&this.raise(this.pos-2,"Unterminated comment"),this.pos=n+2,this.options.locations){T.lastIndex=t;for(var r;(r=T.exec(this.input))&&r.index8&&e<14||e>=5760&&N.test(String.fromCharCode(e))))break e;++this.pos}}},oe.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},oe.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(L.ellipsis)):(++this.pos,this.finishToken(L.dot))},oe.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(L.assign,2):this.finishOp(L.slash,1)},oe.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=42===e?L.star:L.modulo;return this.options.ecmaVersion>=7&&42==e&&42===t&&(++n,r=L.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(L.assign,n+1):this.finishOp(r,n)},oe.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.finishOp(124===e?L.logicalOR:L.logicalAND,2):61===t?this.finishOp(L.assign,2):this.finishOp(124===e?L.bitwiseOR:L.bitwiseAND,1)},oe.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(L.assign,2):this.finishOp(L.bitwiseXOR,1)},oe.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!=t||this.inModule||62!=this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!O.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(L.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(L.assign,2):this.finishOp(L.plusMin,1)},oe.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(L.assign,n+1):this.finishOp(L.bitShift,n)):33!=t||60!=e||this.inModule||45!=this.input.charCodeAt(this.pos+2)||45!=this.input.charCodeAt(this.pos+3)?(61===t&&(n=2),this.finishOp(L.relational,n)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},oe.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(L.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(L.arrow)):this.finishOp(61===e?L.eq:L.prefix,1)},oe.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(L.parenL);case 41:return++this.pos,this.finishToken(L.parenR);case 59:return++this.pos,this.finishToken(L.semi);case 44:return++this.pos,this.finishToken(L.comma);case 91:return++this.pos,this.finishToken(L.bracketL);case 93:return++this.pos,this.finishToken(L.bracketR);case 123:return++this.pos,this.finishToken(L.braceL);case 125:return++this.pos,this.finishToken(L.braceR);case 58:return++this.pos,this.finishToken(L.colon);case 63:return++this.pos,this.finishToken(L.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(L.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(L.prefix,1)}this.raise(this.pos,"Unexpected character '"+d(e)+"'")},oe.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)};var ue=!!f("￿","u");oe.readRegexp=function(){for(var e,t,n=this,r=this.pos;;){n.pos>=n.input.length&&n.raise(r,"Unterminated regular expression");var i=n.input.charAt(n.pos);if(O.test(i)&&n.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++n.pos}var s=this.input.slice(r,this.pos);++this.pos;var o=this.readWord1(),a=s,u="";if(o){var c=/^[gim]*$/;this.options.ecmaVersion>=6&&(c=/^[gimuy]*$/),c.test(o)||this.raise(r,"Invalid regular expression flag"),o.indexOf("u")>=0&&(ue?u="u":(a=(a=a.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(e,t,i){return(t=Number("0x"+t))>1114111&&n.raise(r+i+3,"Code point out of bounds"),"x"})).replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"),u=u.replace("u","")))}var l=null;return ae||(f(a,u,r,this),l=f(s,o)),this.finishToken(L.regexp,{pattern:s,flags:o,value:l})},oe.readInt=function(e,t){for(var n=this.pos,r=0,i=0,s=null==t?1/0:t;i=97?o-97+10:o>=65?o-65+10:o>=48&&o<=57?o-48:1/0)>=e)break;++this.pos,r=r*e+a}return this.pos===n||null!=t&&this.pos-n!==t?null:r},oe.readRadixNumber=function(e){this.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.start+2,"Expected number in radix "+e),n(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(L.num,t)},oe.readNumber=function(e){var t=this.pos,r=!1,i=48===this.input.charCodeAt(this.pos);e||null!==this.readInt(10)||this.raise(t,"Invalid number"),i&&this.pos==t+1&&(i=!1);var s=this.input.charCodeAt(this.pos);46!==s||i||(++this.pos,this.readInt(10),r=!0,s=this.input.charCodeAt(this.pos)),69!==s&&101!==s||i||(43!==(s=this.input.charCodeAt(++this.pos))&&45!==s||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),r=!0),n(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o,a=this.input.slice(t,this.pos);return r?o=parseFloat(a):i&&1!==a.length?this.strict?this.raise(t,"Invalid number"):o=/[89]/.test(a)?parseInt(a,10):parseInt(a,8):o=parseInt(a,10),this.finishToken(L.num,o)},oe.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},oe.readString=function(e){for(var t="",n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var r=this.input.charCodeAt(this.pos);if(r===e)break;92===r?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):(o(r)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(L.string,t)};var ce={};oe.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==ce)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},oe.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ce;this.raise(e,t)},oe.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var n=this.input.charCodeAt(this.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==L.template&&this.type!==L.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(L.template,e)):36===n?(this.pos+=2,this.finishToken(L.dollarBraceL)):(++this.pos,this.finishToken(L.backQuote));if(92===n)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(o(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},oe.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(n,8);return r>255&&(n=n.slice(0,-1),r=parseInt(n,8)),"0"!==n&&(this.strict||e)&&this.invalidStringToken(this.pos-2,"Octal literal in strict mode"),this.pos+=n.length-1,String.fromCharCode(r)}return String.fromCharCode(t)}},oe.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.invalidStringToken(t,"Bad character escape sequence"),n},oe.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos=s)&&a[c](t,n,e),(null==r||t.start==r)&&(null==s||t.end==s)&&o(c,t))throw new i(t,n)}(n,u)}catch(e){if(e instanceof i)return e;throw e}},e.findNodeAround=function(n,r,s,o,a){s=t(s),o||(o=e.base);try{!function e(t,n,a){var u=a||t.type;if(!(t.start>r||t.end=r&&s(u,t))throw new i(t,n);o[u](t,n,e)}}(n,a)}catch(e){if(e instanceof i)return e;throw e}},e.findNodeBefore=function(n,r,s,o,a){s=t(s),o||(o=e.base);var u;return function e(t,n,a){if(!(t.start>r)){var c=a||t.type;t.end<=r&&(!u||u.node.end0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function i(e){return o[e>>18&63]+o[e>>12&63]+o[e>>6&63]+o[63&e]}function s(e,t,n){for(var r,s=[],o=t;o0?c-4:c;var l=0;for(t=0;t>16&255,o[l++]=i>>8&255,o[l++]=255&i;return 2===s?(i=a[e.charCodeAt(t)]<<2|a[e.charCodeAt(t+1)]>>4,o[l++]=255&i):1===s&&(i=a[e.charCodeAt(t)]<<10|a[e.charCodeAt(t+1)]<<4|a[e.charCodeAt(t+2)]>>2,o[l++]=i>>8&255,o[l++]=255&i),o},n.fromByteArray=function(e){for(var t,n=e.length,r=n%3,i="",a=[],u=0,c=n-r;uc?c:u+16383));return 1===r?(t=e[n-1],i+=o[t>>2],i+=o[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=o[t>>10],i+=o[t>>4&63],i+=o[t<<2&63],i+="="),a.push(i),a.join("")};for(var o=[],a=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=0,p=c.length;lB)throw new RangeError("Invalid typed array length");var t=new Uint8Array(e);return t.__proto__=i.prototype,t}function i(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return a(e)}return s(e,t,n)}function s(e,t,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return T(e)?function(e,t,n){if(t<0||e.byteLength=B)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+B.toString(16)+" bytes");return 0|e}function l(e,t){if(i.isBuffer(e))return e.length;if(N(e)||T(e))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return _(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return L(e).length;default:if(r)return _(e).length;t=(""+t).toLowerCase(),r=!0}}function p(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||n>r)&&(n=r);for(var i="",s=t;s2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,P(n)&&(n=s?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(s)return-1;n=e.length-1}else if(n<0){if(!s)return-1;n=0}if("string"==typeof t&&(t=i.from(t,r)),i.isBuffer(t))return 0===t.length?-1:d(e,t,n,r,s);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):d(e,[t],n,r,s);throw new TypeError("val must be string, number or Buffer")}function d(e,t,n,r,i){function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}var c;if(i){var l=-1;for(c=n;ca&&(n=a-u),c=n;c>=0;c--){for(var p=!0,h=0;hi&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function w(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:s>223?3:s>191?2:1;if(i+a<=n){var u,c,l,p;switch(a){case 1:s<128&&(o=s);break;case 2:128==(192&(u=e[i+1]))&&(p=(31&s)<<6|63&u)>127&&(o=p);break;case 3:u=e[i+1],c=e[i+2],128==(192&u)&&128==(192&c)&&(p=(15&s)<<12|(63&u)<<6|63&c)>2047&&(p<55296||p>57343)&&(o=p);break;case 4:u=e[i+1],c=e[i+2],l=e[i+3],128==(192&u)&&128==(192&c)&&128==(192&l)&&(p=(15&s)<<18|(63&u)<<12|(63&c)<<6|63&l)>65535&&p<1114112&&(o=p)}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rn)throw new RangeError("Trying to access beyond buffer length")}function S(e,t,n,r,s,o){if(!i.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function k(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function A(e,t,n,r,i){return t=+t,n>>>=0,i||k(e,0,n,4),$.write(e,t,n,r,23,4),n+4}function C(e,t,n,r,i){return t=+t,n>>>=0,i||k(e,0,n,8),$.write(e,t,n,r,52,8),n+8}function _(e,t){t=t||1/0;for(var n,r=e.length,i=null,s=[],o=0;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function L(e){return F.toByteArray(function(e){if((e=e.trim().replace(I,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function O(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function T(e){return e instanceof ArrayBuffer||null!=e&&null!=e.constructor&&"ArrayBuffer"===e.constructor.name&&"number"==typeof e.byteLength}function N(e){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(e)}function P(e){return e!=e}var F=e("base64-js"),$=e("ieee754");n.Buffer=i,n.SlowBuffer=function(e){return+e!=e&&(e=0),i.alloc(+e)},n.INSPECT_MAX_BYTES=50;var B=2147483647;n.kMaxLength=B,(i.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}())||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(e,t,n){return s(e,t,n)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(e,t,n){return function(e,t,n){return o(e),e<=0?r(e):void 0!==t?"string"==typeof n?r(e).fill(t,n):r(e).fill(t):r(e)}(e,t,n)},i.allocUnsafe=function(e){return a(e)},i.allocUnsafeSlow=function(e){return a(e)},i.isBuffer=function(e){return null!=e&&!0===e._isBuffer},i.compare=function(e,t){if(!i.isBuffer(e)||!i.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,s=0,o=Math.min(n,r);s0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},i.prototype.compare=function(e,t,n,r,s){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===s&&(s=this.length),t<0||n>e.length||r<0||s>this.length)throw new RangeError("out of range index");if(r>=s&&t>=n)return 0;if(r>=s)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,s>>>=0,this===e)return 0;for(var o=s-r,a=n-t,u=Math.min(o,a),c=this.slice(r,s),l=e.slice(t,n),p=0;p>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return m(this,e,t,n);case"ascii":return g(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return b(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;i.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||E(e,t,this.length);for(var r=this[e],i=1,s=0;++s>>=0,t>>>=0,n||E(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},i.prototype.readUInt8=function(e,t){return e>>>=0,t||E(e,1,this.length),this[e]},i.prototype.readUInt16LE=function(e,t){return e>>>=0,t||E(e,2,this.length),this[e]|this[e+1]<<8},i.prototype.readUInt16BE=function(e,t){return e>>>=0,t||E(e,2,this.length),this[e]<<8|this[e+1]},i.prototype.readUInt32LE=function(e,t){return e>>>=0,t||E(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},i.prototype.readUInt32BE=function(e,t){return e>>>=0,t||E(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},i.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||E(e,t,this.length);for(var r=this[e],i=1,s=0;++s=i&&(r-=Math.pow(2,8*t)),r},i.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||E(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},i.prototype.readInt8=function(e,t){return e>>>=0,t||E(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},i.prototype.readInt16LE=function(e,t){e>>>=0,t||E(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt16BE=function(e,t){e>>>=0,t||E(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt32LE=function(e,t){return e>>>=0,t||E(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},i.prototype.readInt32BE=function(e,t){return e>>>=0,t||E(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},i.prototype.readFloatLE=function(e,t){return e>>>=0,t||E(e,4,this.length),$.read(this,e,!0,23,4)},i.prototype.readFloatBE=function(e,t){return e>>>=0,t||E(e,4,this.length),$.read(this,e,!1,23,4)},i.prototype.readDoubleLE=function(e,t){return e>>>=0,t||E(e,8,this.length),$.read(this,e,!0,52,8)},i.prototype.readDoubleBE=function(e,t){return e>>>=0,t||E(e,8,this.length),$.read(this,e,!1,52,8)},i.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){S(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,!r){S(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},i.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,1,255,0),this[t]=255&e,t+1},i.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},i.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);S(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},i.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);S(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},i.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},i.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},i.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||S(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeFloatLE=function(e,t,n){return A(this,e,t,!0,n)},i.prototype.writeFloatBE=function(e,t,n){return A(this,e,t,!1,n)},i.prototype.writeDoubleLE=function(e,t,n){return C(this,e,t,!0,n)},i.prototype.writeDoubleBE=function(e,t,n){return C(this,e,t,!1,n)},i.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(s<1e3)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;o>1,l=-7,p=n?i-1:0,h=n?-1:1,f=e[t+p];for(p+=h,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=256*s+e[t+p],p+=h,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=r;l>0;o=256*o+e[t+p],p+=h,l-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,r),s-=c}return(f?-1:1)*o*Math.pow(2,s-r)},n.write=function(e,t,n,r,i,s){var o,a,u,c=8*s-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,d=r?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+p>=1?h/u:h*Math.pow(2,1-p))*u>=2&&(o++,u/=2),o+p>=l?(a=0,o=l):o+p>=1?(a=(t*u-1)*Math.pow(2,i),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;e[n+f]=255&a,f+=d,a/=256,i-=8);for(o=o<0;e[n+f]=255&o,f+=d,o/=256,c-=8);e[n+f-d]|=128*y}},{}],10:[function(e,t,n){(function(n){function r(){}function i(e){this.covers={},this._ident=i.prototype.version+"_"+Math.random(),this.setOptions(e||{})}var s=e("./lib/parser"),o=e("./lib/arboriculture"),a=e("./lib/output");i.prototype.smCache={},i.prototype.setOptions=function(e){return this.log=!1===e.log?r:e.log||this.log,this.options=function(e){var t={};return e.forEach(function(e){if(e&&"object"==typeof e)for(var n in e)t[n]=e[n]}),t}([this.options,e]),delete this.options.log,this},i.prototype.version=e("./package.json").version,i.prototype.isThenable=function(e){return e&&e instanceof Object&&"function"==typeof e.then},i.prototype.compile=function(e,t,n,s){"object"==typeof n&&void 0===s&&(s=n),s=s||{};for(var o in i.initialCodeGenOpts)o in s||(s[o]=i.initialCodeGenOpts[o]);var a=this.parse(e,t,null,s);return this.asynchronize(a,null,s,this.log||r),this.prettyPrint(a,s),a},i.prototype.parse=function(e,t,n,r){"object"==typeof n&&void 0===r&&(r=n);var i={origCode:e.toString(),filename:t};try{return i.ast=s.parse(i.origCode,r&&r.parser),r.babelTree&&s.treeWalker(i.ast,function(e,t,n){"Literal"===e.type?n[0].replace(o.babelLiteralNode(e.value)):"Property"===e.type&&("ClassBody"===n[0].parent.type?e.type="ClassProperty":e.type="ObjectProperty"),t()}),i}catch(e){if(e instanceof SyntaxError){var a=i.origCode.substr(e.pos-e.loc.column);a=a.split("\n")[0],e.message+=" "+t+" (nodent)\n"+a+"\n"+a.replace(/[\S ]/g,"-").substring(0,e.loc.column)+"^",e.stack=""}throw e}},i.prototype.asynchronize=o.asynchronize,i.prototype.printNode=o.printNode,i.prototype.prettyPrint=function(t,r){var i=t.filename?t.filename.split("/"):["anonymous"],s=i.pop(),o=a(t.ast,r&&r.sourcemap?{map:{startLine:r.mapStartLine||0,file:s+"(original)",sourceMapRoot:i.join("/"),sourceContent:t.origCode}}:null,t.origCode);if(r&&r.sourcemap)try{var u="",c=o.map.toJSON();if(c){var l=e("source-map").SourceMapConsumer;t.sourcemap=c,this.smCache[t.filename]={map:c,smc:new l(c)},u="\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,"+function(e){return(e instanceof n?e:new n(e.toString(),"binary")).toString("base64")}(JSON.stringify(c))+"\n"}t.code=o.code+u}catch(e){t.code=o}else t.code=o;return t},i.prototype.getDefaultCompileOptions=void 0,Object.defineProperty(i.prototype,"Promise",{get:function(){return initOpts.log("Warning: nodent.Promise is deprecated. Use nodent.Thenable instead"),Thenable},enumerable:!1,configurable:!1}),i.initialCodeGenOpts={noRuntime:!1,lazyThenables:!1,es6target:!1,noUseDirective:!1,wrapAwait:null,mapStartLine:0,sourcemap:!0,engine:!1,parser:{sourceType:"script"},$return:"$return",$error:"$error",$arguments:"$args",$asyncspawn:"$asyncspawn",$asyncbind:"$asyncbind",generatedSymbolPrefix:"$",$makeThenable:"$makeThenable"},t.exports=i}).call(this,e("buffer").Buffer)},{"./lib/arboriculture":11,"./lib/output":12,"./lib/parser":13,"./package.json":25,buffer:8,"source-map":24}],11:[function(e,t,n){"use strict";function r(e){if(!e)return"";if(Array.isArray(e))return e.map(r).join("|\n");try{return m(e)}catch(t){return t.message+": "+(e&&e.type)}}function i(e){if(Array.isArray(e))return e.map(function(e){return i(e)});var t={};return Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function s(e,t){e!==t&&(e.__proto__=Object.getPrototypeOf(t),Object.keys(e).forEach(function(t){t in g||delete e[t]}),Object.keys(t).forEach(function(n){n in e||(e[n]=t[n])}))}function o(){}function a(e){return e?(b.node=e,b):{}}function u(e,t,n){if(!e)return null;if(t&&"object"==typeof t){var r=Object.keys(t);return u(e,function(e){return r.every(function(n){return e[n]==t[n]})})}var i,s={};if(Array.isArray(e)){for(var o=0;o0){if(!o)return t(e);delete e.async}return void(!o&&i?t():(e.type="ReturnStatement",e.$mapped=!0,e.argument={type:"CallExpression",callee:k(s,[n]).$error,arguments:[e.argument]}))}return"TryStatement"===e.type?(i++,t(e),void i--):a(e).isFunction?(r++,t(e),void r--):void t(e)}if(r>0){if(!a(e).isAsync)return t(e);delete e.async}return e.$mapped=!0,void(a(e.argument).isUnaryExpression&&"void"===e.argument.operator?e.argument=e.argument.argument:e.argument={type:"CallExpression",callee:k(s,[n]).$return,arguments:e.argument?[e.argument]:[]})},t)}function P(e,t){return Array.isArray(e)?e.map(function(e){return P(e,t)}):(y.treeWalker(e,function(e,t,n){if(t(),"ConditionalExpression"===e.type&&(c(e.alternate)||c(e.consequent))){h(E("condOp"));s(e,_(y.part("if ($0) return $1 ; return $2",[e.test,e.consequent,e.alternate]).body))}},t),e)}function F(e,t){return Array.isArray(e)?e.map(function(e){return F(e,t)}):(y.treeWalker(e,function(e,t,n){if(t(),"LogicalExpression"===e.type&&c(e.right)){var r,i=h(E("logical"+("&&"===e.operator?"And":"Or")));if("||"===e.operator)r="var $0; if (!($0 = $1)) {$0 = $2} return $0";else{if("&&"!==e.operator)throw new Error(v(e)+"Illegal logical operator: "+e.operator);r="var $0; if ($0 = $1) {$0 = $2} return $0"}s(e,_(y.part(r,[i,e.left,e.right]).body))}},t),e)}function $(e,t,n){if("SwitchCase"!==e.type&&a(e).isBlockStatement)for(var r=0;r { $$setMapped: while (q) { if (q.then) "+(1===i?" return void q.then($idTrampoline, $exit); ":" return q.then($idTrampoline, $exit); ")+" try { if (q.pop) if (q.length) return q.pop() ? $idContinuation.call(this) : q; else q = $idStep; else q = q.call(this) } catch (_exception) { return $exit(_exception); } } }))($idIter)":"($idTrampoline = (function (q) { $$setMapped: while (q) { if (q.then) "+(1===i?" return void q.then($idTrampoline, $exit); ":" return q.then($idTrampoline, $exit); ")+" try { if (q.pop) if (q.length) return q.pop() ? $idContinuation.call(this) : q; else q = $idStep; else q = q.call(this) } catch (_exception) { return $exit(_exception); } } }).bind(this))($idIter)",{setMapped:function(e){return e.$mapped=!0,e},idTrampoline:w,exit:P,idIter:E,idContinuation:A,idStep:S}).expr:y.part("(Function.$0.trampoline(this,$1,$2,$3,$5)($4))",[pe.asyncbind,A,S,P,E,b(1===i)]).expr,o.push({type:"ReturnStatement",argument:N}),o.push({$label:e.$label,type:"FunctionDeclaration",id:E,params:[],body:{type:"BlockStatement",body:d}}),f&&o.push({type:"FunctionDeclaration",id:S,params:[],body:{type:"BlockStatement",body:[f,L]}}),!l||"VariableDeclaration"!==l.type||"let"!==l.kind&&"const"!==l.kind?(o.push(v),t[0].replace(o.map(r))):("const"===l.kind&&(l.kind="let"),t[0].replace([{type:"BlockStatement",body:o.map(r)},r(v)]))}}function G(e){if(!a(e).isFunction)throw new Error("Cannot examine non-Function node types for async exits");return u(e.body,function(e){return"Identifier"===e.type&&(e.name===n.$return||e.name===n.$error)||I(e)&&a(e).isAsync},function(e){return!(a(e).isFunction&&(e.$wasAsync||a(e).isAsync))})}function J(t){return y.treeWalker(t,function(t,r,i){var s=x(t);if(r(),s&&a(s).isAsync){if("set"==t.kind){var o=new SyntaxError(v(s)+"method 'async set' cannot be invoked",e.filename,t.start);throw o.pos=t.start,o.loc=t.loc.start,o}s.async=!1;var u=w(s);G(s)||0!==s.body.body.length&&"ReturnStatement"===s.body.body[s.body.body.length-1].type||s.body.body.push({type:"ReturnStatement"});var c=m(S({type:"FunctionExpression",params:[pe.return,pe.error],body:J(N(s.body,i)),$wasAsync:!0},n),n.promises||n.generators||n.engine?null:b(!n.lazyThenables||0));n.promises?s.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:{type:"NewExpression",callee:h("Promise"),arguments:[c]}}]}:s.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:c}]},u&&D(s.body.body,[he])}})}function H(e){return y.treeWalker(e,function(e,t,r){if(t(),a(e).isAsync&&a(e).isFunction){var i;(i=x(r[0].parent))&&a(i).isAsync&&"get"===r[0].parent.kind&&X(r[0].parent.key),delete e.async;var s=w(e),o=S({type:"FunctionExpression",params:[pe.return,pe.error],$wasAsync:!0},n),u=[{self:o}].concat(r);return a(e.body).isBlockStatement?(G(e)||0!==e.body.body.length&&"ReturnStatement"===e.body.body[e.body.body.length-1].type||e.body.body.push({type:"ReturnStatement"}),o.body={type:"BlockStatement",body:e.body.body.map(function(e){return N(e,u)})}):(o.body={type:"BlockStatement",body:[N({type:"ReturnStatement",argument:e.body},u)]},e.expression=!1),o=m(o,n.promises||n.generators||n.engine?null:b(!n.lazyThenables||0)),n.promises&&(o={type:"NewExpression",callee:h("Promise"),arguments:[o]}),o={type:"BlockStatement",body:[{type:"ReturnStatement",loc:e.loc,argument:o}]},s&&D(o.body,[he]),void(e.body=o)}}),e}function Y(e){if(Array.isArray(e))return e.map(Y);var t=0;return y.treeWalker(e,function(e,n,r){if("ThrowStatement"!==e.type&&"ReturnStatement"!==e.type||e.$mapped){if(a(e).isFunction)return t++,n(e),void t--}else if(t>0&&a(e).isAsync)return delete e.async,e.argument={type:"CallExpression",callee:"ThrowStatement"===e.type?pe.error:pe.return,arguments:e.argument?[e.argument]:[]},void(e.type="ReturnStatement");n(e)})}function Q(e,t){if(n.noRuntime)throw new Error("Nodent: 'noRuntime' option only compatible with -promise and -engine modes");return y.part("{ return (function*($return,$error){ $:body }).$asyncspawn(Promise,this) }",{return:pe.return,error:pe.error,asyncspawn:pe.asyncspawn,body:Y(e).concat(t?[{type:"ReturnStatement",argument:pe.return}]:[])}).body[0]}function X(e){e.$asyncgetwarninig||(e.$asyncgetwarninig=!0,d(v(e)+"'async get "+r(e)+"(){...}' is non-standard. See https://github.com/MatAtBread/nodent#differences-from-the-es7-specification"))}function Z(e,t){function r(e,t){y.treeWalker(e,function(n,r,i){n!==e&&a(n).isFunction||(a(n).isAwait?t?(n.$hidden=!0,r()):(delete n.operator,n.delegate=!1,n.type="YieldExpression",r()):r())})}function o(e){var t=n.promises;n.promises=!0,A(e,!0),n.promises=t}function u(e){return"BlockStatement"!==e.body.type&&(e.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:e.body}]}),e}function c(e,n){n.$asyncexitwarninig||(n.$asyncexitwarninig=!0,d(v(e)+"'async "+{ReturnStatement:"return",ThrowStatement:"throw"}[e.type]+"' not possible in "+(t?"engine":"generator")+" mode. Using Promises for function at "+v(n)))}y.treeWalker(e,function(e,n,i){n();var l,p,h;if(a(e).isAsync&&a(e).isFunction){var f;(f=x(i[0].parent))&&a(f).isAsync&&"get"===i[0].parent.kind&&X(i[0].parent.key),(p=G(e))?(c(p,e.body),o(e)):t?"get"!==i[0].parent.kind&&r(e,!0):(delete(l=e).async,h=w(l),r(l,!1),(l=u(l)).body=Q(l.body.body,p),h&&D(l.body.body,[he]),l.id&&"ExpressionStatement"===i[0].parent.type?(l.type="FunctionDeclaration",i[1].replace(l)):i[0].replace(l))}else(l=x(e))&&a(l).isAsync&&((p=G(l))?(c(p,l),o(e)):t&&"get"!==e.kind||(t?o(e):(e.async=!1,h=w(l),r(l,!1),s(l,u(l)),l.body=Q(l.body.body,p)),h&&D(l.body.body,[he])))});var l=i(n);return n.engine=!1,n.generators=!1,ie(e),ne(e),j(e,l.engine),F(e),P(e),V(e,[M,W,B,R,$]),q(e,"warn"),n.engine=l.engine,n.generators=l.generators,e}function K(e,t,n){var r=[];return y.treeWalker(e,function(i,s,o){if(i===e)return s();t(i,o)?r.push([].concat(o)):n||a(i).isScope||s()}),r}function ee(e,t){var n=[],r={};if((e=e.filter(function(e){return"ExportNamedDeclaration"!==e[0].parent.type})).length){var s={};e.forEach(function(e){function t(e){e in s?r[e]=o.declarations[u]:s[e]=o.declarations[u]}for(var n=e[0],o=n.self,a=(o.kind,[]),u=0;u1?{type:"SequenceExpression",expressions:a}:a[0];"For"!==n.parent.type.slice(0,3)&&(p={type:"ExpressionStatement",expression:p}),n.replace(p)}});var o=Object.keys(s);o.length&&(o=o.map(function(e){return{type:"VariableDeclarator",id:h(e),loc:s[e].loc,start:s[e].start,end:s[e].end}}),n[0]&&"VariableDeclaration"===n[0].type?n[0].declarations=n[0].declarations.concat(o):n.unshift({type:"VariableDeclaration",kind:t,declarations:o}))}return{decls:n,duplicates:r}}function te(e){if(!e)return[];if(Array.isArray(e))return e.reduce(function(e,t){return e.concat(te(t.id))},[]);switch(e.type){case"Identifier":return[e.name];case"AssignmentPattern":return te(e.left);case"ArrayPattern":return e.elements.reduce(function(e,t){return e.concat(te(t))},[]);case"ObjectPattern":return e.properties.reduce(function(e,t){return e.concat(te(t))},[]);case"ObjectProperty":case"Property":return te(e.value);case"RestElement":case"RestProperty":return te(e.argument)}}function ne(e){function t(e){return u(e,function(e){return"AssignmentExpression"===e.type})}function n(e){return function(t,n){if("VariableDeclaration"===t.type&&(t.kind=t.kind||"var")&&e.indexOf(t.kind)>=0){var r=n[0];return("left"!=r.field||"ForInStatement"!==r.parent.type&&"ForOfStatement"!==r.parent.type)&&("init"!=r.field||"ForStatement"!==r.parent.type||"const"!==t.kind&&"let"!==t.kind)}}}function o(e,t){return!("FunctionDeclaration"!==e.type||!e.id)&&(a(e).isAsync||!e.$continuation)}var l={TemplateLiteral:function(e){return e.expressions},NewExpression:function(e){return e.arguments},CallExpression:function(e){return e.arguments},SequenceExpression:function(e){return e.expressions},ArrayExpression:function(e){return e.elements},ObjectExpression:function(e){return e.properties.map(function(e){return e.value})}};y.treeWalker(e,function(e,n,r){function o(e){h.length&&(e.argument={type:"SequenceExpression",expressions:h.map(function(e){var t=i(e);return s(e,e.left),t}).concat(e.argument)},h=[])}var u;if(n(),e.type in l&&!e.$hoisted){var p=l[e.type](e),h=[];for(u=0;u0;u--)if(e.declarations[u]&&e.declarations[u].init&&c(e.declarations[u].init)){var f={type:"VariableDeclaration",kind:e.kind,declarations:e.declarations.splice(u)},d=r[0];if(!("index"in d))throw new Error("VariableDeclaration not in a block");d.parent[d.field].splice(d.index+1,0,f)}}),function(e){function t(e){d(v(e)+"Possible assignment to 'const "+r(e)+"'")}function n(e){switch(e.type){case"Identifier":"const"===i[e.name]&&t(e);break;case"ArrayPattern":e.elements.forEach(function(e){"const"===i[e.name]&&t(e)});break;case"ObjectPattern":e.properties.forEach(function(e){"const"===i[e.key.name]&&t(e)})}}var i={};y.treeWalker(e,function(e,t,r){var s=a(e).isBlockStatement;if(s){i=Object.create(i);for(var o=0;o=0&&"ReturnStatement"===r[1].self.type){var s=e.$thisCallName,o=i(ce[s].def.body.body);ce[s].$inlined=!0,a(r[1].self).isJump||o.push({type:"ReturnStatement"}),r[1].replace(o)}});var n=Object.keys(ce).map(function(e){return ce[e].$inlined&&ce[e].def});y.treeWalker(e,function(e,t,r){t(),n.indexOf(e)>=0&&r[0].remove()})}if(!("Program"===e.type&&"module"===e.sourceType||u(e,function(e){return a(e).isES6},!0))){var r=oe(e);!function(e){y.treeWalker(e,function(e,t,n){if("Program"===e.type||"FunctionDeclaration"===e.type||"FunctionExpression"===e.type){var i=r;if(r=r||oe(e)){t();var s="Program"===e.type?e:e.body,o=K(s,function(e,t){if("FunctionDeclaration"===e.type)return t[0].parent!==s});o=o.map(function(e){return e[0].remove()}),[].push.apply(s.body,o)}else t();r=i}else t()})}(e)}return y.treeWalker(e,function(e,t,n){t(),Object.keys(e).filter(function(e){return"$"===e[0]}).forEach(function(t){delete e[t]})}),e}var ce={},le=1,pe={};Object.keys(n).filter(function(e){return"$"===e[0]}).forEach(function(e){pe[e.slice(1)]=h(n[e])});var he=y.part("var $0 = arguments",[pe.arguments]).body[0];return n.engine?(e.ast=re(e.ast,!0),e.ast=Z(e.ast,n.engine),e.ast=se(e.ast),ue(e.ast)):n.generators?(e.ast=re(e.ast),e.ast=Z(e.ast),e.ast=se(e.ast),ue(e.ast)):(e.ast=re(e.ast),A(e.ast)),n.babelTree&&y.treeWalker(e.ast,function(e,t,n){t(),"Literal"===e.type&&s(e,b(e.value))}),e}var y=e("./parser"),m=e("./output"),g={start:!0,end:!0,loc:!0,range:!0},v={getScope:function(){return"FunctionDeclaration"===this.node.type||"FunctionExpression"===this.node.type||"Function"===this.node.type||"ObjectMethod"===this.node.type||"ClassMethod"===this.node.type||"ArrowFunctionExpression"===this.node.type&&"BlockStatement"===this.node.body.type?this.node.body.body:"Program"===this.node.type?this.node.body:null},isScope:function(){return"FunctionDeclaration"===this.node.type||"FunctionExpression"===this.node.type||"Function"===this.node.type||"Program"===this.node.type||"ObjectMethod"===this.node.type||"ClassMethod"===this.node.type||"ArrowFunctionExpression"===this.node.type&&"BlockStatement"===this.node.body.type},isFunction:function(){return"FunctionDeclaration"===this.node.type||"FunctionExpression"===this.node.type||"Function"===this.node.type||"ObjectMethod"===this.node.type||"ClassMethod"===this.node.type||"ArrowFunctionExpression"===this.node.type},isClass:function(){return"ClassDeclaration"===this.node.type||"ClassExpression"===this.node.type},isBlockStatement:function(){return"ClassBody"===this.node.type||"Program"===this.node.type||"BlockStatement"===this.node.type?this.node.body:"SwitchCase"===this.node.type&&this.node.consequent},isExpressionStatement:function(){return"ExpressionStatement"===this.node.type},isLiteral:function(){return"Literal"===this.node.type||"BooleanLiteral"===this.node.type||"RegExpLiteral"===this.node.type||"NumericLiteral"===this.node.type||"StringLiteral"===this.node.type||"NullLiteral"===this.node.type},isDirective:function(){return"ExpressionStatement"===this.node.type&&("StringLiteral"===this.node.expression.type||"Literal"===this.node.expression.type&&"string"==typeof this.node.expression.value)},isUnaryExpression:function(){return"UnaryExpression"===this.node.type},isAwait:function(){return"AwaitExpression"===this.node.type&&!this.node.$hidden},isAsync:function(){return this.node.async},isStatement:function(){return null!==this.node.type.match(/[a-zA-Z]+Declaration/)||null!==this.node.type.match(/[a-zA-Z]+Statement/)},isExpression:function(){return null!==this.node.type.match(/[a-zA-Z]+Expression/)},isLoop:function(){return"ForStatement"===this.node.type||"WhileStatement"===this.node.type||"DoWhileStatement"===this.node.type},isJump:function(){return"ReturnStatement"===this.node.type||"ThrowStatement"===this.node.type||"BreakStatement"===this.node.type||"ContinueStatement"===this.node.type},isES6:function(){switch(this.node.type){case"ExportNamedDeclaration":case"ExportSpecifier":case"ExportDefaultDeclaration":case"ExportAllDeclaration":case"ImportDeclaration":case"ImportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ArrowFunctionExpression":case"ForOfStatement":case"YieldExpression":case"Super":case"RestElement":case"RestProperty":case"SpreadElement":case"TemplateLiteral":case"ClassDeclaration":case"ClassExpression":return!0;case"VariableDeclaration":return this.node.kind&&"var"!==this.node.kind;case"FunctionDeclaration":case"FunctionExpression":return!!this.node.generator}}},b={};Object.keys(v).forEach(function(e){Object.defineProperty(b,e,{get:v[e]})}),t.exports={printNode:r,babelLiteralNode:p,asynchronize:function(e,t,n,r){try{return d(e,0,n,r)}catch(t){if(t instanceof SyntaxError){var i=e.origCode.substr(t.pos-t.loc.column);i=i.split("\n")[0],t.message+=" (nodent)\n"+i+"\n"+i.replace(/[\S ]/g,"-").substring(0,t.loc.column)+"^",t.stack=""}throw t}}}},{"./output":12,"./parser":13}],12:[function(e,t,n){"use strict";function r(e){if("NewExpression"===e.type&&e.arguments&&e.arguments.length)return 19;var t=h[e.type]||h[e.type+e.operator]||h[e.type+e.operator+(e.prefix?"prefix":"")];return void 0!==t?t:20}var i,s,o,a,u,c,l=e("source-map").SourceMapGenerator;if("".repeat)c=function(e,t){return t&&e?e.repeat(t):""};else{var p={};c=function(e,t){if(!t||!e)return"";var n=""+e+t;if(!p[n]){for(var r=[];t--;)r.push(e);p[n]=r.join("")}return p[n]}}var h={ExpressionStatement:-1,Identifier:21,Literal:21,BooleanLiteral:21,RegExpLiteral:21,NumericLiteral:21,StringLiteral:21,NullLiteral:21,ThisExpression:21,SuperExpression:21,ObjectExpression:21,ClassExpression:21,MemberExpression:19,CallExpression:18,NewExpression:18,ArrayExpression:17.5,FunctionExpression:17.5,FunctionDeclaration:17.5,ArrowFunctionExpression:17.5,"UpdateExpression++":17,"UpdateExpression--":17,"UpdateExpression++prefix":16,"UpdateExpression--prefix":16,UnaryExpression:16,AwaitExpression:16,"BinaryExpression**":15,"BinaryExpression*":15,"BinaryExpression/":15,"BinaryExpression%":15,"BinaryExpression+":14,"BinaryExpression-":14,"BinaryExpression<<":13,"BinaryExpression>>":13,"BinaryExpression>>>":13,"BinaryExpression<":12,"BinaryExpression<=":12,"BinaryExpression>":12,"BinaryExpression>=":12,BinaryExpressionin:12,BinaryExpressioninstanceof:12,"BinaryExpression==":11,"BinaryExpression===":11,"BinaryExpression!=":11,"BinaryExpression!==":11,"BinaryExpression&":10,"BinaryExpression^":9,"BinaryExpression|":8,"LogicalExpression&&":7,"LogicalExpression||":6,ConditionalExpression:5,AssignmentPattern:4,AssignmentExpression:4,yield:3,YieldExpression:3,SpreadElement:2,"comma-separated-list":1.5,SequenceExpression:1},f={type:"comma-separated-list"},d={out:function(e,t,n){var r=this[n||e.type];r?r.call(this,e,t):t.write(e,"/*"+e.type+"?*/ "+t.sourceAt(e.start,e.end))},expr:function(e,t,n,i){2===i||r(n)0)for(var r=n.length,i=0;i0){this.out(e[0],t,e[0].type);for(var r=1,i=e.length;r0){t.write(null,s);for(var a=0,u=n.length;a0){this.out(n[0],t,"VariableDeclarator");for(var i=1;i0){for(var s=0;s0)for(var r=0;r ")):(this.formatParameters(e.params,t),t.write(e,"=> ")),"ObjectExpression"===e.body.type||"SequenceExpression"===e.body.type?(t.write(null,"("),this.out(e.body,t,e.body.type),t.write(null,")")):this.out(e.body,t,e.body.type)},ThisExpression:function(e,t){t.write(e,"this")},Super:function(e,t){t.write(e,"super")},RestElement:s=function(e,t){t.write(e,"..."),this.out(e.argument,t,e.argument.type)},SpreadElement:s,YieldExpression:function(e,t){t.write(e,e.delegate?"yield*":"yield"),e.argument&&(t.write(null," "),this.expr(t,e,e.argument))},AwaitExpression:function(e,t){t.write(e,"await "),this.expr(t,e,e.argument)},TemplateLiteral:function(e,t){var n,r=e.quasis,i=e.expressions;t.write(e,"`");for(var s=0,o=i.length;s0)for(var n=e.elements,r=n.length,i=0;;){var s=n[i];if(s&&this.expr(t,f,s),((i+=1)=r)break;t.lineLength()>t.wrapColumn&&t.write(null,t.lineEnd,c(t.indent,t.indentLevel+1))}t.write(null,"]")},ArrayPattern:a,ObjectExpression:function(e,t){var n,r=c(t.indent,t.indentLevel++),i=t.lineEnd,s=r+t.indent;if(t.write(e,"{"),e.properties.length>0){t.write(null,i);for(var o=e.properties,a=o.length,u=0;n=o[u],t.write(null,s),this.out(n,t,"Property"),++ut.wrapColumn&&t.write(null,t.lineEnd,c(t.indent,t.indentLevel+1));t.write(null,i,r,"}")}else t.write(null,"}");t.indentLevel--},Property:function(e,t){e.method||"get"===e.kind||"set"===e.kind?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write(null,"["),this.out(e.key,t,e.key.type),t.write(null,"]")):this.out(e.key,t,e.key.type),t.write(null,": ")),this.expr(t,f,e.value))},ObjectPattern:function(e,t){if(t.write(e,"{"),e.properties.length>0)for(var n=e.properties,r=n.length,i=0;this.out(n[i],t,"Property"),++i0)for(var i=r.length,s=0;s1&&t.write(e," "),this.expr(t,e,e.argument,!0)):(this.expr(t,e,e.argument),t.write(e,e.operator))},UpdateExpression:function(e,t){e.prefix?(t.write(e,e.operator),this.out(e.argument,t,e.argument.type)):(this.out(e.argument,t,e.argument.type),t.write(e,e.operator))},BinaryExpression:o=function(e,t){var n=e.operator;"in"===n&&t.inForInit&&t.write(null,"("),this.expr(t,e,e.left),t.write(e," ",n," "),this.expr(t,e,e.right,"ArrowFunctionExpression"===e.right.type?2:0),"in"===n&&t.inForInit&&t.write(null,")")},LogicalExpression:o,AssignmentExpression:function(e,t){"ObjectPattern"===e.left.type&&t.write(null,"("),this.BinaryExpression(e,t),"ObjectPattern"===e.left.type&&t.write(null,")")},AssignmentPattern:function(e,t){this.expr(t,e,e.left),t.write(e," = "),this.expr(t,e,e.right)},ConditionalExpression:function(e,t){this.expr(t,e,e.test,!0),t.write(e," ? "),this.expr(t,e,e.consequent),t.write(null," : "),this.expr(t,e,e.alternate)},NewExpression:function(e,t){t.write(e,"new "),this.expr(t,e,e.callee,"CallExpression"===e.callee.type||"ObjectExpression"===e.callee.type?2:0),this.argumentList(e,t)},CallExpression:function(e,t){this.expr(t,e,e.callee,"ObjectExpression"===e.callee.type?2:0),this.argumentList(e,t)},MemberExpression:function(e,t){!("ObjectExpression"===e.object.type||e.object.type.match(/Literal$/)&&e.object.raw&&e.object.raw.match(/^[0-9]/))&&("ArrayExpression"===e.object.type||"CallExpression"===e.object.type||"NewExpression"===e.object.type||r(e)<=r(e.object))?this.out(e.object,t,e.object.type):(t.write(null,"("),this.out(e.object,t,e.object.type),t.write(null,")")),e.computed?(t.write(e,"["),this.out(e.property,t,e.property.type),t.write(null,"]")):(t.write(e,"."),this.out(e.property,t,e.property.type))},Identifier:function(e,t){t.write(e,e.name)},Literal:function(e,t){t.write(e,e.raw)},NullLiteral:function(e,t){t.write(e,"null")},BooleanLiteral:function(e,t){t.write(e,JSON.stringify(e.value))},StringLiteral:function(e,t){t.write(e,JSON.stringify(e.value))},RegExpLiteral:function(e,t){t.write(e,e.extra.raw||"/"+e.pattern+"/"+e.flags)},NumericLiteral:function(e,t){t.write(e,JSON.stringify(e.value))}};t.exports=function(e,t,n){var r="",i=[],s=(t=t||{}).map&&new l(t.map);s&&t.map.sourceContent&&s.setSourceContent(t.map.file,t.map.sourceContent);var o="",a=[],u=[],p={inForInit:0,lineLength:function(){return r.length},sourceAt:function(e,t){return n?n.substring(e,t):"/* Omitted Non-standard node */"},write:function(e){o=arguments[arguments.length-1];for(var n=1;n=0&&r({self:i,parent:e,field:u[c],index:!0}):l instanceof Object&&i===l&&r({self:i,parent:e,field:u[c]})}})},n),e}function s(t,n){var r=[],s={ecmaVersion:8,allowHashBang:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,locations:!0,onComment:r};if((!n||!n.noNodentExtensions||parseInt(o.version)<4)&&(c||(parseInt(o.version)<4&&console.warn("Nodent: Warning - noNodentExtensions option requires acorn >=v4.x. Extensions installed."),e("acorn-es7-plugin")(o),c=!0),s.plugins=s.plugins||{},s.plugins.asyncawait={asyncExits:!0,awaitAnywhere:!0}),n)for(var a in n)"noNodentExtensions"!==a&&(s[a]=n[a]);var u=o.parse(t,s);return i(u,function(e,t,n){for(t();r.length&&e.loc&&e.loc.start.line>=r[0].loc.start.line&&e.loc.end.line>=r[0].loc.end.line;)e.$comments=e.$comments||[],e.$comments.push(r.shift())}),u}var o=e("acorn"),a=e("acorn/dist/walk").make({AwaitExpression:function(e,t,n){n(e.argument,t,"Expression")},SwitchStatement:function(e,t,n){n(e.discriminant,t,"Expression");for(var r=0;r=0)return t}else{var n=i.toSetString(e);if(s.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},n.decode=function(e,t,n){var i,s,o=e.length,a=0,u=0;do{if(t>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(s=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&s),a+=(s&=31)<>1;return 1==(1&e)?-t:t}(a),n.rest=t}},{"./base64":16}],16:[function(e,t,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e0?t-u>1?r(u,t,i,s,o,a):a==n.LEAST_UPPER_BOUND?t1?r(e,u,i,s,o,a):a==n.LEAST_UPPER_BOUND?u:e<0?-1:e}n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,i,s){if(0===t.length)return-1;var o=r(-1,t.length,e,t,i,s||n.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===i(t[o],t[o-1],!0);)--o;return o}},{}],18:[function(e,t,n){function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var i=e("./util");r.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},r.prototype.add=function(e){!function(e,t){var n=e.generatedLine,r=t.generatedLine,s=e.generatedColumn,o=t.generatedColumn;return r>n||r==n&&o>=s||i.compareByGeneratedPositionsInflated(e,t)<=0}(this._last,e)?(this._sorted=!1,this._array.push(e)):(this._last=e,this._array.push(e))},r.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=r},{"./util":23}],19:[function(e,t,n){function r(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function i(e,t,n,s){if(n=0){var s=this._originalMappings[i];if(void 0===e.column)for(var o=s.originalLine;s&&s.originalLine===o;)r.push({line:a.getArg(s,"generatedLine",null),column:a.getArg(s,"generatedColumn",null),lastColumn:a.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==c;)r.push({line:a.getArg(s,"generatedLine",null),column:a.getArg(s,"generatedColumn",null),lastColumn:a.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return r},n.SourceMapConsumer=r,(i.prototype=Object.create(r.prototype)).consumer=r,i.fromSourceMap=function(e){var t=Object.create(i.prototype),n=t._names=c.fromArray(e._names.toArray(),!0),r=t._sources=c.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var o=e._mappings.toArray().slice(),u=t.__generatedMappings=[],l=t.__originalMappings=[],h=0,f=o.length;h1&&(n.source=y+i[1],y+=i[1],n.originalLine=f+i[2],f=n.originalLine,n.originalLine+=1,n.originalColumn=d+i[3],d=n.originalColumn,i.length>4&&(n.name=m+i[4],m+=i[4])),E.push(n),"number"==typeof n.originalLine&&w.push(n)}p(E,a.compareByGeneratedPositionsDeflated),this.__generatedMappings=E,p(w,a.compareByOriginalPositions),this.__originalMappings=w},i.prototype._findMapping=function(e,t,n,r,i,s){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return u.search(e,t,i,s)},i.prototype.computeColumnSpans=function(){for(var e=0;e=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var s=a.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),null!=this.sourceRoot&&(s=a.join(this.sourceRoot,s)));var o=a.getArg(i,"name",null);return null!==o&&(o=this._names.at(o)),{source:s,line:a.getArg(i,"originalLine",null),column:a.getArg(i,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}},i.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},i.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=a.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=a.urlParse(this.sourceRoot))){var r=e.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(r))return this.sourcesContent[this._sources.indexOf(r)];if((!n.path||"/"==n.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},i.prototype.generatedPositionFor=function(e){var t=a.getArg(e,"source");if(null!=this.sourceRoot&&(t=a.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:a.getArg(e,"line"),originalColumn:a.getArg(e,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",a.compareByOriginalPositions,a.getArg(e,"bias",r.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===n.source)return{line:a.getArg(s,"generatedLine",null),column:a.getArg(s,"generatedColumn",null),lastColumn:a.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=i,(o.prototype=Object.create(r.prototype)).constructor=r,o.prototype._version=3,Object.defineProperty(o.prototype,"sources",{get:function(){for(var e=[],t=0;t0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},r.prototype._serializeMappings=function(){for(var e,t,n,r,o=0,a=1,u=0,c=0,l=0,p=0,h="",f=this._mappings.toArray(),d=0,y=f.length;d0){if(!s.compareByGeneratedPositionsInflated(t,f[d-1]))continue;e+=","}e+=i.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=i.encode(r-p),p=r,e+=i.encode(t.originalLine-1-c),c=t.originalLine-1,e+=i.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=i.encode(n-l),l=n)),h+=e}return h},r.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var n=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},r.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},r.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=r},{"./array-set":14,"./base64-vlq":15,"./mapping-list":18,"./util":23}],22:[function(e,t,n){function r(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[a]=!0,null!=r&&this.add(r)}var i=e("./source-map-generator").SourceMapGenerator,s=e("./util"),o=/(\r?\n)/,a="$$$isSourceNode$$$";r.fromStringWithSourceMap=function(e,t,n){function i(e,t){if(null===e||void 0===e.source)a.add(t);else{var i=n?s.join(n,e.source):e.source;a.add(new r(e.originalLine,e.originalColumn,i,t,e.name))}}var a=new r,u=e.split(o),c=0,l=function(){function e(){return c=0;t--)this.prepend(e[t]);else{if(!e[a]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n=0;l--)"."===(o=u[l])?u.splice(l,1):".."===o?c++:c>0&&(""===o?(u.splice(l+1,c),c=0):(u.splice(l,2),c--));return""===(t=u.join("/"))&&(t=a?"/":"."),s?(s.path=t,i(s)):t}function o(e){return e}function a(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:e>t?1:-1}n.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var c=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,l=/^data:.+\,.+$/;n.urlParse=r,n.urlGenerate=i,n.normalize=s,n.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var n=r(t),o=r(e);if(o&&(e=o.path||"/"),n&&!n.scheme)return o&&(n.scheme=o.scheme),i(n);if(n||t.match(l))return t;if(o&&!o.host&&!o.path)return o.host=t,i(o);var a="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=a,i(o)):a},n.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(c)},n.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var p=!("__proto__"in Object.create(null));n.toSetString=p?o:function(e){return a(e)?"$"+e:e},n.fromSetString=p?o:function(e){return a(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,t,n){var r=e.source-t.source;return 0!==r?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)||n?r:0!=(r=e.generatedColumn-t.generatedColumn)?r:0!=(r=e.generatedLine-t.generatedLine)?r:e.name-t.name},n.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-t.generatedColumn)||n?r:0!=(r=e.source-t.source)?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)?r:e.name-t.name},n.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!=(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=u(e.source,t.source))?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)}},{}],24:[function(e,t,n){n.SourceMapGenerator=e("./lib/source-map-generator").SourceMapGenerator,n.SourceMapConsumer=e("./lib/source-map-consumer").SourceMapConsumer,n.SourceNode=e("./lib/source-node").SourceNode},{"./lib/source-map-consumer":20,"./lib/source-map-generator":21,"./lib/source-node":22}],25:[function(e,t,n){t.exports={_args:[[{raw:"nodent-compiler@>=3.1.5",scope:null,escapedName:"nodent-compiler",name:"nodent-compiler",rawSpec:">=3.1.5",spec:">=3.1.5",type:"range"},"/Users/evgenypoberezkin/Documents/JSON/ajv/node_modules/nodent"]],_from:"nodent-compiler@>=3.1.5",_id:"nodent-compiler@3.1.5",_inCache:!0,_location:"/nodent-compiler",_nodeVersion:"8.9.1",_npmOperationalInternal:{host:"s3://npm-registry-packages",tmp:"tmp/nodent-compiler-3.1.5.tgz_1511792299537_0.15715787676163018"},_npmUser:{name:"matatbread",email:"npm@mailed.me.uk"},_npmVersion:"5.5.1",_phantomChildren:{},_requested:{raw:"nodent-compiler@>=3.1.5",scope:null,escapedName:"nodent-compiler",name:"nodent-compiler",rawSpec:">=3.1.5",spec:">=3.1.5",type:"range"},_requiredBy:["/nodent"],_resolved:"https://registry.npmjs.org/nodent-compiler/-/nodent-compiler-3.1.5.tgz",_shasum:"8c09289eacf7256bda89c2b88941681d5cccf80c",_shrinkwrap:null,_spec:"nodent-compiler@>=3.1.5",_where:"/Users/evgenypoberezkin/Documents/JSON/ajv/node_modules/nodent",author:{name:"Mat At Bread",email:"nodent@mailed.me.uk"},bugs:{url:"https://github.com/MatAtBread/nodent/issues"},dependencies:{acorn:">=2.5.2","acorn-es7-plugin":">=1.1.6","source-map":"^0.5.6"},description:"NoDent - Asynchronous Javascript language extensions",devDependencies:{},directories:{},dist:{integrity:"sha512-Istg796un2lALiy/eFNnLbAEMovQqrtpVqXVY8PKs6ycsyBbK480D55misJBQ1QxvstcJ7Hk9xbSVkV8lIi+tg==",shasum:"8c09289eacf7256bda89c2b88941681d5cccf80c",tarball:"https://registry.npmjs.org/nodent-compiler/-/nodent-compiler-3.1.5.tgz"},engines:"node >= 0.10.0",gitHead:"93054f019902e2b107e7be681836273f35a02614",homepage:"https://github.com/MatAtBread/nodent-compiler#readme",keywords:["Javascript","ES7","async","await","language","extensions","Node","callback","generator","Promise","asynchronous"],license:"BSD-2-Clause",main:"compiler.js",maintainers:[{name:"matatbread",email:"npm@mailed.me.uk"}],name:"nodent-compiler",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/MatAtBread/nodent-compiler.git"},scripts:{test:"node tests/basic.js # Please install 'nodent' and test the compiler fully from there."},version:"3.1.5"}},{}],26:[function(e,t,n){"use strict";function r(e,t){if(Function.prototype.$asyncspawn||Object.defineProperty(Function.prototype,"$asyncspawn",{value:r,enumerable:!1,configurable:!0,writable:!0}),this instanceof Function){var n=this;return new e(function(e,r){function i(t,n){var o;try{if((o=t.call(s,n)).done){if(o.value!==e){if(o.value&&o.value===o.value.then)return o.value(e,r);e&&e(o.value),e=null}return}o.value.then?o.value.then(function(e){i(s.next,e)},function(e){i(s.throw,e)}):i(s.next,o.value)}catch(e){return r&&r(e),void(r=null)}}var s=n.call(t,e,r);i(s.next)})}}var i=function(e,t){for(var n=t.toString(),r="return "+n,i=n.match(/.*\(([^)]*)\)/)[1],s=/['"]!!!([^'"]*)['"]/g,o=[];;){var a=s.exec(r);if(!a)break;o.push(a)}return o.reverse().forEach(function(t){r=r.slice(0,t.index)+e[t[1]]+r.substr(t.index+t[0].length)}),r=r.replace(/\/\*[^*]*\*\//g," ").replace(/\s+/g," "),new Function(i,r)()}({zousan:e("./zousan").toString(),thenable:e("./thenableFactory").toString()},function e(t,n){function r(){return i.apply(t,arguments)}Function.prototype.$asyncbind||Object.defineProperty(Function.prototype,"$asyncbind",{value:e,enumerable:!1,configurable:!0,writable:!0}),e.trampoline||(e.trampoline=function(e,t,n,r,i){return function s(o){for(;o;){if(o.then)return o=o.then(s,r),i?void 0:o;try{if(o.pop){if(o.length)return o.pop()?t.call(e):o;o=n}else o=o.call(e)}catch(e){return r(e)}}}}),e.LazyThenable||(e.LazyThenable="!!!thenable"(),e.EagerThenable=e.Thenable=(e.EagerThenableFactory="!!!zousan")());var i=this;switch(n){case!0:return new e.Thenable(r);case 0:return new e.LazyThenable(r);case void 0:return r.then=r,r;default:return function(){try{return i.apply(t,arguments)}catch(e){return n(e)}}}});i(),r(),t.exports={$asyncbind:i,$asyncspawn:r}},{"./thenableFactory":27,"./zousan":28}],27:[function(e,t,n){t.exports=function(){function e(e){return e&&e instanceof Object&&"function"==typeof e.then}function t(n,r,i){try{var s=i?i(r):r;if(n===s)return n.reject(new TypeError("Promise resolution loop"));e(s)?s.then(function(e){t(n,e)},function(e){n.reject(e)}):n.resolve(s)}catch(e){n.reject(e)}}function n(){}function r(e){}function i(r,i){var s=new n;try{this._resolver(function(n){return e(n)?n.then(r,i):t(s,n,r)},function(e){t(s,e,i)})}catch(e){t(s,e,i)}return s}function s(e){this._resolver=e,this.then=i}return n.prototype={resolve:r,reject:r,then:function(e,t){this.resolve=e,this.reject=t}},s.resolve=function(e){return s.isThenable(e)?e:{then:function(t){return t(e)}}},s.isThenable=e,s}},{}],28:[function(e,t,n){(function(e){"use strict";t.exports=function(t){function n(e){if(e){var t=this;e(function(e){t.resolve(e)},function(e){t.reject(e)})}}function r(e,t){if("function"==typeof e.y)try{var n=e.y.call(void 0,t);e.p.resolve(n)}catch(t){e.p.reject(t)}else e.p.resolve(t)}function i(e,t){if("function"==typeof e.n)try{var n=e.n.call(void 0,t);e.p.resolve(n)}catch(t){e.p.reject(t)}else e.p.reject(t)}t=t||"object"==typeof e&&e.nextTick||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,0)};var s=function(){function e(){for(;n.length-r;){try{n[r]()}catch(e){}n[r++]=void 0,r===i&&(n.splice(0,i),r=0)}}var n=[],r=0,i=1024;return function(i){n.push(i),n.length-r==1&&t(e)}}();return n.prototype={resolve:function(e){if(void 0===this.state){if(e===this)return this.reject(new TypeError("Attempt to resolve promise with self"));var t=this;if(e&&("function"==typeof e||"object"==typeof e))try{var n=0,i=e.then;if("function"==typeof i)return void i.call(e,function(e){n++||t.resolve(e)},function(e){n++||t.reject(e)})}catch(e){return void(n||this.reject(e))}this.state=r,this.v=e,t.c&&s(function(){for(var n=0,i=t.c.length;n]*>)(.*)/i,/(.*)(<\/script>)(.*)/i],o=0,a=!0;t=t.split("\n");for(var u=0;u=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!i;s--){var o=s>=0?arguments[s]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(n=o+"/"+n,i="/"===o.charAt(0))}return n=t(r(n.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(e){var i=n.isAbsolute(e),s="/"===o(e,-1);return(e=t(r(e.split("/"),function(e){return!!e}),!i).join("/"))||i||(e="."),e&&s&&(e+="/"),(i?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var i=r(e.split("/")),s=r(t.split("/")),o=Math.min(i.length,s.length),a=o,u=0;u1)for(var n=1;n= 8.8",https:!0,_http_server:">= 0.11",_linklist:"< 8",module:!0,net:!0,os:!0,path:!0,perf_hooks:">= 8.5",process:">= 1",punycode:!0,querystring:!0,readline:!0,repl:!0,stream:!0,string_decoder:!0,sys:!0,timers:!0,tls:!0,tty:!0,url:!0,util:!0,v8:">= 1",vm:!0,zlib:!0}},{}],37:[function(e,t,n){(function(n){function r(e){if(!0===e)return!0;for(var t=e.split(" "),n=t[0],r=t[1].split("."),s=0;s<3;++s){var o=Number(i[s]||0),a=Number(r[s]||0);if(o!==a)return"<"===n?o="===n&&o>=a}return!1}var i=n.versions&&n.versions.node&&n.versions.node.split(".")||[],s=e("./core.json"),o={};for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(o[a]=r(s[a]));t.exports=o}).call(this,e("_process"))},{"./core.json":36,_process:32}],38:[function(e,t,n){var r=e("path"),i=e("fs"),s=r.parse||e("path-parse");t.exports=function(e,t){var n=t&&t.moduleDirectory?[].concat(t.moduleDirectory):["node_modules"],o=r.resolve(e);if(t&&!1===t.preserveSymlinks)try{o=i.realpathSync(o)}catch(e){if("ENOENT"!==e.code)throw e}var a="/";/^([A-Za-z]:)/.test(o)?a="":/^\\\\/.test(o)&&(a="\\\\");for(var u=[o],c=s(o);c.dir!==u[u.length-1];)u.push(c.dir),c=s(c.dir);var l=u.reduce(function(e,t){return e.concat(n.map(function(e){return r.join(a,t,e)}))},[]);return t&&t.paths?l.concat(t.paths):l}},{fs:7,path:30,"path-parse":31}],39:[function(e,t,n){var r=e("./core"),i=e("fs"),s=e("path"),o=e("./caller.js"),a=e("./node-modules-paths.js");t.exports=function(e,t){function n(e){if(l(e))return e;for(var t=0;t"))}return Object.keys(hostOptions).forEach(function(k){"host"===parseOpts[k]&&(parseOpts[k]=function(){try{return eval(hostOptions[k]),!0}catch(e){return!1}}())}),parseOpts.promises||parseOpts.es7||parseOpts.generators||parseOpts.engine?((parseOpts.promises||parseOpts.es7)&&parseOpts.generators&&(log("No valid 'use nodent' directive, assumed -es7 mode"),parseOpts=optionSets.es7),(parseOpts.generators||parseOpts.engine)&&(parseOpts.promises=!0),parseOpts.promises&&(parseOpts.es7=!0),parseOpts):null}function stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),"#!"===e.substring(0,2)&&(e="//"+e),e}function compileNodentedFile(e,t){return t=t||e.log,function(n,r,i){var s=stripBOM(fs.readFileSync(r,"utf8")),o=e.parse(s,r,i);i=i||parseCompilerOptions(o.ast,t,r),e.asynchronize(o,void 0,i,t),e.prettyPrint(o,i),n._compile(o.code,o.filename)}}function asyncify(e){return e=e||Thenable,function(t,n,r){if(Array.isArray(n)){var i=n;n=function(e,t){return i.indexOf(e)>=0}}else n=n||function(e,t){return!(e.match(/Sync$/)&&e.replace(/Sync$/,"")in t)};r||(r="");var s=Object.create(t);for(var o in s)!function(){var i=o;try{"function"!=typeof t[i]||s[i+r]&&s[i+r].isAsync||!n(i,s)||(s[i+r]=function(){var n=Array.prototype.slice.call(arguments);return new e(function(e,r){var s=function(t,n){if(t)return r(t);switch(arguments.length){case 0:return e();case 2:return e(n);default:return e(Array.prototype.slice.call(arguments,1))}};n.length>t[i].length?n.push(s):n[t[i].length-1]=s;t[i].apply(t,n)})},s[i+r].isAsync=!0)}catch(e){}}();return s.super=t,s}}function generateRequestHandler(e,t,n){var r={},i=this;t||(t=/\.njs$/),n?n.compiler||(n.compiler={}):n={compiler:{}};var s=copyObj([NodentCompiler.initialCodeGenOpts,n.compiler]);return function(o,a,u){function c(e){a.statusCode=500,a.write(e.toString()),a.end()}if(r[o.url])return a.setHeader("Content-Type",r[o.url].contentType),n.setHeaders&&n.setHeaders(a),a.write(r[o.url].output),void a.end();if(!(o.url.match(t)||n.htmlScriptRegex&&o.url.match(n.htmlScriptRegex)))return u&&u();var l=e+o.url;if(n.extensions&&!fs.existsSync(l))for(var p=0;p=0?this.covers[n]=require(e):this.covers[n]=require(__dirname+"/covers/"+e)),this.covers[n](this,t)}function prepareMappedStackTrace(e,t){return e+t.map(function(e){var t=e.getFileName();if(t&&NodentCompiler.prototype.smCache[t]){var n=NodentCompiler.prototype.smCache[t].smc.originalPositionFor({line:e.getLineNumber(),column:e.getColumnNumber()});if(n&&n.line){var r=e.toString();return"\n at "+r.substring(0,r.length-1)+" => …"+n.source+":"+n.line+":"+n.column+(e.getFunctionName()?")":"")}}return"\n at "+e}).join("")}function setGlobalEnvironment(e){var t={};t[defaultCodeGenOpts.$asyncbind]={value:$asyncbind,writable:!0,enumerable:!1,configurable:!0},t[defaultCodeGenOpts.$asyncspawn]={value:$asyncspawn,writable:!0,enumerable:!1,configurable:!0};try{Object.defineProperties(Function.prototype,t)}catch(t){e.log("Function prototypes already assigned: ",t.messsage)}defaultCodeGenOpts[defaultCodeGenOpts.$error]in global||(global[defaultCodeGenOpts[defaultCodeGenOpts.$error]]=globalErrorHandler),e.augmentObject&&Object.defineProperties(Object.prototype,{asyncify:{value:function(e,t,n){return asyncify(e)(this,t,n)},writable:!0,configurable:!0},isThenable:{value:function(){return Thenable.isThenable(this)},writable:!0,configurable:!0}}),Object[defaultCodeGenOpts.$makeThenable]=Thenable.resolve}function initialize(e){function t(n,r){if(!r.match(/nodent\/nodent\.js$/)){if(r.match(/node_modules\/nodent\/.*\.js$/))return stdJSLoader(n,r);for(var o=0;ot[n])return 1}return 0}(u.version,NodentCompiler.prototype.version)<0&&(u.originalNodentLoader=n.exports,n.exports=function(){var t=require.extensions[".js"],n=u.originalNodentLoader.apply(this,arguments);return u.jsCompiler=require.extensions[".js"],require.extensions[".js"]=t,setGlobalEnvironment(e),n},Object.keys(u.originalNodentLoader).forEach(function(e){n.exports[e]=u.originalNodentLoader[e]}),i.push(u),i=i.sort(function(e,t){return t.path.length-e.path.length})))}function n(t){if(Array.isArray(t))return t.forEach(n);if(require.extensions[t]){Object.keys(e).filter(function(t){return compiler[t]!=e[t]}).length&&e.log("File extension "+t+" already configured for async/await compilation.")}require.extensions[t]=compileNodentedFile(compiler,e.log)}if(e){for(var r in e)if("use"!==r&&!config.hasOwnProperty(r))throw new Error("NoDent: unknown option: "+r+"="+JSON.stringify(e[r]))}else e={};compiler?compiler.setOptions(e):(Object.keys(config).forEach(function(t){t in e||(e[t]=config[t])}),compiler=new NodentCompiler(e)),e.dontMapStackTraces||(Error.prepareStackTrace=prepareMappedStackTrace),setGlobalEnvironment(e);var i=[];if(!e.dontInstallRequireHook){if(!stdJSLoader){stdJSLoader=require.extensions[".js"];var s=compileNodentedFile(compiler,e.log);require.extensions[".js"]=t}e.extension&&n(e.extension)}return e.use&&(Array.isArray(e.use)?(e.log("Warning: nodent({use:[...]}) is deprecated. Use nodent.require(module,options)\n"+(new Error).stack.split("\n")[2]),e.use.length&&e.use.forEach(function(e){compiler[e]=compiler.require(e)})):(e.log("Warning: nodent({use:{...}}) is deprecated. Use nodent.require(module,options)\n"+(new Error).stack.split("\n")[2]),Object.keys(e.use).forEach(function(t){compiler[t]=compiler.require(t,e.use[t])}))),compiler}function runFromCLI(){function e(e,n){try{var s,o;if(r.fromast){if(e=JSON.parse(e),s={origCode:"",filename:t,ast:e},!(o=parseCompilerOptions(e,i.log))){var a=r.use?'"use nodent-'+r.use+'";':'"use nodent";';o=parseCompilerOptions(a,i.log),console.warn("/* "+t+": No 'use nodent*' directive, assumed "+a+" */")}}else(o=parseCompilerOptions(r.use?'"use nodent-'+r.use+'";':e,i.log))||(o=parseCompilerOptions('"use nodent";',i.log),r.dest||console.warn("/* "+t+": 'use nodent*' directive missing/ignored, assumed 'use nodent;' */")),s=i.parse(e,t,o);if(r.parseast||r.pretty||i.asynchronize(s,void 0,o,i.log),i.prettyPrint(s,o),r.out||r.pretty||r.dest){if(r.dest&&!n)throw new Error("Can't write unknown file to "+r.dest);var u="";r.runtime&&(u+="Function.prototype.$asyncbind = "+Function.prototype.$asyncbind.toString()+";\n",u+="global.$error = global.$error || "+global.$error.toString()+";\n"),u+=s.code,n&&r.dest?(fs.writeFileSync(r.dest+n,u),console.log("Compiled",r.dest+n)):console.log(u)}(r.minast||r.parseast)&&console.log(JSON.stringify(s.ast,function(e,t){return"$"===e[0]||e.match(/^(start|end|loc)$/)?void 0:t},2,null)),r.ast&&console.log(JSON.stringify(s.ast,function(e,t){return"$"===e[0]?void 0:t},0)),r.exec&&new Function(s.code)()}catch(e){console.error(e)}}var t,n=require("path"),r=(process.env.NODENT_OPTS&&JSON.parse(process.env.NODENT_OPTS),function(e){for(var t=[],n=e||2;n0",engine:"(async ()=>0)",noRuntime:"Promise"};NodentCompiler.prototype.Thenable=Thenable,NodentCompiler.prototype.EagerThenable=$asyncbind.EagerThenableFactory,NodentCompiler.prototype.asyncify=asyncify,NodentCompiler.prototype.require=requireCover,NodentCompiler.prototype.generateRequestHandler=generateRequestHandler,NodentCompiler.prototype.$asyncspawn=$asyncspawn,NodentCompiler.prototype.$asyncbind=$asyncbind,NodentCompiler.prototype.parseCompilerOptions=parseCompilerOptions,$asyncbind.call($asyncbind);var compiler;initialize.setDefaultCompileOptions=function(e,t){return e&&Object.keys(e).forEach(function(t){if(!(t in defaultCodeGenOpts))throw new Error("NoDent: unknown compiler option: "+t);defaultCodeGenOpts[t]=e[t]}),t&&Object.keys(t).forEach(function(e){if(!(e in t))throw new Error("NoDent: unknown configuration option: "+e);config[e]=t[e]}),initialize},initialize.setCompileOptions=function(e,t){return optionSet[e]=optionSet[e]||copyObj([defaultCodeGenOpts]),t&&Object.keys(t).forEach(function(n){if(!(n in defaultCodeGenOpts))throw new Error("NoDent: unknown compiler option: "+n);optionSet[e][n]=t[n]}),initialize},initialize.asyncify=asyncify,initialize.Thenable=$asyncbind.Thenable,initialize.EagerThenable=$asyncbind.EagerThenableFactory,module.exports=initialize,require.main===module&&process.argv.length>=3&&runFromCLI()}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},"/node_modules/nodent")},{"./htmlScriptParser":29,_process:32,fs:7,"nodent-compiler":10,"nodent-runtime":26,path:30,resolve:33}]},{},[]); \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/regenerator.min.js b/tools/node_modules/eslint/node_modules/ajv/dist/regenerator.min.js index 0b05fb9cf684d8..ef3b8bed543ce8 100644 --- a/tools/node_modules/eslint/node_modules/ajv/dist/regenerator.min.js +++ b/tools/node_modules/eslint/node_modules/ajv/dist/regenerator.min.js @@ -1,2 +1,2 @@ -/* regenerator 0.10.0: Source transformer enabling ECMAScript 6 generator functions (yield) in JavaScript-of-today (ES5) */ -require=function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var u="function"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return i(r||e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var s="function"==typeof require&&require,a=0;a=0;o--)if(u[o]!==l[o])return!1;for(o=u.length-1;o>=0;o--)if(a=u[o],!h(e[a],t[a],r,n))return!1;return!0}(e,t,r,o))}return r?e===t:e==t}function f(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function d(e,t,r){h(e,t,!0)&&c(e,t,r,"notDeepStrictEqual",d)}function m(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function y(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&c(i,r,"Missing expected exception"+n);var s="string"==typeof n,a=!e&&g.isError(i),o=!e&&i&&!r;if((a&&s&&m(i,r)||o)&&c(i,r,"Got unwanted exception"+n),e&&i&&r&&!m(i,r)||!e&&i)throw i}var g=e("util/"),b=Object.prototype.hasOwnProperty,v=Array.prototype.slice,x="foo"===function(){}.name,E=t.exports=p,A=/\s*function\s+([^\(\s]*)\s*/;E.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return u(l(e.actual),128)+" "+e.operator+" "+u(l(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||c;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=o(t),s=n.indexOf("\n"+i);if(s>=0){var a=n.indexOf("\n",s+1);n=n.substring(a+1)}this.stack=n}}},g.inherits(E.AssertionError,Error),E.fail=c,E.ok=p,E.equal=function(e,t,r){e!=t&&c(e,t,r,"==",E.equal)},E.notEqual=function(e,t,r){e==t&&c(e,t,r,"!=",E.notEqual)},E.deepEqual=function(e,t,r){h(e,t,!1)||c(e,t,r,"deepEqual",E.deepEqual)},E.deepStrictEqual=function(e,t,r){h(e,t,!0)||c(e,t,r,"deepStrictEqual",E.deepStrictEqual)},E.notDeepEqual=function(e,t,r){h(e,t,!1)&&c(e,t,r,"notDeepEqual",E.notDeepEqual)},E.notDeepStrictEqual=d,E.strictEqual=function(e,t,r){e!==t&&c(e,t,r,"===",E.strictEqual)},E.notStrictEqual=function(e,t,r){e===t&&c(e,t,r,"!==",E.notStrictEqual)},E.throws=function(e,t,r){y(!0,e,t,r)},E.doesNotThrow=function(e,t,r){y(!1,e,t,r)},E.ifError=function(e){if(e)throw e};var D=Object.keys||function(e){var t=[];for(var r in e)b.call(e,r)&&t.push(r);return t}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":613}],2:[function(e,t,r){t.exports=function(t){t.use(e("./es7"));var r=t.use(e("../lib/types")),n=t.use(e("../lib/shared")).defaults,i=r.Type.def,s=r.Type.or;i("Noop").bases("Node").build(),i("DoExpression").bases("Expression").build("body").field("body",[i("Statement")]),i("Super").bases("Expression").build(),i("BindExpression").bases("Expression").build("object","callee").field("object",s(i("Expression"),null)).field("callee",i("Expression")),i("Decorator").bases("Node").build("expression").field("expression",i("Expression")),i("Property").field("decorators",s([i("Decorator")],null),n.null),i("MethodDefinition").field("decorators",s([i("Decorator")],null),n.null),i("MetaProperty").bases("Expression").build("meta","property").field("meta",i("Identifier")).field("property",i("Identifier")),i("ParenthesizedExpression").bases("Expression").build("expression").field("expression",i("Expression")),i("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",i("Identifier")),i("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),i("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),i("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",s(i("Declaration"),i("Expression"))),i("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",s(i("Declaration"),null)).field("specifiers",[i("ExportSpecifier")],n.emptyArray).field("source",s(i("Literal"),null),n.null),i("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",i("Identifier")),i("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",i("Identifier")),i("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",i("Identifier")),i("ExportAllDeclaration").bases("Declaration").build("exported","source").field("exported",s(i("Identifier"),null)).field("source",i("Literal")),i("CommentBlock").bases("Comment").build("value","leading","trailing"),i("CommentLine").bases("Comment").build("value","leading","trailing")}},{"../lib/shared":18,"../lib/types":19,"./es7":7}],3:[function(e,t,r){t.exports=function(t){t.use(e("./babel")),t.use(e("./flow"));var r=t.use(e("../lib/types")),n=t.use(e("../lib/shared")).defaults,i=r.Type.def,s=r.Type.or;i("Directive").bases("Node").build("value").field("value",i("DirectiveLiteral")),i("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,n["use strict"]),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]).field("directives",[i("Directive")],n.emptyArray),i("Program").bases("Node").build("body").field("body",[i("Statement")]).field("directives",[i("Directive")],n.emptyArray),i("StringLiteral").bases("Literal").build("value").field("value",String),i("NumericLiteral").bases("Literal").build("value").field("value",Number),i("NullLiteral").bases("Literal").build(),i("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),i("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String);var a=s(i("Property"),i("ObjectMethod"),i("ObjectProperty"),i("SpreadProperty"));i("ObjectExpression").bases("Expression").build("properties").field("properties",[a]),i("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",s("method","get","set")).field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("computed",Boolean,n.false).field("generator",Boolean,n.false).field("async",Boolean,n.false).field("decorators",s([i("Decorator")],null),n.null),i("ObjectProperty").bases("Node").build("key","value").field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("value",s(i("Expression"),i("Pattern"))).field("computed",Boolean,n.false);var o=s(i("MethodDefinition"),i("VariableDeclarator"),i("ClassPropertyDefinition"),i("ClassProperty"),i("ClassMethod"));i("ClassBody").bases("Declaration").build("body").field("body",[o]),i("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("kind",s("get","set","method","constructor")).field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("computed",Boolean,n.false).field("static",Boolean,n.false).field("generator",Boolean,n.false).field("async",Boolean,n.false).field("decorators",s([i("Decorator")],null),n.null);var u=s(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"),i("SpreadProperty"),i("ObjectProperty"),i("RestProperty"));i("ObjectPattern").bases("Pattern").build("properties").field("properties",[u]).field("decorators",s([i("Decorator")],null),n.null),i("SpreadProperty").bases("Node").build("argument").field("argument",i("Expression")),i("RestProperty").bases("Node").build("argument").field("argument",i("Expression")),i("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",s(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("Import").bases("Expression").build()}},{"../lib/shared":18,"../lib/types":19,"./babel":2,"./flow":9}],4:[function(e,t,r){t.exports=function(t){var r=t.use(e("../lib/types")).Type,n=r.def,i=r.or,s=t.use(e("../lib/shared")),a=s.defaults,o=s.geq;n("Printable").field("loc",i(n("SourceLocation"),null),a.null,!0),n("Node").bases("Printable").field("type",String).field("comments",i([n("Comment")],null),a.null,!0),n("SourceLocation").build("start","end","source").field("start",n("Position")).field("end",n("Position")).field("source",i(String,null),a.null),n("Position").build("line","column").field("line",o(1)).field("column",o(0)),n("File").bases("Node").build("program","name").field("program",n("Program")).field("name",i(String,null),a.null),n("Program").bases("Node").build("body").field("body",[n("Statement")]),n("Function").bases("Node").field("id",i(n("Identifier"),null),a.null).field("params",[n("Pattern")]).field("body",n("BlockStatement")),n("Statement").bases("Node"),n("EmptyStatement").bases("Statement").build(),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]),n("ExpressionStatement").bases("Statement").build("expression").field("expression",n("Expression")),n("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Statement")).field("alternate",i(n("Statement"),null),a.null),n("LabeledStatement").bases("Statement").build("label","body").field("label",n("Identifier")).field("body",n("Statement")),n("BreakStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),a.null),n("ContinueStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),a.null),n("WithStatement").bases("Statement").build("object","body").field("object",n("Expression")).field("body",n("Statement")),n("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",n("Expression")).field("cases",[n("SwitchCase")]).field("lexical",Boolean,a.false),n("ReturnStatement").bases("Statement").build("argument").field("argument",i(n("Expression"),null)),n("ThrowStatement").bases("Statement").build("argument").field("argument",n("Expression")),n("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",n("BlockStatement")).field("handler",i(n("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[n("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[n("CatchClause")],a.emptyArray).field("finalizer",i(n("BlockStatement"),null),a.null),n("CatchClause").bases("Node").build("param","guard","body").field("param",n("Pattern")).field("guard",i(n("Expression"),null),a.null).field("body",n("BlockStatement")),n("WhileStatement").bases("Statement").build("test","body").field("test",n("Expression")).field("body",n("Statement")),n("DoWhileStatement").bases("Statement").build("body","test").field("body",n("Statement")).field("test",n("Expression")),n("ForStatement").bases("Statement").build("init","test","update","body").field("init",i(n("VariableDeclaration"),n("Expression"),null)).field("test",i(n("Expression"),null)).field("update",i(n("Expression"),null)).field("body",n("Statement")),n("ForInStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("DebuggerStatement").bases("Statement").build(),n("Declaration").bases("Statement"),n("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",n("Identifier")),n("FunctionExpression").bases("Function","Expression").build("id","params","body"),n("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",i("var","let","const")).field("declarations",[n("VariableDeclarator")]),n("VariableDeclarator").bases("Node").build("id","init").field("id",n("Pattern")).field("init",i(n("Expression"),null)),n("Expression").bases("Node","Pattern"),n("ThisExpression").bases("Expression").build(),n("ArrayExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),null)]),n("ObjectExpression").bases("Expression").build("properties").field("properties",[n("Property")]),n("Property").bases("Node").build("kind","key","value").field("kind",i("init","get","set")).field("key",i(n("Literal"),n("Identifier"))).field("value",n("Expression")),n("SequenceExpression").bases("Expression").build("expressions").field("expressions",[n("Expression")]);var u=i("-","+","!","~","typeof","void","delete");n("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",u).field("argument",n("Expression")).field("prefix",Boolean,a.true);var l=i("==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof","..");n("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",l).field("left",n("Expression")).field("right",n("Expression"));var c=i("=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&=");n("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",c).field("left",n("Pattern")).field("right",n("Expression"));var p=i("++","--");n("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",p).field("argument",n("Expression")).field("prefix",Boolean);var h=i("||","&&");n("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",h).field("left",n("Expression")).field("right",n("Expression")),n("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Expression")).field("alternate",n("Expression")),n("NewExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("CallExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("MemberExpression").bases("Expression").build("object","property","computed").field("object",n("Expression")).field("property",i(n("Identifier"),n("Expression"))).field("computed",Boolean,function(){var e=this.property.type;return"Literal"===e||"MemberExpression"===e||"BinaryExpression"===e}),n("Pattern").bases("Node"),n("SwitchCase").bases("Node").build("test","consequent").field("test",i(n("Expression"),null)).field("consequent",[n("Statement")]),n("Identifier").bases("Node","Expression","Pattern").build("name").field("name",String),n("Literal").bases("Node","Expression").build("value").field("value",i(String,Boolean,null,Number,RegExp)).field("regex",i({pattern:String,flags:String},null),function(){if(this.value instanceof RegExp){var e="";return this.value.ignoreCase&&(e+="i"),this.value.multiline&&(e+="m"),this.value.global&&(e+="g"),{pattern:this.value.source,flags:e}}return null}),n("Comment").bases("Printable").field("value",String).field("leading",Boolean,a.true).field("trailing",Boolean,a.false)}},{"../lib/shared":18,"../lib/types":19}],5:[function(e,t,r){t.exports=function(t){t.use(e("./core"));var r=t.use(e("../lib/types")),n=r.Type.def,i=r.Type.or;n("XMLDefaultDeclaration").bases("Declaration").field("namespace",n("Expression")),n("XMLAnyName").bases("Expression"),n("XMLQualifiedIdentifier").bases("Expression").field("left",i(n("Identifier"),n("XMLAnyName"))).field("right",i(n("Identifier"),n("Expression"))).field("computed",Boolean),n("XMLFunctionQualifiedIdentifier").bases("Expression").field("right",i(n("Identifier"),n("Expression"))).field("computed",Boolean),n("XMLAttributeSelector").bases("Expression").field("attribute",n("Expression")),n("XMLFilterExpression").bases("Expression").field("left",n("Expression")).field("right",n("Expression")),n("XMLElement").bases("XML","Expression").field("contents",[n("XML")]),n("XMLList").bases("XML","Expression").field("contents",[n("XML")]),n("XML").bases("Node"),n("XMLEscape").bases("XML").field("expression",n("Expression")),n("XMLText").bases("XML").field("text",String),n("XMLStartTag").bases("XML").field("contents",[n("XML")]),n("XMLEndTag").bases("XML").field("contents",[n("XML")]),n("XMLPointTag").bases("XML").field("contents",[n("XML")]),n("XMLName").bases("XML").field("contents",i(String,[n("XML")])),n("XMLAttribute").bases("XML").field("value",String),n("XMLCdata").bases("XML").field("contents",String),n("XMLComment").bases("XML").field("contents",String),n("XMLProcessingInstruction").bases("XML").field("target",String).field("contents",i(String,null))}},{"../lib/types":19,"./core":4}],6:[function(e,t,r){t.exports=function(t){t.use(e("./core"));var r=t.use(e("../lib/types")),n=r.Type.def,i=r.Type.or,s=t.use(e("../lib/shared")).defaults;n("Function").field("generator",Boolean,s.false).field("expression",Boolean,s.false).field("defaults",[i(n("Expression"),null)],s.emptyArray).field("rest",i(n("Identifier"),null),s.null),n("RestElement").bases("Pattern").build("argument").field("argument",n("Pattern")),n("SpreadElementPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("FunctionDeclaration").build("id","params","body","generator","expression"),n("FunctionExpression").build("id","params","body","generator","expression"),n("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,s.null).field("body",i(n("BlockStatement"),n("Expression"))).field("generator",!1,s.false),n("YieldExpression").bases("Expression").build("argument","delegate").field("argument",i(n("Expression"),null)).field("delegate",Boolean,s.false),n("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",i(n("Expression"),null)),n("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",i(n("Expression"),null)),n("ComprehensionBlock").bases("Node").build("left","right","each").field("left",n("Pattern")).field("right",n("Expression")).field("each",Boolean),n("Property").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("value",i(n("Expression"),n("Pattern"))).field("method",Boolean,s.false).field("shorthand",Boolean,s.false).field("computed",Boolean,s.false),n("PropertyPattern").bases("Pattern").build("key","pattern").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("pattern",n("Pattern")).field("computed",Boolean,s.false),n("ObjectPattern").bases("Pattern").build("properties").field("properties",[i(n("PropertyPattern"),n("Property"))]),n("ArrayPattern").bases("Pattern").build("elements").field("elements",[i(n("Pattern"),null)]),n("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",i("constructor","method","get","set")).field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("value",n("Function")).field("computed",Boolean,s.false).field("static",Boolean,s.false),n("SpreadElement").bases("Node").build("argument").field("argument",n("Expression")),n("ArrayExpression").field("elements",[i(n("Expression"),n("SpreadElement"),n("RestElement"),null)]),n("NewExpression").field("arguments",[i(n("Expression"),n("SpreadElement"))]),n("CallExpression").field("arguments",[i(n("Expression"),n("SpreadElement"))]),n("AssignmentPattern").bases("Pattern").build("left","right").field("left",n("Pattern")).field("right",n("Expression"));var a=i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"));n("ClassProperty").bases("Declaration").build("key").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("computed",Boolean,s.false),n("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",a),n("ClassBody").bases("Declaration").build("body").field("body",[a]),n("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",i(n("Identifier"),null)).field("body",n("ClassBody")).field("superClass",i(n("Expression"),null),s.null),n("ClassExpression").bases("Expression").build("id","body","superClass").field("id",i(n("Identifier"),null),s.null).field("body",n("ClassBody")).field("superClass",i(n("Expression"),null),s.null).field("implements",[n("ClassImplements")],s.emptyArray),n("ClassImplements").bases("Node").build("id").field("id",n("Identifier")).field("superClass",i(n("Expression"),null),s.null),n("Specifier").bases("Node"),n("ModuleSpecifier").bases("Specifier").field("local",i(n("Identifier"),null),s.null).field("id",i(n("Identifier"),null),s.null).field("name",i(n("Identifier"),null),s.null),n("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",n("Expression")).field("quasi",n("TemplateLiteral")),n("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[n("TemplateElement")]).field("expressions",[n("Expression")]),n("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean)}},{"../lib/shared":18,"../lib/types":19,"./core":4}],7:[function(e,t,r){t.exports=function(t){t.use(e("./es6"));var r=t.use(e("../lib/types")),n=r.Type.def,i=r.Type.or,s=(r.builtInTypes,t.use(e("../lib/shared")).defaults);n("Function").field("async",Boolean,s.false),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ObjectExpression").field("properties",[i(n("Property"),n("SpreadProperty"))]),n("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("ObjectPattern").field("properties",[i(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"))]),n("AwaitExpression").bases("Expression").build("argument","all").field("argument",i(n("Expression"),null)).field("all",Boolean,s.false)}},{"../lib/shared":18,"../lib/types":19,"./es6":6}],8:[function(e,t,r){t.exports=function(t){t.use(e("./es7"));var r=t.use(e("../lib/types")),n=t.use(e("../lib/shared")).defaults,i=r.Type.def,s=r.Type.or;i("VariableDeclaration").field("declarations",[s(i("VariableDeclarator"),i("Identifier"))]),i("Property").field("value",s(i("Expression"),i("Pattern"))),i("ArrayPattern").field("elements",[s(i("Pattern"),i("SpreadElement"),null)]),i("ObjectPattern").field("properties",[s(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"),i("SpreadProperty"))]),i("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),i("ExportBatchSpecifier").bases("Specifier").build(),i("ImportSpecifier").bases("ModuleSpecifier").build("id","name"),i("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"),i("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"),i("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",s(i("Declaration"),i("Expression"),null)).field("specifiers",[s(i("ExportSpecifier"),i("ExportBatchSpecifier"))],n.emptyArray).field("source",s(i("Literal"),null),n.null),i("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[s(i("ImportSpecifier"),i("ImportNamespaceSpecifier"),i("ImportDefaultSpecifier"))],n.emptyArray).field("source",i("Literal")).field("importKind",s("value","type"),function(){return"value"}),i("Block").bases("Comment").build("value","leading","trailing"),i("Line").bases("Comment").build("value","leading","trailing")}},{"../lib/shared":18,"../lib/types":19,"./es7":7}],9:[function(e,t,r){t.exports=function(t){t.use(e("./es7"));var r=t.use(e("../lib/types")),n=r.Type.def,i=r.Type.or,s=t.use(e("../lib/shared")).defaults;n("Type").bases("Node"),n("AnyTypeAnnotation").bases("Type").build(),n("EmptyTypeAnnotation").bases("Type").build(),n("MixedTypeAnnotation").bases("Type").build(),n("VoidTypeAnnotation").bases("Type").build(),n("NumberTypeAnnotation").bases("Type").build(),n("NumberLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Number).field("raw",String),n("NumericLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Number).field("raw",String),n("StringTypeAnnotation").bases("Type").build(),n("StringLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",String).field("raw",String),n("BooleanTypeAnnotation").bases("Type").build(),n("BooleanLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Boolean).field("raw",String),n("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",n("Type")),n("NullableTypeAnnotation").bases("Type").build("typeAnnotation").field("typeAnnotation",n("Type")),n("NullLiteralTypeAnnotation").bases("Type").build(),n("NullTypeAnnotation").bases("Type").build(),n("ThisTypeAnnotation").bases("Type").build(),n("ExistsTypeAnnotation").bases("Type").build(),n("ExistentialTypeParam").bases("Type").build(),n("FunctionTypeAnnotation").bases("Type").build("params","returnType","rest","typeParameters").field("params",[n("FunctionTypeParam")]).field("returnType",n("Type")).field("rest",i(n("FunctionTypeParam"),null)).field("typeParameters",i(n("TypeParameterDeclaration"),null)),n("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",n("Identifier")).field("typeAnnotation",n("Type")).field("optional",Boolean),n("ArrayTypeAnnotation").bases("Type").build("elementType").field("elementType",n("Type")),n("ObjectTypeAnnotation").bases("Type").build("properties","indexers","callProperties").field("properties",[n("ObjectTypeProperty")]).field("indexers",[n("ObjectTypeIndexer")],s.emptyArray).field("callProperties",[n("ObjectTypeCallProperty")],s.emptyArray).field("exact",Boolean,s.false),n("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",i(n("Literal"),n("Identifier"))).field("value",n("Type")).field("optional",Boolean).field("variance",i("plus","minus",null),s.null),n("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",n("Identifier")).field("key",n("Type")).field("value",n("Type")).field("variance",i("plus","minus",null),s.null),n("ObjectTypeCallProperty").bases("Node").build("value").field("value",n("FunctionTypeAnnotation")).field("static",Boolean,s.false),n("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",i(n("Identifier"),n("QualifiedTypeIdentifier"))).field("id",n("Identifier")),n("GenericTypeAnnotation").bases("Type").build("id","typeParameters").field("id",i(n("Identifier"),n("QualifiedTypeIdentifier"))).field("typeParameters",i(n("TypeParameterInstantiation"),null)),n("MemberTypeAnnotation").bases("Type").build("object","property").field("object",n("Identifier")).field("property",i(n("MemberTypeAnnotation"),n("GenericTypeAnnotation"))),n("UnionTypeAnnotation").bases("Type").build("types").field("types",[n("Type")]),n("IntersectionTypeAnnotation").bases("Type").build("types").field("types",[n("Type")]),n("TypeofTypeAnnotation").bases("Type").build("argument").field("argument",n("Type")),n("Identifier").field("typeAnnotation",i(n("TypeAnnotation"),null),s.null),n("TypeParameterDeclaration").bases("Node").build("params").field("params",[n("TypeParameter")]),n("TypeParameterInstantiation").bases("Node").build("params").field("params",[n("Type")]),n("TypeParameter").bases("Type").build("name","variance","bound").field("name",String).field("variance",i("plus","minus",null),s.null).field("bound",i(n("TypeAnnotation"),null),s.null),n("Function").field("returnType",i(n("TypeAnnotation"),null),s.null).field("typeParameters",i(n("TypeParameterDeclaration"),null),s.null),n("ClassProperty").build("key","value","typeAnnotation","static").field("value",i(n("Expression"),null)).field("typeAnnotation",i(n("TypeAnnotation"),null)).field("static",Boolean,s.false).field("variance",i("plus","minus",null),s.null),n("ClassImplements").field("typeParameters",i(n("TypeParameterInstantiation"),null),s.null),n("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null),s.null).field("body",n("ObjectTypeAnnotation")).field("extends",[n("InterfaceExtends")]),n("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),n("InterfaceExtends").bases("Node").build("id").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterInstantiation"),null)),n("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null)).field("right",n("Type")),n("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),n("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TypeAnnotation")),n("TupleTypeAnnotation").bases("Type").build("types").field("types",[n("Type")]),n("DeclareVariable").bases("Statement").build("id").field("id",n("Identifier")),n("DeclareFunction").bases("Statement").build("id").field("id",n("Identifier")),n("DeclareClass").bases("InterfaceDeclaration").build("id"),n("DeclareModule").bases("Statement").build("id","body").field("id",i(n("Identifier"),n("Literal"))).field("body",n("BlockStatement")),n("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",n("Type")),n("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",i(n("DeclareVariable"),n("DeclareFunction"),n("DeclareClass"),n("Type"),null)).field("specifiers",[i(n("ExportSpecifier"),n("ExportBatchSpecifier"))],s.emptyArray).field("source",i(n("Literal"),null),s.null),n("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",i(n("Literal"),null),s.null)}},{"../lib/shared":18,"../lib/types":19,"./es7":7}],10:[function(e,t,r){t.exports=function(t){t.use(e("./es7"));var r=t.use(e("../lib/types")),n=r.Type.def,i=r.Type.or,s=t.use(e("../lib/shared")).defaults;n("JSXAttribute").bases("Node").build("name","value").field("name",i(n("JSXIdentifier"),n("JSXNamespacedName"))).field("value",i(n("Literal"),n("JSXExpressionContainer"),null),s.null),n("JSXIdentifier").bases("Identifier").build("name").field("name",String),n("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",n("JSXIdentifier")).field("name",n("JSXIdentifier")),n("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",i(n("JSXIdentifier"),n("JSXMemberExpression"))).field("property",n("JSXIdentifier")).field("computed",Boolean,s.false);var a=i(n("JSXIdentifier"),n("JSXNamespacedName"),n("JSXMemberExpression"));n("JSXSpreadAttribute").bases("Node").build("argument").field("argument",n("Expression"));var o=[i(n("JSXAttribute"),n("JSXSpreadAttribute"))];n("JSXExpressionContainer").bases("Expression").build("expression").field("expression",n("Expression")),n("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",n("JSXOpeningElement")).field("closingElement",i(n("JSXClosingElement"),null),s.null).field("children",[i(n("JSXElement"),n("JSXExpressionContainer"),n("JSXText"),n("Literal"))],s.emptyArray).field("name",a,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",o,function(){return this.openingElement.attributes},!0),n("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",a).field("attributes",o,s.emptyArray).field("selfClosing",Boolean,s.false),n("JSXClosingElement").bases("Node").build("name").field("name",a),n("JSXText").bases("Literal").build("value").field("value",String),n("JSXEmptyExpression").bases("Expression").build()}},{"../lib/shared":18,"../lib/types":19,"./es7":7}],11:[function(e,t,r){t.exports=function(t){t.use(e("./core"));var r=t.use(e("../lib/types")),n=r.Type.def,i=r.Type.or,s=t.use(e("../lib/shared")),a=s.geq,o=s.defaults;n("Function").field("body",i(n("BlockStatement"),n("Expression"))),n("ForInStatement").build("left","right","body","each").field("each",Boolean,o.false),n("ForOfStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("LetStatement").bases("Statement").build("head","body").field("head",[n("VariableDeclarator")]).field("body",n("Statement")),n("LetExpression").bases("Expression").build("head","body").field("head",[n("VariableDeclarator")]).field("body",n("Expression")),n("GraphExpression").bases("Expression").build("index","expression").field("index",a(0)).field("expression",n("Literal")),n("GraphIndexExpression").bases("Expression").build("index").field("index",a(0))}},{"../lib/shared":18,"../lib/types":19,"./core":4}],12:[function(e,t,r){t.exports=function(t){function r(e){var t=n.indexOf(e);return-1===t&&(t=n.length,n.push(e),i[t]=e(s)),i[t]}var n=[],i=[],s={};s.use=r;var a=r(e("./lib/types"));t.forEach(r),a.finalize();var o={Type:a.Type,builtInTypes:a.builtInTypes,namedTypes:a.namedTypes,builders:a.builders,defineMethod:a.defineMethod,getFieldNames:a.getFieldNames,getFieldValue:a.getFieldValue,eachField:a.eachField,someField:a.someField,getSupertypeNames:a.getSupertypeNames,astNodesAreEquivalent:r(e("./lib/equiv")),finalize:a.finalize,Path:r(e("./lib/path")),NodePath:r(e("./lib/node-path")),PathVisitor:r(e("./lib/path-visitor")),use:r};return o.visit=o.PathVisitor.visit,o}},{"./lib/equiv":13,"./lib/node-path":14,"./lib/path":16,"./lib/path-visitor":15,"./lib/types":19}],13:[function(e,t,r){t.exports=function(t){function r(e,t,r){return u.check(r)?r.length=0:r=null,i(e,t,r)}function n(e){return/[_$a-z][_$a-z0-9]*/i.test(e)?"."+e:"["+JSON.stringify(e)+"]"}function i(e,t,r){return e===t||(u.check(e)?function(e,t,r){u.assert(e);var n=e.length;if(!u.check(t)||t.length!==n)return r&&r.push("length"),!1;for(var s=0;su)return!0;if(s===u&&"right"===this.name){if(r.right!==t)throw new Error("Nodes must be equal");return!0}default:return!1}case"SequenceExpression":switch(r.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0}case"YieldExpression":switch(r.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return"MemberExpression"===r.type&&l.check(t.value)&&"object"===this.name&&r.object===t;case"AssignmentExpression":case"ConditionalExpression":switch(r.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&r.callee===t;case"ConditionalExpression":return"test"===this.name&&r.test===t;case"MemberExpression":return"object"===this.name&&r.object===t;default:return!1}default:if("NewExpression"===r.type&&"callee"===this.name&&r.callee===t)return i(t)}return!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())};var d={};return[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(e,t){e.forEach(function(e){d[e]=t})}),f.canBeFirstInStatement=function(){var e=this.node;return!o.FunctionExpression.check(e)&&!o.ObjectExpression.check(e)},f.firstInStatement=function(){return function(e){for(var t,r;e.parent;e=e.parent){if(t=e.node,r=e.parent.node,o.BlockStatement.check(r)&&"body"===e.parent.name&&0===e.name){if(r.body[0]!==t)throw new Error("Nodes must be equal");return!0}if(o.ExpressionStatement.check(r)&&"expression"===e.name){if(r.expression!==t)throw new Error("Nodes must be equal");return!0}if(o.SequenceExpression.check(r)&&"expressions"===e.parent.name&&0===e.name){if(r.expressions[0]!==t)throw new Error("Nodes must be equal")}else if(o.CallExpression.check(r)&&"callee"===e.name){if(r.callee!==t)throw new Error("Nodes must be equal")}else if(o.MemberExpression.check(r)&&"object"===e.name){if(r.object!==t)throw new Error("Nodes must be equal")}else if(o.ConditionalExpression.check(r)&&"test"===e.name){if(r.test!==t)throw new Error("Nodes must be equal")}else if(n(r)&&"left"===e.name){if(r.left!==t)throw new Error("Nodes must be equal")}else{if(!o.UnaryExpression.check(r)||r.prefix||"argument"!==e.name)return!1;if(r.argument!==t)throw new Error("Nodes must be equal")}}return!0}(this)},r}},{"./path":16,"./scope":17,"./types":19}],15:[function(e,t,r){var n=Object.prototype.hasOwnProperty;t.exports=function(t){function r(){if(!(this instanceof r))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=function(e){r=Object.create(null);for(var t in e)/^visit[A-Z]/.test(t)&&(r[t.slice("visit".length)]=!0);for(var r,n=a.computeSupertypeLookupTable(r),i=Object.create(null),s=(r=Object.keys(n)).length,o=0;o=0&&(s[e.name=a]=e)}else i[e.name]=e.value,s[e.name]=e;if(i[e.name]!==e.value)throw new Error("");if(e.parentPath.get(e.name)!==e)throw new Error("")}(this),l.check(i)){for(var u=i.length,c=o(this.parentPath,a-1,this.name+1),p=[this.name,1],h=0;h=e},a+" >= "+e)},r.defaults={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){}};var o=i.or(s.string,s.number,s.boolean,s.null,s.undefined);return r.isPrimitive=new i(function(e){if(null===e)return!0;var t=typeof e;return!("object"===t||"function"===t)},o.toString()),r}},{"../lib/types":19}],19:[function(e,t,r){var n=Array.prototype,i=n.slice,s=(n.map,n.forEach,Object.prototype),a=s.toString,o=a.call(function(){}),u=a.call(""),l=s.hasOwnProperty;t.exports=function(){function e(t,r){var n=this;if(!(n instanceof e))throw new Error("Type constructor cannot be invoked without 'new'");if(a.call(t)!==o)throw new Error(t+" is not a function");var i=a.call(r);if(i!==o&&i!==u)throw new Error(r+" is neither a function nor a string");Object.defineProperties(n,{name:{value:r},check:{value:function(e,r){var i=t.call(n,e,r);return!i&&r&&a.call(r)===o&&r(n,e),i}}})}function t(e){return C.check(e)?"{"+Object.keys(e).map(function(t){return t+": "+e[t]}).join(", ")+"}":D.check(e)?"["+e.map(t).join(", ")+"]":JSON.stringify(e)}function r(t,r){var n=a.call(t),i=new e(function(e){return a.call(e)===n},r);return x[r]=i,t&&"function"==typeof t.constructor&&(b.push(t.constructor),v.push(i)),i}function n(t,r){if(t instanceof e)return t;if(t instanceof c)return t.type;if(D.check(t))return e.fromArray(t);if(C.check(t))return e.fromObject(t);if(A.check(t)){var n=b.indexOf(t);return n>=0?v[n]:new e(t,r)}return new e(function(e){return e===t},_.check(r)?function(){return t+""}:r)}function s(e,t,r,i){if(!(this instanceof s))throw new Error("Field constructor cannot be invoked without 'new'");E.assert(e);var a={name:{value:e},type:{value:t=n(t)},hidden:{value:!!i}};A.check(r)&&(a.defaultFn={value:r}),Object.defineProperties(this,a)}function c(t){var r=this;if(!(r instanceof c))throw new Error("Def constructor cannot be invoked without 'new'");Object.defineProperties(r,{typeName:{value:t},baseNames:{value:[]},ownFields:{value:Object.create(null)},allSupertypes:{value:Object.create(null)},supertypeList:{value:[]},allFields:{value:Object.create(null)},fieldNames:{value:[]},type:{value:new e(function(e,t){return r.check(e,t)},t)}})}function p(e){return e.replace(/^[A-Z]+/,function(e){var t=e.length;switch(t){case 0:return"";case 1:return e.toLowerCase();default:return e.slice(0,t-1).toLowerCase()+e.charAt(t-1)}})}function h(e){return(e=p(e)).replace(/(Expression)?$/,"Statement")}function f(e){var t=c.fromValue(e);if(t)return t.fieldNames.slice(0);if("type"in e)throw new Error("did not recognize object of type "+JSON.stringify(e.type));return Object.keys(e)}function d(e,t){var r=c.fromValue(e);if(r){var n=r.allFields[t];if(n)return n.getValue(e)}return e&&e[t]}function m(e,t){return Object.keys(t).forEach(function(r){e[r]=t[r]}),e}var y={},g=e.prototype;y.Type=e,g.assert=function(e,r){if(!this.check(e,r)){var n=t(e);throw new Error(n+" does not match type "+this)}return!0},g.toString=function(){var e=this.name;return E.check(e)?e:A.check(e)?e.call(this)+"":e+" type"};var b=[],v=[],x={};y.builtInTypes=x;var E=r("truthy","string"),A=r(function(){},"function"),D=r([],"array"),C=r({},"object"),S=(r(/./,"RegExp"),r(new Date,"Date"),r(3,"number")),_=(r(!0,"boolean"),r(null,"null"),r(void 0,"undefined"));e.or=function(){for(var t=[],r=arguments.length,i=0;i=0&&function(e){var t=h(e);if(!T[t]){var r=T[p(e)];r&&(T[t]=function(){return T.expressionStatement(r.apply(T,arguments))})}}(e.typeName)}},y.finalize=function(){Object.keys(k).forEach(function(e){k[e].finalize()})},y}},{}],20:[function(e,t,r){t.exports=e("./fork")([e("./def/core"),e("./def/es6"),e("./def/es7"),e("./def/mozilla"),e("./def/e4x"),e("./def/jsx"),e("./def/flow"),e("./def/esprima"),e("./def/babel"),e("./def/babel6")])},{"./def/babel":2,"./def/babel6":3,"./def/core":4,"./def/e4x":5,"./def/es6":6,"./def/es7":7,"./def/esprima":8,"./def/flow":9,"./def/jsx":10,"./def/mozilla":11,"./fork":12}],21:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return t.replace(a.default,function(){for(var t=arguments.length,r=Array(t),n=0;n3&&void 0!==arguments[3]?arguments[3]:{};r=Math.max(r,0);var s=n.highlightCode&&u.default.supportsColor||n.forceColor,a=u.default;n.forceColor&&(a=new u.default.constructor({enabled:!0}));var o=function(e,t){return s?e(t):t},c=function(e){return{keyword:e.cyan,capitalized:e.yellow,jsx_tag:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold,gutter:e.grey,marker:e.red.bold}}(a);s&&(e=i(c,e));var p=n.linesAbove||2,h=n.linesBelow||3,f=e.split(l),d=Math.max(t-(p+1),0),m=Math.min(f.length,t+h);t||r||(d=0,m=f.length);var y=String(m).length,g=f.slice(d,m).map(function(e,n){var i=d+1+n,s=" "+(" "+i).slice(-y)+" | ";if(i===t){var a="";if(r){var u=e.slice(0,r-1).replace(/[^\t]/g," ");a=["\n ",o(c.gutter,s.replace(/\d/g," ")),u,o(c.marker,"^")].join("")}return[o(c.marker,">"),o(c.gutter,s),e,a].join("")}return" "+o(c.gutter,s)+e}).join("\n");return s?a.reset(g):g};var s=e("js-tokens"),a=n(s),o=n(e("esutils")),u=n(e("chalk")),l=/\r\n|[\n\r\u2028\u2029]/,c=/^[a-z][\w-]*$/i,p=/^[()\[\]{}]$/;t.exports=r.default},{chalk:24,esutils:28,"js-tokens":322}],22:[function(e,t,r){"use strict";t.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g}},{}],23:[function(e,t,r){"use strict";Object.defineProperty(t,"exports",{enumerable:!0,get:function(){var e={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return e.colors.grey=e.colors.gray,Object.keys(e).forEach(function(t){var r=e[t];Object.keys(r).forEach(function(t){var n=r[t];e[t]=r[t]={open:"["+n[0]+"m",close:"["+n[1]+"m"}}),Object.defineProperty(e,t,{value:r,enumerable:!1})}),e}})},{}],24:[function(e,t,r){(function(r){"use strict";function n(e){this.enabled=e&&void 0!==e.enabled?e.enabled:l}function i(e){var t=function(){return function(){var e=arguments,t=e.length,r=0!==t&&String(arguments[0]);if(t>1)for(var n=1;n=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(a=new Array(128),o=0;o<128;++o)a[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;t.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&i.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(t){return t<128?s[t]:n.NonAsciiIdentifierStart.test(e(t))},isIdentifierPartES5:function(t){return t<128?a[t]:n.NonAsciiIdentifierPart.test(e(t))},isIdentifierStartES6:function(t){return t<128?s[t]:r.NonAsciiIdentifierStart.test(e(t))},isIdentifierPartES6:function(t){return t<128?a[t]:r.NonAsciiIdentifierPart.test(e(t))}}}()},{}],27:[function(e,t,r){!function(){"use strict";function r(e,t){return!(!t&&"yield"===e)&&n(e,t)}function n(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function i(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function s(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function a(e){var t,r,n;if(0===e.length)return!1;if(n=e.charCodeAt(0),!l.isIdentifierStartES5(n))return!1;for(t=1,r=e.length;t=r)return!1;if(!(56320<=(i=e.charCodeAt(t))&&i<=57343))return!1;n=o(n,i)}if(!s(n))return!1;s=l.isIdentifierPartES6}return!0}var l=e("./code");t.exports={isKeywordES5:r,isKeywordES6:n,isReservedWordES5:i,isReservedWordES6:s,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:a,isIdentifierNameES6:u,isIdentifierES5:function(e,t){return a(e)&&!i(e,t)},isIdentifierES6:function(e,t){return u(e)&&!s(e,t)}}}()},{"./code":26}],28:[function(e,t,r){!function(){"use strict";r.ast=e("./ast"),r.code=e("./code"),r.keyword=e("./keyword")}()},{"./ast":25,"./code":26,"./keyword":27}],29:[function(e,t,r){"use strict";var n=e("ansi-regex")();t.exports=function(e){return"string"==typeof e?e.replace(n,""):e}},{"ansi-regex":22}],30:[function(e,t,r){(function(e){"use strict";var r=e.argv,n=r.indexOf("--"),i=function(e){e="--"+e;var t=r.indexOf(e);return-1!==t&&(-1===n||t1&&void 0!==arguments[1]?arguments[1]:{};return t.filename=e,x(h.default.readFileSync(e,"utf8"),t)};var h=i(e("fs")),f=n(e("../util")),d=n(e("babel-messages")),m=n(e("babel-types")),y=i(e("babel-traverse")),g=i(e("../transformation/file/options/option-manager")),b=i(e("../transformation/pipeline"));r.util=f,r.messages=d,r.types=m,r.traverse=y.default,r.OptionManager=g.default,r.Pipeline=b.default;var v=new b.default,x=(r.analyse=v.analyse.bind(v),r.transform=v.transform.bind(v));r.transformFromAst=v.transformFromAst.bind(v)},{"../../package":73,"../helpers/resolve-plugin":38,"../helpers/resolve-preset":39,"../tools/build-external-helpers":42,"../transformation/file":43,"../transformation/file/options/config":47,"../transformation/file/options/option-manager":49,"../transformation/pipeline":54,"../util":57,"babel-messages":110,"babel-template":139,"babel-traverse":143,"babel-types":178,fs:191}],33:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){return["babel-plugin-"+e,e]},t.exports=r.default},{}],34:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){var t=["babel-preset-"+e,e],r=e.match(/^(@[^/]+)\/(.+)$/);if(r){var n=r[1],i=r[2];t.push(n+"/babel-preset-"+i)}return t},t.exports=r.default},{}],35:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/get-iterator"));r.default=function(e,t){if(e&&t)return(0,s.default)(e,t,function(e,t){if(t&&Array.isArray(e)){for(var r=t.slice(0),n=e,s=Array.isArray(n),a=0,n=s?n:(0,i.default)(n);;){var o;if(s){if(a>=n.length)break;o=n[a++]}else{if((a=n.next()).done)break;o=a.value}var u=o;r.indexOf(u)<0&&r.push(u)}return r}})};var s=n(e("lodash/mergeWith"));t.exports=r.default},{"babel-runtime/core-js/get-iterator":120,"lodash/mergeWith":527}],36:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e,t,r){if(e){if("Program"===e.type)return n.file(e,t||[],r||[]);if("File"===e.type)return e}throw new Error("Not a valid ast?")};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));t.exports=r.default},{"babel-types":178}],37:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e,t){return e.reduce(function(e,r){return e||(0,n.default)(r,t)},null)};var n=function(e){return e&&e.__esModule?e:{default:e}}(e("./resolve"));t.exports=r.default},{"./resolve":40}],38:[function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.cwd();return(0,s.default)((0,a.default)(e),t)};var s=i(e("./resolve-from-possible-names")),a=i(e("./get-possible-plugin-names"));t.exports=r.default}).call(this,e("_process"))},{"./get-possible-plugin-names":33,"./resolve-from-possible-names":37,_process:550}],39:[function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.cwd();return(0,s.default)((0,a.default)(e),t)};var s=i(e("./resolve-from-possible-names")),a=i(e("./get-possible-preset-names"));t.exports=r.default}).call(this,e("_process"))},{"./get-possible-preset-names":34,"./resolve-from-possible-names":37,_process:550}],40:[function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var s=i(e("babel-runtime/helpers/typeof"));r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.cwd();if("object"===(void 0===a.default?"undefined":(0,s.default)(a.default)))return null;var r=u[t];if(!r){r=new a.default;var i=o.default.join(t,".babelrc");r.id=i,r.filename=i,r.paths=a.default._nodeModulePaths(t),u[t]=r}try{return a.default._resolveFilename(e,r)}catch(e){return null}};var a=i(e("module")),o=i(e("path")),u={};t.exports=r.default}).call(this,e("_process"))},{_process:550,"babel-runtime/helpers/typeof":138,module:191,path:546}],41:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/map")),s=n(e("babel-runtime/helpers/classCallCheck")),a=n(e("babel-runtime/helpers/possibleConstructorReturn")),o=n(e("babel-runtime/helpers/inherits")),u=function(e){function t(){(0,s.default)(this,t);var r=(0,a.default)(this,e.call(this));return r.dynamicData={},r}return(0,o.default)(t,e),t.prototype.setDynamic=function(e,t){this.dynamicData[e]=t},t.prototype.get=function(t){if(this.has(t))return e.prototype.get.call(this,t);if(Object.prototype.hasOwnProperty.call(this.dynamicData,t)){var r=this.dynamicData[t]();return this.set(t,r),r}},t}(i.default);r.default=u,t.exports=r.default},{"babel-runtime/core-js/map":122,"babel-runtime/helpers/classCallCheck":134,"babel-runtime/helpers/inherits":135,"babel-runtime/helpers/possibleConstructorReturn":137}],42:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function s(e,t){var r=[],n=h.functionExpression(null,[h.identifier("global")],h.blockStatement(r)),i=h.program([h.expressionStatement(h.callExpression(n,[u.get("selfGlobal")]))]);return r.push(h.variableDeclaration("var",[h.variableDeclarator(e,h.assignmentExpression("=",h.memberExpression(h.identifier("global"),e),h.objectExpression([])))])),t(r),i}function a(e,t){var r=[];return r.push(h.variableDeclaration("var",[h.variableDeclarator(e,h.identifier("global"))])),t(r),h.program([f({FACTORY_PARAMETERS:h.identifier("global"),BROWSER_ARGUMENTS:h.assignmentExpression("=",h.memberExpression(h.identifier("root"),e),h.objectExpression([])),COMMON_ARGUMENTS:h.identifier("exports"),AMD_ARGUMENTS:h.arrayExpression([h.stringLiteral("exports")]),FACTORY_BODY:r,UMD_ROOT:h.identifier("this")})])}function o(e,t){var r=[];return r.push(h.variableDeclaration("var",[h.variableDeclarator(e,h.objectExpression([]))])),t(r),r.push(h.expressionStatement(e)),h.program(r)}r.__esModule=!0,r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"global",r=h.identifier("babelHelpers"),n=void 0,i={global:s,umd:a,var:o}[t];if(!i)throw new Error(c.get("unsupportedOutputType",t));return n=i(r,function(t){return function(e,t,r){u.list.forEach(function(n){if(!(r&&r.indexOf(n)<0)){var i=h.identifier(n);e.push(h.expressionStatement(h.assignmentExpression("=",h.memberExpression(t,i),u.get(n))))}})}(t,r,e)}),(0,l.default)(n).code};var u=i(e("babel-helpers")),l=n(e("babel-generator")),c=i(e("babel-messages")),p=n(e("babel-template")),h=i(e("babel-types")),f=(0,p.default)('\n (function (root, factory) {\n if (typeof define === "function" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === "object") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n');t.exports=r.default},{"babel-generator":85,"babel-helpers":109,"babel-messages":110,"babel-template":139,"babel-types":178}],43:[function(e,t,r){(function(t){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.File=void 0;var s=i(e("babel-runtime/core-js/get-iterator")),a=i(e("babel-runtime/core-js/object/create")),o=i(e("babel-runtime/core-js/object/assign")),u=i(e("babel-runtime/helpers/classCallCheck")),l=i(e("babel-runtime/helpers/possibleConstructorReturn")),c=i(e("babel-runtime/helpers/inherits")),p=i(e("babel-helpers")),h=n(e("./metadata")),f=i(e("convert-source-map")),d=i(e("./options/option-manager")),m=i(e("../plugin-pass")),y=e("babel-traverse"),g=i(y),b=i(e("source-map")),v=i(e("babel-generator")),x=i(e("babel-code-frame")),E=i(e("lodash/defaults")),A=i(e("./logger")),D=i(e("../../store")),C=e("babylon"),S=n(e("../../util")),_=i(e("path")),w=n(e("babel-types")),k=i(e("../../helpers/resolve")),F=i(e("../internal-plugins/block-hoist")),T=i(e("../internal-plugins/shadow-functions")),P=/^#!.*/,B=[[F.default],[T.default]],O={enter:function(e,t){var r=e.node.loc;r&&(t.loc=r,e.stop())}},j=function(r){function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];(0,u.default)(this,n);var i=(0,l.default)(this,r.call(this));return i.pipeline=t,i.log=new A.default(i,e.filename||"unknown"),i.opts=i.initOptions(e),i.parserOpts={sourceType:i.opts.sourceType,sourceFileName:i.opts.filename,plugins:[]},i.pluginVisitors=[],i.pluginPasses=[],i.buildPluginsForOptions(i.opts),i.opts.passPerPreset&&(i.perPresetOpts=[],i.opts.presets.forEach(function(e){var t=(0,o.default)((0,a.default)(i.opts),e);i.perPresetOpts.push(t),i.buildPluginsForOptions(t)})),i.metadata={usedHelpers:[],marked:[],modules:{imports:[],exports:{exported:[],specifiers:[]}}},i.dynamicImportTypes={},i.dynamicImportIds={},i.dynamicImports=[],i.declarations={},i.usedHelpers={},i.path=null,i.ast={},i.code="",i.shebang="",i.hub=new y.Hub(i),i}return(0,c.default)(n,r),n.prototype.getMetadata=function(){for(var e=!1,t=this.ast.program.body,r=Array.isArray(t),n=0,t=r?t:(0,s.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var a=i;if(w.isModuleDeclaration(a)){e=!0;break}}e&&this.path.traverse(h,this)},n.prototype.initOptions=function(e){(e=new d.default(this.log,this.pipeline).init(e)).inputSourceMap&&(e.sourceMaps=!0),e.moduleId&&(e.moduleIds=!0),e.basename=_.default.basename(e.filename,_.default.extname(e.filename)),e.ignore=S.arrayify(e.ignore,S.regexify),e.only&&(e.only=S.arrayify(e.only,S.regexify)),(0,E.default)(e,{moduleRoot:e.sourceRoot}),(0,E.default)(e,{sourceRoot:e.moduleRoot}),(0,E.default)(e,{filenameRelative:e.filename});var t=_.default.basename(e.filenameRelative);return(0,E.default)(e,{sourceFileName:t,sourceMapTarget:t}),e},n.prototype.buildPluginsForOptions=function(e){if(Array.isArray(e.plugins)){for(var t=[],r=[],n=e.plugins.concat(B),i=Array.isArray(n),a=0,n=i?n:(0,s.default)(n);;){var o;if(i){if(a>=n.length)break;o=n[a++]}else{if((a=n.next()).done)break;o=a.value}var u=o,l=u[0],c=u[1];t.push(l.visitor),r.push(new m.default(this,l,c)),l.manipulateOptions&&l.manipulateOptions(e,this.parserOpts,this)}this.pluginVisitors.push(t),this.pluginPasses.push(r)}},n.prototype.getModuleName=function(){var e=this.opts;if(!e.moduleIds)return null;if(null!=e.moduleId&&!e.getModuleId)return e.moduleId;var t=e.filenameRelative,r="";if(null!=e.moduleRoot&&(r=e.moduleRoot+"/"),!e.filenameRelative)return r+e.filename.replace(/^\//,"");if(null!=e.sourceRoot){var n=new RegExp("^"+e.sourceRoot+"/?");t=t.replace(n,"")}return t=t.replace(/\.(\w*?)$/,""),r+=t,r=r.replace(/\\/g,"/"),e.getModuleId?e.getModuleId(r)||r:r},n.prototype.resolveModuleSource=function(e){var t=this.opts.resolveModuleSource;return t&&(e=t(e,this.opts.filename)),e},n.prototype.addImport=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,n=e+":"+t,i=this.dynamicImportIds[n];if(!i){e=this.resolveModuleSource(e),i=this.dynamicImportIds[n]=this.scope.generateUidIdentifier(r);var s=[];"*"===t?s.push(w.importNamespaceSpecifier(i)):"default"===t?s.push(w.importDefaultSpecifier(i)):s.push(w.importSpecifier(i,w.identifier(t)));var a=w.importDeclaration(s,w.stringLiteral(e));a._blockHoist=3,this.path.unshiftContainer("body",a)}return i},n.prototype.addHelper=function(e){var t=this.declarations[e];if(t)return t;this.usedHelpers[e]||(this.metadata.usedHelpers.push(e),this.usedHelpers[e]=!0);var r=this.get("helperGenerator"),n=this.get("helpersNamespace");if(r){var i=r(e);if(i)return i}else if(n)return w.memberExpression(n,w.identifier(e));var s=(0,p.default)(e),a=this.declarations[e]=this.scope.generateUidIdentifier(e);return w.isFunctionExpression(s)&&!s.id?(s.body._compact=!0,s._generated=!0,s.id=a,s.type="FunctionDeclaration",this.path.unshiftContainer("body",s)):(s._compact=!0,this.scope.push({id:a,init:s,unique:!0})),a},n.prototype.addTemplateObject=function(e,t,r){var n=r.elements.map(function(e){return e.value}),i=e+"_"+r.elements.length+"_"+n.join(","),s=this.declarations[i];if(s)return s;var a=this.declarations[i]=this.scope.generateUidIdentifier("templateObject"),o=this.addHelper(e),u=w.callExpression(o,[t,r]);return u._compact=!0,this.scope.push({id:a,init:u,_blockHoist:1.9}),a},n.prototype.buildCodeFrameError=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:SyntaxError,n=e&&(e.loc||e._loc),i=new r(t);return n?i.loc=n.start:((0,g.default)(e,O,this.scope,i),i.message+=" (This is an error on an internal node. Probably an internal error",i.loc&&(i.message+=". Location has been estimated."),i.message+=")"),i},n.prototype.mergeSourceMap=function(e){var t=this.opts.inputSourceMap;if(t){var r=new b.default.SourceMapConsumer(t),n=new b.default.SourceMapConsumer(e),i=new b.default.SourceMapGenerator({file:r.file,sourceRoot:r.sourceRoot}),s=n.sources[0];r.eachMapping(function(e){var t=n.generatedPositionFor({line:e.generatedLine,column:e.generatedColumn,source:s});null!=t.column&&i.addMapping({source:e.source,original:null==e.source?null:{line:e.originalLine,column:e.originalColumn},generated:t})});var a=i.toJSON();return t.mappings=a.mappings,t}return e},n.prototype.parse=function(r){var n=C.parse,i=this.opts.parserOpts;if(i&&(i=(0,o.default)({},this.parserOpts,i)).parser){if("string"==typeof i.parser){var s=_.default.dirname(this.opts.filename)||t.cwd(),a=(0,k.default)(i.parser,s);if(!a)throw new Error("Couldn't find parser "+i.parser+' with "parse" method relative to directory '+s);n=e(a).parse}else n=i.parser;i.parser={parse:function(e){return(0,C.parse)(e,i)}}}this.log.debug("Parse start");var u=n(r,i||this.parserOpts);return this.log.debug("Parse stop"),u},n.prototype._addAst=function(e){this.path=y.NodePath.get({hub:this.hub,parentPath:null,parent:e,container:e,key:"program"}).setContext(),this.scope=this.path.scope,this.ast=e,this.getMetadata()},n.prototype.addAst=function(e){this.log.debug("Start set AST"),this._addAst(e),this.log.debug("End set AST")},n.prototype.transform=function(){for(var e=0;e=r.length)break;a=r[i++]}else{if((i=r.next()).done)break;a=i.value}var o=a,u=o.plugin[e];u&&u.call(o,this)}},n.prototype.parseInputSourceMap=function(e){var t=this.opts;if(!1!==t.inputSourceMap){var r=f.default.fromSource(e);r&&(t.inputSourceMap=r.toObject(),e=f.default.removeComments(e))}return e},n.prototype.parseShebang=function(){var e=P.exec(this.code);e&&(this.shebang=e[0],this.code=this.code.replace(P,""))},n.prototype.makeResult=function(e){var t=e.code,r=e.map,n=e.ast,i=e.ignored,s={metadata:null,options:this.opts,ignored:!!i,code:null,ast:null,map:r||null};return this.opts.code&&(s.code=t),this.opts.ast&&(s.ast=n),this.opts.metadata&&(s.metadata=this.metadata),s},n.prototype.generate=function(){var r=this.opts,n=this.ast,i={ast:n};if(!r.code)return this.makeResult(i);var s=v.default;if(r.generatorOpts.generator&&"string"==typeof(s=r.generatorOpts.generator)){var a=_.default.dirname(this.opts.filename)||t.cwd(),u=(0,k.default)(s,a);if(!u)throw new Error("Couldn't find generator "+s+' with "print" method relative to directory '+a);s=e(u).print}this.log.debug("Generation start");var l=s(n,r.generatorOpts?(0,o.default)(r,r.generatorOpts):r,this.code);return i.code=l.code,i.map=l.map,this.log.debug("Generation end"),this.shebang&&(i.code=this.shebang+"\n"+i.code),i.map&&(i.map=this.mergeSourceMap(i.map)),"inline"!==r.sourceMaps&&"both"!==r.sourceMaps||(i.code+="\n"+f.default.fromObject(i.map).toComment()),"inline"===r.sourceMaps&&(i.map=null),this.makeResult(i)},n}(D.default);r.default=j,r.File=j}).call(this,e("_process"))},{"../../helpers/resolve":40,"../../store":41,"../../util":57,"../internal-plugins/block-hoist":52,"../internal-plugins/shadow-functions":53,"../plugin-pass":55,"./logger":44,"./metadata":45,"./options/option-manager":49,_process:550,"babel-code-frame":21,"babel-generator":85,"babel-helpers":109,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/object/assign":124,"babel-runtime/core-js/object/create":125,"babel-runtime/helpers/classCallCheck":134,"babel-runtime/helpers/inherits":135,"babel-runtime/helpers/possibleConstructorReturn":137,"babel-traverse":143,"babel-types":178,babylon:186,"convert-source-map":58,"lodash/defaults":495,path:546,"source-map":72}],44:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/helpers/classCallCheck")),s=n(e("debug/node")),a=(0,s.default)("babel:verbose"),o=(0,s.default)("babel"),u=[],l=function(){function e(t,r){(0,i.default)(this,e),this.filename=r,this.file=t}return e.prototype._buildMessage=function(e){var t="[BABEL] "+this.filename;return e&&(t+=": "+e),t},e.prototype.warn=function(e){console.warn(this._buildMessage(e))},e.prototype.error=function(e){throw new(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Error)(this._buildMessage(e))},e.prototype.deprecate=function(e){this.file.opts&&this.file.opts.suppressDeprecationMessages||(e=this._buildMessage(e),u.indexOf(e)>=0||(u.push(e),console.error(e)))},e.prototype.verbose=function(e){a.enabled&&a(this._buildMessage(e))},e.prototype.debug=function(e){o.enabled&&o(this._buildMessage(e))},e.prototype.deopt=function(e,t){this.debug(t)},e}();r.default=l,t.exports=r.default},{"babel-runtime/helpers/classCallCheck":134,"debug/node":59}],45:[function(e,t,r){"use strict";r.__esModule=!0,r.ImportDeclaration=r.ModuleDeclaration=void 0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/get-iterator"));r.ExportDeclaration=function(e,t){var r=e.node,s=r.source?r.source.value:null,a=t.metadata.modules.exports,o=e.get("declaration");if(o.isStatement()){var u=o.getBindingIdentifiers();for(var l in u)a.exported.push(l),a.specifiers.push({kind:"local",local:l,exported:e.isExportDefaultDeclaration()?"default":l})}if(e.isExportNamedDeclaration()&&r.specifiers)for(var c=r.specifiers,p=Array.isArray(c),h=0,c=p?c:(0,n.default)(c);;){var f;if(p){if(h>=c.length)break;f=c[h++]}else{if((h=c.next()).done)break;f=h.value}var d=f,m=d.exported.name;a.exported.push(m),i.isExportDefaultSpecifier(d)&&a.specifiers.push({kind:"external",local:m,exported:m,source:s}),i.isExportNamespaceSpecifier(d)&&a.specifiers.push({kind:"external-namespace",exported:m,source:s});var y=d.local;y&&(s&&a.specifiers.push({kind:"external",local:y.name,exported:m,source:s}),s||a.specifiers.push({kind:"local",local:y.name,exported:m}))}e.isExportAllDeclaration()&&a.specifiers.push({kind:"external-all",source:s})},r.Scope=function(e){e.skip()};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));r.ModuleDeclaration={enter:function(e,t){var r=e.node;r.source&&(r.source.value=t.resolveModuleSource(r.source.value))}},r.ImportDeclaration={exit:function(e,t){var r=e.node,i=[],s=[];t.metadata.modules.imports.push({source:r.source.value,imported:s,specifiers:i});for(var a=e.get("specifiers"),o=Array.isArray(a),u=0,a=o?a:(0,n.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l,p=c.node.local.name;if(c.isImportDefaultSpecifier()&&(s.push("default"),i.push({kind:"named",imported:"default",local:p})),c.isImportSpecifier()){var h=c.node.imported.name;s.push(h),i.push({kind:"named",imported:h,local:p})}c.isImportNamespaceSpecifier()&&(s.push("*"),i.push({kind:"namespace",local:p}))}}}},{"babel-runtime/core-js/get-iterator":120,"babel-types":178}],46:[function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function s(e){var t=f[e];return null==t?f[e]=h.default.existsSync(e):t}r.__esModule=!0;var a=i(e("babel-runtime/core-js/object/assign")),o=i(e("babel-runtime/helpers/classCallCheck"));r.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],r=e.filename,n=new m(t);return!1!==e.babelrc&&n.findConfigs(r),n.mergeConfig({options:e,alias:"base",dirname:r&&p.default.dirname(r)}),n.configs};var u=i(e("../../../helpers/resolve")),l=i(e("json5")),c=i(e("path-is-absolute")),p=i(e("path")),h=i(e("fs")),f={},d={},m=function(){function e(t){(0,o.default)(this,e),this.resolvedConfigs=[],this.configs=[],this.log=t}return e.prototype.findConfigs=function(e){if(e){(0,c.default)(e)||(e=p.default.join(n.cwd(),e));for(var t=!1,r=!1;e!==(e=p.default.dirname(e));){if(!t){var i=p.default.join(e,".babelrc");s(i)&&(this.addConfig(i),t=!0);var a=p.default.join(e,"package.json");!t&&s(a)&&(t=this.addConfig(a,"babel",JSON))}if(!r){var o=p.default.join(e,".babelignore");s(o)&&(this.addIgnoreConfig(o),r=!0)}if(r&&t)return}}},e.prototype.addIgnoreConfig=function(e){var t=h.default.readFileSync(e,"utf8").split("\n");(t=t.map(function(e){return e.replace(/#(.*?)$/,"").trim()}).filter(function(e){return!!e})).length&&this.mergeConfig({options:{ignore:t},alias:e,dirname:p.default.dirname(e)})},e.prototype.addConfig=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.default;if(this.resolvedConfigs.indexOf(e)>=0)return!1;this.resolvedConfigs.push(e);var n=h.default.readFileSync(e,"utf8"),i=void 0;try{i=d[n]=d[n]||r.parse(n),t&&(i=i[t])}catch(t){throw t.message=e+": Error while parsing JSON - "+t.message,t}return this.mergeConfig({options:i,alias:e,dirname:p.default.dirname(e)}),!!i},e.prototype.mergeConfig=function(e){var t=e.options,r=e.alias,i=e.loc,s=e.dirname;if(!t)return!1;if(t=(0,a.default)({},t),s=s||n.cwd(),i=i||r,t.extends){var o=(0,u.default)(t.extends,s);o?this.addConfig(o):this.log&&this.log.error("Couldn't resolve extends clause of "+t.extends+" in "+r),delete t.extends}this.configs.push({options:t,alias:r,loc:i,dirname:s});var l=void 0,c=n.env.BABEL_ENV||n.env.NODE_ENV||"development";t.env&&(l=t.env[c],delete t.env),this.mergeConfig({options:l,alias:r+".env."+c,dirname:s})},e}();t.exports=r.default}).call(this,e("_process"))},{"../../../helpers/resolve":40,_process:550,"babel-runtime/core-js/object/assign":124,"babel-runtime/helpers/classCallCheck":134,fs:191,json5:324,path:546,"path-is-absolute":547}],47:[function(e,t,r){"use strict";t.exports={filename:{type:"filename",description:"filename to use when reading from stdin - this will be used in source-maps, errors etc",default:"unknown",shorthand:"f"},filenameRelative:{hidden:!0,type:"string"},inputSourceMap:{hidden:!0},env:{hidden:!0,default:{}},mode:{description:"",hidden:!0},retainLines:{type:"boolean",default:!1,description:"retain line numbers - will result in really ugly code"},highlightCode:{description:"enable/disable ANSI syntax highlighting of code frames (on by default)",type:"boolean",default:!0},suppressDeprecationMessages:{type:"boolean",default:!1,hidden:!0},presets:{type:"list",description:"",default:[]},plugins:{type:"list",default:[],description:""},ignore:{type:"list",description:"list of glob paths to **not** compile",default:[]},only:{type:"list",description:"list of glob paths to **only** compile"},code:{hidden:!0,default:!0,type:"boolean"},metadata:{hidden:!0,default:!0,type:"boolean"},ast:{hidden:!0,default:!0,type:"boolean"},extends:{type:"string",hidden:!0},comments:{type:"boolean",default:!0,description:"write comments to generated output (true by default)"},shouldPrintComment:{hidden:!0,description:"optional callback to control whether a comment should be inserted, when this is used the comments option is ignored"},wrapPluginVisitorMethod:{hidden:!0,description:"optional callback to wrap all visitor methods"},compact:{type:"booleanString",default:"auto",description:"do not include superfluous whitespace characters and line terminators [true|false|auto]"},minified:{type:"boolean",default:!1,description:"save as much bytes when printing [true|false]"},sourceMap:{alias:"sourceMaps",hidden:!0},sourceMaps:{type:"booleanString",description:"[true|false|inline]",default:!1,shorthand:"s"},sourceMapTarget:{type:"string",description:"set `file` on returned source map"},sourceFileName:{type:"string",description:"set `sources[0]` on returned source map"},sourceRoot:{type:"filename",description:"the root from which all sources are relative"},babelrc:{description:"Whether or not to look up .babelrc and .babelignore files",type:"boolean",default:!0},sourceType:{description:"",default:"module"},auxiliaryCommentBefore:{type:"string",description:"print a comment before any injected non-user code"},auxiliaryCommentAfter:{type:"string",description:"print a comment after any injected non-user code"},resolveModuleSource:{hidden:!0},getModuleId:{hidden:!0},moduleRoot:{type:"filename",description:"optional prefix for the AMD module formatter that will be prepend to the filename on module definitions"},moduleIds:{type:"boolean",default:!1,shorthand:"M",description:"insert an explicit id for modules"},moduleId:{description:"specify a custom name for module ids",type:"string"},passPerPreset:{description:"Whether to spawn a traversal pass per a preset. By default all presets are merged.",type:"boolean",default:!1,hidden:!0},parserOpts:{description:"Options to pass into the parser, or to change parsers (parserOpts.parser)",default:!1},generatorOpts:{description:"Options to pass into the generator, or to change generators (generatorOpts.generator)",default:!1}}},{}],48:[function(e,t,r){"use strict";r.__esModule=!0,r.config=void 0,r.normaliseOptions=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e){var r=e[t];if(null!=r){var s=i.default[t];if(s&&s.alias&&(s=i.default[s.alias]),s){var a=n[s.type];a&&(r=a(r)),e[t]=r}}}return e};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./parsers")),i=function(e){return e&&e.__esModule?e:{default:e}}(e("./config"));r.config=i.default},{"./config":47,"./parsers":50}],49:[function(e,t,r){(function(n){"use strict";function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function s(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var a=s(e("babel-runtime/helpers/objectWithoutProperties")),o=s(e("babel-runtime/core-js/json/stringify")),u=s(e("babel-runtime/core-js/object/assign")),l=s(e("babel-runtime/core-js/get-iterator")),c=s(e("babel-runtime/helpers/typeof")),p=s(e("babel-runtime/helpers/classCallCheck")),h=i(e("../../../api/node")),f=s(e("../../plugin")),d=i(e("babel-messages")),m=e("./index"),y=s(e("../../../helpers/resolve-plugin")),g=s(e("../../../helpers/resolve-preset")),b=s(e("lodash/cloneDeepWith")),v=s(e("lodash/clone")),x=s(e("../../../helpers/merge")),E=s(e("./config")),A=s(e("./removed")),D=s(e("./build-config-chain")),C=s(e("path")),S=function(){function t(e){(0,p.default)(this,t),this.resolvedConfigs=[],this.options=t.createBareOptions(),this.log=e}return t.memoisePluginContainer=function(e,r,n,i){for(var s=t.memoisedPlugins,a=Array.isArray(s),o=0,s=a?s:(0,l.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var p=u;if(p.container===e)return p.plugin}var m=void 0;if("object"===(void 0===(m="function"==typeof e?e(h):e)?"undefined":(0,c.default)(m))){var y=new f.default(m,i);return t.memoisedPlugins.push({container:e,plugin:y}),y}throw new TypeError(d.get("pluginNotObject",r,n,void 0===m?"undefined":(0,c.default)(m))+r+n)},t.createBareOptions=function(){var e={};for(var t in E.default){var r=E.default[t];e[t]=(0,v.default)(r.default)}return e},t.normalisePlugin=function(e,r,n,i){if(!((e=e.__esModule?e.default:e)instanceof f.default)){if("function"!=typeof e&&"object"!==(void 0===e?"undefined":(0,c.default)(e)))throw new TypeError(d.get("pluginNotFunction",r,n,void 0===e?"undefined":(0,c.default)(e)));e=t.memoisePluginContainer(e,r,n,i)}return e.init(r,n),e},t.normalisePlugins=function(r,n,i){return i.map(function(i,s){var a=void 0,o=void 0;if(!i)throw new TypeError("Falsy value found in plugins");Array.isArray(i)?(a=i[0],o=i[1]):a=i;var u="string"==typeof a?a:r+"$"+s;if("string"==typeof a){var l=(0,y.default)(a,n);if(!l)throw new ReferenceError(d.get("pluginUnknown",a,r,s,n));a=e(l)}return a=t.normalisePlugin(a,r,s,u),[a,o]})},t.prototype.mergeOptions=function(e){var r=this,i=e.options,s=e.extending,a=e.alias,o=e.loc,l=e.dirname;if(a=a||"foreign",i){("object"!==(void 0===i?"undefined":(0,c.default)(i))||Array.isArray(i))&&this.log.error("Invalid options type for "+a,TypeError);var p=(0,b.default)(i,function(e){if(e instanceof f.default)return e});l=l||n.cwd(),o=o||a;for(var h in p){if(!E.default[h]&&this.log)if(A.default[h])this.log.error("Using removed Babel 5 option: "+a+"."+h+" - "+A.default[h].message,ReferenceError);else{var d="Unknown option: "+a+"."+h+". Check out http://babeljs.io/docs/usage/options/ for more information about options.";this.log.error(d+"\n\nA common cause of this error is the presence of a configuration options object without the corresponding preset name. Example:\n\nInvalid:\n `{ presets: [{option: value}] }`\nValid:\n `{ presets: [['presetName', {option: value}]] }`\n\nFor more detailed information on preset configuration, please see http://babeljs.io/docs/plugins/#pluginpresets-options.",ReferenceError)}}(0,m.normaliseOptions)(p),p.plugins&&(p.plugins=t.normalisePlugins(o,l,p.plugins)),p.presets&&(p.passPerPreset?p.presets=this.resolvePresets(p.presets,l,function(e,t){r.mergeOptions({options:e,extending:e,alias:t,loc:t,dirname:l})}):(this.mergePresets(p.presets,l),delete p.presets)),i===s?(0,u.default)(s,p):(0,x.default)(s||this.options,p)}},t.prototype.mergePresets=function(e,t){var r=this;this.resolvePresets(e,t,function(e,t){r.mergeOptions({options:e,alias:t,loc:t,dirname:C.default.dirname(t||"")})})},t.prototype.resolvePresets=function(t,r,n){return t.map(function(t){var i=void 0;if(Array.isArray(t)){if(t.length>2)throw new Error("Unexpected extra options "+(0,o.default)(t.slice(2))+" passed to preset.");var s=t;t=s[0],i=s[1]}var u=void 0;try{if("string"==typeof t){if(!(u=(0,g.default)(t,r)))throw new Error("Couldn't find preset "+(0,o.default)(t)+" relative to directory "+(0,o.default)(r));t=e(u)}if("object"===(void 0===t?"undefined":(0,c.default)(t))&&t.__esModule)if(t.default)t=t.default;else{var l=t;l.__esModule;t=(0,a.default)(l,["__esModule"])}if("object"===(void 0===t?"undefined":(0,c.default)(t))&&t.buildPreset&&(t=t.buildPreset),"function"!=typeof t&&void 0!==i)throw new Error("Options "+(0,o.default)(i)+" passed to "+(u||"a preset")+" which does not accept options.");if("function"==typeof t&&(t=t(h,i,{dirname:r})),"object"!==(void 0===t?"undefined":(0,c.default)(t)))throw new Error("Unsupported preset format: "+t+".");n&&n(t,u)}catch(e){throw u&&(e.message+=" (While processing preset: "+(0,o.default)(u)+")"),e}return t})},t.prototype.normaliseOptions=function(){var e=this.options;for(var t in E.default){var r=E.default[t],n=e[t];!n&&r.optional||(r.alias?e[r.alias]=e[r.alias]||n:e[t]=n)}},t.prototype.init=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,D.default)(e,this.log),r=Array.isArray(t),n=0,t=r?t:(0,l.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i;this.mergeOptions(s)}return this.normaliseOptions(e),this.options},t}();r.default=S,S.memoisedPlugins=[],t.exports=r.default}).call(this,e("_process"))},{"../../../api/node":32,"../../../helpers/merge":35,"../../../helpers/resolve-plugin":38,"../../../helpers/resolve-preset":39,"../../plugin":56,"./build-config-chain":46,"./config":47,"./index":48,"./removed":51,_process:550,"babel-messages":110,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/core-js/object/assign":124,"babel-runtime/helpers/classCallCheck":134,"babel-runtime/helpers/objectWithoutProperties":136,"babel-runtime/helpers/typeof":138,"lodash/clone":491,"lodash/cloneDeepWith":493,path:546}],50:[function(e,t,r){"use strict";r.__esModule=!0,r.filename=void 0,r.boolean=function(e){return!!e},r.booleanString=function(e){return i.booleanify(e)},r.list=function(e){return i.list(e)};var n=function(e){return e&&e.__esModule?e:{default:e}}(e("slash")),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../../../util"));r.filename=n.default},{"../../../util":57,slash:603}],51:[function(e,t,r){"use strict";t.exports={auxiliaryComment:{message:"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"},blacklist:{message:"Put the specific transforms you want in the `plugins` option"},breakConfig:{message:"This is not a necessary option in Babel 6"},experimental:{message:"Put the specific transforms you want in the `plugins` option"},externalHelpers:{message:"Use the `external-helpers` plugin instead. Check out http://babeljs.io/docs/plugins/external-helpers/"},extra:{message:""},jsxPragma:{message:"use the `pragma` option in the `react-jsx` plugin . Check out http://babeljs.io/docs/plugins/transform-react-jsx/"},loose:{message:"Specify the `loose` option for the relevant plugin you are using or use a preset that sets the option."},metadataUsedHelpers:{message:"Not required anymore as this is enabled by default"},modules:{message:"Use the corresponding module transform plugin in the `plugins` option. Check out http://babeljs.io/docs/plugins/#modules"},nonStandard:{message:"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. Also check out the react preset http://babeljs.io/docs/plugins/preset-react/"},optional:{message:"Put the specific transforms you want in the `plugins` option"},sourceMapName:{message:"Use the `sourceMapTarget` option"},stage:{message:"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"},whitelist:{message:"Put the specific transforms you want in the `plugins` option"}}},{}],52:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("../plugin")),s=n(e("lodash/sortBy"));r.default=new i.default({name:"internal.blockHoist",visitor:{Block:{exit:function(e){for(var t=e.node,r=!1,n=0;n1&&void 0!==arguments[1]?arguments[1]:{};return t.code=!1,t.mode="lint",this.transform(e,t)},e.prototype.pretransform=function(e,t){var r=new o.default(t,this);return r.wrap(e,function(){return r.addCode(e),r.parseCode(e),r})},e.prototype.transform=function(e,t){var r=new o.default(t,this);return r.wrap(e,function(){return r.addCode(e),r.parseCode(e),r.transform()})},e.prototype.analyse=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];return t.code=!1,r&&(t.plugins=t.plugins||[],t.plugins.push(new a.default({visitor:r}))),this.transform(e,t).metadata},e.prototype.transformFromAst=function(e,t,r){e=(0,s.default)(e);var n=new o.default(r,this);return n.wrap(t,function(){return n.addCode(t),n.addAst(e),n.transform()})},e}();r.default=u,t.exports=r.default},{"../helpers/normalize-ast":36,"./file":43,"./plugin":56,"babel-runtime/helpers/classCallCheck":134}],55:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/helpers/classCallCheck")),s=n(e("babel-runtime/helpers/possibleConstructorReturn")),a=n(e("babel-runtime/helpers/inherits")),o=n(e("../store")),u=(n(e("./file")),function(e){function t(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.default)(this,t);var o=(0,s.default)(this,e.call(this));return o.plugin=n,o.key=n.key,o.file=r,o.opts=a,o}return(0,a.default)(t,e),t.prototype.addHelper=function(){var e;return(e=this.file).addHelper.apply(e,arguments)},t.prototype.addImport=function(){var e;return(e=this.file).addImport.apply(e,arguments)},t.prototype.getModuleName=function(){var e;return(e=this.file).getModuleName.apply(e,arguments)},t.prototype.buildCodeFrameError=function(){var e;return(e=this.file).buildCodeFrameError.apply(e,arguments)},t}(o.default));r.default=u,t.exports=r.default},{"../store":41,"./file":43,"babel-runtime/helpers/classCallCheck":134,"babel-runtime/helpers/inherits":135,"babel-runtime/helpers/possibleConstructorReturn":137}],56:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/get-iterator")),s=n(e("babel-runtime/helpers/classCallCheck")),a=n(e("babel-runtime/helpers/possibleConstructorReturn")),o=n(e("babel-runtime/helpers/inherits")),u=n(e("./file/options/option-manager")),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-messages")),c=n(e("../store")),p=n(e("babel-traverse")),h=n(e("lodash/assign")),f=n(e("lodash/clone")),d=["enter","exit"],m=function(e){function t(r,n){(0,s.default)(this,t);var i=(0,a.default)(this,e.call(this));return i.initialized=!1,i.raw=(0,h.default)({},r),i.key=i.take("name")||n,i.manipulateOptions=i.take("manipulateOptions"),i.post=i.take("post"),i.pre=i.take("pre"),i.visitor=i.normaliseVisitor((0,f.default)(i.take("visitor"))||{}),i}return(0,o.default)(t,e),t.prototype.take=function(e){var t=this.raw[e];return delete this.raw[e],t},t.prototype.chain=function(e,t){if(!e[t])return this[t];if(!this[t])return e[t];var r=[e[t],this[t]];return function(){for(var e=void 0,t=arguments.length,n=Array(t),s=0;s=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}if(l){var c=l.apply(this,n);null!=c&&(e=c)}}return e}},t.prototype.maybeInherit=function(e){var t=this.take("inherits");t&&(t=u.default.normalisePlugin(t,e,"inherits"),this.manipulateOptions=this.chain(t,"manipulateOptions"),this.post=this.chain(t,"post"),this.pre=this.chain(t,"pre"),this.visitor=p.default.visitors.merge([t.visitor,this.visitor]))},t.prototype.init=function(e,t){if(!this.initialized){this.initialized=!0,this.maybeInherit(e);for(var r in this.raw)throw new Error(l.get("pluginInvalidProperty",e,t,r))}},t.prototype.normaliseVisitor=function(e){for(var t=d,r=Array.isArray(t),n=0,t=r?t:(0,i.default)(t);;){var s;if(r){if(n>=t.length)break;s=t[n++]}else{if((n=t.next()).done)break;s=n.value}if(e[s])throw new Error("Plugins aren't allowed to specify catch-all enter/exit handlers. Please target individual nodes.")}return p.default.explode(e),e},t}(c.default);r.default=m,t.exports=r.default},{"../store":41,"./file/options/option-manager":49,"babel-messages":110,"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/classCallCheck":134,"babel-runtime/helpers/inherits":135,"babel-runtime/helpers/possibleConstructorReturn":137,"babel-traverse":143,"lodash/assign":488,"lodash/clone":491}],57:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=t||i.EXTENSIONS,n=m.default.extname(e);return(0,f.default)(r,n)}function s(e){return e?Array.isArray(e)?e:"string"==typeof e?e.split(","):[e]:[]}function a(e,t){return e?"boolean"==typeof e?a([e],t):"string"==typeof e?a(s(e),t):Array.isArray(e)?(t&&(e=e.map(t)),e):[e]:[]}function o(e,t){return"function"==typeof e?e(t):e.test(t)}r.__esModule=!0,r.inspect=r.inherits=void 0;var u=n(e("babel-runtime/core-js/get-iterator")),l=e("util");Object.defineProperty(r,"inherits",{enumerable:!0,get:function(){return l.inherits}}),Object.defineProperty(r,"inspect",{enumerable:!0,get:function(){return l.inspect}}),r.canCompile=i,r.list=s,r.regexify=function(e){if(!e)return new RegExp(/.^/);if(Array.isArray(e)&&(e=new RegExp(e.map(c.default).join("|"),"i")),"string"==typeof e){e=(0,y.default)(e),((0,p.default)(e,"./")||(0,p.default)(e,"*/"))&&(e=e.slice(2)),(0,p.default)(e,"**/")&&(e=e.slice(3));var t=h.default.makeRe(e,{nocase:!0});return new RegExp(t.source.slice(1,-1),"i")}if((0,d.default)(e))return e;throw new TypeError("illegal type for regexify")},r.arrayify=a,r.booleanify=function(e){return"true"===e||1==e||!("false"===e||0==e||!e)&&e},r.shouldIgnore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2];if(e=e.replace(/\\/g,"/"),r){for(var n=r,i=Array.isArray(n),s=0,n=i?n:(0,u.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}if(o(a,e))return!1}return!0}if(t.length)for(var l=t,c=Array.isArray(l),p=0,l=c?l:(0,u.default)(l);;){var h;if(c){if(p>=l.length)break;h=l[p++]}else{if((p=l.next()).done)break;h=p.value}if(o(h,e))return!0}return!1};var c=n(e("lodash/escapeRegExp")),p=n(e("lodash/startsWith")),h=n(e("minimatch")),f=n(e("lodash/includes")),d=n(e("lodash/isRegExp")),m=n(e("path")),y=n(e("slash"));i.EXTENSIONS=[".js",".jsx",".es6",".es"]},{"babel-runtime/core-js/get-iterator":120,"lodash/escapeRegExp":497,"lodash/includes":507,"lodash/isRegExp":519,"lodash/startsWith":532,minimatch:542,path:546,slash:603,util:613}],58:[function(e,t,r){(function(t){"use strict";function n(e,n){(n=n||{}).isFileComment&&(e=function(e,t){var n=r.mapFileCommentRegex.exec(e),a=n[1]||n[2],o=s.resolve(t,a);try{return i.readFileSync(o,"utf8")}catch(e){throw new Error("An error occurred while trying to read the map file at "+o+"\n"+e)}}(e,n.commentFileDir)),n.hasComment&&(e=function(e){return e.split(",").pop()}(e)),n.isEncoded&&(e=function(e){return new t(e,"base64").toString()}(e)),(n.isJSON||n.isEncoded)&&(e=JSON.parse(e)),this.sourcemap=e}var i=e("fs"),s=e("path");Object.defineProperty(r,"commentRegex",{get:function(){return/^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/gm}}),Object.defineProperty(r,"mapFileCommentRegex",{get:function(){return/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/gm}}),n.prototype.toJSON=function(e){return JSON.stringify(this.sourcemap,null,e)},n.prototype.toBase64=function(){var e=this.toJSON();return new t(e).toString("base64")},n.prototype.toComment=function(e){var t="sourceMappingURL=data:application/json;charset=utf-8;base64,"+this.toBase64();return e&&e.multiline?"/*# "+t+" */":"//# "+t},n.prototype.toObject=function(){return JSON.parse(this.toJSON())},n.prototype.addProperty=function(e,t){if(this.sourcemap.hasOwnProperty(e))throw new Error("property %s already exists on the sourcemap, use set property instead");return this.setProperty(e,t)},n.prototype.setProperty=function(e,t){return this.sourcemap[e]=t,this},n.prototype.getProperty=function(e){return this.sourcemap[e]},r.fromObject=function(e){return new n(e)},r.fromJSON=function(e){return new n(e,{isJSON:!0})},r.fromBase64=function(e){return new n(e,{isEncoded:!0})},r.fromComment=function(e){return e=e.replace(/^\/\*/g,"//").replace(/\*\/$/g,""),new n(e,{isEncoded:!0,hasComment:!0})},r.fromMapFileComment=function(e,t){return new n(e,{commentFileDir:t,isFileComment:!0,isJSON:!0})},r.fromSource=function(e){var t=e.match(r.commentRegex);return t?r.fromComment(t.pop()):null},r.fromMapFileSource=function(e,t){var n=e.match(r.mapFileCommentRegex);return n?r.fromMapFileComment(n.pop(),t):null},r.removeComments=function(e){return e.replace(r.commentRegex,"")},r.removeMapFileComments=function(e){return e.replace(r.mapFileCommentRegex,"")},r.generateMapFileComment=function(e,t){var r="sourceMappingURL="+e;return t&&t.multiline?"/*# "+r+" */":"//# "+r}}).call(this,e("buffer").Buffer)},{buffer:192,fs:191,path:546}],59:[function(e,t,r){t.exports=e("./src/node")},{"./src/node":61}],60:[function(e,t,r){function n(e){function t(){if(t.enabled){var e=t,n=+new Date,s=n-(i||n);e.diff=s,e.prev=i,e.curr=n,i=n;for(var a=new Array(arguments.length),o=0;o=0)return t}else{var r=i.toSetString(e);if(s.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},n.prototype.at=function(e){if(e>=0&&e>>=5)>0&&(t|=32),r+=n.encode(t)}while(i>0);return r},r.decode=function(e,t,r){var i,s,a=e.length,o=0,u=0;do{if(t>=a)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(s=n.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&s),o+=(s&=31)<>1;return 1==(1&e)?-t:t}(o),r.rest=t}},{"./base64":64}],64:[function(e,t,r){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e0?t-u>1?n(u,t,i,s,a,o):o==r.LEAST_UPPER_BOUND?t1?n(e,u,i,s,a,o):o==r.LEAST_UPPER_BOUND?u:e<0?-1:e}r.GREATEST_LOWER_BOUND=1,r.LEAST_UPPER_BOUND=2,r.search=function(e,t,i,s){if(0===t.length)return-1;var a=n(-1,t.length,e,t,i,s||r.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===i(t[a],t[a-1],!0);)--a;return a}},{}],66:[function(e,t,r){function n(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var i=e("./util");n.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},n.prototype.add=function(e){!function(e,t){var r=e.generatedLine,n=t.generatedLine,s=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=s||i.compareByGeneratedPositionsInflated(e,t)<=0}(this._last,e)?(this._sorted=!1,this._array.push(e)):(this._last=e,this._array.push(e))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},r.MappingList=n},{"./util":71}],67:[function(e,t,r){function n(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function i(e,t,r,s){if(r=0){var s=this._originalMappings[i];if(void 0===e.column)for(var a=s.originalLine;s&&s.originalLine===a;)n.push({line:o.getArg(s,"generatedLine",null),column:o.getArg(s,"generatedColumn",null),lastColumn:o.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var l=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==l;)n.push({line:o.getArg(s,"generatedLine",null),column:o.getArg(s,"generatedColumn",null),lastColumn:o.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return n},r.SourceMapConsumer=n,(i.prototype=Object.create(n.prototype)).consumer=n,i.fromSourceMap=function(e){var t=Object.create(i.prototype),r=t._names=l.fromArray(e._names.toArray(),!0),n=t._sources=l.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),u=t.__generatedMappings=[],c=t.__originalMappings=[],h=0,f=a.length;h1&&(r.source=m+i[1],m+=i[1],r.originalLine=f+i[2],f=r.originalLine,r.originalLine+=1,r.originalColumn=d+i[3],d=r.originalColumn,i.length>4&&(r.name=y+i[4],y+=i[4])),A.push(r),"number"==typeof r.originalLine&&E.push(r)}p(A,o.compareByGeneratedPositionsDeflated),this.__generatedMappings=A,p(E,o.compareByOriginalPositions),this.__originalMappings=E},i.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return u.search(e,t,i,s)},i.prototype.computeColumnSpans=function(){for(var e=0;e=0){var i=this._generatedMappings[r];if(i.generatedLine===t.generatedLine){var s=o.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),null!=this.sourceRoot&&(s=o.join(this.sourceRoot,s)));var a=o.getArg(i,"name",null);return null!==a&&(a=this._names.at(a)),{source:s,line:o.getArg(i,"originalLine",null),column:o.getArg(i,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},i.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},i.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=o.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=o.urlParse(this.sourceRoot))){var n=e.replace(/^file:\/\//,"");if("file"==r.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];if((!r.path||"/"==r.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},i.prototype.generatedPositionFor=function(e){var t=o.getArg(e,"source");if(null!=this.sourceRoot&&(t=o.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var r={source:t=this._sources.indexOf(t),originalLine:o.getArg(e,"line"),originalColumn:o.getArg(e,"column")},i=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,o.getArg(e,"bias",n.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===r.source)return{line:o.getArg(s,"generatedLine",null),column:o.getArg(s,"generatedColumn",null),lastColumn:o.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},r.BasicSourceMapConsumer=i,(a.prototype=Object.create(n.prototype)).constructor=n,a.prototype._version=3,Object.defineProperty(a.prototype,"sources",{get:function(){for(var e=[],t=0;t0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},n.prototype._serializeMappings=function(){for(var e,t,r,n,a=0,o=1,u=0,l=0,c=0,p=0,h="",f=this._mappings.toArray(),d=0,m=f.length;d0){if(!s.compareByGeneratedPositionsInflated(t,f[d-1]))continue;e+=","}e+=i.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=i.encode(n-p),p=n,e+=i.encode(t.originalLine-1-l),l=t.originalLine-1,e+=i.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=i.encode(r-c),c=r)),h+=e}return h},n.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var r=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},n.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},n.prototype.toString=function(){return JSON.stringify(this.toJSON())},r.SourceMapGenerator=n},{"./array-set":62,"./base64-vlq":63,"./mapping-list":66,"./util":71}],70:[function(e,t,r){function n(e,t,r,n,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==i?null:i,this[o]=!0,null!=n&&this.add(n)}var i=e("./source-map-generator").SourceMapGenerator,s=e("./util"),a=/(\r?\n)/,o="$$$isSourceNode$$$";n.fromStringWithSourceMap=function(e,t,r){function i(e,t){if(null===e||void 0===e.source)o.add(t);else{var i=r?s.join(r,e.source):e.source;o.add(new n(e.originalLine,e.originalColumn,i,t,e.name))}}var o=new n,u=e.split(a),l=0,c=function(){function e(){return l=0;t--)this.prepend(e[t]);else{if(!e[o]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},n.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r=0;c--)"."===(a=u[c])?u.splice(c,1):".."===a?l++:l>0&&(""===a?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return""===(t=u.join("/"))&&(t=o?"/":"."),s?(s.path=t,i(s)):t}function a(e){return e}function o(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function u(e,t){return e===t?0:e>t?1:-1}r.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var l=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,c=/^data:.+\,.+$/;r.urlParse=n,r.urlGenerate=i,r.normalize=s,r.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var r=n(t),a=n(e);if(a&&(e=a.path||"/"),r&&!r.scheme)return a&&(r.scheme=a.scheme),i(r);if(r||t.match(c))return t;if(a&&!a.host&&!a.path)return a.host=t,i(a);var o="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return a?(a.path=o,i(a)):o},r.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(l)},r.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var p=!("__proto__"in Object.create(null));r.toSetString=p?a:function(e){return o(e)?"$"+e:e},r.fromSetString=p?a:function(e){return o(e)?e.slice(1):e},r.compareByOriginalPositions=function(e,t,r){var n=e.source-t.source;return 0!==n?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)||r?n:0!=(n=e.generatedColumn-t.generatedColumn)?n:0!=(n=e.generatedLine-t.generatedLine)?n:e.name-t.name},r.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!=(n=e.generatedColumn-t.generatedColumn)||r?n:0!=(n=e.source-t.source)?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)?n:e.name-t.name},r.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-t.generatedColumn)?r:0!==(r=u(e.source,t.source))?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)}},{}],72:[function(e,t,r){r.SourceMapGenerator=e("./lib/source-map-generator").SourceMapGenerator,r.SourceMapConsumer=e("./lib/source-map-consumer").SourceMapConsumer,r.SourceNode=e("./lib/source-node").SourceNode},{"./lib/source-map-consumer":68,"./lib/source-map-generator":69,"./lib/source-node":70}],73:[function(e,t,r){t.exports={_args:[[{raw:"babel-core@^6.18.2",scope:null,escapedName:"babel-core",name:"babel-core",rawSpec:"^6.18.2",spec:">=6.18.2 <7.0.0",type:"range"},"/Users/evgenypoberezkin/Documents/JSON/ajv/node_modules/regenerator"]],_from:"babel-core@>=6.18.2 <7.0.0",_id:"babel-core@6.26.0",_inCache:!0,_location:"/babel-core",_nodeVersion:"6.9.0",_npmOperationalInternal:{host:"s3://npm-registry-packages",tmp:"tmp/babel-core-6.26.0.tgz_1502898861183_0.43529116874560714"},_npmUser:{name:"hzoo",email:"hi@henryzoo.com"},_npmVersion:"4.6.1",_phantomChildren:{ms:"2.0.0"},_requested:{raw:"babel-core@^6.18.2",scope:null,escapedName:"babel-core",name:"babel-core",rawSpec:"^6.18.2",spec:">=6.18.2 <7.0.0",type:"range"},_requiredBy:["/babel-register","/regenerator"],_resolved:"https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",_shasum:"af32f78b31a6fcef119c87b0fd8d9753f03a0bb8",_shrinkwrap:null,_spec:"babel-core@^6.18.2",_where:"/Users/evgenypoberezkin/Documents/JSON/ajv/node_modules/regenerator",author:{name:"Sebastian McKenzie",email:"sebmck@gmail.com"},dependencies:{"babel-code-frame":"^6.26.0","babel-generator":"^6.26.0","babel-helpers":"^6.24.1","babel-messages":"^6.23.0","babel-register":"^6.26.0","babel-runtime":"^6.26.0","babel-template":"^6.26.0","babel-traverse":"^6.26.0","babel-types":"^6.26.0",babylon:"^6.18.0","convert-source-map":"^1.5.0",debug:"^2.6.8",json5:"^0.5.1",lodash:"^4.17.4",minimatch:"^3.0.4","path-is-absolute":"^1.0.1",private:"^0.1.7",slash:"^1.0.0","source-map":"^0.5.6"},description:"Babel compiler core.",devDependencies:{"babel-helper-fixtures":"^6.26.0","babel-helper-transform-fixture-test-runner":"^6.26.0","babel-polyfill":"^6.26.0"},directories:{},dist:{shasum:"af32f78b31a6fcef119c87b0fd8d9753f03a0bb8",tarball:"https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz"},homepage:"https://babeljs.io/",keywords:["6to5","babel","classes","const","es6","harmony","let","modules","transpile","transpiler","var","babel-core","compiler"],license:"MIT",maintainers:[{name:"thejameskyle",email:"me@thejameskyle.com"},{name:"sebmck",email:"sebmck@gmail.com"},{name:"danez",email:"daniel@tschinder.de"},{name:"hzoo",email:"hi@henryzoo.com"},{name:"loganfsmyth",email:"loganfsmyth@gmail.com"}],name:"babel-core",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"https://github.com/babel/babel/tree/master/packages/babel-core"},scripts:{bench:"make bench",test:"make test"},version:"6.26.0"}},{}],74:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/helpers/classCallCheck")),s=n(e("trim-right")),a=/^[ \t]+$/,o=function(){function e(t){(0,i.default)(this,e),this._map=null,this._buf=[],this._last="",this._queue=[],this._position={line:1,column:0},this._sourcePosition={identifierName:null,line:null,column:null,filename:null},this._map=t}return e.prototype.get=function(){this._flush();var e=this._map,t={code:(0,s.default)(this._buf.join("")),map:null,rawMappings:e&&e.getRawMappings()};return e&&Object.defineProperty(t,"map",{configurable:!0,enumerable:!0,get:function(){return this.map=e.get()},set:function(e){Object.defineProperty(this,"map",{value:e,writable:!0})}}),t},e.prototype.append=function(e){this._flush();var t=this._sourcePosition,r=t.line,n=t.column,i=t.filename,s=t.identifierName;this._append(e,r,n,s,i)},e.prototype.queue=function(e){if("\n"===e)for(;this._queue.length>0&&a.test(this._queue[0][0]);)this._queue.shift();var t=this._sourcePosition,r=t.line,n=t.column,i=t.filename,s=t.identifierName;this._queue.unshift([e,r,n,s,i])},e.prototype._flush=function(){for(var e=void 0;e=this._queue.pop();)this._append.apply(this,e)},e.prototype._append=function(e,t,r,n,i){this._map&&"\n"!==e[0]&&this._map.mark(this._position.line,this._position.column,t,r,n,i),this._buf.push(e),this._last=e[e.length-1];for(var s=0;s0&&"\n"===this._queue[0][0]&&this._queue.shift()},e.prototype.removeLastSemicolon=function(){this._queue.length>0&&";"===this._queue[0][0]&&this._queue.shift()},e.prototype.endsWith=function(e){if(1===e.length){var t=void 0;if(this._queue.length>0){var r=this._queue[0][0];t=r[r.length-1]}else t=this._last;return t===e}var n=this._last+this._queue.reduce(function(e,t){return t[0]+e},"");return e.length<=n.length&&n.slice(-e.length)===e},e.prototype.hasContent=function(){return this._queue.length>0||!!this._last},e.prototype.source=function(e,t){if(!e||t){var r=t?t[e]:null;this._sourcePosition.identifierName=t&&t.identifierName||null,this._sourcePosition.line=r?r.line:null,this._sourcePosition.column=r?r.column:null,this._sourcePosition.filename=t&&t.filename||null}},e.prototype.withSource=function(e,t,r){if(!this._map)return r();var n=this._sourcePosition.line,i=this._sourcePosition.column,s=this._sourcePosition.filename,a=this._sourcePosition.identifierName;this.source(e,t),r(),this._sourcePosition.line=n,this._sourcePosition.column=i,this._sourcePosition.filename=s,this._sourcePosition.identifierName=a},e.prototype.getCurrentColumn=function(){var e=this._queue.reduce(function(e,t){return t[0]+e},""),t=e.lastIndexOf("\n");return-1===t?this._position.column+e.length:e.length-1-t},e.prototype.getCurrentLine=function(){for(var e=this._queue.reduce(function(e,t){return t[0]+e},""),t=0,r=0;r")}function a(){this.space(),this.token("|"),this.space()}r.__esModule=!0,r.TypeParameterDeclaration=r.StringLiteralTypeAnnotation=r.NumericLiteralTypeAnnotation=r.GenericTypeAnnotation=r.ClassImplements=void 0,r.AnyTypeAnnotation=function(){this.word("any")},r.ArrayTypeAnnotation=function(e){this.print(e.elementType,e),this.token("["),this.token("]")},r.BooleanTypeAnnotation=function(){this.word("boolean")},r.BooleanLiteralTypeAnnotation=function(e){this.word(e.value?"true":"false")},r.NullLiteralTypeAnnotation=function(){this.word("null")},r.DeclareClass=function(e,t){u.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)},r.DeclareFunction=function(e,t){u.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),this.semicolon()},r.DeclareInterface=function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},r.DeclareModule=function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)},r.DeclareModuleExports=function(e){this.word("declare"),this.space(),this.word("module"),this.token("."),this.word("exports"),this.print(e.typeAnnotation,e)},r.DeclareTypeAlias=function(e){this.word("declare"),this.space(),this.TypeAlias(e)},r.DeclareOpaqueType=function(e,t){u.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.OpaqueType(e)},r.DeclareVariable=function(e,t){u.isDeclareExportDeclaration(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()},r.DeclareExportDeclaration=function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),function(e){if(e.declaration){var t=e.declaration;this.print(t,e),u.isStatement(t)||this.semicolon()}else this.token("{"),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.token("}"),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}.apply(this,arguments)},r.ExistentialTypeParam=function(){this.token("*")},r.FunctionTypeAnnotation=function(e,t){this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e),e.rest&&(e.params.length&&(this.token(","),this.space()),this.token("..."),this.print(e.rest,e)),this.token(")"),"ObjectTypeCallProperty"===t.type||"DeclareFunction"===t.type?this.token(":"):(this.space(),this.token("=>")),this.space(),this.print(e.returnType,e)},r.FunctionTypeParam=function(e){this.print(e.name,e),e.optional&&this.token("?"),this.token(":"),this.space(),this.print(e.typeAnnotation,e)},r.InterfaceExtends=n,r._interfaceish=function(e){this.print(e.id,e),this.print(e.typeParameters,e),e.extends.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends,e)),e.mixins&&e.mixins.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins,e)),this.space(),this.print(e.body,e)},r._variance=function(e){"plus"===e.variance?this.token("+"):"minus"===e.variance&&this.token("-")},r.InterfaceDeclaration=function(e){this.word("interface"),this.space(),this._interfaceish(e)},r.IntersectionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:i})},r.MixedTypeAnnotation=function(){this.word("mixed")},r.EmptyTypeAnnotation=function(){this.word("empty")},r.NullableTypeAnnotation=function(e){this.token("?"),this.print(e.typeAnnotation,e)};var o=e("./types");Object.defineProperty(r,"NumericLiteralTypeAnnotation",{enumerable:!0,get:function(){return o.NumericLiteral}}),Object.defineProperty(r,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return o.StringLiteral}}),r.NumberTypeAnnotation=function(){this.word("number")},r.StringTypeAnnotation=function(){this.word("string")},r.ThisTypeAnnotation=function(){this.word("this")},r.TupleTypeAnnotation=function(e){this.token("["),this.printList(e.types,e),this.token("]")},r.TypeofTypeAnnotation=function(e){this.word("typeof"),this.space(),this.print(e.argument,e)},r.TypeAlias=function(e){this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.token("="),this.space(),this.print(e.right,e),this.semicolon()},r.OpaqueType=function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.token(":"),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.token("="),this.space(),this.print(e.impltype,e)),this.semicolon()},r.TypeAnnotation=function(e){this.token(":"),this.space(),e.optional&&this.token("?"),this.print(e.typeAnnotation,e)},r.TypeParameter=function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.token("="),this.space(),this.print(e.default,e))},r.TypeParameterInstantiation=s,r.ObjectTypeAnnotation=function(e){var t=this;e.exact?this.token("{|"):this.token("{");var r=e.properties.concat(e.callProperties,e.indexers);r.length&&(this.space(),this.printJoin(r,e,{addNewlines:function(e){if(e&&!r[0])return 1},indent:!0,statement:!0,iterator:function(){1!==r.length&&(t.format.flowCommaSeparator?t.token(","):t.semicolon(),t.space())}}),this.space()),e.exact?this.token("|}"):this.token("}")},r.ObjectTypeCallProperty=function(e){e.static&&(this.word("static"),this.space()),this.print(e.value,e)},r.ObjectTypeIndexer=function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.token("["),this.print(e.id,e),this.token(":"),this.space(),this.print(e.key,e),this.token("]"),this.token(":"),this.space(),this.print(e.value,e)},r.ObjectTypeProperty=function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.token("?"),this.token(":"),this.space(),this.print(e.value,e)},r.ObjectTypeSpreadProperty=function(e){this.token("..."),this.print(e.argument,e)},r.QualifiedTypeIdentifier=function(e){this.print(e.qualification,e),this.token("."),this.print(e.id,e)},r.UnionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:a})},r.TypeCastExpression=function(e){this.token("("),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.token(")")},r.VoidTypeAnnotation=function(){this.word("void")};var u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));r.ClassImplements=n,r.GenericTypeAnnotation=n,r.TypeParameterDeclaration=s},{"./types":84,"babel-types":178}],79:[function(e,t,r){"use strict";function n(){this.space()}r.__esModule=!0;var i=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/get-iterator"));r.JSXAttribute=function(e){this.print(e.name,e),e.value&&(this.token("="),this.print(e.value,e))},r.JSXIdentifier=function(e){this.word(e.name)},r.JSXNamespacedName=function(e){this.print(e.namespace,e),this.token(":"),this.print(e.name,e)},r.JSXMemberExpression=function(e){this.print(e.object,e),this.token("."),this.print(e.property,e)},r.JSXSpreadAttribute=function(e){this.token("{"),this.token("..."),this.print(e.argument,e),this.token("}")},r.JSXExpressionContainer=function(e){this.token("{"),this.print(e.expression,e),this.token("}")},r.JSXSpreadChild=function(e){this.token("{"),this.token("..."),this.print(e.expression,e),this.token("}")},r.JSXText=function(e){this.token(e.value)},r.JSXElement=function(e){var t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();for(var r=e.children,n=Array.isArray(r),s=0,r=n?r:(0,i.default)(r);;){var a;if(n){if(s>=r.length)break;a=r[s++]}else{if((s=r.next()).done)break;a=s.value}var o=a;this.print(o,e)}this.dedent(),this.print(e.closingElement,e)}},r.JSXOpeningElement=function(e){this.token("<"),this.print(e.name,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:n})),e.selfClosing?(this.space(),this.token("/>")):this.token(">")},r.JSXClosingElement=function(e){this.token("")},r.JSXEmptyExpression=function(){}},{"babel-runtime/core-js/get-iterator":120}],80:[function(e,t,r){"use strict";function n(e){e.async&&(this.word("async"),this.space()),this.word("function"),e.generator&&this.token("*"),e.id?(this.space(),this.print(e.id,e)):this.space(),this._params(e),this.space(),this.print(e.body,e)}r.__esModule=!0,r.FunctionDeclaration=void 0,r._params=function(e){var t=this;this.print(e.typeParameters,e),this.token("("),this.printList(e.params,e,{iterator:function(e){e.optional&&t.token("?"),t.print(e.typeAnnotation,e)}}),this.token(")"),e.returnType&&this.print(e.returnType,e)},r._method=function(e){var t=e.kind,r=e.key;"method"!==t&&"init"!==t||e.generator&&this.token("*"),"get"!==t&&"set"!==t||(this.word(t),this.space()),e.async&&(this.word("async"),this.space()),e.computed?(this.token("["),this.print(r,e),this.token("]")):this.print(r,e),this._params(e),this.space(),this.print(e.body,e)},r.FunctionExpression=n,r.ArrowFunctionExpression=function(e){e.async&&(this.word("async"),this.space());var t=e.params[0];1===e.params.length&&i.isIdentifier(t)&&!function(e,t){return e.typeParameters||e.returnType||t.typeAnnotation||t.optional||t.trailingComments}(e,t)?this.print(t,e):this._params(e),this.space(),this.token("=>"),this.space(),this.print(e.body,e)};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));r.FunctionDeclaration=n},{"babel-types":178}],81:[function(e,t,r){"use strict";function n(e){if(e.declaration){var t=e.declaration;this.print(t,e),i.isStatement(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());for(var r=e.specifiers.slice(0),n=!1;;){var s=r[0];if(!i.isExportDefaultSpecifier(s)&&!i.isExportNamespaceSpecifier(s))break;n=!0,this.print(r.shift(),e),r.length&&(this.token(","),this.space())}(r.length||!r.length&&!n)&&(this.token("{"),r.length&&(this.space(),this.printList(r,e),this.space()),this.token("}")),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source,e)),this.semicolon()}}r.__esModule=!0,r.ImportSpecifier=function(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local,e))},r.ImportDefaultSpecifier=function(e){this.print(e.local,e)},r.ExportDefaultSpecifier=function(e){this.print(e.exported,e)},r.ExportSpecifier=function(e){this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported,e))},r.ExportNamespaceSpecifier=function(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.exported,e)},r.ExportAllDeclaration=function(e){this.word("export"),this.space(),this.token("*"),this.space(),this.word("from"),this.space(),this.print(e.source,e),this.semicolon()},r.ExportNamedDeclaration=function(){this.word("export"),this.space(),n.apply(this,arguments)},r.ExportDefaultDeclaration=function(){this.word("export"),this.space(),this.word("default"),this.space(),n.apply(this,arguments)},r.ImportDeclaration=function(e){this.word("import"),this.space(),"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space());var t=e.specifiers.slice(0);if(t&&t.length){for(;;){var r=t[0];if(!i.isImportDefaultSpecifier(r)&&!i.isImportNamespaceSpecifier(r))break;this.print(t.shift(),e),t.length&&(this.token(","),this.space())}t.length&&(this.token("{"),this.space(),this.printList(t,e),this.space(),this.token("}")),this.space(),this.word("from"),this.space()}this.print(e.source,e),this.semicolon()},r.ImportNamespaceSpecifier=function(e){this.token("*"),this.space(),this.word("as"),this.space(),this.print(e.local,e)};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"))},{"babel-types":178}],82:[function(e,t,r){"use strict";function n(e){return a.isStatement(e.body)?n(e.body):e}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"label";return function(r){this.word(e);var n=r[t];if(n){this.space();var i=this.startTerminatorless();this.print(n,r),this.endTerminatorless(i)}this.semicolon()}}r.__esModule=!0,r.ThrowStatement=r.BreakStatement=r.ReturnStatement=r.ContinueStatement=r.ForAwaitStatement=r.ForOfStatement=r.ForInStatement=void 0;var s=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/get-iterator"));r.WithStatement=function(e){this.word("with"),this.space(),this.token("("),this.print(e.object,e),this.token(")"),this.printBlock(e)},r.IfStatement=function(e){this.word("if"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.space();var t=e.alternate&&a.isIfStatement(n(e.consequent));t&&(this.token("{"),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.token("}")),e.alternate&&(this.endsWith("}")&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate,e))},r.ForStatement=function(e){this.word("for"),this.space(),this.token("("),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.token(";"),e.test&&(this.space(),this.print(e.test,e)),this.token(";"),e.update&&(this.space(),this.print(e.update,e)),this.token(")"),this.printBlock(e)},r.WhileStatement=function(e){this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.printBlock(e)},r.DoWhileStatement=function(e){this.word("do"),this.space(),this.print(e.body,e),this.space(),this.word("while"),this.space(),this.token("("),this.print(e.test,e),this.token(")"),this.semicolon()},r.LabeledStatement=function(e){this.print(e.label,e),this.token(":"),this.space(),this.print(e.body,e)},r.TryStatement=function(e){this.word("try"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer,e))},r.CatchClause=function(e){this.word("catch"),this.space(),this.token("("),this.print(e.param,e),this.token(")"),this.space(),this.print(e.body,e)},r.SwitchStatement=function(e){this.word("switch"),this.space(),this.token("("),this.print(e.discriminant,e),this.token(")"),this.space(),this.token("{"),this.printSequence(e.cases,e,{indent:!0,addNewlines:function(t,r){if(!t&&e.cases[e.cases.length-1]===r)return-1}}),this.token("}")},r.SwitchCase=function(e){e.test?(this.word("case"),this.space(),this.print(e.test,e),this.token(":")):(this.word("default"),this.token(":")),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))},r.DebuggerStatement=function(){this.word("debugger"),this.semicolon()},r.VariableDeclaration=function(e,t){this.word(e.kind),this.space();var r=!1;if(!a.isFor(t))for(var n=e.declarations,i=Array.isArray(n),o=0,n=i?n:(0,s.default)(n);;){var u;if(i){if(o>=n.length)break;u=n[o++]}else{if((o=n.next()).done)break;u=o.value}u.init&&(r=!0)}var l=void 0;r&&(l="const"===e.kind?function(){if(this.token(","),this.newline(),this.endsWith("\n"))for(var e=0;e<6;e++)this.space(!0)}:function(){if(this.token(","),this.newline(),this.endsWith("\n"))for(var e=0;e<4;e++)this.space(!0)}),this.printList(e.declarations,e,{separator:l}),(!a.isFor(t)||t.left!==e&&t.init!==e)&&this.semicolon()},r.VariableDeclarator=function(e){this.print(e.id,e),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.token("="),this.space(),this.print(e.init,e))};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types")),o=function(e){return function(t){this.word("for"),this.space(),"await"===e&&(this.word("await"),this.space()),this.token("("),this.print(t.left,t),this.space(),this.word("await"===e?"of":e),this.space(),this.print(t.right,t),this.token(")"),this.printBlock(t)}};r.ForInStatement=o("in"),r.ForOfStatement=o("of"),r.ForAwaitStatement=o("await"),r.ContinueStatement=i("continue"),r.ReturnStatement=i("return","argument"),r.BreakStatement=i("break"),r.ThrowStatement=i("throw","argument")},{"babel-runtime/core-js/get-iterator":120,"babel-types":178}],83:[function(e,t,r){"use strict";r.__esModule=!0,r.TaggedTemplateExpression=function(e){this.print(e.tag,e),this.print(e.quasi,e)},r.TemplateElement=function(e,t){var r=t.quasis[0]===e,n=t.quasis[t.quasis.length-1]===e,i=(r?"`":"}")+e.value.raw+(n?"`":"${");this.token(i)},r.TemplateLiteral=function(e){for(var t=e.quasis,r=0;r0&&this.space(),this.print(i,e),n1&&void 0!==arguments[1]?arguments[1]:{},a=arguments[2];(0,i.default)(this,t);var c=r.tokens||[],p=function(e,t,r){var n=" ";if(e&&"string"==typeof e){var i=(0,o.default)(e).indent;i&&" "!==i&&(n=i)}var s={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,quotes:t.quotes||function(e,t){if(!e)return"double";for(var r={single:0,double:0},n=0,i=0;i=3))break}return r.single>r.double?"single":"double"}(e,r),jsonCompatibleStrings:t.jsonCompatibleStrings,indent:{adjustMultilineComment:!0,style:n,base:0},flowCommaSeparator:t.flowCommaSeparator};return s.minified?(s.compact=!0,s.shouldPrintComment=s.shouldPrintComment||function(){return s.comments}):s.shouldPrintComment=s.shouldPrintComment||function(e){return s.comments||e.indexOf("@license")>=0||e.indexOf("@preserve")>=0},"auto"===s.compact&&(s.compact=e.length>5e5,s.compact&&console.error("[BABEL] "+l.get("codeGeneratorDeopt",t.filename,"500KB"))),s.compact&&(s.indent.adjustMultilineComment=!1),s}(a,n,c),h=n.sourceMaps?new u.default(n,a):null,f=(0,s.default)(this,e.call(this,p,h,c));return f.ast=r,f}return(0,a.default)(t,e),t.prototype.generate=function(){return e.prototype.generate.call(this,this.ast)},t}(n(e("./printer")).default);r.CodeGenerator=function(){function e(t,r,n){(0,i.default)(this,e),this._generator=new c(t,r,n)}return e.prototype.generate=function(){return this._generator.generate()},e}()},{"./printer":89,"./source-map":90,"babel-messages":110,"babel-runtime/helpers/classCallCheck":134,"babel-runtime/helpers/inherits":135,"babel-runtime/helpers/possibleConstructorReturn":137,"detect-indent":309}],86:[function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){function t(e,t){var n=r[e];r[e]=n?function(e,r,i){var s=n(e,r,i);return null==s?t(e,r,i):s}:t}for(var r={},n=(0,c.default)(e),i=Array.isArray(n),s=0,n=i?n:(0,l.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a,u=f.FLIPPED_ALIAS_KEYS[o];if(u)for(var p=u,h=Array.isArray(p),d=0,p=h?p:(0,l.default)(p);;){var m;if(h){if(d>=p.length)break;m=p[d++]}else{if((d=p.next()).done)break;m=d.value}t(m,e[o])}else t(o,e[o])}return r}function a(e,t,r,n){var i=e[t.type];return i?i(t,r,n):null}function o(e){return!!f.isCallExpression(e)||!!f.isMemberExpression(e)&&(o(e.object)||!e.computed&&o(e.property))}function u(e,t,r){if(!e)return 0;f.isExpressionStatement(e)&&(e=e.expression);var n=a(m,e,t);if(!n){var i=a(y,e,t);if(i)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:{},r=t.considerArrow,n=void 0!==r&&r,i=t.considerDefaultExports,s=void 0!==i&&i,a=e.length-1,o=e[a],l=e[--a];a>0;){if(u.isExpressionStatement(l,{expression:o})||u.isTaggedTemplateExpression(l)||s&&u.isExportDefaultDeclaration(l,{declaration:o})||n&&u.isArrowFunctionExpression(l,{body:o}))return!0;if(!(u.isCallExpression(l,{callee:o})||u.isSequenceExpression(l)&&l.expressions[0]===o||u.isMemberExpression(l,{object:o})||u.isConditional(l,{test:o})||u.isBinary(l,{left:o})||u.isAssignmentExpression(l,{left:o})))return!1;o=l,l=e[--a]}return!1}r.__esModule=!0,r.AwaitExpression=r.FunctionTypeAnnotation=void 0,r.NullableTypeAnnotation=n,r.UpdateExpression=function(e,t){return u.isMemberExpression(t)&&t.object===e},r.ObjectExpression=function(e,t,r){return o(r,{considerArrow:!0})},r.DoExpression=function(e,t,r){return o(r)},r.Binary=function(e,t){if((u.isCallExpression(t)||u.isNewExpression(t))&&t.callee===e||u.isUnaryLike(t)||u.isMemberExpression(t)&&t.object===e||u.isAwaitExpression(t))return!0;if(u.isBinary(t)){var r=t.operator,n=l[r],i=e.operator,s=l[i];if(n===s&&t.right===e&&!u.isLogicalExpression(t)||n>s)return!0}return!1},r.BinaryExpression=function(e,t){return"in"===e.operator&&(u.isVariableDeclarator(t)||u.isFor(t))},r.SequenceExpression=function(e,t){return!(u.isForStatement(t)||u.isThrowStatement(t)||u.isReturnStatement(t)||u.isIfStatement(t)&&t.test===e||u.isWhileStatement(t)&&t.test===e||u.isForInStatement(t)&&t.right===e||u.isSwitchStatement(t)&&t.discriminant===e||u.isExpressionStatement(t)&&t.expression===e)},r.YieldExpression=i,r.ClassExpression=function(e,t,r){return o(r,{considerDefaultExports:!0})},r.UnaryLike=s,r.FunctionExpression=function(e,t,r){return o(r,{considerDefaultExports:!0})},r.ArrowFunctionExpression=function(e,t){return!!(u.isExportDeclaration(t)||u.isBinaryExpression(t)||u.isLogicalExpression(t)||u.isUnaryExpression(t)||u.isTaggedTemplateExpression(t))||s(e,t)},r.ConditionalExpression=a,r.AssignmentExpression=function(e){return!!u.isObjectPattern(e.left)||a.apply(void 0,arguments)};var u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types")),l={"||":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10};r.FunctionTypeAnnotation=n,r.AwaitExpression=i},{"babel-types":178}],88:[function(e,t,r){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.isMemberExpression(e)?(n(e.object,t),e.computed&&n(e.property,t)):o.isBinary(e)||o.isAssignmentExpression(e)?(n(e.left,t),n(e.right,t)):o.isCallExpression(e)?(t.hasCall=!0,n(e.callee,t)):o.isFunction(e)?t.hasFunction=!0:o.isIdentifier(e)&&(t.hasHelper=t.hasHelper||i(e.callee)),t}function i(e){return o.isMemberExpression(e)?i(e.object)||i(e.property):o.isIdentifier(e)?"require"===e.name||"_"===e.name[0]:o.isCallExpression(e)?i(e.callee):!(!o.isBinary(e)&&!o.isAssignmentExpression(e))&&(o.isIdentifier(e.left)&&i(e.left)||i(e.right))}function s(e){return o.isLiteral(e)||o.isObjectExpression(e)||o.isArrayExpression(e)||o.isIdentifier(e)||o.isMemberExpression(e)}var a=function(e){return e&&e.__esModule?e:{default:e}}(e("lodash/map")),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));r.nodes={AssignmentExpression:function(e){var t=n(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return{before:t.hasFunction,after:!0}},SwitchCase:function(e,t){return{before:e.consequent.length||t.cases[0]===e}},LogicalExpression:function(e){if(o.isFunction(e.left)||o.isFunction(e.right))return{after:!0}},Literal:function(e){if("use strict"===e.value)return{after:!0}},CallExpression:function(e){if(o.isFunction(e.callee)||i(e))return{before:!0,after:!0}},VariableDeclaration:function(e){for(var t=0;t0?new g.default(n):null}return e.prototype.generate=function(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()},e.prototype.indent=function(){this.format.compact||this.format.concise||this._indent++},e.prototype.dedent=function(){this.format.compact||this.format.concise||this._indent--},e.prototype.semicolon=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._maybeAddAuxComment(),this._append(";",!e)},e.prototype.rightBrace=function(){this.format.minified&&this._buf.removeLastSemicolon(),this.token("}")},e.prototype.space=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.format.compact||(this._buf.hasContent()&&!this.endsWith(" ")&&!this.endsWith("\n")||e)&&this._space()},e.prototype.word=function(e){this._endsWithWord&&this._space(),this._maybeAddAuxComment(),this._append(e),this._endsWithWord=!0},e.prototype.number=function(e){this.word(e),this._endsWithInteger=(0,f.default)(+e)&&!E.test(e)&&!v.test(e)&&!x.test(e)&&"."!==e[e.length-1]},e.prototype.token=function(e){("--"===e&&this.endsWith("!")||"+"===e[0]&&this.endsWith("+")||"-"===e[0]&&this.endsWith("-")||"."===e[0]&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e)},e.prototype.newline=function(e){if(!this.format.retainLines&&!this.format.compact)if(this.format.concise)this.space();else if(!(this.endsWith("\n\n")||("number"!=typeof e&&(e=1),e=Math.min(2,e),(this.endsWith("{\n")||this.endsWith(":\n"))&&e--,e<=0)))for(var t=0;t1&&void 0!==arguments[1]&&arguments[1];this._maybeAddParen(e),this._maybeIndent(e),t?this._buf.queue(e):this._buf.append(e),this._endsWithWord=!1,this._endsWithInteger=!1},e.prototype._maybeIndent=function(e){this._indent&&this.endsWith("\n")&&"\n"!==e[0]&&this._buf.queue(this._getIndent())},e.prototype._maybeAddParen=function(e){var t=this._parenPushNewlineState;if(t){this._parenPushNewlineState=null;var r=void 0;for(r=0;r2&&void 0!==arguments[2]?arguments[2]:{};if(e&&e.length){r.indent&&this.indent();for(var n={addNewlines:r.addNewlines},i=0;i1&&void 0!==arguments[1])||arguments[1];e.innerComments&&(t&&this.indent(),this._printComments(e.innerComments),t&&this.dedent())},e.prototype.printSequence=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.statement=!0,this.printJoin(e,t,r)},e.prototype.printList=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return null==r.separator&&(r.separator=s),this.printJoin(e,t,r)},e.prototype._printNewline=function(e,t,r,n){var i=this;if(!this.format.retainLines&&!this.format.compact)if(this.format.concise)this.space();else{var s=0;if(null!=t.start&&!t._ignoreUserWhitespace&&this._whitespace)if(e){var a=t.leadingComments,o=a&&(0,p.default)(a,function(e){return!!e.loc&&i.format.shouldPrintComment(e.value)});s=this._whitespace.getNewlinesBefore(o||t)}else{var u=t.trailingComments,l=u&&(0,h.default)(u,function(e){return!!e.loc&&i.format.shouldPrintComment(e.value)});s=this._whitespace.getNewlinesAfter(l||t)}else{e||s++,n.addNewlines&&(s+=n.addNewlines(e,t)||0);var c=y.needsWhitespaceAfter;e&&(c=y.needsWhitespaceBefore),c(t,r)&&s++,this._buf.hasContent()||(s=0)}this.newline(s)}},e.prototype._getComments=function(e,t){return t&&(e?t.leadingComments:t.trailingComments)||[]},e.prototype._printComment=function(e){var t=this;if(this.format.shouldPrintComment(e.value)&&!e.ignore&&!this._printedComments.has(e)){if(this._printedComments.add(e),null!=e.start){if(this._printedCommentStarts[e.start])return;this._printedCommentStarts[e.start]=!0}this.newline(this._whitespace?this._whitespace.getNewlinesBefore(e):0),this.endsWith("[")||this.endsWith("{")||this.space();var r="CommentLine"===e.type?"//"+e.value+"\n":"/*"+e.value+"*/";if("CommentBlock"===e.type&&this.format.indent.adjustMultilineComment){var n=e.loc&&e.loc.start.column;if(n){var i=new RegExp("\\n\\s{1,"+n+"}","g");r=r.replace(i,"\n")}var s=Math.max(this._getIndent().length,this._buf.getCurrentColumn());r=r.replace(/\n(?!$)/g,"\n"+(0,d.default)(" ",s))}this.withSource("start",e.loc,function(){t._append(r)}),this.newline((this._whitespace?this._whitespace.getNewlinesAfter(e):0)+("CommentLine"===e.type?-1:0))}},e.prototype._printComments=function(e){if(e&&e.length)for(var t=e,r=Array.isArray(t),n=0,t=r?t:(0,o.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i;this._printComment(s)}},e}();r.default=A;for(var D=[e("./generators/template-literals"),e("./generators/expressions"),e("./generators/statements"),e("./generators/classes"),e("./generators/methods"),e("./generators/modules"),e("./generators/types"),e("./generators/flow"),e("./generators/base"),e("./generators/jsx")],C=0;C=0){for(;i&&e.start===n[i-1].start;)--i;t=n[i-1],r=n[i]}return this._getNewlinesBetween(t,r)},e.prototype.getNewlinesAfter=function(e){var t=void 0,r=void 0,n=this.tokens,i=this._findToken(function(t){return t.end-e.end},0,n.length);if(i>=0){for(;i&&e.end===n[i-1].end;)--i;t=n[i],","===(r=n[i+1]).type.label&&(r=n[i+2])}return r&&"eof"===r.type.label?1:this._getNewlinesBetween(t,r)},e.prototype._getNewlinesBetween=function(e,t){if(!t||!t.loc)return 0;for(var r=e?e.loc.end.line:1,n=t.loc.start.line,i=0,s=r;s=r)return-1;var n=t+r>>>1,i=e(this.tokens[n]);return i<0?this._findToken(e,n+1,r):i>0?this._findToken(e,t,n):0===i?n:-1},e}();r.default=i,t.exports=r.default},{"babel-runtime/helpers/classCallCheck":134}],92:[function(e,t,r){arguments[4][62][0].apply(r,arguments)},{"./util":101,dup:62}],93:[function(e,t,r){arguments[4][63][0].apply(r,arguments)},{"./base64":94,dup:63}],94:[function(e,t,r){arguments[4][64][0].apply(r,arguments)},{dup:64}],95:[function(e,t,r){arguments[4][65][0].apply(r,arguments)},{dup:65}],96:[function(e,t,r){arguments[4][66][0].apply(r,arguments)},{"./util":101,dup:66}],97:[function(e,t,r){arguments[4][67][0].apply(r,arguments)},{dup:67}],98:[function(e,t,r){arguments[4][68][0].apply(r,arguments)},{"./array-set":92,"./base64-vlq":93,"./binary-search":95,"./quick-sort":97,"./util":101,dup:68}],99:[function(e,t,r){arguments[4][69][0].apply(r,arguments)},{"./array-set":92,"./base64-vlq":93,"./mapping-list":96,"./util":101,dup:69}],100:[function(e,t,r){arguments[4][70][0].apply(r,arguments)},{"./source-map-generator":99,"./util":101,dup:70}],101:[function(e,t,r){arguments[4][71][0].apply(r,arguments)},{dup:71}],102:[function(e,t,r){arguments[4][72][0].apply(r,arguments)},{"./lib/source-map-consumer":98,"./lib/source-map-generator":99,"./lib/source-node":100,dup:72}],103:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=u.objectExpression([]);return(0,s.default)(e).forEach(function(r){var n=e[r],i=u.objectExpression([]),a=u.objectProperty(n._key,i,n._computed);(0,s.default)(n).forEach(function(e){var t=n[e];if("_"!==e[0]){var r=t;(u.isClassMethod(t)||u.isClassProperty(t))&&(t=t.value);var s=u.objectProperty(u.identifier(e),t);u.inheritsComments(s,r),u.removeComments(r),i.properties.push(s)}}),t.properties.push(a)}),t}r.__esModule=!0;var s=n(e("babel-runtime/core-js/object/keys"));r.push=function(e,t,r,n,i){var s=u.toKeyAlias(t),l={};if((0,o.default)(e,s)&&(l=e[s]),e[s]=l,l._inherits=l._inherits||[],l._inherits.push(t),l._key=t.key,t.computed&&(l._computed=!0),t.decorators){var c=l.decorators=l.decorators||u.arrayExpression([]);c.elements=c.elements.concat(t.decorators.map(function(e){return e.expression}).reverse())}if(l.value||l.initializer)throw n.buildCodeFrameError(t,"Key conflict with sibling node");var p=void 0,h=void 0;(u.isObjectProperty(t)||u.isObjectMethod(t)||u.isClassMethod(t))&&(p=u.toComputedKey(t,t.key)),u.isObjectProperty(t)||u.isClassProperty(t)?h=t.value:(u.isObjectMethod(t)||u.isClassMethod(t))&&((h=u.functionExpression(null,t.params,t.body,t.generator,t.async)).returnType=t.returnType);var f=function(e){return!u.isClassMethod(e)&&!u.isObjectMethod(e)||"get"!==e.kind&&"set"!==e.kind?"value":e.kind}(t);return r&&"value"===f||(r=f),i&&u.isStringLiteral(p)&&("value"===r||"initializer"===r)&&u.isFunctionExpression(h)&&(h=(0,a.default)({id:p,node:h,scope:i})),h&&(u.inheritsComments(h,t),l[r]=h),l},r.hasComputed=function(e){for(var t in e)if(e[t]._computed)return!0;return!1},r.toComputedObjectFromClass=function(e){for(var t=u.arrayExpression([]),r=0;r1&&void 0!==arguments[1]&&arguments[1];(0,o.default)(this,e),this.forceSuperMemoisation=t.forceSuperMemoisation,this.methodPath=t.methodPath,this.methodNode=t.methodNode,this.superRef=t.superRef,this.isStatic=t.isStatic,this.hasSuper=!1,this.inClass=r,this.isLoose=t.isLoose,this.scope=this.methodPath.scope,this.file=t.file,this.opts=t,this.bareSupers=[],this.returns=[],this.thises=[]}return e.prototype.getObjectRef=function(){return this.opts.objectRef||this.opts.getObjectRef()},e.prototype.setSuperProperty=function(e,t,r){return p.callExpression(this.file.addHelper("set"),[a(this.getObjectRef(),this.isStatic),r?e:p.stringLiteral(e.name),t,p.thisExpression()])},e.prototype.getSuperProperty=function(e,t){return p.callExpression(this.file.addHelper("get"),[a(this.getObjectRef(),this.isStatic),t?e:p.stringLiteral(e.name),p.thisExpression()])},e.prototype.replace=function(){this.methodPath.traverse(f,this)},e.prototype.getLooseSuperProperty=function(e,t){var r=this.methodNode,n=this.superRef||p.identifier("Function");return t.property===e?void 0:p.isCallExpression(t,{callee:e})?void 0:p.isMemberExpression(t)&&!r.static?p.memberExpression(n,p.identifier("prototype")):n},e.prototype.looseHandle=function(e){var t=e.node;if(e.isSuper())return this.getLooseSuperProperty(t,e.parent);if(e.isCallExpression()){var r=t.callee;if(!p.isMemberExpression(r))return;if(!p.isSuper(r.object))return;return p.appendToMemberExpression(r,p.identifier("call")),t.arguments.unshift(p.thisExpression()),!0}},e.prototype.specHandleAssignmentExpression=function(e,t,r){return"="===r.operator?this.setSuperProperty(r.left.property,r.right,r.left.computed):(e=e||t.scope.generateUidIdentifier("ref"),[p.variableDeclaration("var",[p.variableDeclarator(e,r.left)]),p.expressionStatement(p.assignmentExpression("=",r.left,p.binaryExpression(r.operator[0],e,r.right)))])},e.prototype.specHandle=function(e){var t=void 0,r=void 0,n=void 0,i=e.parent,a=e.node;if(function(e,t){return!!p.isSuper(e)&&!p.isMemberExpression(t,{computed:!1})&&!p.isCallExpression(t,{callee:e})}(a,i))throw e.buildCodeFrameError(c.get("classesIllegalBareSuper"));if(p.isCallExpression(a)){var o=a.callee;if(p.isSuper(o))return;s(o)&&(t=o.property,r=o.computed,n=a.arguments)}else if(p.isMemberExpression(a)&&p.isSuper(a.object))t=a.property,r=a.computed;else{if(p.isUpdateExpression(a)&&s(a.argument)){var u=p.binaryExpression(a.operator[0],a.argument,p.numericLiteral(1));if(a.prefix)return this.specHandleAssignmentExpression(null,e,u);var l=e.scope.generateUidIdentifier("ref");return this.specHandleAssignmentExpression(l,e,u).concat(p.expressionStatement(l))}if(p.isAssignmentExpression(a)&&s(a.left))return this.specHandleAssignmentExpression(null,e,a)}if(t){var h=this.getSuperProperty(t,r);return n?this.optimiseCall(h,n):h}},e.prototype.optimiseCall=function(e,t){var r=p.thisExpression();return r[h]=!0,(0,l.default)(e,r,t)},e}();r.default=d,t.exports=r.default},{"babel-helper-optimise-call-expression":106,"babel-messages":110,"babel-runtime/core-js/symbol":129,"babel-runtime/helpers/classCallCheck":134,"babel-types":178}],108:[function(e,t,r){"use strict";r.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-template")),i={};r.default=i,i.typeof=(0,n.default)('\n (typeof Symbol === "function" && typeof Symbol.iterator === "symbol")\n ? function (obj) { return typeof obj; }\n : function (obj) {\n return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype\n ? "symbol"\n : typeof obj;\n };\n'),i.jsx=(0,n.default)('\n (function () {\n var REACT_ELEMENT_TYPE = (typeof Symbol === "function" && Symbol.for && Symbol.for("react.element")) || 0xeac7;\n\n return function createRawReactElement (type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n // If we\'re going to assign props.children, we create a new object now\n // to avoid mutating defaultProps.\n props = {};\n }\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : \'\' + key,\n ref: null,\n props: props,\n _owner: null,\n };\n };\n\n })()\n'),i.asyncIterator=(0,n.default)('\n (function (iterable) {\n if (typeof Symbol === "function") {\n if (Symbol.asyncIterator) {\n var method = iterable[Symbol.asyncIterator];\n if (method != null) return method.call(iterable);\n }\n if (Symbol.iterator) {\n return iterable[Symbol.iterator]();\n }\n }\n throw new TypeError("Object is not async iterable");\n })\n'),i.asyncGenerator=(0,n.default)('\n (function () {\n function AwaitValue(value) {\n this.value = value;\n }\n\n function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg)\n var value = result.value;\n if (value instanceof AwaitValue) {\n Promise.resolve(value.value).then(\n function (arg) { resume("next", arg); },\n function (arg) { resume("throw", arg); });\n } else {\n settle(result.done ? "return" : "normal", result.value);\n }\n } catch (err) {\n settle("throw", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case "return":\n front.resolve({ value: value, done: true });\n break;\n case "throw":\n front.reject(value);\n break;\n default:\n front.resolve({ value: value, done: false });\n break;\n }\n\n front = front.next;\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n // Hide "return" method if generator return is not supported\n if (typeof gen.return !== "function") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === "function" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; };\n }\n\n AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };\n AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };\n AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };\n\n return {\n wrap: function (fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n },\n await: function (value) {\n return new AwaitValue(value);\n }\n };\n\n })()\n'),i.asyncGeneratorDelegate=(0,n.default)('\n (function (inner, awaitWrap) {\n var iter = {}, waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) { resolve(inner[key](value)); });\n return { done: false, value: awaitWrap(value) };\n };\n\n if (typeof Symbol === "function" && Symbol.iterator) {\n iter[Symbol.iterator] = function () { return this; };\n }\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump("next", value);\n };\n\n if (typeof inner.throw === "function") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n return pump("throw", value);\n };\n }\n\n if (typeof inner.return === "function") {\n iter.return = function (value) {\n return pump("return", value);\n };\n }\n\n return iter;\n })\n'),i.asyncToGenerator=(0,n.default)('\n (function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new Promise(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return Promise.resolve(value).then(function (value) {\n step("next", value);\n }, function (err) {\n step("throw", err);\n });\n }\n }\n\n return step("next");\n });\n };\n })\n'),i.classCallCheck=(0,n.default)('\n (function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n });\n'),i.createClass=(0,n.default)('\n (function() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i ++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n })()\n'),i.defineEnumerableProperties=(0,n.default)('\n (function (obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if ("value" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n return obj;\n })\n'),i.defaults=(0,n.default)("\n (function (obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n return obj;\n })\n"),i.defineProperty=(0,n.default)("\n (function (obj, key, value) {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n });\n"),i.extends=(0,n.default)("\n Object.assign || (function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n })\n"),i.get=(0,n.default)('\n (function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if ("value" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n });\n'),i.inherits=(0,n.default)('\n (function (subClass, superClass) {\n if (typeof superClass !== "function" && superClass !== null) {\n throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n })\n'),i.instanceof=(0,n.default)('\n (function (left, right) {\n if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n });\n'),i.interopRequireDefault=(0,n.default)("\n (function (obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n })\n"),i.interopRequireWildcard=(0,n.default)("\n (function (obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n newObj.default = obj;\n return newObj;\n }\n })\n"),i.newArrowCheck=(0,n.default)('\n (function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError("Cannot instantiate an arrow function");\n }\n });\n'),i.objectDestructuringEmpty=(0,n.default)('\n (function (obj) {\n if (obj == null) throw new TypeError("Cannot destructure undefined");\n });\n'),i.objectWithoutProperties=(0,n.default)("\n (function (obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n })\n"),i.possibleConstructorReturn=(0,n.default)('\n (function (self, call) {\n if (!self) {\n throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");\n }\n return call && (typeof call === "object" || typeof call === "function") ? call : self;\n });\n'),i.selfGlobal=(0,n.default)('\n typeof global === "undefined" ? self : global\n'),i.set=(0,n.default)('\n (function set(object, property, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent !== null) {\n set(parent, property, value, receiver);\n }\n } else if ("value" in desc && desc.writable) {\n desc.value = value;\n } else {\n var setter = desc.set;\n\n if (setter !== undefined) {\n setter.call(receiver, value);\n }\n }\n\n return value;\n });\n'),i.slicedToArray=(0,n.default)('\n (function () {\n // Broken out into a separate function to avoid deoptimizations due to the try/catch for the\n // array iterator case.\n function sliceIterator(arr, i) {\n // this is an expanded form of `for...of` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliancy is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i["return"]) _i["return"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError("Invalid attempt to destructure non-iterable instance");\n }\n };\n })();\n'),i.slicedToArrayLoose=(0,n.default)('\n (function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n var _arr = [];\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n if (i && _arr.length === i) break;\n }\n return _arr;\n } else {\n throw new TypeError("Invalid attempt to destructure non-iterable instance");\n }\n });\n'),i.taggedTemplateLiteral=(0,n.default)("\n (function (strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: { value: Object.freeze(raw) }\n }));\n });\n"),i.taggedTemplateLiteralLoose=(0,n.default)("\n (function (strings, raw) {\n strings.raw = raw;\n return strings;\n });\n"),i.temporalRef=(0,n.default)('\n (function (val, name, undef) {\n if (val === undef) {\n throw new ReferenceError(name + " is not defined - temporal dead zone");\n } else {\n return val;\n }\n })\n'),i.temporalUndefined=(0,n.default)("\n ({})\n"),i.toArray=(0,n.default)("\n (function (arr) {\n return Array.isArray(arr) ? arr : Array.from(arr);\n });\n"),i.toConsumableArray=(0,n.default)("\n (function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n return arr2;\n } else {\n return Array.from(arr);\n }\n });\n"),t.exports=r.default},{"babel-template":139}],109:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=a.default[e];if(!t)throw new ReferenceError("Unknown helper "+e);return t().expression}r.__esModule=!0,r.list=void 0;var s=n(e("babel-runtime/core-js/object/keys"));r.get=i;var a=n(e("./helpers"));r.list=(0,s.default)(a.default).map(function(e){return e.replace(/^_/,"")}).filter(function(e){return"__esModule"!==e});r.default=i},{"./helpers":108,"babel-runtime/core-js/object/keys":127}],110:[function(e,t,r){"use strict";function n(e){return e.map(function(e){if(null!=e&&e.inspect)return e.inspect();try{return(0,i.default)(e)||e+""}catch(t){return s.inspect(e)}})}r.__esModule=!0,r.MESSAGES=void 0;var i=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/json/stringify"));r.get=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),s=1;s4&&void 0!==arguments[4]&&arguments[4];if(t||(t=e.node),!h.isFor(r))for(var s=0;s0&&e.traverse(g,t),e.skip()}},p.visitor]),g=c.default.visitors.merge([{ReferencedIdentifier:function(e,t){var r=t.letReferences[e.node.name];if(r){var n=e.scope.getBindingIdentifier(e.node.name);n&&n!==r||(t.closurify=!0)}}},p.visitor]),b={enter:function(e,t){var r=e.node;e.parent;if(e.isForStatement()){if(a(r.init)){var n=t.pushDeclar(r.init);1===n.length?r.init=n[0]:r.init=h.sequenceExpression(n)}}else if(e.isFor())a(r.left)&&(t.pushDeclar(r.left),r.left=r.left.declarations[0].id);else if(a(r))e.replaceWithMultiple(t.pushDeclar(r).map(function(e){return h.expressionStatement(e)}));else if(e.isFunction())return e.skip()}},v={LabeledStatement:function(e,t){var r=e.node;t.innerLabels.push(r.label.name)}},x={enter:function(e,t){if(e.isAssignmentExpression()||e.isUpdateExpression()){var r=e.getBindingIdentifiers();for(var n in r)t.outsideReferences[n]===e.scope.getBindingIdentifier(n)&&(t.reassignments[n]=!0)}}},E={Loop:function(e,t){var r=t.ignoreLabeless;t.ignoreLabeless=!0,e.traverse(E,t),t.ignoreLabeless=r,e.skip()},Function:function(e){e.skip()},SwitchCase:function(e,t){var r=t.inSwitchCase;t.inSwitchCase=!0,e.traverse(E,t),t.inSwitchCase=r,e.skip()},"BreakStatement|ContinueStatement|ReturnStatement":function(e,t){var r=e.node,n=e.parent,i=e.scope;if(!r[this.LOOP_IGNORE]){var s=void 0,a=function(e){return h.isBreakStatement(e)?"break":h.isContinueStatement(e)?"continue":void 0}(r);if(a){if(r.label){if(t.innerLabels.indexOf(r.label.name)>=0)return;a=a+"|"+r.label.name}else{if(t.ignoreLabeless)return;if(t.inSwitchCase)return;if(h.isBreakStatement(r)&&h.isSwitchCase(n))return}t.hasBreakContinue=!0,t.map[a]=r,s=h.stringLiteral(a)}e.isReturnStatement()&&(t.hasReturn=!0,s=h.objectExpression([h.objectProperty(h.identifier("v"),r.argument||i.buildUndefinedNode())])),s&&((s=h.returnStatement(s))[this.LOOP_IGNORE]=!0,e.skip(),e.replaceWith(h.inherits(s,r)))}}},A=function(){function e(t,r,n,i,s){(0,l.default)(this,e),this.parent=n,this.scope=i,this.file=s,this.blockPath=r,this.block=r.node,this.outsideLetReferences=(0,u.default)(null),this.hasLetReferences=!1,this.letReferences=(0,u.default)(null),this.body=[],t&&(this.loopParent=t.parent,this.loopLabel=h.isLabeledStatement(this.loopParent)&&this.loopParent.label,this.loopPath=t,this.loop=t.node)}return e.prototype.run=function(){var e=this.block;if(!e._letDone){e._letDone=!0;var t=this.getLetReferences();if(h.isFunction(this.parent)||h.isProgram(this.block))this.updateScopeInfo();else if(this.hasLetReferences)return t?this.wrapClosure():this.remap(),this.updateScopeInfo(t),this.loopLabel&&!h.isLabeledStatement(this.loopParent)?h.labeledStatement(this.loopLabel,this.loop):void 0}},e.prototype.updateScopeInfo=function(e){var t=this.scope,r=t.getFunctionParent(),n=this.letReferences;for(var i in n){var s=n[i],a=t.getBinding(s.name);a&&("let"!==a.kind&&"const"!==a.kind||(a.kind="var",e?t.removeBinding(s.name):t.moveBindingTo(s.name,r)))}},e.prototype.remap=function(){var e=this.letReferences,t=this.scope;for(var r in e){var n=e[r];(t.parentHasBinding(r)||t.hasGlobal(r))&&(t.hasOwnBinding(r)&&t.rename(n.name),this.blockPath.scope.hasOwnBinding(r)&&this.blockPath.scope.rename(n.name))}},e.prototype.wrapClosure=function(){if(this.file.opts.throwIfClosureRequired)throw this.blockPath.buildCodeFrameError("Compiling let/const in this block would add a closure (throwIfClosureRequired).");var e=this.block,t=this.outsideLetReferences;if(this.loop)for(var r in t){var n=t[r];(this.scope.hasGlobal(n.name)||this.scope.parentHasBinding(n.name))&&(delete t[n.name],delete this.letReferences[n.name],this.scope.rename(n.name),this.letReferences[n.name]=n,t[n.name]=n)}this.has=this.checkLoop(),this.hoistVarDeclarations();var i=(0,f.default)(t),s=(0,f.default)(t),a=this.blockPath.isSwitchStatement(),o=h.functionExpression(null,i,h.blockStatement(a?[e]:e.body));o.shadow=!0,this.addContinuations(o);var u=o;this.loop&&(u=this.scope.generateUidIdentifier("loop"),this.loopPath.insertBefore(h.variableDeclaration("var",[h.variableDeclarator(u,o)])));var l=h.callExpression(u,s),p=this.scope.generateUidIdentifier("ret");c.default.hasType(o.body,this.scope,"YieldExpression",h.FUNCTION_TYPES)&&(o.generator=!0,l=h.yieldExpression(l,!0));c.default.hasType(o.body,this.scope,"AwaitExpression",h.FUNCTION_TYPES)&&(o.async=!0,l=h.awaitExpression(l)),this.buildClosure(p,l),a?this.blockPath.replaceWithMultiple(this.body):e.body=this.body},e.prototype.buildClosure=function(e,t){var r=this.has;r.hasReturn||r.hasBreakContinue?this.buildHas(e,t):this.body.push(h.expressionStatement(t))},e.prototype.addContinuations=function(e){var t={reassignments:{},outsideReferences:this.outsideLetReferences};this.scope.traverse(e,x,t);for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:"value",n=arguments[3],i=void 0;e.static?(this.hasStaticDescriptors=!0,i=this.staticMutatorMap):(this.hasInstanceDescriptors=!0,i=this.instanceMutatorMap);var s=c.push(i,e,r,this.file,n);return t&&(s.enumerable=h.booleanLiteral(!0)),s},e.prototype.constructorMeMaybe=function(){for(var e=!1,t=this.path.get("body.body"),r=Array.isArray(t),n=0,t=r?t:(0,s.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}if(e=i.equals("kind","constructor"))break}if(!e){var a=void 0,o=void 0;if(this.isDerived){var u=f().expression;a=u.params,o=u.body}else a=[],o=h.blockStatement([]);this.path.get("body").unshiftContainer("body",h.classMethod("constructor",h.identifier("constructor"),a,o))}},e.prototype.buildBody=function(){if(this.constructorMeMaybe(),this.pushBody(),this.verifyConstructor(),this.userConstructor){var e=this.constructorBody;e.body=e.body.concat(this.userConstructor.body.body),h.inherits(this.constructor,this.userConstructor),h.inherits(e,this.userConstructor.body)}this.pushDescriptors()},e.prototype.pushBody=function(){for(var e=this.path.get("body.body"),t=Array.isArray(e),r=0,e=t?e:(0,s.default)(e);;){var n;if(t){if(r>=e.length)break;n=e[r++]}else{if((r=e.next()).done)break;n=r.value}var i=n,a=i.node;if(i.isClassProperty())throw i.buildCodeFrameError("Missing class properties transform.");if(a.decorators)throw i.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one.");if(h.isClassMethod(a)){var o="constructor"===a.kind;if(o&&(i.traverse(m,this),!this.hasBareSuper&&this.isDerived))throw i.buildCodeFrameError("missing super() call in constructor");var l=new u.default({forceSuperMemoisation:o,methodPath:i,methodNode:a,objectRef:this.classRef,superRef:this.superName,isStatic:a.static,isLoose:this.isLoose,scope:this.scope,file:this.file},!0);l.replace(),o?this.pushConstructor(l,a,i):this.pushMethod(a,i)}}},e.prototype.clearDescriptors=function(){this.hasInstanceDescriptors=!1,this.hasStaticDescriptors=!1,this.instanceMutatorMap={},this.staticMutatorMap={}},e.prototype.pushDescriptors=function(){this.pushInherits();var e=this.body,t=void 0,r=void 0;if(this.hasInstanceDescriptors&&(t=c.toClassObject(this.instanceMutatorMap)),this.hasStaticDescriptors&&(r=c.toClassObject(this.staticMutatorMap)),t||r){t&&(t=c.toComputedObjectFromClass(t)),r&&(r=c.toComputedObjectFromClass(r));var n=h.nullLiteral(),i=[this.classRef,n,n,n,n];t&&(i[1]=t),r&&(i[2]=r),this.instanceInitializersId&&(i[3]=this.instanceInitializersId,e.unshift(this.buildObjectAssignment(this.instanceInitializersId))),this.staticInitializersId&&(i[4]=this.staticInitializersId,e.unshift(this.buildObjectAssignment(this.staticInitializersId)));for(var s=0,a=0;a=o.length)break;c=o[l++]}else{if((l=o.next()).done)break;c=l.value}var p=c;this.wrapSuperCall(p,i,a,r),n&&p.find(function(e){return e===t||(e.isLoop()||e.isConditional()?(n=!1,!0):void 0)})}for(var f=this.superThises,d=Array.isArray(f),m=0,f=d?f:(0,s.default)(f);;){var g;if(d){if(m>=f.length)break;g=f[m++]}else{if((m=f.next()).done)break;g=m.value}g.replaceWith(a)}var b=function(t){return h.callExpression(e.file.addHelper("possibleConstructorReturn"),[a].concat(t||[]))},v=r.get("body");v.length&&!v.pop().isReturnStatement()&&r.pushContainer("body",h.returnStatement(n?a:b()));for(var x=this.superReturns,E=Array.isArray(x),A=0,x=E?x:(0,s.default)(x);;){var D;if(E){if(A>=x.length)break;D=x[A++]}else{if((A=x.next()).done)break;D=A.value}var C=D;if(C.node.argument){var S=C.scope.generateDeclaredUidIdentifier("ret");C.get("argument").replaceWithMultiple([h.assignmentExpression("=",S,C.node.argument),b(S)])}else C.get("argument").replaceWith(b())}}},e.prototype.pushMethod=function(e,t){var r=t?t.scope:this.scope;"method"===e.kind&&this._processMethod(e,r)||this.pushToMap(e,!1,null,r)},e.prototype._processMethod=function(){return!1},e.prototype.pushConstructor=function(e,t,r){this.bareSupers=e.bareSupers,this.superReturns=e.returns,r.scope.hasOwnBinding(this.classRef.name)&&r.scope.rename(this.classRef.name);var n=this.constructor;this.userConstructorPath=r,this.userConstructor=t,this.hasConstructor=!0,h.inheritsComments(n,t),n._ignoreUserWhitespace=!0,n.params=t.params,h.inherits(n.body,t.body),n.body.directives=t.body.directives,this._pushConstructor()},e.prototype._pushConstructor=function(){this.pushedConstructor||(this.pushedConstructor=!0,(this.hasInstanceDescriptors||this.hasStaticDescriptors)&&this.pushDescriptors(),this.body.push(this.constructor),this.pushInherits())},e.prototype.pushInherits=function(){this.isDerived&&!this.pushedInherits&&(this.pushedInherits=!0,this.body.unshift(h.expressionStatement(h.callExpression(this.file.addHelper("inherits"),[this.classRef,this.superName]))))},e}();r.default=g,t.exports=r.default},{"babel-helper-define-map":103,"babel-helper-optimise-call-expression":106,"babel-helper-replace-supers":107,"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/classCallCheck":134,"babel-template":139,"babel-traverse":143,"babel-types":178}],119:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){function t(e){var t=e.node,r=e.scope,n=[],i=t.right;if(!a.isIdentifier(i)||!r.hasBinding(i.name)){var s=r.generateUidIdentifier("arr");n.push(a.variableDeclaration("var",[a.variableDeclarator(s,i)])),i=s}var u=r.generateUidIdentifier("i"),l=o({BODY:t.body,KEY:u,ARR:i});a.inherits(l,t),a.ensureBlock(l);var c=a.memberExpression(i,u,!0),p=t.left;return a.isVariableDeclaration(p)?(p.declarations[0].init=c,l.body.body.unshift(p)):l.body.body.unshift(a.expressionStatement(a.assignmentExpression("=",p,c))),e.parentPath.isLabeledStatement()&&(l=a.labeledStatement(e.parentPath.node.label,l)),n.push(l),n}function r(e,t){var r=e.node,n=e.scope,s=e.parent,o=r.left,l=void 0,c=void 0;if(a.isIdentifier(o)||a.isPattern(o)||a.isMemberExpression(o))c=o;else{if(!a.isVariableDeclaration(o))throw t.buildCodeFrameError(o,i.get("unknownForHead",o.type));c=n.generateUidIdentifier("ref"),l=a.variableDeclaration(o.kind,[a.variableDeclarator(o.declarations[0].id,c)])}var p=n.generateUidIdentifier("iterator"),h=n.generateUidIdentifier("isArray"),f=u({LOOP_OBJECT:p,IS_ARRAY:h,OBJECT:r.right,INDEX:n.generateUidIdentifier("i"),ID:c});l||f.body.body.shift();var d=a.isLabeledStatement(s),m=void 0;return d&&(m=a.labeledStatement(s.label,f)),{replaceParent:d,declar:l,node:m||f,loop:f}}function n(e,t){var r=e.node,n=e.scope,s=e.parent,o=r.left,u=void 0,c=n.generateUidIdentifier("step"),p=a.memberExpression(c,a.identifier("value"));if(a.isIdentifier(o)||a.isPattern(o)||a.isMemberExpression(o))u=a.expressionStatement(a.assignmentExpression("=",o,p));else{if(!a.isVariableDeclaration(o))throw t.buildCodeFrameError(o,i.get("unknownForHead",o.type));u=a.variableDeclaration(o.kind,[a.variableDeclarator(o.declarations[0].id,p)])}var h=n.generateUidIdentifier("iterator"),f=l({ITERATOR_HAD_ERROR_KEY:n.generateUidIdentifier("didIteratorError"),ITERATOR_COMPLETION:n.generateUidIdentifier("iteratorNormalCompletion"),ITERATOR_ERROR_KEY:n.generateUidIdentifier("iteratorError"),ITERATOR_KEY:h,STEP_KEY:c,OBJECT:r.right,BODY:null}),d=a.isLabeledStatement(s),m=f[3].block.body,y=m[0];return d&&(m[0]=a.labeledStatement(s.label,y)),{replaceParent:d,declar:u,loop:y,node:f}}var i=e.messages,s=e.template,a=e.types,o=s("\n for (var KEY = 0; KEY < ARR.length; KEY++) BODY;\n "),u=s("\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n var ID;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n "),l=s("\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY; !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done); ITERATOR_COMPLETION = true) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n ");return{visitor:{ForOfStatement:function(e,i){if(e.get("right").isArrayExpression())return e.parentPath.isLabeledStatement()?e.parentPath.replaceWithMultiple(t(e)):e.replaceWithMultiple(t(e));var s=n;i.opts.loose&&(s=r);var o=e.node,u=s(e,i),l=u.declar,c=u.loop,p=c.body;e.ensureBlock(),l&&p.body.push(l),p.body=p.body.concat(o.body.body),a.inherits(c,o),a.inherits(c.body,o.body),u.replaceParent?(e.parentPath.replaceWithMultiple(u.node),e.remove()):e.replaceWithMultiple(u.node)}}}},t.exports=r.default},{}],120:[function(e,t,r){t.exports={default:e("core-js/library/fn/get-iterator"),__esModule:!0}},{"core-js/library/fn/get-iterator":194}],121:[function(e,t,r){t.exports={default:e("core-js/library/fn/json/stringify"),__esModule:!0}},{"core-js/library/fn/json/stringify":195}],122:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":196}],123:[function(e,t,r){t.exports={default:e("core-js/library/fn/number/max-safe-integer"),__esModule:!0}},{"core-js/library/fn/number/max-safe-integer":197}],124:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":198}],125:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":199}],126:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-symbols"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-symbols":200}],127:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/keys"),__esModule:!0}},{"core-js/library/fn/object/keys":201}],128:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/set-prototype-of"),__esModule:!0}},{"core-js/library/fn/object/set-prototype-of":202}],129:[function(e,t,r){t.exports={default:e("core-js/library/fn/symbol"),__esModule:!0}},{"core-js/library/fn/symbol":204}],130:[function(e,t,r){t.exports={default:e("core-js/library/fn/symbol/for"),__esModule:!0}},{"core-js/library/fn/symbol/for":203}],131:[function(e,t,r){t.exports={default:e("core-js/library/fn/symbol/iterator"),__esModule:!0}},{"core-js/library/fn/symbol/iterator":205}],132:[function(e,t,r){t.exports={default:e("core-js/library/fn/weak-map"),__esModule:!0}},{"core-js/library/fn/weak-map":206}],133:[function(e,t,r){t.exports={default:e("core-js/library/fn/weak-set"),__esModule:!0}},{"core-js/library/fn/weak-set":207}],134:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},{}],135:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("../core-js/object/set-prototype-of")),s=n(e("../core-js/object/create")),a=n(e("../helpers/typeof"));r.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,a.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(i.default?(0,i.default)(e,t):e.__proto__=t)}},{"../core-js/object/create":125,"../core-js/object/set-prototype-of":128,"../helpers/typeof":138}],136:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}},{}],137:[function(e,t,r){"use strict";r.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("../helpers/typeof"));r.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,n.default)(t))&&"function"!=typeof t?e:t}},{"../helpers/typeof":138}],138:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("../core-js/symbol/iterator")),s=n(e("../core-js/symbol")),a="function"==typeof s.default&&"symbol"==typeof i.default?function(e){return typeof e}:function(e){return e&&"function"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":typeof e};r.default="function"==typeof s.default&&"symbol"===a(i.default)?function(e){return void 0===e?"undefined":a(e)}:function(e){return e&&"function"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":void 0===e?"undefined":a(e)}},{"../core-js/symbol":129,"../core-js/symbol/iterator":131}],139:[function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var s=i(e("babel-runtime/core-js/symbol"));r.default=function(e,t){var r=void 0;try{throw new Error}catch(e){e.stack&&(r=e.stack.split("\n").slice(1).join("\n"))}t=(0,o.default)({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,preserveComments:!1},t);var n=function(){var i=void 0;try{i=c.parse(e,t),i=l.default.removeProperties(i,{preserveComments:t.preserveComments}),l.default.cheap(i,function(e){e[h]=!0})}catch(e){throw e.stack=e.stack+"from\n"+r,e}return n=function(){return i},i};return function(){for(var e=arguments.length,t=Array(e),r=0;r1?r.body:r.body[0]}(n(),t)}};var a=i(e("lodash/cloneDeep")),o=i(e("lodash/assign")),u=i(e("lodash/has")),l=i(e("babel-traverse")),c=n(e("babylon")),p=n(e("babel-types")),h="_fromTemplate",f=(0,s.default)(),d={noScope:!0,enter:function(e,t){var r=e.node;if(r[f])return e.skip();p.isExpressionStatement(r)&&(r=r.expression);var n=void 0;if(p.isIdentifier(r)&&r[h])if((0,u.default)(t[0],r.name))n=t[0][r.name];else if("$"===r.name[0]){var i=+r.name.slice(1);t[i]&&(n=t[i])}null===n&&e.remove(),n&&(n[f]=!0,e.replaceInline(n))},exit:function(e){var t=e.node;t.loc||l.default.clearNode(t)}};t.exports=r.default},{"babel-runtime/core-js/symbol":129,"babel-traverse":143,"babel-types":178,babylon:186,"lodash/assign":488,"lodash/cloneDeep":492,"lodash/has":504}],140:[function(e,t,r){"use strict";function n(){r.path=a=new s.default}function i(){r.scope=o=new s.default}r.__esModule=!0,r.scope=r.path=void 0;var s=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/weak-map"));r.clear=function(){n(),i()},r.clearPath=n,r.clearScope=i;var a=r.path=new s.default,o=r.scope=new s.default},{"babel-runtime/core-js/weak-map":132}],141:[function(e,t,r){(function(n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var s=i(e("babel-runtime/core-js/get-iterator")),a=i(e("babel-runtime/helpers/classCallCheck")),o=i(e("./path")),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types")),l="test"===n.env.NODE_ENV,c=function(){function e(t,r,n,i){(0,a.default)(this,e),this.queue=null,this.parentPath=i,this.scope=t,this.state=n,this.opts=r}return e.prototype.shouldVisit=function(e){var t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;var r=u.VISITOR_KEYS[e.type];if(!r||!r.length)return!1;for(var n=r,i=Array.isArray(n),a=0,n=i?n:(0,s.default)(n);;){var o;if(i){if(a>=n.length)break;o=n[a++]}else{if((a=n.next()).done)break;o=a.value}if(e[o])return!0}return!1},e.prototype.create=function(e,t,r,n){return o.default.get({parentPath:this.parentPath,parent:e,container:t,key:r,listKey:n})},e.prototype.maybeQueue=function(e,t){if(this.trap)throw new Error("Infinite cycle detected");this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))},e.prototype.visitMultiple=function(e,t,r){if(0===e.length)return!1;for(var n=[],i=0;i=n.length)break;o=n[a++]}else{if((a=n.next()).done)break;o=a.value}var u=o;if(u.resync(),0!==u.contexts.length&&u.contexts[u.contexts.length-1]===this||u.pushContext(this),null!==u.key&&(l&&e.length>=1e4&&(this.trap=!0),!(t.indexOf(u.node)>=0))){if(t.push(u.node),u.visit()){r=!0;break}if(this.priorityQueue.length&&(r=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,r))break}}for(var c=e,p=Array.isArray(c),h=0,c=p?c:(0,s.default)(c);;){var f;if(p){if(h>=c.length)break;f=c[h++]}else{if((h=c.next()).done)break;f=h.value}f.popContext()}return this.queue=null,r},e.prototype.visit=function(e,t){var r=e[t];return!!r&&(Array.isArray(r)?this.visitMultiple(r,e,t):this.visitSingle(e,t))},e}();r.default=c,t.exports=r.default}).call(this,e("_process"))},{"./path":150,_process:550,"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/classCallCheck":134,"babel-types":178}],142:[function(e,t,r){"use strict";r.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/helpers/classCallCheck"));r.default=function e(t,r){(0,n.default)(this,e),this.file=t,this.options=r},t.exports=r.default},{"babel-runtime/helpers/classCallCheck":134}],143:[function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t,r,n,i){if(e){if(t||(t={}),!t.noScope&&!r&&"Program"!==e.type&&"File"!==e.type)throw new Error(f.get("traverseNeedsParent",e.type));h.explode(t),s.node(e,t,r,n,i)}}function a(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}r.__esModule=!0,r.visitors=r.Hub=r.Scope=r.NodePath=void 0;var o=i(e("babel-runtime/core-js/get-iterator")),u=e("./path");Object.defineProperty(r,"NodePath",{enumerable:!0,get:function(){return i(u).default}});var l=e("./scope");Object.defineProperty(r,"Scope",{enumerable:!0,get:function(){return i(l).default}});var c=e("./hub");Object.defineProperty(r,"Hub",{enumerable:!0,get:function(){return i(c).default}}),r.default=s;var p=i(e("./context")),h=n(e("./visitors")),f=n(e("babel-messages")),d=i(e("lodash/includes")),m=n(e("babel-types")),y=n(e("./cache"));r.visitors=h,s.visitors=h,s.verify=h.verify,s.explode=h.explode,s.NodePath=e("./path"),s.Scope=e("./scope"),s.Hub=e("./hub"),s.cheap=function(e,t){return m.traverseFast(e,t)},s.node=function(e,t,r,n,i,s){var a=m.VISITOR_KEYS[e.type];if(a)for(var u=new p.default(r,t,n,i),l=a,c=Array.isArray(l),h=0,l=c?l:(0,o.default)(l);;){var f;if(c){if(h>=l.length)break;f=l[h++]}else{if((h=l.next()).done)break;f=h.value}var d=f;if((!s||!s[d])&&u.visit(e,d))return}},s.clearNode=function(e,t){m.removeProperties(e,t),y.path.delete(e)},s.removeProperties=function(e,t){return m.traverseFast(e,s.clearNode,t),e},s.hasType=function(e,t,r,n){if((0,d.default)(n,e.type))return!1;if(e.type===r)return!0;var i={has:!1,type:r};return s(e,{blacklist:n,enter:a},t,i),i.has},(s.clearCache=function(){y.clear()}).clearPath=y.clearPath,s.clearCache.clearScope=y.clearScope,s.copyCache=function(e,t){y.path.has(e)&&y.path.set(t,y.path.get(e))}},{"./cache":140,"./context":141,"./hub":142,"./path":150,"./scope":162,"./visitors":164,"babel-messages":110,"babel-runtime/core-js/get-iterator":120,"babel-types":178,"lodash/includes":507}],144:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/get-iterator"));r.findParent=function(e){for(var t=this;t=t.parentPath;)if(e(t))return t;return null},r.find=function(e){var t=this;do{if(e(t))return t}while(t=t.parentPath);return null},r.getFunctionParent=function(){return this.findParent(function(e){return e.isFunction()||e.isProgram()})},r.getStatementParent=function(){var e=this;do{if(Array.isArray(e.container))return e}while(e=e.parentPath)},r.getEarliestCommonAncestorFrom=function(e){return this.getDeepestCommonAncestorFrom(e,function(e,t,r){for(var n=void 0,a=s.VISITOR_KEYS[e.type],o=r,u=Array.isArray(o),l=0,o=u?o:(0,i.default)(o);;){var c;if(u){if(l>=o.length)break;c=o[l++]}else{if((l=o.next()).done)break;c=l.value}var p=c[t+1];n?p.listKey&&n.listKey===p.listKey&&p.keya.indexOf(p.parentKey)&&(n=p):n=p}return n})},r.getDeepestCommonAncestorFrom=function(e,t){var r=this;if(!e.length)return this;if(1===e.length)return e[0];var n=1/0,s=void 0,a=void 0,o=e.map(function(e){var t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==r);return t.length=p.length)break;d=p[f++]}else{if((f=p.next()).done)break;d=f.value}if(d[l]!==c)break e}s=l,a=c}if(a)return t?t(a,s,o):a;throw new Error("Couldn't find intersection")},r.getAncestry=function(){var e=this,t=[];do{t.push(e)}while(e=e.parentPath);return t},r.isAncestor=function(e){return e.isDescendant(this)},r.isDescendant=function(e){return!!this.findParent(function(t){return t===e})},r.inType=function(){for(var e=this;e;){for(var t=arguments,r=Array.isArray(t),n=0,t=r?t:(0,i.default)(t);;){var s;if(r){if(n>=t.length)break;s=t[n++]}else{if((n=t.next()).done)break;s=n.value}var a=s;if(e.node.type===a)return!0}e=e.parentPath}return!1},r.inShadow=function(e){var t=this.isFunction()?this:this.findParent(function(e){return e.isFunction()});if(t){if(t.isFunctionExpression()||t.isFunctionDeclaration()){var r=t.node.shadow;if(r&&(!e||!1!==r[e]))return t}else if(t.isArrowFunctionExpression())return t;return null}};var s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));n(e("./index"))},{"./index":150,"babel-runtime/core-js/get-iterator":120,"babel-types":178}],145:[function(e,t,r){"use strict";r.__esModule=!0,r.shareCommentsWithSiblings=function(){if("string"!=typeof this.key){var e=this.node;if(e){var t=e.trailingComments,r=e.leadingComments;if(t||r){var n=this.getSibling(this.key-1),i=this.getSibling(this.key+1);n.node||(n=i),i.node||(i=n),n.addComments("trailing",r),i.addComments("leading",t)}}}},r.addComment=function(e,t,r){this.addComments(e,[{type:r?"CommentLine":"CommentBlock",value:t}])},r.addComments=function(e,t){if(t){var r=this.node;if(r){var n=e+"Comments";r[n]?r[n]=r[n].concat(t):r[n]=t}}}},{}],146:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/get-iterator"));r.call=function(e){var t=this.opts;return this.debug(function(){return e}),!(!this.node||!this._call(t[e]))||!!this.node&&this._call(t[this.node.type]&&t[this.node.type][e])},r._call=function(e){if(!e)return!1;for(var t=e,r=Array.isArray(t),n=0,t=r?t:(0,i.default)(t);;){var s;if(r){if(n>=t.length)break;s=t[n++]}else{if((n=t.next()).done)break;s=n.value}var a=s;if(a){var o=this.node;if(!o)return!0;if(a.call(this.state,this,this.state))throw new Error("Unexpected return value from visitor method "+a);if(this.node!==o)return!0;if(this.shouldStop||this.shouldSkip||this.removed)return!0}}return!1},r.isBlacklisted=function(){var e=this.opts.blacklist;return e&&e.indexOf(this.node.type)>-1},r.visit=function(){return!!this.node&&!this.isBlacklisted()&&(!this.opts.shouldSkip||!this.opts.shouldSkip(this))&&(this.call("enter")||this.shouldSkip?(this.debug(function(){return"Skip..."}),this.shouldStop):(this.debug(function(){return"Recursing into..."}),s.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys),this.call("exit"),this.shouldStop))},r.skip=function(){this.shouldSkip=!0},r.skipKey=function(e){this.skipKeys[e]=!0},r.stop=function(){this.shouldStop=!0,this.shouldSkip=!0},r.setScope=function(){if(!this.opts||!this.opts.noScope){var e=this.context&&this.context.scope;if(!e)for(var t=this.parentPath;t&&!e;){if(t.opts&&t.opts.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope&&this.scope.init()}},r.setContext=function(e){return this.shouldSkip=!1,this.shouldStop=!1,this.removed=!1,this.skipKeys={},e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this},r.resync=function(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())},r._resyncParent=function(){this.parentPath&&(this.parent=this.parentPath.node)},r._resyncKey=function(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:this;if(!e.removed)for(var t=this.contexts,r=Array.isArray(t),n=0,t=r?t:(0,i.default)(t);;){var s;if(r){if(n>=t.length)break;s=t[n++]}else{if((n=t.next()).done)break;s=n.value}s.maybeQueue(e)}},r._getQueueContexts=function(){for(var e=this,t=this.contexts;!t.length;)t=(e=e.parentPath).contexts;return t};var s=n(e("../index"))},{"../index":143,"babel-runtime/core-js/get-iterator":120}],147:[function(e,t,r){"use strict";r.__esModule=!0,r.toComputedKey=function(){var e=this.node,t=void 0;if(this.isMemberExpression())t=e.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");t=e.key}return e.computed||n.isIdentifier(t)&&(t=n.stringLiteral(t.name)),t},r.ensureBlock=function(){return n.ensureBlock(this.node)},r.arrowFunctionToShadowed=function(){if(this.isArrowFunctionExpression()){this.ensureBlock();var e=this.node;e.expression=!1,e.type="FunctionExpression",e.shadow=e.shadow||!0}};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"))},{"babel-types":178}],148:[function(e,t,r){(function(t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/helpers/typeof")),s=n(e("babel-runtime/core-js/get-iterator")),a=n(e("babel-runtime/core-js/map"));r.evaluateTruthy=function(){var e=this.evaluate();if(e.confident)return!!e.value},r.evaluate=function(){function e(e){n&&(l=e,n=!1)}function r(a){var l=a.node;if(c.has(l)){var p=c.get(l);return p.resolved?p.value:void e(a)}var h={resolved:!1};c.set(l,h);var f=function(a){if(n){var l=a.node;if(a.isSequenceExpression()){var c=a.get("expressions");return r(c[c.length-1])}if(a.isStringLiteral()||a.isNumericLiteral()||a.isBooleanLiteral())return l.value;if(a.isNullLiteral())return null;if(a.isTemplateLiteral()){for(var p="",h=0,f=a.get("expressions"),d=l.quasis,m=Array.isArray(d),y=0,d=m?d:(0,s.default)(d);;){var g;if(m){if(y>=d.length)break;g=d[y++]}else{if((y=d.next()).done)break;g=y.value}if(!n)break;p+=g.value.cooked;var b=f[h++];b&&(p+=String(r(b)))}if(!n)return;return p}if(a.isConditionalExpression()){var v=r(a.get("test"));if(!n)return;return r(v?a.get("consequent"):a.get("alternate"))}if(a.isExpressionWrapper())return r(a.get("expression"));if(a.isMemberExpression()&&!a.parentPath.isCallExpression({callee:l})){var x=a.get("property"),E=a.get("object");if(E.isLiteral()&&x.isIdentifier()){var A=E.node.value,D=void 0===A?"undefined":(0,i.default)(A);if("number"===D||"string"===D)return A[x.node.name]}}if(a.isReferencedIdentifier()){var C=a.scope.getBinding(l.name);if(C&&C.constantViolations.length>0)return e(C.path);if(C&&a.node.start=F.length)break;B=F[P++]}else{if((P=F.next()).done)break;B=P.value}var O=B;if(!(O=O.evaluate()).confident)return e(O);k.push(O.value)}return k}if(a.isObjectExpression()){for(var j={},N=a.get("properties"),I=Array.isArray(N),L=0,N=I?N:(0,s.default)(N);;){var M;if(I){if(L>=N.length)break;M=N[L++]}else{if((L=N.next()).done)break;M=L.value}var R=M;if(R.isObjectMethod()||R.isSpreadProperty())return e(R);var V=R.get("key"),U=V;if(R.node.computed){if(!(U=U.evaluate()).confident)return e(V);U=U.value}else U=U.isIdentifier()?U.node.name:U.node.value;var q=R.get("value"),G=q.evaluate();if(!G.confident)return e(q);G=G.value,j[U]=G}return j}if(a.isLogicalExpression()){var X=n,W=r(a.get("left")),J=n;n=X;var K=r(a.get("right")),z=n;switch(n=J&&z,l.operator){case"||":if(W&&J)return n=!0,W;if(!n)return;return W||K;case"&&":if((!W&&J||!K&&z)&&(n=!0),!n)return;return W&&K}}if(a.isBinaryExpression()){var Y=r(a.get("left"));if(!n)return;var H=r(a.get("right"));if(!n)return;switch(l.operator){case"-":return Y-H;case"+":return Y+H;case"/":return Y/H;case"*":return Y*H;case"%":return Y%H;case"**":return Math.pow(Y,H);case"<":return Y":return Y>H;case"<=":return Y<=H;case">=":return Y>=H;case"==":return Y==H;case"!=":return Y!=H;case"===":return Y===H;case"!==":return Y!==H;case"|":return Y|H;case"&":return Y&H;case"^":return Y^H;case"<<":return Y<>":return Y>>H;case">>>":return Y>>>H}}if(a.isCallExpression()){var $=a.get("callee"),Q=void 0,Z=void 0;if($.isIdentifier()&&!a.scope.getBinding($.node.name,!0)&&o.indexOf($.node.name)>=0&&(Z=t[l.callee.name]),$.isMemberExpression()){var ee=$.get("object"),te=$.get("property");if(ee.isIdentifier()&&te.isIdentifier()&&o.indexOf(ee.node.name)>=0&&u.indexOf(te.node.name)<0&&(Q=t[ee.node.name],Z=Q[te.node.name]),ee.isLiteral()&&te.isIdentifier()){var re=(0,i.default)(ee.node.value);"string"!==re&&"number"!==re||(Q=ee.node.value,Z=Q[te.node.name])}}if(Z){var ne=a.get("arguments").map(r);if(!n)return;return Z.apply(Q,ne)}}e(a)}}(a);return n&&(h.resolved=!0,h.value=f),f}var n=!0,l=void 0,c=new a.default,p=r(this);return n||(p=void 0),{confident:n,deopt:l,value:p}};var o=["String","Number","Math"],u=["random"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/map":122,"babel-runtime/helpers/typeof":138}],149:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/object/create")),s=n(e("babel-runtime/core-js/get-iterator"));r.getStatementParent=function(){var e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can't possibly find a statement parent to this");return e},r.getOpposite=function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):void 0},r.getCompletionRecords=function(){var e=[],t=function(t){t&&(e=e.concat(t.getCompletionRecords()))};if(this.isIfStatement())t(this.get("consequent")),t(this.get("alternate"));else if(this.isDoExpression()||this.isFor()||this.isWhile())t(this.get("body"));else if(this.isProgram()||this.isBlockStatement())t(this.get("body").pop());else{if(this.isFunction())return this.get("body").getCompletionRecords();this.isTryStatement()?(t(this.get("block")),t(this.get("handler")),t(this.get("finalizer"))):e.push(this)}return e},r.getSibling=function(e){return a.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e})},r.getPrevSibling=function(){return this.getSibling(this.key-1)},r.getNextSibling=function(){return this.getSibling(this.key+1)},r.getAllNextSiblings=function(){for(var e=this.key,t=this.getSibling(++e),r=[];t.node;)r.push(t),t=this.getSibling(++e);return r},r.getAllPrevSiblings=function(){for(var e=this.key,t=this.getSibling(--e),r=[];t.node;)r.push(t),t=this.getSibling(--e);return r},r.get=function(e,t){!0===t&&(t=this.context);var r=e.split(".");return 1===r.length?this._getKey(e,t):this._getPattern(r,t)},r._getKey=function(e,t){var r=this,n=this.node,i=n[e];return Array.isArray(i)?i.map(function(s,o){return a.default.get({listKey:e,parentPath:r,parent:n,container:i,key:o}).setContext(t)}):a.default.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)},r._getPattern=function(e,t){for(var r=this,n=e,i=Array.isArray(n),a=0,n=i?n:(0,s.default)(n);;){var o;if(i){if(a>=n.length)break;o=n[a++]}else{if((a=n.next()).done)break;o=a.value}var u=o;r="."===u?r.parentPath:Array.isArray(r)?r[u]:r.get(u,t)}return r},r.getBindingIdentifiers=function(e){return o.getBindingIdentifiers(this.node,e)},r.getOuterBindingIdentifiers=function(e){return o.getOuterBindingIdentifiers(this.node,e)},r.getBindingIdentifierPaths=function(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[].concat(this),n=(0,i.default)(null);r.length;){var s=r.shift();if(s&&s.node){var a=o.getBindingIdentifiers.keys[s.node.type];if(s.isIdentifier())e?(n[s.node.name]=n[s.node.name]||[]).push(s):n[s.node.name]=s;else if(s.isExportDeclaration()){var u=s.get("declaration");u.isDeclaration()&&r.push(u)}else{if(t){if(s.isFunctionDeclaration()){r.push(s.get("id"));continue}if(s.isFunctionExpression())continue}if(a)for(var l=0;l1&&void 0!==arguments[1]?arguments[1]:SyntaxError;return this.hub.file.buildCodeFrameError(this.node,e,t)},e.prototype.traverse=function(e,t){(0,c.default)(this.node,e,this.scope,t,this)},e.prototype.mark=function(e,t){this.hub.file.metadata.marked.push({type:e,message:t,loc:this.node.loc})},e.prototype.set=function(e,t){f.validate(this.node,e,t),this.node[e]=t},e.prototype.getPathLocation=function(){var e=[],t=this;do{var r=t.key;t.inList&&(r=t.listKey+"["+r+"]"),e.unshift(r)}while(t=t.parentPath);return e.join(".")},e.prototype.debug=function(e){m.enabled&&m(this.getPathLocation()+" "+this.type+": "+e())},e}();r.default=y,(0,p.default)(y.prototype,e("./ancestry")),(0,p.default)(y.prototype,e("./inference")),(0,p.default)(y.prototype,e("./replacement")),(0,p.default)(y.prototype,e("./evaluation")),(0,p.default)(y.prototype,e("./conversion")),(0,p.default)(y.prototype,e("./introspection")),(0,p.default)(y.prototype,e("./context")),(0,p.default)(y.prototype,e("./removal")),(0,p.default)(y.prototype,e("./modification")),(0,p.default)(y.prototype,e("./family")),(0,p.default)(y.prototype,e("./comments"));for(var g=function(){if(v){if(x>=b.length)return"break";E=b[x++]}else{if((x=b.next()).done)return"break";E=x.value}var e=E,t="is"+e;y.prototype[t]=function(e){return f[t](this.node,e)},y.prototype["assert"+e]=function(r){if(!this[t](r))throw new TypeError("Expected node path of type "+e)}},b=f.TYPES,v=Array.isArray(b),x=0,b=v?b:(0,s.default)(b);;){var E;if("break"===g())break}var A=function(e){if("_"===e[0])return"continue";f.TYPES.indexOf(e)<0&&f.TYPES.push(e);var t=o[e];y.prototype["is"+e]=function(e){return t.checkPath(this,e)}};for(var D in o){A(D)}t.exports=r.default},{"../cache":140,"../index":143,"../scope":162,"./ancestry":144,"./comments":145,"./context":146,"./conversion":147,"./evaluation":148,"./family":149,"./inference":151,"./introspection":154,"./lib/virtual-types":157,"./modification":158,"./removal":159,"./replacement":160,"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/classCallCheck":134,"babel-types":178,debug:165,invariant:318,"lodash/assign":488}],151:[function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e,t,r){if("string"===e)return o.isStringTypeAnnotation(t);if("number"===e)return o.isNumberTypeAnnotation(t);if("boolean"===e)return o.isBooleanTypeAnnotation(t);if("any"===e)return o.isAnyTypeAnnotation(t);if("mixed"===e)return o.isMixedTypeAnnotation(t);if("empty"===e)return o.isEmptyTypeAnnotation(t);if("void"===e)return o.isVoidTypeAnnotation(t);if(r)return!1;throw new Error("Unknown base type "+e)}r.__esModule=!0;var s=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/get-iterator"));r.getTypeAnnotation=function(){if(this.typeAnnotation)return this.typeAnnotation;var e=this._getTypeAnnotation()||o.anyTypeAnnotation();return o.isTypeAnnotation(e)&&(e=e.typeAnnotation),this.typeAnnotation=e},r._getTypeAnnotation=function(){var e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;var t=a[e.type];return t?t.call(this,e):(t=a[this.parentPath.type])&&t.validParent?this.parentPath.getTypeAnnotation():void 0}if("init"===this.key&&this.parentPath.isVariableDeclarator()){var r=this.parentPath.parentPath,n=r.parentPath;return"left"===r.key&&n.isForInStatement()?o.stringTypeAnnotation():"left"===r.key&&n.isForOfStatement()?o.anyTypeAnnotation():o.voidTypeAnnotation()}},r.isBaseType=function(e,t){return i(e,this.getTypeAnnotation(),t)},r.couldBeBaseType=function(e){var t=this.getTypeAnnotation();if(o.isAnyTypeAnnotation(t))return!0;if(o.isUnionTypeAnnotation(t)){for(var r=t.types,n=Array.isArray(r),a=0,r=n?r:(0,s.default)(r);;){var u;if(n){if(a>=r.length)break;u=r[a++]}else{if((a=r.next()).done)break;u=a.value}var l=u;if(o.isAnyTypeAnnotation(l)||i(e,l,!0))return!0}return!1}return i(e,t,!0)},r.baseTypeStrictlyMatches=function(e){var t=this.getTypeAnnotation();if(e=e.getTypeAnnotation(),!o.isAnyTypeAnnotation(t)&&o.isFlowBaseAnnotation(t))return e.type===t.type},r.isGenericType=function(e){var t=this.getTypeAnnotation();return o.isGenericTypeAnnotation(t)&&o.isIdentifier(t.id,{name:e})};var a=n(e("./inferers")),o=n(e("babel-types"))},{"./inferers":153,"babel-runtime/core-js/get-iterator":120,"babel-types":178}],152:[function(e,t,r){"use strict";function n(e,t,r){var n=e.constantViolations.slice();return n.unshift(e.path),n.filter(function(e){var n=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return r&&"function"===n&&r.push(e),"before"===n})}function i(e,t){var r=t.node.operator,n=t.get("right").resolve(),i=t.get("left").resolve(),s=void 0;if(i.isIdentifier({name:e})?s=n:n.isIdentifier({name:e})&&(s=i),s)return"==="===r?s.getTypeAnnotation():o.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(r)>=0?o.numberTypeAnnotation():void 0;if("==="===r){var a=void 0,u=void 0;if(i.isUnaryExpression({operator:"typeof"})?(a=i,u=n):n.isUnaryExpression({operator:"typeof"})&&(a=n,u=i),(u||a)&&(u=u.resolve()).isLiteral()){if("string"==typeof u.node.value&&a.get("argument").isIdentifier({name:e}))return o.createTypeAnnotationBasedOnTypeof(u.node.value)}}}function s(e,t){var r=function(e){for(var t=void 0;t=e.parentPath;){if(t.isIfStatement()||t.isConditionalExpression())return"test"===e.key?void 0:t;e=t}}(e);if(r){var n=[r.get("test")],a=[];do{var u=n.shift().resolve();if(u.isLogicalExpression()&&(n.push(u.get("left")),n.push(u.get("right"))),u.isBinaryExpression()){var l=i(t,u);l&&a.push(l)}}while(n.length);return a.length?{typeAnnotation:o.createUnionTypeAnnotation(a),ifStatement:r}:s(r,t)}}r.__esModule=!0;var a=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/get-iterator"));r.default=function(e){if(this.isReferenced()){var t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t){var r=e.scope.getBinding(t),i=[];e.typeAnnotation=o.unionTypeAnnotation(i);var u=[],l=n(r,e,u),c=s(e,t);if(c){var p=n(r,c.ifStatement);l=l.filter(function(e){return p.indexOf(e)<0}),i.push(c.typeAnnotation)}if(l.length)for(var h=l=l.concat(u),f=Array.isArray(h),d=0,h=f?h:(0,a.default)(h);;){var m;if(f){if(d>=h.length)break;m=h[d++]}else{if((d=h.next()).done)break;m=d.value}var y=m;i.push(y.getTypeAnnotation())}if(i.length)return o.createUnionTypeAnnotation(i)}(this,e.name):"undefined"===e.name?o.voidTypeAnnotation():"NaN"===e.name||"Infinity"===e.name?o.numberTypeAnnotation():void e.name}};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));t.exports=r.default},{"babel-runtime/core-js/get-iterator":120,"babel-types":178}],153:[function(e,t,r){"use strict";function n(e){return e.typeAnnotation}function i(){return l.genericTypeAnnotation(l.identifier("Array"))}function s(){return i()}function a(){return l.genericTypeAnnotation(l.identifier("Function"))}function o(e){if((e=e.resolve()).isFunction()){if(e.is("async"))return e.is("generator")?l.genericTypeAnnotation(l.identifier("AsyncIterator")):l.genericTypeAnnotation(l.identifier("Promise"));if(e.node.returnType)return e.node.returnType}}r.__esModule=!0,r.ClassDeclaration=r.ClassExpression=r.FunctionDeclaration=r.ArrowFunctionExpression=r.FunctionExpression=r.Identifier=void 0;var u=e("./inferer-reference");Object.defineProperty(r,"Identifier",{enumerable:!0,get:function(){return function(e){return e&&e.__esModule?e:{default:e}}(u).default}}),r.VariableDeclarator=function(){return this.get("id").isIdentifier()?this.get("init").getTypeAnnotation():void 0},r.TypeCastExpression=n,r.NewExpression=function(e){if(this.get("callee").isIdentifier())return l.genericTypeAnnotation(e.callee)},r.TemplateLiteral=function(){return l.stringTypeAnnotation()},r.UnaryExpression=function(e){var t=e.operator;return"void"===t?l.voidTypeAnnotation():l.NUMBER_UNARY_OPERATORS.indexOf(t)>=0?l.numberTypeAnnotation():l.STRING_UNARY_OPERATORS.indexOf(t)>=0?l.stringTypeAnnotation():l.BOOLEAN_UNARY_OPERATORS.indexOf(t)>=0?l.booleanTypeAnnotation():void 0},r.BinaryExpression=function(e){var t=e.operator;if(l.NUMBER_BINARY_OPERATORS.indexOf(t)>=0)return l.numberTypeAnnotation();if(l.BOOLEAN_BINARY_OPERATORS.indexOf(t)>=0)return l.booleanTypeAnnotation();if("+"===t){var r=this.get("right"),n=this.get("left");return n.isBaseType("number")&&r.isBaseType("number")?l.numberTypeAnnotation():n.isBaseType("string")||r.isBaseType("string")?l.stringTypeAnnotation():l.unionTypeAnnotation([l.stringTypeAnnotation(),l.numberTypeAnnotation()])}},r.LogicalExpression=function(){return l.createUnionTypeAnnotation([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()])},r.ConditionalExpression=function(){return l.createUnionTypeAnnotation([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()])},r.SequenceExpression=function(){return this.get("expressions").pop().getTypeAnnotation()},r.AssignmentExpression=function(){return this.get("right").getTypeAnnotation()},r.UpdateExpression=function(e){var t=e.operator;if("++"===t||"--"===t)return l.numberTypeAnnotation()},r.StringLiteral=function(){return l.stringTypeAnnotation()},r.NumericLiteral=function(){return l.numberTypeAnnotation()},r.BooleanLiteral=function(){return l.booleanTypeAnnotation()},r.NullLiteral=function(){return l.nullLiteralTypeAnnotation()},r.RegExpLiteral=function(){return l.genericTypeAnnotation(l.identifier("RegExp"))},r.ObjectExpression=function(){return l.genericTypeAnnotation(l.identifier("Object"))},r.ArrayExpression=i,r.RestElement=s,r.CallExpression=function(){return o(this.get("callee"))},r.TaggedTemplateExpression=function(){return o(this.get("tag"))};var l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));n.validParent=!0,s.validParent=!0,r.FunctionExpression=a,r.ArrowFunctionExpression=a,r.FunctionDeclaration=a,r.ClassExpression=a,r.ClassDeclaration=a},{"./inferer-reference":152,"babel-types":178}],154:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}r.__esModule=!0,r.is=void 0;var s=n(e("babel-runtime/core-js/get-iterator"));r.matchesPattern=function(e,t){function r(e){var t=n[s];return"*"===t||e===t}if(!this.isMemberExpression())return!1;for(var n=e.split("."),i=[this.node],s=0;i.length;){var a=i.shift();if(t&&s===n.length)return!0;if(o.isIdentifier(a)){if(!r(a.name))return!1}else if(o.isLiteral(a)){if(!r(a.value))return!1}else{if(o.isMemberExpression(a)){if(a.computed&&!o.isLiteral(a.property))return!1;i.unshift(a.property),i.unshift(a.object);continue}if(!o.isThisExpression(a))return!1;if(!r("this"))return!1}if(++s>n.length)return!1}return s===n.length},r.has=i,r.isStatic=function(){return this.scope.isStatic(this.node)},r.isnt=function(e){return!this.has(e)},r.equals=function(e,t){return this.node[e]===t},r.isNodeType=function(e){return o.isType(this.type,e)},r.canHaveVariableDeclarationOrExpression=function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},r.canSwapBetweenExpressionAndStatement=function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?o.isBlockStatement(e):!!this.isBlockStatement()&&o.isExpression(e))},r.isCompletionRecord=function(e){var t=this,r=!0;do{var n=t.container;if(t.isFunction()&&!r)return!!e;if(r=!1,Array.isArray(n)&&t.key!==n.length-1)return!1}while((t=t.parentPath)&&!t.isProgram());return!0},r.isStatementOrBlock=function(){return!this.parentPath.isLabeledStatement()&&!o.isBlockStatement(this.container)&&(0,a.default)(o.STATEMENT_OR_BLOCK_KEYS,this.key)},r.referencesImport=function(e,t){if(!this.isReferencedIdentifier())return!1;var r=this.scope.getBinding(this.node.name);if(!r||"module"!==r.kind)return!1;var n=r.path,i=n.parentPath;return!(!i.isImportDeclaration()||i.node.source.value!==e||t&&(!n.isImportDefaultSpecifier()||"default"!==t)&&(!n.isImportNamespaceSpecifier()||"*"!==t)&&(!n.isImportSpecifier()||n.node.imported.name!==t))},r.getSource=function(){var e=this.node;return e.end?this.hub.file.code.slice(e.start,e.end):""},r.willIMaybeExecuteBefore=function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},r._guessExecutionStatusRelativeTo=function(e){var t=e.scope.getFunctionParent(),r=this.scope.getFunctionParent();if(t.node!==r.node){var n=this._guessExecutionStatusRelativeToDifferentFunctions(t);if(n)return n;e=t.path}var i=e.getAncestry();if(i.indexOf(this)>=0)return"after";var s=this.getAncestry(),a=void 0,u=void 0,l=void 0;for(l=0;l=0){a=c;break}}if(!a)return"before";var p=i[u-1],h=s[l-1];return p&&h?p.listKey&&p.container===h.container?p.key>h.key?"before":"after":o.VISITOR_KEYS[p.type].indexOf(p.key)>o.VISITOR_KEYS[h.type].indexOf(h.key)?"before":"after":"before"},r._guessExecutionStatusRelativeToDifferentFunctions=function(e){var t=e.path;if(t.isFunctionDeclaration()){var r=t.scope.getBinding(t.node.id.name);if(!r.references)return"before";for(var n=r.referencePaths,i=n,a=Array.isArray(i),o=0,i=a?i:(0,s.default)(i);;){var u;if(a){if(o>=i.length)break;u=i[o++]}else{if((o=i.next()).done)break;u=o.value}var l=u;if("callee"!==l.key||!l.parentPath.isCallExpression())return}for(var c=void 0,p=n,h=Array.isArray(p),f=0,p=h?p:(0,s.default)(p);;){var d;if(h){if(f>=p.length)break;d=p[f++]}else{if((f=p.next()).done)break;d=f.value}var m=d;if(!m.find(function(e){return e.node===t.node})){var y=this._guessExecutionStatusRelativeTo(m);if(c){if(c!==y)return}else c=y}}return c}},r.resolve=function(e,t){return this._resolve(e,t)||this},r._resolve=function(e,t){if(!(t&&t.indexOf(this)>=0))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){var r=this.scope.getBinding(this.node.name);if(!r)return;if(!r.constant)return;if("module"===r.kind)return;if(r.path!==this){var n=r.path.resolve(e,t);if(this.find(function(e){return e.node===n.node}))return;return n}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){var i=this.toComputedKey();if(!o.isLiteral(i))return;var a=i.value,u=this.get("object").resolve(e,t);if(u.isObjectExpression())for(var l=u.get("properties"),c=Array.isArray(l),p=0,l=c?l:(0,s.default)(l);;){var h;if(c){if(p>=l.length)break;h=l[p++]}else{if((p=l.next()).done)break;h=p.value}var f=h;if(f.isProperty()){var d=f.get("key"),m=f.isnt("computed")&&d.isIdentifier({name:a});if(m=m||d.isLiteral({value:a}))return f.get("value").resolve(e,t)}}else if(u.isArrayExpression()&&!isNaN(+a)){var y=u.get("elements")[a];if(y)return y.resolve(e,t)}}}};var a=n(e("lodash/includes")),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"));r.is=i},{"babel-runtime/core-js/get-iterator":120,"babel-types":178,"lodash/includes":507}],155:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/get-iterator")),s=n(e("babel-runtime/helpers/classCallCheck")),a=e("babel-types"),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(a),u={ReferencedIdentifier:function(e,t){if(!e.isJSXIdentifier()||!a.react.isCompatTag(e.node.name)||e.parentPath.isJSXMemberExpression()){if("this"===e.node.name){var r=e.scope;do{if(r.path.isFunction()&&!r.path.isArrowFunctionExpression())break}while(r=r.parent);r&&t.breakOnScopePaths.push(r.path)}var n=e.scope.getBinding(e.node.name);n&&n===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=n)}}},l=function(){function e(t,r){(0,s.default)(this,e),this.breakOnScopePaths=[],this.bindings={},this.scopes=[],this.scope=r,this.path=t,this.attachAfter=!1}return e.prototype.isCompatibleScope=function(e){for(var t in this.bindings){var r=this.bindings[t];if(!e.bindingIdentifierEquals(t,r.identifier))return!1}return!0},e.prototype.getCompatibleScopes=function(){var e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)},e.prototype.getAttachmentPath=function(){var e=this._getAttachmentPath();if(e){var t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(var r in this.bindings)if(t.hasOwnBinding(r)){var n=this.bindings[r];if("param"!==n.kind&&this.getAttachmentParentForPath(n.path).key>e.key){this.attachAfter=!0,e=n.path;for(var s=n.constantViolations,a=Array.isArray(s),o=0,s=a?s:(0,i.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var l=u;this.getAttachmentParentForPath(l).key>e.key&&(e=l)}}}return e.parentPath.isExportDeclaration()&&(e=e.parentPath),e}},e.prototype._getAttachmentPath=function(){var e=this.scopes.pop();if(e){if(e.path.isFunction()){if(this.hasOwnParamBindings(e)){if(this.scope===e)return;return e.path.get("body").get("body")[0]}return this.getNextScopeAttachmentParent()}return e.path.isProgram()?this.getNextScopeAttachmentParent():void 0}},e.prototype.getNextScopeAttachmentParent=function(){var e=this.scopes.pop();if(e)return this.getAttachmentParentForPath(e.path)},e.prototype.getAttachmentParentForPath=function(e){do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement()||e.isVariableDeclarator()&&null!==e.parentPath.node&&e.parentPath.node.declarations.length>1)return e}while(e=e.parentPath)},e.prototype.hasOwnParamBindings=function(e){for(var t in this.bindings)if(e.hasOwnBinding(t)){var r=this.bindings[t];if("param"===r.kind&&r.constant)return!0}return!1},e.prototype.run=function(){var e=this.path.node;if(!e._hoisted){e._hoisted=!0,this.path.traverse(u,this),this.getCompatibleScopes();var t=this.getAttachmentPath();if(t&&t.getFunctionParent()!==this.path.getFunctionParent()){var r=t.scope.generateUidIdentifier("ref"),n=o.variableDeclarator(r,this.path.node);t[this.attachAfter?"insertAfter":"insertBefore"]([t.isVariableDeclarator()?n:o.variableDeclaration("var",[n])]);var i=this.path.parentPath;i.isJSXElement()&&this.path.container===i.node.children&&(r=o.JSXExpressionContainer(r)),this.path.replaceWith(r)}}},e}();r.default=l,t.exports=r.default},{"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/classCallCheck":134,"babel-types":178}],156:[function(e,t,r){"use strict";r.__esModule=!0;r.hooks=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&("consequent"===e.key||"alternate"===e.key)||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}]},{}],157:[function(e,t,r){"use strict";r.__esModule=!0,r.Flow=r.Pure=r.Generated=r.User=r.Var=r.BlockScoped=r.Referenced=r.Scope=r.Expression=r.Statement=r.BindingIdentifier=r.ReferencedMemberExpression=r.ReferencedIdentifier=void 0;var n=e("babel-types"),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n);r.ReferencedIdentifier={types:["Identifier","JSXIdentifier"],checkPath:function(e,t){var r=e.node,s=e.parent;if(!i.isIdentifier(r,t)&&!i.isJSXMemberExpression(s,t)){if(!i.isJSXIdentifier(r,t))return!1;if(n.react.isCompatTag(r.name))return!1}return i.isReferenced(r,s)}},r.ReferencedMemberExpression={types:["MemberExpression"],checkPath:function(e){var t=e.node,r=e.parent;return i.isMemberExpression(t)&&i.isReferenced(t,r)}},r.BindingIdentifier={types:["Identifier"],checkPath:function(e){var t=e.node,r=e.parent;return i.isIdentifier(t)&&i.isBinding(t,r)}},r.Statement={types:["Statement"],checkPath:function(e){var t=e.node,r=e.parent;if(i.isStatement(t)){if(i.isVariableDeclaration(t)){if(i.isForXStatement(r,{left:t}))return!1;if(i.isForStatement(r,{init:t}))return!1}return!0}return!1}},r.Expression={types:["Expression"],checkPath:function(e){return e.isIdentifier()?e.isReferencedIdentifier():i.isExpression(e.node)}},r.Scope={types:["Scopable"],checkPath:function(e){return i.isScope(e.node,e.parent)}},r.Referenced={checkPath:function(e){return i.isReferenced(e.node,e.parent)}},r.BlockScoped={checkPath:function(e){return i.isBlockScoped(e.node)}},r.Var={types:["VariableDeclaration"],checkPath:function(e){return i.isVar(e.node)}},r.User={checkPath:function(e){return e.node&&!!e.node.loc}},r.Generated={checkPath:function(e){return!e.isUser()}},r.Pure={checkPath:function(e,t){return e.scope.isPure(e.node,t)}},r.Flow={types:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],checkPath:function(e){var t=e.node;return!!i.isFlow(t)||(i.isImportDeclaration(t)?"type"===t.importKind||"typeof"===t.importKind:i.isExportDeclaration(t)?"type"===t.exportKind:!!i.isImportSpecifier(t)&&("type"===t.importKind||"typeof"===t.importKind))}}},{"babel-types":178}],158:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/helpers/typeof")),s=n(e("babel-runtime/core-js/get-iterator"));r.insertBefore=function(e){if(this._assertUnremoved(),e=this._verifyNodeList(e),this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement())return this.parentPath.insertBefore(e);if(this.isNodeType("Expression")||this.parentPath.isForStatement()&&"init"===this.key)this.node&&e.push(this.node),this.replaceExpressionWithStatements(e);else{if(this._maybePopFromStatements(e),Array.isArray(this.container))return this._containerInsertBefore(e);if(!this.isStatementOrBlock())throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");this.node&&e.push(this.node),this._replaceWith(l.blockStatement(e))}return[this]},r._containerInsert=function(e,t){this.updateSiblingKeys(e,t.length);for(var r=[],n=0;n=c.length)break;f=c[h++]}else{if((h=c.next()).done)break;f=h.value}var d=f;d.setScope(),d.debug(function(){return"Inserted."});for(var m=l,y=Array.isArray(m),g=0,m=y?m:(0,s.default)(m);;){var b;if(y){if(g>=m.length)break;b=m[g++]}else{if((g=m.next()).done)break;b=g.value}b.maybeQueue(d,!0)}}return r},r._containerInsertBefore=function(e){return this._containerInsert(this.key,e)},r._containerInsertAfter=function(e){return this._containerInsert(this.key+1,e)},r._maybePopFromStatements=function(e){var t=e[e.length-1];(l.isIdentifier(t)||l.isExpressionStatement(t)&&l.isIdentifier(t.expression))&&!this.isCompletionRecord()&&e.pop()},r.insertAfter=function(e){if(this._assertUnremoved(),e=this._verifyNodeList(e),this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement())return this.parentPath.insertAfter(e);if(this.isNodeType("Expression")||this.parentPath.isForStatement()&&"init"===this.key){if(this.node){var t=this.scope.generateDeclaredUidIdentifier();e.unshift(l.expressionStatement(l.assignmentExpression("=",t,this.node))),e.push(l.expressionStatement(t))}this.replaceExpressionWithStatements(e)}else{if(this._maybePopFromStatements(e),Array.isArray(this.container))return this._containerInsertAfter(e);if(!this.isStatementOrBlock())throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");this.node&&e.unshift(this.node),this._replaceWith(l.blockStatement(e))}return[this]},r.updateSiblingKeys=function(e,t){if(this.parent)for(var r=a.path.get(this.parent),n=0;n=e&&(i.key+=t)}},r._verifyNodeList=function(e){if(!e)return[];e.constructor!==Array&&(e=[e]);for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:this.scope;return new o.default(this,e).run()};var a=e("../cache"),o=n(e("./lib/hoister")),u=n(e("./index")),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"))},{"../cache":140,"./index":150,"./lib/hoister":155,"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/typeof":138,"babel-types":178}],159:[function(e,t,r){"use strict";r.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/get-iterator"));r.remove=function(){this._assertUnremoved(),this.resync(),this._callRemovalHooks()?this._markRemoved():(this.shareCommentsWithSiblings(),this._remove(),this._markRemoved())},r._callRemovalHooks=function(){for(var e=i.hooks,t=Array.isArray(e),r=0,e=t?e:(0,n.default)(e);;){var s;if(t){if(r>=e.length)break;s=e[r++]}else{if((r=e.next()).done)break;s=r.value}if(s(this,this.parentPath))return!0}},r._remove=function(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)},r._markRemoved=function(){this.shouldSkip=!0,this.removed=!0,this.node=null},r._assertUnremoved=function(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")};var i=e("./lib/removal-hooks")},{"./lib/removal-hooks":156,"babel-runtime/core-js/get-iterator":120}],160:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/core-js/get-iterator"));r.replaceWithMultiple=function(e){this.resync(),e=this._verifyNodeList(e),l.inheritLeadingComments(e[0],this.node),l.inheritTrailingComments(e[e.length-1],this.node),this.node=this.container[this.key]=null,this.insertAfter(e),this.node?this.requeue():this.remove()},r.replaceWithSourceString=function(e){this.resync();try{e="("+e+")",e=(0,u.parse)(e)}catch(r){var t=r.loc;throw t&&(r.message+=" - make sure this is an expression.",r.message+="\n"+(0,s.default)(e,t.line,t.column+1)),r}return e=e.program.body[0].expression,a.default.removeProperties(e),this.replaceWith(e)},r.replaceWith=function(e){if(this.resync(),this.removed)throw new Error("You can't replace this node, we've already removed it");if(e instanceof o.default&&(e=e.node),!e)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node!==e){if(this.isProgram()&&!l.isProgram(e))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(e))throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof e)throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");if(this.isNodeType("Statement")&&l.isExpression(e)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(e)||this.parentPath.isExportDefaultDeclaration()||(e=l.expressionStatement(e))),this.isNodeType("Expression")&&l.isStatement(e)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(e))return this.replaceExpressionWithStatements([e]);var t=this.node;t&&(l.inheritsComments(e,t),l.removeComments(t)),this._replaceWith(e),this.type=e.type,this.setScope(),this.requeue()}},r._replaceWith=function(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?l.validate(this.parent,this.key,[e]):l.validate(this.parent,this.key,e),this.debug(function(){return"Replace with "+(e&&e.type)}),this.node=this.container[this.key]=e},r.replaceExpressionWithStatements=function(e){this.resync();var t=l.toSequenceExpression(e,this.scope);if(l.isSequenceExpression(t)){var r=t.expressions;r.length>=2&&this.parentPath.isExpressionStatement()&&this._maybePopFromStatements(r),1===r.length?this.replaceWith(r[0]):this.replaceWith(t)}else{if(!t){var n=l.functionExpression(null,[],l.blockStatement(e));n.shadow=!0,this.replaceWith(l.callExpression(n,[])),this.traverse(c);for(var s=this.get("callee").getCompletionRecords(),a=Array.isArray(s),o=0,s=a?s:(0,i.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var p=u;if(p.isExpressionStatement()){var h=p.findParent(function(e){return e.isLoop()});if(h){var f=h.getData("expressionReplacementReturnUid");if(f)f=l.identifier(f.name);else{var d=this.get("callee");f=d.scope.generateDeclaredUidIdentifier("ret"),d.get("body").pushContainer("body",l.returnStatement(f)),h.setData("expressionReplacementReturnUid",f)}p.get("expression").replaceWith(l.assignmentExpression("=",f,p.node.expression))}else p.replaceWith(l.returnStatement(p.node.expression))}}return this.node}this.replaceWith(t)}},r.replaceInline=function(e){return this.resync(),Array.isArray(e)?Array.isArray(this.container)?(e=this._verifyNodeList(e),this._containerInsertAfter(e),this.remove()):this.replaceWithMultiple(e):this.replaceWith(e)};var s=n(e("babel-code-frame")),a=n(e("../index")),o=n(e("./index")),u=e("babylon"),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types")),c={Function:function(e){e.skip()},VariableDeclaration:function(e){if("var"===e.node.kind){var t=e.getBindingIdentifiers();for(var r in t)e.scope.push({id:t[r]});for(var n=[],s=e.node.declarations,a=Array.isArray(s),o=0,s=a?s:(0,i.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var c=u;c.init&&n.push(l.expressionStatement(l.assignmentExpression("=",c.id,c.init)))}e.replaceWithMultiple(n)}}}},{"../index":143,"./index":150,"babel-code-frame":21,"babel-runtime/core-js/get-iterator":120,"babel-types":178,babylon:186}],161:[function(e,t,r){"use strict";r.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/helpers/classCallCheck")),i=function(){function e(t){var r=t.existing,i=t.identifier,s=t.scope,a=t.path,o=t.kind;(0,n.default)(this,e),this.identifier=i,this.scope=s,this.path=a,this.kind=o,this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.clearValue(),r&&(this.constantViolations=[].concat(r.path,r.constantViolations,this.constantViolations))}return e.prototype.deoptValue=function(){this.clearValue(),this.hasDeoptedValue=!0},e.prototype.setValue=function(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)},e.prototype.clearValue=function(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null},e.prototype.reassign=function(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)},e.prototype.reference=function(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))},e.prototype.dereference=function(){this.references--,this.referenced=!!this.references},e}();r.default=i,t.exports=r.default},{"babel-runtime/helpers/classCallCheck":134}],162:[function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(v.isModuleDeclaration(e))if(e.source)s(e.source,t);else if(e.specifiers&&e.specifiers.length)for(var r=e.specifiers,n=Array.isArray(r),i=0,r=n?r:(0,c.default)(r);;){var a;if(n){if(i>=r.length)break;a=r[i++]}else{if((i=r.next()).done)break;a=i.value}s(a,t)}else e.declaration&&s(e.declaration,t);else if(v.isModuleSpecifier(e))s(e.local,t);else if(v.isMemberExpression(e))s(e.object,t),s(e.property,t);else if(v.isIdentifier(e))t.push(e.name);else if(v.isLiteral(e))t.push(e.value);else if(v.isCallExpression(e))s(e.callee,t);else if(v.isObjectExpression(e)||v.isObjectPattern(e))for(var o=e.properties,u=Array.isArray(o),l=0,o=u?o:(0,c.default)(o);;){var p;if(u){if(l>=o.length)break;p=o[l++]}else{if((l=o.next()).done)break;p=l.value}var h=p;s(h.key||h.argument,t)}}r.__esModule=!0;var a=i(e("babel-runtime/core-js/object/keys")),o=i(e("babel-runtime/core-js/object/create")),u=i(e("babel-runtime/core-js/map")),l=i(e("babel-runtime/helpers/classCallCheck")),c=i(e("babel-runtime/core-js/get-iterator")),p=i(e("lodash/includes")),h=i(e("lodash/repeat")),f=i(e("./lib/renamer")),d=i(e("../index")),m=i(e("lodash/defaults")),y=n(e("babel-messages")),g=i(e("./binding")),b=i(e("globals")),v=n(e("babel-types")),x=e("../cache"),E=0,A={For:function(e){for(var t=v.FOR_INIT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,c.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i,a=e.get(s);a.isVar()&&e.scope.getFunctionParent().registerBinding("var",a)}},Declaration:function(e){e.isBlockScoped()||e.isExportDeclaration()&&e.get("declaration").isDeclaration()||e.scope.getFunctionParent().registerDeclaration(e)},ReferencedIdentifier:function(e,t){t.references.push(e)},ForXStatement:function(e,t){var r=e.get("left");(r.isPattern()||r.isIdentifier())&&t.constantViolations.push(r)},ExportDeclaration:{exit:function(e){var t=e.node,r=e.scope,n=t.declaration;if(v.isClassDeclaration(n)||v.isFunctionDeclaration(n)){var i=n.id;if(!i)return;var s=r.getBinding(i.name);s&&s.reference(e)}else if(v.isVariableDeclaration(n))for(var a=n.declarations,o=Array.isArray(a),u=0,a=o?a:(0,c.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var p=l,h=v.getBindingIdentifiers(p);for(var f in h){var d=r.getBinding(f);d&&d.reference(e)}}}},LabeledStatement:function(e){e.scope.getProgramParent().addGlobal(e.node),e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression:function(e,t){t.assignments.push(e)},UpdateExpression:function(e,t){t.constantViolations.push(e.get("argument"))},UnaryExpression:function(e,t){"delete"===e.node.operator&&t.constantViolations.push(e.get("argument"))},BlockScoped:function(e){var t=e.scope;t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e)},ClassDeclaration:function(e){var t=e.node.id;if(t){var r=t.name;e.scope.bindings[r]=e.scope.getBinding(r)}},Block:function(e){for(var t=e.get("body"),r=Array.isArray(t),n=0,t=r?t:(0,c.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i;s.isFunctionDeclaration()&&e.scope.getBlockParent().registerDeclaration(s)}}},D=0,C=function(){function e(t,r){if((0,l.default)(this,e),r&&r.block===t.node)return r;var n=function(e,t,r){for(var n=x.scope.get(e.node)||[],i=n,s=Array.isArray(i),a=0,i=s?i:(0,c.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if((a=i.next()).done)break;o=a.value}var u=o;if(u.parent===t&&u.path===e)return u}n.push(r),x.scope.has(e.node)||x.scope.set(e.node,n)}(t,r,this);if(n)return n;this.uid=D++,this.parent=r,this.hub=t.hub,this.parentBlock=t.parent,this.block=t.node,this.path=t,this.labels=new u.default}return e.prototype.traverse=function(e,t,r){(0,d.default)(e,t,this,r,this.path)},e.prototype.generateDeclaredUidIdentifier=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp",t=this.generateUidIdentifier(e);return this.push({id:t}),t},e.prototype.generateUidIdentifier=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp";return v.identifier(this.generateUid(e))},e.prototype.generateUid=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"temp";e=v.toIdentifier(e).replace(/^_+/,"").replace(/[0-9]+$/g,"");var t=void 0,r=0;do{t=this._generateUid(e,r),r++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));var n=this.getProgramParent();return n.references[t]=!0,n.uids[t]=!0,t},e.prototype._generateUid=function(e,t){var r=e;return t>1&&(r+=t),"_"+r},e.prototype.generateUidIdentifierBasedOnNode=function(e,t){var r=e;v.isAssignmentExpression(e)?r=e.left:v.isVariableDeclarator(e)?r=e.id:(v.isObjectProperty(r)||v.isObjectMethod(r))&&(r=r.key);var n=[];s(r,n);var i=n.join("$");return i=i.replace(/^_/,"")||t||"ref",this.generateUidIdentifier(i.slice(0,20))},e.prototype.isStatic=function(e){if(v.isThisExpression(e)||v.isSuper(e))return!0;if(v.isIdentifier(e)){var t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1},e.prototype.maybeGenerateMemoised=function(e,t){if(this.isStatic(e))return null;var r=this.generateUidIdentifierBasedOnNode(e);return t||this.push({id:r}),r},e.prototype.checkBlockScopedCollisions=function(e,t,r,n){if("param"!==t&&("hoisted"!==t||"let"!==e.kind)){if("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&("let"===t||"const"===t))throw this.hub.file.buildCodeFrameError(n,y.get("scopeDuplicateDeclaration",r),TypeError)}},e.prototype.rename=function(e,t,r){var n=this.getBinding(e);if(n)return t=t||this.generateUidIdentifier(e).name,new f.default(n,e,t).rename(r)},e.prototype._renameFromMap=function(e,t,r,n){e[t]&&(e[r]=n,e[t]=null)},e.prototype.dump=function(){var e=(0,h.default)("-",60);console.log(e);var t=this;do{console.log("#",t.block.type);for(var r in t.bindings){var n=t.bindings[r];console.log(" -",r,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)},e.prototype.toArray=function(e,t){var r=this.hub.file;if(v.isIdentifier(e)){var n=this.getBinding(e.name);if(n&&n.constant&&n.path.isGenericType("Array"))return e}if(v.isArrayExpression(e))return e;if(v.isIdentifier(e,{name:"arguments"}))return v.callExpression(v.memberExpression(v.memberExpression(v.memberExpression(v.identifier("Array"),v.identifier("prototype")),v.identifier("slice")),v.identifier("call")),[e]);var i="toArray",s=[e];return!0===t?i="toConsumableArray":t&&(s.push(v.numericLiteral(t)),i="slicedToArray"),v.callExpression(r.addHelper(i),s)},e.prototype.hasLabel=function(e){return!!this.getLabel(e)},e.prototype.getLabel=function(e){return this.labels.get(e)},e.prototype.registerLabel=function(e){this.labels.set(e.node.label.name,e)},e.prototype.registerDeclaration=function(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration())for(var t=e.get("declarations"),r=Array.isArray(t),n=0,t=r?t:(0,c.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i;this.registerBinding(e.node.kind,s)}else if(e.isClassDeclaration())this.registerBinding("let",e);else if(e.isImportDeclaration())for(var a=e.get("specifiers"),o=Array.isArray(a),u=0,a=o?a:(0,c.default)(a);;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var p=l;this.registerBinding("module",p)}else if(e.isExportDeclaration()){var h=e.get("declaration");(h.isClassDeclaration()||h.isFunctionDeclaration()||h.isVariableDeclaration())&&this.registerDeclaration(h)}else this.registerBinding("unknown",e)},e.prototype.buildUndefinedNode=function(){return this.hasBinding("undefined")?v.unaryExpression("void",v.numericLiteral(0),!0):v.identifier("undefined")},e.prototype.registerConstantViolation=function(e){var t=e.getBindingIdentifiers();for(var r in t){var n=this.getBinding(r);n&&n.reassign(e)}},e.prototype.registerBinding=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration())for(var n=t.get("declarations"),i=Array.isArray(n),s=0,n=i?n:(0,c.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a;this.registerBinding(e,o)}else{var u=this.getProgramParent(),l=t.getBindingIdentifiers(!0);for(var p in l)for(var h=l[p],f=Array.isArray(h),d=0,h=f?h:(0,c.default)(h);;){var m;if(f){if(d>=h.length)break;m=h[d++]}else{if((d=h.next()).done)break;m=d.value}var y=m,b=this.getOwnBinding(p);if(b){if(b.identifier===y)continue;this.checkBlockScopedCollisions(b,e,p,y)}b&&b.path.isFlow()&&(b=null),u.references[p]=!0,this.bindings[p]=new g.default({identifier:y,existing:b,scope:this,path:r,kind:e})}}},e.prototype.addGlobal=function(e){this.globals[e.name]=e},e.prototype.hasUid=function(e){var t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1},e.prototype.hasGlobal=function(e){var t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1},e.prototype.hasReference=function(e){var t=this;do{if(t.references[e])return!0}while(t=t.parent);return!1},e.prototype.isPure=function(e,t){if(v.isIdentifier(e)){var r=this.getBinding(e.name);return!!r&&(!t||r.constant)}if(v.isClass(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&this.isPure(e.body,t);if(v.isClassBody(e)){for(var n=e.body,i=Array.isArray(n),s=0,n=i?n:(0,c.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a;if(!this.isPure(o,t))return!1}return!0}if(v.isBinary(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(v.isArrayExpression(e)){for(var u=e.elements,l=Array.isArray(u),p=0,u=l?u:(0,c.default)(u);;){var h;if(l){if(p>=u.length)break;h=u[p++]}else{if((p=u.next()).done)break;h=p.value}var f=h;if(!this.isPure(f,t))return!1}return!0}if(v.isObjectExpression(e)){for(var d=e.properties,m=Array.isArray(d),y=0,d=m?d:(0,c.default)(d);;){var g;if(m){if(y>=d.length)break;g=d[y++]}else{if((y=d.next()).done)break;g=y.value}var b=g;if(!this.isPure(b,t))return!1}return!0}return v.isClassMethod(e)?!(e.computed&&!this.isPure(e.key,t))&&("get"!==e.kind&&"set"!==e.kind):v.isClassProperty(e)||v.isObjectProperty(e)?!(e.computed&&!this.isPure(e.key,t))&&this.isPure(e.value,t):v.isUnaryExpression(e)?this.isPure(e.argument,t):v.isPureish(e)},e.prototype.setData=function(e,t){return this.data[e]=t},e.prototype.getData=function(e){var t=this;do{var r=t.data[e];if(null!=r)return r}while(t=t.parent)},e.prototype.removeData=function(e){var t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)},e.prototype.init=function(){this.references||this.crawl()},e.prototype.crawl=function(){E++,this._crawl(),E--},e.prototype._crawl=function(){var e=this.path;if(this.references=(0,o.default)(null),this.bindings=(0,o.default)(null),this.globals=(0,o.default)(null),this.uids=(0,o.default)(null),this.data=(0,o.default)(null),e.isLoop())for(var t=v.FOR_INIT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,c.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i,a=e.get(s);a.isBlockScoped()&&this.registerBinding(a.node.kind,a)}if(e.isFunctionExpression()&&e.has("id")&&(e.get("id").node[v.NOT_LOCAL_BINDING]||this.registerBinding("local",e.get("id"),e)),e.isClassExpression()&&e.has("id")&&(e.get("id").node[v.NOT_LOCAL_BINDING]||this.registerBinding("local",e)),e.isFunction())for(var u=e.get("params"),l=Array.isArray(u),p=0,u=l?u:(0,c.default)(u);;){var h;if(l){if(p>=u.length)break;h=u[p++]}else{if((p=u.next()).done)break;h=p.value}var f=h;this.registerBinding("param",f)}e.isCatchClause()&&this.registerBinding("let",e);if(!this.getProgramParent().crawling){var d={references:[],constantViolations:[],assignments:[]};this.crawling=!0,e.traverse(A,d),this.crawling=!1;for(var m=d.assignments,y=Array.isArray(m),g=0,m=y?m:(0,c.default)(m);;){var b;if(y){if(g>=m.length)break;b=m[g++]}else{if((g=m.next()).done)break;b=g.value}var x=b,E=x.getBindingIdentifiers(),D=void 0;for(var C in E)x.scope.getBinding(C)||(D=D||x.scope.getProgramParent()).addGlobal(E[C]);x.scope.registerConstantViolation(x)}for(var S=d.references,_=Array.isArray(S),w=0,S=_?S:(0,c.default)(S);;){var k;if(_){if(w>=S.length)break;k=S[w++]}else{if((w=S.next()).done)break;k=w.value}var F=k,T=F.scope.getBinding(F.node.name);T?T.reference(F):F.scope.getProgramParent().addGlobal(F.node)}for(var P=d.constantViolations,B=Array.isArray(P),O=0,P=B?P:(0,c.default)(P);;){var j;if(B){if(O>=P.length)break;j=P[O++]}else{if((O=P.next()).done)break;j=O.value}var N=j;N.scope.registerConstantViolation(N)}}},e.prototype.push=function(e){var t=this.path;t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=this.getFunctionParent().path),(t.isLoop()||t.isCatchClause()||t.isFunction())&&(v.ensureBlock(t.node),t=t.get("body"));var r=e.unique,n=e.kind||"var",i=null==e._blockHoist?2:e._blockHoist,s="declaration:"+n+":"+i,a=!r&&t.getData(s);if(!a){var o=v.variableDeclaration(n,[]);o._generated=!0,o._blockHoist=i;a=t.unshiftContainer("body",[o])[0],r||t.setData(s,a)}var u=v.variableDeclarator(e.id,e.init);a.node.declarations.push(u),this.registerBinding(n,a.get("declarations").pop())},e.prototype.getProgramParent=function(){var e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("We couldn't find a Function or Program...")},e.prototype.getFunctionParent=function(){var e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);throw new Error("We couldn't find a Function or Program...")},e.prototype.getBlockParent=function(){var e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")},e.prototype.getAllBindings=function(){var e=(0,o.default)(null),t=this;do{(0,m.default)(e,t.bindings),t=t.parent}while(t);return e},e.prototype.getAllBindingsOfKind=function(){for(var e=(0,o.default)(null),t=arguments,r=Array.isArray(t),n=0,t=r?t:(0,c.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i,a=this;do{for(var u in a.bindings){var l=a.bindings[u];l.kind===s&&(e[u]=l)}a=a.parent}while(a)}return e},e.prototype.bindingIdentifierEquals=function(e,t){return this.getBindingIdentifier(e)===t},e.prototype.warnOnFlowBinding=function(e){return 0===E&&e&&e.path.isFlow()&&console.warn("\n You or one of the Babel plugins you are using are using Flow declarations as bindings.\n Support for this will be removed in version 7. To find out the caller, grep for this\n message and change it to a `console.trace()`.\n "),e},e.prototype.getBinding=function(e){var t=this;do{var r=t.getOwnBinding(e);if(r)return this.warnOnFlowBinding(r)}while(t=t.parent)},e.prototype.getOwnBinding=function(e){return this.warnOnFlowBinding(this.bindings[e])},e.prototype.getBindingIdentifier=function(e){var t=this.getBinding(e);return t&&t.identifier},e.prototype.getOwnBindingIdentifier=function(e){var t=this.bindings[e];return t&&t.identifier},e.prototype.hasOwnBinding=function(e){return!!this.getOwnBinding(e)},e.prototype.hasBinding=function(t,r){return!!t&&(!!this.hasOwnBinding(t)||(!!this.parentHasBinding(t,r)||(!!this.hasUid(t)||(!(r||!(0,p.default)(e.globals,t))||!(r||!(0,p.default)(e.contextVariables,t))))))},e.prototype.parentHasBinding=function(e,t){return this.parent&&this.parent.hasBinding(e,t)},e.prototype.moveBindingTo=function(e,t){var r=this.getBinding(e);r&&(r.scope.removeOwnBinding(e),r.scope=t,t.bindings[e]=r)},e.prototype.removeOwnBinding=function(e){delete this.bindings[e]},e.prototype.removeBinding=function(e){var t=this.getBinding(e);t&&t.scope.removeOwnBinding(e);var r=this;do{r.uids[e]&&(r.uids[e]=!1)}while(r=r.parent)},e}();C.globals=(0,a.default)(b.default.builtin),C.contextVariables=["arguments","undefined","Infinity","NaN"],r.default=C,t.exports=r.default},{"../cache":140,"../index":143,"./binding":161,"./lib/renamer":163,"babel-messages":110,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/map":122,"babel-runtime/core-js/object/create":125,"babel-runtime/core-js/object/keys":127,"babel-runtime/helpers/classCallCheck":134,"babel-types":178,globals:313,"lodash/defaults":495,"lodash/includes":507,"lodash/repeat":530}],163:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var i=n(e("babel-runtime/helpers/classCallCheck")),s=(n(e("../binding")),function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types"))),a={ReferencedIdentifier:function(e,t){var r=e.node;r.name===t.oldName&&(r.name=t.newName)},Scope:function(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||e.skip()},"AssignmentExpression|Declaration":function(e,t){var r=e.getOuterBindingIdentifiers();for(var n in r)n===t.oldName&&(r[n].name=t.newName)}},o=function(){function e(t,r,n){(0,i.default)(this,e),this.newName=n,this.oldName=r,this.binding=t}return e.prototype.maybeConvertFromExportDeclaration=function(e){var t=e.parentPath.isExportDeclaration()&&e.parentPath;if(t){var r=t.isExportDefaultDeclaration();r&&(e.isFunctionDeclaration()||e.isClassDeclaration())&&!e.node.id&&(e.node.id=e.scope.generateUidIdentifier("default"));var n=e.getOuterBindingIdentifiers(),i=[];for(var a in n){var o=a===this.oldName?this.newName:a,u=r?"default":a;i.push(s.exportSpecifier(s.identifier(o),s.identifier(u)))}if(i.length){var l=s.exportNamedDeclaration(null,i);e.isFunctionDeclaration()&&(l._blockHoist=3),t.insertAfter(l),t.replaceWith(e.node)}}},e.prototype.rename=function(e){var t=this.binding,r=this.oldName,n=this.newName,i=t.scope,s=t.path.find(function(e){return e.isDeclaration()||e.isFunctionExpression()});s&&this.maybeConvertFromExportDeclaration(s),i.traverse(e||i.block,a,this),e||(i.removeOwnBinding(r),i.bindings[n]=t,this.binding.identifier.name=n),t.type},e}();r.default=o,t.exports=r.default},{"../binding":161,"babel-runtime/helpers/classCallCheck":134,"babel-types":178}],164:[function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function s(e){if(e._exploded)return e;e._exploded=!0;for(var t in e)if(!l(t)){var r=t.split("|");if(1!==r.length){var n=e[t];delete e[t];for(var i=r,s=Array.isArray(i),o=0,i=s?i:(0,f.default)(i);;){var p;if(s){if(o>=i.length)break;p=i[o++]}else{if((o=i.next()).done)break;p=o.value}e[p]=n}}}a(e),delete e.__esModule,function(e){for(var t in e)if(!l(t)){var r=e[t];"function"==typeof r&&(e[t]={enter:r})}}(e),u(e);for(var m=(0,h.default)(e),b=Array.isArray(m),v=0,m=b?m:(0,f.default)(m);;){var x;if(b){if(v>=m.length)break;x=m[v++]}else{if((v=m.next()).done)break;x=v.value}var E=x;if(!l(E)){var A=d[E];if(A){var D=e[E];for(var C in D)D[C]=function(e,t){var r=function(r){if(e.checkPath(r))return t.apply(this,arguments)};return r.toString=function(){return t.toString()},r}(A,D[C]);if(delete e[E],A.types)for(var S=A.types,_=Array.isArray(S),w=0,S=_?S:(0,f.default)(S);;){var k;if(_){if(w>=S.length)break;k=S[w++]}else{if((w=S.next()).done)break;k=w.value}var F=k;e[F]?c(e[F],D):e[F]=D}else c(e,D)}}}for(var T in e)if(!l(T)){var P=e[T],B=y.FLIPPED_ALIAS_KEYS[T],O=y.DEPRECATED_KEYS[T];if(O&&(console.trace("Visitor defined for "+T+" but it has been renamed to "+O),B=[O]),B){delete e[T];for(var j=B,N=Array.isArray(j),I=0,j=N?j:(0,f.default)(j);;){var L;if(N){if(I>=j.length)break;L=j[I++]}else{if((I=j.next()).done)break;L=I.value}var M=L,R=e[M];R?c(R,P):e[M]=(0,g.default)(P)}}}for(var V in e)l(V)||u(e[V]);return e}function a(e){if(!e._verified){if("function"==typeof e)throw new Error(m.get("traverseVerifyRootFunction"));for(var t in e)if("enter"!==t&&"exit"!==t||o(t,e[t]),!l(t)){if(y.TYPES.indexOf(t)<0)throw new Error(m.get("traverseVerifyNodeType",t));var r=e[t];if("object"===(void 0===r?"undefined":(0,p.default)(r)))for(var n in r){if("enter"!==n&&"exit"!==n)throw new Error(m.get("traverseVerifyVisitorProperty",t,n));o(t+"."+n,r[n])}}e._verified=!0}}function o(e,t){for(var r=[].concat(t),n=Array.isArray(r),i=0,r=n?r:(0,f.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;if("function"!=typeof a)throw new TypeError("Non-function found defined in "+e+" with type "+(void 0===a?"undefined":(0,p.default)(a)))}}function u(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function l(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("blacklist"===e||"noScope"===e||"skipKeys"===e))}function c(e,t){for(var r in t)e[r]=[].concat(e[r]||[],t[r])}r.__esModule=!0;var p=i(e("babel-runtime/helpers/typeof")),h=i(e("babel-runtime/core-js/object/keys")),f=i(e("babel-runtime/core-js/get-iterator"));r.explode=s,r.verify=a,r.merge=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2],n={},i=0;i=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},r.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),r.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],r.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},r.enable(i())}).call(this,e("_process"))},{"./debug":166,_process:550}],166:[function(e,t,r){arguments[4][60][0].apply(r,arguments)},{dup:60,ms:543}],167:[function(e,t,r){"use strict";r.__esModule=!0,r.NOT_LOCAL_BINDING=r.BLOCK_SCOPED_SYMBOL=r.INHERIT_KEYS=r.UNARY_OPERATORS=r.STRING_UNARY_OPERATORS=r.NUMBER_UNARY_OPERATORS=r.BOOLEAN_UNARY_OPERATORS=r.BINARY_OPERATORS=r.NUMBER_BINARY_OPERATORS=r.BOOLEAN_BINARY_OPERATORS=r.COMPARISON_BINARY_OPERATORS=r.EQUALITY_BINARY_OPERATORS=r.BOOLEAN_NUMBER_BINARY_OPERATORS=r.UPDATE_OPERATORS=r.LOGICAL_OPERATORS=r.COMMENT_KEYS=r.FOR_INIT_KEYS=r.FLATTENABLE_KEYS=r.STATEMENT_OR_BLOCK_KEYS=void 0;var n=function(e){return e&&e.__esModule?e:{default:e}}(e("babel-runtime/core-js/symbol/for")),i=(r.STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"],r.FLATTENABLE_KEYS=["body","expressions"],r.FOR_INIT_KEYS=["left","init"],r.COMMENT_KEYS=["leadingComments","trailingComments","innerComments"],r.LOGICAL_OPERATORS=["||","&&"],r.UPDATE_OPERATORS=["++","--"],r.BOOLEAN_NUMBER_BINARY_OPERATORS=[">","<",">=","<="]),s=r.EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="],a=r.COMPARISON_BINARY_OPERATORS=[].concat(s,["in","instanceof"]),o=r.BOOLEAN_BINARY_OPERATORS=[].concat(a,i),u=r.NUMBER_BINARY_OPERATORS=["-","/","%","*","**","&","|",">>",">>>","<<","^"],l=(r.BINARY_OPERATORS=["+"].concat(u,o),r.BOOLEAN_UNARY_OPERATORS=["delete","!"]),c=r.NUMBER_UNARY_OPERATORS=["+","-","++","--","~"],p=r.STRING_UNARY_OPERATORS=["typeof"];r.UNARY_OPERATORS=["void"].concat(l,c,p),r.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},r.BLOCK_SCOPED_SYMBOL=(0,n.default)("var used to be block scoped"),r.NOT_LOCAL_BINDING=(0,n.default)("should not be considered a local binding")},{"babel-runtime/core-js/symbol/for":130}],168:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t,r){for(var n=[],s=!0,a=e,o=Array.isArray(a),u=0,a=o?a:(0,l.default)(a);;){var c;if(o){if(u>=a.length)break;c=a[u++]}else{if((u=a.next()).done)break;c=u.value}var p=c;if(s=!1,h.isExpression(p))n.push(p);else if(h.isExpressionStatement(p))n.push(p.expression);else if(h.isVariableDeclaration(p)){if("var"!==p.kind)return;for(var f=p.declarations,d=Array.isArray(f),m=0,f=d?f:(0,l.default)(f);;){var y;if(d){if(m>=f.length)break;y=f[m++]}else{if((m=f.next()).done)break;y=m.value}var g=y,b=h.getBindingIdentifiers(g);for(var v in b)r.push({kind:p.kind,id:b[v]});g.init&&n.push(h.assignmentExpression("=",g.id,g.init))}s=!0}else if(h.isIfStatement(p)){var x=p.consequent?i([p.consequent],t,r):t.buildUndefinedNode(),E=p.alternate?i([p.alternate],t,r):t.buildUndefinedNode();if(!x||!E)return;n.push(h.conditionalExpression(p.test,x,E))}else if(h.isBlockStatement(p)){var A=i(p.body,t,r);if(!A)return;n.push(A)}else{if(!h.isEmptyStatement(p))return;s=!0}}return s&&n.push(t.buildUndefinedNode()),1===n.length?n[0]:h.sequenceExpression(n)}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key,r=void 0;return"method"===e.kind?s.increment()+"":(r=h.isIdentifier(t)?t.name:h.isStringLiteral(t)?(0,u.default)(t.value):(0,u.default)(h.removePropertiesDeep(h.cloneDeep(t))),e.computed&&(r="["+r+"]"),e.static&&(r="static:"+r),r)}function a(e){return e+="",e=e.replace(/[^a-zA-Z0-9$_]/g,"-"),e=e.replace(/^[-0-9]+/,""),e=e.replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),h.isValidIdentifier(e)||(e="_"+e),e||"_"}r.__esModule=!0;var o=n(e("babel-runtime/core-js/number/max-safe-integer")),u=n(e("babel-runtime/core-js/json/stringify")),l=n(e("babel-runtime/core-js/get-iterator"));r.toComputedKey=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key||e.property;return e.computed||h.isIdentifier(t)&&(t=h.stringLiteral(t.name)),t},r.toSequenceExpression=function(e,t){if(e&&e.length){var r=[],n=i(e,t,r);if(n){for(var s=r,a=Array.isArray(s),o=0,s=a?s:(0,l.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var c=u;t.push(c)}return n}}},r.toKeyAlias=s,r.toIdentifier=a,r.toBindingIdentifierName=function(e){return"eval"!==(e=a(e))&&"arguments"!==e||(e="_"+e),e},r.toStatement=function(e,t){if(h.isStatement(e))return e;var r=!1,n=void 0;if(h.isClass(e))r=!0,n="ClassDeclaration";else if(h.isFunction(e))r=!0,n="FunctionDeclaration";else if(h.isAssignmentExpression(e))return h.expressionStatement(e);if(r&&!e.id&&(n=!1),!n){if(t)return!1;throw new Error("cannot turn "+e.type+" to a statement")}return e.type=n,e},r.toExpression=function(e){if(h.isExpressionStatement(e)&&(e=e.expression),h.isExpression(e))return e;if(h.isClass(e)?e.type="ClassExpression":h.isFunction(e)&&(e.type="FunctionExpression"),!h.isExpression(e))throw new Error("cannot turn "+e.type+" to an expression");return e},r.toBlock=function(e,t){return h.isBlockStatement(e)?e:(h.isEmptyStatement(e)&&(e=[]),Array.isArray(e)||(h.isStatement(e)||(e=h.isFunction(t)?h.returnStatement(e):h.expressionStatement(e)),e=[e]),h.blockStatement(e))},r.valueToNode=function(e){if(void 0===e)return h.identifier("undefined");if(!0===e||!1===e)return h.booleanLiteral(e);if(null===e)return h.nullLiteral();if("string"==typeof e)return h.stringLiteral(e);if("number"==typeof e)return h.numericLiteral(e);if((0,p.default)(e)){var t=e.source,r=e.toString().match(/\/([a-z]+|)$/)[1];return h.regExpLiteral(t,r)}if(Array.isArray(e))return h.arrayExpression(e.map(h.valueToNode));if((0,c.default)(e)){var n=[];for(var i in e){var s=void 0;s=h.isValidIdentifier(i)?h.identifier(i):h.stringLiteral(i),n.push(h.objectProperty(s,h.valueToNode(e[i])))}return h.objectExpression(n)}throw new Error("don't know how to turn this value into a node")};var c=n(e("lodash/isPlainObject")),p=n(e("lodash/isRegExp")),h=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./index"));s.uid=0,s.increment=function(){return s.uid>=o.default?s.uid=0:s.uid++}},{"./index":178,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/core-js/number/max-safe-integer":123,"lodash/isPlainObject":518,"lodash/isRegExp":519}],169:[function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../index")),i=e("../constants"),s=e("./index"),a=function(e){return e&&e.__esModule?e:{default:e}}(s);(0,a.default)("ArrayExpression",{fields:{elements:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,a.default)("AssignmentExpression",{fields:{operator:{validate:(0,s.assertValueType)("string")},left:{validate:(0,s.assertNodeType)("LVal")},right:{validate:(0,s.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,a.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:s.assertOneOf.apply(void 0,i.BINARY_OPERATORS)},left:{validate:(0,s.assertNodeType)("Expression")},right:{validate:(0,s.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,a.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,s.assertNodeType)("DirectiveLiteral")}}}),(0,a.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,s.assertValueType)("string")}}}),(0,a.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Directive"))),default:[]},body:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,a.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,s.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,a.default)("CallExpression",{visitor:["callee","arguments"],fields:{callee:{validate:(0,s.assertNodeType)("Expression")},arguments:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Expression","SpreadElement")))}},aliases:["Expression"]}),(0,a.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,s.assertNodeType)("Identifier")},body:{validate:(0,s.assertNodeType)("BlockStatement")}},aliases:["Scopable"]}),(0,a.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,s.assertNodeType)("Expression")},consequent:{validate:(0,s.assertNodeType)("Expression")},alternate:{validate:(0,s.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,a.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,s.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,a.default)("DebuggerStatement",{aliases:["Statement"]}),(0,a.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,s.assertNodeType)("Expression")},body:{validate:(0,s.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,a.default)("EmptyStatement",{aliases:["Statement"]}),(0,a.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,s.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,a.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,s.assertNodeType)("Program")}}}),(0,a.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,s.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,s.assertNodeType)("Expression")},body:{validate:(0,s.assertNodeType)("Statement")}}}),(0,a.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,s.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,s.assertNodeType)("Expression"),optional:!0},update:{validate:(0,s.assertNodeType)("Expression"),optional:!0},body:{validate:(0,s.assertNodeType)("Statement")}}}),(0,a.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:{id:{validate:(0,s.assertNodeType)("Identifier")},params:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("LVal")))},body:{validate:(0,s.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,s.assertValueType)("boolean")},async:{default:!1,validate:(0,s.assertValueType)("boolean")}},aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"]}),(0,a.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:{id:{validate:(0,s.assertNodeType)("Identifier"),optional:!0},params:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("LVal")))},body:{validate:(0,s.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,s.assertValueType)("boolean")},async:{default:!1,validate:(0,s.assertValueType)("boolean")}}}),(0,a.default)("Identifier",{builder:["name"],visitor:["typeAnnotation"],aliases:["Expression","LVal"],fields:{name:{validate:function(e,t,r){n.isValidIdentifier(r)}},decorators:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Decorator")))}}}),(0,a.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,s.assertNodeType)("Expression")},consequent:{validate:(0,s.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,s.assertNodeType)("Statement")}}}),(0,a.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,s.assertNodeType)("Identifier")},body:{validate:(0,s.assertNodeType)("Statement")}}}),(0,a.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,s.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,s.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,s.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Literal"],fields:{pattern:{validate:(0,s.assertValueType)("string")},flags:{validate:(0,s.assertValueType)("string"),default:""}}}),(0,a.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:s.assertOneOf.apply(void 0,i.LOGICAL_OPERATORS)},left:{validate:(0,s.assertNodeType)("Expression")},right:{validate:(0,s.assertNodeType)("Expression")}}}),(0,a.default)("MemberExpression",{builder:["object","property","computed"],visitor:["object","property"],aliases:["Expression","LVal"],fields:{object:{validate:(0,s.assertNodeType)("Expression")},property:{validate:function(e,t,r){var n=e.computed?"Expression":"Identifier";(0,s.assertNodeType)(n)(e,t,r)}},computed:{default:!1}}}),(0,a.default)("NewExpression",{visitor:["callee","arguments"],aliases:["Expression"],fields:{callee:{validate:(0,s.assertNodeType)("Expression")},arguments:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Expression","SpreadElement")))}}}),(0,a.default)("Program",{visitor:["directives","body"],builder:["body","directives"],fields:{directives:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Directive"))),default:[]},body:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","FunctionParent"]}),(0,a.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("ObjectMethod","ObjectProperty","SpreadProperty")))}}}),(0,a.default)("ObjectMethod",{builder:["kind","key","params","body","computed"],fields:{kind:{validate:(0,s.chain)((0,s.assertValueType)("string"),(0,s.assertOneOf)("method","get","set")),default:"method"},computed:{validate:(0,s.assertValueType)("boolean"),default:!1},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];s.assertNodeType.apply(void 0,n)(e,t,r)}},decorators:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Decorator")))},body:{validate:(0,s.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,s.assertValueType)("boolean")},async:{default:!1,validate:(0,s.assertValueType)("boolean")}},visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,a.default)("ObjectProperty",{builder:["key","value","computed","shorthand","decorators"],fields:{computed:{validate:(0,s.assertValueType)("boolean"),default:!1},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];s.assertNodeType.apply(void 0,n)(e,t,r)}},value:{validate:(0,s.assertNodeType)("Expression","Pattern","RestElement")},shorthand:{validate:(0,s.assertValueType)("boolean"),default:!1},decorators:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"]}),(0,a.default)("RestElement",{visitor:["argument","typeAnnotation"],aliases:["LVal"],fields:{argument:{validate:(0,s.assertNodeType)("LVal")},decorators:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Decorator")))}}}),(0,a.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,s.assertNodeType)("Expression"),optional:!0}}}),(0,a.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,a.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,s.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("Statement")))}}}),(0,a.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,s.assertNodeType)("Expression")},cases:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("SwitchCase")))}}}),(0,a.default)("ThisExpression",{aliases:["Expression"]}),(0,a.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,s.assertNodeType)("Expression")}}}),(0,a.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{body:{validate:(0,s.assertNodeType)("BlockStatement")},handler:{optional:!0,handler:(0,s.assertNodeType)("BlockStatement")},finalizer:{optional:!0,validate:(0,s.assertNodeType)("BlockStatement")}}}),(0,a.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,s.assertNodeType)("Expression")},operator:{validate:s.assertOneOf.apply(void 0,i.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,a.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:(0,s.assertNodeType)("Expression")},operator:{validate:s.assertOneOf.apply(void 0,i.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,a.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{kind:{validate:(0,s.chain)((0,s.assertValueType)("string"),(0,s.assertOneOf)("var","let","const"))},declarations:{validate:(0,s.chain)((0,s.assertValueType)("array"),(0,s.assertEach)((0,s.assertNodeType)("VariableDeclarator")))}}}),(0,a.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:(0,s.assertNodeType)("LVal")},init:{optional:!0,validate:(0,s.assertNodeType)("Expression")}}}),(0,a.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,s.assertNodeType)("Expression")},body:{validate:(0,s.assertNodeType)("BlockStatement","Statement")}}}),(0,a.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{object:(0,s.assertNodeType)("Expression")},body:{validate:(0,s.assertNodeType)("BlockStatement","Statement")}}})},{"../constants":167,"../index":178,"./index":173}],170:[function(e,t,r){"use strict";var n=e("./index"),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("AssignmentPattern",{visitor:["left","right"],aliases:["Pattern","LVal"],fields:{left:{validate:(0,n.assertNodeType)("Identifier")},right:{validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],aliases:["Pattern","LVal"],fields:{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Identifier","Pattern","RestElement")))},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("LVal")))},body:{validate:(0,n.assertNodeType)("BlockStatement","Expression")},async:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,i.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ClassMethod","ClassProperty")))}}}),(0,i.default)("ClassDeclaration",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Statement","Declaration","Pureish"],fields:{id:{validate:(0,n.assertNodeType)("Identifier")},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ClassExpression",{inherits:"ClassDeclaration",aliases:["Scopable","Class","Expression","Pureish"],fields:{id:{optional:!0,validate:(0,n.assertNodeType)("Identifier")},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,i.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("FunctionDeclaration","ClassDeclaration","Expression")}}}),(0,i.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("Declaration"),optional:!0},specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ExportSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral"),optional:!0}}}),(0,i.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ForOfStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,i.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,i.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},imported:{validate:(0,n.assertNodeType)("Identifier")},importKind:{validate:(0,n.assertOneOf)(null,"type","typeof")}}}),(0,i.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,n.assertValueType)("string")},property:{validate:(0,n.assertValueType)("string")}}}),(0,i.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:{kind:{validate:(0,n.chain)((0,n.assertValueType)("string"),(0,n.assertOneOf)("get","set","method","constructor")),default:"method"},computed:{default:!1,validate:(0,n.assertValueType)("boolean")},static:{default:!1,validate:(0,n.assertValueType)("boolean")},key:{validate:function(e,t,r){var i=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];n.assertNodeType.apply(void 0,i)(e,t,r)}},params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("LVal")))},body:{validate:(0,n.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,n.assertValueType)("boolean")},async:{default:!1,validate:(0,n.assertValueType)("boolean")}}}),(0,i.default)("ObjectPattern",{visitor:["properties","typeAnnotation"],aliases:["Pattern","LVal"],fields:{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("RestProperty","Property")))},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}}}),(0,i.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("Super",{aliases:["Expression"]}),(0,i.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,n.assertNodeType)("Expression")},quasi:{validate:(0,n.assertNodeType)("TemplateLiteral")}}}),(0,i.default)("TemplateElement",{builder:["value","tail"],fields:{value:{},tail:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,i.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TemplateElement")))},expressions:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression")))}}}),(0,i.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,n.assertValueType)("boolean"),default:!1},argument:{optional:!0,validate:(0,n.assertNodeType)("Expression")}}})},{"./index":173}],171:[function(e,t,r){"use strict";var n=e("./index"),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("ForAwaitStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")}}}),(0,i.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{}}),(0,i.default)("Import",{aliases:["Expression"]}),(0,i.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("DoExpression",{visitor:["body"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")}}}),(0,i.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,i.default)("RestProperty",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,n.assertNodeType)("LVal")}}}),(0,i.default)("SpreadProperty",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}})},{"./index":173}],172:[function(e,t,r){"use strict";var n=e("./index"),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("AnyTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow"],fields:{}}),(0,i.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("BooleanLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,i.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,i.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed"],aliases:["Property"],fields:{computed:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,i.default)("DeclareClass",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareInterface",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareModule",{visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("ExistentialTypeParam",{aliases:["Flow"]}),(0,i.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow"],fields:{}}),(0,i.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{}}),(0,i.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,i.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,i.default)("InterfaceDeclaration",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,i.default)("MixedTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"]}),(0,i.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"]}),(0,i.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow"],fields:{}}),(0,i.default)("NumericLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,i.default)("NumberTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("StringLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,i.default)("StringTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("ThisTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,i.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("OpaqueType",{visitor:["id","typeParameters","impltype","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,i.default)("TypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{}}),(0,i.default)("TypeParameter",{visitor:["bound"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeParameterDeclaration",{visitor:["params"],aliases:["Flow"],fields:{}}),(0,i.default)("TypeParameterInstantiation",{visitor:["params"],aliases:["Flow"],fields:{}}),(0,i.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties"],aliases:["Flow"],fields:{}}),(0,i.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("ObjectTypeIndexer",{visitor:["id","key","value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("ObjectTypeProperty",{visitor:["key","value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,i.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{}}),(0,i.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,i.default)("VoidTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}})},{"./index":173}],173:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":void 0===e?"undefined":(0,u.default)(e)}function s(e){function t(t,r,n){if(!(i(n)===e))throw new TypeError("Property "+r+" expected type of "+e+" but got "+i(n))}return t.type=e,t}r.__esModule=!0,r.DEPRECATED_KEYS=r.BUILDER_KEYS=r.NODE_FIELDS=r.ALIAS_KEYS=r.VISITOR_KEYS=void 0;var a=n(e("babel-runtime/core-js/get-iterator")),o=n(e("babel-runtime/core-js/json/stringify")),u=n(e("babel-runtime/helpers/typeof"));r.assertEach=function(e){function t(t,r,n){if(Array.isArray(n))for(var i=0;i=s.length)break;p=s[c++]}else{if((c=s.next()).done)break;p=c.value}var h=p;if(l.is(h,n)){i=!0;break}}if(!i)throw new TypeError("Property "+t+" of "+e.type+" expected node to be of a type "+(0,o.default)(r)+" but instead got "+(0,o.default)(n&&n.type))}for(var t=arguments.length,r=Array(t),n=0;n=u.length)break;h=u[p++]}else{if((p=u.next()).done)break;h=p.value}var f=h;if(i(n)===f||l.is(f,n)){s=!0;break}}if(!s)throw new TypeError("Property "+t+" of "+e.type+" expected node to be of a type "+(0,o.default)(r)+" but instead got "+(0,o.default)(n&&n.type))}for(var t=arguments.length,r=Array(t),n=0;n=e.length)break;i=e[n++]}else{if((n=e.next()).done)break;i=n.value}i.apply(void 0,arguments)}}for(var t=arguments.length,r=Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=t.inherits&&m[t.inherits]||{};t.fields=t.fields||r.fields||{},t.visitor=t.visitor||r.visitor||[],t.aliases=t.aliases||r.aliases||[],t.builder=t.builder||r.builder||t.visitor||[],t.deprecatedAlias&&(d[t.deprecatedAlias]=e);for(var n=t.visitor.concat(t.builder),o=Array.isArray(n),u=0,n=o?n:(0,a.default)(n);;){var l;if(o){if(u>=n.length)break;l=n[u++]}else{if((u=n.next()).done)break;l=u.value}var y=l;t.fields[y]=t.fields[y]||{}}for(var g in t.fields){var b=t.fields[g];-1===t.builder.indexOf(g)&&(b.optional=!0),void 0===b.default?b.default=null:b.validate||(b.validate=s(i(b.default)))}c[e]=t.visitor,f[e]=t.builder,h[e]=t.fields,p[e]=t.aliases,m[e]=t};var l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../index")),c=r.VISITOR_KEYS={},p=r.ALIAS_KEYS={},h=r.NODE_FIELDS={},f=r.BUILDER_KEYS={},d=r.DEPRECATED_KEYS={},m={}},{"../index":178,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/helpers/typeof":138}],174:[function(e,t,r){"use strict";e("./index"),e("./core"),e("./es2015"),e("./flow"),e("./jsx"),e("./misc"),e("./experimental")},{"./core":169,"./es2015":170,"./experimental":171,"./flow":172,"./index":173,"./jsx":175,"./misc":176}],175:[function(e,t,r){"use strict";var n=e("./index"),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,n.assertNodeType)("JSXElement","StringLiteral","JSXExpressionContainer")}}}),(0,i.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression")}}}),(0,i.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,n.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,n.assertNodeType)("JSXClosingElement")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement")))}}}),(0,i.default)("JSXEmptyExpression",{aliases:["JSX","Expression"]}),(0,i.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("JSXIdentifier",{builder:["name"],aliases:["JSX","Expression"],fields:{name:{validate:(0,n.assertValueType)("string")}}}),(0,i.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX","Expression"],fields:{object:{validate:(0,n.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,i.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,n.assertNodeType)("JSXIdentifier")},name:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,i.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression")},selfClosing:{default:!1,validate:(0,n.assertValueType)("boolean")},attributes:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))}}}),(0,i.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,i.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}})},{"./index":173}],176:[function(e,t,r){"use strict";var n=e("./index"),i=function(e){return e&&e.__esModule?e:{default:e}}(n);(0,i.default)("Noop",{visitor:[]}),(0,i.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}})},{"./index":173}],177:[function(e,t,r){"use strict";function n(e){for(var t={},r={},s=[],a=[],o=0;o=0)){if(i.isAnyTypeAnnotation(u))return[u];if(i.isFlowBaseAnnotation(u))r[u.type]=u;else if(i.isUnionTypeAnnotation(u))s.indexOf(u.types)<0&&(e=e.concat(u.types),s.push(u.types));else if(i.isGenericTypeAnnotation(u)){var l=u.id.name;if(t[l]){var c=t[l];c.typeParameters?u.typeParameters&&(c.typeParameters.params=n(c.typeParameters.params.concat(u.typeParameters.params))):c=u.typeParameters}else t[l]=u}else a.push(u)}}for(var p in r)a.push(r[p]);for(var h in t)a.push(t[h]);return a}r.__esModule=!0,r.createUnionTypeAnnotation=function(e){var t=n(e);return 1===t.length?t[0]:i.unionTypeAnnotation(t)},r.removeTypeDuplicates=n,r.createTypeAnnotationBasedOnTypeof=function(e){if("string"===e)return i.stringTypeAnnotation();if("number"===e)return i.numberTypeAnnotation();if("undefined"===e)return i.voidTypeAnnotation();if("boolean"===e)return i.booleanTypeAnnotation();if("function"===e)return i.genericTypeAnnotation(i.identifier("Function"));if("object"===e)return i.genericTypeAnnotation(i.identifier("Object"));if("symbol"===e)return i.genericTypeAnnotation(i.identifier("Symbol"));throw new Error("Invalid typeof value")};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./index"))},{"./index":178}],178:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=F["is"+e];t||(t=F["is"+e]=function(t,r){return F.is(e,t,r)}),F["assert"+e]=function(r,n){if(n=n||{},!t(r,n))throw new Error("Expected type "+(0,b.default)(e)+" with option "+(0,b.default)(n))}}function s(e,t){if(e===t)return!0;if(F.ALIAS_KEYS[t])return!1;var r=F.FLIPPED_ALIAS_KEYS[t];if(r){if(r[0]===e)return!0;for(var n=r,i=Array.isArray(n),s=0,n=i?n:(0,y.default)(n);;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}if(e===a)return!0}}return!1}function a(e,t,r){if(e){var n=F.NODE_FIELDS[e.type];if(n){var i=n[t];i&&i.validate&&(i.optional&&null==r||i.validate(e,t,r))}}}function o(e){if(!e)return e;var t={};for(var r in e)"_"!==r[0]&&(t[r]=e[r]);return t}function u(e,t){p("trailingComments",e,t)}function l(e,t){p("leadingComments",e,t)}function c(e,t){p("innerComments",e,t)}function p(e,t,r){t&&r&&(t[e]=(0,_.default)([].concat(t[e],r[e]).filter(Boolean)))}function h(e){return!(!e||!w.VISITOR_KEYS[e.type])}function f(e,t,r){if(e){var n=F.VISITOR_KEYS[e.type];if(n){t(e,r=r||{});for(var i=n,s=Array.isArray(i),a=0,i=s?i:(0,y.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if((a=i.next()).done)break;o=a.value}var u=e[o];if(Array.isArray(u))for(var l=u,c=Array.isArray(l),p=0,l=c?l:(0,y.default)(l);;){var h;if(c){if(p>=l.length)break;h=l[p++]}else{if((p=l.next()).done)break;h=p.value}f(h,t,r)}else f(u,t,r)}}}}function d(e,t){for(var r=(t=t||{}).preserveComments?O:j,n=Array.isArray(r),i=0,r=n?r:(0,y.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;null!=e[a]&&(e[a]=void 0)}for(var o in e)"_"===o[0]&&null!=e[o]&&(e[o]=void 0);for(var u=(0,m.default)(e),l=Array.isArray(u),c=0,u=l?u:(0,y.default)(u);;){var p;if(l){if(c>=u.length)break;p=u[c++]}else{if((c=u.next()).done)break;p=c.value}e[p]=null}}r.__esModule=!0,r.createTypeAnnotationBasedOnTypeof=r.removeTypeDuplicates=r.createUnionTypeAnnotation=r.valueToNode=r.toBlock=r.toExpression=r.toStatement=r.toBindingIdentifierName=r.toIdentifier=r.toKeyAlias=r.toSequenceExpression=r.toComputedKey=r.isNodesEquivalent=r.isImmutable=r.isScope=r.isSpecifierDefault=r.isVar=r.isBlockScoped=r.isLet=r.isValidIdentifier=r.isReferenced=r.isBinding=r.getOuterBindingIdentifiers=r.getBindingIdentifiers=r.TYPES=r.react=r.DEPRECATED_KEYS=r.BUILDER_KEYS=r.NODE_FIELDS=r.ALIAS_KEYS=r.VISITOR_KEYS=r.NOT_LOCAL_BINDING=r.BLOCK_SCOPED_SYMBOL=r.INHERIT_KEYS=r.UNARY_OPERATORS=r.STRING_UNARY_OPERATORS=r.NUMBER_UNARY_OPERATORS=r.BOOLEAN_UNARY_OPERATORS=r.BINARY_OPERATORS=r.NUMBER_BINARY_OPERATORS=r.BOOLEAN_BINARY_OPERATORS=r.COMPARISON_BINARY_OPERATORS=r.EQUALITY_BINARY_OPERATORS=r.BOOLEAN_NUMBER_BINARY_OPERATORS=r.UPDATE_OPERATORS=r.LOGICAL_OPERATORS=r.COMMENT_KEYS=r.FOR_INIT_KEYS=r.FLATTENABLE_KEYS=r.STATEMENT_OR_BLOCK_KEYS=void 0;var m=n(e("babel-runtime/core-js/object/get-own-property-symbols")),y=n(e("babel-runtime/core-js/get-iterator")),g=n(e("babel-runtime/core-js/object/keys")),b=n(e("babel-runtime/core-js/json/stringify")),v=e("./constants");Object.defineProperty(r,"STATEMENT_OR_BLOCK_KEYS",{enumerable:!0,get:function(){return v.STATEMENT_OR_BLOCK_KEYS}}),Object.defineProperty(r,"FLATTENABLE_KEYS",{enumerable:!0,get:function(){return v.FLATTENABLE_KEYS}}),Object.defineProperty(r,"FOR_INIT_KEYS",{enumerable:!0,get:function(){return v.FOR_INIT_KEYS}}),Object.defineProperty(r,"COMMENT_KEYS",{enumerable:!0,get:function(){return v.COMMENT_KEYS}}),Object.defineProperty(r,"LOGICAL_OPERATORS",{enumerable:!0,get:function(){return v.LOGICAL_OPERATORS}}),Object.defineProperty(r,"UPDATE_OPERATORS",{enumerable:!0,get:function(){return v.UPDATE_OPERATORS}}),Object.defineProperty(r,"BOOLEAN_NUMBER_BINARY_OPERATORS",{enumerable:!0,get:function(){return v.BOOLEAN_NUMBER_BINARY_OPERATORS}}),Object.defineProperty(r,"EQUALITY_BINARY_OPERATORS",{enumerable:!0,get:function(){return v.EQUALITY_BINARY_OPERATORS}}),Object.defineProperty(r,"COMPARISON_BINARY_OPERATORS",{enumerable:!0,get:function(){return v.COMPARISON_BINARY_OPERATORS}}),Object.defineProperty(r,"BOOLEAN_BINARY_OPERATORS",{enumerable:!0,get:function(){return v.BOOLEAN_BINARY_OPERATORS}}),Object.defineProperty(r,"NUMBER_BINARY_OPERATORS",{enumerable:!0,get:function(){return v.NUMBER_BINARY_OPERATORS}}),Object.defineProperty(r,"BINARY_OPERATORS",{enumerable:!0,get:function(){return v.BINARY_OPERATORS}}),Object.defineProperty(r,"BOOLEAN_UNARY_OPERATORS",{enumerable:!0,get:function(){return v.BOOLEAN_UNARY_OPERATORS}}),Object.defineProperty(r,"NUMBER_UNARY_OPERATORS",{enumerable:!0,get:function(){return v.NUMBER_UNARY_OPERATORS}}),Object.defineProperty(r,"STRING_UNARY_OPERATORS",{enumerable:!0,get:function(){return v.STRING_UNARY_OPERATORS}}),Object.defineProperty(r,"UNARY_OPERATORS",{enumerable:!0,get:function(){return v.UNARY_OPERATORS}}),Object.defineProperty(r,"INHERIT_KEYS",{enumerable:!0,get:function(){return v.INHERIT_KEYS}}),Object.defineProperty(r,"BLOCK_SCOPED_SYMBOL",{enumerable:!0,get:function(){return v.BLOCK_SCOPED_SYMBOL}}),Object.defineProperty(r,"NOT_LOCAL_BINDING",{enumerable:!0,get:function(){return v.NOT_LOCAL_BINDING}}),r.is=function(e,t,r){return!!t&&!!s(t.type,e)&&(void 0===r||F.shallowEqual(t,r))},r.isType=s,r.validate=a,r.shallowEqual=function(e,t){for(var r=(0,g.default)(t),n=Array.isArray(r),i=0,r=n?r:(0,y.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;if(e[a]!==t[a])return!1}return!0},r.appendToMemberExpression=function(e,t,r){return e.object=F.memberExpression(e.object,e.property,e.computed),e.property=t,e.computed=!!r,e},r.prependToMemberExpression=function(e,t){return e.object=F.memberExpression(t,e.object),e},r.ensureBlock=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body";return e[t]=F.toBlock(e[t],e)},r.clone=o,r.cloneWithoutLoc=function(e){var t=o(e);return delete t.loc,t},r.cloneDeep=function(e){if(!e)return e;var t={};for(var r in e)if("_"!==r[0]){var n=e[r];n&&(n.type?n=F.cloneDeep(n):Array.isArray(n)&&(n=n.map(F.cloneDeep))),t[r]=n}return t},r.buildMatchMemberExpression=function(e,t){var r=e.split(".");return function(e){if(!F.isMemberExpression(e))return!1;for(var n=[e],i=0;n.length;){var s=n.shift();if(t&&i===r.length)return!0;if(F.isIdentifier(s)){if(r[i]!==s.name)return!1}else{if(!F.isStringLiteral(s)){if(F.isMemberExpression(s)){if(s.computed&&!F.isStringLiteral(s.property))return!1;n.push(s.object),n.push(s.property);continue}return!1}if(r[i]!==s.value)return!1}if(++i>r.length)return!1}return!0}},r.removeComments=function(e){for(var t=F.COMMENT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,y.default)(t);;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}delete e[i]}return e},r.inheritsComments=function(e,t){return u(e,t),l(e,t),c(e,t),e},r.inheritTrailingComments=u,r.inheritLeadingComments=l,r.inheritInnerComments=c,r.inherits=function(e,t){if(!e||!t)return e;for(var r=F.INHERIT_KEYS.optional,n=Array.isArray(r),i=0,r=n?r:(0,y.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;null==e[a]&&(e[a]=t[a])}for(var o in t)"_"===o[0]&&(e[o]=t[o]);for(var u=F.INHERIT_KEYS.force,l=Array.isArray(u),c=0,u=l?u:(0,y.default)(u);;){var p;if(l){if(c>=u.length)break;p=u[c++]}else{if((c=u.next()).done)break;p=c.value}var h=p;e[h]=t[h]}return F.inheritsComments(e,t),e},r.assertNode=function(e){if(!h(e))throw new TypeError("Not a valid node "+(e&&e.type))},r.isNode=h,r.traverseFast=f,r.removeProperties=d,r.removePropertiesDeep=function(e,t){return f(e,d,t),e};var x=e("./retrievers");Object.defineProperty(r,"getBindingIdentifiers",{enumerable:!0,get:function(){return x.getBindingIdentifiers}}),Object.defineProperty(r,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return x.getOuterBindingIdentifiers}});var E=e("./validators");Object.defineProperty(r,"isBinding",{enumerable:!0,get:function(){return E.isBinding}}),Object.defineProperty(r,"isReferenced",{enumerable:!0,get:function(){return E.isReferenced}}),Object.defineProperty(r,"isValidIdentifier",{enumerable:!0,get:function(){return E.isValidIdentifier}}),Object.defineProperty(r,"isLet",{enumerable:!0,get:function(){return E.isLet}}),Object.defineProperty(r,"isBlockScoped",{enumerable:!0,get:function(){return E.isBlockScoped}}),Object.defineProperty(r,"isVar",{enumerable:!0,get:function(){return E.isVar}}),Object.defineProperty(r,"isSpecifierDefault",{enumerable:!0,get:function(){return E.isSpecifierDefault}}),Object.defineProperty(r,"isScope",{enumerable:!0,get:function(){return E.isScope}}),Object.defineProperty(r,"isImmutable",{enumerable:!0,get:function(){return E.isImmutable}}),Object.defineProperty(r,"isNodesEquivalent",{enumerable:!0,get:function(){return E.isNodesEquivalent}});var A=e("./converters");Object.defineProperty(r,"toComputedKey",{enumerable:!0,get:function(){return A.toComputedKey}}),Object.defineProperty(r,"toSequenceExpression",{enumerable:!0,get:function(){return A.toSequenceExpression}}),Object.defineProperty(r,"toKeyAlias",{enumerable:!0,get:function(){return A.toKeyAlias}}),Object.defineProperty(r,"toIdentifier",{enumerable:!0,get:function(){return A.toIdentifier}}),Object.defineProperty(r,"toBindingIdentifierName",{enumerable:!0,get:function(){return A.toBindingIdentifierName}}),Object.defineProperty(r,"toStatement",{enumerable:!0,get:function(){return A.toStatement}}),Object.defineProperty(r,"toExpression",{enumerable:!0,get:function(){return A.toExpression}}),Object.defineProperty(r,"toBlock",{enumerable:!0,get:function(){return A.toBlock}}),Object.defineProperty(r,"valueToNode",{enumerable:!0,get:function(){return A.valueToNode}});var D=e("./flow");Object.defineProperty(r,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return D.createUnionTypeAnnotation}}),Object.defineProperty(r,"removeTypeDuplicates",{enumerable:!0,get:function(){return D.removeTypeDuplicates}}),Object.defineProperty(r,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return D.createTypeAnnotationBasedOnTypeof}});var C=n(e("to-fast-properties")),S=n(e("lodash/clone")),_=n(e("lodash/uniq"));e("./definitions/init");var w=e("./definitions"),k=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./react")),F=r;r.VISITOR_KEYS=w.VISITOR_KEYS,r.ALIAS_KEYS=w.ALIAS_KEYS,r.NODE_FIELDS=w.NODE_FIELDS,r.BUILDER_KEYS=w.BUILDER_KEYS,r.DEPRECATED_KEYS=w.DEPRECATED_KEYS,r.react=k;for(var T in F.VISITOR_KEYS)i(T);F.FLIPPED_ALIAS_KEYS={},(0,g.default)(F.ALIAS_KEYS).forEach(function(e){F.ALIAS_KEYS[e].forEach(function(t){(F.FLIPPED_ALIAS_KEYS[t]=F.FLIPPED_ALIAS_KEYS[t]||[]).push(e)})}),(0,g.default)(F.FLIPPED_ALIAS_KEYS).forEach(function(e){F[e.toUpperCase()+"_TYPES"]=F.FLIPPED_ALIAS_KEYS[e],i(e)});r.TYPES=(0,g.default)(F.VISITOR_KEYS).concat((0,g.default)(F.FLIPPED_ALIAS_KEYS)).concat((0,g.default)(F.DEPRECATED_KEYS));(0,g.default)(F.BUILDER_KEYS).forEach(function(e){function t(){if(arguments.length>r.length)throw new Error("t."+e+": Too many arguments passed. Received "+arguments.length+" but can receive no more than "+r.length);var t={};t.type=e;for(var n=0,i=r,s=Array.isArray(i),o=0,i=s?i:(0,y.default)(i);;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{if((o=i.next()).done)break;u=o.value}var l=u,c=F.NODE_FIELDS[e][l],p=arguments[n++];void 0===p&&(p=(0,S.default)(c.default)),t[l]=p}for(var h in t)a(t,h,t[h]);return t}var r=F.BUILDER_KEYS[e];F[e]=t,F[e[0].toLowerCase()+e.slice(1)]=t});var P=function(e){function t(t){return function(){return console.trace("The node type "+e+" has been renamed to "+r),t.apply(this,arguments)}}var r=F.DEPRECATED_KEYS[e];F[e]=F[e[0].toLowerCase()+e.slice(1)]=t(F[r]),F["is"+e]=t(F["is"+r]),F["assert"+e]=t(F["assert"+r])};for(var B in F.DEPRECATED_KEYS)P(B);(0,C.default)(F),(0,C.default)(F.VISITOR_KEYS);var O=["tokens","start","end","loc","raw","rawValue"],j=F.COMMENT_KEYS.concat(["comments"]).concat(O)},{"./constants":167,"./converters":168,"./definitions":173,"./definitions/init":174,"./flow":177,"./react":179,"./retrievers":180,"./validators":181,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/core-js/object/get-own-property-symbols":126,"babel-runtime/core-js/object/keys":127,"lodash/clone":491,"lodash/uniq":540,"to-fast-properties":607}],179:[function(e,t,r){"use strict";function n(e,t){for(var r=e.value.split(/\r\n|\n|\r/),n=0,s=0;s=r.length)break;l=r[u++]}else{if((u=r.next()).done)break;l=u.value}var p=l;if((0,a.default)(e[p])!==(0,a.default)(t[p]))return!1;if(Array.isArray(e[p])){if(!Array.isArray(t[p]))return!1;if(e[p].length!==t[p].length)return!1;for(var h=0;h=0)return!0}else if(i===e)return!0}return!1},r.isReferenced=function(e,t){switch(t.type){case"BindExpression":return t.object===e||t.callee===e;case"MemberExpression":case"JSXMemberExpression":return!(t.property!==e||!t.computed)||t.object===e;case"MetaProperty":return!1;case"ObjectProperty":if(t.key===e)return t.computed;case"VariableDeclarator":return t.id!==e;case"ArrowFunctionExpression":case"FunctionDeclaration":case"FunctionExpression":for(var r=t.params,n=Array.isArray(r),i=0,r=n?r:(0,o.default)(r);;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}if(s===e)return!1}return t.id!==e;case"ExportSpecifier":return!t.source&&t.local===e;case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":return!1;case"JSXAttribute":return t.name!==e;case"ClassProperty":return t.key===e?t.computed:t.value===e;case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":return!1;case"ClassDeclaration":case"ClassExpression":return t.id!==e;case"ClassMethod":case"ObjectMethod":return t.key===e&&t.computed;case"LabeledStatement":return!1;case"CatchClause":return t.param!==e;case"RestElement":return!1;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ObjectPattern":case"ArrayPattern":return!1}return!0},r.isValidIdentifier=function(e){return"string"==typeof e&&!l.default.keyword.isReservedWordES6(e,!0)&&"await"!==e&&l.default.keyword.isIdentifierNameES6(e)},r.isLet=function(e){return c.isVariableDeclaration(e)&&("var"!==e.kind||e[p.BLOCK_SCOPED_SYMBOL])},r.isBlockScoped=function(e){return c.isFunctionDeclaration(e)||c.isClassDeclaration(e)||c.isLet(e)},r.isVar=function(e){return c.isVariableDeclaration(e,{kind:"var"})&&!e[p.BLOCK_SCOPED_SYMBOL]},r.isSpecifierDefault=function(e){return c.isImportDefaultSpecifier(e)||c.isIdentifier(e.imported||e.exported,{name:"default"})},r.isScope=function(e,t){return(!c.isBlockStatement(e)||!c.isFunction(t,{body:e}))&&c.isScopable(e)},r.isImmutable=function(e){return!!c.isType(e.type,"Immutable")||!!c.isIdentifier(e)&&"undefined"===e.name},r.isNodesEquivalent=i;var u=e("./retrievers"),l=n(e("esutils")),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./index")),p=e("./constants")},{"./constants":167,"./index":178,"./retrievers":180,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/object/keys":127,"babel-runtime/helpers/typeof":138,esutils:185}],182:[function(e,t,r){arguments[4][25][0].apply(r,arguments)},{dup:25}],183:[function(e,t,r){arguments[4][26][0].apply(r,arguments)},{dup:26}],184:[function(e,t,r){arguments[4][27][0].apply(r,arguments)},{"./code":183,dup:27}],185:[function(e,t,r){arguments[4][28][0].apply(r,arguments)},{"./ast":182,"./code":183,"./keyword":184,dup:28}],186:[function(e,t,r){"use strict";function n(e){return e=e.split(" "),function(t){return e.indexOf(t)>=0}}function i(e,t){for(var r=65536,n=0;ne)return!1;if((r+=t[n+1])>=e)return!0}}function s(e){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&g.test(String.fromCharCode(e)):i(e,v)))}function a(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&b.test(String.fromCharCode(e)):i(e,v)||i(e,x))))}function o(e){return 10===e||13===e||8232===e||8233===e}function u(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function l(e,t,r,n){return e.type=t,e.end=r,e.loc.end=n,this.processComment(e),e}function c(e){return e[e.length-1]}function p(e){return e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}function h(e){return"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?h(e.object)+"."+h(e.property):void 0}Object.defineProperty(r,"__esModule",{value:!0});var f={6:n("enum await"),strict:n("implements interface let package private protected public static yield"),strictBind:n("eval arguments")},d=n("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super"),m="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",y="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",g=new RegExp("["+m+"]"),b=new RegExp("["+m+y+"]");m=y=null;var v=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],x=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239],E={sourceType:"script",sourceFilename:void 0,startLine:1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,plugins:[],strictMode:null},A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},C=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},S=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},_=!0,w=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};D(this,e),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null},k=function(e){function t(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return D(this,t),n.keyword=r,S(this,e.call(this,r,n))}return C(t,e),t}(w),F=function(e){function t(r,n){return D(this,t),S(this,e.call(this,r,{beforeExpr:_,binop:n}))}return C(t,e),t}(w),T={num:new w("num",{startsExpr:!0}),regexp:new w("regexp",{startsExpr:!0}),string:new w("string",{startsExpr:!0}),name:new w("name",{startsExpr:!0}),eof:new w("eof"),bracketL:new w("[",{beforeExpr:_,startsExpr:!0}),bracketR:new w("]"),braceL:new w("{",{beforeExpr:_,startsExpr:!0}),braceBarL:new w("{|",{beforeExpr:_,startsExpr:!0}),braceR:new w("}"),braceBarR:new w("|}"),parenL:new w("(",{beforeExpr:_,startsExpr:!0}),parenR:new w(")"),comma:new w(",",{beforeExpr:_}),semi:new w(";",{beforeExpr:_}),colon:new w(":",{beforeExpr:_}),doubleColon:new w("::",{beforeExpr:_}),dot:new w("."),question:new w("?",{beforeExpr:_}),arrow:new w("=>",{beforeExpr:_}),template:new w("template"),ellipsis:new w("...",{beforeExpr:_}),backQuote:new w("`",{startsExpr:!0}),dollarBraceL:new w("${",{beforeExpr:_,startsExpr:!0}),at:new w("@"),eq:new w("=",{beforeExpr:_,isAssign:!0}),assign:new w("_=",{beforeExpr:_,isAssign:!0}),incDec:new w("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new w("prefix",{beforeExpr:_,prefix:!0,startsExpr:!0}),logicalOR:new F("||",1),logicalAND:new F("&&",2),bitwiseOR:new F("|",3),bitwiseXOR:new F("^",4),bitwiseAND:new F("&",5),equality:new F("==/!=",6),relational:new F("",7),bitShift:new F("<>",8),plusMin:new w("+/-",{beforeExpr:_,binop:9,prefix:!0,startsExpr:!0}),modulo:new F("%",10),star:new F("*",10),slash:new F("/",10),exponent:new w("**",{beforeExpr:_,binop:11,rightAssociative:!0})},P={break:new k("break"),case:new k("case",{beforeExpr:_}),catch:new k("catch"),continue:new k("continue"),debugger:new k("debugger"),default:new k("default",{beforeExpr:_}),do:new k("do",{isLoop:!0,beforeExpr:_}),else:new k("else",{beforeExpr:_}),finally:new k("finally"),for:new k("for",{isLoop:!0}),function:new k("function",{startsExpr:!0}),if:new k("if"),return:new k("return",{beforeExpr:_}),switch:new k("switch"),throw:new k("throw",{beforeExpr:_}),try:new k("try"),var:new k("var"),let:new k("let"),const:new k("const"),while:new k("while",{isLoop:!0}),with:new k("with"),new:new k("new",{beforeExpr:_,startsExpr:!0}),this:new k("this",{startsExpr:!0}),super:new k("super",{startsExpr:!0}),class:new k("class"),extends:new k("extends",{beforeExpr:_}),export:new k("export"),import:new k("import",{startsExpr:!0}),yield:new k("yield",{beforeExpr:_,startsExpr:!0}),null:new k("null",{startsExpr:!0}),true:new k("true",{startsExpr:!0}),false:new k("false",{startsExpr:!0}),in:new k("in",{beforeExpr:_,binop:7}),instanceof:new k("instanceof",{beforeExpr:_,binop:7}),typeof:new k("typeof",{beforeExpr:_,prefix:!0,startsExpr:!0}),void:new k("void",{beforeExpr:_,prefix:!0,startsExpr:!0}),delete:new k("delete",{beforeExpr:_,prefix:!0,startsExpr:!0})};Object.keys(P).forEach(function(e){T["_"+e]=P[e]});var B=/\r\n?|\n|\u2028|\u2029/,O=new RegExp(B.source,"g"),j=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,N=function e(t,r,n,i){D(this,e),this.token=t,this.isExpr=!!r,this.preserveSpace=!!n,this.override=i},I={braceStatement:new N("{",!1),braceExpression:new N("{",!0),templateQuasi:new N("${",!0),parenStatement:new N("(",!1),parenExpression:new N("(",!0),template:new N("`",!0,!0,function(e){return e.readTmplToken()}),functionExpression:new N("function",!0)};T.parenR.updateContext=T.braceR.updateContext=function(){if(1!==this.state.context.length){var e=this.state.context.pop();e===I.braceStatement&&this.curContext()===I.functionExpression?(this.state.context.pop(),this.state.exprAllowed=!1):e===I.templateQuasi?this.state.exprAllowed=!0:this.state.exprAllowed=!e.isExpr}else this.state.exprAllowed=!0},T.name.updateContext=function(e){this.state.exprAllowed=!1,e!==T._let&&e!==T._const&&e!==T._var||B.test(this.input.slice(this.state.end))&&(this.state.exprAllowed=!0)},T.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?I.braceStatement:I.braceExpression),this.state.exprAllowed=!0},T.dollarBraceL.updateContext=function(){this.state.context.push(I.templateQuasi),this.state.exprAllowed=!0},T.parenL.updateContext=function(e){var t=e===T._if||e===T._for||e===T._with||e===T._while;this.state.context.push(t?I.parenStatement:I.parenExpression),this.state.exprAllowed=!0},T.incDec.updateContext=function(){},T._function.updateContext=function(){this.curContext()!==I.braceStatement&&this.state.context.push(I.functionExpression),this.state.exprAllowed=!1},T.backQuote.updateContext=function(){this.curContext()===I.template?this.state.context.pop():this.state.context.push(I.template),this.state.exprAllowed=!1};var L=function e(t,r){D(this,e),this.line=t,this.column=r},M=function e(t,r){D(this,e),this.start=t,this.end=r},R=function(){function e(){D(this,e)}return e.prototype.init=function(e,t){return this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.input=t,this.potentialArrowAt=-1,this.inMethod=this.inFunction=this.inGenerator=this.inAsync=this.inPropertyName=this.inType=this.inClassProperty=this.noAnonFunctionType=!1,this.labels=[],this.decorators=[],this.tokens=[],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.pos=this.lineStart=0,this.curLine=e.startLine,this.type=T.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=[I.braceStatement],this.exprAllowed=!0,this.containsEsc=this.containsOctal=!1,this.octalPosition=null,this.invalidTemplateEscapePosition=null,this.exportedIdentifiers=[],this},e.prototype.curPosition=function(){return new L(this.curLine,this.pos-this.lineStart)},e.prototype.clone=function(t){var r=new e;for(var n in this){var i=this[n];t&&"context"!==n||!Array.isArray(i)||(i=i.slice()),r[n]=i}return r},e}(),V={},U=["jsx","doExpressions","objectRestSpread","decorators","classProperties","exportExtensions","asyncGenerators","functionBind","functionSent","dynamicImport","flow"],q=function(e){function t(r,n){D(this,t),r=function(e){var t={};for(var r in E)t[r]=e&&r in e?e[r]:E[r];return t}(r);var i=S(this,e.call(this,r,n));return i.options=r,i.inModule="module"===i.options.sourceType,i.input=n,i.plugins=i.loadPlugins(i.options.plugins),i.filename=r.sourceFilename,0===i.state.pos&&"#"===i.input[0]&&"!"===i.input[1]&&i.skipLineComment(2),i}return C(t,e),t.prototype.isReservedWord=function(e){return"await"===e?this.inModule:f[6](e)},t.prototype.hasPlugin=function(e){return!!(this.plugins["*"]&&U.indexOf(e)>-1)||!!this.plugins[e]},t.prototype.extend=function(e,t){this[e]=t(this[e])},t.prototype.loadAllPlugins=function(){var e=this,t=Object.keys(V).filter(function(e){return"flow"!==e&&"estree"!==e});t.push("flow"),t.forEach(function(t){var r=V[t];r&&r(e)})},t.prototype.loadPlugins=function(e){if(e.indexOf("*")>=0)return this.loadAllPlugins(),{"*":!0};var t={};e.indexOf("flow")>=0&&(e=e.filter(function(e){return"flow"!==e})).push("flow"),e.indexOf("estree")>=0&&(e=e.filter(function(e){return"estree"!==e})).unshift("estree");for(var r=e,n=Array.isArray(r),i=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;if(!t[a]){t[a]=!0;var o=V[a];o&&o(this)}}return t},t.prototype.parse=function(){var e=this.startNode(),t=this.startNode();return this.nextToken(),this.parseTopLevel(e,t)},t}(function(){function e(t,r){D(this,e),this.state=new R,this.state.init(t,r)}return e.prototype.next=function(){this.isLookahead||this.state.tokens.push(new function e(t){D(this,e),this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new M(t.startLoc,t.endLoc)}(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()},e.prototype.eat=function(e){return!!this.match(e)&&(this.next(),!0)},e.prototype.match=function(e){return this.state.type===e},e.prototype.isKeyword=function(e){return d(e)},e.prototype.lookahead=function(){var e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;var t=this.state.clone(!0);return this.state=e,t},e.prototype.setStrict=function(e){if(this.state.strict=e,this.match(T.num)||this.match(T.string)){for(this.state.pos=this.state.start;this.state.pos=this.input.length?this.finishToken(T.eof):e.override?e.override(this):this.readToken(this.fullCharCodeAtPos())},e.prototype.readToken=function(e){return s(e)||92===e?this.readWord():this.getTokenFromCode(e)},e.prototype.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.state.pos);if(e<=55295||e>=57344)return e;return(e<<10)+this.input.charCodeAt(this.state.pos+1)-56613888},e.prototype.pushComment=function(e,t,r,n,i,s){var a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new M(i,s)};this.isLookahead||(this.state.tokens.push(a),this.state.comments.push(a),this.addComment(a))},e.prototype.skipBlockComment=function(){var e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+=2);-1===r&&this.raise(this.state.pos-2,"Unterminated comment"),this.state.pos=r+2,O.lastIndex=t;for(var n=void 0;(n=O.exec(this.input))&&n.index8&&e<14||e>=5760&&j.test(String.fromCharCode(e))))break e;++this.state.pos}}},e.prototype.finishToken=function(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();var r=this.state.type;this.state.type=e,this.state.value=t,this.updateContext(r)},e.prototype.readToken_dot=function(){var e=this.input.charCodeAt(this.state.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.state.pos+2);return 46===e&&46===t?(this.state.pos+=3,this.finishToken(T.ellipsis)):(++this.state.pos,this.finishToken(T.dot))},e.prototype.readToken_slash=function(){if(this.state.exprAllowed)return++this.state.pos,this.readRegexp();return 61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(T.assign,2):this.finishOp(T.slash,1)},e.prototype.readToken_mult_modulo=function(e){var t=42===e?T.star:T.modulo,r=1,n=this.input.charCodeAt(this.state.pos+1);return 42===n&&(r++,n=this.input.charCodeAt(this.state.pos+2),t=T.exponent),61===n&&(r++,t=T.assign),this.finishOp(t,r)},e.prototype.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?this.finishOp(124===e?T.logicalOR:T.logicalAND,2):61===t?this.finishOp(T.assign,2):124===e&&125===t&&this.hasPlugin("flow")?this.finishOp(T.braceBarR,2):this.finishOp(124===e?T.bitwiseOR:T.bitwiseAND,1)},e.prototype.readToken_caret=function(){return 61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(T.assign,2):this.finishOp(T.bitwiseXOR,1)},e.prototype.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?45===t&&62===this.input.charCodeAt(this.state.pos+2)&&B.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(T.incDec,2):61===t?this.finishOp(T.assign,2):this.finishOp(T.plusMin,1)},e.prototype.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.state.pos+1),r=1;return t===e?(r=62===e&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+r)?this.finishOp(T.assign,r+1):this.finishOp(T.bitShift,r)):33===t&&60===e&&45===this.input.charCodeAt(this.state.pos+2)&&45===this.input.charCodeAt(this.state.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===t&&(r=2),this.finishOp(T.relational,r))},e.prototype.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.state.pos+1);return 61===t?this.finishOp(T.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2):61===e&&62===t?(this.state.pos+=2,this.finishToken(T.arrow)):this.finishOp(61===e?T.eq:T.prefix,1)},e.prototype.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.state.pos,this.finishToken(T.parenL);case 41:return++this.state.pos,this.finishToken(T.parenR);case 59:return++this.state.pos,this.finishToken(T.semi);case 44:return++this.state.pos,this.finishToken(T.comma);case 91:return++this.state.pos,this.finishToken(T.bracketL);case 93:return++this.state.pos,this.finishToken(T.bracketR);case 123:return this.hasPlugin("flow")&&124===this.input.charCodeAt(this.state.pos+1)?this.finishOp(T.braceBarL,2):(++this.state.pos,this.finishToken(T.braceL));case 125:return++this.state.pos,this.finishToken(T.braceR);case 58:return this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(T.doubleColon,2):(++this.state.pos,this.finishToken(T.colon));case 63:return++this.state.pos,this.finishToken(T.question);case 64:return++this.state.pos,this.finishToken(T.at);case 96:return++this.state.pos,this.finishToken(T.backQuote);case 48:var t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(T.prefix,1)}this.raise(this.state.pos,"Unexpected character '"+u(e)+"'")},e.prototype.finishOp=function(e,t){var r=this.input.slice(this.state.pos,this.state.pos+t);return this.state.pos+=t,this.finishToken(e,r)},e.prototype.readRegexp=function(){for(var e=this.state.pos,t=void 0,r=void 0;;){this.state.pos>=this.input.length&&this.raise(e,"Unterminated regular expression");var n=this.input.charAt(this.state.pos);if(B.test(n)&&this.raise(e,"Unterminated regular expression"),t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\"===n}++this.state.pos}var i=this.input.slice(e,this.state.pos);++this.state.pos;var s=this.readWord1();if(s){/^[gmsiyu]*$/.test(s)||this.raise(e,"Invalid regular expression flag")}return this.finishToken(T.regexp,{pattern:i,flags:s})},e.prototype.readInt=function(e,t){for(var r=this.state.pos,n=0,i=0,s=null==t?1/0:t;i=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=e)break;++this.state.pos,n=n*e+o}return this.state.pos===r||null!=t&&this.state.pos-r!==t?null:n},e.prototype.readRadixNumber=function(e){this.state.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.state.start+2,"Expected number in radix "+e),s(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number"),this.finishToken(T.num,t)},e.prototype.readNumber=function(e){var t=this.state.pos,r=48===this.input.charCodeAt(t),n=!1;e||null!==this.readInt(10)||this.raise(t,"Invalid number"),r&&this.state.pos==t+1&&(r=!1);var i=this.input.charCodeAt(this.state.pos);46!==i||r||(++this.state.pos,this.readInt(10),n=!0,i=this.input.charCodeAt(this.state.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.state.pos))&&45!==i||++this.state.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),n=!0),s(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number");var a=this.input.slice(t,this.state.pos),o=void 0;return n?o=parseFloat(a):r&&1!==a.length?this.state.strict?this.raise(t,"Invalid number"):o=/[89]/.test(a)?parseInt(a,10):parseInt(a,8):o=parseInt(a,10),this.finishToken(T.num,o)},e.prototype.readCodePoint=function(e){var t=void 0;if(123===this.input.charCodeAt(this.state.pos)){var r=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,e),++this.state.pos,null===t)--this.state.invalidTemplateEscapePosition;else if(t>1114111){if(!e)return this.state.invalidTemplateEscapePosition=r-2,null;this.raise(r,"Code point out of bounds")}}else t=this.readHexChar(4,e);return t},e.prototype.readString=function(e){for(var t="",r=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var n=this.input.charCodeAt(this.state.pos);if(n===e)break;92===n?(t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos):(o(n)&&this.raise(this.state.start,"Unterminated string constant"),++this.state.pos)}return t+=this.input.slice(r,this.state.pos++),this.finishToken(T.string,t)},e.prototype.readTmplToken=function(){for(var e="",t=this.state.pos,r=!1;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated template");var n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(T.template)?36===n?(this.state.pos+=2,this.finishToken(T.dollarBraceL)):(++this.state.pos,this.finishToken(T.backQuote)):(e+=this.input.slice(t,this.state.pos),this.finishToken(T.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);var i=this.readEscapedChar(!0);null===i?r=!0:e+=i,t=this.state.pos}else if(o(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}},e.prototype.readEscapedChar=function(e){var t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:var n=this.readHexChar(2,t);return null===n?null:String.fromCharCode(n);case 117:var i=this.readCodePoint(t);return null===i?null:u(i);case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:return this.state.lineStart=this.state.pos,++this.state.curLine,"";default:if(r>=48&&r<=55){var s=this.state.pos-1,a=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],o=parseInt(a,8);if(o>255&&(a=a.slice(0,-1),o=parseInt(a,8)),o>0){if(e)return this.state.invalidTemplateEscapePosition=s,null;this.state.strict?this.raise(s,"Octal literal in strict mode"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=s)}return this.state.pos+=a.length-1,String.fromCharCode(o)}return String.fromCharCode(r)}},e.prototype.readHexChar=function(e,t){var r=this.state.pos,n=this.readInt(16,e);return null===n&&(t?this.raise(r,"Bad character escape sequence"):(this.state.pos=r-1,this.state.invalidTemplateEscapePosition=r-1)),n},e.prototype.readWord1=function(){this.state.containsEsc=!1;for(var e="",t=!0,r=this.state.pos;this.state.pos1&&void 0!==arguments[1]?arguments[1]:"Unexpected token";t&&"object"===(void 0===t?"undefined":A(t))&&t.label&&(t="Unexpected token, expected "+t.label),this.raise(null!=e?e:this.state.start,t)};var X=q.prototype;X.parseTopLevel=function(e,t){return t.sourceType=this.options.sourceType,this.parseBlockBody(t,!0,!0,T.eof),e.program=this.finishNode(t,"Program"),e.comments=this.state.comments,e.tokens=this.state.tokens,this.finishNode(e,"File")};var W={kind:"loop"},J={kind:"switch"};X.stmtToDirective=function(e){var t=e.expression,r=this.startNodeAt(t.start,t.loc.start),n=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),s=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",s),n.value=this.finishNodeAt(r,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(n,"Directive",e.end,e.loc.end)},X.parseStatement=function(e,t){this.match(T.at)&&this.parseDecorators(!0);var r=this.state.type,n=this.startNode();switch(r){case T._break:case T._continue:return this.parseBreakContinueStatement(n,r.keyword);case T._debugger:return this.parseDebuggerStatement(n);case T._do:return this.parseDoStatement(n);case T._for:return this.parseForStatement(n);case T._function:return e||this.unexpected(),this.parseFunctionStatement(n);case T._class:return e||this.unexpected(),this.parseClass(n,!0);case T._if:return this.parseIfStatement(n);case T._return:return this.parseReturnStatement(n);case T._switch:return this.parseSwitchStatement(n);case T._throw:return this.parseThrowStatement(n);case T._try:return this.parseTryStatement(n);case T._let:case T._const:e||this.unexpected();case T._var:return this.parseVarStatement(n,r);case T._while:return this.parseWhileStatement(n);case T._with:return this.parseWithStatement(n);case T.braceL:return this.parseBlock();case T.semi:return this.parseEmptyStatement(n);case T._export:case T._import:if(this.hasPlugin("dynamicImport")&&this.lookahead().type===T.parenL)break;return this.options.allowImportExportEverywhere||(t||this.raise(this.state.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.state.start,"'import' and 'export' may appear only with 'sourceType: \"module\"'")),r===T._import?this.parseImport(n):this.parseExport(n);case T.name:if("async"===this.state.value){var i=this.state.clone();if(this.next(),this.match(T._function)&&!this.canInsertSemicolon())return this.expect(T._function),this.parseFunction(n,!0,!1,!0);this.state=i}}var s=this.state.value,a=this.parseExpression();return r===T.name&&"Identifier"===a.type&&this.eat(T.colon)?this.parseLabeledStatement(n,s,a):this.parseExpressionStatement(n,a)},X.takeDecorators=function(e){this.state.decorators.length&&(e.decorators=this.state.decorators,this.state.decorators=[])},X.parseDecorators=function(e){for(;this.match(T.at);){var t=this.parseDecorator();this.state.decorators.push(t)}e&&this.match(T._export)||this.match(T._class)||this.raise(this.state.start,"Leading decorators must be attached to a class declaration")},X.parseDecorator=function(){this.hasPlugin("decorators")||this.unexpected();var e=this.startNode();return this.next(),e.expression=this.parseMaybeAssign(),this.finishNode(e,"Decorator")},X.parseBreakContinueStatement=function(e,t){var r="break"===t;this.next(),this.isLineTerminator()?e.label=null:this.match(T.name)?(e.label=this.parseIdentifier(),this.semicolon()):this.unexpected();var n=void 0;for(n=0;n=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}a.name===t&&this.raise(r.start,"Label '"+t+"' is already declared")}for(var o=this.state.type.isLoop?"loop":this.match(T._switch)?"switch":null,u=this.state.labels.length-1;u>=0;u--){var l=this.state.labels[u];if(l.statementStart!==e.start)break;l.statementStart=this.state.start,l.kind=o}return this.state.labels.push({name:t,kind:o,statementStart:this.state.start}),e.body=this.parseStatement(!0),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},X.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},X.parseBlock=function(e){var t=this.startNode();return this.expect(T.braceL),this.parseBlockBody(t,e,!1,T.braceR),this.finishNode(t,"BlockStatement")},X.isValidDirective=function(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized},X.parseBlockBody=function(e,t,r,n){e.body=[],e.directives=[];for(var i=!1,s=void 0,a=void 0;!this.eat(n);){i||!this.state.containsOctal||a||(a=this.state.octalPosition);var o=this.parseStatement(!0,r);if(t&&!i&&this.isValidDirective(o)){var u=this.stmtToDirective(o);e.directives.push(u),void 0===s&&"use strict"===u.value.value&&(s=this.state.strict,this.setStrict(!0),a&&this.raise(a,"Octal literal in strict mode"))}else i=!0,e.body.push(o)}!1===s&&this.setStrict(!1)},X.parseFor=function(e,t){return e.init=t,this.expect(T.semi),e.test=this.match(T.semi)?null:this.parseExpression(),this.expect(T.semi),e.update=this.match(T.parenR)?null:this.parseExpression(),this.expect(T.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,"ForStatement")},X.parseForIn=function(e,t,r){var n=void 0;return r?(this.eatContextual("of"),n="ForAwaitStatement"):(n=this.match(T._in)?"ForInStatement":"ForOfStatement",this.next()),e.left=t,e.right=this.parseExpression(),this.expect(T.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,n)},X.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r.keyword;;){var n=this.startNode();if(this.parseVarHead(n),this.eat(T.eq)?n.init=this.parseMaybeAssign(t):r!==T._const||this.match(T._in)||this.isContextual("of")?"Identifier"===n.id.type||t&&(this.match(T._in)||this.isContextual("of"))?n.init=null:this.raise(this.state.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(T.comma))break}return e},X.parseVarHead=function(e){e.id=this.parseBindingAtom(),this.checkLVal(e.id,!0,void 0,"variable declaration")},X.parseFunction=function(e,t,r,n,i){var s=this.state.inMethod;return this.state.inMethod=!1,this.initFunction(e,n),this.match(T.star)&&(e.async&&!this.hasPlugin("asyncGenerators")?this.unexpected():(e.generator=!0,this.next())),!t||i||this.match(T.name)||this.match(T._yield)||this.unexpected(),(this.match(T.name)||this.match(T._yield))&&(e.id=this.parseBindingIdentifier()),this.parseFunctionParams(e),this.parseFunctionBody(e,r),this.state.inMethod=s,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},X.parseFunctionParams=function(e){this.expect(T.parenL),e.params=this.parseBindingList(T.parenR)},X.parseClass=function(e,t,r){return this.next(),this.takeDecorators(e),this.parseClassId(e,t,r),this.parseClassSuper(e),this.parseClassBody(e),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},X.isClassProperty=function(){return this.match(T.eq)||this.match(T.semi)||this.match(T.braceR)},X.isClassMethod=function(){return this.match(T.parenL)},X.isNonstaticConstructor=function(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)},X.parseClassBody=function(e){var t=this.state.strict;this.state.strict=!0;var r=!1,n=!1,i=[],s=this.startNode();for(s.body=[],this.expect(T.braceL);!this.eat(T.braceR);)if(this.eat(T.semi))i.length>0&&this.raise(this.state.lastTokEnd,"Decorators must not be followed by a semicolon");else if(this.match(T.at))i.push(this.parseDecorator());else{var a=this.startNode();if(i.length&&(a.decorators=i,i=[]),a.static=!1,this.match(T.name)&&"static"===this.state.value){var o=this.parseIdentifier(!0);if(this.isClassMethod()){a.kind="method",a.computed=!1,a.key=o,this.parseClassMethod(s,a,!1,!1);continue}if(this.isClassProperty()){a.computed=!1,a.key=o,s.body.push(this.parseClassProperty(a));continue}a.static=!0}if(this.eat(T.star))a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be a generator"),a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.parseClassMethod(s,a,!0,!1);else{var u=this.match(T.name),l=this.parsePropertyName(a);if(a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.isClassMethod())this.isNonstaticConstructor(a)?(n?this.raise(l.start,"Duplicate constructor in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),n=!0,a.kind="constructor"):a.kind="method",this.parseClassMethod(s,a,!1,!1);else if(this.isClassProperty())this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),s.body.push(this.parseClassProperty(a));else if(u&&"async"===l.name&&!this.isLineTerminator()){var c=this.hasPlugin("asyncGenerators")&&this.eat(T.star);a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be an async function"),this.parseClassMethod(s,a,c,!0)}else!u||"get"!==l.name&&"set"!==l.name||this.isLineTerminator()&&this.match(T.star)?this.hasPlugin("classConstructorCall")&&u&&"call"===l.name&&this.match(T.name)&&"constructor"===this.state.value?(r?this.raise(a.start,"Duplicate constructor call in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),r=!0,a.kind="constructorCall",this.parsePropertyName(a),this.parseClassMethod(s,a,!1,!1)):this.isLineTerminator()?(this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),s.body.push(this.parseClassProperty(a))):this.unexpected():(a.kind=l.name,this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't have get/set modifier"),this.parseClassMethod(s,a,!1,!1),this.checkGetterSetterParamCount(a))}}i.length&&this.raise(this.state.start,"You have trailing decorators with no method"),e.body=this.finishNode(s,"ClassBody"),this.state.strict=t},X.parseClassProperty=function(e){return this.state.inClassProperty=!0,this.match(T.eq)?(this.hasPlugin("classProperties")||this.unexpected(),this.next(),e.value=this.parseMaybeAssign()):e.value=null,this.semicolon(),this.state.inClassProperty=!1,this.finishNode(e,"ClassProperty")},X.parseClassMethod=function(e,t,r,n){this.parseMethod(t,r,n),e.body.push(this.finishNode(t,"ClassMethod"))},X.parseClassId=function(e,t,r){this.match(T.name)?e.id=this.parseIdentifier():r||!t?e.id=null:this.unexpected()},X.parseClassSuper=function(e){e.superClass=this.eat(T._extends)?this.parseExprSubscripts():null},X.parseExport=function(e){if(this.next(),this.match(T.star)){var t=this.startNode();if(this.next(),!this.hasPlugin("exportExtensions")||!this.eatContextual("as"))return this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");t.exported=this.parseIdentifier(),e.specifiers=[this.finishNode(t,"ExportNamespaceSpecifier")],this.parseExportSpecifiersMaybe(e),this.parseExportFrom(e,!0)}else if(this.hasPlugin("exportExtensions")&&this.isExportDefaultSpecifier()){var r=this.startNode();if(r.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],this.match(T.comma)&&this.lookahead().type===T.star){this.expect(T.comma);var n=this.startNode();this.expect(T.star),this.expectContextual("as"),n.exported=this.parseIdentifier(),e.specifiers.push(this.finishNode(n,"ExportNamespaceSpecifier"))}else this.parseExportSpecifiersMaybe(e);this.parseExportFrom(e,!0)}else{if(this.eat(T._default)){var i=this.startNode(),s=!1;return this.eat(T._function)?i=this.parseFunction(i,!0,!1,!1,!0):this.match(T._class)?i=this.parseClass(i,!0,!0):(s=!0,i=this.parseMaybeAssign()),e.declaration=i,s&&this.semicolon(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration")}this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e)):(e.declaration=null,e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e))}return this.checkExport(e,!0),this.finishNode(e,"ExportNamedDeclaration")},X.parseExportDeclaration=function(){return this.parseStatement(!0)},X.isExportDefaultSpecifier=function(){if(this.match(T.name))return"async"!==this.state.value;if(!this.match(T._default))return!1;var e=this.lookahead();return e.type===T.comma||e.type===T.name&&"from"===e.value},X.parseExportSpecifiersMaybe=function(e){this.eat(T.comma)&&(e.specifiers=e.specifiers.concat(this.parseExportSpecifiers()))},X.parseExportFrom=function(e,t){this.eatContextual("from")?(e.source=this.match(T.string)?this.parseExprAtom():this.unexpected(),this.checkExport(e)):t?this.unexpected():e.source=null,this.semicolon()},X.shouldParseExportDeclaration=function(){return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"let"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isContextual("async")},X.checkExport=function(e,t,r){if(t)if(r)this.checkDuplicateExports(e,"default");else if(e.specifiers&&e.specifiers.length)for(var n=e.specifiers,i=Array.isArray(n),s=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a;this.checkDuplicateExports(o,o.exported.name)}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type)this.checkDuplicateExports(e,e.declaration.id.name);else if("VariableDeclaration"===e.declaration.type)for(var u=e.declaration.declarations,l=Array.isArray(u),c=0,u=l?u:u[Symbol.iterator]();;){var p;if(l){if(c>=u.length)break;p=u[c++]}else{if((c=u.next()).done)break;p=c.value}var h=p;this.checkDeclaration(h.id)}if(this.state.decorators.length){var f=e.declaration&&("ClassDeclaration"===e.declaration.type||"ClassExpression"===e.declaration.type);e.declaration&&f||this.raise(e.start,"You can only use decorators on an export when exporting a class"),this.takeDecorators(e.declaration)}},X.checkDeclaration=function(e){if("ObjectPattern"===e.type)for(var t=e.properties,r=Array.isArray(t),n=0,t=r?t:t[Symbol.iterator]();;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i;this.checkDeclaration(s)}else if("ArrayPattern"===e.type)for(var a=e.elements,o=Array.isArray(a),u=0,a=o?a:a[Symbol.iterator]();;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;c&&this.checkDeclaration(c)}else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type||"RestProperty"===e.type?this.checkDeclaration(e.argument):"Identifier"===e.type&&this.checkDuplicateExports(e,e.name)},X.checkDuplicateExports=function(e,t){this.state.exportedIdentifiers.indexOf(t)>-1&&this.raiseDuplicateExportError(e,t),this.state.exportedIdentifiers.push(t)},X.raiseDuplicateExportError=function(e,t){this.raise(e.start,"default"===t?"Only one default export allowed per module.":"`"+t+"` has already been exported. Exported identifiers must be unique.")},X.parseExportSpecifiers=function(){var e=[],t=!0,r=void 0;for(this.expect(T.braceL);!this.eat(T.braceR);){if(t)t=!1;else if(this.expect(T.comma),this.eat(T.braceR))break;var n=this.match(T._default);n&&!r&&(r=!0);var i=this.startNode();i.local=this.parseIdentifier(n),i.exported=this.eatContextual("as")?this.parseIdentifier(!0):i.local.__clone(),e.push(this.finishNode(i,"ExportSpecifier"))}return r&&!this.isContextual("from")&&this.unexpected(),e},X.parseImport=function(e){return this.eat(T._import),this.match(T.string)?(e.specifiers=[],e.source=this.parseExprAtom()):(e.specifiers=[],this.parseImportSpecifiers(e),this.expectContextual("from"),e.source=this.match(T.string)?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},X.parseImportSpecifiers=function(e){var t=!0;if(this.match(T.name)){var r=this.state.start,n=this.state.startLoc;if(e.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(),r,n)),!this.eat(T.comma))return}if(this.match(T.star)){var i=this.startNode();return this.next(),this.expectContextual("as"),i.local=this.parseIdentifier(),this.checkLVal(i.local,!0,void 0,"import namespace specifier"),void e.specifiers.push(this.finishNode(i,"ImportNamespaceSpecifier"))}for(this.expect(T.braceL);!this.eat(T.braceR);){if(t)t=!1;else if(this.eat(T.colon)&&this.unexpected(null,"ES2015 named imports do not destructure. Use another statement for destructuring after the import."),this.expect(T.comma),this.eat(T.braceR))break;this.parseImportSpecifier(e)}},X.parseImportSpecifier=function(e){var t=this.startNode();t.imported=this.parseIdentifier(!0),this.eatContextual("as")?t.local=this.parseIdentifier():(this.checkReservedWord(t.imported.name,t.start,!0,!0),t.local=t.imported.__clone()),this.checkLVal(t.local,!0,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))},X.parseImportSpecifierDefault=function(e,t,r){var n=this.startNodeAt(t,r);return n.local=e,this.checkLVal(n.local,!0,void 0,"default import specifier"),this.finishNode(n,"ImportDefaultSpecifier")};var z=q.prototype;z.toAssignable=function(e,t,r){if(e)switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(var n=e.properties,i=Array.isArray(n),s=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a;"ObjectMethod"===o.type?"get"===o.kind||"set"===o.kind?this.raise(o.key.start,"Object pattern can't contain getter or setter"):this.raise(o.key.start,"Object pattern can't contain methods"):this.toAssignable(o,t,"object destructuring pattern")}break;case"ObjectProperty":this.toAssignable(e.value,t,r);break;case"SpreadProperty":e.type="RestProperty";var u=e.argument;this.toAssignable(u,t,r);break;case"ArrayExpression":e.type="ArrayPattern",this.toAssignableList(e.elements,t,r);break;case"AssignmentExpression":"="===e.operator?(e.type="AssignmentPattern",delete e.operator):this.raise(e.left.end,"Only '=' operator can be used for specifying default value.");break;case"MemberExpression":if(!t)break;default:var l="Invalid left-hand side"+(r?" in "+r:"expression");this.raise(e.start,l)}return e},z.toAssignableList=function(e,t,r){var n=e.length;if(n){var i=e[n-1];if(i&&"RestElement"===i.type)--n;else if(i&&"SpreadElement"===i.type){i.type="RestElement";var s=i.argument;this.toAssignable(s,t,r),"Identifier"!==s.type&&"MemberExpression"!==s.type&&"ArrayPattern"!==s.type&&this.unexpected(s.start),--n}}for(var a=0;a=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var l=u;"ObjectProperty"===l.type&&(l=l.value),this.checkLVal(l,t,r,"object destructuring pattern")}break;case"ArrayPattern":for(var c=e.elements,p=Array.isArray(c),h=0,c=p?c:c[Symbol.iterator]();;){var f;if(p){if(h>=c.length)break;f=c[h++]}else{if((h=c.next()).done)break;f=h.value}var d=f;d&&this.checkLVal(d,t,r,"array destructuring pattern")}break;case"AssignmentPattern":this.checkLVal(e.left,t,r,"assignment pattern");break;case"RestProperty":this.checkLVal(e.argument,t,r,"rest property");break;case"RestElement":this.checkLVal(e.argument,t,r,"rest element");break;default:var m=(t?"Binding invalid":"Invalid")+" left-hand side"+(n?" in "+n:"expression");this.raise(e.start,m)}};var Y=q.prototype;Y.checkPropClash=function(e,t){if(!e.computed&&!e.kind){var r=e.key;"__proto__"===("Identifier"===r.type?r.name:String(r.value))&&(t.proto&&this.raise(r.start,"Redefinition of __proto__ property"),t.proto=!0)}},Y.getExpression=function(){this.nextToken();var e=this.parseExpression();return this.match(T.eof)||this.unexpected(),e},Y.parseExpression=function(e,t){var r=this.state.start,n=this.state.startLoc,i=this.parseMaybeAssign(e,t);if(this.match(T.comma)){var s=this.startNodeAt(r,n);for(s.expressions=[i];this.eat(T.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return i},Y.parseMaybeAssign=function(e,t,r,n){var i=this.state.start,s=this.state.startLoc;if(this.match(T._yield)&&this.state.inGenerator){var a=this.parseYield();return r&&(a=r.call(this,a,i,s)),a}var o=void 0;t?o=!1:(t={start:0},o=!0),(this.match(T.parenL)||this.match(T.name))&&(this.state.potentialArrowAt=this.state.start);var u=this.parseMaybeConditional(e,t,n);if(r&&(u=r.call(this,u,i,s)),this.state.type.isAssign){var l=this.startNodeAt(i,s);if(l.operator=this.state.value,l.left=this.match(T.eq)?this.toAssignable(u,void 0,"assignment expression"):u,t.start=0,this.checkLVal(u,void 0,void 0,"assignment expression"),u.extra&&u.extra.parenthesized){var c=void 0;"ObjectPattern"===u.type?c="`({a}) = 0` use `({a} = 0)`":"ArrayPattern"===u.type&&(c="`([a]) = 0` use `([a] = 0)`"),c&&this.raise(u.start,"You're trying to assign to a parenthesized expression, eg. instead of "+c)}return this.next(),l.right=this.parseMaybeAssign(e),this.finishNode(l,"AssignmentExpression")}return o&&t.start&&this.unexpected(t.start),u},Y.parseMaybeConditional=function(e,t,r){var n=this.state.start,i=this.state.startLoc,s=this.parseExprOps(e,t);return t&&t.start?s:this.parseConditional(s,e,n,i,r)},Y.parseConditional=function(e,t,r,n){if(this.eat(T.question)){var i=this.startNodeAt(r,n);return i.test=e,i.consequent=this.parseMaybeAssign(),this.expect(T.colon),i.alternate=this.parseMaybeAssign(t),this.finishNode(i,"ConditionalExpression")}return e},Y.parseExprOps=function(e,t){var r=this.state.start,n=this.state.startLoc,i=this.parseMaybeUnary(t);return t&&t.start?i:this.parseExprOp(i,r,n,-1,e)},Y.parseExprOp=function(e,t,r,n,i){var s=this.state.type.binop;if(!(null==s||i&&this.match(T._in))&&s>n){var a=this.startNodeAt(t,r);a.left=e,a.operator=this.state.value,"**"!==a.operator||"UnaryExpression"!==e.type||!e.extra||e.extra.parenthesizedArgument||e.extra.parenthesized||this.raise(e.argument.start,"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");var o=this.state.type;this.next();var u=this.state.start,l=this.state.startLoc;return a.right=this.parseExprOp(this.parseMaybeUnary(),u,l,o.rightAssociative?s-1:s,i),this.finishNode(a,o===T.logicalOR||o===T.logicalAND?"LogicalExpression":"BinaryExpression"),this.parseExprOp(a,t,r,n,i)}return e},Y.parseMaybeUnary=function(e){if(this.state.type.prefix){var t=this.startNode(),r=this.match(T.incDec);t.operator=this.state.value,t.prefix=!0,this.next();var n=this.state.type;return t.argument=this.parseMaybeUnary(),this.addExtra(t,"parenthesizedArgument",!(n!==T.parenL||t.argument.extra&&t.argument.extra.parenthesized)),e&&e.start&&this.unexpected(e.start),r?this.checkLVal(t.argument,void 0,void 0,"prefix operation"):this.state.strict&&"delete"===t.operator&&"Identifier"===t.argument.type&&this.raise(t.start,"Deleting local variable in strict mode"),this.finishNode(t,r?"UpdateExpression":"UnaryExpression")}var i=this.state.start,s=this.state.startLoc,a=this.parseExprSubscripts(e);if(e&&e.start)return a;for(;this.state.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(i,s);o.operator=this.state.value,o.prefix=!1,o.argument=a,this.checkLVal(a,void 0,void 0,"postfix operation"),this.next(),a=this.finishNode(o,"UpdateExpression")}return a},Y.parseExprSubscripts=function(e){var t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return"ArrowFunctionExpression"===i.type&&i.start===n?i:e&&e.start?i:this.parseSubscripts(i,t,r)},Y.parseSubscripts=function(e,t,r,n){for(;;){if(!n&&this.eat(T.doubleColon)){var i=this.startNodeAt(t,r);return i.object=e,i.callee=this.parseNoCallExpr(),this.parseSubscripts(this.finishNode(i,"BindExpression"),t,r,n)}if(this.eat(T.dot)){var s=this.startNodeAt(t,r);s.object=e,s.property=this.parseIdentifier(!0),s.computed=!1,e=this.finishNode(s,"MemberExpression")}else if(this.eat(T.bracketL)){var a=this.startNodeAt(t,r);a.object=e,a.property=this.parseExpression(),a.computed=!0,this.expect(T.bracketR),e=this.finishNode(a,"MemberExpression")}else if(!n&&this.match(T.parenL)){var o=this.state.potentialArrowAt===e.start&&"Identifier"===e.type&&"async"===e.name&&!this.canInsertSemicolon();this.next();var u=this.startNodeAt(t,r);if(u.callee=e,u.arguments=this.parseCallExpressionArguments(T.parenR,o),"Import"===u.callee.type&&1!==u.arguments.length&&this.raise(u.start,"import() requires exactly one argument"),e=this.finishNode(u,"CallExpression"),o&&this.shouldParseAsyncArrow())return this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),u);this.toReferencedList(u.arguments)}else{if(!this.match(T.backQuote))return e;var l=this.startNodeAt(t,r);l.tag=e,l.quasi=this.parseTemplate(!0),e=this.finishNode(l,"TaggedTemplateExpression")}}},Y.parseCallExpressionArguments=function(e,t){for(var r=[],n=void 0,i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(T.comma),this.eat(e))break;this.match(T.parenL)&&!n&&(n=this.state.start),r.push(this.parseExprListItem(!1,t?{start:0}:void 0,t?{start:0}:void 0))}return t&&n&&this.shouldParseAsyncArrow()&&this.unexpected(),r},Y.shouldParseAsyncArrow=function(){return this.match(T.arrow)},Y.parseAsyncArrowFromCallExpression=function(e,t){return this.expect(T.arrow),this.parseArrowExpression(e,t.arguments,!0)},Y.parseNoCallExpr=function(){var e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)},Y.parseExprAtom=function(e){var t=this.state.potentialArrowAt===this.state.start,r=void 0;switch(this.state.type){case T._super:return this.state.inMethod||this.state.inClassProperty||this.options.allowSuperOutsideMethod||this.raise(this.state.start,"'super' outside of function or class"),r=this.startNode(),this.next(),this.match(T.parenL)||this.match(T.bracketL)||this.match(T.dot)||this.unexpected(),this.match(T.parenL)&&"constructor"!==this.state.inMethod&&!this.options.allowSuperOutsideMethod&&this.raise(r.start,"super() outside of class constructor"),this.finishNode(r,"Super");case T._import:return this.hasPlugin("dynamicImport")||this.unexpected(),r=this.startNode(),this.next(),this.match(T.parenL)||this.unexpected(null,T.parenL),this.finishNode(r,"Import");case T._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case T._yield:this.state.inGenerator&&this.unexpected();case T.name:r=this.startNode();var n="await"===this.state.value&&this.state.inAsync,i=this.shouldAllowYieldIdentifier(),s=this.parseIdentifier(n||i);if("await"===s.name){if(this.state.inAsync||this.inModule)return this.parseAwait(r)}else{if("async"===s.name&&this.match(T._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(r,!1,!1,!0);if(t&&"async"===s.name&&this.match(T.name)){var a=[this.parseIdentifier()];return this.expect(T.arrow),this.parseArrowExpression(r,a,!0)}}return t&&!this.canInsertSemicolon()&&this.eat(T.arrow)?this.parseArrowExpression(r,[s]):s;case T._do:if(this.hasPlugin("doExpressions")){var o=this.startNode();this.next();var u=this.state.inFunction,l=this.state.labels;return this.state.labels=[],this.state.inFunction=!1,o.body=this.parseBlock(!1,!0),this.state.inFunction=u,this.state.labels=l,this.finishNode(o,"DoExpression")}case T.regexp:var c=this.state.value;return r=this.parseLiteral(c.value,"RegExpLiteral"),r.pattern=c.pattern,r.flags=c.flags,r;case T.num:return this.parseLiteral(this.state.value,"NumericLiteral");case T.string:return this.parseLiteral(this.state.value,"StringLiteral");case T._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case T._true:case T._false:return r=this.startNode(),r.value=this.match(T._true),this.next(),this.finishNode(r,"BooleanLiteral");case T.parenL:return this.parseParenAndDistinguishExpression(null,null,t);case T.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(T.bracketR,!0,e),this.toReferencedList(r.elements),this.finishNode(r,"ArrayExpression");case T.braceL:return this.parseObj(!1,e);case T._function:return this.parseFunctionExpression();case T.at:this.parseDecorators();case T._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case T._new:return this.parseNew();case T.backQuote:return this.parseTemplate(!1);case T.doubleColon:r=this.startNode(),this.next(),r.object=null;var p=r.callee=this.parseNoCallExpr();if("MemberExpression"===p.type)return this.finishNode(r,"BindExpression");this.raise(p.start,"Binding should be performed on object property.");default:this.unexpected()}},Y.parseFunctionExpression=function(){var e=this.startNode(),t=this.parseIdentifier(!0);return this.state.inGenerator&&this.eat(T.dot)&&this.hasPlugin("functionSent")?this.parseMetaProperty(e,t,"sent"):this.parseFunction(e,!1)},Y.parseMetaProperty=function(e,t,r){return e.meta=t,e.property=this.parseIdentifier(!0),e.property.name!==r&&this.raise(e.property.start,"The only valid meta property for new is "+t.name+"."+r),this.finishNode(e,"MetaProperty")},Y.parseLiteral=function(e,t,r,n){r=r||this.state.start,n=n||this.state.startLoc;var i=this.startNodeAt(r,n);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)},Y.parseParenExpression=function(){this.expect(T.parenL);var e=this.parseExpression();return this.expect(T.parenR),e},Y.parseParenAndDistinguishExpression=function(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;var n=void 0;this.expect(T.parenL);for(var i=this.state.start,s=this.state.startLoc,a=[],o={start:0},u={start:0},l=!0,c=void 0,p=void 0;!this.match(T.parenR);){if(l)l=!1;else if(this.expect(T.comma,u.start||null),this.match(T.parenR)){p=this.state.start;break}if(this.match(T.ellipsis)){var h=this.state.start,f=this.state.startLoc;c=this.state.start,a.push(this.parseParenItem(this.parseRest(),h,f));break}a.push(this.parseMaybeAssign(!1,o,this.parseParenItem,u))}var d=this.state.start,m=this.state.startLoc;this.expect(T.parenR);var y=this.startNodeAt(e,t);if(r&&this.shouldParseArrow()&&(y=this.parseArrow(y))){for(var g=a,b=Array.isArray(g),v=0,g=b?g:g[Symbol.iterator]();;){var x;if(b){if(v>=g.length)break;x=g[v++]}else{if((v=g.next()).done)break;x=v.value}var E=x;E.extra&&E.extra.parenthesized&&this.unexpected(E.extra.parenStart)}return this.parseArrowExpression(y,a)}return a.length||this.unexpected(this.state.lastTokStart),p&&this.unexpected(p),c&&this.unexpected(c),o.start&&this.unexpected(o.start),u.start&&this.unexpected(u.start),a.length>1?((n=this.startNodeAt(i,s)).expressions=a,this.toReferencedList(n.expressions),this.finishNodeAt(n,"SequenceExpression",d,m)):n=a[0],this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",e),n},Y.shouldParseArrow=function(){return!this.canInsertSemicolon()},Y.parseArrow=function(e){if(this.eat(T.arrow))return e},Y.parseParenItem=function(e){return e},Y.parseNew=function(){var e=this.startNode(),t=this.parseIdentifier(!0);if(this.eat(T.dot)){var r=this.parseMetaProperty(e,t,"target");return this.state.inFunction||this.raise(r.property.start,"new.target can only be used in functions"),r}return e.callee=this.parseNoCallExpr(),this.eat(T.parenL)?(e.arguments=this.parseExprList(T.parenR),this.toReferencedList(e.arguments)):e.arguments=[],this.finishNode(e,"NewExpression")},Y.parseTemplateElement=function(e){var t=this.startNode();return null===this.state.value&&(e&&this.hasPlugin("templateInvalidEscapes")?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition,"Invalid escape sequence in template")),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),t.tail=this.match(T.backQuote),this.finishNode(t,"TemplateElement")},Y.parseTemplate=function(e){var t=this.startNode();this.next(),t.expressions=[];var r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(T.dollarBraceL),t.expressions.push(this.parseExpression()),this.expect(T.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")},Y.parseObj=function(e,t){var r=[],n=Object.create(null),i=!0,s=this.startNode();s.properties=[],this.next();for(var a=null;!this.eat(T.braceR);){if(i)i=!1;else if(this.expect(T.comma),this.eat(T.braceR))break;for(;this.match(T.at);)r.push(this.parseDecorator());var o=this.startNode(),u=!1,l=!1,c=void 0,p=void 0;if(r.length&&(o.decorators=r,r=[]),this.hasPlugin("objectRestSpread")&&this.match(T.ellipsis)){if(o=this.parseSpread(e?{start:0}:void 0),o.type=e?"RestProperty":"SpreadProperty",e&&this.toAssignable(o.argument,!0,"object pattern"),s.properties.push(o),!e)continue;var h=this.state.start;if(null===a){if(this.eat(T.braceR))break;if(this.match(T.comma)&&this.lookahead().type===T.braceR)continue;a=h;continue}this.unexpected(a,"Cannot have multiple rest elements when destructuring")}if(o.method=!1,o.shorthand=!1,(e||t)&&(c=this.state.start,p=this.state.startLoc),e||(u=this.eat(T.star)),!e&&this.isContextual("async")){u&&this.unexpected();var f=this.parseIdentifier();this.match(T.colon)||this.match(T.parenL)||this.match(T.braceR)||this.match(T.eq)||this.match(T.comma)?(o.key=f,o.computed=!1):(l=!0,this.hasPlugin("asyncGenerators")&&(u=this.eat(T.star)),this.parsePropertyName(o))}else this.parsePropertyName(o);this.parseObjPropValue(o,c,p,u,l,e,t),this.checkPropClash(o,n),o.shorthand&&this.addExtra(o,"shorthand",!0),s.properties.push(o)}return null!==a&&this.unexpected(a,"The rest element has to be the last element when destructuring"),r.length&&this.raise(this.state.start,"You have trailing decorators with no property"),this.finishNode(s,e?"ObjectPattern":"ObjectExpression")},Y.isGetterOrSetterMethod=function(e,t){return!t&&!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&(this.match(T.string)||this.match(T.num)||this.match(T.bracketL)||this.match(T.name)||this.state.type.keyword)},Y.checkGetterSetterParamCount=function(e){var t="get"===e.kind?0:1;if(e.params.length!==t){var r=e.start;"get"===e.kind?this.raise(r,"getter should have no params"):this.raise(r,"setter should have exactly one param")}},Y.parseObjectMethod=function(e,t,r,n){return r||t||this.match(T.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r),this.finishNode(e,"ObjectMethod")):this.isGetterOrSetterMethod(e,n)?((t||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),this.parseMethod(e),this.checkGetterSetterParamCount(e),this.finishNode(e,"ObjectMethod")):void 0},Y.parseObjectProperty=function(e,t,r,n,i){return this.eat(T.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!0),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(T.eq)&&i?(i.start||(i.start=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))},Y.parseObjPropValue=function(e,t,r,n,i,s,a){var o=this.parseObjectMethod(e,n,i,s)||this.parseObjectProperty(e,t,r,s,a);return o||this.unexpected(),o},Y.parsePropertyName=function(e){if(this.eat(T.bracketL))e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(T.bracketR);else{e.computed=!1;var t=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(T.num)||this.match(T.string)?this.parseExprAtom():this.parseIdentifier(!0),this.state.inPropertyName=t}return e.key},Y.initFunction=function(e,t){e.id=null,e.generator=!1,e.expression=!1,e.async=!!t},Y.parseMethod=function(e,t,r){var n=this.state.inMethod;return this.state.inMethod=e.kind||!0,this.initFunction(e,r),this.expect(T.parenL),e.params=this.parseBindingList(T.parenR),e.generator=!!t,this.parseFunctionBody(e),this.state.inMethod=n,e},Y.parseArrowExpression=function(e,t,r){return this.initFunction(e,r),e.params=this.toAssignableList(t,!0,"arrow function parameters"),this.parseFunctionBody(e,!0),this.finishNode(e,"ArrowFunctionExpression")},Y.isStrictBody=function(e,t){if(!t&&e.body.directives.length)for(var r=e.body.directives,n=Array.isArray(r),i=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}if("use strict"===s.value.value)return!0}return!1},Y.parseFunctionBody=function(e,t){var r=t&&!this.match(T.braceL),n=this.state.inAsync;if(this.state.inAsync=e.async,r)e.body=this.parseMaybeAssign(),e.expression=!0;else{var i=this.state.inFunction,s=this.state.inGenerator,a=this.state.labels;this.state.inFunction=!0,this.state.inGenerator=e.generator,this.state.labels=[],e.body=this.parseBlock(!0),e.expression=!1,this.state.inFunction=i,this.state.inGenerator=s,this.state.labels=a}this.state.inAsync=n;var o=this.isStrictBody(e,r),u=this.state.strict||t||o;if(o&&e.id&&"Identifier"===e.id.type&&"yield"===e.id.name&&this.raise(e.id.start,"Binding yield in strict mode"),u){var l=Object.create(null),c=this.state.strict;o&&(this.state.strict=!0),e.id&&this.checkLVal(e.id,!0,void 0,"function name");for(var p=e.params,h=Array.isArray(p),f=0,p=h?p:p[Symbol.iterator]();;){var d;if(h){if(f>=p.length)break;d=p[f++]}else{if((f=p.next()).done)break;d=f.value}var m=d;o&&"Identifier"!==m.type&&this.raise(m.start,"Non-simple parameter in strict mode"),this.checkLVal(m,!0,l,"function parameter list")}this.state.strict=c}},Y.parseExprList=function(e,t,r){for(var n=[],i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(T.comma),this.eat(e))break;n.push(this.parseExprListItem(t,r))}return n},Y.parseExprListItem=function(e,t,r){return e&&this.match(T.comma)?null:this.match(T.ellipsis)?this.parseSpread(t):this.parseMaybeAssign(!1,t,this.parseParenItem,r)},Y.parseIdentifier=function(e){var t=this.startNode();return e||this.checkReservedWord(this.state.value,this.state.start,!!this.state.type.keyword,!1),this.match(T.name)?t.name=this.state.value:this.state.type.keyword?t.name=this.state.type.keyword:this.unexpected(),!e&&"await"===t.name&&this.state.inAsync&&this.raise(t.start,"invalid use of await inside of an async function"),t.loc.identifierName=t.name,this.next(),this.finishNode(t,"Identifier")},Y.checkReservedWord=function(e,t,r,n){(this.isReservedWord(e)||r&&this.isKeyword(e))&&this.raise(t,e+" is a reserved word"),this.state.strict&&(f.strict(e)||n&&f.strictBind(e))&&this.raise(t,e+" is a reserved word in strict mode")},Y.parseAwait=function(e){return this.state.inAsync||this.unexpected(),this.match(T.star)&&this.raise(e.start,"await* has been removed from the async functions proposal. Use Promise.all() instead."),e.argument=this.parseMaybeUnary(),this.finishNode(e,"AwaitExpression")},Y.parseYield=function(){var e=this.startNode();return this.next(),this.match(T.semi)||this.canInsertSemicolon()||!this.match(T.star)&&!this.state.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(T.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,"YieldExpression")};var H=q.prototype,$=["leadingComments","trailingComments","innerComments"],Q=function(){function e(t,r,n){D(this,e),this.type="",this.start=t,this.end=0,this.loc=new M(r),n&&(this.loc.filename=n)}return e.prototype.__clone=function(){var t=new e;for(var r in this)$.indexOf(r)<0&&(t[r]=this[r]);return t},e}();H.startNode=function(){return new Q(this.state.start,this.state.startLoc,this.filename)},H.startNodeAt=function(e,t){return new Q(e,t,this.filename)},H.finishNode=function(e,t){return l.call(this,e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)},H.finishNodeAt=function(e,t,r,n){return l.call(this,e,t,r,n)};q.prototype.raise=function(e,t){var r=function(e,t){for(var r=1,n=0;;){O.lastIndex=n;var i=O.exec(e);if(!(i&&i.index0)){var t=this.state.commentStack,r=void 0,n=void 0,i=void 0,s=void 0,a=void 0;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else{var o=c(t);t.length>0&&o.trailingComments&&o.trailingComments[0].start>=e.end&&(i=o.trailingComments,o.trailingComments=null)}for(t.length>0&&c(t).start>=e.start&&(r=t.pop());t.length>0&&c(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r&&this.state.leadingComments.length>0){var u=c(this.state.leadingComments);if("ObjectProperty"===r.type){if(u.start>=e.start&&this.state.commentPreviousNode){for(a=0;a0&&(r.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}else if("CallExpression"===e.type&&e.arguments&&e.arguments.length){var l=c(e.arguments);l&&u.start>=l.start&&u.end<=e.end&&this.state.commentPreviousNode&&this.state.leadingComments.length>0&&(l.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}if(n){if(n.leadingComments)if(n!==e&&c(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,n.leadingComments=null;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(c(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;se.start);s++);e.leadingComments=this.state.leadingComments.slice(0,s),0===e.leadingComments.length&&(e.leadingComments=null),0===(i=this.state.leadingComments.slice(s)).length&&(i=null)}this.state.commentPreviousNode=e,i&&(i.length&&i[0].start>=e.start&&c(i).end<=e.end?e.innerComments=i:e.trailingComments=i),t.push(e)}};var ee=q.prototype;ee.estreeParseRegExpLiteral=function(e){var t=e.pattern,r=e.flags,n=null;try{n=new RegExp(t,r)}catch(e){}var i=this.estreeParseLiteral(n);return i.regex={pattern:t,flags:r},i},ee.estreeParseLiteral=function(e){return this.parseLiteral(e,"Literal")},ee.directiveToStmt=function(e){var t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.value,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)};var te=["any","mixed","empty","bool","boolean","number","string","void","null"],re=q.prototype;re.flowParseTypeInitialiser=function(e){var t=this.state.inType;this.state.inType=!0,this.expect(e||T.colon);var r=this.flowParseType();return this.state.inType=t,r},re.flowParsePredicate=function(){var e=this.startNode(),t=this.state.startLoc,r=this.state.start;this.expect(T.modulo);var n=this.state.startLoc;return this.expectContextual("checks"),t.line===n.line&&t.column===n.column-1||this.raise(r,"Spaces between ´%´ and ´checks´ are not allowed here."),this.eat(T.parenL)?(e.expression=this.parseExpression(),this.expect(T.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")},re.flowParseTypeAndPredicateInitialiser=function(){var e=this.state.inType;this.state.inType=!0,this.expect(T.colon);var t=null,r=null;return this.match(T.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(T.modulo)&&(r=this.flowParsePredicate())),[t,r]},re.flowParseDeclareClass=function(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")},re.flowParseDeclareFunction=function(e){this.next();var t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(T.parenL);var i=this.flowParseFunctionTypeParams();r.params=i.params,r.rest=i.rest,this.expect(T.parenR);var s=null,a=this.flowParseTypeAndPredicateInitialiser();return r.returnType=a[0],s=a[1],n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),n.predicate=s,t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.finishNode(t,t.type),this.semicolon(),this.finishNode(e,"DeclareFunction")},re.flowParseDeclare=function(e){return this.match(T._class)?this.flowParseDeclareClass(e):this.match(T._function)?this.flowParseDeclareFunction(e):this.match(T._var)?this.flowParseDeclareVariable(e):this.isContextual("module")?this.lookahead().type===T.dot?this.flowParseDeclareModuleExports(e):this.flowParseDeclareModule(e):this.isContextual("type")?this.flowParseDeclareTypeAlias(e):this.isContextual("opaque")?this.flowParseDeclareOpaqueType(e):this.isContextual("interface")?this.flowParseDeclareInterface(e):this.match(T._export)?this.flowParseDeclareExportDeclaration(e):void this.unexpected()},re.flowParseDeclareExportDeclaration=function(e){if(this.expect(T._export),this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");throw this.unexpected()},re.flowParseDeclareVariable=function(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(),this.semicolon(),this.finishNode(e,"DeclareVariable")},re.flowParseDeclareModule=function(e){this.next(),this.match(T.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();var t=e.body=this.startNode(),r=t.body=[];for(this.expect(T.braceL);!this.match(T.braceR);){var n=this.startNode();if(this.match(T._import)){var i=this.lookahead();"type"!==i.value&&"typeof"!==i.value&&this.unexpected(null,"Imports within a `declare module` body must always be `import type` or `import typeof`"),this.parseImport(n)}else this.expectContextual("declare","Only declares and type imports are allowed inside declare module"),n=this.flowParseDeclare(n,!0);r.push(n)}return this.expect(T.braceR),this.finishNode(t,"BlockStatement"),this.finishNode(e,"DeclareModule")},re.flowParseDeclareModuleExports=function(e){return this.expectContextual("module"),this.expect(T.dot),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")},re.flowParseDeclareTypeAlias=function(e){return this.next(),this.flowParseTypeAlias(e),this.finishNode(e,"DeclareTypeAlias")},re.flowParseDeclareOpaqueType=function(e){return this.next(),this.flowParseOpaqueType(e,!0),this.finishNode(e,"DeclareOpaqueType")},re.flowParseDeclareInterface=function(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")},re.flowParseInterfaceish=function(e){if(e.id=this.parseIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.mixins=[],this.eat(T._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(T.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(T.comma))}e.body=this.flowParseObjectType(!0,!1,!1)},re.flowParseInterfaceExtends=function(){var e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")},re.flowParseInterface=function(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")},re.flowParseRestrictedIdentifier=function(e){return te.indexOf(this.state.value)>-1&&this.raise(this.state.start,"Cannot overwrite primitive type "+this.state.value),this.parseIdentifier(e)},re.flowParseTypeAlias=function(e){return e.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(T.eq),this.semicolon(),this.finishNode(e,"TypeAlias")},re.flowParseOpaqueType=function(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(T.colon)&&(e.supertype=this.flowParseTypeInitialiser(T.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(T.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")},re.flowParseTypeParameter=function(){var e=this.startNode(),t=this.flowParseVariance(),r=this.flowParseTypeAnnotatableIdentifier();return e.name=r.name,e.variance=t,e.bound=r.typeAnnotation,this.match(T.eq)&&(this.eat(T.eq),e.default=this.flowParseType()),this.finishNode(e,"TypeParameter")},re.flowParseTypeParameterDeclaration=function(){var e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(T.jsxTagStart)?this.next():this.unexpected();do{t.params.push(this.flowParseTypeParameter()),this.isRelational(">")||this.expect(T.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")},re.flowParseTypeParameterInstantiation=function(){var e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(T.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")},re.flowParseObjectPropertyKey=function(){return this.match(T.num)||this.match(T.string)?this.parseExprAtom():this.parseIdentifier(!0)},re.flowParseObjectTypeIndexer=function(e,t,r){return e.static=t,this.expect(T.bracketL),this.lookahead().type===T.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(T.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.flowObjectTypeSemicolon(),this.finishNode(e,"ObjectTypeIndexer")},re.flowParseObjectTypeMethodish=function(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(T.parenL);!this.match(T.parenR)&&!this.match(T.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(T.parenR)||this.expect(T.comma);return this.eat(T.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(T.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")},re.flowParseObjectTypeMethod=function(e,t,r,n){var i=this.startNodeAt(e,t);return i.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e,t)),i.static=r,i.key=n,i.optional=!1,this.flowObjectTypeSemicolon(),this.finishNode(i,"ObjectTypeProperty")},re.flowParseObjectTypeCallProperty=function(e,t){var r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.flowObjectTypeSemicolon(),this.finishNode(e,"ObjectTypeCallProperty")},re.flowParseObjectType=function(e,t,r){var n=this.state.inType;this.state.inType=!0;var i=this.startNode(),s=void 0,a=void 0,o=!1;i.callProperties=[],i.properties=[],i.indexers=[];var u=void 0,l=void 0;for(t&&this.match(T.braceBarL)?(this.expect(T.braceBarL),u=T.braceBarR,l=!0):(this.expect(T.braceL),u=T.braceR,l=!1),i.exact=l;!this.match(u);){var c=!1,p=this.state.start,h=this.state.startLoc;s=this.startNode(),e&&this.isContextual("static")&&this.lookahead().type!==T.colon&&(this.next(),o=!0);var f=this.state.start,d=this.flowParseVariance();this.match(T.bracketL)?i.indexers.push(this.flowParseObjectTypeIndexer(s,o,d)):this.match(T.parenL)||this.isRelational("<")?(d&&this.unexpected(f),i.callProperties.push(this.flowParseObjectTypeCallProperty(s,o))):this.match(T.ellipsis)?(r||this.unexpected(null,"Spread operator cannot appear in class or interface definitions"),d&&this.unexpected(d.start,"Spread properties cannot have variance"),this.expect(T.ellipsis),s.argument=this.flowParseType(),this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(s,"ObjectTypeSpreadProperty"))):(a=this.flowParseObjectPropertyKey(),this.isRelational("<")||this.match(T.parenL)?(d&&this.unexpected(d.start),i.properties.push(this.flowParseObjectTypeMethod(p,h,o,a))):(this.eat(T.question)&&(c=!0),s.key=a,s.value=this.flowParseTypeInitialiser(),s.optional=c,s.static=o,s.variance=d,this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(s,"ObjectTypeProperty")))),o=!1}this.expect(u);var m=this.finishNode(i,"ObjectTypeAnnotation");return this.state.inType=n,m},re.flowObjectTypeSemicolon=function(){this.eat(T.semi)||this.eat(T.comma)||this.match(T.braceR)||this.match(T.braceBarR)||this.unexpected()},re.flowParseQualifiedTypeIdentifier=function(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;for(var n=r||this.parseIdentifier();this.eat(T.dot);){var i=this.startNodeAt(e,t);i.qualification=n,i.id=this.parseIdentifier(),n=this.finishNode(i,"QualifiedTypeIdentifier")}return n},re.flowParseGenericType=function(e,t,r){var n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")},re.flowParseTypeofType=function(){var e=this.startNode();return this.expect(T._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")},re.flowParseTupleType=function(){var e=this.startNode();for(e.types=[],this.expect(T.bracketL);this.state.pos0&&void 0!==arguments[0]?arguments[0]:[],rest:null};!this.match(T.parenR)&&!this.match(T.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(T.parenR)||this.expect(T.comma);return this.eat(T.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),e},re.flowIdentToTypeAnnotation=function(e,t,r,n){switch(n.name){case"any":return this.finishNode(r,"AnyTypeAnnotation");case"void":return this.finishNode(r,"VoidTypeAnnotation");case"bool":case"boolean":return this.finishNode(r,"BooleanTypeAnnotation");case"mixed":return this.finishNode(r,"MixedTypeAnnotation");case"empty":return this.finishNode(r,"EmptyTypeAnnotation");case"number":return this.finishNode(r,"NumberTypeAnnotation");case"string":return this.finishNode(r,"StringTypeAnnotation");default:return this.flowParseGenericType(e,t,n)}},re.flowParsePrimaryType=function(){var e=this.state.start,t=this.state.startLoc,r=this.startNode(),n=void 0,i=void 0,s=!1,a=this.state.noAnonFunctionType;switch(this.state.type){case T.name:return this.flowIdentToTypeAnnotation(e,t,r,this.parseIdentifier());case T.braceL:return this.flowParseObjectType(!1,!1,!0);case T.braceBarL:return this.flowParseObjectType(!1,!0,!0);case T.bracketL:return this.flowParseTupleType();case T.relational:if("<"===this.state.value)return r.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(T.parenL),n=this.flowParseFunctionTypeParams(),r.params=n.params,r.rest=n.rest,this.expect(T.parenR),this.expect(T.arrow),r.returnType=this.flowParseType(),this.finishNode(r,"FunctionTypeAnnotation");break;case T.parenL:if(this.next(),!this.match(T.parenR)&&!this.match(T.ellipsis))if(this.match(T.name)){var o=this.lookahead().type;s=o!==T.question&&o!==T.colon}else s=!0;if(s){if(this.state.noAnonFunctionType=!1,i=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(T.comma)||this.match(T.parenR)&&this.lookahead().type===T.arrow))return this.expect(T.parenR),i;this.eat(T.comma)}return n=i?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(i)]):this.flowParseFunctionTypeParams(),r.params=n.params,r.rest=n.rest,this.expect(T.parenR),this.expect(T.arrow),r.returnType=this.flowParseType(),r.typeParameters=null,this.finishNode(r,"FunctionTypeAnnotation");case T.string:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case T._true:case T._false:return r.value=this.match(T._true),this.next(),this.finishNode(r,"BooleanLiteralTypeAnnotation");case T.plusMin:if("-"===this.state.value)return this.next(),this.match(T.num)||this.unexpected(null,"Unexpected token, expected number"),this.parseLiteral(-this.state.value,"NumericLiteralTypeAnnotation",r.start,r.loc.start);this.unexpected();case T.num:return this.parseLiteral(this.state.value,"NumericLiteralTypeAnnotation");case T._null:return r.value=this.match(T._null),this.next(),this.finishNode(r,"NullLiteralTypeAnnotation");case T._this:return r.value=this.match(T._this),this.next(),this.finishNode(r,"ThisTypeAnnotation");case T.star:return this.next(),this.finishNode(r,"ExistentialTypeParam");default:if("typeof"===this.state.type.keyword)return this.flowParseTypeofType()}this.unexpected()},re.flowParsePostfixType=function(){for(var e=this.state.start,t=this.state.startLoc,r=this.flowParsePrimaryType();!this.canInsertSemicolon()&&this.match(T.bracketL);){var n=this.startNodeAt(e,t);n.elementType=r,this.expect(T.bracketL),this.expect(T.bracketR),r=this.finishNode(n,"ArrayTypeAnnotation")}return r},re.flowParsePrefixType=function(){var e=this.startNode();return this.eat(T.question)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()},re.flowParseAnonFunctionWithoutParens=function(){var e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(T.arrow)){var t=this.startNodeAt(e.start,e.loc.start);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,"FunctionTypeAnnotation")}return e},re.flowParseIntersectionType=function(){var e=this.startNode();this.eat(T.bitwiseAND);var t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(T.bitwiseAND);)e.types.push(this.flowParseAnonFunctionWithoutParens());return 1===e.types.length?t:this.finishNode(e,"IntersectionTypeAnnotation")},re.flowParseUnionType=function(){var e=this.startNode();this.eat(T.bitwiseOR);var t=this.flowParseIntersectionType();for(e.types=[t];this.eat(T.bitwiseOR);)e.types.push(this.flowParseIntersectionType());return 1===e.types.length?t:this.finishNode(e,"UnionTypeAnnotation")},re.flowParseType=function(){var e=this.state.inType;this.state.inType=!0;var t=this.flowParseUnionType();return this.state.inType=e,t},re.flowParseTypeAnnotation=function(){var e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")},re.flowParseTypeAndPredicateAnnotation=function(){var e=this.startNode(),t=this.flowParseTypeAndPredicateInitialiser();return e.typeAnnotation=t[0],e.predicate=t[1],this.finishNode(e,"TypeAnnotation")},re.flowParseTypeAnnotatableIdentifier=function(){var e=this.flowParseRestrictedIdentifier();return this.match(T.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,e.type)),e},re.typeCastToParameter=function(e){return e.expression.typeAnnotation=e.typeAnnotation,this.finishNodeAt(e.expression,e.expression.type,e.typeAnnotation.end,e.typeAnnotation.loc.end)},re.flowParseVariance=function(){var e=null;return this.match(T.plusMin)&&("+"===this.state.value?e="plus":"-"===this.state.value&&(e="minus"),this.next()),e};var ne=String.fromCodePoint;if(!ne){var ie=String.fromCharCode,se=Math.floor;ne=function(){var e=[],t=void 0,r=void 0,n=-1,i=arguments.length;if(!i)return"";for(var s="";++n1114111||se(a)!=a)throw RangeError("Invalid code point: "+a);a<=65535?e.push(a):(t=55296+((a-=65536)>>10),r=a%1024+56320,e.push(t,r)),(n+1==i||e.length>16384)&&(s+=ie.apply(null,e),e.length=0)}return s}}var ae=ne,oe={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},ue=/^[\da-fA-F]+$/,le=/^\d+$/;I.j_oTag=new N("...",!0,!0),T.jsxName=new w("jsxName"),T.jsxText=new w("jsxText",{beforeExpr:!0}),T.jsxTagStart=new w("jsxTagStart",{startsExpr:!0}),T.jsxTagEnd=new w("jsxTagEnd"),T.jsxTagStart.updateContext=function(){this.state.context.push(I.j_expr),this.state.context.push(I.j_oTag),this.state.exprAllowed=!1},T.jsxTagEnd.updateContext=function(e){var t=this.state.context.pop();t===I.j_oTag&&e===T.slash||t===I.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===I.j_expr):this.state.exprAllowed=!0};var ce=q.prototype;ce.jsxReadToken=function(){for(var e="",t=this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated JSX contents");var r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(T.jsxTagStart)):this.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(T.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:o(r)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}},ce.jsxReadNewLine=function(e){var t=this.input.charCodeAt(this.state.pos),r=void 0;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\n":"\r\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r},ce.jsxReadString=function(e){for(var t="",r=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):o(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(T.string,t)},ce.jsxReadEntity=function(){for(var e="",t=0,r=void 0,n=this.input[this.state.pos],i=++this.state.pos;this.state.pos")}return r.openingElement=i,r.closingElement=s,r.children=n,this.match(T.relational)&&"<"===this.state.value&&this.raise(this.state.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(r,"JSXElement")},ce.jsxParseElement=function(){var e=this.state.start,t=this.state.startLoc;return this.next(),this.jsxParseElementAt(e,t)};V.estree=function(e){e.extend("checkDeclaration",function(e){return function(t){p(t)?this.checkDeclaration(t.value):e.call(this,t)}}),e.extend("checkGetterSetterParamCount",function(){return function(e){var t="get"===e.kind?0:1;if(e.value.params.length!==t){var r=e.start;"get"===e.kind?this.raise(r,"getter should have no params"):this.raise(r,"setter should have exactly one param")}}}),e.extend("checkLVal",function(e){return function(t,r,n){var i=this;switch(t.type){case"ObjectPattern":t.properties.forEach(function(e){i.checkLVal("Property"===e.type?e.value:e,r,n,"object destructuring pattern")});break;default:for(var s=arguments.length,a=Array(s>3?s-3:0),o=3;o0)for(var r=e.body.body,n=Array.isArray(r),i=0,r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;if("ExpressionStatement"!==a.type||"Literal"!==a.expression.type)break;if("use strict"===a.expression.value)return!0}return!1}}),e.extend("isValidDirective",function(){return function(e){return!("ExpressionStatement"!==e.type||"Literal"!==e.expression.type||"string"!=typeof e.expression.value||e.expression.extra&&e.expression.extra.parenthesized)}}),e.extend("stmtToDirective",function(e){return function(t){var r=e.call(this,t),n=t.expression.value;return r.value.value=n,r}}),e.extend("parseBlockBody",function(e){return function(t){for(var r=this,n=arguments.length,i=Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s2?n-2:0),s=2;s=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;"get"===c.kind||"set"===c.kind?this.raise(c.key.start,"Object pattern can't contain getter or setter"):c.method?this.raise(c.key.start,"Object pattern can't contain methods"):this.toAssignable(c,r,"object destructuring pattern")}return t}return e.call.apply(e,[this,t,r].concat(i))}})},V.flow=function(e){e.extend("parseFunctionBody",function(e){return function(t,r){return this.match(T.colon)&&!r&&(t.returnType=this.flowParseTypeAndPredicateAnnotation()),e.call(this,t,r)}}),e.extend("parseStatement",function(e){return function(t,r){if(this.state.strict&&this.match(T.name)&&"interface"===this.state.value){var n=this.startNode();return this.next(),this.flowParseInterface(n)}return e.call(this,t,r)}}),e.extend("parseExpressionStatement",function(e){return function(t,r){if("Identifier"===r.type)if("declare"===r.name){if(this.match(T._class)||this.match(T.name)||this.match(T._function)||this.match(T._var)||this.match(T._export))return this.flowParseDeclare(t)}else if(this.match(T.name)){if("interface"===r.name)return this.flowParseInterface(t);if("type"===r.name)return this.flowParseTypeAlias(t);if("opaque"===r.name)return this.flowParseOpaqueType(t,!1)}return e.call(this,t,r)}}),e.extend("shouldParseExportDeclaration",function(e){return function(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||e.call(this)}}),e.extend("isExportDefaultSpecifier",function(e){return function(){return(!this.match(T.name)||"type"!==this.state.value&&"interface"!==this.state.value&&"opaque"!==this.state.value)&&e.call(this)}}),e.extend("parseConditional",function(e){return function(t,r,n,i,s){if(s&&this.match(T.question)){var a=this.state.clone();try{return e.call(this,t,r,n,i)}catch(e){if(e instanceof SyntaxError)return this.state=a,s.start=e.pos||this.state.start,t;throw e}}return e.call(this,t,r,n,i)}}),e.extend("parseParenItem",function(e){return function(t,r,n){if(t=e.call(this,t,r,n),this.eat(T.question)&&(t.optional=!0),this.match(T.colon)){var i=this.startNodeAt(r,n);return i.expression=t,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return t}}),e.extend("parseExport",function(e){return function(t){return"ExportNamedDeclaration"===(t=e.call(this,t)).type&&(t.exportKind=t.exportKind||"value"),t}}),e.extend("parseExportDeclaration",function(e){return function(t){if(this.isContextual("type")){t.exportKind="type";var r=this.startNode();return this.next(),this.match(T.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(r)}if(this.isContextual("opaque")){t.exportKind="type";var n=this.startNode();return this.next(),this.flowParseOpaqueType(n,!1)}if(this.isContextual("interface")){t.exportKind="type";var i=this.startNode();return this.next(),this.flowParseInterface(i)}return e.call(this,t)}}),e.extend("parseClassId",function(e){return function(t){e.apply(this,arguments),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}}),e.extend("isKeyword",function(e){return function(t){return(!this.state.inType||"void"!==t)&&e.call(this,t)}}),e.extend("readToken",function(e){return function(t){return!this.state.inType||62!==t&&60!==t?e.call(this,t):this.finishOp(T.relational,1)}}),e.extend("jsx_readToken",function(e){return function(){if(!this.state.inType)return e.call(this)}}),e.extend("toAssignable",function(e){return function(t,r,n){return"TypeCastExpression"===t.type?e.call(this,this.typeCastToParameter(t),r,n):e.call(this,t,r,n)}}),e.extend("toAssignableList",function(e){return function(t,r,n){for(var i=0;i2?n-2:0),s=2;s=0&&l>0){for(n=[],s=r.length;c>=0&&!o;)c==u?(n.push(c),u=r.indexOf(e,c+1)):1==n.length?o=[n.pop(),l]:((i=n.pop())=0?u:l;n.length&&(o=[s,a])}return o}t.exports=n,n.range=s},{}],188:[function(e,t,r){"use strict";function n(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function i(e){return a[e>>18&63]+a[e>>12&63]+a[e>>6&63]+a[63&e]}function s(e,t,r){for(var n,s=[],a=t;a0?l-4:l;var c=0;for(t=0;t>16&255,a[c++]=i>>8&255,a[c++]=255&i;return 2===s?(i=o[e.charCodeAt(t)]<<2|o[e.charCodeAt(t+1)]>>4,a[c++]=255&i):1===s&&(i=o[e.charCodeAt(t)]<<10|o[e.charCodeAt(t+1)]<<4|o[e.charCodeAt(t+2)]>>2,a[c++]=i>>8&255,a[c++]=255&i),a},r.fromByteArray=function(e){for(var t,r=e.length,n=r%3,i="",o=[],u=0,l=r-n;ul?l:u+16383));return 1===n?(t=e[r-1],i+=a[t>>2],i+=a[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=a[t>>10],i+=a[t>>4&63],i+=a[t<<2&63],i+="="),o.push(i),o.join("")};for(var a=[],o=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,p=l.length;c=t}function c(e,t){var r=[],i=h("{","}",e);if(!i||/\$$/.test(i.pre))return[e];var f=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),d=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),y=f||d,g=i.body.indexOf(",")>=0;if(!y&&!g)return i.post.match(/,.*\}/)?(e=i.pre+"{"+i.body+m+i.post,c(e)):[e];var b;if(y)b=i.body.split(/\.\./);else if(1===(b=s(i.body)).length&&1===(b=c(b[0],!1).map(a)).length){return(E=i.post.length?c(i.post,!1):[""]).map(function(e){return i.pre+b[0]+e})}var v,x=i.pre,E=i.post.length?c(i.post,!1):[""];if(y){var A=n(b[0]),D=n(b[1]),C=Math.max(b[0].length,b[1].length),S=3==b.length?Math.abs(n(b[2])):1,_=u;D0){var P=new Array(T+1).join("0");F=k<0?"-"+P+F.slice(1):P+F}}v.push(F)}}else v=p(b,function(e){return c(e,!1)});for(var B=0;BN)throw new RangeError("Invalid typed array length");var t=new Uint8Array(e);return t.__proto__=i.prototype,t}function i(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return o(e)}return s(e,t,r)}function s(e,t,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return T(e)?function(e,t,r){if(t<0||e.byteLength=N)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+N.toString(16)+" bytes");return 0|e}function c(e,t){if(i.isBuffer(e))return e.length;if(P(e)||T(e))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return w(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return k(e).length;default:if(n)return w(e).length;t=(""+t).toLowerCase(),n=!0}}function p(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0);(!r||r<0||r>n)&&(r=n);for(var i="",s=t;s2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,B(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof t&&(t=i.from(t,n)),i.isBuffer(t))return 0===t.length?-1:d(e,t,r,n,s);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):d(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function d(e,t,r,n,i){function s(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,r/=2}var l;if(i){var c=-1;for(l=r;lo&&(r=o-u),l=r;l>=0;l--){for(var p=!0,h=0;hi&&(n=i):n=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function E(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:s>223?3:s>191?2:1;if(i+o<=r){var u,l,c,p;switch(o){case 1:s<128&&(a=s);break;case 2:128==(192&(u=e[i+1]))&&(p=(31&s)<<6|63&u)>127&&(a=p);break;case 3:u=e[i+1],l=e[i+2],128==(192&u)&&128==(192&l)&&(p=(15&s)<<12|(63&u)<<6|63&l)>2047&&(p<55296||p>57343)&&(a=p);break;case 4:u=e[i+1],l=e[i+2],c=e[i+3],128==(192&u)&&128==(192&l)&&128==(192&c)&&(p=(15&s)<<18|(63&u)<<12|(63&l)<<6|63&c)>65535&&p<1114112&&(a=p)}}null===a?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=o}return function(e){var t=e.length;if(t<=I)return String.fromCharCode.apply(String,e);var r="",n=0;for(;nr)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,n,s,a){if(!i.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function C(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function S(e,t,r,n,i){return t=+t,r>>>=0,i||C(e,0,r,4),j.write(e,t,r,n,23,4),r+4}function _(e,t,r,n,i){return t=+t,r>>>=0,i||C(e,0,r,8),j.write(e,t,r,n,52,8),r+8}function w(e,t){t=t||1/0;for(var r,n=e.length,i=null,s=[],a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function k(e){return O.toByteArray(function(e){if((e=e.trim().replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function T(e){return e instanceof ArrayBuffer||null!=e&&null!=e.constructor&&"ArrayBuffer"===e.constructor.name&&"number"==typeof e.byteLength}function P(e){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(e)}function B(e){return e!=e}var O=e("base64-js"),j=e("ieee754");r.Buffer=i,r.SlowBuffer=function(e){return+e!=e&&(e=0),i.alloc(+e)},r.INSPECT_MAX_BYTES=50;var N=2147483647;r.kMaxLength=N,(i.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}())||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(e,t,r){return s(e,t,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(e,t,r){return function(e,t,r){return a(e),e<=0?n(e):void 0!==t?"string"==typeof r?n(e).fill(t,r):n(e).fill(t):n(e)}(e,t,r)},i.allocUnsafe=function(e){return o(e)},i.allocUnsafeSlow=function(e){return o(e)},i.isBuffer=function(e){return null!=e&&!0===e._isBuffer},i.compare=function(e,t){if(!i.isBuffer(e)||!i.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,s=0,a=Math.min(r,n);s0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},i.prototype.compare=function(e,t,r,n,s){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,s>>>=0,this===e)return 0;for(var a=s-n,o=r-t,u=Math.min(a,o),l=this.slice(n,s),c=e.slice(t,r),p=0;p>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return m(this,e,t,r);case"utf8":case"utf-8":return y(this,e,t,r);case"ascii":return g(this,e,t,r);case"latin1":case"binary":return b(this,e,t,r);case"base64":return v(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;i.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||A(e,t,this.length);for(var n=this[e],i=1,s=0;++s>>=0,t>>>=0,r||A(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},i.prototype.readUInt8=function(e,t){return e>>>=0,t||A(e,1,this.length),this[e]},i.prototype.readUInt16LE=function(e,t){return e>>>=0,t||A(e,2,this.length),this[e]|this[e+1]<<8},i.prototype.readUInt16BE=function(e,t){return e>>>=0,t||A(e,2,this.length),this[e]<<8|this[e+1]},i.prototype.readUInt32LE=function(e,t){return e>>>=0,t||A(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},i.prototype.readUInt32BE=function(e,t){return e>>>=0,t||A(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},i.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||A(e,t,this.length);for(var n=this[e],i=1,s=0;++s=i&&(n-=Math.pow(2,8*t)),n},i.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||A(e,t,this.length);for(var n=t,i=1,s=this[e+--n];n>0&&(i*=256);)s+=this[e+--n]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},i.prototype.readInt8=function(e,t){return e>>>=0,t||A(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},i.prototype.readInt16LE=function(e,t){e>>>=0,t||A(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt16BE=function(e,t){e>>>=0,t||A(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt32LE=function(e,t){return e>>>=0,t||A(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},i.prototype.readInt32BE=function(e,t){return e>>>=0,t||A(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},i.prototype.readFloatLE=function(e,t){return e>>>=0,t||A(e,4,this.length),j.read(this,e,!0,23,4)},i.prototype.readFloatBE=function(e,t){return e>>>=0,t||A(e,4,this.length),j.read(this,e,!1,23,4)},i.prototype.readDoubleLE=function(e,t){return e>>>=0,t||A(e,8,this.length),j.read(this,e,!0,52,8)},i.prototype.readDoubleBE=function(e,t){return e>>>=0,t||A(e,8,this.length),j.read(this,e,!1,52,8)},i.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){D(this,e,t,r,Math.pow(2,8*r)-1,0)}var i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,!n){D(this,e,t,r,Math.pow(2,8*r)-1,0)}var i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},i.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,1,255,0),this[t]=255&e,t+1},i.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},i.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s>0)-o&255;return t+r},i.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var s=r-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+r},i.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},i.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},i.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},i.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},i.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},i.prototype.writeFloatLE=function(e,t,r){return S(this,e,t,!0,r)},i.prototype.writeFloatBE=function(e,t,r){return S(this,e,t,!1,r)},i.prototype.writeDoubleLE=function(e,t,r){return _(this,e,t,!0,r)},i.prototype.writeDoubleBE=function(e,t,r){return _(this,e,t,!1,r)},i.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(s<1e3)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var a;if("number"==typeof e)for(a=t;ac;)if((o=u[c++])!=o)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===r)return e||c||0;return!e&&-1}}},{"./_to-absolute-index":273,"./_to-iobject":275,"./_to-length":276}],214:[function(e,t,r){var n=e("./_ctx"),i=e("./_iobject"),s=e("./_to-object"),a=e("./_to-length"),o=e("./_array-species-create");t.exports=function(e,t){var r=1==e,u=2==e,l=3==e,c=4==e,p=6==e,h=5==e||p,f=t||o;return function(t,o,d){for(var m,y,g=s(t),b=i(g),v=n(o,d,3),x=a(b.length),E=0,A=r?f(t,x):u?f(t,0):void 0;x>E;E++)if((h||E in b)&&(m=b[E],y=v(m,E,g),e))if(r)A[E]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return E;case 2:A.push(m)}else if(c)return!1;return p?-1:l||c?c:A}}},{"./_array-species-create":216,"./_ctx":224,"./_iobject":238,"./_to-length":276,"./_to-object":277}],215:[function(e,t,r){var n=e("./_is-object"),i=e("./_is-array"),s=e("./_wks")("species");t.exports=function(e){var t;return i(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!i(t.prototype)||(t=void 0),n(t)&&null===(t=t[s])&&(t=void 0)),void 0===t?Array:t}},{"./_is-array":240,"./_is-object":241,"./_wks":283}],216:[function(e,t,r){var n=e("./_array-species-constructor");t.exports=function(e,t){return new(n(e))(t)}},{"./_array-species-constructor":215}],217:[function(e,t,r){var n=e("./_cof"),i=e("./_wks")("toStringTag"),s="Arguments"==n(function(){return arguments}());t.exports=function(e){var t,r,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?r:s?n(t):"Object"==(a=n(t))&&"function"==typeof t.callee?"Arguments":a}},{"./_cof":218,"./_wks":283}],218:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],219:[function(e,t,r){"use strict";var n=e("./_object-dp").f,i=e("./_object-create"),s=e("./_redefine-all"),a=e("./_ctx"),o=e("./_an-instance"),u=e("./_for-of"),l=e("./_iter-define"),c=e("./_iter-step"),p=e("./_set-species"),h=e("./_descriptors"),f=e("./_meta").fastKey,d=e("./_validate-collection"),m=h?"_s":"size",y=function(e,t){var r,n=f(t);if("F"!==n)return e._i[n];for(r=e._f;r;r=r.n)if(r.k==t)return r};t.exports={getConstructor:function(e,t,r,l){var c=e(function(e,n){o(e,c,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=n&&u(n,r,e[l],e)});return s(c.prototype,{clear:function(){for(var e=d(this,t),r=e._i,n=e._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete r[n.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var r=d(this,t),n=y(r,e);if(n){var i=n.n,s=n.p;delete r._i[n.i],n.r=!0,s&&(s.n=i),i&&(i.p=s),r._f==n&&(r._f=i),r._l==n&&(r._l=s),r[m]--}return!!n},forEach:function(e){d(this,t);for(var r,n=a(e,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(n(r.v,r.k,this);r&&r.r;)r=r.p},has:function(e){return!!y(d(this,t),e)}}),h&&n(c.prototype,"size",{get:function(){return d(this,t)[m]}}),c},def:function(e,t,r){var n,i,s=y(e,t);return s?s.v=r:(e._l=s={i:i=f(t,!0),k:t,v:r,p:n=e._l,n:void 0,r:!1},e._f||(e._f=s),n&&(n.n=s),e[m]++,"F"!==i&&(e._i[i]=s)),e},getEntry:y,setStrong:function(e,t,r){l(e,t,function(e,r){this._t=d(e,t),this._k=r,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?"keys"==e?c(0,t.k):"values"==e?c(0,t.v):c(0,[t.k,t.v]):(this._t=void 0,c(1))},r?"entries":"values",!r,!0),p(t)}}},{"./_an-instance":210,"./_ctx":224,"./_descriptors":226,"./_for-of":232,"./_iter-define":244,"./_iter-step":245,"./_meta":248,"./_object-create":250,"./_object-dp":251,"./_redefine-all":263,"./_set-species":268,"./_validate-collection":280}],220:[function(e,t,r){var n=e("./_classof"),i=e("./_array-from-iterable");t.exports=function(e){return function(){if(n(this)!=e)throw TypeError(e+"#toJSON isn't generic");return i(this)}}},{"./_array-from-iterable":212,"./_classof":217}],221:[function(e,t,r){"use strict";var n=e("./_redefine-all"),i=e("./_meta").getWeak,s=e("./_an-object"),a=e("./_is-object"),o=e("./_an-instance"),u=e("./_for-of"),l=e("./_array-methods"),c=e("./_has"),p=e("./_validate-collection"),h=l(5),f=l(6),d=0,m=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},g=function(e,t){return h(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var r=g(this,e);r?r[1]=t:this.a.push([e,t])},delete:function(e){var t=f(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},t.exports={getConstructor:function(e,t,r,s){var l=e(function(e,n){o(e,l,t,"_i"),e._t=t,e._i=d++,e._l=void 0,void 0!=n&&u(n,r,e[s],e)});return n(l.prototype,{delete:function(e){if(!a(e))return!1;var r=i(e);return!0===r?m(p(this,t)).delete(e):r&&c(r,this._i)&&delete r[this._i]},has:function(e){if(!a(e))return!1;var r=i(e);return!0===r?m(p(this,t)).has(e):r&&c(r,this._i)}}),l},def:function(e,t,r){var n=i(s(t),!0);return!0===n?m(e).set(t,r):n[e._i]=r,e},ufstore:m}},{"./_an-instance":210,"./_an-object":211,"./_array-methods":214,"./_for-of":232,"./_has":234,"./_is-object":241,"./_meta":248,"./_redefine-all":263,"./_validate-collection":280}],222:[function(e,t,r){"use strict";var n=e("./_global"),i=e("./_export"),s=e("./_meta"),a=e("./_fails"),o=e("./_hide"),u=e("./_redefine-all"),l=e("./_for-of"),c=e("./_an-instance"),p=e("./_is-object"),h=e("./_set-to-string-tag"),f=e("./_object-dp").f,d=e("./_array-methods")(0),m=e("./_descriptors");t.exports=function(e,t,r,y,g,b){var v=n[e],x=v,E=g?"set":"add",A=x&&x.prototype,D={};return m&&"function"==typeof x&&(b||A.forEach&&!a(function(){(new x).entries().next()}))?(x=t(function(t,r){c(t,x,e,"_c"),t._c=new v,void 0!=r&&l(r,g,t[E],t)}),d("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in A&&(!b||"clear"!=e)&&o(x.prototype,e,function(r,n){if(c(this,x,e),!t&&b&&!p(r))return"get"==e&&void 0;var i=this._c[e](0===r?0:r,n);return t?this:i})}),b||f(x.prototype,"size",{get:function(){return this._c.size}})):(x=y.getConstructor(t,e,g,E),u(x.prototype,r),s.NEED=!0),h(x,e),D[e]=x,i(i.G+i.W+i.F,D),b||y.setStrong(x,e,g),x}},{"./_an-instance":210,"./_array-methods":214,"./_descriptors":226,"./_export":230,"./_fails":231,"./_for-of":232,"./_global":233,"./_hide":235,"./_is-object":241,"./_meta":248,"./_object-dp":251,"./_redefine-all":263,"./_set-to-string-tag":269}],223:[function(e,t,r){var n=t.exports={version:"2.5.1"};"number"==typeof __e&&(__e=n)},{}],224:[function(e,t,r){var n=e("./_a-function");t.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":208}],225:[function(e,t,r){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],226:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":231}],227:[function(e,t,r){var n=e("./_is-object"),i=e("./_global").document,s=n(i)&&n(i.createElement);t.exports=function(e){return s?i.createElement(e):{}}},{"./_global":233,"./_is-object":241}],228:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],229:[function(e,t,r){var n=e("./_object-keys"),i=e("./_object-gops"),s=e("./_object-pie");t.exports=function(e){var t=n(e),r=i.f;if(r)for(var a,o=r(e),u=s.f,l=0;o.length>l;)u.call(e,a=o[l++])&&t.push(a);return t}},{"./_object-gops":256,"./_object-keys":259,"./_object-pie":260}],230:[function(e,t,r){var n=e("./_global"),i=e("./_core"),s=e("./_ctx"),a=e("./_hide"),o=function(e,t,r){var u,l,c,p=e&o.F,h=e&o.G,f=e&o.S,d=e&o.P,m=e&o.B,y=e&o.W,g=h?i:i[t]||(i[t]={}),b=g.prototype,v=h?n:f?n[t]:(n[t]||{}).prototype;h&&(r=t);for(u in r)(l=!p&&v&&void 0!==v[u])&&u in g||(c=l?v[u]:r[u],g[u]=h&&"function"!=typeof v[u]?r[u]:m&&l?s(c,n):y&&v[u]==c?function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):d&&"function"==typeof c?s(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[u]=c,e&o.R&&b&&!b[u]&&a(b,u,c)))};o.F=1,o.G=2,o.S=4,o.P=8,o.B=16,o.W=32,o.U=64,o.R=128,t.exports=o},{"./_core":223,"./_ctx":224,"./_global":233,"./_hide":235}],231:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],232:[function(e,t,r){var n=e("./_ctx"),i=e("./_iter-call"),s=e("./_is-array-iter"),a=e("./_an-object"),o=e("./_to-length"),u=e("./core.get-iterator-method"),l={},c={};(r=t.exports=function(e,t,r,p,h){var f,d,m,y,g=h?function(){return e}:u(e),b=n(r,p,t?2:1),v=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(s(g)){for(f=o(e.length);f>v;v++)if((y=t?b(a(d=e[v])[0],d[1]):b(e[v]))===l||y===c)return y}else for(m=g.call(e);!(d=m.next()).done;)if((y=i(m,b,d.value,t))===l||y===c)return y}).BREAK=l,r.RETURN=c},{"./_an-object":211,"./_ctx":224,"./_is-array-iter":239,"./_iter-call":242,"./_to-length":276,"./core.get-iterator-method":284}],233:[function(e,t,r){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},{}],234:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],235:[function(e,t,r){var n=e("./_object-dp"),i=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},{"./_descriptors":226,"./_object-dp":251,"./_property-desc":262}],236:[function(e,t,r){var n=e("./_global").document;t.exports=n&&n.documentElement},{"./_global":233}],237:[function(e,t,r){t.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":226,"./_dom-create":227,"./_fails":231}],238:[function(e,t,r){var n=e("./_cof");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},{"./_cof":218}],239:[function(e,t,r){var n=e("./_iterators"),i=e("./_wks")("iterator"),s=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||s[i]===e)}},{"./_iterators":246,"./_wks":283}],240:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":218}],241:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],242:[function(e,t,r){var n=e("./_an-object");t.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(t){var s=e.return;throw void 0!==s&&n(s.call(e)),t}}},{"./_an-object":211}],243:[function(e,t,r){"use strict";var n=e("./_object-create"),i=e("./_property-desc"),s=e("./_set-to-string-tag"),a={};e("./_hide")(a,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,r){e.prototype=n(a,{next:i(1,r)}),s(e,t+" Iterator")}},{"./_hide":235,"./_object-create":250,"./_property-desc":262,"./_set-to-string-tag":269,"./_wks":283}],244:[function(e,t,r){"use strict";var n=e("./_library"),i=e("./_export"),s=e("./_redefine"),a=e("./_hide"),o=e("./_has"),u=e("./_iterators"),l=e("./_iter-create"),c=e("./_set-to-string-tag"),p=e("./_object-gpo"),h=e("./_wks")("iterator"),f=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(e,t,r,m,y,g,b){l(r,t,m);var v,x,E,A=function(e){if(!f&&e in _)return _[e];switch(e){case"keys":case"values":return function(){return new r(this,e)}}return function(){return new r(this,e)}},D=t+" Iterator",C="values"==y,S=!1,_=e.prototype,w=_[h]||_["@@iterator"]||y&&_[y],k=w||A(y),F=y?C?A("entries"):k:void 0,T="Array"==t?_.entries||w:w;if(T&&(E=p(T.call(new e)))!==Object.prototype&&E.next&&(c(E,D,!0),n||o(E,h)||a(E,h,d)),C&&w&&"values"!==w.name&&(S=!0,k=function(){return w.call(this)}),n&&!b||!f&&!S&&_[h]||a(_,h,k),u[t]=k,u[D]=d,y)if(v={values:C?k:A("values"),keys:g?k:A("keys"),entries:F},b)for(x in v)x in _||s(_,x,v[x]);else i(i.P+i.F*(f||S),t,v);return v}},{"./_export":230,"./_has":234,"./_hide":235,"./_iter-create":243,"./_iterators":246,"./_library":247,"./_object-gpo":257,"./_redefine":264,"./_set-to-string-tag":269,"./_wks":283}],245:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],246:[function(e,t,r){t.exports={}},{}],247:[function(e,t,r){t.exports=!0},{}],248:[function(e,t,r){var n=e("./_uid")("meta"),i=e("./_is-object"),s=e("./_has"),a=e("./_object-dp").f,o=0,u=Object.isExtensible||function(){return!0},l=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),c=function(e){a(e,n,{value:{i:"O"+ ++o,w:{}}})},p=t.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!s(e,n)){if(!u(e))return"F";if(!t)return"E";c(e)}return e[n].i},getWeak:function(e,t){if(!s(e,n)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[n].w},onFreeze:function(e){return l&&p.NEED&&u(e)&&!s(e,n)&&c(e),e}}},{"./_fails":231,"./_has":234,"./_is-object":241,"./_object-dp":251,"./_uid":279}],249:[function(e,t,r){"use strict";var n=e("./_object-keys"),i=e("./_object-gops"),s=e("./_object-pie"),a=e("./_to-object"),o=e("./_iobject"),u=Object.assign;t.exports=!u||e("./_fails")(function(){var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach(function(e){t[e]=e}),7!=u({},e)[r]||Object.keys(u({},t)).join("")!=n})?function(e,t){for(var r=a(e),u=arguments.length,l=1,c=i.f,p=s.f;u>l;)for(var h,f=o(arguments[l++]),d=c?n(f).concat(c(f)):n(f),m=d.length,y=0;m>y;)p.call(f,h=d[y++])&&(r[h]=f[h]);return r}:u},{"./_fails":231,"./_iobject":238,"./_object-gops":256,"./_object-keys":259,"./_object-pie":260,"./_to-object":277}],250:[function(e,t,r){var n=e("./_an-object"),i=e("./_object-dps"),s=e("./_enum-bug-keys"),a=e("./_shared-key")("IE_PROTO"),o=function(){},u=function(){var t,r=e("./_dom-create")("iframe"),n=s.length;for(r.style.display="none",e("./_html").appendChild(r),r.src="javascript:",(t=r.contentWindow.document).open(),t.write("