summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-01-18 16:09:54 -0500
committercjihrig <cjihrig@gmail.com>2019-01-20 20:31:03 -0500
commitaf102c6d277165a641a4082b0641388807985875 (patch)
treeaf55616aa0751e0896699899a2d3fc2f9c7f1802 /tools
parentd1dee495db1451e74f5364c8687148a53ff0b50d (diff)
downloadandroid-node-v8-af102c6d277165a641a4082b0641388807985875.tar.gz
android-node-v8-af102c6d277165a641a4082b0641388807985875.tar.bz2
android-node-v8-af102c6d277165a641a4082b0641388807985875.zip
tools: update ESLint to 5.12.1
Update ESLint to 5.12.1 PR-URL: https://github.com/nodejs/node/pull/25573 Reviewed-By: Wyatt Preul <wpreul@gmail.com> Reviewed-By: Masashi Hirano <shisama07@gmail.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/node_modules/eslint/README.md35
-rw-r--r--tools/node_modules/eslint/lib/built-in-rules-index.js277
-rw-r--r--tools/node_modules/eslint/lib/formatters/tap.js11
-rw-r--r--tools/node_modules/eslint/lib/rules.js13
-rw-r--r--tools/node_modules/eslint/lib/rules/global-require.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/guard-for-in.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/handle-callback-err.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/id-blacklist.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/id-length.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/id-match.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/indent-legacy.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/indent.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/init-declarations.js23
-rw-r--r--tools/node_modules/eslint/lib/rules/jsx-quotes.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/key-spacing.js24
-rw-r--r--tools/node_modules/eslint/lib/rules/keyword-spacing.js16
-rw-r--r--tools/node_modules/eslint/lib/rules/line-comment-position.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/linebreak-style.js12
-rw-r--r--tools/node_modules/eslint/lib/rules/lines-around-comment.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/lines-around-directive.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/lines-between-class-members.js11
-rw-r--r--tools/node_modules/eslint/lib/rules/max-depth.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/max-len.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/max-lines-per-function.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/max-lines.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/max-nested-callbacks.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/max-params.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/max-statements-per-line.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/max-statements.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/multiline-comment-style.js35
-rw-r--r--tools/node_modules/eslint/lib/rules/multiline-ternary.js14
-rw-r--r--tools/node_modules/eslint/lib/rules/new-cap.js18
-rw-r--r--tools/node_modules/eslint/lib/rules/new-parens.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/newline-after-var.js14
-rw-r--r--tools/node_modules/eslint/lib/rules/newline-before-return.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/newline-per-chained-call.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/no-async-promise-executor.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/no-constant-condition.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/no-duplicate-imports.js25
-rw-r--r--tools/node_modules/eslint/lib/rules/no-fallthrough.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/no-floating-decimal.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/no-undef.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js27
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unsafe-negation.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unused-labels.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/operator-assignment.js12
-rw-r--r--tools/node_modules/eslint/lib/rules/prefer-const.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/space-unary-ops.js22
-rw-r--r--tools/node_modules/eslint/lib/rules/strict.js69
-rw-r--r--tools/node_modules/eslint/lib/rules/switch-colon-spacing.js15
-rw-r--r--tools/node_modules/eslint/lib/rules/symbol-description.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/template-curly-spacing.js20
-rw-r--r--tools/node_modules/eslint/lib/rules/template-tag-spacing.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/unicode-bom.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/use-isnan.js7
-rw-r--r--tools/node_modules/eslint/lib/rules/valid-jsdoc.js44
-rw-r--r--tools/node_modules/eslint/lib/rules/valid-typeof.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/vars-on-top.js10
-rw-r--r--tools/node_modules/eslint/lib/rules/wrap-iife.js13
-rw-r--r--tools/node_modules/eslint/lib/rules/yield-star-spacing.js23
-rw-r--r--tools/node_modules/eslint/lib/rules/yoda.js7
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/README.md43
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js102
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js4
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map2
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts60
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js2
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def7
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js6
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js6
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/if.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js6
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js6
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js3
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js24
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/package.json4
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/index.js.flow2
-rw-r--r--tools/node_modules/eslint/node_modules/chalk/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/globals/globals.json80
-rw-r--r--tools/node_modules/eslint/node_modules/globals/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/README.md3
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js28
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js2
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js26
-rw-r--r--tools/node_modules/eslint/node_modules/js-yaml/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/rxjs/package.json11
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js10
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.flow9
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.map2
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js17
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.flow15
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.map2
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/validateTableData.js6
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.flow4
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.map2
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/wrapCell.js48
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.flow35
-rw-r--r--tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.map1
-rw-r--r--tools/node_modules/eslint/node_modules/table/package.json2
-rw-r--r--tools/node_modules/eslint/package.json2
117 files changed, 1226 insertions, 513 deletions
diff --git a/tools/node_modules/eslint/README.md b/tools/node_modules/eslint/README.md
index 65ee43400d..e1855ec3f4 100644
--- a/tools/node_modules/eslint/README.md
+++ b/tools/node_modules/eslint/README.md
@@ -133,7 +133,7 @@ If you are trying to run locally:
* Make sure your plugins (and ESLint) are both in your project's `package.json` as devDependencies (or dependencies, if your project uses ESLint at runtime).
* Make sure you have run `npm install` and all your dependencies are installed.
-In all cases, make sure your plugins' peerDependencies have been installed as well. You can use `npm view eslint-plugin-myplugin peerDepencies` to see what peer dependencies `eslint-plugin-myplugin` has.
+In all cases, make sure your plugins' peerDependencies have been installed as well. You can use `npm view eslint-plugin-myplugin peerDependencies` to see what peer dependencies `eslint-plugin-myplugin` has.
### Does ESLint support JSX?
@@ -195,6 +195,8 @@ These folks keep the project moving and are resources for help.
### Technical Steering Committee (TSC)
+The people who manage releases, review feature requests, and meet regularly to ensure ESLint is properly maintained.
+
<table>
<tbody>
<tr>
@@ -247,7 +249,31 @@ These folks keep the project moving and are resources for help.
</tbody>
</table>
-### Development Team
+### Committers
+
+The people who review and fix bugs and help triage issues.
+
+<table>
+ <tbody>
+ <tr>
+ <td align="center" valign="top" width="11%">
+ <a href="https://github.com/Aladdin-ADD">
+ <img src="https://github.com/Aladdin-ADD.png?s=75" width="75px" height="75px"><br/>
+ <sub>薛定谔的猫</sub></a>
+ </td>
+ <td align="center" valign="top" width="11%">
+ <a href="https://github.com/g-plane">
+ <img src="https://github.com/g-plane.png?s=75" width="75px" height="75px"><br/>
+ <sub>Pig Fang</sub></a>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+
+### Alumni
+
+Former TSC members and committers who previously helped maintain ESLint.
<table>
<tbody>
@@ -325,11 +351,6 @@ These folks keep the project moving and are resources for help.
<sub>Reyad Attiyat</sub></a>
</td>
<td align="center" valign="top" width="11%">
- <a href="https://github.com/Aladdin-ADD">
- <img src="https://github.com/Aladdin-ADD.png?s=75" width="75px" height="75px"><br/>
- <sub>薛定谔的猫</sub></a>
- </td>
- <td align="center" valign="top" width="11%">
<a href="https://github.com/VictorHom">
<img src="https://github.com/VictorHom.png?s=75" width="75px" height="75px"><br/>
<sub>Victor Hom</sub></a>
diff --git a/tools/node_modules/eslint/lib/built-in-rules-index.js b/tools/node_modules/eslint/lib/built-in-rules-index.js
new file mode 100644
index 0000000000..aaf2f06ecc
--- /dev/null
+++ b/tools/node_modules/eslint/lib/built-in-rules-index.js
@@ -0,0 +1,277 @@
+/**
+ * @fileoverview Collects the built-in rules into a map structure so that they can be imported all at once and without
+ * using the file-system directly.
+ * @author Peter (Somogyvari) Metz
+ */
+
+"use strict";
+
+/* eslint sort-keys: ["error", "asc"] */
+
+module.exports = {
+ "accessor-pairs": require("./rules/accessor-pairs"),
+ "array-bracket-newline": require("./rules/array-bracket-newline"),
+ "array-bracket-spacing": require("./rules/array-bracket-spacing"),
+ "array-callback-return": require("./rules/array-callback-return"),
+ "array-element-newline": require("./rules/array-element-newline"),
+ "arrow-body-style": require("./rules/arrow-body-style"),
+ "arrow-parens": require("./rules/arrow-parens"),
+ "arrow-spacing": require("./rules/arrow-spacing"),
+ "block-scoped-var": require("./rules/block-scoped-var"),
+ "block-spacing": require("./rules/block-spacing"),
+ "brace-style": require("./rules/brace-style"),
+ "callback-return": require("./rules/callback-return"),
+ camelcase: require("./rules/camelcase"),
+ "capitalized-comments": require("./rules/capitalized-comments"),
+ "class-methods-use-this": require("./rules/class-methods-use-this"),
+ "comma-dangle": require("./rules/comma-dangle"),
+ "comma-spacing": require("./rules/comma-spacing"),
+ "comma-style": require("./rules/comma-style"),
+ complexity: require("./rules/complexity"),
+ "computed-property-spacing": require("./rules/computed-property-spacing"),
+ "consistent-return": require("./rules/consistent-return"),
+ "consistent-this": require("./rules/consistent-this"),
+ "constructor-super": require("./rules/constructor-super"),
+ curly: require("./rules/curly"),
+ "default-case": require("./rules/default-case"),
+ "dot-location": require("./rules/dot-location"),
+ "dot-notation": require("./rules/dot-notation"),
+ "eol-last": require("./rules/eol-last"),
+ eqeqeq: require("./rules/eqeqeq"),
+ "for-direction": require("./rules/for-direction"),
+ "func-call-spacing": require("./rules/func-call-spacing"),
+ "func-name-matching": require("./rules/func-name-matching"),
+ "func-names": require("./rules/func-names"),
+ "func-style": require("./rules/func-style"),
+ "function-paren-newline": require("./rules/function-paren-newline"),
+ "generator-star-spacing": require("./rules/generator-star-spacing"),
+ "getter-return": require("./rules/getter-return"),
+ "global-require": require("./rules/global-require"),
+ "guard-for-in": require("./rules/guard-for-in"),
+ "handle-callback-err": require("./rules/handle-callback-err"),
+ "id-blacklist": require("./rules/id-blacklist"),
+ "id-length": require("./rules/id-length"),
+ "id-match": require("./rules/id-match"),
+ "implicit-arrow-linebreak": require("./rules/implicit-arrow-linebreak"),
+ indent: require("./rules/indent"),
+ "indent-legacy": require("./rules/indent-legacy"),
+ "init-declarations": require("./rules/init-declarations"),
+ "jsx-quotes": require("./rules/jsx-quotes"),
+ "key-spacing": require("./rules/key-spacing"),
+ "keyword-spacing": require("./rules/keyword-spacing"),
+ "line-comment-position": require("./rules/line-comment-position"),
+ "linebreak-style": require("./rules/linebreak-style"),
+ "lines-around-comment": require("./rules/lines-around-comment"),
+ "lines-around-directive": require("./rules/lines-around-directive"),
+ "lines-between-class-members": require("./rules/lines-between-class-members"),
+ "max-classes-per-file": require("./rules/max-classes-per-file"),
+ "max-depth": require("./rules/max-depth"),
+ "max-len": require("./rules/max-len"),
+ "max-lines": require("./rules/max-lines"),
+ "max-lines-per-function": require("./rules/max-lines-per-function"),
+ "max-nested-callbacks": require("./rules/max-nested-callbacks"),
+ "max-params": require("./rules/max-params"),
+ "max-statements": require("./rules/max-statements"),
+ "max-statements-per-line": require("./rules/max-statements-per-line"),
+ "multiline-comment-style": require("./rules/multiline-comment-style"),
+ "multiline-ternary": require("./rules/multiline-ternary"),
+ "new-cap": require("./rules/new-cap"),
+ "new-parens": require("./rules/new-parens"),
+ "newline-after-var": require("./rules/newline-after-var"),
+ "newline-before-return": require("./rules/newline-before-return"),
+ "newline-per-chained-call": require("./rules/newline-per-chained-call"),
+ "no-alert": require("./rules/no-alert"),
+ "no-array-constructor": require("./rules/no-array-constructor"),
+ "no-async-promise-executor": require("./rules/no-async-promise-executor"),
+ "no-await-in-loop": require("./rules/no-await-in-loop"),
+ "no-bitwise": require("./rules/no-bitwise"),
+ "no-buffer-constructor": require("./rules/no-buffer-constructor"),
+ "no-caller": require("./rules/no-caller"),
+ "no-case-declarations": require("./rules/no-case-declarations"),
+ "no-catch-shadow": require("./rules/no-catch-shadow"),
+ "no-class-assign": require("./rules/no-class-assign"),
+ "no-compare-neg-zero": require("./rules/no-compare-neg-zero"),
+ "no-cond-assign": require("./rules/no-cond-assign"),
+ "no-confusing-arrow": require("./rules/no-confusing-arrow"),
+ "no-console": require("./rules/no-console"),
+ "no-const-assign": require("./rules/no-const-assign"),
+ "no-constant-condition": require("./rules/no-constant-condition"),
+ "no-continue": require("./rules/no-continue"),
+ "no-control-regex": require("./rules/no-control-regex"),
+ "no-debugger": require("./rules/no-debugger"),
+ "no-delete-var": require("./rules/no-delete-var"),
+ "no-div-regex": require("./rules/no-div-regex"),
+ "no-dupe-args": require("./rules/no-dupe-args"),
+ "no-dupe-class-members": require("./rules/no-dupe-class-members"),
+ "no-dupe-keys": require("./rules/no-dupe-keys"),
+ "no-duplicate-case": require("./rules/no-duplicate-case"),
+ "no-duplicate-imports": require("./rules/no-duplicate-imports"),
+ "no-else-return": require("./rules/no-else-return"),
+ "no-empty": require("./rules/no-empty"),
+ "no-empty-character-class": require("./rules/no-empty-character-class"),
+ "no-empty-function": require("./rules/no-empty-function"),
+ "no-empty-pattern": require("./rules/no-empty-pattern"),
+ "no-eq-null": require("./rules/no-eq-null"),
+ "no-eval": require("./rules/no-eval"),
+ "no-ex-assign": require("./rules/no-ex-assign"),
+ "no-extend-native": require("./rules/no-extend-native"),
+ "no-extra-bind": require("./rules/no-extra-bind"),
+ "no-extra-boolean-cast": require("./rules/no-extra-boolean-cast"),
+ "no-extra-label": require("./rules/no-extra-label"),
+ "no-extra-parens": require("./rules/no-extra-parens"),
+ "no-extra-semi": require("./rules/no-extra-semi"),
+ "no-fallthrough": require("./rules/no-fallthrough"),
+ "no-floating-decimal": require("./rules/no-floating-decimal"),
+ "no-func-assign": require("./rules/no-func-assign"),
+ "no-global-assign": require("./rules/no-global-assign"),
+ "no-implicit-coercion": require("./rules/no-implicit-coercion"),
+ "no-implicit-globals": require("./rules/no-implicit-globals"),
+ "no-implied-eval": require("./rules/no-implied-eval"),
+ "no-inline-comments": require("./rules/no-inline-comments"),
+ "no-inner-declarations": require("./rules/no-inner-declarations"),
+ "no-invalid-regexp": require("./rules/no-invalid-regexp"),
+ "no-invalid-this": require("./rules/no-invalid-this"),
+ "no-irregular-whitespace": require("./rules/no-irregular-whitespace"),
+ "no-iterator": require("./rules/no-iterator"),
+ "no-label-var": require("./rules/no-label-var"),
+ "no-labels": require("./rules/no-labels"),
+ "no-lone-blocks": require("./rules/no-lone-blocks"),
+ "no-lonely-if": require("./rules/no-lonely-if"),
+ "no-loop-func": require("./rules/no-loop-func"),
+ "no-magic-numbers": require("./rules/no-magic-numbers"),
+ "no-misleading-character-class": require("./rules/no-misleading-character-class"),
+ "no-mixed-operators": require("./rules/no-mixed-operators"),
+ "no-mixed-requires": require("./rules/no-mixed-requires"),
+ "no-mixed-spaces-and-tabs": require("./rules/no-mixed-spaces-and-tabs"),
+ "no-multi-assign": require("./rules/no-multi-assign"),
+ "no-multi-spaces": require("./rules/no-multi-spaces"),
+ "no-multi-str": require("./rules/no-multi-str"),
+ "no-multiple-empty-lines": require("./rules/no-multiple-empty-lines"),
+ "no-native-reassign": require("./rules/no-native-reassign"),
+ "no-negated-condition": require("./rules/no-negated-condition"),
+ "no-negated-in-lhs": require("./rules/no-negated-in-lhs"),
+ "no-nested-ternary": require("./rules/no-nested-ternary"),
+ "no-new": require("./rules/no-new"),
+ "no-new-func": require("./rules/no-new-func"),
+ "no-new-object": require("./rules/no-new-object"),
+ "no-new-require": require("./rules/no-new-require"),
+ "no-new-symbol": require("./rules/no-new-symbol"),
+ "no-new-wrappers": require("./rules/no-new-wrappers"),
+ "no-obj-calls": require("./rules/no-obj-calls"),
+ "no-octal": require("./rules/no-octal"),
+ "no-octal-escape": require("./rules/no-octal-escape"),
+ "no-param-reassign": require("./rules/no-param-reassign"),
+ "no-path-concat": require("./rules/no-path-concat"),
+ "no-plusplus": require("./rules/no-plusplus"),
+ "no-process-env": require("./rules/no-process-env"),
+ "no-process-exit": require("./rules/no-process-exit"),
+ "no-proto": require("./rules/no-proto"),
+ "no-prototype-builtins": require("./rules/no-prototype-builtins"),
+ "no-redeclare": require("./rules/no-redeclare"),
+ "no-regex-spaces": require("./rules/no-regex-spaces"),
+ "no-restricted-globals": require("./rules/no-restricted-globals"),
+ "no-restricted-imports": require("./rules/no-restricted-imports"),
+ "no-restricted-modules": require("./rules/no-restricted-modules"),
+ "no-restricted-properties": require("./rules/no-restricted-properties"),
+ "no-restricted-syntax": require("./rules/no-restricted-syntax"),
+ "no-return-assign": require("./rules/no-return-assign"),
+ "no-return-await": require("./rules/no-return-await"),
+ "no-script-url": require("./rules/no-script-url"),
+ "no-self-assign": require("./rules/no-self-assign"),
+ "no-self-compare": require("./rules/no-self-compare"),
+ "no-sequences": require("./rules/no-sequences"),
+ "no-shadow": require("./rules/no-shadow"),
+ "no-shadow-restricted-names": require("./rules/no-shadow-restricted-names"),
+ "no-spaced-func": require("./rules/no-spaced-func"),
+ "no-sparse-arrays": require("./rules/no-sparse-arrays"),
+ "no-sync": require("./rules/no-sync"),
+ "no-tabs": require("./rules/no-tabs"),
+ "no-template-curly-in-string": require("./rules/no-template-curly-in-string"),
+ "no-ternary": require("./rules/no-ternary"),
+ "no-this-before-super": require("./rules/no-this-before-super"),
+ "no-throw-literal": require("./rules/no-throw-literal"),
+ "no-trailing-spaces": require("./rules/no-trailing-spaces"),
+ "no-undef": require("./rules/no-undef"),
+ "no-undef-init": require("./rules/no-undef-init"),
+ "no-undefined": require("./rules/no-undefined"),
+ "no-underscore-dangle": require("./rules/no-underscore-dangle"),
+ "no-unexpected-multiline": require("./rules/no-unexpected-multiline"),
+ "no-unmodified-loop-condition": require("./rules/no-unmodified-loop-condition"),
+ "no-unneeded-ternary": require("./rules/no-unneeded-ternary"),
+ "no-unreachable": require("./rules/no-unreachable"),
+ "no-unsafe-finally": require("./rules/no-unsafe-finally"),
+ "no-unsafe-negation": require("./rules/no-unsafe-negation"),
+ "no-unused-expressions": require("./rules/no-unused-expressions"),
+ "no-unused-labels": require("./rules/no-unused-labels"),
+ "no-unused-vars": require("./rules/no-unused-vars"),
+ "no-use-before-define": require("./rules/no-use-before-define"),
+ "no-useless-call": require("./rules/no-useless-call"),
+ "no-useless-catch": require("./rules/no-useless-catch"),
+ "no-useless-computed-key": require("./rules/no-useless-computed-key"),
+ "no-useless-concat": require("./rules/no-useless-concat"),
+ "no-useless-constructor": require("./rules/no-useless-constructor"),
+ "no-useless-escape": require("./rules/no-useless-escape"),
+ "no-useless-rename": require("./rules/no-useless-rename"),
+ "no-useless-return": require("./rules/no-useless-return"),
+ "no-var": require("./rules/no-var"),
+ "no-void": require("./rules/no-void"),
+ "no-warning-comments": require("./rules/no-warning-comments"),
+ "no-whitespace-before-property": require("./rules/no-whitespace-before-property"),
+ "no-with": require("./rules/no-with"),
+ "nonblock-statement-body-position": require("./rules/nonblock-statement-body-position"),
+ "object-curly-newline": require("./rules/object-curly-newline"),
+ "object-curly-spacing": require("./rules/object-curly-spacing"),
+ "object-property-newline": require("./rules/object-property-newline"),
+ "object-shorthand": require("./rules/object-shorthand"),
+ "one-var": require("./rules/one-var"),
+ "one-var-declaration-per-line": require("./rules/one-var-declaration-per-line"),
+ "operator-assignment": require("./rules/operator-assignment"),
+ "operator-linebreak": require("./rules/operator-linebreak"),
+ "padded-blocks": require("./rules/padded-blocks"),
+ "padding-line-between-statements": require("./rules/padding-line-between-statements"),
+ "prefer-arrow-callback": require("./rules/prefer-arrow-callback"),
+ "prefer-const": require("./rules/prefer-const"),
+ "prefer-destructuring": require("./rules/prefer-destructuring"),
+ "prefer-numeric-literals": require("./rules/prefer-numeric-literals"),
+ "prefer-object-spread": require("./rules/prefer-object-spread"),
+ "prefer-promise-reject-errors": require("./rules/prefer-promise-reject-errors"),
+ "prefer-reflect": require("./rules/prefer-reflect"),
+ "prefer-rest-params": require("./rules/prefer-rest-params"),
+ "prefer-spread": require("./rules/prefer-spread"),
+ "prefer-template": require("./rules/prefer-template"),
+ "quote-props": require("./rules/quote-props"),
+ quotes: require("./rules/quotes"),
+ radix: require("./rules/radix"),
+ "require-atomic-updates": require("./rules/require-atomic-updates"),
+ "require-await": require("./rules/require-await"),
+ "require-jsdoc": require("./rules/require-jsdoc"),
+ "require-unicode-regexp": require("./rules/require-unicode-regexp"),
+ "require-yield": require("./rules/require-yield"),
+ "rest-spread-spacing": require("./rules/rest-spread-spacing"),
+ semi: require("./rules/semi"),
+ "semi-spacing": require("./rules/semi-spacing"),
+ "semi-style": require("./rules/semi-style"),
+ "sort-imports": require("./rules/sort-imports"),
+ "sort-keys": require("./rules/sort-keys"),
+ "sort-vars": require("./rules/sort-vars"),
+ "space-before-blocks": require("./rules/space-before-blocks"),
+ "space-before-function-paren": require("./rules/space-before-function-paren"),
+ "space-in-parens": require("./rules/space-in-parens"),
+ "space-infix-ops": require("./rules/space-infix-ops"),
+ "space-unary-ops": require("./rules/space-unary-ops"),
+ "spaced-comment": require("./rules/spaced-comment"),
+ strict: require("./rules/strict"),
+ "switch-colon-spacing": require("./rules/switch-colon-spacing"),
+ "symbol-description": require("./rules/symbol-description"),
+ "template-curly-spacing": require("./rules/template-curly-spacing"),
+ "template-tag-spacing": require("./rules/template-tag-spacing"),
+ "unicode-bom": require("./rules/unicode-bom"),
+ "use-isnan": require("./rules/use-isnan"),
+ "valid-jsdoc": require("./rules/valid-jsdoc"),
+ "valid-typeof": require("./rules/valid-typeof"),
+ "vars-on-top": require("./rules/vars-on-top"),
+ "wrap-iife": require("./rules/wrap-iife"),
+ "wrap-regex": require("./rules/wrap-regex"),
+ "yield-star-spacing": require("./rules/yield-star-spacing"),
+ yoda: require("./rules/yoda")
+};
diff --git a/tools/node_modules/eslint/lib/formatters/tap.js b/tools/node_modules/eslint/lib/formatters/tap.js
index 9651a2bcf1..354872a0c9 100644
--- a/tools/node_modules/eslint/lib/formatters/tap.js
+++ b/tools/node_modules/eslint/lib/formatters/tap.js
@@ -20,7 +20,6 @@ function getMessageType(message) {
return "error";
}
return "warning";
-
}
/**
@@ -50,12 +49,11 @@ module.exports = function(results) {
let diagnostics = {};
if (messages.length > 0) {
- testResult = "not ok";
-
messages.forEach(message => {
+ const severity = getMessageType(message);
const diagnostic = {
message: message.message,
- severity: getMessageType(message),
+ severity,
data: {
line: message.line || 0,
column: message.column || 0,
@@ -63,6 +61,11 @@ module.exports = function(results) {
}
};
+ // This ensures a warning message is not flagged as error
+ if (severity === "error") {
+ testResult = "not ok";
+ }
+
/*
* If we have multiple messages place them under a messages key
* The first error will be logged as message key
diff --git a/tools/node_modules/eslint/lib/rules.js b/tools/node_modules/eslint/lib/rules.js
index 040f9db505..ee747311e7 100644
--- a/tools/node_modules/eslint/lib/rules.js
+++ b/tools/node_modules/eslint/lib/rules.js
@@ -12,6 +12,7 @@
const lodash = require("lodash");
const loadRules = require("./load-rules");
const ruleReplacements = require("../conf/replacements").rules;
+const builtInRules = require("./built-in-rules-index");
//------------------------------------------------------------------------------
// Helpers
@@ -59,8 +60,7 @@ function normalizeRule(rule) {
class Rules {
constructor() {
this._rules = Object.create(null);
-
- this.load();
+ this.defineAll(builtInRules);
}
/**
@@ -82,6 +82,15 @@ class Rules {
load(rulesDir, cwd) {
const newRules = loadRules(rulesDir, cwd);
+ this.defineAll(newRules);
+ }
+
+ /**
+ * Pulls a Map of new rules to the defined ones of this instance.
+ * @param {Object} newRules Expects to have an object here that maps the rule ID to the rule definition.
+ * @returns {void}
+ */
+ defineAll(newRules) {
Object.keys(newRules).forEach(ruleId => {
this.define(ruleId, newRules[ruleId]);
});
diff --git a/tools/node_modules/eslint/lib/rules/global-require.js b/tools/node_modules/eslint/lib/rules/global-require.js
index 6576cfb6a1..4af3a6a466 100644
--- a/tools/node_modules/eslint/lib/rules/global-require.js
+++ b/tools/node_modules/eslint/lib/rules/global-require.js
@@ -57,7 +57,10 @@ module.exports = {
url: "https://eslint.org/docs/rules/global-require"
},
- schema: []
+ schema: [],
+ messages: {
+ unexpected: "Unexpected require()."
+ }
},
create(context) {
@@ -69,7 +72,7 @@ module.exports = {
const isGoodRequire = context.getAncestors().every(parent => ACCEPTABLE_PARENTS.indexOf(parent.type) > -1);
if (!isGoodRequire) {
- context.report({ node, message: "Unexpected require()." });
+ context.report({ node, messageId: "unexpected" });
}
}
}
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 6e8452a484..2c0976d997 100644
--- a/tools/node_modules/eslint/lib/rules/guard-for-in.js
+++ b/tools/node_modules/eslint/lib/rules/guard-for-in.js
@@ -20,7 +20,10 @@ module.exports = {
url: "https://eslint.org/docs/rules/guard-for-in"
},
- schema: []
+ schema: [],
+ messages: {
+ wrap: "The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype."
+ }
},
create(context) {
@@ -65,7 +68,7 @@ module.exports = {
}
}
- context.report({ node, message: "The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype." });
+ context.report({ node, messageId: "wrap" });
}
};
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 5845aff4bc..2966aff2e6 100644
--- a/tools/node_modules/eslint/lib/rules/handle-callback-err.js
+++ b/tools/node_modules/eslint/lib/rules/handle-callback-err.js
@@ -24,7 +24,10 @@ module.exports = {
{
type: "string"
}
- ]
+ ],
+ messages: {
+ expected: "Expected error to be handled."
+ }
},
create(context) {
@@ -77,7 +80,7 @@ module.exports = {
if (firstParameter && matchesConfiguredErrorName(firstParameter.name)) {
if (firstParameter.references.length === 0) {
- context.report({ node, message: "Expected error to be handled." });
+ context.report({ node, messageId: "expected" });
}
}
}
diff --git a/tools/node_modules/eslint/lib/rules/id-blacklist.js b/tools/node_modules/eslint/lib/rules/id-blacklist.js
index 7b8facbabe..53be62e68a 100644
--- a/tools/node_modules/eslint/lib/rules/id-blacklist.js
+++ b/tools/node_modules/eslint/lib/rules/id-blacklist.js
@@ -27,6 +27,9 @@ module.exports = {
type: "string"
},
uniqueItems: true
+ },
+ messages: {
+ blacklisted: "Identifier '{{name}}' is blacklisted."
}
},
@@ -72,7 +75,7 @@ module.exports = {
function report(node) {
context.report({
node,
- message: "Identifier '{{name}}' is blacklisted.",
+ messageId: "blacklisted",
data: {
name: node.name
}
diff --git a/tools/node_modules/eslint/lib/rules/id-length.js b/tools/node_modules/eslint/lib/rules/id-length.js
index d72eb08876..1f9c696e2a 100644
--- a/tools/node_modules/eslint/lib/rules/id-length.js
+++ b/tools/node_modules/eslint/lib/rules/id-length.js
@@ -44,7 +44,11 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ tooShort: "Identifier name '{{name}}' is too short (< {{min}}).",
+ tooLong: "Identifier name '{{name}}' is too long (> {{max}})."
+ }
},
create(context) {
@@ -107,9 +111,7 @@ module.exports = {
if (isValidExpression && (isValidExpression === true || isValidExpression(parent, node))) {
context.report({
node,
- message: isShort
- ? "Identifier name '{{name}}' is too short (< {{min}})."
- : "Identifier name '{{name}}' is too long (> {{max}}).",
+ messageId: isShort ? "tooShort" : "tooLong",
data: { name, min: minLength, max: maxLength }
});
}
diff --git a/tools/node_modules/eslint/lib/rules/id-match.js b/tools/node_modules/eslint/lib/rules/id-match.js
index 4755c779ca..5dc86f8dbf 100644
--- a/tools/node_modules/eslint/lib/rules/id-match.js
+++ b/tools/node_modules/eslint/lib/rules/id-match.js
@@ -38,7 +38,10 @@ module.exports = {
}
}
}
- ]
+ ],
+ messages: {
+ notMatch: "Identifier '{{name}}' does not match the pattern '{{pattern}}'."
+ }
},
create(context) {
@@ -116,7 +119,7 @@ module.exports = {
if (!reported.has(node)) {
context.report({
node,
- message: "Identifier '{{name}}' does not match the pattern '{{pattern}}'.",
+ messageId: "notMatch",
data: {
name: node.name,
pattern
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 fb7d603a35..ad0d70da66 100644
--- a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
+++ b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
@@ -30,7 +30,11 @@ module.exports = {
{
enum: ["beside", "below"]
}
- ]
+ ],
+ messages: {
+ expected: "Expected a linebreak before this expression.",
+ unexpected: "Expected no linebreak before this expression."
+ }
},
create(context) {
@@ -210,13 +214,13 @@ module.exports = {
if (tokenBefore.loc.end.line === fixerTarget.loc.start.line && option === "below") {
context.report({
node: fixerTarget,
- message: "Expected a linebreak before this expression.",
+ messageId: "expected",
fix: fixer => fixer.insertTextBefore(fixerTarget, "\n")
});
} else if (tokenBefore.loc.end.line !== fixerTarget.loc.start.line && option === "beside") {
context.report({
node: fixerTarget,
- message: "Expected no linebreak before this expression.",
+ messageId: "unexpected",
fix: autoFixBesides(tokenBefore, fixerTarget, node)
});
}
diff --git a/tools/node_modules/eslint/lib/rules/indent-legacy.js b/tools/node_modules/eslint/lib/rules/indent-legacy.js
index cfb807e34e..2a712c520a 100644
--- a/tools/node_modules/eslint/lib/rules/indent-legacy.js
+++ b/tools/node_modules/eslint/lib/rules/indent-legacy.js
@@ -169,7 +169,10 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ expected: "Expected indentation of {{expected}} but found {{actual}}."
+ }
},
create(context) {
@@ -268,7 +271,7 @@ module.exports = {
* @param {int} actualTabs The actual number of indentation tabs that were found on this line
* @returns {string} An error message for this line
*/
- function createErrorMessage(expectedAmount, actualSpaces, actualTabs) {
+ function createErrorMessageData(expectedAmount, actualSpaces, actualTabs) {
const expectedStatement = `${expectedAmount} ${indentType}${expectedAmount === 1 ? "" : "s"}`; // e.g. "2 tabs"
const foundSpacesWord = `space${actualSpaces === 1 ? "" : "s"}`; // e.g. "space"
const foundTabsWord = `tab${actualTabs === 1 ? "" : "s"}`; // e.g. "tabs"
@@ -288,8 +291,10 @@ module.exports = {
} else {
foundStatement = "0";
}
-
- return `Expected indentation of ${expectedStatement} but found ${foundStatement}.`;
+ return {
+ expected: expectedStatement,
+ actual: foundStatement
+ };
}
/**
@@ -318,7 +323,8 @@ module.exports = {
context.report({
node,
loc,
- message: createErrorMessage(needed, gottenSpaces, gottenTabs),
+ messageId: "expected",
+ data: createErrorMessageData(needed, gottenSpaces, gottenTabs),
fix: fixer => fixer.replaceTextRange(textRange, desiredIndent)
});
}
diff --git a/tools/node_modules/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js
index af7e2b147a..c30d1f1e7b 100644
--- a/tools/node_modules/eslint/lib/rules/indent.js
+++ b/tools/node_modules/eslint/lib/rules/indent.js
@@ -599,7 +599,10 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ wrongIndentation: "Expected indentation of {{expected}} but found {{actual}}."
+ }
},
create(context) {
@@ -671,7 +674,7 @@ module.exports = {
* @param {int} actualTabs The actual number of indentation tabs that were found on this line
* @returns {string} An error message for this line
*/
- function createErrorMessage(expectedAmount, actualSpaces, actualTabs) {
+ function createErrorMessageData(expectedAmount, actualSpaces, actualTabs) {
const expectedStatement = `${expectedAmount} ${indentType}${expectedAmount === 1 ? "" : "s"}`; // e.g. "2 tabs"
const foundSpacesWord = `space${actualSpaces === 1 ? "" : "s"}`; // e.g. "space"
const foundTabsWord = `tab${actualTabs === 1 ? "" : "s"}`; // e.g. "tabs"
@@ -689,8 +692,10 @@ module.exports = {
} else {
foundStatement = "0";
}
-
- return `Expected indentation of ${expectedStatement} but found ${foundStatement}.`;
+ return {
+ expected: expectedStatement,
+ actual: foundStatement
+ };
}
/**
@@ -706,7 +711,8 @@ module.exports = {
context.report({
node: token,
- message: createErrorMessage(neededIndent.length, numSpaces, numTabs),
+ messageId: "wrongIndentation",
+ data: createErrorMessageData(neededIndent.length, numSpaces, numTabs),
loc: {
start: { line: token.loc.start.line, column: 0 },
end: { line: token.loc.start.line, column: token.loc.start.column }
diff --git a/tools/node_modules/eslint/lib/rules/init-declarations.js b/tools/node_modules/eslint/lib/rules/init-declarations.js
index 755090917f..65197358e6 100644
--- a/tools/node_modules/eslint/lib/rules/init-declarations.js
+++ b/tools/node_modules/eslint/lib/rules/init-declarations.js
@@ -85,6 +85,10 @@ module.exports = {
maxItems: 2
}
]
+ },
+ messages: {
+ initialized: "Variable '{{idName}}' should be initialized on declaration.",
+ notInitialized: "Variable '{{idName}}' should not be initialized on declaration."
}
},
@@ -111,23 +115,18 @@ module.exports = {
id = declaration.id,
initialized = isInitialized(declaration),
isIgnoredForLoop = params.ignoreForLoopInit && isForLoop(node.parent);
-
- if (id.type !== "Identifier") {
- continue;
- }
+ let messageId = "";
if (mode === MODE_ALWAYS && !initialized) {
- context.report({
- node: declaration,
- message: "Variable '{{idName}}' should be initialized on declaration.",
- data: {
- idName: id.name
- }
- });
+ messageId = "initialized";
} else if (mode === MODE_NEVER && kind !== "const" && initialized && !isIgnoredForLoop) {
+ messageId = "notInitialized";
+ }
+
+ if (id.type === "Identifier" && messageId) {
context.report({
node: declaration,
- message: "Variable '{{idName}}' should not be initialized on declaration.",
+ messageId,
data: {
idName: id.name
}
diff --git a/tools/node_modules/eslint/lib/rules/jsx-quotes.js b/tools/node_modules/eslint/lib/rules/jsx-quotes.js
index 603d55330b..372dc2f42e 100644
--- a/tools/node_modules/eslint/lib/rules/jsx-quotes.js
+++ b/tools/node_modules/eslint/lib/rules/jsx-quotes.js
@@ -53,7 +53,10 @@ module.exports = {
{
enum: ["prefer-single", "prefer-double"]
}
- ]
+ ],
+ messages: {
+ unexpected: "Unexpected usage of {{description}}."
+ }
},
create(context) {
@@ -77,7 +80,7 @@ module.exports = {
if (attributeValue && astUtils.isStringLiteral(attributeValue) && !usesExpectedQuotes(attributeValue)) {
context.report({
node: attributeValue,
- message: "Unexpected usage of {{description}}.",
+ messageId: "unexpected",
data: {
description: setting.description
},
diff --git a/tools/node_modules/eslint/lib/rules/key-spacing.js b/tools/node_modules/eslint/lib/rules/key-spacing.js
index 2d1315fde0..c52a74d499 100644
--- a/tools/node_modules/eslint/lib/rules/key-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/key-spacing.js
@@ -121,11 +121,6 @@ function initOptions(toOptions, fromOptions) {
// Rule Definition
//------------------------------------------------------------------------------
-const messages = {
- key: "{{error}} space after {{computed}}key '{{key}}'.",
- value: "{{error}} space before value for {{computed}}key '{{key}}'."
-};
-
module.exports = {
meta: {
type: "layout",
@@ -297,7 +292,13 @@ module.exports = {
additionalProperties: false
}
]
- }]
+ }],
+ messages: {
+ extraKey: "Extra space after {{computed}}key '{{key}}'.",
+ extraValue: "Extra space before value for {{computed}}key '{{key}}'.",
+ missingKey: "Missing space after {{computed}}key '{{key}}'.",
+ missingValue: "Missing space before value for {{computed}}key '{{key}}'."
+ }
},
create(context) {
@@ -460,12 +461,19 @@ module.exports = {
}
}
+ let messageId = "";
+
+ if (isExtra) {
+ messageId = side === "key" ? "extraKey" : "extraValue";
+ } else {
+ messageId = side === "key" ? "missingKey" : "missingValue";
+ }
+
context.report({
node: property[side],
loc: locStart,
- message: messages[side],
+ messageId,
data: {
- error: isExtra ? "Extra" : "Missing",
computed: property.computed ? "computed " : "",
key: getKey(property)
},
diff --git a/tools/node_modules/eslint/lib/rules/keyword-spacing.js b/tools/node_modules/eslint/lib/rules/keyword-spacing.js
index 790d7b031d..833092e416 100644
--- a/tools/node_modules/eslint/lib/rules/keyword-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/keyword-spacing.js
@@ -100,7 +100,13 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ expectedBefore: "Expected space(s) before \"{{value}}\".",
+ expectedAfter: "Expected space(s) after \"{{value}}\".",
+ unexpectedBefore: "Unexpected space(s) before \"{{value}}\".",
+ unexpectedAfter: "Unexpected space(s) after \"{{value}}\"."
+ }
},
create(context) {
@@ -124,7 +130,7 @@ module.exports = {
) {
context.report({
loc: token.loc.start,
- message: "Expected space(s) before \"{{value}}\".",
+ messageId: "expectedBefore",
data: token,
fix(fixer) {
return fixer.insertTextBefore(token, " ");
@@ -151,7 +157,7 @@ module.exports = {
) {
context.report({
loc: token.loc.start,
- message: "Unexpected space(s) before \"{{value}}\".",
+ messageId: "unexpectedBefore",
data: token,
fix(fixer) {
return fixer.removeRange([prevToken.range[1], token.range[0]]);
@@ -178,7 +184,7 @@ module.exports = {
) {
context.report({
loc: token.loc.start,
- message: "Expected space(s) after \"{{value}}\".",
+ messageId: "expectedAfter",
data: token,
fix(fixer) {
return fixer.insertTextAfter(token, " ");
@@ -205,7 +211,7 @@ module.exports = {
) {
context.report({
loc: token.loc.start,
- message: "Unexpected space(s) after \"{{value}}\".",
+ messageId: "unexpectedAfter",
data: token,
fix(fixer) {
return fixer.removeRange([token.range[1], nextToken.range[0]]);
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 7c791d5f27..6d0ac6d2ba 100644
--- a/tools/node_modules/eslint/lib/rules/line-comment-position.js
+++ b/tools/node_modules/eslint/lib/rules/line-comment-position.js
@@ -47,7 +47,11 @@ module.exports = {
}
]
}
- ]
+ ],
+ messages: {
+ above: "Expected comment to be above code.",
+ beside: "Expected comment to be beside code."
+ }
},
create(context) {
@@ -100,14 +104,14 @@ module.exports = {
if (isOnSameLine) {
context.report({
node,
- message: "Expected comment to be above code."
+ messageId: "above"
});
}
} else {
if (!isOnSameLine) {
context.report({
node,
- message: "Expected comment to be beside code."
+ messageId: "beside"
});
}
}
diff --git a/tools/node_modules/eslint/lib/rules/linebreak-style.js b/tools/node_modules/eslint/lib/rules/linebreak-style.js
index 5345d53f28..4523d6f58a 100644
--- a/tools/node_modules/eslint/lib/rules/linebreak-style.js
+++ b/tools/node_modules/eslint/lib/rules/linebreak-style.js
@@ -32,14 +32,14 @@ module.exports = {
{
enum: ["unix", "windows"]
}
- ]
+ ],
+ messages: {
+ expectedLF: "Expected linebreaks to be 'LF' but found 'CRLF'.",
+ expectedCRLF: "Expected linebreaks to be 'CRLF' but found 'LF'."
+ }
},
create(context) {
-
- const EXPECTED_LF_MSG = "Expected linebreaks to be 'LF' but found 'CRLF'.",
- EXPECTED_CRLF_MSG = "Expected linebreaks to be 'CRLF' but found 'LF'.";
-
const sourceCode = context.getSourceCode();
//--------------------------------------------------------------------------
@@ -89,7 +89,7 @@ module.exports = {
line: i,
column: sourceCode.lines[i - 1].length
},
- message: expectedLF ? EXPECTED_LF_MSG : EXPECTED_CRLF_MSG,
+ messageId: expectedLF ? "expectedLF" : "expectedCRLF",
fix: createFix(range, expectedLFChars)
});
}
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 30175cd366..62bef94831 100644
--- a/tools/node_modules/eslint/lib/rules/lines-around-comment.js
+++ b/tools/node_modules/eslint/lib/rules/lines-around-comment.js
@@ -112,7 +112,11 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ after: "Expected line after comment.",
+ before: "Expected line before comment."
+ }
},
create(context) {
@@ -350,7 +354,7 @@ module.exports = {
context.report({
node: token,
- message: "Expected line before comment.",
+ messageId: "before",
fix(fixer) {
return fixer.insertTextBeforeRange(range, "\n");
}
@@ -362,7 +366,7 @@ module.exports = {
!(astUtils.isCommentToken(nextTokenOrComment) && astUtils.isTokenOnSameLine(token, nextTokenOrComment))) {
context.report({
node: token,
- message: "Expected line after comment.",
+ messageId: "after",
fix(fixer) {
return fixer.insertTextAfter(token, "\n");
}
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 02bbe13b4f..c2e5fd75aa 100644
--- a/tools/node_modules/eslint/lib/rules/lines-around-directive.js
+++ b/tools/node_modules/eslint/lib/rules/lines-around-directive.js
@@ -45,6 +45,10 @@ module.exports = {
}],
fixable: "whitespace",
+ messages: {
+ expected: "Expected newline {{location}} \"{{value}}\" directive.",
+ unexpected: "Unexpected newline {{location}} \"{{value}}\" directive."
+ },
deprecated: true,
replacedBy: ["padding-line-between-statements"]
},
@@ -109,9 +113,8 @@ module.exports = {
function reportError(node, location, expected) {
context.report({
node,
- message: "{{expected}} newline {{location}} \"{{value}}\" directive.",
+ messageId: expected ? "expected" : "unexpected",
data: {
- expected: expected ? "Expected" : "Unexpected",
value: node.expression.value,
location
},
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 5c1e69277a..2937d24f81 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
@@ -36,7 +36,11 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ never: "Unexpected blank line between class members.",
+ always: "Expected blank line between class members."
+ }
},
create(context) {
@@ -46,9 +50,6 @@ module.exports = {
options[0] = context.options[0] || "always";
options[1] = context.options[1] || { exceptAfterSingleLine: false };
- const ALWAYS_MESSAGE = "Expected blank line between class members.";
- const NEVER_MESSAGE = "Unexpected blank line between class members.";
-
const sourceCode = context.getSourceCode();
/**
@@ -127,7 +128,7 @@ module.exports = {
(options[0] === "never" && isPadded)) {
context.report({
node: body[i + 1],
- message: isPadded ? NEVER_MESSAGE : ALWAYS_MESSAGE,
+ messageId: isPadded ? "never" : "always",
fix(fixer) {
return isPadded
? fixer.replaceTextRange([curLast.range[1], nextFirst.range[0]], "\n")
diff --git a/tools/node_modules/eslint/lib/rules/max-depth.js b/tools/node_modules/eslint/lib/rules/max-depth.js
index 34d58b0d31..500e931881 100644
--- a/tools/node_modules/eslint/lib/rules/max-depth.js
+++ b/tools/node_modules/eslint/lib/rules/max-depth.js
@@ -43,7 +43,10 @@ module.exports = {
}
]
}
- ]
+ ],
+ messages: {
+ tooDeeply: "Blocks are nested too deeply ({{depth}})."
+ }
},
create(context) {
@@ -94,7 +97,7 @@ module.exports = {
const len = ++functionStack[functionStack.length - 1];
if (len > maxDepth) {
- context.report({ node, message: "Blocks are nested too deeply ({{depth}}).", data: { depth: len } });
+ context.report({ node, messageId: "tooDeeply", data: { depth: len } });
}
}
diff --git a/tools/node_modules/eslint/lib/rules/max-len.js b/tools/node_modules/eslint/lib/rules/max-len.js
index 13dd72160c..d74373e9ea 100644
--- a/tools/node_modules/eslint/lib/rules/max-len.js
+++ b/tools/node_modules/eslint/lib/rules/max-len.js
@@ -78,7 +78,11 @@ module.exports = {
OPTIONS_OR_INTEGER_SCHEMA,
OPTIONS_OR_INTEGER_SCHEMA,
OPTIONS_SCHEMA
- ]
+ ],
+ messages: {
+ max: "Line {{lineNumber}} exceeds the maximum line length of {{maxLength}}.",
+ maxComment: "Line {{lineNumber}} exceeds the maximum comment line length of {{maxCommentLength}}."
+ }
},
create(context) {
@@ -341,7 +345,7 @@ module.exports = {
context.report({
node,
loc: { line: lineNumber, column: 0 },
- message: "Line {{lineNumber}} exceeds the maximum comment line length of {{maxCommentLength}}.",
+ messageId: "maxComment",
data: {
lineNumber: i + 1,
maxCommentLength
@@ -352,7 +356,7 @@ module.exports = {
context.report({
node,
loc: { line: lineNumber, column: 0 },
- message: "Line {{lineNumber}} exceeds the maximum line length of {{maxLength}}.",
+ messageId: "max",
data: {
lineNumber: i + 1,
maxLength
diff --git a/tools/node_modules/eslint/lib/rules/max-lines-per-function.js b/tools/node_modules/eslint/lib/rules/max-lines-per-function.js
index 8c64a20bcc..d1e4597a22 100644
--- a/tools/node_modules/eslint/lib/rules/max-lines-per-function.js
+++ b/tools/node_modules/eslint/lib/rules/max-lines-per-function.js
@@ -80,7 +80,10 @@ module.exports = {
schema: [
OPTIONS_OR_INTEGER_SCHEMA
- ]
+ ],
+ messages: {
+ exceed: "{{name}} has too many lines ({{lineCount}}). Maximum allowed is {{maxLines}}."
+ }
},
create(context) {
@@ -201,7 +204,7 @@ module.exports = {
context.report({
node,
- message: "{{name}} has too many lines ({{lineCount}}). Maximum allowed is {{maxLines}}.",
+ messageId: "exceed",
data: { name, lineCount, maxLines }
});
}
diff --git a/tools/node_modules/eslint/lib/rules/max-lines.js b/tools/node_modules/eslint/lib/rules/max-lines.js
index 730e05ab41..da7ddd8a88 100644
--- a/tools/node_modules/eslint/lib/rules/max-lines.js
+++ b/tools/node_modules/eslint/lib/rules/max-lines.js
@@ -51,7 +51,10 @@ module.exports = {
}
]
}
- ]
+ ],
+ messages: {
+ exceed: "File must be at most {{max}} lines long. It's {{actual}} lines long."
+ }
},
create(context) {
@@ -134,7 +137,7 @@ module.exports = {
if (lines.length > max) {
context.report({
loc: { line: 1, column: 0 },
- message: "File must be at most {{max}} lines long. It's {{actual}} lines long.",
+ messageId: "exceed",
data: {
max,
actual: lines.length
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 d4ecb4e2a5..754fa168d3 100644
--- a/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js
+++ b/tools/node_modules/eslint/lib/rules/max-nested-callbacks.js
@@ -43,7 +43,10 @@ module.exports = {
}
]
}
- ]
+ ],
+ messages: {
+ exceed: "Too many nested callbacks ({{num}}). Maximum allowed is {{max}}."
+ }
},
create(context) {
@@ -86,7 +89,7 @@ module.exports = {
if (callbackStack.length > THRESHOLD) {
const opts = { num: callbackStack.length, max: THRESHOLD };
- context.report({ node, message: "Too many nested callbacks ({{num}}). Maximum allowed is {{max}}.", data: opts });
+ context.report({ node, messageId: "exceed", data: opts });
}
}
diff --git a/tools/node_modules/eslint/lib/rules/max-params.js b/tools/node_modules/eslint/lib/rules/max-params.js
index f678974acf..e082ec8e98 100644
--- a/tools/node_modules/eslint/lib/rules/max-params.js
+++ b/tools/node_modules/eslint/lib/rules/max-params.js
@@ -51,7 +51,10 @@ module.exports = {
}
]
}
- ]
+ ],
+ messages: {
+ exceed: "{{name}} has too many parameters ({{count}}). Maximum allowed is {{max}}."
+ }
},
create(context) {
@@ -80,7 +83,7 @@ module.exports = {
context.report({
loc: astUtils.getFunctionHeadLoc(node, sourceCode),
node,
- message: "{{name}} has too many parameters ({{count}}). Maximum allowed is {{max}}.",
+ messageId: "exceed",
data: {
name: lodash.upperFirst(astUtils.getFunctionNameWithKind(node)),
count: node.params.length,
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 f3fb8e9d5c..b834cedc03 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
@@ -36,15 +36,17 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ exceed: "This line has {{numberOfStatementsOnThisLine}} {{statements}}. Maximum allowed is {{maxStatementsPerLine}}."
+ }
},
create(context) {
const sourceCode = context.getSourceCode(),
options = context.options[0] || {},
- maxStatementsPerLine = typeof options.max !== "undefined" ? options.max : 1,
- message = "This line has {{numberOfStatementsOnThisLine}} {{statements}}. Maximum allowed is {{maxStatementsPerLine}}.";
+ maxStatementsPerLine = typeof options.max !== "undefined" ? options.max : 1;
let lastStatementLine = 0,
numberOfStatementsOnThisLine = 0,
@@ -65,7 +67,7 @@ module.exports = {
if (firstExtraStatement) {
context.report({
node: firstExtraStatement,
- message,
+ messageId: "exceed",
data: {
numberOfStatementsOnThisLine,
maxStatementsPerLine,
diff --git a/tools/node_modules/eslint/lib/rules/max-statements.js b/tools/node_modules/eslint/lib/rules/max-statements.js
index e32dedad63..b33ca42982 100644
--- a/tools/node_modules/eslint/lib/rules/max-statements.js
+++ b/tools/node_modules/eslint/lib/rules/max-statements.js
@@ -60,7 +60,10 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ exceed: "{{name}} has too many statements ({{count}}). Maximum allowed is {{max}}."
+ }
},
create(context) {
@@ -99,7 +102,7 @@ module.exports = {
context.report({
node,
- message: "{{name}} has too many statements ({{count}}). Maximum allowed is {{max}}.",
+ messageId: "exceed",
data: { name, count, max }
});
}
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 73eab7c574..e262c25586 100644
--- a/tools/node_modules/eslint/lib/rules/multiline-comment-style.js
+++ b/tools/node_modules/eslint/lib/rules/multiline-comment-style.js
@@ -22,20 +22,21 @@ module.exports = {
},
fixable: "whitespace",
- schema: [{ enum: ["starred-block", "separate-lines", "bare-block"] }]
+ schema: [{ enum: ["starred-block", "separate-lines", "bare-block"] }],
+ messages: {
+ expectedBlock: "Expected a block comment instead of consecutive line comments.",
+ startNewline: "Expected a linebreak after '/*'.",
+ endNewline: "Expected a linebreak before '*/'.",
+ missingStar: "Expected a '*' at the start of this line.",
+ alignment: "Expected this line to be aligned with the start of the comment.",
+ expectedLines: "Expected multiple line comments instead of a block comment."
+ }
},
create(context) {
const sourceCode = context.getSourceCode();
const option = context.options[0] || "starred-block";
- const EXPECTED_BLOCK_ERROR = "Expected a block comment instead of consecutive line comments.";
- const START_NEWLINE_ERROR = "Expected a linebreak after '/*'.";
- const END_NEWLINE_ERROR = "Expected a linebreak before '*/'.";
- const MISSING_STAR_ERROR = "Expected a '*' at the start of this line.";
- const ALIGNMENT_ERROR = "Expected this line to be aligned with the start of the comment.";
- const EXPECTED_LINES_ERROR = "Expected multiple line comments instead of a block comment.";
-
//----------------------------------------------------------------------
// Helpers
//----------------------------------------------------------------------
@@ -127,7 +128,7 @@ module.exports = {
start: commentGroup[0].loc.start,
end: commentGroup[commentGroup.length - 1].loc.end
},
- message: EXPECTED_BLOCK_ERROR,
+ messageId: "expectedBlock",
fix(fixer) {
const range = [commentGroup[0].range[0], commentGroup[commentGroup.length - 1].range[1]];
const starredBlock = `/*${convertToStarredBlock(commentGroup[0], commentLines)}*/`;
@@ -150,7 +151,7 @@ module.exports = {
start: block.loc.start,
end: { line: block.loc.start.line, column: block.loc.start.column + 2 }
},
- message: START_NEWLINE_ERROR,
+ messageId: "startNewline",
fix: fixer => fixer.insertTextAfterRange([start, start + 2], `\n${expectedLinePrefix}`)
});
}
@@ -161,7 +162,7 @@ module.exports = {
start: { line: block.loc.end.line, column: block.loc.end.column - 2 },
end: block.loc.end
},
- message: END_NEWLINE_ERROR,
+ messageId: "endNewline",
fix: fixer => fixer.replaceTextRange([block.range[1] - 2, block.range[1]], `\n${expectedLinePrefix}/`)
});
}
@@ -175,9 +176,9 @@ module.exports = {
start: { line: lineNumber, column: 0 },
end: { line: lineNumber, column: sourceCode.lines[lineNumber - 1].length }
},
- message: /^\s*\*/.test(lineText)
- ? ALIGNMENT_ERROR
- : MISSING_STAR_ERROR,
+ messageId: /^\s*\*/.test(lineText)
+ ? "alignment"
+ : "missingStar",
fix(fixer) {
const lineStartIndex = sourceCode.getIndexFromLoc({ line: lineNumber, column: 0 });
const linePrefixLength = lineText.match(/^\s*\*? ?/)[0].length;
@@ -209,7 +210,7 @@ module.exports = {
start: block.loc.start,
end: { line: block.loc.start.line, column: block.loc.start.column + 2 }
},
- message: EXPECTED_LINES_ERROR,
+ messageId: "expectedLines",
fix(fixer) {
return fixer.replaceText(block, convertToSeparateLines(block, commentLines.filter(line => line)));
}
@@ -228,7 +229,7 @@ module.exports = {
start: commentGroup[0].loc.start,
end: commentGroup[commentGroup.length - 1].loc.end
},
- message: EXPECTED_BLOCK_ERROR,
+ messageId: "expectedBlock",
fix(fixer) {
const range = [commentGroup[0].range[0], commentGroup[commentGroup.length - 1].range[1]];
const block = convertToBlock(commentGroup[0], commentLines.filter(line => line));
@@ -249,7 +250,7 @@ module.exports = {
start: block.loc.start,
end: { line: block.loc.start.line, column: block.loc.start.column + 2 }
},
- message: EXPECTED_BLOCK_ERROR,
+ messageId: "expectedBlock",
fix(fixer) {
return fixer.replaceText(block, convertToBlock(block, commentLines.filter(line => line)));
}
diff --git a/tools/node_modules/eslint/lib/rules/multiline-ternary.js b/tools/node_modules/eslint/lib/rules/multiline-ternary.js
index d1d577a4ff..83378dcd86 100644
--- a/tools/node_modules/eslint/lib/rules/multiline-ternary.js
+++ b/tools/node_modules/eslint/lib/rules/multiline-ternary.js
@@ -26,7 +26,13 @@ module.exports = {
{
enum: ["always", "always-multiline", "never"]
}
- ]
+ ],
+ messages: {
+ expectedTestCons: "Expected newline between test and consequent of ternary expression.",
+ expectedConsAlt: "Expected newline between consequent and alternate of ternary expression.",
+ unexpectedTestCons: "Unexpected newline between test and consequent of ternary expression.",
+ unexpectedConsAlt: "Unexpected newline between consequent and alternate of ternary expression."
+ }
},
create(context) {
@@ -49,11 +55,7 @@ module.exports = {
function reportError(node, parentNode, expected) {
context.report({
node,
- message: "{{expected}} newline between {{typeOfError}} of ternary expression.",
- data: {
- expected: expected ? "Expected" : "Unexpected",
- typeOfError: node === parentNode.test ? "test and consequent" : "consequent and alternate"
- }
+ messageId: `${expected ? "expected" : "unexpected"}${node === parentNode.test ? "TestCons" : "ConsAlt"}`
});
}
diff --git a/tools/node_modules/eslint/lib/rules/new-cap.js b/tools/node_modules/eslint/lib/rules/new-cap.js
index 834f4605ed..4a01dcfa7f 100644
--- a/tools/node_modules/eslint/lib/rules/new-cap.js
+++ b/tools/node_modules/eslint/lib/rules/new-cap.js
@@ -117,7 +117,11 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ upper: "A function with a name starting with an uppercase letter should only be used as a constructor.",
+ lower: "A constructor name should not start with a lowercase letter."
+ }
},
create(context) {
@@ -219,19 +223,19 @@ module.exports = {
}
/**
- * Reports the given message for the given node. The location will be the start of the property or the callee.
+ * Reports the given messageId for the given node. The location will be the start of the property or the callee.
* @param {ASTNode} node CallExpression or NewExpression node.
- * @param {string} message The message to report.
+ * @param {string} messageId The messageId to report.
* @returns {void}
*/
- function report(node, message) {
+ function report(node, messageId) {
let callee = node.callee;
if (callee.type === "MemberExpression") {
callee = callee.property;
}
- context.report({ node, loc: callee.loc.start, message });
+ context.report({ node, loc: callee.loc.start, messageId });
}
//--------------------------------------------------------------------------
@@ -248,7 +252,7 @@ module.exports = {
const isAllowed = capitalization !== "lower" || isCapAllowed(newIsCapExceptions, node, constructorName, newIsCapExceptionPattern);
if (!isAllowed) {
- report(node, "A constructor name should not start with a lowercase letter.");
+ report(node, "lower");
}
}
};
@@ -264,7 +268,7 @@ module.exports = {
const isAllowed = capitalization !== "upper" || isCapAllowed(capIsNewExceptions, node, calleeName, capIsNewExceptionPattern);
if (!isAllowed) {
- report(node, "A function with a name starting with an uppercase letter should only be used as a constructor.");
+ report(node, "upper");
}
}
};
diff --git a/tools/node_modules/eslint/lib/rules/new-parens.js b/tools/node_modules/eslint/lib/rules/new-parens.js
index 0637a8fbca..edd3c1e1c2 100644
--- a/tools/node_modules/eslint/lib/rules/new-parens.js
+++ b/tools/node_modules/eslint/lib/rules/new-parens.js
@@ -30,8 +30,11 @@ module.exports = {
url: "https://eslint.org/docs/rules/new-parens"
},
+ fixable: "code",
schema: [],
- fixable: "code"
+ messages: {
+ missing: "Missing '()' invoking a constructor."
+ }
},
create(context) {
@@ -50,7 +53,7 @@ module.exports = {
if (!hasParens) {
context.report({
node,
- message: "Missing '()' invoking a constructor.",
+ messageId: "missing",
fix: fixer => fixer.insertTextAfter(node, "()")
});
}
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 83fd420d73..036cefc22c 100644
--- a/tools/node_modules/eslint/lib/rules/newline-after-var.js
+++ b/tools/node_modules/eslint/lib/rules/newline-after-var.js
@@ -26,14 +26,16 @@ module.exports = {
recommended: false,
url: "https://eslint.org/docs/rules/newline-after-var"
},
-
schema: [
{
enum: ["never", "always"]
}
],
-
fixable: "whitespace",
+ messages: {
+ expected: "Expected blank line after variable declarations.",
+ unexpected: "Unexpected blank line after variable declarations."
+ },
deprecated: true,
@@ -41,10 +43,6 @@ module.exports = {
},
create(context) {
-
- const ALWAYS_MESSAGE = "Expected blank line after variable declarations.",
- NEVER_MESSAGE = "Unexpected blank line after variable declarations.";
-
const sourceCode = context.getSourceCode();
// Default `mode` to "always".
@@ -214,7 +212,7 @@ module.exports = {
if (mode === "never" && noNextLineToken && !hasNextLineComment) {
context.report({
node,
- message: NEVER_MESSAGE,
+ messageId: "unexpected",
data: { identifier: node.name },
fix(fixer) {
const linesBetween = sourceCode.getText().slice(lastToken.range[1], nextToken.range[0]).split(astUtils.LINEBREAK_MATCHER);
@@ -233,7 +231,7 @@ module.exports = {
) {
context.report({
node,
- message: ALWAYS_MESSAGE,
+ messageId: "expected",
data: { identifier: node.name },
fix(fixer) {
if ((noNextLineToken ? getLastCommentLineOfBlock(nextLineNum) : lastToken.loc.end.line) === nextToken.loc.start.line) {
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 6a0ec8d5eb..816ddba72b 100644
--- a/tools/node_modules/eslint/lib/rules/newline-before-return.js
+++ b/tools/node_modules/eslint/lib/rules/newline-before-return.js
@@ -22,6 +22,10 @@ module.exports = {
fixable: "whitespace",
schema: [],
+ messages: {
+ expected: "Expected newline before return statement."
+ },
+
deprecated: true,
replacedBy: ["padding-line-between-statements"]
},
@@ -196,7 +200,7 @@ module.exports = {
if (!isFirstNode(node) && !hasNewlineBefore(node)) {
context.report({
node,
- message: "Expected newline before return statement.",
+ messageId: "expected",
fix(fixer) {
if (canFix(node)) {
const tokenBefore = sourceCode.getTokenBefore(node);
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 9d99313768..0bf2365de5 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
@@ -35,7 +35,10 @@ module.exports = {
}
},
additionalProperties: false
- }]
+ }],
+ messages: {
+ expected: "Expected line break before `{{callee}}`."
+ }
},
create(context) {
@@ -91,7 +94,7 @@ module.exports = {
context.report({
node: callee.property,
loc: callee.property.loc.start,
- message: "Expected line break before `{{callee}}`.",
+ messageId: "expected",
data: {
callee: getPropertyText(callee)
},
diff --git a/tools/node_modules/eslint/lib/rules/no-async-promise-executor.js b/tools/node_modules/eslint/lib/rules/no-async-promise-executor.js
index fc65f539a3..af15509ed4 100644
--- a/tools/node_modules/eslint/lib/rules/no-async-promise-executor.js
+++ b/tools/node_modules/eslint/lib/rules/no-async-promise-executor.js
@@ -20,7 +20,10 @@ module.exports = {
},
fixable: null,
- schema: []
+ schema: [],
+ messages: {
+ async: "Promise executor functions should not be async."
+ }
},
create(context) {
@@ -28,7 +31,7 @@ module.exports = {
"NewExpression[callee.name='Promise'][arguments.0.async=true]"(node) {
context.report({
node: context.getSourceCode().getFirstToken(node.arguments[0], token => token.value === "async"),
- message: "Promise executor functions should not be async."
+ messageId: "async"
});
}
};
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 8d7934d8a5..39c2928eed 100644
--- a/tools/node_modules/eslint/lib/rules/no-constant-condition.js
+++ b/tools/node_modules/eslint/lib/rules/no-constant-condition.js
@@ -109,7 +109,10 @@ module.exports = {
const isLeftShortCircuit = (isLeftConstant && isLogicalIdentity(node.left, node.operator));
const isRightShortCircuit = (isRightConstant && isLogicalIdentity(node.right, node.operator));
- return (isLeftConstant && isRightConstant) || isLeftShortCircuit || isRightShortCircuit;
+ return (isLeftConstant && isRightConstant) ||
+ (node.operator === "||" && isRightConstant && node.right.value) || // in the case of an "OR", we need to know if the right constant value is truthy
+ isLeftShortCircuit ||
+ isRightShortCircuit;
}
case "AssignmentExpression":
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 1d5bdfdc1a..7d35b41b4d 100644
--- a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js
+++ b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js
@@ -29,18 +29,17 @@ function getValue(node) {
* @param {ASTNode} node - A node to get.
* @param {string} value - The name of the imported or exported module.
* @param {string[]} array - The array containing other imports or exports in the file.
- * @param {string} message - A message to be reported after the name of the module
+ * @param {string} messageId - A messageId to be reported after the name of the module
*
* @returns {void} No return value
*/
-function checkAndReport(context, node, value, array, message) {
+function checkAndReport(context, node, value, array, messageId) {
if (array.indexOf(value) !== -1) {
context.report({
node,
- message: "'{{module}}' {{message}}",
+ messageId,
data: {
- module: value,
- message
+ module: value
}
});
}
@@ -66,10 +65,10 @@ function handleImports(context, includeExports, importsInFile, exportsInFile) {
const value = getValue(node);
if (value) {
- checkAndReport(context, node, value, importsInFile, "import is duplicated.");
+ checkAndReport(context, node, value, importsInFile, "import");
if (includeExports) {
- checkAndReport(context, node, value, exportsInFile, "import is duplicated as export.");
+ checkAndReport(context, node, value, exportsInFile, "importAs");
}
importsInFile.push(value);
@@ -91,8 +90,8 @@ function handleExports(context, importsInFile, exportsInFile) {
const value = getValue(node);
if (value) {
- checkAndReport(context, node, value, exportsInFile, "export is duplicated.");
- checkAndReport(context, node, value, importsInFile, "export is duplicated as import.");
+ checkAndReport(context, node, value, exportsInFile, "export");
+ checkAndReport(context, node, value, importsInFile, "exportAs");
exportsInFile.push(value);
}
@@ -118,7 +117,13 @@ module.exports = {
}
},
additionalProperties: false
- }]
+ }],
+ messages: {
+ import: "'{{module}}' import is duplicated.",
+ importAs: "'{{module}}' import is duplicated as export.",
+ export: "'{{module}}' export is duplicated.",
+ exportAs: "'{{module}}' export is duplicated as import."
+ }
},
create(context) {
diff --git a/tools/node_modules/eslint/lib/rules/no-fallthrough.js b/tools/node_modules/eslint/lib/rules/no-fallthrough.js
index b7fa221050..79cbe81c0b 100644
--- a/tools/node_modules/eslint/lib/rules/no-fallthrough.js
+++ b/tools/node_modules/eslint/lib/rules/no-fallthrough.js
@@ -74,7 +74,11 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ case: "Expected a 'break' statement before 'case'.",
+ default: "Expected a 'break' statement before 'default'."
+ }
},
create(context) {
@@ -111,8 +115,7 @@ module.exports = {
*/
if (fallthroughCase && !hasFallthroughComment(node, context, fallthroughCommentPattern)) {
context.report({
- message: "Expected a 'break' statement before '{{type}}'.",
- data: { type: node.test ? "case" : "default" },
+ messageId: node.test ? "case" : "default",
node
});
}
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 c835d6a545..de5a521525 100644
--- a/tools/node_modules/eslint/lib/rules/no-floating-decimal.js
+++ b/tools/node_modules/eslint/lib/rules/no-floating-decimal.js
@@ -27,7 +27,11 @@ module.exports = {
},
schema: [],
- fixable: "code"
+ fixable: "code",
+ messages: {
+ leading: "A leading decimal point can be confused with a dot.",
+ trailing: "A trailing decimal point can be confused with a dot."
+ }
},
create(context) {
@@ -40,7 +44,7 @@ module.exports = {
if (node.raw.startsWith(".")) {
context.report({
node,
- message: "A leading decimal point can be confused with a dot.",
+ messageId: "leading",
fix(fixer) {
const tokenBefore = sourceCode.getTokenBefore(node);
const needsSpaceBefore = tokenBefore &&
@@ -54,7 +58,7 @@ module.exports = {
if (node.raw.indexOf(".") === node.raw.length - 1) {
context.report({
node,
- message: "A trailing decimal point can be confused with a dot.",
+ messageId: "trailing",
fix: fixer => fixer.insertTextAfter(node, "0")
});
}
diff --git a/tools/node_modules/eslint/lib/rules/no-undef.js b/tools/node_modules/eslint/lib/rules/no-undef.js
index f923644eca..e6cd152761 100644
--- a/tools/node_modules/eslint/lib/rules/no-undef.js
+++ b/tools/node_modules/eslint/lib/rules/no-undef.js
@@ -44,7 +44,10 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ undef: "'{{name}}' is not defined."
+ }
},
create(context) {
@@ -64,7 +67,7 @@ module.exports = {
context.report({
node: identifier,
- message: "'{{name}}' is not defined.",
+ messageId: "undef",
data: identifier
});
});
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 3bed96fc77..35c2140bae 100644
--- a/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js
+++ b/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js
@@ -25,16 +25,17 @@ module.exports = {
url: "https://eslint.org/docs/rules/no-unexpected-multiline"
},
- schema: []
+ schema: [],
+ messages: {
+ function: "Unexpected newline between function and ( of function call.",
+ property: "Unexpected newline between object and [ of property access.",
+ taggedTemplate: "Unexpected newline between template tag and template literal.",
+ division: "Unexpected newline between numerator and division operator."
+ }
},
create(context) {
- const FUNCTION_MESSAGE = "Unexpected newline between function and ( of function call.";
- const PROPERTY_MESSAGE = "Unexpected newline between object and [ of property access.";
- const TAGGED_TEMPLATE_MESSAGE = "Unexpected newline between template tag and template literal.";
- const DIVISION_MESSAGE = "Unexpected newline between numerator and division operator.";
-
const REGEX_FLAG_MATCHER = /^[gimsuy]+$/;
const sourceCode = context.getSourceCode();
@@ -43,16 +44,16 @@ module.exports = {
* Check to see if there is a newline between the node and the following open bracket
* line's expression
* @param {ASTNode} node The node to check.
- * @param {string} msg The error message to use.
+ * @param {string} messageId The error messageId to use.
* @returns {void}
* @private
*/
- function checkForBreakAfter(node, msg) {
+ function checkForBreakAfter(node, messageId) {
const openParen = sourceCode.getTokenAfter(node, astUtils.isNotClosingParenToken);
const nodeExpressionEnd = sourceCode.getTokenBefore(openParen);
if (openParen.loc.start.line !== nodeExpressionEnd.loc.end.line) {
- context.report({ node, loc: openParen.loc.start, message: msg, data: { char: openParen.value } });
+ context.report({ node, loc: openParen.loc.start, messageId, data: { char: openParen.value } });
}
}
@@ -66,21 +67,21 @@ module.exports = {
if (!node.computed) {
return;
}
- checkForBreakAfter(node.object, PROPERTY_MESSAGE);
+ checkForBreakAfter(node.object, "property");
},
TaggedTemplateExpression(node) {
if (node.tag.loc.end.line === node.quasi.loc.start.line) {
return;
}
- context.report({ node, loc: node.loc.start, message: TAGGED_TEMPLATE_MESSAGE });
+ context.report({ node, loc: node.loc.start, messageId: "taggedTemplate" });
},
CallExpression(node) {
if (node.arguments.length === 0) {
return;
}
- checkForBreakAfter(node.callee, FUNCTION_MESSAGE);
+ checkForBreakAfter(node.callee, "function");
},
"BinaryExpression[operator='/'] > BinaryExpression[operator='/'].left"(node) {
@@ -92,7 +93,7 @@ module.exports = {
REGEX_FLAG_MATCHER.test(tokenAfterOperator.value) &&
secondSlash.range[1] === tokenAfterOperator.range[0]
) {
- checkForBreakAfter(node.left, DIVISION_MESSAGE);
+ checkForBreakAfter(node.left, "division");
}
}
};
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 3a0402eb0d..3b5b367e42 100644
--- a/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js
+++ b/tools/node_modules/eslint/lib/rules/no-unsafe-negation.js
@@ -51,7 +51,10 @@ module.exports = {
},
schema: [],
- fixable: "code"
+ fixable: "code",
+ messages: {
+ unexpected: "Unexpected negating the left operand of '{{operator}}' operator."
+ }
},
create(context) {
@@ -66,8 +69,8 @@ module.exports = {
context.report({
node,
loc: node.left.loc,
- message: "Unexpected negating the left operand of '{{operator}}' operator.",
- data: node,
+ messageId: "unexpected",
+ data: { operator: node.operator },
fix(fixer) {
const negationToken = sourceCode.getFirstToken(node.left);
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 c9e097df45..1ba1d05d5c 100644
--- a/tools/node_modules/eslint/lib/rules/no-unused-labels.js
+++ b/tools/node_modules/eslint/lib/rules/no-unused-labels.js
@@ -21,7 +21,12 @@ module.exports = {
},
schema: [],
- fixable: "code"
+
+ fixable: "code",
+
+ messages: {
+ unused: "'{{name}}:' is defined but never used."
+ }
},
create(context) {
@@ -53,7 +58,7 @@ module.exports = {
if (!scopeInfo.used) {
context.report({
node: node.label,
- message: "'{{name}}:' is defined but never used.",
+ messageId: "unused",
data: node.label,
fix(fixer) {
diff --git a/tools/node_modules/eslint/lib/rules/operator-assignment.js b/tools/node_modules/eslint/lib/rules/operator-assignment.js
index 8bb01737dd..94e8592734 100644
--- a/tools/node_modules/eslint/lib/rules/operator-assignment.js
+++ b/tools/node_modules/eslint/lib/rules/operator-assignment.js
@@ -104,7 +104,11 @@ module.exports = {
}
],
- fixable: "code"
+ fixable: "code",
+ messages: {
+ replaced: "Assignment can be replaced with operator assignment.",
+ unexpected: "Unexpected operator assignment shorthand."
+ }
},
create(context) {
@@ -138,7 +142,7 @@ module.exports = {
if (same(left, expr.left)) {
context.report({
node,
- message: "Assignment can be replaced with operator assignment.",
+ messageId: "replaced",
fix(fixer) {
if (canBeFixed(left)) {
const equalsToken = getOperatorToken(node);
@@ -160,7 +164,7 @@ module.exports = {
*/
context.report({
node,
- message: "Assignment can be replaced with operator assignment."
+ messageId: "replaced"
});
}
}
@@ -175,7 +179,7 @@ module.exports = {
if (node.operator !== "=") {
context.report({
node,
- message: "Unexpected operator assignment shorthand.",
+ messageId: "unexpected",
fix(fixer) {
if (canBeFixed(node.left)) {
const operatorToken = getOperatorToken(node);
diff --git a/tools/node_modules/eslint/lib/rules/prefer-const.js b/tools/node_modules/eslint/lib/rules/prefer-const.js
index a40ad35395..5f75376c95 100644
--- a/tools/node_modules/eslint/lib/rules/prefer-const.js
+++ b/tools/node_modules/eslint/lib/rules/prefer-const.js
@@ -350,7 +350,10 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ useConst: "'{{name}}' is never reassigned. Use 'const' instead."
+ }
},
create(context) {
@@ -445,7 +448,7 @@ module.exports = {
nodesToReport.forEach(node => {
context.report({
node,
- message: "'{{name}}' is never reassigned. Use 'const' instead.",
+ messageId: "useConst",
data: node,
fix: shouldFix ? fixer => fixer.replaceText(sourceCode.getFirstToken(varDeclParent), "const") : null
});
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 b56fa4f2fa..046be22bec 100644
--- a/tools/node_modules/eslint/lib/rules/space-unary-ops.js
+++ b/tools/node_modules/eslint/lib/rules/space-unary-ops.js
@@ -46,7 +46,15 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ unexpectedBefore: "Unexpected space before unary operator '{{operator}}'.",
+ unexpectedAfter: "Unexpected space after unary operator '{{operator}}'.",
+ unexpectedAfterWord: "Unexpected space after unary word operator '{{word}}'.",
+ wordOperator: "Unary word operator '{{word}}' must be followed by whitespace.",
+ operator: "Unary operator '{{operator}}' must be followed by whitespace.",
+ beforeUnaryExpressions: "Space is required before unary expressions '{{token}}'."
+ }
},
create(context) {
@@ -98,7 +106,7 @@ module.exports = {
if (secondToken.range[0] === firstToken.range[1]) {
context.report({
node,
- message: "Unary word operator '{{word}}' must be followed by whitespace.",
+ messageId: "wordOperator",
data: {
word
},
@@ -122,7 +130,7 @@ module.exports = {
if (secondToken.range[0] > firstToken.range[1]) {
context.report({
node,
- message: "Unexpected space after unary word operator '{{word}}'.",
+ messageId: "unexpectedAfterWord",
data: {
word
},
@@ -198,7 +206,7 @@ module.exports = {
if (firstToken.range[1] === secondToken.range[0]) {
context.report({
node,
- message: "Unary operator '{{operator}}' must be followed by whitespace.",
+ messageId: "operator",
data: {
operator: firstToken.value
},
@@ -211,7 +219,7 @@ module.exports = {
if (firstToken.range[1] === secondToken.range[0]) {
context.report({
node,
- message: "Space is required before unary expressions '{{token}}'.",
+ messageId: "beforeUnaryExpressions",
data: {
token: secondToken.value
},
@@ -235,7 +243,7 @@ module.exports = {
if (secondToken.range[0] > firstToken.range[1]) {
context.report({
node,
- message: "Unexpected space after unary operator '{{operator}}'.",
+ messageId: "unexpectedAfter",
data: {
operator: firstToken.value
},
@@ -251,7 +259,7 @@ module.exports = {
if (secondToken.range[0] > firstToken.range[1]) {
context.report({
node,
- message: "Unexpected space before unary operator '{{operator}}'.",
+ messageId: "unexpectedBefore",
data: {
operator: secondToken.value
},
diff --git a/tools/node_modules/eslint/lib/rules/strict.js b/tools/node_modules/eslint/lib/rules/strict.js
index bec1baf465..a826731260 100644
--- a/tools/node_modules/eslint/lib/rules/strict.js
+++ b/tools/node_modules/eslint/lib/rules/strict.js
@@ -15,19 +15,6 @@ const astUtils = require("../util/ast-utils");
// Helpers
//------------------------------------------------------------------------------
-const messages = {
- function: "Use the function form of 'use strict'.",
- global: "Use the global form of 'use strict'.",
- multiple: "Multiple 'use strict' directives.",
- never: "Strict mode is not permitted.",
- unnecessary: "Unnecessary 'use strict' directive.",
- module: "'use strict' is unnecessary inside of modules.",
- implied: "'use strict' is unnecessary when implied strict mode is enabled.",
- unnecessaryInClasses: "'use strict' is unnecessary inside of classes.",
- nonSimpleParameterList: "'use strict' directive inside a function with non-simple parameter list throws a syntax error since ES2016.",
- wrap: "Wrap {{name}} in a function with 'use strict' directive."
-};
-
/**
* Gets all of the Use Strict Directives in the Directive Prologue of a group of
* statements.
@@ -95,7 +82,19 @@ module.exports = {
}
],
- fixable: "code"
+ fixable: "code",
+ messages: {
+ function: "Use the function form of 'use strict'.",
+ global: "Use the global form of 'use strict'.",
+ multiple: "Multiple 'use strict' directives.",
+ never: "Strict mode is not permitted.",
+ unnecessary: "Unnecessary 'use strict' directive.",
+ module: "'use strict' is unnecessary inside of modules.",
+ implied: "'use strict' is unnecessary when implied strict mode is enabled.",
+ unnecessaryInClasses: "'use strict' is unnecessary inside of classes.",
+ nonSimpleParameterList: "'use strict' directive inside a function with non-simple parameter list throws a syntax error since ES2016.",
+ wrap: "Wrap {{name}} in a function with 'use strict' directive."
+ }
},
create(context) {
@@ -134,36 +133,36 @@ module.exports = {
* @param {ASTNode[]} nodes Nodes.
* @param {string} start Index to start from.
* @param {string} end Index to end before.
- * @param {string} message Message to display.
+ * @param {string} messageId Message to display.
* @param {boolean} fix `true` if the directive should be fixed (i.e. removed)
* @returns {void}
*/
- function reportSlice(nodes, start, end, message, fix) {
+ function reportSlice(nodes, start, end, messageId, fix) {
nodes.slice(start, end).forEach(node => {
- context.report({ node, message, fix: fix ? getFixFunction(node) : null });
+ context.report({ node, messageId, fix: fix ? getFixFunction(node) : null });
});
}
/**
* Report all nodes in an array with a given message.
* @param {ASTNode[]} nodes Nodes.
- * @param {string} message Message to display.
+ * @param {string} messageId Message id to display.
* @param {boolean} fix `true` if the directive should be fixed (i.e. removed)
* @returns {void}
*/
- function reportAll(nodes, message, fix) {
- reportSlice(nodes, 0, nodes.length, message, fix);
+ function reportAll(nodes, messageId, fix) {
+ reportSlice(nodes, 0, nodes.length, messageId, fix);
}
/**
* Report all nodes in an array, except the first, with a given message.
* @param {ASTNode[]} nodes Nodes.
- * @param {string} message Message to display.
+ * @param {string} messageId Message id to display.
* @param {boolean} fix `true` if the directive should be fixed (i.e. removed)
* @returns {void}
*/
- function reportAllExceptFirst(nodes, message, fix) {
- reportSlice(nodes, 1, nodes.length, message, fix);
+ function reportAllExceptFirst(nodes, messageId, fix) {
+ reportSlice(nodes, 1, nodes.length, messageId, fix);
}
/**
@@ -181,21 +180,21 @@ module.exports = {
if (isStrict) {
if (!isSimpleParameterList(node.params)) {
- context.report({ node: useStrictDirectives[0], message: messages.nonSimpleParameterList });
+ context.report({ node: useStrictDirectives[0], messageId: "nonSimpleParameterList" });
} else if (isParentStrict) {
- context.report({ node: useStrictDirectives[0], message: messages.unnecessary, fix: getFixFunction(useStrictDirectives[0]) });
+ context.report({ node: useStrictDirectives[0], messageId: "unnecessary", fix: getFixFunction(useStrictDirectives[0]) });
} else if (isInClass) {
- context.report({ node: useStrictDirectives[0], message: messages.unnecessaryInClasses, fix: getFixFunction(useStrictDirectives[0]) });
+ context.report({ node: useStrictDirectives[0], messageId: "unnecessaryInClasses", fix: getFixFunction(useStrictDirectives[0]) });
}
- reportAllExceptFirst(useStrictDirectives, messages.multiple, true);
+ reportAllExceptFirst(useStrictDirectives, "multiple", true);
} else if (isParentGlobal) {
if (isSimpleParameterList(node.params)) {
- context.report({ node, message: messages.function });
+ context.report({ node, messageId: "function" });
} else {
context.report({
node,
- message: messages.wrap,
+ messageId: "wrap",
data: { name: astUtils.getFunctionNameWithKind(node) }
});
}
@@ -228,10 +227,10 @@ module.exports = {
enterFunctionInFunctionMode(node, useStrictDirectives);
} else if (useStrictDirectives.length > 0) {
if (isSimpleParameterList(node.params)) {
- reportAll(useStrictDirectives, messages[mode], shouldFix(mode));
+ reportAll(useStrictDirectives, mode, shouldFix(mode));
} else {
- context.report({ node: useStrictDirectives[0], message: messages.nonSimpleParameterList });
- reportAllExceptFirst(useStrictDirectives, messages.multiple, true);
+ context.report({ node: useStrictDirectives[0], messageId: "nonSimpleParameterList" });
+ reportAllExceptFirst(useStrictDirectives, "multiple", true);
}
}
}
@@ -246,11 +245,11 @@ module.exports = {
if (mode === "global") {
if (node.body.length > 0 && useStrictDirectives.length === 0) {
- context.report({ node, message: messages.global });
+ context.report({ node, messageId: "global" });
}
- reportAllExceptFirst(useStrictDirectives, messages.multiple, true);
+ reportAllExceptFirst(useStrictDirectives, "multiple", true);
} else {
- reportAll(useStrictDirectives, messages[mode], shouldFix(mode));
+ reportAll(useStrictDirectives, mode, shouldFix(mode));
}
},
FunctionDeclaration: enterFunction,
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 e94b329210..9c7c0d589e 100644
--- a/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/switch-colon-spacing.js
@@ -36,8 +36,13 @@ module.exports = {
additionalProperties: false
}
],
-
- fixable: "whitespace"
+ fixable: "whitespace",
+ messages: {
+ expectedBefore: "Expected space(s) before this colon.",
+ expectedAfter: "Expected space(s) after this colon.",
+ unexpectedBefore: "Unexpected space(s) before this colon.",
+ unexpectedAfter: "Unexpected space(s) after this colon."
+ }
},
create(context) {
@@ -118,8 +123,7 @@ module.exports = {
context.report({
node,
loc: colonToken.loc,
- message: "{{verb}} space(s) before this colon.",
- data: { verb: beforeSpacing ? "Expected" : "Unexpected" },
+ messageId: beforeSpacing ? "expectedBefore" : "unexpectedBefore",
fix: fixer => fix(fixer, beforeToken, colonToken, beforeSpacing)
});
}
@@ -127,8 +131,7 @@ module.exports = {
context.report({
node,
loc: colonToken.loc,
- message: "{{verb}} space(s) after this colon.",
- data: { verb: afterSpacing ? "Expected" : "Unexpected" },
+ messageId: afterSpacing ? "expectedAfter" : "unexpectedAfter",
fix: fixer => fix(fixer, colonToken, afterToken, afterSpacing)
});
}
diff --git a/tools/node_modules/eslint/lib/rules/symbol-description.js b/tools/node_modules/eslint/lib/rules/symbol-description.js
index 7bb4e2dec6..f2e7e16b7a 100644
--- a/tools/node_modules/eslint/lib/rules/symbol-description.js
+++ b/tools/node_modules/eslint/lib/rules/symbol-description.js
@@ -26,8 +26,11 @@ module.exports = {
recommended: false,
url: "https://eslint.org/docs/rules/symbol-description"
},
-
- schema: []
+ fixable: null,
+ schema: [],
+ messages: {
+ expected: "Expected Symbol to have a description."
+ }
},
create(context) {
@@ -43,7 +46,7 @@ module.exports = {
if (node.arguments.length === 0) {
context.report({
node,
- message: "Expected Symbol to have a description."
+ messageId: "expected"
});
}
}
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 ea801cbe5d..84957d4759 100644
--- a/tools/node_modules/eslint/lib/rules/template-curly-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/template-curly-spacing.js
@@ -37,13 +37,19 @@ module.exports = {
schema: [
{ enum: ["always", "never"] }
- ]
+ ],
+ messages: {
+ expectedBefore: "Expected space(s) before '}'.",
+ expectedAfter: "Expected space(s) after '${'.",
+ unexpectedBefore: "Unexpected space(s) before '}'.",
+ unexpectedAfter: "Unexpected space(s) after '${'."
+ }
},
create(context) {
const sourceCode = context.getSourceCode();
const always = context.options[0] === "always";
- const prefix = always ? "Expected" : "Unexpected";
+ const prefix = always ? "expected" : "unexpected";
/**
* Checks spacing before `}` of a given token.
@@ -60,10 +66,7 @@ module.exports = {
) {
context.report({
loc: token.loc.start,
- message: "{{prefix}} space(s) before '}'.",
- data: {
- prefix
- },
+ messageId: `${prefix}Before`,
fix(fixer) {
if (always) {
return fixer.insertTextBefore(token, " ");
@@ -95,10 +98,7 @@ module.exports = {
line: token.loc.end.line,
column: token.loc.end.column - 2
},
- message: "{{prefix}} space(s) after '${'.",
- data: {
- prefix
- },
+ messageId: `${prefix}After`,
fix(fixer) {
if (always) {
return fixer.insertTextAfter(token, " ");
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 f258cde3d8..9eb6d86077 100644
--- a/tools/node_modules/eslint/lib/rules/template-tag-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/template-tag-spacing.js
@@ -24,7 +24,11 @@ module.exports = {
schema: [
{ enum: ["always", "never"] }
- ]
+ ],
+ messages: {
+ unexpected: "Unexpected space between template tag and template literal.",
+ missing: "Missing space between template tag and template literal."
+ }
},
create(context) {
@@ -46,7 +50,7 @@ module.exports = {
context.report({
node,
loc: tagToken.loc.start,
- message: "Unexpected space between template tag and template literal.",
+ messageId: "unexpected",
fix(fixer) {
const comments = sourceCode.getCommentsBefore(node.quasi);
@@ -65,7 +69,7 @@ module.exports = {
context.report({
node,
loc: tagToken.loc.start,
- message: "Missing space between template tag and template literal.",
+ messageId: "missing",
fix(fixer) {
return fixer.insertTextAfter(tagToken, " ");
}
diff --git a/tools/node_modules/eslint/lib/rules/unicode-bom.js b/tools/node_modules/eslint/lib/rules/unicode-bom.js
index 20f48e22b3..39642f8519 100644
--- a/tools/node_modules/eslint/lib/rules/unicode-bom.js
+++ b/tools/node_modules/eslint/lib/rules/unicode-bom.js
@@ -25,7 +25,11 @@ module.exports = {
{
enum: ["always", "never"]
}
- ]
+ ],
+ messages: {
+ expected: "Expected Unicode BOM (Byte Order Mark).",
+ unexpected: "Unexpected Unicode BOM (Byte Order Mark)."
+ }
},
create(context) {
@@ -46,7 +50,7 @@ module.exports = {
context.report({
node,
loc: location,
- message: "Expected Unicode BOM (Byte Order Mark).",
+ messageId: "expected",
fix(fixer) {
return fixer.insertTextBeforeRange([0, 1], "\uFEFF");
}
@@ -55,7 +59,7 @@ module.exports = {
context.report({
node,
loc: location,
- message: "Unexpected Unicode BOM (Byte Order Mark).",
+ messageId: "unexpected",
fix(fixer) {
return fixer.removeRange([-1, 0]);
}
diff --git a/tools/node_modules/eslint/lib/rules/use-isnan.js b/tools/node_modules/eslint/lib/rules/use-isnan.js
index 343ca04544..c8adefd608 100644
--- a/tools/node_modules/eslint/lib/rules/use-isnan.js
+++ b/tools/node_modules/eslint/lib/rules/use-isnan.js
@@ -20,7 +20,10 @@ module.exports = {
url: "https://eslint.org/docs/rules/use-isnan"
},
- schema: []
+ schema: [],
+ messages: {
+ useIsNaN: "Use the isNaN function to compare with NaN."
+ }
},
create(context) {
@@ -28,7 +31,7 @@ module.exports = {
return {
BinaryExpression(node) {
if (/^(?:[<>]|[!=]=)=?$/.test(node.operator) && (node.left.name === "NaN" || node.right.name === "NaN")) {
- context.report({ node, message: "Use the isNaN function to compare with NaN." });
+ context.report({ node, messageId: "useIsNaN" });
}
}
};
diff --git a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
index b40a20f6b4..515ba78b1d 100644
--- a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
+++ b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
@@ -65,6 +65,22 @@ module.exports = {
],
fixable: "code",
+ messages: {
+ unexpectedTag: "Unexpected @{{title}} tag; function has no return statement.",
+ expected: "Expected JSDoc for '{{name}}' but found '{{jsdocName}}'.",
+ use: "Use @{{name}} instead.",
+ useType: "Use '{{expectedTypeName}}' instead of '{{currentTypeName}}'.",
+ syntaxError: "JSDoc syntax error.",
+ missingBrace: "JSDoc type missing brace.",
+ missingParamDesc: "Missing JSDoc parameter description for '{{name}}'.",
+ missingParamType: "Missing JSDoc parameter type for '{{name}}'.",
+ missingReturnType: "Missing JSDoc return type.",
+ missingReturnDesc: "Missing JSDoc return description.",
+ missingReturn: "Missing JSDoc @{{returns}} for function.",
+ missingParam: "Missing JSDoc for parameter '{{name}}'.",
+ duplicateParam: "Duplicate JSDoc parameter '{{name}}'.",
+ unsatisfiedDesc: "JSDoc description does not satisfy the regex pattern."
+ },
deprecated: true,
replacedBy: []
@@ -231,7 +247,7 @@ module.exports = {
typeToCheck.expectedTypeName !== typeToCheck.currentType.name) {
context.report({
node: jsdocNode,
- message: "Use '{{expectedTypeName}}' instead of '{{currentTypeName}}'.",
+ messageId: "useType",
loc: getAbsoluteRange(jsdocNode, typeToCheck.currentType),
data: {
currentTypeName: typeToCheck.currentType.name,
@@ -280,9 +296,9 @@ module.exports = {
} catch (ex) {
if (/braces/i.test(ex.message)) {
- context.report({ node: jsdocNode, message: "JSDoc type missing brace." });
+ context.report({ node: jsdocNode, messageId: "missingBrace" });
} else {
- context.report({ node: jsdocNode, message: "JSDoc syntax error." });
+ context.report({ node: jsdocNode, messageId: "syntaxError" });
}
return;
@@ -332,7 +348,7 @@ module.exports = {
context.report({
node: jsdocNode,
- message: "Use @{{name}} instead.",
+ messageId: "use",
loc: {
start: entireTagRange.start,
end: {
@@ -363,7 +379,7 @@ module.exports = {
if (requireParamType && !param.type) {
context.report({
node: jsdocNode,
- message: "Missing JSDoc parameter type for '{{name}}'.",
+ messageId: "missingParamType",
loc: getAbsoluteRange(jsdocNode, param),
data: { name: param.name }
});
@@ -371,7 +387,7 @@ module.exports = {
if (!param.description && requireParamDescription) {
context.report({
node: jsdocNode,
- message: "Missing JSDoc parameter description for '{{name}}'.",
+ messageId: "missingParamDesc",
loc: getAbsoluteRange(jsdocNode, param),
data: { name: param.name }
});
@@ -379,7 +395,7 @@ module.exports = {
if (paramTagsByName[param.name]) {
context.report({
node: jsdocNode,
- message: "Duplicate JSDoc parameter '{{name}}'.",
+ messageId: "duplicateParam",
loc: getAbsoluteRange(jsdocNode, param),
data: { name: param.name }
});
@@ -392,7 +408,7 @@ module.exports = {
if (!requireReturn && !functionData.returnPresent && (returnsTag.type === null || !isValidReturnType(returnsTag)) && !isAbstract) {
context.report({
node: jsdocNode,
- message: "Unexpected @{{title}} tag; function has no return statement.",
+ messageId: "unexpectedTag",
loc: getAbsoluteRange(jsdocNode, returnsTag),
data: {
title: returnsTag.title
@@ -400,11 +416,11 @@ module.exports = {
});
} else {
if (requireReturnType && !returnsTag.type) {
- context.report({ node: jsdocNode, message: "Missing JSDoc return type." });
+ context.report({ node: jsdocNode, messageId: "missingReturnType" });
}
if (!isValidReturnType(returnsTag) && !returnsTag.description && requireReturnDescription) {
- context.report({ node: jsdocNode, message: "Missing JSDoc return description." });
+ context.report({ node: jsdocNode, messageId: "missingReturnDesc" });
}
}
}
@@ -416,7 +432,7 @@ module.exports = {
if (requireReturn || (functionData.returnPresent && !node.async)) {
context.report({
node: jsdocNode,
- message: "Missing JSDoc @{{returns}} for function.",
+ messageId: "missingReturn",
data: {
returns: prefer.returns || "returns"
}
@@ -440,7 +456,7 @@ module.exports = {
if (jsdocParamNames[paramsIndex] && (name !== jsdocParamNames[paramsIndex])) {
context.report({
node: jsdocNode,
- message: "Expected JSDoc for '{{name}}' but found '{{jsdocName}}'.",
+ messageId: "expected",
loc: getAbsoluteRange(jsdocNode, paramTagsByName[jsdocParamNames[paramsIndex]]),
data: {
name,
@@ -450,7 +466,7 @@ module.exports = {
} else if (!paramTagsByName[name] && !isOverride) {
context.report({
node: jsdocNode,
- message: "Missing JSDoc for parameter '{{name}}'.",
+ messageId: "missingParam",
data: {
name
}
@@ -464,7 +480,7 @@ module.exports = {
const regex = new RegExp(options.matchDescription);
if (!regex.test(jsdoc.description)) {
- context.report({ node: jsdocNode, message: "JSDoc description does not satisfy the regex pattern." });
+ context.report({ node: jsdocNode, messageId: "unsatisfiedDesc" });
}
}
diff --git a/tools/node_modules/eslint/lib/rules/valid-typeof.js b/tools/node_modules/eslint/lib/rules/valid-typeof.js
index e3245e8f30..7fa2b89bd0 100644
--- a/tools/node_modules/eslint/lib/rules/valid-typeof.js
+++ b/tools/node_modules/eslint/lib/rules/valid-typeof.js
@@ -29,7 +29,11 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+ messages: {
+ invalidValue: "Invalid typeof comparison value.",
+ notString: "Typeof comparisons should be to string literals."
+ }
},
create(context) {
@@ -65,10 +69,10 @@ module.exports = {
const value = sibling.type === "Literal" ? sibling.value : sibling.quasis[0].value.cooked;
if (VALID_TYPES.indexOf(value) === -1) {
- context.report({ node: sibling, message: "Invalid typeof comparison value." });
+ context.report({ node: sibling, messageId: "invalidValue" });
}
} else if (requireStringLiterals && !isTypeofExpression(sibling)) {
- context.report({ node: sibling, message: "Typeof comparisons should be to string literals." });
+ context.report({ node: sibling, messageId: "notString" });
}
}
}
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 d69c223388..92d483b6ec 100644
--- a/tools/node_modules/eslint/lib/rules/vars-on-top.js
+++ b/tools/node_modules/eslint/lib/rules/vars-on-top.js
@@ -20,11 +20,13 @@ module.exports = {
url: "https://eslint.org/docs/rules/vars-on-top"
},
- schema: []
+ schema: [],
+ messages: {
+ top: "All 'var' declarations must be at the top of the function scope."
+ }
},
create(context) {
- const errorMessage = "All 'var' declarations must be at the top of the function scope.";
//--------------------------------------------------------------------------
// Helpers
@@ -103,7 +105,7 @@ module.exports = {
*/
function globalVarCheck(node, parent) {
if (!isVarOnTop(node, parent.body)) {
- context.report({ node, message: errorMessage });
+ context.report({ node, messageId: "top" });
}
}
@@ -118,7 +120,7 @@ module.exports = {
if (!(/Function/.test(grandParent.type) &&
parent.type === "BlockStatement" &&
isVarOnTop(node, parent.body))) {
- context.report({ node, message: errorMessage });
+ context.report({ node, messageId: "top" });
}
}
diff --git a/tools/node_modules/eslint/lib/rules/wrap-iife.js b/tools/node_modules/eslint/lib/rules/wrap-iife.js
index ce272235b4..628ebf532e 100644
--- a/tools/node_modules/eslint/lib/rules/wrap-iife.js
+++ b/tools/node_modules/eslint/lib/rules/wrap-iife.js
@@ -41,7 +41,12 @@ module.exports = {
}
],
- fixable: "code"
+ fixable: "code",
+ messages: {
+ wrapInvocation: "Wrap an immediate function invocation in parentheses.",
+ wrapExpression: "Wrap only the function expression in parens.",
+ moveInvocation: "Move the invocation into the parens that contain the function."
+ }
},
create(context) {
@@ -99,7 +104,7 @@ module.exports = {
if (!callExpressionWrapped && !functionExpressionWrapped) {
context.report({
node,
- message: "Wrap an immediate function invocation in parentheses.",
+ messageId: "wrapInvocation",
fix(fixer) {
const nodeToSurround = style === "inside" ? innerNode : node;
@@ -109,7 +114,7 @@ module.exports = {
} else if (style === "inside" && !functionExpressionWrapped) {
context.report({
node,
- message: "Wrap only the function expression in parens.",
+ messageId: "wrapExpression",
fix(fixer) {
/*
@@ -129,7 +134,7 @@ module.exports = {
} else if (style === "outside" && !callExpressionWrapped) {
context.report({
node,
- message: "Move the invocation into the parens that contain the function.",
+ messageId: "moveInvocation",
fix(fixer) {
/*
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 e7712a51db..20b8e9ea91 100644
--- a/tools/node_modules/eslint/lib/rules/yield-star-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/yield-star-spacing.js
@@ -38,7 +38,13 @@ module.exports = {
}
]
}
- ]
+ ],
+ messages: {
+ missingBefore: "Missing space before *.",
+ missingAfter: "Missing space after *.",
+ unexpectedBefore: "Unexpected space before *.",
+ unexpectedAfter: "Unexpected space after *."
+ }
},
create(context) {
@@ -70,16 +76,17 @@ module.exports = {
const after = leftToken.value === "*";
const spaceRequired = mode[side];
const node = after ? leftToken : rightToken;
- const type = spaceRequired ? "Missing" : "Unexpected";
- const message = "{{type}} space {{side}} *.";
+ let messageId = "";
+
+ if (spaceRequired) {
+ messageId = side === "before" ? "missingBefore" : "missingAfter";
+ } else {
+ messageId = side === "before" ? "unexpectedBefore" : "unexpectedAfter";
+ }
context.report({
node,
- message,
- data: {
- type,
- side
- },
+ messageId,
fix(fixer) {
if (spaceRequired) {
if (after) {
diff --git a/tools/node_modules/eslint/lib/rules/yoda.js b/tools/node_modules/eslint/lib/rules/yoda.js
index 8789c001ef..83c435a4f7 100644
--- a/tools/node_modules/eslint/lib/rules/yoda.js
+++ b/tools/node_modules/eslint/lib/rules/yoda.js
@@ -179,7 +179,10 @@ module.exports = {
}
],
- fixable: "code"
+ fixable: "code",
+ messages: {
+ expected: "Expected literal to be on the {{expectedSide}} side of {{operator}}."
+ }
},
create(context) {
@@ -297,7 +300,7 @@ module.exports = {
) {
context.report({
node,
- message: "Expected literal to be on the {{expectedSide}} side of {{operator}}.",
+ messageId: "expected",
data: {
operator: node.operator,
expectedSide: always ? "left" : "right"
diff --git a/tools/node_modules/eslint/node_modules/ajv/README.md b/tools/node_modules/eslint/node_modules/ajv/README.md
index 15b1e6a18e..af9b837828 100644
--- a/tools/node_modules/eslint/node_modules/ajv/README.md
+++ b/tools/node_modules/eslint/node_modules/ajv/README.md
@@ -63,7 +63,7 @@ ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
- [Validation errors](#validation-errors)
- [Plugins](#plugins)
- [Related packages](#related-packages)
-- [Packages using Ajv](#some-packages-using-ajv)
+- [Some packages using Ajv](#some-packages-using-ajv)
- [Tests, Contributing, History, License](#tests)
@@ -699,13 +699,11 @@ The schema above is also more efficient - it will compile into a faster function
With [option `useDefaults`](#options) Ajv will assign values from `default` keyword in the schemas of `properties` and `items` (when it is the array of schemas) to the missing properties and items.
-This option modifies original data.
-
-__Please note__: by default the default value is inserted in the generated validation code as a literal (starting from v4.0), so the value inserted in the data will be the deep clone of the default in the schema.
+With the option value `"empty"` properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults.
-If you need to insert the default value in the data by reference pass the option `useDefaults: "shared"`.
+This option modifies original data.
-Inserting defaults by reference can be faster (in case you have an object in `default`) and it allows to have dynamic values in defaults, e.g. timestamp, without recompiling the schema. The side effect is that modifying the default value in any validated data instance will change the default in the schema and in other validated data instances. See example 3 below.
+__Please note__: the default value is inserted in the generated validation code as a literal, so the value inserted in the data will be the deep clone of the default in the schema.
Example 1 (`default` in `properties`):
@@ -748,32 +746,6 @@ console.log(validate(data)); // true
console.log(data); // [ 1, "foo" ]
```
-Example 3 (inserting "defaults" by reference):
-
-```javascript
-var ajv = new Ajv({ useDefaults: 'shared' });
-
-var schema = {
- properties: {
- foo: {
- default: { bar: 1 }
- }
- }
-}
-
-var validate = ajv.compile(schema);
-
-var data = {};
-console.log(validate(data)); // true
-console.log(data); // { foo: { bar: 1 } }
-
-data.foo.bar = 2;
-
-var data2 = {};
-console.log(validate(data2)); // true
-console.log(data2); // { foo: { bar: 2 } }
-```
-
`default` keywords in other cases are ignored:
- not in `properties` or `items` subschemas
@@ -1115,8 +1087,9 @@ Defaults:
- `"failing"` - additional properties that fail schema validation will be removed (where `additionalProperties` keyword is `false` or schema).
- _useDefaults_: replace missing properties and items with the values from corresponding `default` keywords. Default behaviour is to ignore `default` keywords. This option is not used if schema is added with `addMetaSchema` method. See examples in [Assigning defaults](#assigning-defaults). Option values:
- `false` (default) - do not use defaults
- - `true` - insert defaults by value (safer and slower, object literal is used).
- - `"shared"` - insert defaults by reference (faster). If the default is an object, it will be shared by all instances of validated data. If you modify the inserted default in the validated data, it will be modified in the schema as well.
+ - `true` - insert defaults by value (object literal is used).
+ - `"empty"` - use defaults for properties and items that are present and equal to `null` or `""` (an empty string).
+ - `"shared"` (deprecated) - insert defaults by reference. If the default is an object, it will be shared by all instances of validated data. If you modify the inserted default in the validated data, it will be modified in the schema as well.
- _coerceTypes_: change data type of data to match `type` keyword. See the example in [Coercing data types](#coercing-data-types) and [coercion rules](https://github.com/epoberezkin/ajv/blob/master/COERCION.md). Option values:
- `false` (default) - no type coercion.
- `true` - coerce scalar data types.
@@ -1228,7 +1201,7 @@ If you have published a useful plugin please submit a PR to add it to the next s
- [ajv-errors](https://github.com/epoberezkin/ajv-errors) - plugin for custom error messages
- [ajv-i18n](https://github.com/epoberezkin/ajv-i18n) - internationalised error messages
- [ajv-istanbul](https://github.com/epoberezkin/ajv-istanbul) - plugin to instrument generated validation code to measure test coverage of your schemas
-- [ajv-keywords](https://github.com/epoberezkin/ajv-keywords) - plugin with custom validation keywords (if/then/else, select, typeof, etc.)
+- [ajv-keywords](https://github.com/epoberezkin/ajv-keywords) - plugin with custom validation keywords (select, typeof, etc.)
- [ajv-merge-patch](https://github.com/epoberezkin/ajv-merge-patch) - plugin with keywords $merge and $patch
- [ajv-pack](https://github.com/epoberezkin/ajv-pack) - produces a compact module exporting validation functions
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 6b281fa8b0..6b810ae26a 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
@@ -1434,7 +1434,8 @@ module.exports = function generate__limit(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -1520,7 +1521,8 @@ module.exports = function generate__limit(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -1598,7 +1600,8 @@ module.exports = function generate__limitItems(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -1681,7 +1684,8 @@ module.exports = function generate__limitLength(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -1759,7 +1763,8 @@ module.exports = function generate__limitProperties(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -1875,7 +1880,8 @@ module.exports = function generate_anyOf(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
@@ -1952,7 +1958,8 @@ module.exports = function generate_const(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -2031,7 +2038,8 @@ module.exports = function generate_contains(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -2207,7 +2215,8 @@ module.exports = function generate_custom(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -2253,7 +2262,8 @@ module.exports = function generate_custom(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
@@ -2362,7 +2372,8 @@ module.exports = function generate_dependencies(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -2499,7 +2510,8 @@ module.exports = function generate_enum(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -2650,7 +2662,8 @@ module.exports = function generate_format(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -2751,7 +2764,8 @@ module.exports = function generate_if(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
@@ -2852,7 +2866,8 @@ module.exports = function generate_items(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3010,7 +3025,8 @@ module.exports = function generate_multipleOf(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3076,7 +3092,8 @@ module.exports = function generate_not(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3171,7 +3188,8 @@ module.exports = function generate_oneOf(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
@@ -3245,7 +3263,8 @@ module.exports = function generate_pattern(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3373,7 +3392,8 @@ module.exports = function generate_properties(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3503,7 +3523,8 @@ module.exports = function generate_properties(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3655,7 +3676,8 @@ module.exports = function generate_propertyNames(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
@@ -3717,7 +3739,8 @@ module.exports = function generate_ref(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3891,7 +3914,8 @@ module.exports = function generate_required(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -3950,7 +3974,8 @@ module.exports = function generate_required(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -4135,7 +4160,8 @@ module.exports = function generate_uniqueItems(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -4208,7 +4234,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -4364,7 +4391,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -4411,7 +4439,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -4460,7 +4489,11 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
var $sch = $schema[$propertyKey];
if ($sch.default !== undefined) {
var $passData = $data + it.util.getProperty($propertyKey);
- out += ' if (' + ($passData) + ' === undefined) ' + ($passData) + ' = ';
+ out += ' if (' + ($passData) + ' === undefined ';
+ if (it.opts.useDefaults == 'empty') {
+ out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' ';
+ }
+ out += ' ) ' + ($passData) + ' = ';
if (it.opts.useDefaults == 'shared') {
out += ' ' + (it.useDefault($sch.default)) + ' ';
} else {
@@ -4479,7 +4512,11 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
$sch = arr4[$i += 1];
if ($sch.default !== undefined) {
var $passData = $data + '[' + $i + ']';
- out += ' if (' + ($passData) + ' === undefined) ' + ($passData) + ' = ';
+ out += ' if (' + ($passData) + ' === undefined ';
+ if (it.opts.useDefaults == 'empty') {
+ out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' ';
+ }
+ out += ' ) ' + ($passData) + ' = ';
if (it.opts.useDefaults == 'shared') {
out += ' ' + (it.useDefault($sch.default)) + ' ';
} else {
@@ -4547,7 +4584,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js
index f421f8df1a..91d0ee93f8 100644
--- a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js
+++ b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js
@@ -1,3 +1,3 @@
-/* ajv 6.6.2: Another JSON Schema Validator */
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Ajv=e()}}(function(){return function o(i,n,l){function u(r,e){if(!n[r]){if(!i[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(c)return c(r,!0);var a=new Error("Cannot find module '"+r+"'");throw a.code="MODULE_NOT_FOUND",a}var s=n[r]={exports:{}};i[r][0].call(s.exports,function(e){return u(i[r][1][e]||e)},s,s.exports,o,i,n,l)}return n[r].exports}for(var c="function"==typeof require&&require,e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,r,t){"use strict";var a=r.exports=function(){this._cache={}};a.prototype.put=function(e,r){this._cache[e]=r},a.prototype.get=function(e){return this._cache[e]},a.prototype.del=function(e){delete this._cache[e]},a.prototype.clear=function(){this._cache={}}},{}],2:[function(e,r,t){"use strict";var s=e("./error_classes").MissingRef;r.exports=function t(r,i,a){var n=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof i&&(a=i,i=void 0);var e=l(r).then(function(){var e=n._addSchema(r,void 0,i);return e.validate||function(o){try{return n._compile(o)}catch(e){if(e instanceof s)return function(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a);return t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return u(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}(e);throw e}}(e)});a&&e.then(function(e){a(null,e)},a);return e;function l(e){var r=e.$schema;return r&&!n.getSchema(r)?t.call(n,{$ref:r},!0):Promise.resolve()}function u(o){try{return n._compile(o)}catch(e){if(e instanceof s)return function(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a);return t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return u(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}(e);throw e}}}},{"./error_classes":3}],3:[function(e,r,t){"use strict";var a=e("./resolve");function s(e,r,t){this.message=t||s.message(e,r),this.missingRef=a.url(e,r),this.missingSchema=a.normalizeId(a.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}r.exports={Validation:o(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:o(s)},s.message=function(e,r){return"can't resolve reference "+r+" from id "+e}},{"./resolve":6}],4:[function(e,r,t){"use strict";var a=e("./util"),o=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31],n=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,s=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,l=/^(?:[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,u=/^(?:(?:[^\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,c=/^(?:(?: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,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,f=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function g(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\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|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,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:s,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:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p},m.full={date:v,time:g,"date-time":function(e){var r=e.split(y);return 2==r.length&&v(r[0])&&g(r[1],!0)},uri:function(e){return P.test(e)&&l.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":u,url:c,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&&s.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:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p};var y=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var $=e("./resolve"),D=e("./util"),j=e("./error_classes"),l=e("fast-json-stable-stringify"),O=e("../dotjs/validate"),I=D.ucs2length,A=e("fast-deep-equal"),C=j.Validation;function k(e,r,t){for(var a=0;a<this._compilations.length;a++){var s=this._compilations[a];if(s.schema==e&&s.root==r&&s.baseId==t)return a}return-1}function L(e,r){return"var pattern"+e+" = new RegExp("+D.toQuotedString(r[e])+");"}function z(e){return"var default"+e+" = defaults["+e+"];"}function T(e,r){return void 0===r[e]?"":"var refVal"+e+" = refVal["+e+"];"}function N(e){return"var customRule"+e+" = customRules["+e+"];"}function q(e,r){if(!e.length)return"";for(var t="",a=0;a<e.length;a++)t+=r(a,e);return t}r.exports=function u(e,c,h,r){var d=this,f=this._opts,p=[void 0],m={},v=[],t={},g=[],a={},y=[];c=c||{schema:e,refVal:p,refs:m};var s=function(e,r,t){var a=k.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:(this._compilations[a]={schema:e,root:r,baseId:t},!1)}}.call(this,e,c,r);var o=this._compilations[s.index];if(s.compiling)return o.callValidate=function e(){var r=o.validate;var t=r.apply(this,arguments);e.errors=r.errors;return t};var P=this._formats;var E=this.RULES;try{var i=w(e,c,h,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,f.sourceCode&&(n.source=i.source)),i}finally{(function(e,r,t){var a=k.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}).call(this,e,c,r)}function w(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=c.schema)return u.call(d,e,r,t,a);var o,i=!0===e.$async,n=O({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:E,validate:O,util:D,resolve:$,resolveRef:S,usePattern:F,useDefault:x,useCustomRule:R,opts:f,formats:P,logger:d.logger,self:d});n=q(p,T)+q(v,L)+q(g,z)+q(y,N)+n,f.processCode&&(n=f.processCode(n));try{var l=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",n);o=l(d,E,P,c,p,g,y,A,I,C),p[0]=o}catch(e){throw d.logger.error("Error compiling schema, function code:",n),e}return o.schema=e,o.errors=null,o.refs=m,o.refVal=p,o.root=s?o:r,i&&(o.$async=!0),!0===f.sourceCode&&(o.source={code:n,patterns:v,defaults:g}),o}function S(e,r,t){r=$.url(e,r);var a,s,o=m[r];if(void 0!==o)return _(a=p[o],s="refVal["+o+"]");if(!t&&c.refs){var i=c.refs[r];if(void 0!==i)return s=b(r,a=c.refVal[i]),_(a,s)}s=b(r);var n=$.call(d,w,c,r);if(void 0===n){var l=h&&h[r];l&&(n=$.inlineRef(l,f.inlineRefs)?l:u.call(d,l,c,h,e))}if(void 0!==n)return p[m[r]]=n,_(n,s);delete m[r]}function b(e,r){var t=p.length;return p[t]=r,"refVal"+(m[e]=t)}function _(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function F(e){var r=t[e];return void 0===r&&(r=t[e]=v.length,v[r]=e),"pattern"+r}function x(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return D.toQuotedString(e);case"object":if(null===e)return"null";var r=l(e),t=a[r];return void 0===t&&(t=a[r]=g.length,g[t]=e),"default"+t}}function R(e,r,t,a){var s=e.definition.validateSchema;if(s&&!1!==d._opts.validateSchema){var o=s(r);if(!o){var i="keyword schema is invalid: "+d.errorsText(s.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,u=e.definition.inline,c=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(c)n=c.call(d,r,t,a),!1!==f.validateSchema&&d.validateSchema(n,!0);else if(u)n=u.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=y.length;return{code:"customRule"+h,validate:y[h]=n}}}},{"../dotjs/validate":37,"./error_classes":3,"./resolve":6,"./util":10,"fast-deep-equal":41,"fast-json-stable-stringify":42}],6:[function(e,r,t){"use strict";var m=e("uri-js"),v=e("fast-deep-equal"),g=e("./util"),l=e("./schema_obj"),a=e("json-schema-traverse");function u(e,r,t){var a=this._refs[t];if("string"==typeof a){if(!this._refs[a])return u.call(this,e,r,a);a=this._refs[a]}if((a=a||this._schemas[t])instanceof l)return d(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var s,o,i,n=c.call(this,r,t);return n&&(s=n.schema,r=n.root,i=n.baseId),s instanceof l?o=s.validate||e.call(this,s.schema,r,void 0,i):void 0!==s&&(o=d(s,this._opts.inlineRefs)?s:e.call(this,s,r,void 0,i)),o}function c(e,r){var t=m.parse(r),a=f(t),s=y(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==s){var o=P(a),i=this._refs[o];if("string"==typeof i)return function(e,r,t){var a=c.call(this,e,r);if(a){var s=a.schema,o=a.baseId;e=a.root;var i=this._getId(s);return i&&(o=p(o,i)),n.call(this,t,o,s,e)}}.call(this,e,i,t);if(i instanceof l)i.validate||this._compile(i),e=i;else{if(!((i=this._schemas[o])instanceof l))return;if(i.validate||this._compile(i),o==P(r))return{schema:i,root:e,baseId:s};e=i}if(!e.schema)return;s=y(this._getId(e.schema))}return n.call(this,t,s,e.schema,e)}(r.exports=u).normalizeId=P,u.fullPath=y,u.url=p,u.ids=function(e){var r=P(this._getId(e)),h={"":r},d={"":y(r,!1)},f={},p=this;return a(e,{allKeys:!0},function(e,r,t,a,s,o,i){if(""!==r){var n=p._getId(e),l=h[a],u=d[a]+"/"+s;if(void 0!==i&&(u+="/"+("number"==typeof i?i:g.escapeFragment(i))),"string"==typeof n){n=l=P(l?m.resolve(l,n):n);var c=p._refs[n];if("string"==typeof c&&(c=p._refs[c]),c&&c.schema){if(!v(e,c.schema))throw new Error('id "'+n+'" resolves to more than one schema')}else if(n!=P(u))if("#"==n[0]){if(f[n]&&!v(e,f[n]))throw new Error('id "'+n+'" resolves to more than one schema');f[n]=e}else p._refs[n]=u}h[r]=l,d[r]=u}}),f},u.inlineRef=d,u.schema=c;var h=g.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function n(e,r,t,a){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var s=e.fragment.split("/"),o=1;o<s.length;o++){var i=s[o];if(i){if(void 0===(t=t[i=g.unescapeFragment(i)]))break;var n;if(!h[i]&&((n=this._getId(t))&&(r=p(r,n)),t.$ref)){var l=p(r,t.$ref),u=c.call(this,a,l);u&&(t=u.schema,a=u.root,r=u.baseId)}}}return void 0!==t&&t!==a.schema?{schema:t,root:a,baseId:r}:void 0}}var i=g.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function d(e,r){return!1!==r&&(void 0===r||!0===r?function e(r){var t;if(Array.isArray(r)){for(var a=0;a<r.length;a++)if("object"==typeof(t=r[a])&&!e(t))return!1}else for(var s in r){if("$ref"==s)return!1;if("object"==typeof(t=r[s])&&!e(t))return!1}return!0}(e):r?function e(r){var t,a=0;if(Array.isArray(r)){for(var s=0;s<r.length;s++)if("object"==typeof(t=r[s])&&(a+=e(t)),a==1/0)return 1/0}else for(var o in r){if("$ref"==o)return 1/0;if(i[o])a++;else if("object"==typeof(t=r[o])&&(a+=e(t)+1),a==1/0)return 1/0}return a}(e)<=r:void 0)}function y(e,r){return!1!==r&&(e=P(e)),f(m.parse(e))}function f(e){return m.serialize(e).split("#")[0]+"#"}var s=/#\/?$/;function P(e){return e?e.replace(s,""):""}function p(e,r){return r=P(r),m.resolve(e,r)}},{"./schema_obj":8,"./util":10,"fast-deep-equal":41,"json-schema-traverse":43,"uri-js":44}],7:[function(e,r,t){"use strict";var o=e("../dotjs"),i=e("./util").toHash;r.exports=function(){var a=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],s=["type","$comment"];return a.all=i(s),a.types=i(["number","integer","string","array","object","boolean","null"]),a.forEach(function(e){e.rules=e.rules.map(function(e){var r;if("object"==typeof e){var t=Object.keys(e)[0];r=e[t],e=t,r.forEach(function(e){s.push(e),a.all[e]=!0})}return s.push(e),a.all[e]={keyword:e,code:o[e],implements:r}}),a.all.$comment={keyword:"$comment",code:o.$comment},e.type&&(a.types[e.type]=e)}),a.keywords=i(s.concat(["$schema","$id","id","$data","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),a.custom={},a}},{"../dotjs":26,"./util":10}],8:[function(e,r,t){"use strict";var a=e("./util");r.exports=function(e){a.copy(e,this)}},{"./util":10}],9:[function(e,r,t){"use strict";r.exports=function(e){for(var r,t=0,a=e.length,s=0;s<a;)t++,55296<=(r=e.charCodeAt(s++))&&r<=56319&&s<a&&56320==(64512&(r=e.charCodeAt(s)))&&s++;return t}},{}],10:[function(e,r,t){"use strict";function o(e,r,t){var a=t?" !== ":" === ",s=t?" || ":" && ",o=t?"!":"",i=t?"":"!";switch(e){case"null":return r+a+"null";case"array":return o+"Array.isArray("+r+")";case"object":return"("+o+r+s+"typeof "+r+a+'"object"'+s+i+"Array.isArray("+r+"))";case"integer":return"(typeof "+r+a+'"number"'+s+i+"("+r+" % 1)"+s+r+a+r+")";default:return"typeof "+r+a+'"'+e+'"'}}r.exports={copy:function(e,r){for(var t in r=r||{},e)r[t]=e[t];return r},checkDataType:o,checkDataTypes:function(e,r){switch(e.length){case 1:return o(e[0],r,!0);default:var t="",a=n(e);for(var s in a.array&&a.object&&(t=a.null?"(":"(!"+r+" || ",t+="typeof "+r+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)t+=(t?" && ":"")+o(s,r,!0);return t}},coerceToTypes:function(e,r){if(Array.isArray(r)){for(var t=[],a=0;a<r.length;a++){var s=r[a];i[s]?t[t.length]=s:"array"===e&&"array"===s&&(t[t.length]=s)}if(t.length)return t}else{if(i[r])return[r];if("array"===e&&"array"===r)return["array"]}},toHash:n,getProperty:h,escapeQuotes:l,equal:e("fast-deep-equal"),ucs2length:e("./ucs2length"),varOccurences:function(e,r){var t=e.match(new RegExp(r+="[^0-9]","g"));return t?t.length:0},varReplace:function(e,r,t){return r+="([^0-9])",t=t.replace(/\$/g,"$$$$"),e.replace(new RegExp(r,"g"),t+"$1")},cleanUpCode:function(e){return e.replace(u,"").replace(c,"").replace(d,"if (!($1))")},finalCleanUpCode:function(e,r){var t=e.match(f);t&&2==t.length&&(e=r?e.replace(m,"").replace(y,P):e.replace(p,"").replace(v,g));return(t=e.match(E))&&3===t.length?e.replace(w,""):e},schemaHasRules:function(e,r){if("boolean"==typeof e)return!e;for(var t in e)if(r[t])return!0},schemaHasRulesExcept:function(e,r,t){if("boolean"==typeof e)return!e&&"not"!=t;for(var a in e)if(a!=t&&r[a])return!0},toQuotedString:S,getPathExpr:function(e,r,t,a){return F(e,t?"'/' + "+r+(a?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):a?"'[' + "+r+" + ']'":"'[\\'' + "+r+" + '\\']'")},getPath:function(e,r,t){var a=S(t?"/"+x(r):h(r));return F(e,a)},getData:function(e,r,t){var a,s,o,i;if(""===e)return"rootData";if("/"==e[0]){if(!b.test(e))throw new Error("Invalid JSON-pointer: "+e);s=e,o="rootData"}else{if(!(i=e.match(_)))throw new Error("Invalid JSON-pointer: "+e);if(a=+i[1],"#"==(s=i[2])){if(r<=a)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(r<a)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(o="data"+(r-a||""),!s)return o}for(var n=o,l=s.split("/"),u=0;u<l.length;u++){var c=l[u];c&&(o+=h(R(c)),n+=" && "+o)}return n},unescapeFragment:function(e){return R(decodeURIComponent(e))},unescapeJsonPointer:R,escapeFragment:function(e){return encodeURIComponent(x(e))},escapeJsonPointer:x};var i=n(["string","number","integer","boolean","null"]);function n(e){for(var r={},t=0;t<e.length;t++)r[e[t]]=!0;return r}var a=/^[a-z$_][a-z$_0-9]*$/i,s=/'|\\/g;function h(e){return"number"==typeof e?"["+e+"]":a.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(s,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var u=/else\s*{\s*}/g,c=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,d=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var f=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,m=/var errors = 0;|var vErrors = null;/g,v="return errors === 0;",g="validate.errors = null; return true;",y=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,P="return data;",E=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,w=/if \(rootData === undefined\) rootData = data;/;function S(e){return"'"+l(e)+"'"}var b=/^\/(?:[^~]|~0|~1)*$/,_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function F(e,r){return'""'==e?r:(e+" + "+r).replace(/' \+ '/g,"")}function x(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function R(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},{"./ucs2length":9,"fast-deep-equal":41}],11:[function(e,r,t){"use strict";var l=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];r.exports=function(e,r){for(var t=0;t<r.length;t++){e=JSON.parse(JSON.stringify(e));var a,s=r[t].split("/"),o=e;for(a=1;a<s.length;a++)o=o[s[a]];for(a=0;a<l.length;a++){var i=l[a],n=o[i];n&&(o[i]={anyOf:[n,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},{}],12:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="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;var f="maximum"==r,p=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[p],v=e.opts.$data&&m&&m.$data,g=f?"<":">",y=f?">":"<",P=void 0;if(v){var E=e.util.getData(m.$data,i,e.dataPathArr),w="exclusive"+o,S="exclType"+o,b="exclIsNumber"+o,_="' + "+(R="op"+o)+" + '";s+=" var schemaExcl"+o+" = "+E+"; ";var F;P=p;(F=F||[]).push(s+=" var "+w+"; var "+S+" = typeof "+(E="schemaExcl"+o)+"; if ("+S+" != 'boolean' && "+S+" != 'undefined' && "+S+" != 'number') { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var x=s;s=F.pop(),s+=!e.compositeRule&&c?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+=" "+S+" == 'number' ? ( ("+w+" = "+a+" === undefined || "+E+" "+g+"= "+a+") ? "+h+" "+y+"= "+E+" : "+h+" "+y+" "+a+" ) : ( ("+w+" = "+E+" === true) ? "+h+" "+y+"= "+a+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { var op"+o+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===n&&(u=e.errSchemaPath+"/"+(P=p),a=E,d=v)}else{_=g;if((b="number"==typeof m)&&d){var R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" ( "+a+" === undefined || "+m+" "+g+"= "+a+" ? "+h+" "+y+"= "+m+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { "}else{b&&void 0===n?(w=!0,u=e.errSchemaPath+"/"+(P=p),a=m,y+="="):(b&&(a=Math[f?"min":"max"](m,n)),m===(!b||a)?(w=!0,u=e.errSchemaPath+"/"+(P=p),y+="="):(w=!1,_+="="));R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+h+" "+y+" "+a+" || "+h+" !== "+h+") { "}}P=P||r,(F=F||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+R+", limit: "+a+", exclusive: "+w+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be "+_+" ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";x=s;return s=F.pop(),s+=!e.compositeRule&&c?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+=" } ",c&&(s+=" else { "),s}},{}],13:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="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') || ");var f=r,p=p||[];p.push(s+=" "+h+".length "+("maxItems"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxItems"==r?"more":"fewer",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: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="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?" "+h+".length ":" ucs2length("+h+") ";var f=r,p=p||[];p.push(s+=" "+("maxLength"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="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') || ");var f=r,p=p||[];p.push(s+=" Object.keys("+h+").length "+("maxProperties"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxProperties"==r?"more":"fewer",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: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(s+=" else { "),s}},{}],16:[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),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,f=s;if(f)for(var p,m=-1,v=f.length-1;m<v;)p=f[m+=1],e.util.schemaHasRules(p,e.RULES.all)&&(d=!1,l.schema=p,l.schemaPath=o+"["+m+"]",l.errSchemaPath=i+"/"+m,a+=" "+e.validate(l)+" ",l.baseId=h,n&&(a+=" if ("+c+") { ",u+="}"));return n&&(a+=d?" if (true) { ":" "+u.slice(0,-1)+" "),a=e.util.cleanUpCode(a)}},{}],17:[function(e,r,t){"use strict";r.exports=function(r,e,t){var a=" ",s=r.level,o=r.dataLevel,i=r.schema[e],n=r.schemaPath+r.util.getProperty(e),l=r.errSchemaPath+"/"+e,u=!r.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=r.util.copy(r),p="";f.level++;var m="valid"+f.level;if(i.every(function(e){return r.util.schemaHasRules(e,r.RULES.all)})){var v=f.baseId;a+=" var "+d+" = errors; var "+h+" = false; ";var g=r.compositeRule;r.compositeRule=f.compositeRule=!0;var y=i;if(y)for(var P,E=-1,w=y.length-1;E<w;)P=y[E+=1],f.schema=P,f.schemaPath=n+"["+E+"]",f.errSchemaPath=l+"/"+E,a+=" "+r.validate(f)+" ",f.baseId=v,a+=" "+h+" = "+h+" || "+m+"; if (!"+h+") { ",p+="}";r.compositeRule=f.compositeRule=g,a+=" "+p+" if (!"+h+") { var err = ",!1!==r.createErrors?(a+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+r.errorPath+" , schemaPath: "+r.util.toQuotedString(l)+" , params: {} ",!1!==r.opts.messages&&(a+=" , message: 'should match some schema in anyOf' "),r.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+r.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!r.compositeRule&&u&&(a+=r.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",r.opts.allErrors&&(a+=" } "),a=r.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a}},{}],18:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.errSchemaPath+"/"+r,o=e.util.toQuotedString(e.schema[r]);return!0===e.opts.$comment?a+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(a+=" self._opts.$comment("+o+", "+e.util.toQuotedString(s)+", validate.root.schema);"),a}},{}],19:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; "),d||(a+=" var schema"+s+" = validate.schema"+n+";");var f=f||[];f.push(a+="var "+h+" = equal("+c+", schema"+s+"); if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var p=a;return a=f.pop(),a+=!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++; ",a+=" }",u&&(a+=" else { "),a}},{}],20:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m="i"+s,v=f.dataLevel=e.dataLevel+1,g="data"+v,y=e.baseId,P=e.util.schemaHasRules(i,e.RULES.all);if(a+="var "+d+" = errors;var "+h+";",P){var E=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+p+" = false; for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var w=c+"["+m+"]";f.dataPathArr[v]=m;var S=e.validate(f);f.baseId=y,e.util.varOccurences(S,g)<2?a+=" "+e.util.varReplace(S,g,w)+" ":a+=" var "+g+" = "+w+"; "+S+" ",a+=" if ("+p+") break; } ",e.compositeRule=f.compositeRule=E,a+=" if (!"+p+") {"}else a+=" if ("+c+".length == 0) {";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var _=a;return a=b.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",P&&(a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)}},{}],21:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.level,n=e.dataLevel,l=e.schema[r],u=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,d="data"+(n||""),f="valid"+i,p="errs__"+i,m=e.opts.$data&&l&&l.$data;m?(o+=" var schema"+i+" = "+e.util.getData(l.$data,n,e.dataPathArr)+"; ",s="schema"+i):s=l;var v,g,y,P,E,w=this,S="definition"+i,b=w.definition,_="";if(m&&b.$data){var F=b.validateSchema;o+=" var "+S+" = RULES.custom['"+r+"'].definition; var "+(E="keywordValidate"+i)+" = "+S+".validate;"}else{if(!(P=e.useCustomRule(w,l,e.schema,e)))return;s="validate.schema"+u,E=P.code,v=b.compile,g=b.inline,y=b.macro}var x=E+".errors",R="i"+i,$="ruleErr"+i,D=b.async;if(D&&!e.async)throw new Error("async keyword in sync schema");if(g||y||(o+=x+" = null;"),o+="var "+p+" = errors;var "+f+";",m&&b.$data&&(_+="}",o+=" if ("+s+" === undefined) { "+f+" = true; } else { ",F&&(_+="}",o+=" "+f+" = "+S+".validateSchema("+s+"); if ("+f+") { ")),g)o+=b.statements?" "+P.validate+" ":" "+f+" = "+P.validate+"; ";else if(y){var j=e.util.copy(e);_="";j.level++;var O="valid"+j.level;j.schema=P.validate,j.schemaPath="";var I=e.compositeRule;e.compositeRule=j.compositeRule=!0;var A=e.validate(j).replace(/validate\.schema/g,E);e.compositeRule=j.compositeRule=I,o+=" "+A}else{(z=z||[]).push(o),o="",o+=" "+E+".call( ",o+=e.opts.passContext?"this":"self",o+=v||!1===b.schema?" , "+d+" ":" , "+s+" , "+d+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var C=n?"data"+(n-1||""):"parentData",k=n?e.dataPathArr[n]:"parentDataProperty",L=o+=" , "+C+" , "+k+" , rootData ) ";o=z.pop(),!1===b.errors?(o+=" "+f+" = ",D&&(o+="await "),o+=L+"; "):o+=D?" var "+(x="customErrors"+i)+" = null; try { "+f+" = await "+L+"; } catch (e) { "+f+" = false; if (e instanceof ValidationError) "+x+" = e.errors; else throw e; } ":" "+x+" = null; "+f+" = "+L+"; "}if(b.modifying&&(o+=" if ("+C+") "+d+" = "+C+"["+k+"];"),o+=""+_,b.valid)h&&(o+=" if (true) { ");else{var z;o+=" if ( ",void 0===b.valid?(o+=" !",o+=y?""+O:""+f):o+=" "+!b.valid+" ",a=w.keyword,(z=z||[]).push(o+=") { "),(z=z||[]).push(o=""),o="",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var T=o;o=z.pop();var N=o+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+T+"]); ":" validate.errors = ["+T+"]; return false; ":" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";o=z.pop(),g?b.errors?"full"!=b.errors&&(o+=" for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } "):!1===b.errors?o+=" "+N+" ":(o+=" if ("+p+" == errors) { "+N+" } else { for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } "):y?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(o+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; ")):!1===b.errors?o+=" "+N+" ":(o+=" if (Array.isArray("+x+")) { if (vErrors === null) vErrors = "+x+"; else vErrors = vErrors.concat("+x+"); errors = vErrors.length; for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; "+$+'.schemaPath = "'+c+'"; ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } else { "+N+" } "),o+=" } ",h&&(o+=" else { ")}return o}},{}],22:[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,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m={},v={},g=e.opts.ownProperties;for(w in i){var y=i[w],P=Array.isArray(y)?v:m;P[w]=y}a+="var "+h+" = errors;";var E=e.errorPath;for(var w in a+="var missing"+s+";",v)if((P=v[w]).length){if(a+=" if ( "+c+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(w)+"') "),u){a+=" && ( ";var S=P;if(S)for(var b=-1,_=S.length-1;b<_;){j=S[b+=1],b&&(a+=" || "),a+=" ( ( "+(C=c+(A=e.util.getProperty(j)))+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(j)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?j:A)+") ) "}a+=")) { ";var F="missing"+s,x="' + "+F+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,F,!0):E+" + "+F);var R=R||[];R.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var $=a;a=R.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+$+"]); ":" validate.errors = ["+$+"]; return false; ":" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{a+=" ) { ";var D=P;if(D)for(var j,O=-1,I=D.length-1;O<I;){j=D[O+=1];var A=e.util.getProperty(j),C=(x=e.util.escapeQuotes(j),c+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,j,e.opts.jsonPointers)),a+=" if ( "+C+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(j)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}a+=" } ",u&&(f+="}",a+=" else { ")}e.errorPath=E;var k=d.baseId;for(var w in m){e.util.schemaHasRules(y=m[w],e.RULES.all)&&(a+=" "+p+" = true; if ( "+c+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(w)+"') "),a+=") { ",d.schema=y,d.schemaPath=n+e.util.getProperty(w),d.errSchemaPath=l+"/"+e.util.escapeFragment(w),a+=" "+e.validate(d)+" ",d.baseId=k,a+=" } ",u&&(a+=" if ("+p+") { ",f+="}"))}return u&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],23:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="i"+s,p="schema"+s;d||(a+=" var "+p+" = validate.schema"+n+";"),a+="var "+h+";",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=h+" = false;for (var "+f+"=0; "+f+"<"+p+".length; "+f+"++) if (equal("+c+", "+p+"["+f+"])) { "+h+" = true; break; }",d&&(a+=" } ");var m=m||[];m.push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var v=a;return a=m.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+v+"]); ":" validate.errors = ["+v+"]; return false; ":" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",u&&(a+=" else { "),a}},{}],24:[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,u=!e.opts.allErrors,c="data"+(o||"");if(!1===e.opts.format)return u&&(a+=" if (true) { "),a;var h,d=e.opts.$data&&i&&i.$data;d?(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ",h="schema"+s):h=i;var f=e.opts.unknownFormats,p=Array.isArray(f);if(d){a+=" var "+(m="format"+s)+" = formats["+h+"]; var "+(v="isObject"+s)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(g="formatType"+s)+" = "+v+" && "+m+".type || 'string'; if ("+v+") { ",e.async&&(a+=" var async"+s+" = "+m+".async; "),a+=" "+m+" = "+m+".validate; } if ( ",d&&(a+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),a+=" (","ignore"!=f&&(a+=" ("+h+" && !"+m+" ",p&&(a+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),a+=") || "),a+=" ("+m+" && "+g+" == '"+t+"' && !(typeof "+m+" == 'function' ? ",a+=e.async?" (async"+s+" ? await "+m+"("+c+") : "+m+"("+c+")) ":" "+m+"("+c+") ",a+=" : "+m+".test("+c+"))))) {"}else{var m;if(!(m=e.formats[i])){if("ignore"==f)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(a+=" if (true) { "),a;if(p&&0<=f.indexOf(i))return u&&(a+=" if (true) { "),a;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,g=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var y=!0===m.async;m=m.validate}if(g!=t)return u&&(a+=" if (true) { "),a;if(y){if(!e.async)throw new Error("async format in sync schema");a+=" if (!(await "+(P="formats"+e.util.getProperty(i)+".validate")+"("+c+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(i);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+c+") ":" "+P+".test("+c+") ",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?""+h:""+e.util.toQuotedString(i),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=d?"' + "+h+" + '":""+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: "+c+" "),a+=" } "):a+=" {} ";var w=a;return a=E.pop(),a+=!e.compositeRule&&u?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+=" } ",u&&(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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m=e.schema.then,v=e.schema.else,g=void 0!==m&&e.util.schemaHasRules(m,e.RULES.all),y=void 0!==v&&e.util.schemaHasRules(v,e.RULES.all),P=f.baseId;if(g||y){var E;f.createErrors=!1,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+d+" = errors; var "+h+" = true; ";var w=e.compositeRule;e.compositeRule=f.compositeRule=!0,a+=" "+e.validate(f)+" ",f.baseId=P,f.createErrors=!0,a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=f.compositeRule=w,g?(a+=" if ("+p+") { ",f.schema=e.schema.then,f.schemaPath=e.schemaPath+".then",f.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'then'; ":E="'then'",a+=" } ",y&&(a+=" else { ")):a+=" if (!"+p+") { ",y&&(f.schema=e.schema.else,f.schemaPath=e.schemaPath+".else",f.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'else'; ":E="'else'",a+=" } "),a+=" if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+E+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match \"' + "+E+" + '\" schema' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } ",u&&(a+=" else { "),a=e.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a}},{}],26:[function(e,r,t){"use strict";r.exports={$ref:e("./ref"),allOf:e("./allOf"),anyOf:e("./anyOf"),$comment:e("./comment"),const:e("./const"),contains:e("./contains"),dependencies:e("./dependencies"),enum:e("./enum"),format:e("./format"),if:e("./if"),items:e("./items"),maximum:e("./_limit"),minimum:e("./_limit"),maxItems:e("./_limitItems"),minItems:e("./_limitItems"),maxLength:e("./_limitLength"),minLength:e("./_limitLength"),maxProperties:e("./_limitProperties"),minProperties:e("./_limitProperties"),multipleOf:e("./multipleOf"),not:e("./not"),oneOf:e("./oneOf"),pattern:e("./pattern"),properties:e("./properties"),propertyNames:e("./propertyNames"),required:e("./required"),uniqueItems:e("./uniqueItems"),validate:e("./validate")}},{"./_limit":12,"./_limitItems":13,"./_limitLength":14,"./_limitProperties":15,"./allOf":16,"./anyOf":17,"./comment":18,"./const":19,"./contains":20,"./dependencies":22,"./enum":23,"./format":24,"./if":25,"./items":27,"./multipleOf":28,"./not":29,"./oneOf":30,"./pattern":31,"./properties":32,"./propertyNames":33,"./ref":34,"./required":35,"./uniqueItems":36,"./validate":37}],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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v="i"+s,g=f.dataLevel=e.dataLevel+1,y="data"+g,P=e.baseId;if(a+="var "+d+" = errors;var "+h+";",Array.isArray(i)){var E=e.schema.additionalItems;if(!1===E){a+=" "+h+" = "+c+".length <= "+i.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems";var S=S||[];S.push(a+=" if (!"+h+") { "),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: "+c+" "),a+=" } "):a+=" {} ";var b=a;a=S.pop(),a+=!e.compositeRule&&u?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=w,u&&(p+="}",a+=" else { ")}var _=i;if(_)for(var F,x=-1,R=_.length-1;x<R;)if(F=_[x+=1],e.util.schemaHasRules(F,e.RULES.all)){a+=" "+m+" = true; if ("+c+".length > "+x+") { ";var $=c+"["+x+"]";f.schema=F,f.schemaPath=n+"["+x+"]",f.errSchemaPath=l+"/"+x,f.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,!0),f.dataPathArr[g]=x;var D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",a+=" } ",u&&(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 ("+c+".length > "+i.length+") { for (var "+v+" = "+i.length+"; "+v+" < "+c+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=c+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",u&&(a+=" if (!"+m+") break; "),a+=" } } ",u&&(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+" < "+c+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=c+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",u&&(a+=" if (!"+m+") break; "),a+=" }"}return u&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],28:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="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+" = "+h+" / "+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+=" ) ");var f=f||[];f.push(s+=" ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var p=s;return s=f.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(s+=" else { "),s}},{}],29:[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,u=!e.opts.allErrors,c="data"+(o||""),h="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 "+h+" = errors; ";var p,m=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),a+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=m;var v=v||[];v.push(a+=" if ("+f+") { "),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: "+c+" "),a+=" } "):a+=" {} ";var g=a;a=v.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; 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: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ");return a}},{}],30:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v=f.baseId,g="prevValid"+s,y="passingSchemas"+s;a+="var "+d+" = errors , "+g+" = false , "+h+" = false , "+y+" = null; ";var P=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=i;if(E)for(var w,S=-1,b=E.length-1;S<b;)w=E[S+=1],e.util.schemaHasRules(w,e.RULES.all)?(f.schema=w,f.schemaPath=n+"["+S+"]",f.errSchemaPath=l+"/"+S,a+=" "+e.validate(f)+" ",f.baseId=v):a+=" var "+m+" = true; ",S&&(a+=" if ("+m+" && "+g+") { "+h+" = false; "+y+" = ["+y+", "+S+"]; } else { ",p+="}"),a+=" if ("+m+") { "+h+" = "+g+" = true; "+y+" = "+S+"; }";return e.compositeRule=f.compositeRule=P,a+=p+"if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a}},{}],31:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="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;var f=d?"(new RegExp("+a+"))":e.usePattern(n);s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'string') || ");var p=p||[];p.push(s+=" !"+f+".test("+h+") ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",s+=d?""+a:""+e.util.toQuotedString(n),s+=" } ",!1!==e.opts.messages&&(s+=" , message: 'should match pattern \"",s+=d?"' + "+a+" + '":""+e.util.escapeQuotes(n),s+="\"' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+e.util.toQuotedString(n),s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(s+=" else { "),s}},{}],32:[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,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m="key"+s,v="idx"+s,g=d.dataLevel=e.dataLevel+1,y="data"+g,P="dataProperties"+s,E=Object.keys(i||{}),w=e.schema.patternProperties||{},S=Object.keys(w),b=e.schema.additionalProperties,_=E.length||S.length,F=!1===b,x="object"==typeof b&&Object.keys(b).length,R=e.opts.removeAdditional,$=F||x||R,D=e.opts.ownProperties,j=e.baseId,O=e.schema.required;if(O&&(!e.opts.$data||!O.$data)&&O.length<e.opts.loopRequired)var I=e.util.toHash(O);if(a+="var "+h+" = errors;var "+p+" = true;",D&&(a+=" var "+P+" = undefined;"),$){if(a+=D?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+c+") { ",_){if(a+=" var isAdditional"+s+" = !(false ",E.length)if(8<E.length)a+=" || validate.schema"+n+".hasOwnProperty("+m+") ";else{var A=E;if(A)for(var C=-1,k=A.length-1;C<k;)J=A[C+=1],a+=" || "+m+" == "+e.util.toQuotedString(J)+" "}if(S.length){var L=S;if(L)for(var z=-1,T=L.length-1;z<T;)ae=L[z+=1],a+=" || "+e.usePattern(ae)+".test("+m+") "}a+=" ); if (isAdditional"+s+") { "}if("all"==R)a+=" delete "+c+"["+m+"]; ";else{var N=e.errorPath,q="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),F)if(R)a+=" delete "+c+"["+m+"]; ";else{var Q=l;l=e.errSchemaPath+"/additionalProperties",(ee=ee||[]).push(a+=" "+p+" = false; "),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is an invalid additional property":"should NOT have additional properties",a+="' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var U=a;a=ee.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+U+"]); ":" validate.errors = ["+U+"]; return false; ":" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=Q,u&&(a+=" break; ")}else if(x)if("failing"==R){a+=" var "+h+" = errors; ";var V=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var H=c+"["+m+"]";d.dataPathArr[g]=m;var M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",a+=" if (!"+p+") { errors = "+h+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+m+"]; } ",e.compositeRule=d.compositeRule=V}else{d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=c+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",u&&(a+=" if (!"+p+") break; ")}e.errorPath=N}_&&(a+=" } "),a+=" } ",u&&(a+=" if ("+p+") { ",f+="}")}var K=e.opts.useDefaults&&!e.compositeRule;if(E.length){var B=E;if(B)for(var J,Z=-1,G=B.length-1;Z<G;){if(J=B[Z+=1],e.util.schemaHasRules(ie=i[J],e.RULES.all)){var Y=e.util.getProperty(J),W=(H=c+Y,K&&void 0!==ie.default);d.schema=ie,d.schemaPath=n+Y,d.errSchemaPath=l+"/"+e.util.escapeFragment(J),d.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),d.dataPathArr[g]=e.util.toQuotedString(J);M=e.validate(d);if(d.baseId=j,e.util.varOccurences(M,y)<2){M=e.util.varReplace(M,y,H);var X=H}else{X=y;a+=" var "+y+" = "+H+"; "}if(W)a+=" "+M+" ";else{if(I&&I[J]){a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = false; ";N=e.errorPath,Q=l;var ee,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(N,J,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(ee=ee||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+re+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";U=a;a=ee.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+U+"]); ":" validate.errors = ["+U+"]; return false; ":" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=Q,e.errorPath=N,a+=" } else { "}else u?(a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = true; } else { "):(a+=" if ("+X+" !== undefined ",D&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=" ) { ");a+=" "+M+" } "}}u&&(a+=" if ("+p+") { ",f+="}")}}if(S.length){var te=S;if(te)for(var ae,se=-1,oe=te.length-1;se<oe;){var ie;if(ae=te[se+=1],e.util.schemaHasRules(ie=w[ae],e.RULES.all)){d.schema=ie,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ae),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ae),a+=D?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+c+") { ",a+=" if ("+e.usePattern(ae)+".test("+m+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=c+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",u&&(a+=" if (!"+p+") break; "),a+=" } ",u&&(a+=" else "+p+" = true; "),a+=" } ",u&&(a+=" if ("+p+") { ",f+="}")}}}return u&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],33:[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,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(a+="var "+h+" = errors;",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,g="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),P="dataProperties"+s,E=e.opts.ownProperties,w=e.baseId;E&&(a+=" var "+P+" = undefined; "),a+=E?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+p+" = "+P+"["+m+"]; ":" for (var "+p+" in "+c+") { ",a+=" var startErrs"+s+" = errors; ";var S=p,b=e.compositeRule;e.compositeRule=d.compositeRule=!0;var _=e.validate(d);d.baseId=w,e.util.varOccurences(_,y)<2?a+=" "+e.util.varReplace(_,y,S)+" ":a+=" var "+y+" = "+S+"; "+_+" ",e.compositeRule=d.compositeRule=b,a+=" if (!"+f+") { for (var "+v+"=startErrs"+s+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+p+"; } var err = ",!1!==e.createErrors?(a+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+g+"' } ",!1!==e.opts.messages&&(a+=" , message: 'property name \\'"+g+"\\' is invalid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),u&&(a+=" break; "),a+=" } }"}return u&&(a+=" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],34:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.dataLevel,n=e.schema[r],l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),h="valid"+e.level;if("#"==n||"#/"==n)e.isRoot?(a=e.async,s="validate"):(a=!0===e.root.schema.$async,s="root.refVal[0]");else{var d=e.resolveRef(e.baseId,n,e.isRoot);if(void 0===d){var f=e.MissingRefError.message(e.baseId,n);if("fail"==e.opts.missingRefs){e.logger.error(f),(g=g||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { ref: '"+e.util.escapeQuotes(n)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(n)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(n)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),o+=" } "):o+=" {} ";var p=o;o=g.pop(),o+=!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++; ",u&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,n,f);e.logger.warn(f),u&&(o+=" if (true) { ")}}else if(d.inline){var m=e.util.copy(e);m.level++;var v="valid"+m.level;m.schema=d.schema,m.schemaPath="",m.errSchemaPath=n,o+=" "+e.validate(m).replace(/validate\.schema/g,d.code)+" ",u&&(o+=" if ("+v+") { ")}else a=!0===d.$async||e.async&&!1!==d.$async,s=d.code}if(s){var g;(g=g||[]).push(o),o="",o+=e.opts.passContext?" "+s+".call(this, ":" "+s+"( ",o+=" "+c+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var y=o+=" , "+(i?"data"+(i-1||""):"parentData")+" , "+(i?e.dataPathArr[i]:"parentDataProperty")+", rootData) ";if(o=g.pop(),a){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(o+=" var "+h+"; "),o+=" try { await "+y+"; ",u&&(o+=" "+h+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(o+=" "+h+" = false; "),o+=" } ",u&&(o+=" if ("+h+") { ")}else o+=" if (!"+y+") { if (vErrors === null) vErrors = "+s+".errors; else vErrors = vErrors.concat("+s+".errors); errors = vErrors.length; } ",u&&(o+=" else { ")}return o}},{}],35:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="schema"+s;if(!d)if(i.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],m=i;if(m)for(var v,g=-1,y=m.length-1;g<y;){v=m[g+=1];var P=e.schema.properties[v];P&&e.util.schemaHasRules(P,e.RULES.all)||(p[p.length]=v)}}else p=i;if(d||p.length){var E=e.errorPath,w=d||e.opts.loopRequired<=p.length,S=e.opts.ownProperties;if(u)if(a+=" var missing"+s+"; ",w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)),a+=" var "+h+" = true; ",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { "+h+" = "+c+"["+f+"["+x+"]] !== undefined ",S&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", "+f+"["+x+"]) "),a+="; if (!"+h+") break; } ",d&&(a+=" } "),($=$||[]).push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var _=a;a=$.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var F=p;if(F)for(var x=-1,R=F.length-1;x<R;){O=F[x+=1],x&&(a+=" || "),a+=" ( ( "+(k=c+(C=e.util.getProperty(O)))+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:C)+") ) "}a+=") { ";var $;b="' + "+(D="missing"+s)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,D,!0):E+" + "+D),($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";_=a;a=$.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var D;b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,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: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { if ("+c+"["+f+"["+x+"]] === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+f+"["+x+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(a+=" } ")}else{var j=p;if(j)for(var O,I=-1,A=j.length-1;I<A;){O=j[I+=1];var C=e.util.getProperty(O),k=(b=e.util.escapeQuotes(O),c+C);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,O,e.opts.jsonPointers)),a+=" if ( "+k+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=E}else u&&(a+=" if (true) {");return a}},{}],36:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d="valid"+o,f=e.opts.$data&&n&&n.$data;if(f?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,(n||f)&&!1!==e.opts.uniqueItems){f&&(s+=" var "+d+"; if ("+a+" === false || "+a+" === undefined) "+d+" = true; else if (typeof "+a+" != 'boolean') "+d+" = false; else { "),s+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,m=Array.isArray(p);if(!p||"object"==p||"array"==p||m&&(0<=p.indexOf("object")||0<=p.indexOf("array")))s+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else s+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ",s+=" if ("+e.util["checkDataType"+(m?"s":"")](p,"item",!0)+") continue; ",m&&(s+=" if (typeof item == 'string') item = '\"' + item; "),s+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ";s+=" } ",f&&(s+=" } ");var v=v||[];v.push(s+=" if (!"+d+") { "),s="",!1!==e.createErrors?(s+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var g=s;s=v.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",c&&(s+=" else { ")}else c&&(s+=" if (true) { ");return s}},{}],37:[function(e,r,t){"use strict";r.exports=function(a,e,r){var t="",s=!0===a.schema.$async,o=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),i=a.self._getId(a.schema);if(a.isTop&&(t+=" var validate = ",s&&(a.async=!0,t+="async "),t+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",i&&(a.opts.sourceCode||a.opts.processCode)&&(t+=" /*# sourceURL="+i+" */ ")),"boolean"==typeof a.schema||!o&&!a.schema.$ref){var n=a.level,l=a.dataLevel,u=a.schema[e="false schema"],c=a.schemaPath+a.util.getProperty(e),h=a.errSchemaPath+"/"+e,d=!a.opts.allErrors,f="data"+(l||""),p="valid"+n;if(!1===a.schema){a.isTop?d=!0:t+=" var "+p+" = false; ",(B=B||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: {} ",!1!==a.opts.messages&&(t+=" , message: 'boolean schema is false' "),a.opts.verbose&&(t+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";var m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else t+=a.isTop?s?" return data; ":" validate.errors = null; return true; ":" var "+p+" = true; ";return a.isTop&&(t+=" }; return validate; "),t}if(a.isTop){var v=a.isTop;n=a.level=0,l=a.dataLevel=0,f="data";a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[void 0],t+=" var vErrors = null; ",t+=" var errors = 0; ",t+=" if (rootData === undefined) rootData = data; "}else{n=a.level,f="data"+((l=a.dataLevel)||"");if(i&&(a.baseId=a.resolve.url(a.baseId,i)),s&&!a.async)throw new Error("async schema in sync schema");t+=" var errs_"+n+" = errors;"}p="valid"+n,d=!a.opts.allErrors;var g="",y="",P=a.schema.type,E=Array.isArray(P);if(P&&a.opts.nullable&&!0===a.schema.nullable&&(E?-1==P.indexOf("null")&&(P=P.concat("null")):"null"!=P&&(P=[P,"null"],E=!0)),E&&1==P.length&&(P=P[0],E=!1),a.schema.$ref&&o){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(o=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(t+=" "+a.RULES.all.$comment.code(a,"$comment")),P){if(a.opts.coerceTypes)var w=a.util.coerceToTypes(a.opts.coerceTypes,P);var S=a.RULES.types[P];if(w||E||!0===S||S&&!J(S)){c=a.schemaPath+".type",h=a.errSchemaPath+"/type",c=a.schemaPath+".type",h=a.errSchemaPath+"/type";if(t+=" if ("+a.util[E?"checkDataTypes":"checkDataType"](P,f,!0)+") { ",w){var b="dataType"+n,_="coerced"+n;t+=" var "+b+" = typeof "+f+"; ","array"==a.opts.coerceTypes&&(t+=" if ("+b+" == 'object' && Array.isArray("+f+")) "+b+" = 'array'; "),t+=" var "+_+" = undefined; ";var F="",x=w;if(x)for(var R,$=-1,D=x.length-1;$<D;)R=x[$+=1],$&&(t+=" if ("+_+" === undefined) { ",F+="}"),"array"==a.opts.coerceTypes&&"array"!=R&&(t+=" if ("+b+" == 'array' && "+f+".length == 1) { "+_+" = "+f+" = "+f+"[0]; "+b+" = typeof "+f+"; } "),"string"==R?t+=" if ("+b+" == 'number' || "+b+" == 'boolean') "+_+" = '' + "+f+"; else if ("+f+" === null) "+_+" = ''; ":"number"==R||"integer"==R?(t+=" if ("+b+" == 'boolean' || "+f+" === null || ("+b+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==R&&(t+=" && !("+f+" % 1)"),t+=")) "+_+" = +"+f+"; "):"boolean"==R?t+=" if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+_+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+_+" = true; ":"null"==R?t+=" if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+_+" = null; ":"array"==a.opts.coerceTypes&&"array"==R&&(t+=" if ("+b+" == 'string' || "+b+" == 'number' || "+b+" == 'boolean' || "+f+" == null) "+_+" = ["+f+"]; ");(B=B||[]).push(t+=" "+F+" if ("+_+" === undefined) { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } else { ";var j=l?"data"+(l-1||""):"parentData";t+=" "+f+" = "+_+"; ",l||(t+="if ("+j+" !== undefined)"),t+=" "+j+"["+(l?a.dataPathArr[l]:"parentDataProperty")+"] = "+_+"; } "}else{(B=B||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}t+=" } "}}if(a.schema.$ref&&!o)t+=" "+a.RULES.all.$ref.code(a,"$ref")+" ",d&&(t+=" } if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}");else{var O=a.RULES;if(O)for(var I=-1,A=O.length-1;I<A;)if(J(S=O[I+=1])){if(S.type&&(t+=" if ("+a.util.checkDataType(S.type,f)+") { "),a.opts.useDefaults&&!a.compositeRule)if("object"==S.type&&a.schema.properties){u=a.schema.properties;var C=Object.keys(u);if(C)for(var k,L=-1,z=C.length-1;L<z;){if(void 0!==(N=u[k=C[L+=1]]).default)t+=" if ("+(Q=f+a.util.getProperty(k))+" === undefined) "+Q+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}else if("array"==S.type&&Array.isArray(a.schema.items)){var T=a.schema.items;if(T){$=-1;for(var N,q=T.length-1;$<q;){var Q;if(void 0!==(N=T[$+=1]).default)t+=" if ("+(Q=f+"["+$+"]")+" === undefined) "+Q+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}}var U=S.rules;if(U)for(var V,H=-1,M=U.length-1;H<M;)if(Z(V=U[H+=1])){var K=V.code(a,V.keyword,S.type);K&&(t+=" "+K+" ",d&&(g+="}"))}if(d&&(t+=" "+g+" ",g=""),S.type&&(t+=" } ",P&&P===S.type&&!w)){var B;c=a.schemaPath+".type",h=a.errSchemaPath+"/type";(B=B||[]).push(t+=" else { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } "}d&&(t+=" if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}")}}function J(e){for(var r=e.rules,t=0;t<r.length;t++)if(Z(r[t]))return!0}function Z(e){return void 0!==a.schema[e.keyword]||e.implements&&function(e){for(var r=e.implements,t=0;t<r.length;t++)if(void 0!==a.schema[r[t]])return!0}(e)}return d&&(t+=" "+y+" "),v?(s?(t+=" if (errors === 0) return data; ",t+=" else throw new ValidationError(vErrors); "):(t+=" validate.errors = vErrors; ",t+=" return errors === 0; "),t+=" }; return validate;"):t+=" var "+p+" = errors === errs_"+n+";",t=a.util.cleanUpCode(t),v&&(t=a.util.finalCleanUpCode(t,s)),t}},{}],38:[function(e,r,t){"use strict";var c=/^[a-z_$][a-z0-9_$-]*$/i,h=e("./dotjs/custom");r.exports={add:function(e,r){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!c.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(r){if(r.macro&&void 0!==r.valid)throw new Error('"valid" option cannot be used with macro keywords');var t=r.type;if(Array.isArray(t)){var a,s=t.length;for(a=0;a<s;a++)u(t[a]);for(a=0;a<s;a++)l(e,t[a],r)}else t&&u(t),l(e,t,r);var o=!0===r.$data&&this._opts.$data;if(o&&!r.validate)throw new Error('$data support: "validate" function is not defined');var i=r.metaSchema;i&&(o&&(i={anyOf:[i,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),r.validateSchema=this.compile(i,!0))}function l(e,r,t){for(var a,s=0;s<n.length;s++){var o=n[s];if(o.type==r){a=o;break}}a||n.push(a={type:r,rules:[]});var i={keyword:e,definition:t,custom:!0,code:h,implements:t.implements};a.rules.push(i),n.custom[e]=i}function u(e){if(!n.types[e])throw new Error("Unknown type "+e)}return n.keywords[e]=n.all[e]=!0,this},get:function(e){var r=this.RULES.custom[e];return r?r.definition:this.RULES.keywords[e]||!1},remove:function(e){var r=this.RULES;delete r.keywords[e],delete r.all[e],delete r.custom[e];for(var t=0;t<r.length;t++)for(var a=r[t].rules,s=0;s<a.length;s++)if(a[s].keyword==e){a.splice(s,1);break}return this}}},{"./dotjs/custom":21}],39:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}},{}],40:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}},{}],41:[function(e,r,t){"use strict";var f=Array.isArray,p=Object.keys,m=Object.prototype.hasOwnProperty;r.exports=function e(r,t){if(r===t)return!0;if(r&&t&&"object"==typeof r&&"object"==typeof t){var a,s,o,i=f(r),n=f(t);if(i&&n){if((s=r.length)!=t.length)return!1;for(a=s;0!=a--;)if(!e(r[a],t[a]))return!1;return!0}if(i!=n)return!1;var l=r instanceof Date,u=t instanceof Date;if(l!=u)return!1;if(l&&u)return r.getTime()==t.getTime();var c=r instanceof RegExp,h=t instanceof RegExp;if(c!=h)return!1;if(c&&h)return r.toString()==t.toString();var d=p(r);if((s=d.length)!==p(t).length)return!1;for(a=s;0!=a--;)if(!m.call(t,d[a]))return!1;for(a=s;0!=a--;)if(!e(r[o=d[a]],t[o]))return!1;return!0}return r!=r&&t!=t}},{}],42:[function(e,r,t){"use strict";r.exports=function(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});var a,l="boolean"==typeof r.cycles&&r.cycles,u=r.cmp&&(a=r.cmp,function(t){return function(e,r){return a({key:e,value:t[e]},{key:r,value:t[r]})}}),c=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0!==r){if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);var t,a;if(Array.isArray(r)){for(a="[",t=0;t<r.length;t++)t&&(a+=","),a+=e(r[t])||"null";return a+"]"}if(null===r)return"null";if(-1!==c.indexOf(r)){if(l)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=c.push(r)-1,o=Object.keys(r).sort(u&&u(r));for(a="",t=0;t<o.length;t++){var i=o[t],n=e(r[i]);n&&(a&&(a+=","),a+=JSON.stringify(i)+":"+n)}return c.splice(s,1),"{"+a+"}"}}(e)}},{}],43:[function(e,r,t){"use strict";var m=r.exports=function(e,r,t){"function"==typeof r&&(t=r,r={}),function e(r,t,a,s,o,i,n,l,u,c){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var h in t(s,o,i,n,l,u,c),s){var d=s[h];if(Array.isArray(d)){if(h in m.arrayKeywords)for(var f=0;f<d.length;f++)e(r,t,a,d[f],o+"/"+h+"/"+f,i,o,h,s,f)}else if(h in m.propsKeywords){if(d&&"object"==typeof d)for(var p in d)e(r,t,a,d[p],o+"/"+h+"/"+p.replace(/~/g,"~0").replace(/\//g,"~1"),i,o,h,s,p)}else(h in m.keywords||r.allKeys&&!(h in m.skipKeywords))&&e(r,t,a,d,o+"/"+h,i,o,h,s)}a(s,o,i,n,l,u,c)}}(r,"function"==typeof(t=r.cb||t)?t:t.pre||function(){},t.post||function(){},e,"",e)};m.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},m.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},m.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},m.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},{}],44:[function(e,r,t){var a;a=this,function(e){"use strict";function C(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];if(1<r.length){r[0]=r[0].slice(0,-1);for(var a=r.length-1,s=1;s<a;++s)r[s]=r[s].slice(1,-1);return r[a]=r[a].slice(1),r.join("")}return r[0]}function k(e){return"(?:"+e+")"}function a(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function p(e){return e.toUpperCase()}function r(e){var r="[A-Za-z]",t="[0-9]",a=C(t,"[A-Fa-f]"),s=k(k("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+k("%[89A-Fa-f]"+a+"%"+a+a)+"|"+k("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",i=C("[\\:\\/\\?\\#\\[\\]\\@]",o),n=e?"[\\uE000-\\uF8FF]":"[]",l=C(r,t,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),u=k(r+C(r,t,"[\\+\\-\\.]")+"*"),c=k(k(s+"|"+C(l,o,"[\\:]"))+"*"),h=(k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("[1-9]"+t)+"|"+t),k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("0?[1-9]"+t)+"|0?0?"+t)),d=k(h+"\\."+h+"\\."+h+"\\."+h),f=k(a+"{1,4}"),p=k(k(f+"\\:"+f)+"|"+d),m=k([k(k(f+"\\:")+"{6}"+p),k("\\:\\:"+k(f+"\\:")+"{5}"+p),k(k(f)+"?\\:\\:"+k(f+"\\:")+"{4}"+p),k(k(k(f+"\\:")+"{0,1}"+f)+"?\\:\\:"+k(f+"\\:")+"{3}"+p),k(k(k(f+"\\:")+"{0,2}"+f)+"?\\:\\:"+k(f+"\\:")+"{2}"+p),k(k(k(f+"\\:")+"{0,3}"+f)+"?\\:\\:"+f+"\\:"+p),k(k(k(f+"\\:")+"{0,4}"+f)+"?\\:\\:"+p),k(k(k(f+"\\:")+"{0,5}"+f)+"?\\:\\:"+f),k(k(k(f+"\\:")+"{0,6}"+f)+"?\\:\\:")].join("|")),v=k(k(l+"|"+s)+"+"),g=(k(m+"\\%25"+v),k("\\["+k(k(m+k("\\%25|\\%(?!"+a+"{2})")+v)+"|"+m+"|"+k("[vV]"+a+"+\\."+C(l,o,"[\\:]")+"+"))+"\\]")),y=k(k(s+"|"+C(l,o))+"*"),P=k(g+"|"+d+"(?!"+y+")|"+y),E=k(t+"*"),w=k(k(c+"@")+"?"+P+k("\\:"+E)+"?"),S=k(s+"|"+C(l,o,"[\\:\\@]")),b=k(S+"*"),_=k(S+"+"),F=k(k(s+"|"+C(l,o,"[\\@]"))+"+"),x=k(k("\\/"+b)+"*"),R=k("\\/"+k(_+x)+"?"),$=k(F+x),D=k(_+x),j="(?!"+S+")",O=(k(x+"|"+R+"|"+$+"|"+D+"|"+j),k(k(S+"|"+C("[\\/\\?]",n))+"*")),I=k(k(S+"|[\\/\\?]")+"*"),A=k(k("\\/\\/"+w+x)+"|"+R+"|"+D+"|"+j);k(k(u+"\\:"+A+k("\\?"+O)+"?"+k("\\#"+I)+"?")+"|"+k(k(k("\\/\\/"+w+x)+"|"+R+"|"+$+"|"+j)+k("\\?"+O)+"?"+k("\\#"+I)+"?")),k(u+"\\:"+A+k("\\?"+O)+"?"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+$+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k("("+c+")@"),k("\\:("+E+")");return{NOT_SCHEME:new RegExp(C("[^]",r,t,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(C("[^\\%\\:]",l,o),"g"),NOT_HOST:new RegExp(C("[^\\%\\[\\]\\:]",l,o),"g"),NOT_PATH:new RegExp(C("[^\\%\\/\\:\\@]",l,o),"g"),NOT_PATH_NOSCHEME:new RegExp(C("[^\\%\\/\\@]",l,o),"g"),NOT_QUERY:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]",n),"g"),NOT_FRAGMENT:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(C("[^]",l,o),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(C("[^\\%]",l,i),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+m+")"+k(k("\\%25|\\%(?!"+a+"{2})")+"("+v+")")+"?\\]?$")}}var c=r(!1),h=r(!0),w=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],a=!0,s=!1,o=void 0;try{for(var i,n=e[Symbol.iterator]();!(a=(i=n.next()).done)&&(t.push(i.value),!r||t.length!==r);a=!0);}catch(e){s=!0,o=e}finally{try{!a&&n.return&&n.return()}finally{if(s)throw o}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")},A=2147483647,t=/^xn--/,s=/[^\0-\x7E]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=Math.floor,z=String.fromCharCode;function T(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1<t.length&&(a=t[0]+"@",e=t[1]),a+function(e,r){for(var t=[],a=e.length;a--;)t[a]=r(e[a]);return t}((e=e.replace(o,".")).split("."),r).join(".")}function N(e){for(var r=[],t=0,a=e.length;t<a;){var s=e.charCodeAt(t++);if(55296<=s&&s<=56319&&t<a){var o=e.charCodeAt(t++);56320==(64512&o)?r.push(((1023&s)<<10)+(1023&o)+65536):(r.push(s),t--)}else r.push(s)}return r}var q=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},Q=function(e,r,t){var a=0;for(e=t?L(e/700):e>>1,e+=L(e/r);455<e;a+=36)e=L(e/35);return L(a+36*e/(e+38))},l=function(e){var r,t=[],a=e.length,s=0,o=128,i=72,n=e.lastIndexOf("-");n<0&&(n=0);for(var l=0;l<n;++l)128<=e.charCodeAt(l)&&T("not-basic"),t.push(e.charCodeAt(l));for(var u=0<n?n+1:0;u<a;){for(var c=s,h=1,d=36;;d+=36){a<=u&&T("invalid-input");var f=(r=e.charCodeAt(u++))-48<10?r-22:r-65<26?r-65:r-97<26?r-97:36;(36<=f||f>L((A-s)/h))&&T("overflow"),s+=f*h;var p=d<=i?1:i+26<=d?26:d-i;if(f<p)break;var m=36-p;h>L(A/m)&&T("overflow"),h*=m}var v=t.length+1;i=Q(s-c,v,0==c),L(s/v)>A-o&&T("overflow"),o+=L(s/v),s%=v,t.splice(s++,0,o)}return String.fromCodePoint.apply(String,t)},u=function(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var u,c=e[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var h=u.value;h<128&&r.push(z(h))}}catch(e){n=!0,l=e}finally{try{!i&&c.return&&c.return()}finally{if(n)throw l}}var d=r.length,f=d;for(d&&r.push("-");f<t;){var p=A,m=!0,v=!1,g=void 0;try{for(var y,P=e[Symbol.iterator]();!(m=(y=P.next()).done);m=!0){var E=y.value;a<=E&&E<p&&(p=E)}}catch(e){v=!0,g=e}finally{try{!m&&P.return&&P.return()}finally{if(v)throw g}}var w=f+1;p-a>L((A-s)/w)&&T("overflow"),s+=(p-a)*w,a=p;var S=!0,b=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(S=(F=x.next()).done);S=!0){var R=F.value;if(R<a&&++s>A&&T("overflow"),R==a){for(var $=s,D=36;;D+=36){var j=D<=o?1:o+26<=D?26:D-o;if($<j)break;var O=$-j,I=36-j;r.push(z(q(j+O%I,0))),$=L(O/I)}r.push(z(q($,0))),o=Q(s,w,f==d),s=0,++f}}}catch(e){b=!0,_=e}finally{try{!S&&x.return&&x.return()}finally{if(b)throw _}}++s,++a}return r.join("")},v={version:"2.1.0",ucs2:{decode:N,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}(e))}},decode:l,encode:u,toASCII:function(e){return n(e,function(e){return s.test(e)?"xn--"+u(e):e})},toUnicode:function(e){return n(e,function(e){return t.test(e)?l(e.slice(4).toLowerCase()):e})}},d={};function m(e){var r=e.charCodeAt(0);return r<16?"%0"+r.toString(16).toUpperCase():r<128?"%"+r.toString(16).toUpperCase():r<2048?"%"+(r>>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function f(e){for(var r="",t=0,a=e.length;t<a;){var s=parseInt(e.substr(t+1,2),16);if(s<128)r+=String.fromCharCode(s),t+=3;else if(194<=s&&s<224){if(6<=a-t){var o=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&s)<<6|63&o)}else r+=e.substr(t,6);t+=6}else if(224<=s){if(9<=a-t){var i=parseInt(e.substr(t+4,2),16),n=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&s)<<12|(63&i)<<6|63&n)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function g(e,t){function r(e){var r=f(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,m).replace(t.PCT_ENCODED,p)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,m).replace(t.PCT_ENCODED,p)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,m).replace(t.PCT_ENCODED,p)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,m).replace(t.PCT_ENCODED,p)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,m).replace(t.PCT_ENCODED,p)),e}function S(e){return e.replace(/^0*(.*)/,"$1")||"0"}function b(e,r){var t=e.match(r.IPV4ADDRESS)||[],a=w(t,2)[1];return a?a.split(".").map(S).join("."):e}function y(e,r){var t=e.match(r.IPV6ADDRESS)||[],a=w(t,3),s=a[1],o=a[2];if(s){for(var i=s.toLowerCase().split("::").reverse(),n=w(i,2),l=n[0],u=n[1],c=u?u.split(":").map(S):[],h=l.split(":").map(S),d=r.IPV4ADDRESS.test(h[h.length-1]),f=d?7:8,p=h.length-f,m=Array(f),v=0;v<f;++v)m[v]=c[v]||h[p+v]||"";d&&(m[f-1]=b(m[f-1],r));var g=m.reduce(function(e,r,t){if(!r||"0"===r){var a=e[e.length-1];a&&a.index+a.length===t?a.length++:e.push({index:t,length:1})}return e},[]).sort(function(e,r){return r.length-e.length})[0],y=void 0;if(g&&1<g.length){var P=m.slice(0,g.index),E=m.slice(g.index+g.length);y=P.join(":")+"::"+E.join(":")}else y=m.join(":");return o&&(y+="%"+o),y}return e}var P=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,E=void 0==="".match(/(){0}/)[1];function _(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t={},a=!1!==r.iri?h:c;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var s=e.match(P);if(s){E?(t.scheme=s[1],t.userinfo=s[3],t.host=s[4],t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=s[7],t.fragment=s[8],isNaN(t.port)&&(t.port=s[5])):(t.scheme=s[1]||void 0,t.userinfo=-1!==e.indexOf("@")?s[3]:void 0,t.host=-1!==e.indexOf("//")?s[4]:void 0,t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=-1!==e.indexOf("?")?s[7]:void 0,t.fragment=-1!==e.indexOf("#")?s[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?s[4]:void 0)),t.host&&(t.host=y(b(t.host,a),a)),t.reference=void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?"relative":void 0===t.fragment?"absolute":"uri":"same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var o=d[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||o&&o.unicodeSupport)g(t,a);else{if(t.host&&(r.domainHost||o&&o.domainHost))try{t.host=v.toASCII(t.host.replace(a.PCT_ENCODED,f).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}g(t,c)}o&&o.parse&&o.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}var F=/^\.\.?\//,x=/^\/\.(\/|$)/,R=/^\/\.\.(\/|$)/,$=/^\/?(?:.|\n)*?(?=\/|$)/;function D(e){for(var r=[];e.length;)if(e.match(F))e=e.replace(F,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(R))e=e.replace(R,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match($);if(!t)throw new Error("Unexpected dot segment condition");var a=t[0];e=e.slice(a.length),r.push(a)}return r.join("")}function j(r){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=t.iri?h:c,a=[],s=d[(t.scheme||r.scheme||"").toLowerCase()];if(s&&s.serialize&&s.serialize(r,t),r.host)if(e.IPV6ADDRESS.test(r.host));else if(t.domainHost||s&&s.domainHost)try{r.host=t.iri?v.toUnicode(r.host):v.toASCII(r.host.replace(e.PCT_ENCODED,f).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}g(r,e),"suffix"!==t.reference&&r.scheme&&(a.push(r.scheme),a.push(":"));var o,i,n,l=(i=!1!==t.iri?h:c,n=[],void 0!==(o=r).userinfo&&(n.push(o.userinfo),n.push("@")),void 0!==o.host&&n.push(y(b(String(o.host),i),i).replace(i.IPV6ADDRESS,function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"})),"number"==typeof o.port&&(n.push(":"),n.push(o.port.toString(10))),n.length?n.join(""):void 0);if(void 0!==l&&("suffix"!==t.reference&&a.push("//"),a.push(l),r.path&&"/"!==r.path.charAt(0)&&a.push("/")),void 0!==r.path){var u=r.path;t.absolutePath||s&&s.absolutePath||(u=D(u)),void 0===l&&(u=u.replace(/^\/\//,"/%2F")),a.push(u)}return void 0!==r.query&&(a.push("?"),a.push(r.query)),void 0!==r.fragment&&(a.push("#"),a.push(r.fragment)),a.join("")}function O(e,r){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a={};return arguments[3]||(e=_(j(e,t),t),r=_(j(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(a.scheme=r.scheme,a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(r.path?("/"===r.path.charAt(0)?a.path=D(r.path):(a.path=void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:r.path:"/"+r.path,a.path=D(a.path)),a.query=r.query):(a.path=e.path,a.query=void 0!==r.query?r.query:e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=r.fragment,a}function I(e,r){return e&&e.toString().replace(r&&r.iri?h.PCT_ENCODED:c.PCT_ENCODED,f)}var U={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},V={scheme:"https",domainHost:U.domainHost,parse:U.parse,serialize:U.serialize},H={},M="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",B=k(k("%[EFef]"+K+"%"+K+K+"%"+K+K)+"|"+k("%[89A-Fa-f]"+K+"%"+K+K)+"|"+k("%"+K+K)),J=C("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Z=new RegExp(M,"g"),G=new RegExp(B,"g"),Y=new RegExp(C("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',J),"g"),W=new RegExp(C("[^]",M,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),X=W;function ee(e){var r=f(e);return r.match(Z)?r:e}var re={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n<l;++n){var u=i[n].split("=");switch(u[0]){case"to":for(var c=u[1].split(","),h=0,d=c.length;h<d;++h)a.push(c[h]);break;case"subject":t.subject=I(u[1],r);break;case"body":t.body=I(u[1],r);break;default:s=!0,o[I(u[0],r)]=I(u[1],r)}}s&&(t.headers=o)}t.query=void 0;for(var f=0,p=a.length;f<p;++f){var m=a[f].split("@");if(m[0]=I(m[0]),r.unicodeSupport)m[1]=I(m[1],r).toLowerCase();else try{m[1]=v.toASCII(I(m[1],r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}a[f]=m.join("@")}return t},serialize:function(e,r){var t,a=e,s=null!=(t=e.to)?t instanceof Array?t:"number"!=typeof t.length||t.split||t.setInterval||t.call?[t]:Array.prototype.slice.call(t):[];if(s){for(var o=0,i=s.length;o<i;++o){var n=String(s[o]),l=n.lastIndexOf("@"),u=n.slice(0,l).replace(G,ee).replace(G,p).replace(Y,m),c=n.slice(l+1);try{c=r.iri?v.toUnicode(c):v.toASCII(I(c,r).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+e}s[o]=u+"@"+c}a.path=s.join(",")}var h=e.headers=e.headers||{};e.subject&&(h.subject=e.subject),e.body&&(h.body=e.body);var d=[];for(var f in h)h[f]!==H[f]&&d.push(f.replace(G,ee).replace(G,p).replace(W,m)+"="+h[f].replace(G,ee).replace(G,p).replace(X,m));return d.length&&(a.query=d.join("&")),a}},te=/^([^\:]+)\:(.*)/,ae={scheme:"urn",parse:function(e,r){var t=e.path&&e.path.match(te),a=e;if(t){var s=r.scheme||a.scheme||"urn",o=t[1].toLowerCase(),i=t[2],n=d[s+":"+(r.nid||o)];a.nid=o,a.nss=i,a.path=void 0,n&&(a=n.parse(a,r))}else a.error=a.error||"URN can not be parsed.";return a},serialize:function(e,r){var t=e.nid,a=d[(r.scheme||e.scheme||"urn")+":"+(r.nid||t)];a&&(e=a.serialize(e,r));var s=e;return s.path=(t||r.nid)+":"+e.nss,s}},se=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,oe={scheme:"urn:uuid",parse:function(e,r){var t=e;return t.uuid=t.nss,t.nss=void 0,r.tolerant||t.uuid&&t.uuid.match(se)||(t.error=t.error||"UUID is not valid."),t},serialize:function(e,r){var t=e;return t.nss=(e.uuid||"").toLowerCase(),t}};d[U.scheme]=U,d[V.scheme]=V,d[re.scheme]=re,d[ae.scheme]=ae,d[oe.scheme]=oe,e.SCHEMES=d,e.pctEncChar=m,e.pctDecChars=f,e.parse=_,e.removeDotSegments=D,e.serialize=j,e.resolveComponents=O,e.resolve=function(e,r,t){var a=function(e,r){var t=e;if(r)for(var a in r)t[a]=r[a];return t}({scheme:"null"},t);return j(O(_(e,a),_(r,a),a,!0),a)},e.normalize=function(e,r){return"string"==typeof e?e=j(_(e,r),r):"object"===a(e)&&(e=_(j(e,r),r)),e},e.equal=function(e,r,t){return"string"==typeof e?e=j(_(e,t),t):"object"===a(e)&&(e=j(e,t)),"string"==typeof r?r=j(_(r,t),t):"object"===a(r)&&(r=j(r,t)),e===r},e.escapeComponent=function(e,r){return e&&e.toString().replace(r&&r.iri?h.ESCAPE:c.ESCAPE,m)},e.unescapeComponent=I,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof t&&void 0!==r?t:a.URI=a.URI||{})},{}],ajv:[function(a,e,r){"use strict";var n=a("./compile"),d=a("./compile/resolve"),t=a("./cache"),f=a("./compile/schema_obj"),s=a("fast-json-stable-stringify"),o=a("./compile/formats"),i=a("./compile/rules"),l=a("./data"),u=a("./compile/util");(e.exports=g).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);!0!==t.$async&&(this.errors=t.errors);return s},g.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},g.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var s=0;s<e.length;s++)this.addSchema(e[s],void 0,t,a);return this}var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");return b(this,r=d.normalizeId(r||o)),this._schemas[r]=this._addSchema(e,t,a,!0),this},g.prototype.addMetaSchema=function(e,r,t){return this.addSchema(e,r,t,!0),this},g.prototype.validateSchema=function(e,r){var t=e.$schema;if(void 0!==t&&"string"!=typeof t)throw new Error("$schema must be a string");if(!(t=t||this._opts.defaultMeta||(a=this,s=a._opts.meta,a._opts.defaultMeta="object"==typeof s?a._getId(s)||s:a.getSchema(p)?p:void 0,a._opts.defaultMeta)))return this.logger.warn("meta-schema not available"),!(this.errors=null);var a,s;var o=this.validate(t,e);if(!o&&r){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return o},g.prototype.getSchema=function(e){var r=y(this,e);switch(typeof r){case"object":return r.validate||this._compile(r);case"string":return this.getSchema(r);case"undefined":return function(e,r){var t=d.schema.call(e,{schema:{}},r);if(t){var a=t.schema,s=t.root,o=t.baseId,i=n.call(e,a,s,void 0,o);return e._fragments[r]=new f({ref:r,fragment:!0,schema:a,root:s,baseId:o,validate:i}),i}}(this,e)}},g.prototype.removeSchema=function(e){if(e instanceof RegExp)return P(this,this._schemas,e),P(this,this._refs,e),this;switch(typeof e){case"undefined":return P(this,this._schemas),P(this,this._refs),this._cache.clear(),this;case"string":var r=y(this,e);return r&&this._cache.del(r.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var t=this._opts.serialize,a=t?t(e):e;this._cache.del(a);var s=this._getId(e);s&&(s=d.normalizeId(s),delete this._schemas[s],delete this._refs[s])}return this},g.prototype.addFormat=function(e,r){"string"==typeof r&&(r=new RegExp(r));return this._formats[e]=r,this},g.prototype.errorsText=function(e,r){if(!(e=e||this.errors))return"No errors";for(var t=void 0===(r=r||{}).separator?", ":r.separator,a=void 0===r.dataVar?"data":r.dataVar,s="",o=0;o<e.length;o++){var i=e[o];i&&(s+=a+i.dataPath+" "+i.message+t)}return s.slice(0,-t.length)},g.prototype._addSchema=function(e,r,t,a){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var s=this._opts.serialize,o=s?s(e):e,i=this._cache.get(o);if(i)return i;a=a||!1!==this._opts.addUsedSchema;var n=d.normalizeId(this._getId(e));n&&a&&b(this,n);var l,u=!1!==this._opts.validateSchema&&!r;u&&!(l=n&&n==d.normalizeId(e.$schema))&&this.validateSchema(e,!0);var c=d.ids.call(this,e),h=new f({id:n,schema:e,localRefs:c,cacheKey:o,meta:t});"#"!=n[0]&&a&&(this._refs[n]=h);this._cache.put(o,h),u&&l&&this.validateSchema(e,!0);return h},g.prototype._compile=function(t,e){if(t.compiling)return(t.validate=s).schema=t.schema,s.errors=null,s.root=e||s,!0===t.schema.$async&&(s.$async=!0),s;var r,a;t.compiling=!0,t.meta&&(r=this._opts,this._opts=this._metaOpts);try{a=n.call(this,t.schema,e,t.localRefs)}catch(e){throw delete t.validate,e}finally{t.compiling=!1,t.meta&&(this._opts=r)}return t.validate=a,t.refs=a.refs,t.refVal=a.refVal,t.root=a.root,a;function s(){var e=t.validate,r=e.apply(this,arguments);return s.errors=e.errors,r}},g.prototype.compileAsync=a("./compile/async");var c=a("./keyword");g.prototype.addKeyword=c.add,g.prototype.getKeyword=c.get,g.prototype.removeKeyword=c.remove;var h=a("./compile/error_classes");g.ValidationError=h.Validation,g.MissingRefError=h.MissingRef,g.$dataMetaSchema=l;var p="http://json-schema.org/draft-07/schema",m=["removeAdditional","useDefaults","coerceTypes"],v=["/properties"];function g(e){if(!(this instanceof g))return new g(e);e=this._opts=u.copy(e)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:_,warn:_,error:_};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=o(e.format),this._cache=e.cache||new t,this._loadingSchemas={},this._compilations=[],this.RULES=i(),this._getId=function(e){switch(e.schemaId){case"auto":return S;case"id":return E;default:return w}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=s),this._metaOpts=function(e){for(var r=u.copy(e._opts),t=0;t<m.length;t++)delete r[m[t]];return r}(this),e.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(e){var r;e._opts.$data&&(r=a("./refs/data.json"),e.addMetaSchema(r,r.$id,!0));if(!1===e._opts.meta)return;var t=a("./refs/json-schema-draft-07.json");e._opts.$data&&(t=l(t,v));e.addMetaSchema(t,p,!0),e._refs["http://json-schema.org/schema"]=p}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{const:!0}}),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)}function y(e,r){return r=d.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function P(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 E(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function w(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function S(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 b(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function _(){}},{"./cache":1,"./compile":5,"./compile/async":2,"./compile/error_classes":3,"./compile/formats":4,"./compile/resolve":6,"./compile/rules":7,"./compile/schema_obj":8,"./compile/util":10,"./data":11,"./keyword":38,"./refs/data.json":39,"./refs/json-schema-draft-07.json":40,"fast-json-stable-stringify":42}]},{},[])("ajv")});
+/* ajv 6.7.0: Another JSON Schema Validator */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Ajv=e()}}(function(){return function o(i,n,l){function u(r,e){if(!n[r]){if(!i[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(c)return c(r,!0);var a=new Error("Cannot find module '"+r+"'");throw a.code="MODULE_NOT_FOUND",a}var s=n[r]={exports:{}};i[r][0].call(s.exports,function(e){return u(i[r][1][e]||e)},s,s.exports,o,i,n,l)}return n[r].exports}for(var c="function"==typeof require&&require,e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,r,t){"use strict";var a=r.exports=function(){this._cache={}};a.prototype.put=function(e,r){this._cache[e]=r},a.prototype.get=function(e){return this._cache[e]},a.prototype.del=function(e){delete this._cache[e]},a.prototype.clear=function(){this._cache={}}},{}],2:[function(e,r,t){"use strict";var s=e("./error_classes").MissingRef;r.exports=function t(r,i,a){var n=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof i&&(a=i,i=void 0);var e=l(r).then(function(){var e=n._addSchema(r,void 0,i);return e.validate||u(e)});a&&e.then(function(e){a(null,e)},a);return e;function l(e){var r=e.$schema;return r&&!n.getSchema(r)?t.call(n,{$ref:r},!0):Promise.resolve()}function u(o){try{return n._compile(o)}catch(e){if(e instanceof s)return r(e);throw e}function r(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];return t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a),t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return u(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}}}},{"./error_classes":3}],3:[function(e,r,t){"use strict";var a=e("./resolve");function s(e,r,t){this.message=t||s.message(e,r),this.missingRef=a.url(e,r),this.missingSchema=a.normalizeId(a.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}r.exports={Validation:o(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:o(s)},s.message=function(e,r){return"can't resolve reference "+r+" from id "+e}},{"./resolve":6}],4:[function(e,r,t){"use strict";var a=e("./util"),o=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31],n=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,s=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,l=/^(?:[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,u=/^(?:(?:[^\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,c=/^(?:(?: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,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,f=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function g(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\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|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,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:s,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:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p},m.full={date:v,time:g,"date-time":function(e){var r=e.split(y);return 2==r.length&&v(r[0])&&g(r[1],!0)},uri:function(e){return P.test(e)&&l.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":u,url:c,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&&s.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:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p};var y=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var $=e("./resolve"),D=e("./util"),j=e("./error_classes"),O=e("fast-json-stable-stringify"),I=e("../dotjs/validate"),A=D.ucs2length,C=e("fast-deep-equal"),k=j.Validation;function L(e,r,t){var a=s.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:!(this._compilations[a]={schema:e,root:r,baseId:t})}}function z(e,r,t){var a=s.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}function s(e,r,t){for(var a=0;a<this._compilations.length;a++){var s=this._compilations[a];if(s.schema==e&&s.root==r&&s.baseId==t)return a}return-1}function T(e,r){return"var pattern"+e+" = new RegExp("+D.toQuotedString(r[e])+");"}function N(e){return"var default"+e+" = defaults["+e+"];"}function q(e,r){return void 0===r[e]?"":"var refVal"+e+" = refVal["+e+"];"}function Q(e){return"var customRule"+e+" = customRules["+e+"];"}function U(e,r){if(!e.length)return"";for(var t="",a=0;a<e.length;a++)t+=r(a,e);return t}r.exports=function u(e,c,h,r){var d=this,f=this._opts,p=[void 0],m={},v=[],t={},g=[],a={},y=[];c=c||{schema:e,refVal:p,refs:m};var s=L.call(this,e,c,r);var o=this._compilations[s.index];if(s.compiling)return o.callValidate=l;var P=this._formats;var E=this.RULES;try{var i=w(e,c,h,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,f.sourceCode&&(n.source=i.source)),i}finally{z.call(this,e,c,r)}function l(){var e=o.validate,r=e.apply(this,arguments);return l.errors=e.errors,r}function w(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=c.schema)return u.call(d,e,r,t,a);var o,i=!0===e.$async,n=I({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:E,validate:I,util:D,resolve:$,resolveRef:S,usePattern:F,useDefault:x,useCustomRule:R,opts:f,formats:P,logger:d.logger,self:d});n=U(p,q)+U(v,T)+U(g,N)+U(y,Q)+n,f.processCode&&(n=f.processCode(n));try{var l=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",n);o=l(d,E,P,c,p,g,y,C,A,k),p[0]=o}catch(e){throw d.logger.error("Error compiling schema, function code:",n),e}return o.schema=e,o.errors=null,o.refs=m,o.refVal=p,o.root=s?o:r,i&&(o.$async=!0),!0===f.sourceCode&&(o.source={code:n,patterns:v,defaults:g}),o}function S(e,r,t){r=$.url(e,r);var a,s,o=m[r];if(void 0!==o)return _(a=p[o],s="refVal["+o+"]");if(!t&&c.refs){var i=c.refs[r];if(void 0!==i)return s=b(r,a=c.refVal[i]),_(a,s)}s=b(r);var n=$.call(d,w,c,r);if(void 0===n){var l=h&&h[r];l&&(n=$.inlineRef(l,f.inlineRefs)?l:u.call(d,l,c,h,e))}if(void 0!==n)return p[m[r]]=n,_(n,s);delete m[r]}function b(e,r){var t=p.length;return p[t]=r,"refVal"+(m[e]=t)}function _(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function F(e){var r=t[e];return void 0===r&&(r=t[e]=v.length,v[r]=e),"pattern"+r}function x(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return D.toQuotedString(e);case"object":if(null===e)return"null";var r=O(e),t=a[r];return void 0===t&&(t=a[r]=g.length,g[t]=e),"default"+t}}function R(e,r,t,a){var s=e.definition.validateSchema;if(s&&!1!==d._opts.validateSchema){var o=s(r);if(!o){var i="keyword schema is invalid: "+d.errorsText(s.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,u=e.definition.inline,c=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(c)n=c.call(d,r,t,a),!1!==f.validateSchema&&d.validateSchema(n,!0);else if(u)n=u.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=y.length;return{code:"customRule"+h,validate:y[h]=n}}}},{"../dotjs/validate":37,"./error_classes":3,"./resolve":6,"./util":10,"fast-deep-equal":41,"fast-json-stable-stringify":42}],6:[function(e,r,t){"use strict";var m=e("uri-js"),v=e("fast-deep-equal"),g=e("./util"),l=e("./schema_obj"),a=e("json-schema-traverse");function u(e,r,t){var a=this._refs[t];if("string"==typeof a){if(!this._refs[a])return u.call(this,e,r,a);a=this._refs[a]}if((a=a||this._schemas[t])instanceof l)return d(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var s,o,i,n=c.call(this,r,t);return n&&(s=n.schema,r=n.root,i=n.baseId),s instanceof l?o=s.validate||e.call(this,s.schema,r,void 0,i):void 0!==s&&(o=d(s,this._opts.inlineRefs)?s:e.call(this,s,r,void 0,i)),o}function c(e,r){var t=m.parse(r),a=f(t),s=y(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==s){var o=P(a),i=this._refs[o];if("string"==typeof i)return function(e,r,t){var a=c.call(this,e,r);if(a){var s=a.schema,o=a.baseId;e=a.root;var i=this._getId(s);return i&&(o=p(o,i)),n.call(this,t,o,s,e)}}.call(this,e,i,t);if(i instanceof l)i.validate||this._compile(i),e=i;else{if(!((i=this._schemas[o])instanceof l))return;if(i.validate||this._compile(i),o==P(r))return{schema:i,root:e,baseId:s};e=i}if(!e.schema)return;s=y(this._getId(e.schema))}return n.call(this,t,s,e.schema,e)}(r.exports=u).normalizeId=P,u.fullPath=y,u.url=p,u.ids=function(e){var r=P(this._getId(e)),h={"":r},d={"":y(r,!1)},f={},p=this;return a(e,{allKeys:!0},function(e,r,t,a,s,o,i){if(""!==r){var n=p._getId(e),l=h[a],u=d[a]+"/"+s;if(void 0!==i&&(u+="/"+("number"==typeof i?i:g.escapeFragment(i))),"string"==typeof n){n=l=P(l?m.resolve(l,n):n);var c=p._refs[n];if("string"==typeof c&&(c=p._refs[c]),c&&c.schema){if(!v(e,c.schema))throw new Error('id "'+n+'" resolves to more than one schema')}else if(n!=P(u))if("#"==n[0]){if(f[n]&&!v(e,f[n]))throw new Error('id "'+n+'" resolves to more than one schema');f[n]=e}else p._refs[n]=u}h[r]=l,d[r]=u}}),f},u.inlineRef=d,u.schema=c;var h=g.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function n(e,r,t,a){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var s=e.fragment.split("/"),o=1;o<s.length;o++){var i=s[o];if(i){if(void 0===(t=t[i=g.unescapeFragment(i)]))break;var n;if(!h[i]&&((n=this._getId(t))&&(r=p(r,n)),t.$ref)){var l=p(r,t.$ref),u=c.call(this,a,l);u&&(t=u.schema,a=u.root,r=u.baseId)}}}return void 0!==t&&t!==a.schema?{schema:t,root:a,baseId:r}:void 0}}var i=g.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function d(e,r){return!1!==r&&(void 0===r||!0===r?function e(r){var t;if(Array.isArray(r)){for(var a=0;a<r.length;a++)if("object"==typeof(t=r[a])&&!e(t))return!1}else for(var s in r){if("$ref"==s)return!1;if("object"==typeof(t=r[s])&&!e(t))return!1}return!0}(e):r?function e(r){var t,a=0;if(Array.isArray(r)){for(var s=0;s<r.length;s++)if("object"==typeof(t=r[s])&&(a+=e(t)),a==1/0)return 1/0}else for(var o in r){if("$ref"==o)return 1/0;if(i[o])a++;else if("object"==typeof(t=r[o])&&(a+=e(t)+1),a==1/0)return 1/0}return a}(e)<=r:void 0)}function y(e,r){return!1!==r&&(e=P(e)),f(m.parse(e))}function f(e){return m.serialize(e).split("#")[0]+"#"}var s=/#\/?$/;function P(e){return e?e.replace(s,""):""}function p(e,r){return r=P(r),m.resolve(e,r)}},{"./schema_obj":8,"./util":10,"fast-deep-equal":41,"json-schema-traverse":43,"uri-js":44}],7:[function(e,r,t){"use strict";var o=e("../dotjs"),i=e("./util").toHash;r.exports=function(){var a=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],s=["type","$comment"];return a.all=i(s),a.types=i(["number","integer","string","array","object","boolean","null"]),a.forEach(function(e){e.rules=e.rules.map(function(e){var r;if("object"==typeof e){var t=Object.keys(e)[0];r=e[t],e=t,r.forEach(function(e){s.push(e),a.all[e]=!0})}return s.push(e),a.all[e]={keyword:e,code:o[e],implements:r}}),a.all.$comment={keyword:"$comment",code:o.$comment},e.type&&(a.types[e.type]=e)}),a.keywords=i(s.concat(["$schema","$id","id","$data","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),a.custom={},a}},{"../dotjs":26,"./util":10}],8:[function(e,r,t){"use strict";var a=e("./util");r.exports=function(e){a.copy(e,this)}},{"./util":10}],9:[function(e,r,t){"use strict";r.exports=function(e){for(var r,t=0,a=e.length,s=0;s<a;)t++,55296<=(r=e.charCodeAt(s++))&&r<=56319&&s<a&&56320==(64512&(r=e.charCodeAt(s)))&&s++;return t}},{}],10:[function(e,r,t){"use strict";function o(e,r,t){var a=t?" !== ":" === ",s=t?" || ":" && ",o=t?"!":"",i=t?"":"!";switch(e){case"null":return r+a+"null";case"array":return o+"Array.isArray("+r+")";case"object":return"("+o+r+s+"typeof "+r+a+'"object"'+s+i+"Array.isArray("+r+"))";case"integer":return"(typeof "+r+a+'"number"'+s+i+"("+r+" % 1)"+s+r+a+r+")";default:return"typeof "+r+a+'"'+e+'"'}}r.exports={copy:function(e,r){for(var t in r=r||{},e)r[t]=e[t];return r},checkDataType:o,checkDataTypes:function(e,r){switch(e.length){case 1:return o(e[0],r,!0);default:var t="",a=n(e);for(var s in a.array&&a.object&&(t=a.null?"(":"(!"+r+" || ",t+="typeof "+r+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)t+=(t?" && ":"")+o(s,r,!0);return t}},coerceToTypes:function(e,r){if(Array.isArray(r)){for(var t=[],a=0;a<r.length;a++){var s=r[a];i[s]?t[t.length]=s:"array"===e&&"array"===s&&(t[t.length]=s)}if(t.length)return t}else{if(i[r])return[r];if("array"===e&&"array"===r)return["array"]}},toHash:n,getProperty:h,escapeQuotes:l,equal:e("fast-deep-equal"),ucs2length:e("./ucs2length"),varOccurences:function(e,r){var t=e.match(new RegExp(r+="[^0-9]","g"));return t?t.length:0},varReplace:function(e,r,t){return r+="([^0-9])",t=t.replace(/\$/g,"$$$$"),e.replace(new RegExp(r,"g"),t+"$1")},cleanUpCode:function(e){return e.replace(u,"").replace(c,"").replace(d,"if (!($1))")},finalCleanUpCode:function(e,r){var t=e.match(f);t&&2==t.length&&(e=r?e.replace(m,"").replace(y,P):e.replace(p,"").replace(v,g));return(t=e.match(E))&&3===t.length?e.replace(w,""):e},schemaHasRules:function(e,r){if("boolean"==typeof e)return!e;for(var t in e)if(r[t])return!0},schemaHasRulesExcept:function(e,r,t){if("boolean"==typeof e)return!e&&"not"!=t;for(var a in e)if(a!=t&&r[a])return!0},toQuotedString:S,getPathExpr:function(e,r,t,a){return F(e,t?"'/' + "+r+(a?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):a?"'[' + "+r+" + ']'":"'[\\'' + "+r+" + '\\']'")},getPath:function(e,r,t){var a=S(t?"/"+x(r):h(r));return F(e,a)},getData:function(e,r,t){var a,s,o,i;if(""===e)return"rootData";if("/"==e[0]){if(!b.test(e))throw new Error("Invalid JSON-pointer: "+e);s=e,o="rootData"}else{if(!(i=e.match(_)))throw new Error("Invalid JSON-pointer: "+e);if(a=+i[1],"#"==(s=i[2])){if(r<=a)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(r<a)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(o="data"+(r-a||""),!s)return o}for(var n=o,l=s.split("/"),u=0;u<l.length;u++){var c=l[u];c&&(o+=h(R(c)),n+=" && "+o)}return n},unescapeFragment:function(e){return R(decodeURIComponent(e))},unescapeJsonPointer:R,escapeFragment:function(e){return encodeURIComponent(x(e))},escapeJsonPointer:x};var i=n(["string","number","integer","boolean","null"]);function n(e){for(var r={},t=0;t<e.length;t++)r[e[t]]=!0;return r}var a=/^[a-z$_][a-z$_0-9]*$/i,s=/'|\\/g;function h(e){return"number"==typeof e?"["+e+"]":a.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(s,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var u=/else\s*{\s*}/g,c=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,d=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var f=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,m=/var errors = 0;|var vErrors = null;/g,v="return errors === 0;",g="validate.errors = null; return true;",y=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,P="return data;",E=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,w=/if \(rootData === undefined\) rootData = data;/;function S(e){return"'"+l(e)+"'"}var b=/^\/(?:[^~]|~0|~1)*$/,_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function F(e,r){return'""'==e?r:(e+" + "+r).replace(/' \+ '/g,"")}function x(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function R(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},{"./ucs2length":9,"fast-deep-equal":41}],11:[function(e,r,t){"use strict";var l=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];r.exports=function(e,r){for(var t=0;t<r.length;t++){e=JSON.parse(JSON.stringify(e));var a,s=r[t].split("/"),o=e;for(a=1;a<s.length;a++)o=o[s[a]];for(a=0;a<l.length;a++){var i=l[a],n=o[i];n&&(o[i]={anyOf:[n,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},{}],12:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;a=d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n;var f="maximum"==r,p=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[p],v=e.opts.$data&&m&&m.$data,g=f?"<":">",y=f?">":"<",P=void 0;if(v){var E=e.util.getData(m.$data,i,e.dataPathArr),w="exclusive"+o,S="exclType"+o,b="exclIsNumber"+o,_="' + "+(R="op"+o)+" + '";s+=" var schemaExcl"+o+" = "+E+"; ";var F;P=p;(F=F||[]).push(s+=" var "+w+"; var "+S+" = typeof "+(E="schemaExcl"+o)+"; if ("+S+" != 'boolean' && "+S+" != 'undefined' && "+S+" != 'number') { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var x=s;s=F.pop(),s+=!e.compositeRule&&c?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+=" "+S+" == 'number' ? ( ("+w+" = "+a+" === undefined || "+E+" "+g+"= "+a+") ? "+h+" "+y+"= "+E+" : "+h+" "+y+" "+a+" ) : ( ("+w+" = "+E+" === true) ? "+h+" "+y+"= "+a+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { var op"+o+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===n&&(u=e.errSchemaPath+"/"+(P=p),a=E,d=v)}else{_=g;if((b="number"==typeof m)&&d){var R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" ( "+a+" === undefined || "+m+" "+g+"= "+a+" ? "+h+" "+y+"= "+m+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { "}else{b&&void 0===n?(w=!0,u=e.errSchemaPath+"/"+(P=p),a=m,y+="="):(b&&(a=Math[f?"min":"max"](m,n)),m===(!b||a)?(w=!0,u=e.errSchemaPath+"/"+(P=p),y+="="):(w=!1,_+="="));R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+h+" "+y+" "+a+" || "+h+" !== "+h+") { "}}P=P||r,(F=F||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+R+", limit: "+a+", exclusive: "+w+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be "+_+" ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";x=s;return s=F.pop(),s+=!e.compositeRule&&c?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+=" } ",c&&(s+=" else { "),s}},{}],13:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;a=d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || ");var f=r,p=p||[];p.push(s+=" "+h+".length "+("maxItems"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxItems"==r?"more":"fewer",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: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;a=d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=!1===e.opts.unicode?" "+h+".length ":" ucs2length("+h+") ";var f=r,p=p||[];p.push(s+=" "+("maxLength"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;a=d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || ");var f=r,p=p||[];p.push(s+=" Object.keys("+h+").length "+("maxProperties"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxProperties"==r?"more":"fewer",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: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(s+=" else { "),s}},{}],16:[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),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,f=s;if(f)for(var p,m=-1,v=f.length-1;m<v;)p=f[m+=1],e.util.schemaHasRules(p,e.RULES.all)&&(d=!1,l.schema=p,l.schemaPath=o+"["+m+"]",l.errSchemaPath=i+"/"+m,a+=" "+e.validate(l)+" ",l.baseId=h,n&&(a+=" if ("+c+") { ",u+="}"));return n&&(a+=d?" if (true) { ":" "+u.slice(0,-1)+" "),a=e.util.cleanUpCode(a)}},{}],17:[function(e,r,t){"use strict";r.exports=function(r,e,t){var a=" ",s=r.level,o=r.dataLevel,i=r.schema[e],n=r.schemaPath+r.util.getProperty(e),l=r.errSchemaPath+"/"+e,u=!r.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=r.util.copy(r),p="";f.level++;var m="valid"+f.level;if(i.every(function(e){return r.util.schemaHasRules(e,r.RULES.all)})){var v=f.baseId;a+=" var "+d+" = errors; var "+h+" = false; ";var g=r.compositeRule;r.compositeRule=f.compositeRule=!0;var y=i;if(y)for(var P,E=-1,w=y.length-1;E<w;)P=y[E+=1],f.schema=P,f.schemaPath=n+"["+E+"]",f.errSchemaPath=l+"/"+E,a+=" "+r.validate(f)+" ",f.baseId=v,a+=" "+h+" = "+h+" || "+m+"; if (!"+h+") { ",p+="}";r.compositeRule=f.compositeRule=g,a+=" "+p+" if (!"+h+") { var err = ",!1!==r.createErrors?(a+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+r.errorPath+" , schemaPath: "+r.util.toQuotedString(l)+" , params: {} ",!1!==r.opts.messages&&(a+=" , message: 'should match some schema in anyOf' "),r.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+r.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!r.compositeRule&&u&&(a+=r.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",r.opts.allErrors&&(a+=" } "),a=r.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a}},{}],18:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.errSchemaPath+"/"+r,o=e.util.toQuotedString(e.schema[r]);return!0===e.opts.$comment?a+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(a+=" self._opts.$comment("+o+", "+e.util.toQuotedString(s)+", validate.root.schema);"),a}},{}],19:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; "),d||(a+=" var schema"+s+" = validate.schema"+n+";");var f=f||[];f.push(a+="var "+h+" = equal("+c+", schema"+s+"); if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var p=a;return a=f.pop(),a+=!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++; ",a+=" }",u&&(a+=" else { "),a}},{}],20:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m="i"+s,v=f.dataLevel=e.dataLevel+1,g="data"+v,y=e.baseId,P=e.util.schemaHasRules(i,e.RULES.all);if(a+="var "+d+" = errors;var "+h+";",P){var E=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+p+" = false; for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var w=c+"["+m+"]";f.dataPathArr[v]=m;var S=e.validate(f);f.baseId=y,e.util.varOccurences(S,g)<2?a+=" "+e.util.varReplace(S,g,w)+" ":a+=" var "+g+" = "+w+"; "+S+" ",a+=" if ("+p+") break; } ",e.compositeRule=f.compositeRule=E,a+=" if (!"+p+") {"}else a+=" if ("+c+".length == 0) {";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var _=a;return a=b.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",P&&(a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)}},{}],21:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.level,n=e.dataLevel,l=e.schema[r],u=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,d="data"+(n||""),f="valid"+i,p="errs__"+i,m=e.opts.$data&&l&&l.$data;s=m?(o+=" var schema"+i+" = "+e.util.getData(l.$data,n,e.dataPathArr)+"; ","schema"+i):l;var v,g,y,P,E,w=this,S="definition"+i,b=w.definition,_="";if(m&&b.$data){var F=b.validateSchema;o+=" var "+S+" = RULES.custom['"+r+"'].definition; var "+(E="keywordValidate"+i)+" = "+S+".validate;"}else{if(!(P=e.useCustomRule(w,l,e.schema,e)))return;s="validate.schema"+u,E=P.code,v=b.compile,g=b.inline,y=b.macro}var x=E+".errors",R="i"+i,$="ruleErr"+i,D=b.async;if(D&&!e.async)throw new Error("async keyword in sync schema");if(g||y||(o+=x+" = null;"),o+="var "+p+" = errors;var "+f+";",m&&b.$data&&(_+="}",o+=" if ("+s+" === undefined) { "+f+" = true; } else { ",F&&(_+="}",o+=" "+f+" = "+S+".validateSchema("+s+"); if ("+f+") { ")),g)o+=b.statements?" "+P.validate+" ":" "+f+" = "+P.validate+"; ";else if(y){var j=e.util.copy(e);_="";j.level++;var O="valid"+j.level;j.schema=P.validate,j.schemaPath="";var I=e.compositeRule;e.compositeRule=j.compositeRule=!0;var A=e.validate(j).replace(/validate\.schema/g,E);e.compositeRule=j.compositeRule=I,o+=" "+A}else{(z=z||[]).push(o),o="",o+=" "+E+".call( ",o+=e.opts.passContext?"this":"self",o+=v||!1===b.schema?" , "+d+" ":" , "+s+" , "+d+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var C=n?"data"+(n-1||""):"parentData",k=n?e.dataPathArr[n]:"parentDataProperty",L=o+=" , "+C+" , "+k+" , rootData ) ";o=z.pop(),!1===b.errors?(o+=" "+f+" = ",D&&(o+="await "),o+=L+"; "):o+=D?" var "+(x="customErrors"+i)+" = null; try { "+f+" = await "+L+"; } catch (e) { "+f+" = false; if (e instanceof ValidationError) "+x+" = e.errors; else throw e; } ":" "+x+" = null; "+f+" = "+L+"; "}if(b.modifying&&(o+=" if ("+C+") "+d+" = "+C+"["+k+"];"),o+=""+_,b.valid)h&&(o+=" if (true) { ");else{var z;o+=" if ( ",void 0===b.valid?(o+=" !",o+=y?""+O:""+f):o+=" "+!b.valid+" ",a=w.keyword,(z=z||[]).push(o+=") { "),(z=z||[]).push(o=""),o="",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var T=o;o=z.pop();var N=o+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+T+"]); ":" validate.errors = ["+T+"]; return false; ":" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";o=z.pop(),g?b.errors?"full"!=b.errors&&(o+=" for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } "):!1===b.errors?o+=" "+N+" ":(o+=" if ("+p+" == errors) { "+N+" } else { for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } "):y?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(o+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; ")):!1===b.errors?o+=" "+N+" ":(o+=" if (Array.isArray("+x+")) { if (vErrors === null) vErrors = "+x+"; else vErrors = vErrors.concat("+x+"); errors = vErrors.length; for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; "+$+'.schemaPath = "'+c+'"; ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } else { "+N+" } "),o+=" } ",h&&(o+=" else { ")}return o}},{}],22:[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,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m={},v={},g=e.opts.ownProperties;for(w in i){var y=i[w],P=Array.isArray(y)?v:m;P[w]=y}a+="var "+h+" = errors;";var E=e.errorPath;for(var w in a+="var missing"+s+";",v)if((P=v[w]).length){if(a+=" if ( "+c+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(w)+"') "),u){a+=" && ( ";var S=P;if(S)for(var b=-1,_=S.length-1;b<_;){j=S[b+=1],b&&(a+=" || "),a+=" ( ( "+(C=c+(A=e.util.getProperty(j)))+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(j)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?j:A)+") ) "}a+=")) { ";var F="missing"+s,x="' + "+F+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,F,!0):E+" + "+F);var R=R||[];R.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var $=a;a=R.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+$+"]); ":" validate.errors = ["+$+"]; return false; ":" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{a+=" ) { ";var D=P;if(D)for(var j,O=-1,I=D.length-1;O<I;){j=D[O+=1];var A=e.util.getProperty(j),C=(x=e.util.escapeQuotes(j),c+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,j,e.opts.jsonPointers)),a+=" if ( "+C+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(j)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}a+=" } ",u&&(f+="}",a+=" else { ")}e.errorPath=E;var k=d.baseId;for(var w in m){e.util.schemaHasRules(y=m[w],e.RULES.all)&&(a+=" "+p+" = true; if ( "+c+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(w)+"') "),a+=") { ",d.schema=y,d.schemaPath=n+e.util.getProperty(w),d.errSchemaPath=l+"/"+e.util.escapeFragment(w),a+=" "+e.validate(d)+" ",d.baseId=k,a+=" } ",u&&(a+=" if ("+p+") { ",f+="}"))}return u&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],23:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="i"+s,p="schema"+s;d||(a+=" var "+p+" = validate.schema"+n+";"),a+="var "+h+";",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=h+" = false;for (var "+f+"=0; "+f+"<"+p+".length; "+f+"++) if (equal("+c+", "+p+"["+f+"])) { "+h+" = true; break; }",d&&(a+=" } ");var m=m||[];m.push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var v=a;return a=m.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+v+"]); ":" validate.errors = ["+v+"]; return false; ":" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",u&&(a+=" else { "),a}},{}],24:[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,u=!e.opts.allErrors,c="data"+(o||"");if(!1===e.opts.format)return u&&(a+=" if (true) { "),a;var h,d=e.opts.$data&&i&&i.$data;h=d?(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ","schema"+s):i;var f=e.opts.unknownFormats,p=Array.isArray(f);if(d){a+=" var "+(m="format"+s)+" = formats["+h+"]; var "+(v="isObject"+s)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(g="formatType"+s)+" = "+v+" && "+m+".type || 'string'; if ("+v+") { ",e.async&&(a+=" var async"+s+" = "+m+".async; "),a+=" "+m+" = "+m+".validate; } if ( ",d&&(a+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),a+=" (","ignore"!=f&&(a+=" ("+h+" && !"+m+" ",p&&(a+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),a+=") || "),a+=" ("+m+" && "+g+" == '"+t+"' && !(typeof "+m+" == 'function' ? ",a+=e.async?" (async"+s+" ? await "+m+"("+c+") : "+m+"("+c+")) ":" "+m+"("+c+") ",a+=" : "+m+".test("+c+"))))) {"}else{var m;if(!(m=e.formats[i])){if("ignore"==f)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(a+=" if (true) { "),a;if(p&&0<=f.indexOf(i))return u&&(a+=" if (true) { "),a;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,g=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var y=!0===m.async;m=m.validate}if(g!=t)return u&&(a+=" if (true) { "),a;if(y){if(!e.async)throw new Error("async format in sync schema");a+=" if (!(await "+(P="formats"+e.util.getProperty(i)+".validate")+"("+c+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(i);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+c+") ":" "+P+".test("+c+") ",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?""+h:""+e.util.toQuotedString(i),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=d?"' + "+h+" + '":""+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: "+c+" "),a+=" } "):a+=" {} ";var w=a;return a=E.pop(),a+=!e.compositeRule&&u?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+=" } ",u&&(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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m=e.schema.then,v=e.schema.else,g=void 0!==m&&e.util.schemaHasRules(m,e.RULES.all),y=void 0!==v&&e.util.schemaHasRules(v,e.RULES.all),P=f.baseId;if(g||y){var E;f.createErrors=!1,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+d+" = errors; var "+h+" = true; ";var w=e.compositeRule;e.compositeRule=f.compositeRule=!0,a+=" "+e.validate(f)+" ",f.baseId=P,f.createErrors=!0,a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=f.compositeRule=w,g?(a+=" if ("+p+") { ",f.schema=e.schema.then,f.schemaPath=e.schemaPath+".then",f.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'then'; ":E="'then'",a+=" } ",y&&(a+=" else { ")):a+=" if (!"+p+") { ",y&&(f.schema=e.schema.else,f.schemaPath=e.schemaPath+".else",f.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'else'; ":E="'else'",a+=" } "),a+=" if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+E+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match \"' + "+E+" + '\" schema' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } ",u&&(a+=" else { "),a=e.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a}},{}],26:[function(e,r,t){"use strict";r.exports={$ref:e("./ref"),allOf:e("./allOf"),anyOf:e("./anyOf"),$comment:e("./comment"),const:e("./const"),contains:e("./contains"),dependencies:e("./dependencies"),enum:e("./enum"),format:e("./format"),if:e("./if"),items:e("./items"),maximum:e("./_limit"),minimum:e("./_limit"),maxItems:e("./_limitItems"),minItems:e("./_limitItems"),maxLength:e("./_limitLength"),minLength:e("./_limitLength"),maxProperties:e("./_limitProperties"),minProperties:e("./_limitProperties"),multipleOf:e("./multipleOf"),not:e("./not"),oneOf:e("./oneOf"),pattern:e("./pattern"),properties:e("./properties"),propertyNames:e("./propertyNames"),required:e("./required"),uniqueItems:e("./uniqueItems"),validate:e("./validate")}},{"./_limit":12,"./_limitItems":13,"./_limitLength":14,"./_limitProperties":15,"./allOf":16,"./anyOf":17,"./comment":18,"./const":19,"./contains":20,"./dependencies":22,"./enum":23,"./format":24,"./if":25,"./items":27,"./multipleOf":28,"./not":29,"./oneOf":30,"./pattern":31,"./properties":32,"./propertyNames":33,"./ref":34,"./required":35,"./uniqueItems":36,"./validate":37}],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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v="i"+s,g=f.dataLevel=e.dataLevel+1,y="data"+g,P=e.baseId;if(a+="var "+d+" = errors;var "+h+";",Array.isArray(i)){var E=e.schema.additionalItems;if(!1===E){a+=" "+h+" = "+c+".length <= "+i.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems";var S=S||[];S.push(a+=" if (!"+h+") { "),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: "+c+" "),a+=" } "):a+=" {} ";var b=a;a=S.pop(),a+=!e.compositeRule&&u?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=w,u&&(p+="}",a+=" else { ")}var _=i;if(_)for(var F,x=-1,R=_.length-1;x<R;)if(F=_[x+=1],e.util.schemaHasRules(F,e.RULES.all)){a+=" "+m+" = true; if ("+c+".length > "+x+") { ";var $=c+"["+x+"]";f.schema=F,f.schemaPath=n+"["+x+"]",f.errSchemaPath=l+"/"+x,f.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,!0),f.dataPathArr[g]=x;var D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",a+=" } ",u&&(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 ("+c+".length > "+i.length+") { for (var "+v+" = "+i.length+"; "+v+" < "+c+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=c+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",u&&(a+=" if (!"+m+") break; "),a+=" } } ",u&&(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+" < "+c+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=c+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",u&&(a+=" if (!"+m+") break; "),a+=" }"}return u&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],28:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;a=d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n,s+="var division"+o+";if (",d&&(s+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),s+=" (division"+o+" = "+h+" / "+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+=" ) ");var f=f||[];f.push(s+=" ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var p=s;return s=f.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(s+=" else { "),s}},{}],29:[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,u=!e.opts.allErrors,c="data"+(o||""),h="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 "+h+" = errors; ";var p,m=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),a+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=m;var v=v||[];v.push(a+=" if ("+f+") { "),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: "+c+" "),a+=" } "):a+=" {} ";var g=a;a=v.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; 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: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ");return a}},{}],30:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v=f.baseId,g="prevValid"+s,y="passingSchemas"+s;a+="var "+d+" = errors , "+g+" = false , "+h+" = false , "+y+" = null; ";var P=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=i;if(E)for(var w,S=-1,b=E.length-1;S<b;)w=E[S+=1],e.util.schemaHasRules(w,e.RULES.all)?(f.schema=w,f.schemaPath=n+"["+S+"]",f.errSchemaPath=l+"/"+S,a+=" "+e.validate(f)+" ",f.baseId=v):a+=" var "+m+" = true; ",S&&(a+=" if ("+m+" && "+g+") { "+h+" = false; "+y+" = ["+y+", "+S+"]; } else { ",p+="}"),a+=" if ("+m+") { "+h+" = "+g+" = true; "+y+" = "+S+"; }";return e.compositeRule=f.compositeRule=P,a+=p+"if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a}},{}],31:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;a=d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n;var f=d?"(new RegExp("+a+"))":e.usePattern(n);s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'string') || ");var p=p||[];p.push(s+=" !"+f+".test("+h+") ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",s+=d?""+a:""+e.util.toQuotedString(n),s+=" } ",!1!==e.opts.messages&&(s+=" , message: 'should match pattern \"",s+=d?"' + "+a+" + '":""+e.util.escapeQuotes(n),s+="\"' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+e.util.toQuotedString(n),s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?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+="} ",c&&(s+=" else { "),s}},{}],32:[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,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m="key"+s,v="idx"+s,g=d.dataLevel=e.dataLevel+1,y="data"+g,P="dataProperties"+s,E=Object.keys(i||{}),w=e.schema.patternProperties||{},S=Object.keys(w),b=e.schema.additionalProperties,_=E.length||S.length,F=!1===b,x="object"==typeof b&&Object.keys(b).length,R=e.opts.removeAdditional,$=F||x||R,D=e.opts.ownProperties,j=e.baseId,O=e.schema.required;if(O&&(!e.opts.$data||!O.$data)&&O.length<e.opts.loopRequired)var I=e.util.toHash(O);if(a+="var "+h+" = errors;var "+p+" = true;",D&&(a+=" var "+P+" = undefined;"),$){if(a+=D?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+c+") { ",_){if(a+=" var isAdditional"+s+" = !(false ",E.length)if(8<E.length)a+=" || validate.schema"+n+".hasOwnProperty("+m+") ";else{var A=E;if(A)for(var C=-1,k=A.length-1;C<k;)J=A[C+=1],a+=" || "+m+" == "+e.util.toQuotedString(J)+" "}if(S.length){var L=S;if(L)for(var z=-1,T=L.length-1;z<T;)ae=L[z+=1],a+=" || "+e.usePattern(ae)+".test("+m+") "}a+=" ); if (isAdditional"+s+") { "}if("all"==R)a+=" delete "+c+"["+m+"]; ";else{var N=e.errorPath,q="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),F)if(R)a+=" delete "+c+"["+m+"]; ";else{var Q=l;l=e.errSchemaPath+"/additionalProperties",(ee=ee||[]).push(a+=" "+p+" = false; "),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is an invalid additional property":"should NOT have additional properties",a+="' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var U=a;a=ee.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+U+"]); ":" validate.errors = ["+U+"]; return false; ":" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=Q,u&&(a+=" break; ")}else if(x)if("failing"==R){a+=" var "+h+" = errors; ";var V=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var H=c+"["+m+"]";d.dataPathArr[g]=m;var M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",a+=" if (!"+p+") { errors = "+h+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+m+"]; } ",e.compositeRule=d.compositeRule=V}else{d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=c+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",u&&(a+=" if (!"+p+") break; ")}e.errorPath=N}_&&(a+=" } "),a+=" } ",u&&(a+=" if ("+p+") { ",f+="}")}var K=e.opts.useDefaults&&!e.compositeRule;if(E.length){var B=E;if(B)for(var J,Z=-1,G=B.length-1;Z<G;){if(J=B[Z+=1],e.util.schemaHasRules(ie=i[J],e.RULES.all)){var Y=e.util.getProperty(J),W=(H=c+Y,K&&void 0!==ie.default);d.schema=ie,d.schemaPath=n+Y,d.errSchemaPath=l+"/"+e.util.escapeFragment(J),d.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),d.dataPathArr[g]=e.util.toQuotedString(J);M=e.validate(d);if(d.baseId=j,e.util.varOccurences(M,y)<2){M=e.util.varReplace(M,y,H);var X=H}else{X=y;a+=" var "+y+" = "+H+"; "}if(W)a+=" "+M+" ";else{if(I&&I[J]){a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = false; ";N=e.errorPath,Q=l;var ee,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(N,J,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(ee=ee||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+re+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";U=a;a=ee.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+U+"]); ":" validate.errors = ["+U+"]; return false; ":" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=Q,e.errorPath=N,a+=" } else { "}else u?(a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = true; } else { "):(a+=" if ("+X+" !== undefined ",D&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=" ) { ");a+=" "+M+" } "}}u&&(a+=" if ("+p+") { ",f+="}")}}if(S.length){var te=S;if(te)for(var ae,se=-1,oe=te.length-1;se<oe;){var ie;if(ae=te[se+=1],e.util.schemaHasRules(ie=w[ae],e.RULES.all)){d.schema=ie,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ae),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ae),a+=D?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+c+") { ",a+=" if ("+e.usePattern(ae)+".test("+m+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=c+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",u&&(a+=" if (!"+p+") break; "),a+=" } ",u&&(a+=" else "+p+" = true; "),a+=" } ",u&&(a+=" if ("+p+") { ",f+="}")}}}return u&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],33:[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,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(a+="var "+h+" = errors;",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,g="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),P="dataProperties"+s,E=e.opts.ownProperties,w=e.baseId;E&&(a+=" var "+P+" = undefined; "),a+=E?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+p+" = "+P+"["+m+"]; ":" for (var "+p+" in "+c+") { ",a+=" var startErrs"+s+" = errors; ";var S=p,b=e.compositeRule;e.compositeRule=d.compositeRule=!0;var _=e.validate(d);d.baseId=w,e.util.varOccurences(_,y)<2?a+=" "+e.util.varReplace(_,y,S)+" ":a+=" var "+y+" = "+S+"; "+_+" ",e.compositeRule=d.compositeRule=b,a+=" if (!"+f+") { for (var "+v+"=startErrs"+s+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+p+"; } var err = ",!1!==e.createErrors?(a+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+g+"' } ",!1!==e.opts.messages&&(a+=" , message: 'property name \\'"+g+"\\' is invalid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),u&&(a+=" break; "),a+=" } }"}return u&&(a+=" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],34:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.dataLevel,n=e.schema[r],l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),h="valid"+e.level;if("#"==n||"#/"==n)s=e.isRoot?(a=e.async,"validate"):(a=!0===e.root.schema.$async,"root.refVal[0]");else{var d=e.resolveRef(e.baseId,n,e.isRoot);if(void 0===d){var f=e.MissingRefError.message(e.baseId,n);if("fail"==e.opts.missingRefs){e.logger.error(f),(g=g||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { ref: '"+e.util.escapeQuotes(n)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(n)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(n)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),o+=" } "):o+=" {} ";var p=o;o=g.pop(),o+=!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++; ",u&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,n,f);e.logger.warn(f),u&&(o+=" if (true) { ")}}else if(d.inline){var m=e.util.copy(e);m.level++;var v="valid"+m.level;m.schema=d.schema,m.schemaPath="",m.errSchemaPath=n,o+=" "+e.validate(m).replace(/validate\.schema/g,d.code)+" ",u&&(o+=" if ("+v+") { ")}else a=!0===d.$async||e.async&&!1!==d.$async,s=d.code}if(s){var g;(g=g||[]).push(o),o="",o+=e.opts.passContext?" "+s+".call(this, ":" "+s+"( ",o+=" "+c+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var y=o+=" , "+(i?"data"+(i-1||""):"parentData")+" , "+(i?e.dataPathArr[i]:"parentDataProperty")+", rootData) ";if(o=g.pop(),a){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(o+=" var "+h+"; "),o+=" try { await "+y+"; ",u&&(o+=" "+h+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(o+=" "+h+" = false; "),o+=" } ",u&&(o+=" if ("+h+") { ")}else o+=" if (!"+y+") { if (vErrors === null) vErrors = "+s+".errors; else vErrors = vErrors.concat("+s+".errors); errors = vErrors.length; } ",u&&(o+=" else { ")}return o}},{}],35:[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,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="schema"+s;if(!d)if(i.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],m=i;if(m)for(var v,g=-1,y=m.length-1;g<y;){v=m[g+=1];var P=e.schema.properties[v];P&&e.util.schemaHasRules(P,e.RULES.all)||(p[p.length]=v)}}else p=i;if(d||p.length){var E=e.errorPath,w=d||e.opts.loopRequired<=p.length,S=e.opts.ownProperties;if(u)if(a+=" var missing"+s+"; ",w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)),a+=" var "+h+" = true; ",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { "+h+" = "+c+"["+f+"["+x+"]] !== undefined ",S&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", "+f+"["+x+"]) "),a+="; if (!"+h+") break; } ",d&&(a+=" } "),($=$||[]).push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var _=a;a=$.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var F=p;if(F)for(var x=-1,R=F.length-1;x<R;){O=F[x+=1],x&&(a+=" || "),a+=" ( ( "+(k=c+(C=e.util.getProperty(O)))+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:C)+") ) "}a+=") { ";var $;b="' + "+(D="missing"+s)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,D,!0):E+" + "+D),($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";_=a;a=$.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var D;b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,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: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { if ("+c+"["+f+"["+x+"]] === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+f+"["+x+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(a+=" } ")}else{var j=p;if(j)for(var O,I=-1,A=j.length-1;I<A;){O=j[I+=1];var C=e.util.getProperty(O),k=(b=e.util.escapeQuotes(O),c+C);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,O,e.opts.jsonPointers)),a+=" if ( "+k+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=E}else u&&(a+=" if (true) {");return a}},{}],36:[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),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d="valid"+o,f=e.opts.$data&&n&&n.$data;if(a=f?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ","schema"+o):n,(n||f)&&!1!==e.opts.uniqueItems){f&&(s+=" var "+d+"; if ("+a+" === false || "+a+" === undefined) "+d+" = true; else if (typeof "+a+" != 'boolean') "+d+" = false; else { "),s+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,m=Array.isArray(p);if(!p||"object"==p||"array"==p||m&&(0<=p.indexOf("object")||0<=p.indexOf("array")))s+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else s+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ",s+=" if ("+e.util["checkDataType"+(m?"s":"")](p,"item",!0)+") continue; ",m&&(s+=" if (typeof item == 'string') item = '\"' + item; "),s+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ";s+=" } ",f&&(s+=" } ");var v=v||[];v.push(s+=" if (!"+d+") { "),s="",!1!==e.createErrors?(s+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , 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: "+h+" "),s+=" } "):s+=" {} ";var g=s;s=v.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",c&&(s+=" else { ")}else c&&(s+=" if (true) { ");return s}},{}],37:[function(e,r,t){"use strict";r.exports=function(a,e,r){var t="",s=!0===a.schema.$async,o=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),i=a.self._getId(a.schema);if(a.isTop&&(t+=" var validate = ",s&&(a.async=!0,t+="async "),t+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",i&&(a.opts.sourceCode||a.opts.processCode)&&(t+=" /*# sourceURL="+i+" */ ")),"boolean"==typeof a.schema||!o&&!a.schema.$ref){var n=a.level,l=a.dataLevel,u=a.schema[e="false schema"],c=a.schemaPath+a.util.getProperty(e),h=a.errSchemaPath+"/"+e,d=!a.opts.allErrors,f="data"+(l||""),p="valid"+n;if(!1===a.schema){a.isTop?d=!0:t+=" var "+p+" = false; ",(B=B||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: {} ",!1!==a.opts.messages&&(t+=" , message: 'boolean schema is false' "),a.opts.verbose&&(t+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";var m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else t+=a.isTop?s?" return data; ":" validate.errors = null; return true; ":" var "+p+" = true; ";return a.isTop&&(t+=" }; return validate; "),t}if(a.isTop){var v=a.isTop;n=a.level=0,l=a.dataLevel=0,f="data";a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[void 0],t+=" var vErrors = null; ",t+=" var errors = 0; ",t+=" if (rootData === undefined) rootData = data; "}else{n=a.level,f="data"+((l=a.dataLevel)||"");if(i&&(a.baseId=a.resolve.url(a.baseId,i)),s&&!a.async)throw new Error("async schema in sync schema");t+=" var errs_"+n+" = errors;"}p="valid"+n,d=!a.opts.allErrors;var g="",y="",P=a.schema.type,E=Array.isArray(P);if(P&&a.opts.nullable&&!0===a.schema.nullable&&(E?-1==P.indexOf("null")&&(P=P.concat("null")):"null"!=P&&(P=[P,"null"],E=!0)),E&&1==P.length&&(P=P[0],E=!1),a.schema.$ref&&o){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(o=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(t+=" "+a.RULES.all.$comment.code(a,"$comment")),P){if(a.opts.coerceTypes)var w=a.util.coerceToTypes(a.opts.coerceTypes,P);var S=a.RULES.types[P];if(w||E||!0===S||S&&!J(S)){c=a.schemaPath+".type",h=a.errSchemaPath+"/type",c=a.schemaPath+".type",h=a.errSchemaPath+"/type";if(t+=" if ("+a.util[E?"checkDataTypes":"checkDataType"](P,f,!0)+") { ",w){var b="dataType"+n,_="coerced"+n;t+=" var "+b+" = typeof "+f+"; ","array"==a.opts.coerceTypes&&(t+=" if ("+b+" == 'object' && Array.isArray("+f+")) "+b+" = 'array'; "),t+=" var "+_+" = undefined; ";var F="",x=w;if(x)for(var R,$=-1,D=x.length-1;$<D;)R=x[$+=1],$&&(t+=" if ("+_+" === undefined) { ",F+="}"),"array"==a.opts.coerceTypes&&"array"!=R&&(t+=" if ("+b+" == 'array' && "+f+".length == 1) { "+_+" = "+f+" = "+f+"[0]; "+b+" = typeof "+f+"; } "),"string"==R?t+=" if ("+b+" == 'number' || "+b+" == 'boolean') "+_+" = '' + "+f+"; else if ("+f+" === null) "+_+" = ''; ":"number"==R||"integer"==R?(t+=" if ("+b+" == 'boolean' || "+f+" === null || ("+b+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==R&&(t+=" && !("+f+" % 1)"),t+=")) "+_+" = +"+f+"; "):"boolean"==R?t+=" if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+_+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+_+" = true; ":"null"==R?t+=" if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+_+" = null; ":"array"==a.opts.coerceTypes&&"array"==R&&(t+=" if ("+b+" == 'string' || "+b+" == 'number' || "+b+" == 'boolean' || "+f+" == null) "+_+" = ["+f+"]; ");(B=B||[]).push(t+=" "+F+" if ("+_+" === undefined) { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } else { ";var j=l?"data"+(l-1||""):"parentData";t+=" "+f+" = "+_+"; ",l||(t+="if ("+j+" !== undefined)"),t+=" "+j+"["+(l?a.dataPathArr[l]:"parentDataProperty")+"] = "+_+"; } "}else{(B=B||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}t+=" } "}}if(a.schema.$ref&&!o)t+=" "+a.RULES.all.$ref.code(a,"$ref")+" ",d&&(t+=" } if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}");else{var O=a.RULES;if(O)for(var I=-1,A=O.length-1;I<A;)if(J(S=O[I+=1])){if(S.type&&(t+=" if ("+a.util.checkDataType(S.type,f)+") { "),a.opts.useDefaults&&!a.compositeRule)if("object"==S.type&&a.schema.properties){u=a.schema.properties;var C=Object.keys(u);if(C)for(var k,L=-1,z=C.length-1;L<z;){if(void 0!==(N=u[k=C[L+=1]]).default)t+=" if ("+(Q=f+a.util.getProperty(k))+" === undefined ","empty"==a.opts.useDefaults&&(t+=" || "+Q+" === null || "+Q+" === '' "),t+=" ) "+Q+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}else if("array"==S.type&&Array.isArray(a.schema.items)){var T=a.schema.items;if(T){$=-1;for(var N,q=T.length-1;$<q;){var Q;if(void 0!==(N=T[$+=1]).default)t+=" if ("+(Q=f+"["+$+"]")+" === undefined ","empty"==a.opts.useDefaults&&(t+=" || "+Q+" === null || "+Q+" === '' "),t+=" ) "+Q+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}}var U=S.rules;if(U)for(var V,H=-1,M=U.length-1;H<M;)if(Z(V=U[H+=1])){var K=V.code(a,V.keyword,S.type);K&&(t+=" "+K+" ",d&&(g+="}"))}if(d&&(t+=" "+g+" ",g=""),S.type&&(t+=" } ",P&&P===S.type&&!w)){var B;c=a.schemaPath+".type",h=a.errSchemaPath+"/type";(B=B||[]).push(t+=" else { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } "}d&&(t+=" if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}")}}function J(e){for(var r=e.rules,t=0;t<r.length;t++)if(Z(r[t]))return!0}function Z(e){return void 0!==a.schema[e.keyword]||e.implements&&function(e){for(var r=e.implements,t=0;t<r.length;t++)if(void 0!==a.schema[r[t]])return!0}(e)}return d&&(t+=" "+y+" "),v?(s?(t+=" if (errors === 0) return data; ",t+=" else throw new ValidationError(vErrors); "):(t+=" validate.errors = vErrors; ",t+=" return errors === 0; "),t+=" }; return validate;"):t+=" var "+p+" = errors === errs_"+n+";",t=a.util.cleanUpCode(t),v&&(t=a.util.finalCleanUpCode(t,s)),t}},{}],38:[function(e,r,t){"use strict";var c=/^[a-z_$][a-z0-9_$-]*$/i,h=e("./dotjs/custom");r.exports={add:function(e,r){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!c.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(r){if(r.macro&&void 0!==r.valid)throw new Error('"valid" option cannot be used with macro keywords');var t=r.type;if(Array.isArray(t)){var a,s=t.length;for(a=0;a<s;a++)u(t[a]);for(a=0;a<s;a++)l(e,t[a],r)}else t&&u(t),l(e,t,r);var o=!0===r.$data&&this._opts.$data;if(o&&!r.validate)throw new Error('$data support: "validate" function is not defined');var i=r.metaSchema;i&&(o&&(i={anyOf:[i,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),r.validateSchema=this.compile(i,!0))}function l(e,r,t){for(var a,s=0;s<n.length;s++){var o=n[s];if(o.type==r){a=o;break}}a||n.push(a={type:r,rules:[]});var i={keyword:e,definition:t,custom:!0,code:h,implements:t.implements};a.rules.push(i),n.custom[e]=i}function u(e){if(!n.types[e])throw new Error("Unknown type "+e)}return n.keywords[e]=n.all[e]=!0,this},get:function(e){var r=this.RULES.custom[e];return r?r.definition:this.RULES.keywords[e]||!1},remove:function(e){var r=this.RULES;delete r.keywords[e],delete r.all[e],delete r.custom[e];for(var t=0;t<r.length;t++)for(var a=r[t].rules,s=0;s<a.length;s++)if(a[s].keyword==e){a.splice(s,1);break}return this}}},{"./dotjs/custom":21}],39:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}},{}],40:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}},{}],41:[function(e,r,t){"use strict";var f=Array.isArray,p=Object.keys,m=Object.prototype.hasOwnProperty;r.exports=function e(r,t){if(r===t)return!0;if(r&&t&&"object"==typeof r&&"object"==typeof t){var a,s,o,i=f(r),n=f(t);if(i&&n){if((s=r.length)!=t.length)return!1;for(a=s;0!=a--;)if(!e(r[a],t[a]))return!1;return!0}if(i!=n)return!1;var l=r instanceof Date,u=t instanceof Date;if(l!=u)return!1;if(l&&u)return r.getTime()==t.getTime();var c=r instanceof RegExp,h=t instanceof RegExp;if(c!=h)return!1;if(c&&h)return r.toString()==t.toString();var d=p(r);if((s=d.length)!==p(t).length)return!1;for(a=s;0!=a--;)if(!m.call(t,d[a]))return!1;for(a=s;0!=a--;)if(!e(r[o=d[a]],t[o]))return!1;return!0}return r!=r&&t!=t}},{}],42:[function(e,r,t){"use strict";r.exports=function(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});var a,l="boolean"==typeof r.cycles&&r.cycles,u=r.cmp&&(a=r.cmp,function(t){return function(e,r){return a({key:e,value:t[e]},{key:r,value:t[r]})}}),c=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0!==r){if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);var t,a;if(Array.isArray(r)){for(a="[",t=0;t<r.length;t++)t&&(a+=","),a+=e(r[t])||"null";return a+"]"}if(null===r)return"null";if(-1!==c.indexOf(r)){if(l)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=c.push(r)-1,o=Object.keys(r).sort(u&&u(r));for(a="",t=0;t<o.length;t++){var i=o[t],n=e(r[i]);n&&(a&&(a+=","),a+=JSON.stringify(i)+":"+n)}return c.splice(s,1),"{"+a+"}"}}(e)}},{}],43:[function(e,r,t){"use strict";var m=r.exports=function(e,r,t){"function"==typeof r&&(t=r,r={}),function e(r,t,a,s,o,i,n,l,u,c){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var h in t(s,o,i,n,l,u,c),s){var d=s[h];if(Array.isArray(d)){if(h in m.arrayKeywords)for(var f=0;f<d.length;f++)e(r,t,a,d[f],o+"/"+h+"/"+f,i,o,h,s,f)}else if(h in m.propsKeywords){if(d&&"object"==typeof d)for(var p in d)e(r,t,a,d[p],o+"/"+h+"/"+p.replace(/~/g,"~0").replace(/\//g,"~1"),i,o,h,s,p)}else(h in m.keywords||r.allKeys&&!(h in m.skipKeywords))&&e(r,t,a,d,o+"/"+h,i,o,h,s)}a(s,o,i,n,l,u,c)}}(r,"function"==typeof(t=r.cb||t)?t:t.pre||function(){},t.post||function(){},e,"",e)};m.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},m.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},m.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},m.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},{}],44:[function(e,r,t){var a;a=this,function(e){"use strict";function C(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];if(1<r.length){r[0]=r[0].slice(0,-1);for(var a=r.length-1,s=1;s<a;++s)r[s]=r[s].slice(1,-1);return r[a]=r[a].slice(1),r.join("")}return r[0]}function k(e){return"(?:"+e+")"}function a(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function p(e){return e.toUpperCase()}function r(e){var r="[A-Za-z]",t="[0-9]",a=C(t,"[A-Fa-f]"),s=k(k("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+k("%[89A-Fa-f]"+a+"%"+a+a)+"|"+k("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",i=C("[\\:\\/\\?\\#\\[\\]\\@]",o),n=e?"[\\uE000-\\uF8FF]":"[]",l=C(r,t,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),u=k(r+C(r,t,"[\\+\\-\\.]")+"*"),c=k(k(s+"|"+C(l,o,"[\\:]"))+"*"),h=(k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("[1-9]"+t)+"|"+t),k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("0?[1-9]"+t)+"|0?0?"+t)),d=k(h+"\\."+h+"\\."+h+"\\."+h),f=k(a+"{1,4}"),p=k(k(f+"\\:"+f)+"|"+d),m=k([k(k(f+"\\:")+"{6}"+p),k("\\:\\:"+k(f+"\\:")+"{5}"+p),k(k(f)+"?\\:\\:"+k(f+"\\:")+"{4}"+p),k(k(k(f+"\\:")+"{0,1}"+f)+"?\\:\\:"+k(f+"\\:")+"{3}"+p),k(k(k(f+"\\:")+"{0,2}"+f)+"?\\:\\:"+k(f+"\\:")+"{2}"+p),k(k(k(f+"\\:")+"{0,3}"+f)+"?\\:\\:"+f+"\\:"+p),k(k(k(f+"\\:")+"{0,4}"+f)+"?\\:\\:"+p),k(k(k(f+"\\:")+"{0,5}"+f)+"?\\:\\:"+f),k(k(k(f+"\\:")+"{0,6}"+f)+"?\\:\\:")].join("|")),v=k(k(l+"|"+s)+"+"),g=(k(m+"\\%25"+v),k("\\["+k(k(m+k("\\%25|\\%(?!"+a+"{2})")+v)+"|"+m+"|"+k("[vV]"+a+"+\\."+C(l,o,"[\\:]")+"+"))+"\\]")),y=k(k(s+"|"+C(l,o))+"*"),P=k(g+"|"+d+"(?!"+y+")|"+y),E=k(t+"*"),w=k(k(c+"@")+"?"+P+k("\\:"+E)+"?"),S=k(s+"|"+C(l,o,"[\\:\\@]")),b=k(S+"*"),_=k(S+"+"),F=k(k(s+"|"+C(l,o,"[\\@]"))+"+"),x=k(k("\\/"+b)+"*"),R=k("\\/"+k(_+x)+"?"),$=k(F+x),D=k(_+x),j="(?!"+S+")",O=(k(x+"|"+R+"|"+$+"|"+D+"|"+j),k(k(S+"|"+C("[\\/\\?]",n))+"*")),I=k(k(S+"|[\\/\\?]")+"*"),A=k(k("\\/\\/"+w+x)+"|"+R+"|"+D+"|"+j);k(k(u+"\\:"+A+k("\\?"+O)+"?"+k("\\#"+I)+"?")+"|"+k(k(k("\\/\\/"+w+x)+"|"+R+"|"+$+"|"+j)+k("\\?"+O)+"?"+k("\\#"+I)+"?")),k(u+"\\:"+A+k("\\?"+O)+"?"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+$+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k("("+c+")@"),k("\\:("+E+")");return{NOT_SCHEME:new RegExp(C("[^]",r,t,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(C("[^\\%\\:]",l,o),"g"),NOT_HOST:new RegExp(C("[^\\%\\[\\]\\:]",l,o),"g"),NOT_PATH:new RegExp(C("[^\\%\\/\\:\\@]",l,o),"g"),NOT_PATH_NOSCHEME:new RegExp(C("[^\\%\\/\\@]",l,o),"g"),NOT_QUERY:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]",n),"g"),NOT_FRAGMENT:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(C("[^]",l,o),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(C("[^\\%]",l,i),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+m+")"+k(k("\\%25|\\%(?!"+a+"{2})")+"("+v+")")+"?\\]?$")}}var c=r(!1),h=r(!0),w=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],a=!0,s=!1,o=void 0;try{for(var i,n=e[Symbol.iterator]();!(a=(i=n.next()).done)&&(t.push(i.value),!r||t.length!==r);a=!0);}catch(e){s=!0,o=e}finally{try{!a&&n.return&&n.return()}finally{if(s)throw o}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")},A=2147483647,t=/^xn--/,s=/[^\0-\x7E]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=Math.floor,z=String.fromCharCode;function T(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1<t.length&&(a=t[0]+"@",e=t[1]),a+function(e,r){for(var t=[],a=e.length;a--;)t[a]=r(e[a]);return t}((e=e.replace(o,".")).split("."),r).join(".")}function N(e){for(var r=[],t=0,a=e.length;t<a;){var s=e.charCodeAt(t++);if(55296<=s&&s<=56319&&t<a){var o=e.charCodeAt(t++);56320==(64512&o)?r.push(((1023&s)<<10)+(1023&o)+65536):(r.push(s),t--)}else r.push(s)}return r}var q=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},Q=function(e,r,t){var a=0;for(e=t?L(e/700):e>>1,e+=L(e/r);455<e;a+=36)e=L(e/35);return L(a+36*e/(e+38))},l=function(e){var r,t=[],a=e.length,s=0,o=128,i=72,n=e.lastIndexOf("-");n<0&&(n=0);for(var l=0;l<n;++l)128<=e.charCodeAt(l)&&T("not-basic"),t.push(e.charCodeAt(l));for(var u=0<n?n+1:0;u<a;){for(var c=s,h=1,d=36;;d+=36){a<=u&&T("invalid-input");var f=(r=e.charCodeAt(u++))-48<10?r-22:r-65<26?r-65:r-97<26?r-97:36;(36<=f||f>L((A-s)/h))&&T("overflow"),s+=f*h;var p=d<=i?1:i+26<=d?26:d-i;if(f<p)break;var m=36-p;h>L(A/m)&&T("overflow"),h*=m}var v=t.length+1;i=Q(s-c,v,0==c),L(s/v)>A-o&&T("overflow"),o+=L(s/v),s%=v,t.splice(s++,0,o)}return String.fromCodePoint.apply(String,t)},u=function(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var u,c=e[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var h=u.value;h<128&&r.push(z(h))}}catch(e){n=!0,l=e}finally{try{!i&&c.return&&c.return()}finally{if(n)throw l}}var d=r.length,f=d;for(d&&r.push("-");f<t;){var p=A,m=!0,v=!1,g=void 0;try{for(var y,P=e[Symbol.iterator]();!(m=(y=P.next()).done);m=!0){var E=y.value;a<=E&&E<p&&(p=E)}}catch(e){v=!0,g=e}finally{try{!m&&P.return&&P.return()}finally{if(v)throw g}}var w=f+1;p-a>L((A-s)/w)&&T("overflow"),s+=(p-a)*w,a=p;var S=!0,b=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(S=(F=x.next()).done);S=!0){var R=F.value;if(R<a&&++s>A&&T("overflow"),R==a){for(var $=s,D=36;;D+=36){var j=D<=o?1:o+26<=D?26:D-o;if($<j)break;var O=$-j,I=36-j;r.push(z(q(j+O%I,0))),$=L(O/I)}r.push(z(q($,0))),o=Q(s,w,f==d),s=0,++f}}}catch(e){b=!0,_=e}finally{try{!S&&x.return&&x.return()}finally{if(b)throw _}}++s,++a}return r.join("")},v={version:"2.1.0",ucs2:{decode:N,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}(e))}},decode:l,encode:u,toASCII:function(e){return n(e,function(e){return s.test(e)?"xn--"+u(e):e})},toUnicode:function(e){return n(e,function(e){return t.test(e)?l(e.slice(4).toLowerCase()):e})}},d={};function m(e){var r=e.charCodeAt(0);return r<16?"%0"+r.toString(16).toUpperCase():r<128?"%"+r.toString(16).toUpperCase():r<2048?"%"+(r>>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function f(e){for(var r="",t=0,a=e.length;t<a;){var s=parseInt(e.substr(t+1,2),16);if(s<128)r+=String.fromCharCode(s),t+=3;else if(194<=s&&s<224){if(6<=a-t){var o=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&s)<<6|63&o)}else r+=e.substr(t,6);t+=6}else if(224<=s){if(9<=a-t){var i=parseInt(e.substr(t+4,2),16),n=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&s)<<12|(63&i)<<6|63&n)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function g(e,t){function r(e){var r=f(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,m).replace(t.PCT_ENCODED,p)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,m).replace(t.PCT_ENCODED,p)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,m).replace(t.PCT_ENCODED,p)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,m).replace(t.PCT_ENCODED,p)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,m).replace(t.PCT_ENCODED,p)),e}function S(e){return e.replace(/^0*(.*)/,"$1")||"0"}function b(e,r){var t=e.match(r.IPV4ADDRESS)||[],a=w(t,2)[1];return a?a.split(".").map(S).join("."):e}function y(e,r){var t=e.match(r.IPV6ADDRESS)||[],a=w(t,3),s=a[1],o=a[2];if(s){for(var i=s.toLowerCase().split("::").reverse(),n=w(i,2),l=n[0],u=n[1],c=u?u.split(":").map(S):[],h=l.split(":").map(S),d=r.IPV4ADDRESS.test(h[h.length-1]),f=d?7:8,p=h.length-f,m=Array(f),v=0;v<f;++v)m[v]=c[v]||h[p+v]||"";d&&(m[f-1]=b(m[f-1],r));var g=m.reduce(function(e,r,t){if(!r||"0"===r){var a=e[e.length-1];a&&a.index+a.length===t?a.length++:e.push({index:t,length:1})}return e},[]).sort(function(e,r){return r.length-e.length})[0],y=void 0;if(g&&1<g.length){var P=m.slice(0,g.index),E=m.slice(g.index+g.length);y=P.join(":")+"::"+E.join(":")}else y=m.join(":");return o&&(y+="%"+o),y}return e}var P=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,E=void 0==="".match(/(){0}/)[1];function _(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t={},a=!1!==r.iri?h:c;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var s=e.match(P);if(s){E?(t.scheme=s[1],t.userinfo=s[3],t.host=s[4],t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=s[7],t.fragment=s[8],isNaN(t.port)&&(t.port=s[5])):(t.scheme=s[1]||void 0,t.userinfo=-1!==e.indexOf("@")?s[3]:void 0,t.host=-1!==e.indexOf("//")?s[4]:void 0,t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=-1!==e.indexOf("?")?s[7]:void 0,t.fragment=-1!==e.indexOf("#")?s[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?s[4]:void 0)),t.host&&(t.host=y(b(t.host,a),a)),t.reference=void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?"relative":void 0===t.fragment?"absolute":"uri":"same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var o=d[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||o&&o.unicodeSupport)g(t,a);else{if(t.host&&(r.domainHost||o&&o.domainHost))try{t.host=v.toASCII(t.host.replace(a.PCT_ENCODED,f).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}g(t,c)}o&&o.parse&&o.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}var F=/^\.\.?\//,x=/^\/\.(\/|$)/,R=/^\/\.\.(\/|$)/,$=/^\/?(?:.|\n)*?(?=\/|$)/;function D(e){for(var r=[];e.length;)if(e.match(F))e=e.replace(F,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(R))e=e.replace(R,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match($);if(!t)throw new Error("Unexpected dot segment condition");var a=t[0];e=e.slice(a.length),r.push(a)}return r.join("")}function j(r){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=t.iri?h:c,a=[],s=d[(t.scheme||r.scheme||"").toLowerCase()];if(s&&s.serialize&&s.serialize(r,t),r.host)if(e.IPV6ADDRESS.test(r.host));else if(t.domainHost||s&&s.domainHost)try{r.host=t.iri?v.toUnicode(r.host):v.toASCII(r.host.replace(e.PCT_ENCODED,f).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}g(r,e),"suffix"!==t.reference&&r.scheme&&(a.push(r.scheme),a.push(":"));var o,i,n,l=(i=!1!==t.iri?h:c,n=[],void 0!==(o=r).userinfo&&(n.push(o.userinfo),n.push("@")),void 0!==o.host&&n.push(y(b(String(o.host),i),i).replace(i.IPV6ADDRESS,function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"})),"number"==typeof o.port&&(n.push(":"),n.push(o.port.toString(10))),n.length?n.join(""):void 0);if(void 0!==l&&("suffix"!==t.reference&&a.push("//"),a.push(l),r.path&&"/"!==r.path.charAt(0)&&a.push("/")),void 0!==r.path){var u=r.path;t.absolutePath||s&&s.absolutePath||(u=D(u)),void 0===l&&(u=u.replace(/^\/\//,"/%2F")),a.push(u)}return void 0!==r.query&&(a.push("?"),a.push(r.query)),void 0!==r.fragment&&(a.push("#"),a.push(r.fragment)),a.join("")}function O(e,r){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a={};return arguments[3]||(e=_(j(e,t),t),r=_(j(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(a.scheme=r.scheme,a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(a.query=r.path?(a.path="/"===r.path.charAt(0)?D(r.path):(a.path=void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:r.path:"/"+r.path,D(a.path)),r.query):(a.path=e.path,void 0!==r.query?r.query:e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=r.fragment,a}function I(e,r){return e&&e.toString().replace(r&&r.iri?h.PCT_ENCODED:c.PCT_ENCODED,f)}var U={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},V={scheme:"https",domainHost:U.domainHost,parse:U.parse,serialize:U.serialize},H={},M="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",B=k(k("%[EFef]"+K+"%"+K+K+"%"+K+K)+"|"+k("%[89A-Fa-f]"+K+"%"+K+K)+"|"+k("%"+K+K)),J=C("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Z=new RegExp(M,"g"),G=new RegExp(B,"g"),Y=new RegExp(C("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',J),"g"),W=new RegExp(C("[^]",M,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),X=W;function ee(e){var r=f(e);return r.match(Z)?r:e}var re={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n<l;++n){var u=i[n].split("=");switch(u[0]){case"to":for(var c=u[1].split(","),h=0,d=c.length;h<d;++h)a.push(c[h]);break;case"subject":t.subject=I(u[1],r);break;case"body":t.body=I(u[1],r);break;default:s=!0,o[I(u[0],r)]=I(u[1],r)}}s&&(t.headers=o)}t.query=void 0;for(var f=0,p=a.length;f<p;++f){var m=a[f].split("@");if(m[0]=I(m[0]),r.unicodeSupport)m[1]=I(m[1],r).toLowerCase();else try{m[1]=v.toASCII(I(m[1],r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}a[f]=m.join("@")}return t},serialize:function(e,r){var t,a=e,s=null!=(t=e.to)?t instanceof Array?t:"number"!=typeof t.length||t.split||t.setInterval||t.call?[t]:Array.prototype.slice.call(t):[];if(s){for(var o=0,i=s.length;o<i;++o){var n=String(s[o]),l=n.lastIndexOf("@"),u=n.slice(0,l).replace(G,ee).replace(G,p).replace(Y,m),c=n.slice(l+1);try{c=r.iri?v.toUnicode(c):v.toASCII(I(c,r).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+e}s[o]=u+"@"+c}a.path=s.join(",")}var h=e.headers=e.headers||{};e.subject&&(h.subject=e.subject),e.body&&(h.body=e.body);var d=[];for(var f in h)h[f]!==H[f]&&d.push(f.replace(G,ee).replace(G,p).replace(W,m)+"="+h[f].replace(G,ee).replace(G,p).replace(X,m));return d.length&&(a.query=d.join("&")),a}},te=/^([^\:]+)\:(.*)/,ae={scheme:"urn",parse:function(e,r){var t=e.path&&e.path.match(te),a=e;if(t){var s=r.scheme||a.scheme||"urn",o=t[1].toLowerCase(),i=t[2],n=d[s+":"+(r.nid||o)];a.nid=o,a.nss=i,a.path=void 0,n&&(a=n.parse(a,r))}else a.error=a.error||"URN can not be parsed.";return a},serialize:function(e,r){var t=e.nid,a=d[(r.scheme||e.scheme||"urn")+":"+(r.nid||t)];a&&(e=a.serialize(e,r));var s=e;return s.path=(t||r.nid)+":"+e.nss,s}},se=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,oe={scheme:"urn:uuid",parse:function(e,r){var t=e;return t.uuid=t.nss,t.nss=void 0,r.tolerant||t.uuid&&t.uuid.match(se)||(t.error=t.error||"UUID is not valid."),t},serialize:function(e,r){var t=e;return t.nss=(e.uuid||"").toLowerCase(),t}};d[U.scheme]=U,d[V.scheme]=V,d[re.scheme]=re,d[ae.scheme]=ae,d[oe.scheme]=oe,e.SCHEMES=d,e.pctEncChar=m,e.pctDecChars=f,e.parse=_,e.removeDotSegments=D,e.serialize=j,e.resolveComponents=O,e.resolve=function(e,r,t){var a=function(e,r){var t=e;if(r)for(var a in r)t[a]=r[a];return t}({scheme:"null"},t);return j(O(_(e,a),_(r,a),a,!0),a)},e.normalize=function(e,r){return"string"==typeof e?e=j(_(e,r),r):"object"===a(e)&&(e=_(j(e,r),r)),e},e.equal=function(e,r,t){return"string"==typeof e?e=j(_(e,t),t):"object"===a(e)&&(e=j(e,t)),"string"==typeof r?r=j(_(r,t),t):"object"===a(r)&&(r=j(r,t)),e===r},e.escapeComponent=function(e,r){return e&&e.toString().replace(r&&r.iri?h.ESCAPE:c.ESCAPE,m)},e.unescapeComponent=I,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof t&&void 0!==r?t:a.URI=a.URI||{})},{}],ajv:[function(a,e,r){"use strict";var n=a("./compile"),d=a("./compile/resolve"),t=a("./cache"),f=a("./compile/schema_obj"),s=a("fast-json-stable-stringify"),o=a("./compile/formats"),i=a("./compile/rules"),l=a("./data"),u=a("./compile/util");(e.exports=g).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);!0!==t.$async&&(this.errors=t.errors);return s},g.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},g.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var s=0;s<e.length;s++)this.addSchema(e[s],void 0,t,a);return this}var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");return b(this,r=d.normalizeId(r||o)),this._schemas[r]=this._addSchema(e,t,a,!0),this},g.prototype.addMetaSchema=function(e,r,t){return this.addSchema(e,r,t,!0),this},g.prototype.validateSchema=function(e,r){var t=e.$schema;if(void 0!==t&&"string"!=typeof t)throw new Error("$schema must be a string");if(!(t=t||this._opts.defaultMeta||(a=this,s=a._opts.meta,a._opts.defaultMeta="object"==typeof s?a._getId(s)||s:a.getSchema(p)?p:void 0,a._opts.defaultMeta)))return this.logger.warn("meta-schema not available"),!(this.errors=null);var a,s;var o=this.validate(t,e);if(!o&&r){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return o},g.prototype.getSchema=function(e){var r=y(this,e);switch(typeof r){case"object":return r.validate||this._compile(r);case"string":return this.getSchema(r);case"undefined":return function(e,r){var t=d.schema.call(e,{schema:{}},r);if(t){var a=t.schema,s=t.root,o=t.baseId,i=n.call(e,a,s,void 0,o);return e._fragments[r]=new f({ref:r,fragment:!0,schema:a,root:s,baseId:o,validate:i}),i}}(this,e)}},g.prototype.removeSchema=function(e){if(e instanceof RegExp)return P(this,this._schemas,e),P(this,this._refs,e),this;switch(typeof e){case"undefined":return P(this,this._schemas),P(this,this._refs),this._cache.clear(),this;case"string":var r=y(this,e);return r&&this._cache.del(r.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var t=this._opts.serialize,a=t?t(e):e;this._cache.del(a);var s=this._getId(e);s&&(s=d.normalizeId(s),delete this._schemas[s],delete this._refs[s])}return this},g.prototype.addFormat=function(e,r){"string"==typeof r&&(r=new RegExp(r));return this._formats[e]=r,this},g.prototype.errorsText=function(e,r){if(!(e=e||this.errors))return"No errors";for(var t=void 0===(r=r||{}).separator?", ":r.separator,a=void 0===r.dataVar?"data":r.dataVar,s="",o=0;o<e.length;o++){var i=e[o];i&&(s+=a+i.dataPath+" "+i.message+t)}return s.slice(0,-t.length)},g.prototype._addSchema=function(e,r,t,a){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var s=this._opts.serialize,o=s?s(e):e,i=this._cache.get(o);if(i)return i;a=a||!1!==this._opts.addUsedSchema;var n=d.normalizeId(this._getId(e));n&&a&&b(this,n);var l,u=!1!==this._opts.validateSchema&&!r;u&&!(l=n&&n==d.normalizeId(e.$schema))&&this.validateSchema(e,!0);var c=d.ids.call(this,e),h=new f({id:n,schema:e,localRefs:c,cacheKey:o,meta:t});"#"!=n[0]&&a&&(this._refs[n]=h);this._cache.put(o,h),u&&l&&this.validateSchema(e,!0);return h},g.prototype._compile=function(t,e){if(t.compiling)return(t.validate=s).schema=t.schema,s.errors=null,s.root=e||s,!0===t.schema.$async&&(s.$async=!0),s;var r,a;t.compiling=!0,t.meta&&(r=this._opts,this._opts=this._metaOpts);try{a=n.call(this,t.schema,e,t.localRefs)}catch(e){throw delete t.validate,e}finally{t.compiling=!1,t.meta&&(this._opts=r)}return t.validate=a,t.refs=a.refs,t.refVal=a.refVal,t.root=a.root,a;function s(){var e=t.validate,r=e.apply(this,arguments);return s.errors=e.errors,r}},g.prototype.compileAsync=a("./compile/async");var c=a("./keyword");g.prototype.addKeyword=c.add,g.prototype.getKeyword=c.get,g.prototype.removeKeyword=c.remove;var h=a("./compile/error_classes");g.ValidationError=h.Validation,g.MissingRefError=h.MissingRef,g.$dataMetaSchema=l;var p="http://json-schema.org/draft-07/schema",m=["removeAdditional","useDefaults","coerceTypes"],v=["/properties"];function g(e){if(!(this instanceof g))return new g(e);e=this._opts=u.copy(e)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:_,warn:_,error:_};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=o(e.format),this._cache=e.cache||new t,this._loadingSchemas={},this._compilations=[],this.RULES=i(),this._getId=function(e){switch(e.schemaId){case"auto":return S;case"id":return E;default:return w}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=s),this._metaOpts=function(e){for(var r=u.copy(e._opts),t=0;t<m.length;t++)delete r[m[t]];return r}(this),e.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(e){var r;e._opts.$data&&(r=a("./refs/data.json"),e.addMetaSchema(r,r.$id,!0));if(!1===e._opts.meta)return;var t=a("./refs/json-schema-draft-07.json");e._opts.$data&&(t=l(t,v));e.addMetaSchema(t,p,!0),e._refs["http://json-schema.org/schema"]=p}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{const:!0}}),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)}function y(e,r){return r=d.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function P(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 E(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function w(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function S(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 b(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function _(){}},{"./cache":1,"./compile":5,"./compile/async":2,"./compile/error_classes":3,"./compile/formats":4,"./compile/resolve":6,"./compile/rules":7,"./compile/schema_obj":8,"./compile/util":10,"./data":11,"./keyword":38,"./refs/data.json":39,"./refs/json-schema-draft-07.json":40,"fast-json-stable-stringify":42}]},{},[])("ajv")});
//# sourceMappingURL=ajv.min.js.map \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map
index 6738048e86..beff544cff 100644
--- a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map
+++ b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["0"],"names":["f","exports","module","define","amd","window","global","self","this","Ajv","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","Cache","_cache","prototype","put","key","value","get","del","clear","2","MissingRefError","MissingRef","compileAsync","schema","meta","callback","_opts","loadSchema","undefined","loadMetaSchemaOf","then","schemaObj","_addSchema","validate","_compile","ref","missingSchema","added","missingRef","schemaPromise","_loadingSchemas","removePromise","sch","addSchema","_compileAsync","_refs","_schemas","loadMissingSchema","v","$schema","getSchema","$ref","Promise","resolve","./error_classes","3","baseId","message","url","normalizeId","fullPath","errorSubclass","Subclass","Object","create","constructor","Validation","errors","ajv","validation","./resolve","4","util","DATE","DAYS","TIME","HOSTNAME","URI","URITEMPLATE","URL","UUID","JSON_POINTER","JSON_POINTER_URI_FRAGMENT","RELATIVE_JSON_POINTER","formats","mode","copy","date","str","matches","match","year","month","day","time","full","hour","minute","second","fast","date-time","uri","uri-reference","uri-template","email","hostname","ipv4","ipv6","regex","uuid","json-pointer","json-pointer-uri-fragment","relative-json-pointer","dateTime","split","DATE_TIME_SEPARATOR","NOT_URI_FRAGMENT","test","Z_ANCHOR","RegExp","./util","5","errorClasses","stableStringify","validateGenerator","ucs2length","equal","ValidationError","compIndex","root","_compilations","patternCode","patterns","toQuotedString","defaultCode","refValCode","refVal","customRuleCode","vars","arr","statement","compile","localRefs","opts","refs","patternsHash","defaults","defaultsHash","customRules","index","compiling","compilation","callValidate","result","apply","arguments","_formats","RULES","localCompile","cv","$async","sourceCode","source","splice","_schema","_root","isRoot","isTop","schemaPath","errSchemaPath","errorPath","resolveRef","usePattern","useDefault","useCustomRule","logger","processCode","makeValidate","Function","error","_refVal","refCode","refIndex","resolvedRef","rootRefId","addLocalRef","localSchema","inlineRef","inlineRefs","refId","inline","regexStr","valueStr","rule","parentSchema","it","validateSchema","definition","valid","errorsText","macro","keyword","../dotjs/validate","fast-deep-equal","fast-json-stable-stringify","6","SchemaObject","traverse","res","resolveSchema","parse","refPath","_getFullPath","getFullPath","_getId","keys","id","parsedRef","resolveUrl","getJsonPointer","ids","schemaId","baseIds","","fullPaths","allKeys","jsonPtr","rootSchema","parentJsonPtr","parentKeyword","keyIndex","escapeFragment","PREVENT_SCOPE_CHANGE","toHash","fragment","slice","parts","part","unescapeFragment","SIMPLE_INLINED","limit","checkNoRef","item","Array","isArray","countKeys","count","Infinity","normalize","serialize","TRAILING_SLASH_HASH","replace","./schema_obj","json-schema-traverse","uri-js","7","ruleModules","type","rules","maximum","minimum","properties","ALL","all","types","forEach","group","map","implKeywords","k","push","implements","$comment","keywords","concat","custom","../dotjs","8","obj","9","len","pos","charCodeAt","10","checkDataType","dataType","data","negate","EQUAL","AND","OK","NOT","to","checkDataTypes","dataTypes","array","object","null","number","integer","coerceToTypes","optionCoerceTypes","COERCE_TO_TYPES","getProperty","escapeQuotes","varOccurences","dataVar","varReplace","expr","cleanUpCode","out","EMPTY_ELSE","EMPTY_IF_NO_ELSE","EMPTY_IF_WITH_ELSE","finalCleanUpCode","async","ERRORS_REGEXP","REMOVE_ERRORS_ASYNC","RETURN_ASYNC","RETURN_DATA_ASYNC","REMOVE_ERRORS","RETURN_VALID","RETURN_TRUE","ROOTDATA_REGEXP","REMOVE_ROOTDATA","schemaHasRules","schemaHasRulesExcept","exceptKeyword","getPathExpr","currentPath","jsonPointers","isNumber","joinPaths","getPath","prop","path","escapeJsonPointer","getData","$data","lvl","paths","up","jsonPointer","segments","segment","unescapeJsonPointer","decodeURIComponent","encodeURIComponent","hash","IDENTIFIER","SINGLE_QUOTE","b","./ucs2length","11","KEYWORDS","metaSchema","keywordsJsonPointers","JSON","stringify","j","anyOf","12","$keyword","$ruleType","$schemaValue","$lvl","level","$dataLvl","dataLevel","$schemaPath","$errSchemaPath","$breakOnError","allErrors","$isData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","$errorKeyword","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opStr","$opExpr","$$outStack","createErrors","messages","verbose","__err","pop","compositeRule","Math","13","14","unicode","15","16","$it","$closingBraces","$nextValid","$currentBaseId","$allSchemasEmpty","arr1","$sch","$i","l1","17","$valid","$errs","every","$wasComposite","18","19","20","$idx","$dataNxt","$nextData","$nonEmptySchema","$passData","$code","21","$compile","$inline","$macro","$ruleValidate","$validateCode","$rule","$definition","$rDef","$validateSchema","$ruleErrs","$ruleErr","$asyncKeyword","statements","passContext","$parentData","$parentDataProperty","def_callRuleValidate","modifying","def_customError","22","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$deps","$currentErrorPath","$propertyKey","$useData","$prop","$propertyPath","$missingProperty","_errorDataPathProperty","join","arr2","i2","l2","23","$vSchema","24","format","$unknownFormats","unknownFormats","$allowUnknown","$format","$isObject","$formatType","warn","indexOf","$formatRef","25","$thenSch","$elseSch","$thenPresent","$elsePresent","$ifClause","26","allOf","const","contains","dependencies","enum","if","items","maxItems","minItems","maxLength","minLength","maxProperties","minProperties","multipleOf","not","oneOf","pattern","propertyNames","required","uniqueItems","./_limit","./_limitItems","./_limitLength","./_limitProperties","./allOf","./anyOf","./comment","./const","./contains","./dependencies","./enum","./format","./if","./items","./multipleOf","./not","./oneOf","./pattern","./properties","./propertyNames","./ref","./required","./uniqueItems","./validate","27","$additionalItems","additionalItems","$currErrSchemaPath","28","multipleOfPrecision","29","$allErrorsOption","30","$prevValid","$passingSchemas","31","$regexp","32","$key","$dataProperties","$schemaKeys","$pProperties","patternProperties","$pPropertyKeys","$aProperties","additionalProperties","$someProperties","$noAdditional","$additionalIsSchema","$removeAdditional","removeAdditional","$checkAdditional","$required","loopRequired","$requiredHash","i1","$pProperty","$additionalProperty","$useDefaults","useDefaults","arr3","i3","l3","$hasDefault","default","arr4","i4","l4","33","$invalidName","34","$refCode","$refVal","$message","missingRefs","__callValidate","35","$propertySch","$loopRequired","36","$itemType","$typeIsArray","37","$refKeywords","$id","$top","rootId","$closingBraces1","$closingBraces2","$typeSchema","nullable","extendRefs","coerceTypes","$coerceToTypes","$rulesGroup","$shouldUseGroup","$dataType","$coerced","$bracesCoercion","$type","arr5","i5","l5","$shouldUseRule","impl","$ruleImplementsSomeKeyword","38","add","_addRule","ruleGroup","rg","remove","./dotjs/custom","39","description","40","title","definitions","schemaArray","nonNegativeInteger","nonNegativeIntegerDefault0","simpleTypes","stringArray","readOnly","examples","exclusiveMinimum","exclusiveMaximum","contentMediaType","contentEncoding","else","41","keyList","hasProp","hasOwnProperty","arrA","arrB","dateA","Date","dateB","getTime","regexpA","regexpB","toString","42","cmp","cycles","node","seen","toJSON","isFinite","TypeError","seenIndex","sort","43","cb","_traverse","pre","post","arrayKeywords","propsKeywords","skipKeywords","44","merge","_len","sets","_key","xl","x","subexp","typeOf","shift","toLowerCase","toUpperCase","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","USERINFO$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS$","ZONEID$","IP_LITERAL$","REG_NAME$","HOST$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","FRAGMENT$","HIER_PART$","NOT_SCHEME","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","maxInt","regexPunycode","regexNonASCII","regexSeparators","overflow","not-basic","invalid-input","floor","stringFromCharCode","String","fromCharCode","error$1","RangeError","mapDomain","string","fn","ucs2decode","output","counter","extra","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","baseMinusTMin","base","decode","input","codePoint","inputLength","bias","basic","lastIndexOf","oldi","w","baseMinusT","fromCodePoint","encode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","m","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","punycode","version","ucs2","from","toConsumableArray","toASCII","toUnicode","SCHEMES","pctEncChar","chr","pctDecChars","newStr","il","parseInt","substr","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","scheme","userinfo","host","query","_stripLeadingZeros","_normalizeIPv4","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","last","first","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","longestZeroFields","reduce","acc","field","lastLongest","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","uriString","options","iri","reference","port","isNaN","schemeHandler","unicodeSupport","domainHost","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","s","uriTokens","authority","_","$1","$2","charAt","absolutePath","resolveComponents","relative","target","tolerant","unescapeComponent","handler","handler$1","O","VCHAR$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$2","mailtoComponents","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","setInterval","toAddr","atIdx","localPart","domain","name","URN_PARSE","handler$3","urnComponents","nid","nss","uriComponents","handler$4","uuidComponents","baseURI","relativeURI","schemelessOptions","assign","uriA","uriB","escapeComponent","defineProperty","factory","compileSchema","$dataMetaSchema","schemaKeyRef","_meta","_skipValidation","checkUnique","addMetaSchema","skipValidation","throwOrLogError","defaultMeta","META_SCHEMA_ID","keyRef","_getSchemaObj","_fragments","_getSchemaFragment","removeSchema","_removeAllSchemas","cacheKey","addFormat","separator","text","dataPath","shouldAddSchema","cached","addUsedSchema","recursiveMeta","willValidate","currentOpts","_metaOpts","_validate","customKeyword","addKeyword","getKeyword","removeKeyword","META_IGNORE_OPTIONS","META_SUPPORT_DATA","log","noop","console","setLogger","cache","_get$IdOrId","_get$Id","chooseGetId","errorDataPath","metaOpts","getMetaSchemaOptions","addInitialFormats","$dataSchema","addDefaultMetaSchema","optsSchemas","schemas","addInitialSchemas","./cache","./compile","./compile/async","./compile/error_classes","./compile/formats","./compile/resolve","./compile/rules","./compile/schema_obj","./compile/util","./data","./keyword","./refs/data.json","./refs/json-schema-draft-07.json"],"mappings":"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","file":"ajv.min.js"} \ No newline at end of file
+{"version":3,"sources":["0"],"names":["f","exports","module","define","amd","window","global","self","this","Ajv","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","Cache","_cache","prototype","put","key","value","get","del","clear","2","MissingRefError","MissingRef","compileAsync","schema","meta","callback","_opts","loadSchema","undefined","loadMetaSchemaOf","then","schemaObj","_addSchema","validate","_compileAsync","v","sch","$schema","getSchema","$ref","Promise","resolve","_compile","loadMissingSchema","ref","missingSchema","added","missingRef","schemaPromise","_loadingSchemas","removePromise","addSchema","_refs","_schemas","./error_classes","3","baseId","message","url","normalizeId","fullPath","errorSubclass","Subclass","Object","create","constructor","Validation","errors","ajv","validation","./resolve","4","util","DATE","DAYS","TIME","HOSTNAME","URI","URITEMPLATE","URL","UUID","JSON_POINTER","JSON_POINTER_URI_FRAGMENT","RELATIVE_JSON_POINTER","formats","mode","copy","date","str","matches","match","year","month","day","time","full","hour","minute","second","fast","date-time","uri","uri-reference","uri-template","email","hostname","ipv4","ipv6","regex","uuid","json-pointer","json-pointer-uri-fragment","relative-json-pointer","dateTime","split","DATE_TIME_SEPARATOR","NOT_URI_FRAGMENT","test","Z_ANCHOR","RegExp","./util","5","errorClasses","stableStringify","validateGenerator","ucs2length","equal","ValidationError","checkCompiling","root","index","compIndex","compiling","_compilations","endCompiling","splice","patternCode","patterns","toQuotedString","defaultCode","refValCode","refVal","customRuleCode","vars","arr","statement","compile","localRefs","opts","refs","patternsHash","defaults","defaultsHash","customRules","compilation","callValidate","_formats","RULES","localCompile","cv","$async","sourceCode","source","result","apply","arguments","_schema","_root","isRoot","isTop","schemaPath","errSchemaPath","errorPath","resolveRef","usePattern","useDefault","useCustomRule","logger","processCode","makeValidate","Function","error","_refVal","refCode","refIndex","resolvedRef","rootRefId","addLocalRef","localSchema","inlineRef","inlineRefs","refId","inline","regexStr","valueStr","rule","parentSchema","it","validateSchema","definition","valid","errorsText","macro","keyword","../dotjs/validate","fast-deep-equal","fast-json-stable-stringify","6","SchemaObject","traverse","res","resolveSchema","parse","refPath","_getFullPath","getFullPath","_getId","keys","id","parsedRef","resolveUrl","getJsonPointer","ids","schemaId","baseIds","","fullPaths","allKeys","jsonPtr","rootSchema","parentJsonPtr","parentKeyword","keyIndex","escapeFragment","PREVENT_SCOPE_CHANGE","toHash","fragment","slice","parts","part","unescapeFragment","SIMPLE_INLINED","limit","checkNoRef","item","Array","isArray","countKeys","count","Infinity","normalize","serialize","TRAILING_SLASH_HASH","replace","./schema_obj","json-schema-traverse","uri-js","7","ruleModules","type","rules","maximum","minimum","properties","ALL","all","types","forEach","group","map","implKeywords","k","push","implements","$comment","keywords","concat","custom","../dotjs","8","obj","9","len","pos","charCodeAt","10","checkDataType","dataType","data","negate","EQUAL","AND","OK","NOT","to","checkDataTypes","dataTypes","array","object","null","number","integer","coerceToTypes","optionCoerceTypes","COERCE_TO_TYPES","getProperty","escapeQuotes","varOccurences","dataVar","varReplace","expr","cleanUpCode","out","EMPTY_ELSE","EMPTY_IF_NO_ELSE","EMPTY_IF_WITH_ELSE","finalCleanUpCode","async","ERRORS_REGEXP","REMOVE_ERRORS_ASYNC","RETURN_ASYNC","RETURN_DATA_ASYNC","REMOVE_ERRORS","RETURN_VALID","RETURN_TRUE","ROOTDATA_REGEXP","REMOVE_ROOTDATA","schemaHasRules","schemaHasRulesExcept","exceptKeyword","getPathExpr","currentPath","jsonPointers","isNumber","joinPaths","getPath","prop","path","escapeJsonPointer","getData","$data","lvl","paths","up","jsonPointer","segments","segment","unescapeJsonPointer","decodeURIComponent","encodeURIComponent","hash","IDENTIFIER","SINGLE_QUOTE","b","./ucs2length","11","KEYWORDS","metaSchema","keywordsJsonPointers","JSON","stringify","j","anyOf","12","$keyword","$ruleType","$schemaValue","$lvl","level","$dataLvl","dataLevel","$schemaPath","$errSchemaPath","$breakOnError","allErrors","$isData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","$errorKeyword","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opStr","$opExpr","$$outStack","createErrors","messages","verbose","__err","pop","compositeRule","Math","13","14","unicode","15","16","$it","$closingBraces","$nextValid","$currentBaseId","$allSchemasEmpty","arr1","$sch","$i","l1","17","$valid","$errs","every","$wasComposite","18","19","20","$idx","$dataNxt","$nextData","$nonEmptySchema","$passData","$code","21","$compile","$inline","$macro","$ruleValidate","$validateCode","$rule","$definition","$rDef","$validateSchema","$ruleErrs","$ruleErr","$asyncKeyword","statements","passContext","$parentData","$parentDataProperty","def_callRuleValidate","modifying","def_customError","22","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$deps","$currentErrorPath","$propertyKey","$useData","$prop","$propertyPath","$missingProperty","_errorDataPathProperty","join","arr2","i2","l2","23","$vSchema","24","format","$unknownFormats","unknownFormats","$allowUnknown","$format","$isObject","$formatType","warn","indexOf","$formatRef","25","$thenSch","$elseSch","$thenPresent","$elsePresent","$ifClause","26","allOf","const","contains","dependencies","enum","if","items","maxItems","minItems","maxLength","minLength","maxProperties","minProperties","multipleOf","not","oneOf","pattern","propertyNames","required","uniqueItems","./_limit","./_limitItems","./_limitLength","./_limitProperties","./allOf","./anyOf","./comment","./const","./contains","./dependencies","./enum","./format","./if","./items","./multipleOf","./not","./oneOf","./pattern","./properties","./propertyNames","./ref","./required","./uniqueItems","./validate","27","$additionalItems","additionalItems","$currErrSchemaPath","28","multipleOfPrecision","29","$allErrorsOption","30","$prevValid","$passingSchemas","31","$regexp","32","$key","$dataProperties","$schemaKeys","$pProperties","patternProperties","$pPropertyKeys","$aProperties","additionalProperties","$someProperties","$noAdditional","$additionalIsSchema","$removeAdditional","removeAdditional","$checkAdditional","$required","loopRequired","$requiredHash","i1","$pProperty","$additionalProperty","$useDefaults","useDefaults","arr3","i3","l3","$hasDefault","default","arr4","i4","l4","33","$invalidName","34","$refCode","$refVal","$message","missingRefs","__callValidate","35","$propertySch","$loopRequired","36","$itemType","$typeIsArray","37","$refKeywords","$id","$top","rootId","$closingBraces1","$closingBraces2","$typeSchema","nullable","extendRefs","coerceTypes","$coerceToTypes","$rulesGroup","$shouldUseGroup","$dataType","$coerced","$bracesCoercion","$type","arr5","i5","l5","$shouldUseRule","impl","$ruleImplementsSomeKeyword","38","add","_addRule","ruleGroup","rg","remove","./dotjs/custom","39","description","40","title","definitions","schemaArray","nonNegativeInteger","nonNegativeIntegerDefault0","simpleTypes","stringArray","readOnly","examples","exclusiveMinimum","exclusiveMaximum","contentMediaType","contentEncoding","else","41","keyList","hasProp","hasOwnProperty","arrA","arrB","dateA","Date","dateB","getTime","regexpA","regexpB","toString","42","cmp","cycles","node","seen","toJSON","isFinite","TypeError","seenIndex","sort","43","cb","_traverse","pre","post","arrayKeywords","propsKeywords","skipKeywords","44","merge","_len","sets","_key","xl","x","subexp","typeOf","shift","toLowerCase","toUpperCase","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","USERINFO$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS$","ZONEID$","IP_LITERAL$","REG_NAME$","HOST$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","FRAGMENT$","HIER_PART$","NOT_SCHEME","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","maxInt","regexPunycode","regexNonASCII","regexSeparators","overflow","not-basic","invalid-input","floor","stringFromCharCode","String","fromCharCode","error$1","RangeError","mapDomain","string","fn","ucs2decode","output","counter","extra","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","baseMinusTMin","base","decode","input","codePoint","inputLength","bias","basic","lastIndexOf","oldi","w","baseMinusT","fromCodePoint","encode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","m","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","punycode","version","ucs2","from","toConsumableArray","toASCII","toUnicode","SCHEMES","pctEncChar","chr","pctDecChars","newStr","il","parseInt","substr","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","scheme","userinfo","host","query","_stripLeadingZeros","_normalizeIPv4","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","last","first","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","longestZeroFields","reduce","acc","field","lastLongest","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","uriString","options","iri","reference","port","isNaN","schemeHandler","unicodeSupport","domainHost","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","s","uriTokens","authority","_","$1","$2","charAt","absolutePath","resolveComponents","relative","target","tolerant","unescapeComponent","handler","handler$1","O","VCHAR$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$2","mailtoComponents","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","setInterval","toAddr","atIdx","localPart","domain","name","URN_PARSE","handler$3","urnComponents","nid","nss","uriComponents","handler$4","uuidComponents","baseURI","relativeURI","schemelessOptions","assign","uriA","uriB","escapeComponent","defineProperty","factory","compileSchema","$dataMetaSchema","schemaKeyRef","_meta","_skipValidation","checkUnique","addMetaSchema","skipValidation","throwOrLogError","defaultMeta","META_SCHEMA_ID","keyRef","_getSchemaObj","_fragments","_getSchemaFragment","removeSchema","_removeAllSchemas","cacheKey","addFormat","separator","text","dataPath","shouldAddSchema","cached","addUsedSchema","recursiveMeta","willValidate","currentOpts","_metaOpts","_validate","customKeyword","addKeyword","getKeyword","removeKeyword","META_IGNORE_OPTIONS","META_SUPPORT_DATA","log","noop","console","setLogger","cache","_get$IdOrId","_get$Id","chooseGetId","errorDataPath","metaOpts","getMetaSchemaOptions","addInitialFormats","$dataSchema","addDefaultMetaSchema","optsSchemas","schemas","addInitialSchemas","./cache","./compile","./compile/async","./compile/error_classes","./compile/formats","./compile/resolve","./compile/rules","./compile/schema_obj","./compile/util","./data","./keyword","./refs/data.json","./refs/json-schema-draft-07.json"],"mappings":"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","file":"ajv.min.js"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
index 763a09be65..6593d0788d 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
@@ -1,12 +1,36 @@
declare var ajv: {
(options?: ajv.Options): ajv.Ajv;
- new (options?: ajv.Options): ajv.Ajv;
- ValidationError: ValidationError;
- MissingRefError: MissingRefError;
+ new(options?: ajv.Options): ajv.Ajv;
+ ValidationError: typeof AjvErrors.ValidationError;
+ MissingRefError: typeof AjvErrors.MissingRefError;
$dataMetaSchema: object;
}
+declare namespace AjvErrors {
+ class ValidationError extends Error {
+ constructor(errors: Array<ajv.ErrorObject>);
+
+ message: string;
+ errors: Array<ajv.ErrorObject>;
+ ajv: true;
+ validation: true;
+ }
+
+ class MissingRefError extends Error {
+ constructor(baseId: string, ref: string, message?: string);
+ static message: (baseId: string, ref: string) => string;
+
+ message: string;
+ missingRef: string;
+ missingSchema: string;
+ }
+}
+
declare namespace ajv {
+ type ValidationError = AjvErrors.ValidationError;
+
+ type MissingRefError = AjvErrors.MissingRefError;
+
interface Ajv {
/**
* Validate data using schema
@@ -268,11 +292,11 @@ declare namespace ajv {
}
type ErrorParameters = RefParams | LimitParams | AdditionalPropertiesParams |
- DependenciesParams | FormatParams | ComparisonParams |
- MultipleOfParams | PatternParams | RequiredParams |
- TypeParams | UniqueItemsParams | CustomParams |
- PatternRequiredParams | PropertyNamesParams |
- IfParams | SwitchParams | NoParams | EnumParams;
+ DependenciesParams | FormatParams | ComparisonParams |
+ MultipleOfParams | PatternParams | RequiredParams |
+ TypeParams | UniqueItemsParams | CustomParams |
+ PatternRequiredParams | PropertyNamesParams |
+ IfParams | SwitchParams | NoParams | EnumParams;
interface RefParams {
ref: string;
@@ -344,29 +368,11 @@ declare namespace ajv {
caseIndex: number;
}
- interface NoParams {}
+ interface NoParams { }
interface EnumParams {
allowedValues: Array<any>;
}
}
-declare class ValidationError extends Error {
- constructor(errors: Array<ajv.ErrorObject>);
-
- message: string;
- errors: Array<ajv.ErrorObject>;
- ajv: true;
- validation: true;
-}
-
-declare class MissingRefError extends Error {
- constructor(baseId: string, ref: string, message?: string);
- static message: (baseId: string, ref: string) => string;
-
- message: string;
- missingRef: string;
- missingSchema: string;
-}
-
export = ajv;
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js b/tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js
index 911774c855..4b271d5436 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/compile/equal.js
@@ -1,3 +1,5 @@
'use strict';
+// do NOT remove this file - it would break pre-compiled schemas
+// https://github.com/epoberezkin/ajv/issues/889
module.exports = require('fast-deep-equal');
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def b/tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def
index 5ad8d1d2d2..f100cc4bf4 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dot/defaults.def
@@ -1,5 +1,10 @@
{{## def.assignDefault:
- if ({{=$passData}} === undefined)
+ if ({{=$passData}} === undefined
+ {{? it.opts.useDefaults == 'empty' }}
+ || {{=$passData}} === null
+ || {{=$passData}} === ''
+ {{?}}
+ )
{{=$passData}} = {{? it.opts.useDefaults == 'shared' }}
{{= it.useDefault($sch.default) }}
{{??}}
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js
index 20485c8d07..f02a760144 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limit.js
@@ -52,7 +52,8 @@ module.exports = function generate__limit(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -138,7 +139,8 @@ module.exports = function generate__limit(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js
index 2f6f6ce8f2..a27d11886e 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitItems.js
@@ -59,7 +59,8 @@ module.exports = function generate__limitItems(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js
index e6927f39c6..789f3741ed 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitLength.js
@@ -64,7 +64,8 @@ module.exports = function generate__limitLength(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js
index cd8c62a873..11dc939314 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/_limitProperties.js
@@ -59,7 +59,8 @@ module.exports = function generate__limitProperties(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js
index 994b091230..819c6f8a4b 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/anyOf.js
@@ -52,7 +52,8 @@ module.exports = function generate_anyOf(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js
index acad86f79f..15b7c619ff 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/const.js
@@ -38,7 +38,8 @@ module.exports = function generate_const(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js
index 04c6e936f7..8899ce5930 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/contains.js
@@ -60,7 +60,8 @@ module.exports = function generate_contains(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js
index 0623e24403..f3e641e701 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/custom.js
@@ -153,7 +153,8 @@ module.exports = function generate_custom(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -199,7 +200,8 @@ module.exports = function generate_custom(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js
index 58814c6129..fe4dc091ae 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/dependencies.js
@@ -80,7 +80,8 @@ module.exports = function generate_dependencies(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js
index 03f3a8caae..90580b9ff7 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/enum.js
@@ -48,7 +48,8 @@ module.exports = function generate_enum(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js
index 20a467ee29..cd9a5693e7 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/format.js
@@ -132,7 +132,8 @@ module.exports = function generate_format(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/if.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/if.js
index 6f0ea6446d..eff9090b81 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/if.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/if.js
@@ -82,7 +82,8 @@ module.exports = function generate_if(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js
index 77be5e214a..99ce738544 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/items.js
@@ -43,7 +43,8 @@ module.exports = function generate_items(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js
index df5a315444..af087d2c3a 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/multipleOf.js
@@ -59,7 +59,8 @@ module.exports = function generate_multipleOf(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js
index 67add9f672..c8f8af7f04 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/not.js
@@ -47,7 +47,8 @@ module.exports = function generate_not(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js
index b6be640923..e9df4532c8 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/oneOf.js
@@ -57,7 +57,8 @@ module.exports = function generate_oneOf(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js
index 76b7794e0e..1d74d6b04b 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/pattern.js
@@ -57,7 +57,8 @@ module.exports = function generate_pattern(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js
index 409692fce2..7d2ea869b9 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/properties.js
@@ -109,7 +109,8 @@ module.exports = function generate_properties(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -239,7 +240,8 @@ module.exports = function generate_properties(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js
index 547d5dd0ad..c86a8cb69c 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/propertyNames.js
@@ -61,7 +61,8 @@ module.exports = function generate_propertyNames(it, $keyword, $ruleType) {
out += ' {} ';
}
out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError(vErrors); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js
index cac481186b..8042a47882 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/ref.js
@@ -40,7 +40,8 @@ module.exports = function generate_ref(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js
index 15b36bb7a7..68cedb3f1c 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/required.js
@@ -89,7 +89,8 @@ module.exports = function generate_required(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -148,7 +149,8 @@ module.exports = function generate_required(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js
index d2dedf5a7c..c4f6536b47 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/uniqueItems.js
@@ -63,7 +63,8 @@ module.exports = function generate_uniqueItems(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js
index 019c193ac1..1402b6a15a 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js
@@ -49,7 +49,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -205,7 +206,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -252,7 +254,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
@@ -301,7 +304,11 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
var $sch = $schema[$propertyKey];
if ($sch.default !== undefined) {
var $passData = $data + it.util.getProperty($propertyKey);
- out += ' if (' + ($passData) + ' === undefined) ' + ($passData) + ' = ';
+ out += ' if (' + ($passData) + ' === undefined ';
+ if (it.opts.useDefaults == 'empty') {
+ out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' ';
+ }
+ out += ' ) ' + ($passData) + ' = ';
if (it.opts.useDefaults == 'shared') {
out += ' ' + (it.useDefault($sch.default)) + ' ';
} else {
@@ -320,7 +327,11 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
$sch = arr4[$i += 1];
if ($sch.default !== undefined) {
var $passData = $data + '[' + $i + ']';
- out += ' if (' + ($passData) + ' === undefined) ' + ($passData) + ' = ';
+ out += ' if (' + ($passData) + ' === undefined ';
+ if (it.opts.useDefaults == 'empty') {
+ out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' ';
+ }
+ out += ' ) ' + ($passData) + ' = ';
if (it.opts.useDefaults == 'shared') {
out += ' ' + (it.useDefault($sch.default)) + ' ';
} else {
@@ -388,7 +399,8 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
}
var __err = out;
out = $$outStack.pop();
- if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
+ if (!it.compositeRule && $breakOnError) {
+ /* istanbul ignore if */
if (it.async) {
out += ' throw new ValidationError([' + (__err) + ']); ';
} else {
diff --git a/tools/node_modules/eslint/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/ajv/package.json
index 4c215a2778..85c7b9fce1 100644
--- a/tools/node_modules/eslint/node_modules/ajv/package.json
+++ b/tools/node_modules/eslint/node_modules/ajv/package.json
@@ -91,10 +91,10 @@
"test-fast": "AJV_FAST_TEST=true npm run test-spec",
"test-karma": "karma start",
"test-spec": "mocha spec/*.spec.js -R spec",
- "test-ts": "tsc --target ES5 --noImplicitAny lib/ajv.d.ts",
+ "test-ts": "tsc --target ES5 --noImplicitAny --noEmit spec/typescript/index.ts",
"watch": "watch 'npm run build' ./lib/dot"
},
"tonicExampleFilename": ".tonic_example.js",
"typings": "lib/ajv.d.ts",
- "version": "6.6.2"
+ "version": "6.7.0"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/chalk/index.js.flow b/tools/node_modules/eslint/node_modules/chalk/index.js.flow
index 872a156285..622caaa2e8 100644
--- a/tools/node_modules/eslint/node_modules/chalk/index.js.flow
+++ b/tools/node_modules/eslint/node_modules/chalk/index.js.flow
@@ -1,4 +1,4 @@
-// @flow
+// @flow strict
type TemplateStringsArray = $ReadOnlyArray<string>;
diff --git a/tools/node_modules/eslint/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/chalk/package.json
index 224bf8d87a..270fecdc34 100644
--- a/tools/node_modules/eslint/node_modules/chalk/package.json
+++ b/tools/node_modules/eslint/node_modules/chalk/package.json
@@ -67,7 +67,7 @@
"test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava"
},
"types": "types/index.d.ts",
- "version": "2.4.1",
+ "version": "2.4.2",
"xo": {
"envs": [
"node",
diff --git a/tools/node_modules/eslint/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/globals/globals.json
index 2619096e68..b1f7a2972f 100644
--- a/tools/node_modules/eslint/node_modules/globals/globals.json
+++ b/tools/node_modules/eslint/node_modules/globals/globals.json
@@ -485,7 +485,7 @@
"KeyframeEffectReadOnly": false,
"length": false,
"localStorage": false,
- "location": false,
+ "location": true,
"Location": false,
"locationbar": false,
"matchMedia": false,
@@ -931,6 +931,7 @@
"XSLTProcessor": false
},
"worker": {
+ "addEventListener": false,
"applicationCache": false,
"atob": false,
"Blob": false,
@@ -986,6 +987,7 @@
"postMessage": true,
"Promise": false,
"queueMicrotask": false,
+ "removeEventListener": false,
"Request": false,
"Response": false,
"self": true,
@@ -1363,25 +1365,99 @@
"Ref": false
},
"serviceworker": {
+ "addEventListener": false,
+ "applicationCache": false,
+ "atob": false,
+ "Blob": false,
+ "BroadcastChannel": false,
+ "btoa": false,
"Cache": false,
"caches": false,
"CacheStorage": false,
+ "clearInterval": false,
+ "clearTimeout": false,
"Client": false,
"clients": false,
"Clients": false,
+ "close": true,
+ "console": false,
"ExtendableEvent": false,
"ExtendableMessageEvent": false,
+ "fetch": false,
"FetchEvent": false,
+ "FileReaderSync": false,
+ "FormData": false,
+ "Headers": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "ImageData": false,
"importScripts": false,
+ "indexedDB": false,
+ "location": false,
+ "MessageChannel": false,
+ "MessagePort": false,
+ "name": false,
+ "navigator": false,
+ "Notification": false,
+ "onclose": true,
+ "onconnect": true,
+ "onerror": true,
+ "onfetch": true,
+ "oninstall": true,
+ "onlanguagechange": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onnotificationclick": true,
+ "onnotificationclose": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpush": true,
+ "onpushsubscriptionchange": true,
+ "onrejectionhandled": true,
+ "onsync": true,
+ "onunhandledrejection": true,
+ "performance": false,
+ "Performance": false,
+ "PerformanceEntry": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceTiming": false,
+ "postMessage": true,
+ "Promise": false,
+ "queueMicrotask": false,
"registration": false,
+ "removeEventListener": false,
+ "Request": false,
+ "Response": false,
"self": false,
"ServiceWorker": false,
"ServiceWorkerContainer": false,
"ServiceWorkerGlobalScope": false,
"ServiceWorkerMessageEvent": false,
"ServiceWorkerRegistration": false,
+ "setInterval": false,
+ "setTimeout": false,
"skipWaiting": false,
- "WindowClient": false
+ "TextDecoder": false,
+ "TextEncoder": false,
+ "URL": false,
+ "URLSearchParams": false,
+ "WebSocket": false,
+ "WindowClient": false,
+ "Worker": false,
+ "WorkerGlobalScope": false,
+ "XMLHttpRequest": false
},
"atomtest": {
"advanceClock": false,
diff --git a/tools/node_modules/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json
index 958e4c737e..b590fd2490 100644
--- a/tools/node_modules/eslint/node_modules/globals/package.json
+++ b/tools/node_modules/eslint/node_modules/globals/package.json
@@ -41,7 +41,7 @@
"scripts": {
"test": "xo && ava"
},
- "version": "11.9.0",
+ "version": "11.10.0",
"xo": {
"ignores": [
"get-browser-globals.js"
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/README.md b/tools/node_modules/eslint/node_modules/js-yaml/README.md
index c165c3576a..03a9e5ae7f 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/README.md
+++ b/tools/node_modules/eslint/node_modules/js-yaml/README.md
@@ -104,7 +104,7 @@ options:
- `filename` _(default: null)_ - string to be used as a file path in
error/warning messages.
- `onWarning` _(default: null)_ - function to call on warning messages.
- Loader will throw on warnings if this function is not provided.
+ Loader will call this function with an instance of `YAMLException` for each warning.
- `schema` _(default: `DEFAULT_SAFE_SCHEMA`)_ - specifies a schema to use.
- `FAILSAFE_SCHEMA` - only strings, arrays and plain objects:
http://www.yaml.org/spec/1.2/spec.html#id2802346
@@ -170,6 +170,7 @@ disable exceptions by setting the `skipInvalid` option to `true`.
options:
- `indent` _(default: 2)_ - indentation width to use (in spaces).
+- `noArrayIndent` _(default: false)_ - when true, will not add an indentation level to array elements
- `skipInvalid` _(default: false)_ - do not throw on invalid types (like function
in the safe schema) and skip pairs and single values with such types.
- `flowLevel` (default: -1) - specifies level of nesting, when to switch from
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js
index 0c9e648bd0..0f8df899c9 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.js
@@ -1,4 +1,4 @@
-/* js-yaml 3.12.0 https://github.com/nodeca/js-yaml */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.jsyaml = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
+/* js-yaml 3.12.1 https://github.com/nodeca/js-yaml */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.jsyaml = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
'use strict';
@@ -208,16 +208,17 @@ function encodeHex(character) {
}
function State(options) {
- this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;
- this.indent = Math.max(1, (options['indent'] || 2));
- this.skipInvalid = options['skipInvalid'] || false;
- this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);
- this.styleMap = compileStyleMap(this.schema, options['styles'] || null);
- this.sortKeys = options['sortKeys'] || false;
- this.lineWidth = options['lineWidth'] || 80;
- this.noRefs = options['noRefs'] || false;
- this.noCompatMode = options['noCompatMode'] || false;
- this.condenseFlow = options['condenseFlow'] || false;
+ this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;
+ this.indent = Math.max(1, (options['indent'] || 2));
+ this.noArrayIndent = options['noArrayIndent'] || false;
+ this.skipInvalid = options['skipInvalid'] || false;
+ this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);
+ this.styleMap = compileStyleMap(this.schema, options['styles'] || null);
+ this.sortKeys = options['sortKeys'] || false;
+ this.lineWidth = options['lineWidth'] || 80;
+ this.noRefs = options['noRefs'] || false;
+ this.noCompatMode = options['noCompatMode'] || false;
+ this.condenseFlow = options['condenseFlow'] || false;
this.implicitTypes = this.schema.compiledImplicit;
this.explicitTypes = this.schema.compiledExplicit;
@@ -837,13 +838,14 @@ function writeNode(state, level, object, block, compact, iskey) {
}
}
} else if (type === '[object Array]') {
+ var arrayLevel = (state.noArrayIndent) ? level - 1 : level;
if (block && (state.dump.length !== 0)) {
- writeBlockSequence(state, level, state.dump, compact);
+ writeBlockSequence(state, arrayLevel, state.dump, compact);
if (duplicate) {
state.dump = '&ref_' + duplicateIndex + state.dump;
}
} else {
- writeFlowSequence(state, level, state.dump);
+ writeFlowSequence(state, arrayLevel, state.dump);
if (duplicate) {
state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;
}
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js
index 0dcb7bac58..e08603cadb 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/dist/js-yaml.min.js
@@ -1 +1 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).jsyaml=e()}}(function(){return function o(a,s,c){function u(t,e){if(!s[t]){if(!a[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(l)return l(t,!0);var i=new Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[t]={exports:{}};a[t][0].call(r.exports,function(e){return u(a[t][1][e]||e)},r,r.exports,o,a,s,c)}return s[t].exports}for(var l="function"==typeof require&&require,e=0;e<c.length;e++)u(c[e]);return u}({1:[function(e,t,n){"use strict";var i=e("./js-yaml/loader"),r=e("./js-yaml/dumper");function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t,n){"use strict";function i(e){return null==e}t.exports.isNothing=i,t.exports.isObject=function(e){return"object"==typeof e&&null!==e},t.exports.toArray=function(e){return Array.isArray(e)?e:i(e)?[]:[e]},t.exports.repeat=function(e,t){var n,i="";for(n=0;n<t;n+=1)i+=e;return i},t.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},t.exports.extend=function(e,t){var n,i,r,o;if(t)for(n=0,i=(o=Object.keys(t)).length;n<i;n+=1)e[r=o[n]]=t[r];return e}},{}],3:[function(e,t,n){"use strict";var c=e("./common"),d=e("./exception"),i=e("./schema/default_full"),r=e("./schema/default_safe"),l=Object.prototype.toString,u=Object.prototype.hasOwnProperty,o=9,h=10,a=32,m=33,g=34,y=35,x=37,v=38,A=39,b=42,w=44,C=45,k=58,j=62,S=63,I=64,E=91,O=93,F=96,_=123,N=124,M=125,s={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},p=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function f(e){var t,n,i;if(t=e.toString(16).toUpperCase(),e<=255)n="x",i=2;else if(e<=65535)n="u",i=4;else{if(!(e<=4294967295))throw new d("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+c.repeat("0",i-t.length)+t}function T(e){this.schema=e.schema||i,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=c.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},r=0,o=(i=Object.keys(t)).length;r<o;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&u.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function L(e,t){for(var n,i=c.repeat(" ",t),r=0,o=-1,a="",s=e.length;r<s;)-1===(o=e.indexOf("\n",r))?(n=e.slice(r),r=s):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function D(e,t){return"\n"+c.repeat(" ",e.indent*t)}function U(e){return e===a||e===o}function q(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function Y(e){return q(e)&&65279!==e&&e!==w&&e!==E&&e!==O&&e!==_&&e!==M&&e!==k&&e!==y}function R(e){return/^\n* /.test(e)}var B=1,P=2,W=3,K=4,$=5;function H(e,t,n,i,r){var o,a,s,c=!1,u=!1,l=-1!==i,p=-1,f=q(s=e.charCodeAt(0))&&65279!==s&&!U(s)&&s!==C&&s!==S&&s!==k&&s!==w&&s!==E&&s!==O&&s!==_&&s!==M&&s!==y&&s!==v&&s!==b&&s!==m&&s!==N&&s!==j&&s!==A&&s!==g&&s!==x&&s!==I&&s!==F&&!U(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(!q(a=e.charCodeAt(o)))return $;f=f&&Y(a)}else{for(o=0;o<e.length;o++){if((a=e.charCodeAt(o))===h)c=!0,l&&(u=u||i<o-p-1&&" "!==e[p+1],p=o);else if(!q(a))return $;f=f&&Y(a)}u=u||l&&i<o-p-1&&" "!==e[p+1]}return c||u?9<n&&R(e)?$:u?K:W:f&&!r(e)?B:P}function G(i,r,o,a){i.dump=function(){if(0===r.length)return"''";if(!i.noCompatMode&&-1!==p.indexOf(r))return"'"+r+"'";var e=i.indent*Math.max(1,o),t=-1===i.lineWidth?-1:Math.max(Math.min(i.lineWidth,40),i.lineWidth-e),n=a||-1<i.flowLevel&&o>=i.flowLevel;switch(H(r,n,i.indent,t,function(e){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n<i;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(i,e)})){case B:return r;case P:return"'"+r.replace(/'/g,"''")+"'";case W:return"|"+V(r,i.indent)+Z(L(r,e));case K:return">"+V(r,i.indent)+Z(L(function(e,t){var n,i,r=/(\n+)([^\n]*)/g,o=(s=e.indexOf("\n"),s=-1!==s?s:e.length,r.lastIndex=s,z(e.slice(0,s),t)),a="\n"===e[0]||" "===e[0];var s;for(;i=r.exec(e);){var c=i[1],u=i[2];n=" "===u[0],o+=c+(a||n||""===u?"":"\n")+z(u,t),a=n}return o}(r,t),e));case $:return'"'+function(e){for(var t,n,i,r="",o=0;o<e.length;o++)55296<=(t=e.charCodeAt(o))&&t<=56319&&56320<=(n=e.charCodeAt(o+1))&&n<=57343?(r+=f(1024*(t-55296)+n-56320+65536),o++):(i=s[t],r+=!i&&q(t)?e[o]:i||f(t));return r}(r)+'"';default:throw new d("impossible error: invalid scalar style")}}()}function V(e,t){var n=R(e)?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function Z(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function z(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,c="";n=r.exec(e);)t<(s=n.index)-o&&(i=o<a?a:s,c+="\n"+e.slice(o,i),o=i+1),a=s;return c+="\n",e.length-o>t&&o<a?c+=e.slice(o,a)+"\n"+e.slice(a+1):c+=e.slice(o),c.slice(1)}function J(e,t,n){var i,r,o,a,s,c;for(o=0,a=(r=n?e.explicitTypes:e.implicitTypes).length;o<a;o+=1)if(((s=r[o]).instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===l.call(s.represent))i=s.represent(t,c);else{if(!u.call(s.represent,c))throw new d("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function Q(e,t,n,i,r,o){e.tag=null,e.dump=n,J(e,n,!1)||J(e,n,!0);var a=l.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(c=-1!==(s=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&0<t)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(!function(e,t,n,i){var r,o,a,s,c,u,l="",p=e.tag,f=Object.keys(n);if(!0===e.sortKeys)f.sort();else if("function"==typeof e.sortKeys)f.sort(e.sortKeys);else if(e.sortKeys)throw new d("sortKeys must be a boolean or a function");for(r=0,o=f.length;r<o;r+=1)u="",i&&0===r||(u+=D(e,t)),s=n[a=f[r]],Q(e,t+1,a,!0,!0,!0)&&((c=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&h===e.dump.charCodeAt(0)?u+="?":u+="? "),u+=e.dump,c&&(u+=D(e,t)),Q(e,t+1,s,!0,c)&&(e.dump&&h===e.dump.charCodeAt(0)?u+=":":u+=": ",l+=u+=e.dump));e.tag=p,e.dump=l||"{}"}(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(!function(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;i<r;i+=1)s=e.condenseFlow?'"':"",0!==i&&(s+=", "),a=n[o=l[i]],Q(e,t,o,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Q(e,t,a,!1,!1)&&(c+=s+=e.dump));e.tag=u,e.dump="{"+c+"}"}(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(!function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r<o;r+=1)Q(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=D(e,t)),e.dump&&h===e.dump.charCodeAt(0)?a+="-":a+="- ",a+=e.dump);e.tag=s,e.dump=a||"[]"}(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(!function(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;i<r;i+=1)Q(e,t,n[i],!1,!1)&&(0!==i&&(o+=","+(e.condenseFlow?"":" ")),o+=e.dump);e.tag=a,e.dump="["+o+"]"}(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new d("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&G(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function X(e,t){var n,i,r=[],o=[];for(function e(t,n,i){var r,o,a;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===i.indexOf(o)&&i.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o<a;o+=1)e(t[o],n,i);else for(r=Object.keys(t),o=0,a=r.length;o<a;o+=1)e(t[r[o]],n,i)}(e,r,o),n=0,i=o.length;n<i;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function ee(e,t){var n=new T(t=t||{});return n.noRefs||X(e,n),Q(n,0,e,!0,!0)?n.dump+"\n":""}t.exports.dump=ee,t.exports.safeDump=function(e,t){return ee(e,c.extend({schema:r},t))}},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}((i.prototype=Object.create(Error.prototype)).constructor=i).prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";var g=e("./common"),i=e("./exception"),r=e("./mark"),o=e("./schema/default_safe"),a=e("./schema/default_full"),y=Object.prototype.hasOwnProperty,x=1,v=2,A=3,b=4,w=1,C=2,k=3,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,s=/[\x85\u2028\u2029]/,u=/[,\[\]\{\}]/,l=/^(?:!|!!|![a-z\-]+!)$/i,p=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function j(e){return 10===e||13===e}function S(e){return 9===e||32===e}function I(e){return 9===e||32===e||10===e||13===e}function E(e){return 44===e||91===e||93===e||123===e||125===e}function f(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}for(var O=new Array(256),F=new Array(256),d=0;d<256;d++)O[d]=f(d)?1:0,F[d]=f(d);function h(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||a,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function m(e,t){return new i(t,new r(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw m(e,t)}function N(e,t){e.onWarning&&e.onWarning.call(null,m(e,t))}var M={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&N(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],l.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),y.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),p.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function T(e,t,n,i){var r,o,a,s;if(t<n){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;r<o;r+=1)9===(a=s.charCodeAt(r))||32<=a&&a<=1114111||_(e,"expected valid JSON character");else c.test(s)&&_(e,"the stream contains non-printable characters");e.result+=s}}function L(e,t,n,i){var r,o,a,s;for(g.isObject(n)||_(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,s=(r=Object.keys(n)).length;a<s;a+=1)o=r[a],y.call(t,o)||(t[o]=n[o],i[o]=!0)}function D(e,t,n,i,r,o,a,s){var c,u;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(c=0,u=o.length;c<u;c+=1)L(e,t,o[c],n);else L(e,t,o,n);else e.json||y.call(n,r)||!y.call(t,r)||(e.line=a||e.line,e.position=s||e.position,_(e,"duplicated mapping key")),t[r]=o,delete n[r];return t}function U(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):_(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function q(e,t,n){for(var i=0,r=e.input.charCodeAt(e.position);0!==r;){for(;S(r);)r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!j(r))break;for(U(e),r=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==n&&0!==i&&e.lineIndent<n&&N(e,"deficient indentation"),i}function Y(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!I(t)))}function R(e,t){1===t?e.result+=" ":1<t&&(e.result+=g.repeat("\n",t-1))}function B(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&I(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,q(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,A,!1,!0),a.push(e.result),q(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=r,e.anchor=o,e.kind="sequence",e.result=a,!0)}function P(e){var t,n,i,r,o=!1,a=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&_(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(o=!0,r=e.input.charCodeAt(++e.position)):33===r?(a=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,o){for(;0!==(r=e.input.charCodeAt(++e.position))&&62!==r;);e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):_(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!I(r);)33===r&&(a?_(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),l.test(n)||_(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),u.test(i)&&_(e,"tag suffix cannot contain flow indicator characters")}return i&&!p.test(i)&&_(e,"tag name cannot contain such characters: "+i),o?e.tag=i:y.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:_(e,'undeclared tag handle "'+n+'"'),!0}function W(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&_(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!I(n)&&!E(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function K(e,t,n,i,r){var o,a,s,c,u,l,p,f,d=1,h=!1,m=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=b===n||A===n,i&&q(e,!0,-1)&&(h=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;P(e)||W(e);)q(e,!0,-1)?(h=!0,s=o,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):s=!1;if(s&&(s=h||r),1!==d&&b!==n||(p=x===n||v===n?t:t+1,f=e.position-e.lineStart,1===d?s&&(B(e,f)||function(e,t,n){var i,r,o,a,s,c=e.tag,u=e.anchor,l={},p={},f=null,d=null,h=null,m=!1,g=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=l),s=e.input.charCodeAt(e.position);0!==s;){if(i=e.input.charCodeAt(e.position+1),o=e.line,a=e.position,63!==s&&58!==s||!I(i)){if(!K(e,n,v,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);S(s);)s=e.input.charCodeAt(++e.position);if(58===s)I(s=e.input.charCodeAt(++e.position))||_(e,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(D(e,l,p,f,d,null),f=d=h=null),r=m=!(g=!0),f=e.tag,d=e.result;else{if(!g)return e.tag=c,e.anchor=u,!0;_(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!g)return e.tag=c,e.anchor=u,!0;_(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(m&&(D(e,l,p,f,d,null),f=d=h=null),r=m=g=!0):m?r=!(m=!1):_(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=i;if((e.line===o||e.lineIndent>t)&&(K(e,t,b,!0,r)&&(m?d=e.result:h=e.result),m||(D(e,l,p,f,d,h,o,a),f=d=h=null),q(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return m&&D(e,l,p,f,d,null),g&&(e.tag=c,e.anchor=u,e.kind="mapping",e.result=l),g}(e,f,p))||function(e,t){var n,i,r,o,a,s,c,u,l,p,f=!0,d=e.tag,h=e.anchor,m={};if(91===(p=e.input.charCodeAt(e.position)))s=!(r=93),i=[];else{if(123!==p)return!1;r=125,s=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),p=e.input.charCodeAt(++e.position);0!==p;){if(q(e,!0,t),(p=e.input.charCodeAt(e.position))===r)return e.position++,e.tag=d,e.anchor=h,e.kind=s?"mapping":"sequence",e.result=i,!0;f||_(e,"missed comma between flow collection entries"),l=null,o=a=!1,63===p&&I(e.input.charCodeAt(e.position+1))&&(o=a=!0,e.position++,q(e,!0,t)),n=e.line,K(e,t,x,!1,!0),u=e.tag,c=e.result,q(e,!0,t),p=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==p||(o=!0,p=e.input.charCodeAt(++e.position),q(e,!0,t),K(e,t,x,!1,!0),l=e.result),s?D(e,i,m,u,c,l):o?i.push(D(e,null,m,u,c,l)):i.push(c),q(e,!0,t),44===(p=e.input.charCodeAt(e.position))?(f=!0,p=e.input.charCodeAt(++e.position)):f=!1}_(e,"unexpected end of the stream within a flow collection")}(e,p)?m=!0:(a&&function(e,t){var n,i,r,o,a,s=w,c=!1,u=!1,l=t,p=0,f=!1;if(124===(o=e.input.charCodeAt(e.position)))i=!1;else{if(62!==o)return!1;i=!0}for(e.kind="scalar",e.result="";0!==o;)if(43===(o=e.input.charCodeAt(++e.position))||45===o)w===s?s=43===o?k:C:_(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=48<=(a=o)&&a<=57?a-48:-1)))break;0===r?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?_(e,"repeat of an indentation width identifier"):(l=t+r-1,u=!0)}if(S(o)){for(;S(o=e.input.charCodeAt(++e.position)););if(35===o)for(;!j(o=e.input.charCodeAt(++e.position))&&0!==o;);}for(;0!==o;){for(U(e),e.lineIndent=0,o=e.input.charCodeAt(e.position);(!u||e.lineIndent<l)&&32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position);if(!u&&e.lineIndent>l&&(l=e.lineIndent),j(o))p++;else{if(e.lineIndent<l){s===k?e.result+=g.repeat("\n",c?1+p:p):s===w&&c&&(e.result+="\n");break}for(i?S(o)?(f=!0,e.result+=g.repeat("\n",c?1+p:p)):f?(f=!1,e.result+=g.repeat("\n",p+1)):0===p?c&&(e.result+=" "):e.result+=g.repeat("\n",p):e.result+=g.repeat("\n",c?1+p:p),u=c=!0,p=0,n=e.position;!j(o)&&0!==o;)o=e.input.charCodeAt(++e.position);T(e,n,e.position,!1)}}return!0}(e,p)||function(e,t){var n,i,r;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(T(e,i,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,r=e.position}else j(n)?(T(e,i,r,!0),R(e,q(e,!1,t)),i=r=e.position):e.position===e.lineStart&&Y(e)?_(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);_(e,"unexpected end of the stream within a single quoted scalar")}(e,p)||function(e,t){var n,i,r,o,a,s,c,u,l,p;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return T(e,n,e.position,!0),e.position++,!0;if(92===s){if(T(e,n,e.position,!0),j(s=e.input.charCodeAt(++e.position)))q(e,!1,t);else if(s<256&&O[s])e.result+=F[s],e.position++;else if(0<(a=120===(p=s)?2:117===p?4:85===p?8:0)){for(r=a,o=0;0<r;r--)s=e.input.charCodeAt(++e.position),l=void 0,0<=(a=48<=(u=s)&&u<=57?u-48:97<=(l=32|u)&&l<=102?l-97+10:-1)?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=(c=o)<=65535?String.fromCharCode(c):String.fromCharCode(55296+(c-65536>>10),56320+(c-65536&1023)),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else j(s)?(T(e,n,i,!0),R(e,q(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Y(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,p)?m=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!I(i)&&!E(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],q(e,!0,-1),!0}(e)?function(e,t,n){var i,r,o,a,s,c,u,l,p=e.kind,f=e.result;if(I(l=e.input.charCodeAt(e.position))||E(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(I(i=e.input.charCodeAt(e.position+1))||n&&E(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==l;){if(58===l){if(I(i=e.input.charCodeAt(e.position+1))||n&&E(i))break}else if(35===l){if(I(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&Y(e)||n&&E(l))break;if(j(l)){if(s=e.line,c=e.lineStart,u=e.lineIndent,q(e,!1,-1),e.lineIndent>=t){a=!0,l=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=c,e.lineIndent=u;break}}a&&(T(e,r,o,!1),R(e,e.line-s),r=o=e.position,a=!1),S(l)||(o=e.position+1),l=e.input.charCodeAt(++e.position)}return T(e,r,o,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,p,x===n)&&(m=!0,null===e.tag&&(e.tag="?")):(m=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===d&&(m=s&&B(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(c=0,u=e.implicitTypes.length;c<u;c+=1)if((l=e.implicitTypes[c]).resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else y.call(e.typeMap[e.kind||"fallback"],e.tag)?(l=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&l.kind!==e.kind&&_(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||m}function $(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(q(e,!0,-1),r=e.input.charCodeAt(e.position),!(0<e.lineIndent||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!I(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;S(r);)r=e.input.charCodeAt(++e.position);if(35===r){for(;0!==(r=e.input.charCodeAt(++e.position))&&!j(r););break}if(j(r))break;for(t=e.position;0!==r&&!I(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&U(e),y.call(M,n)?M[n](e,n,i):N(e,'unknown document directive "'+n+'"')}q(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,q(e,!0,-1)):a&&_(e,"directives end mark is expected"),K(e,e.lineIndent-1,b,!1,!0),q(e,!0,-1),e.checkLineBreaks&&s.test(e.input.slice(o,e.position))&&N(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Y(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,q(e,!0,-1)):e.position<e.length-1&&_(e,"end of the stream or a document separator is expected")}function H(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new h(e,t);for(n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)$(n);return n.documents}function G(e,t,n){var i,r,o=H(e,n);if("function"!=typeof t)return o;for(i=0,r=o.length;i<r;i+=1)t(o[i])}function V(e,t){var n=H(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i("expected a single document in the stream, but found more")}}t.exports.loadAll=G,t.exports.load=V,t.exports.safeLoadAll=function(e,t,n){if("function"!=typeof t)return G(e,g.extend({schema:o},n));G(e,t,g.extend({schema:o},n))},t.exports.safeLoad=function(e,t){return V(e,g.extend({schema:o},t))}},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";var s=e("./common");function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}i.prototype.getSnippet=function(e,t){var n,i,r,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;0<i&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(r="",o=this.position;o<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(o));)if((o+=1)-this.position>t/2-1){r=" ... ",o-=5;break}return a=this.buffer.slice(i,o),s.repeat(" ",e)+n+a+r+"\n"+s.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";var i=e("./common"),r=e("./exception"),o=e("./type");function a(e,t,i){var r=[];return e.include.forEach(function(e){i=a(e,t,i)}),e[t].forEach(function(n){i.forEach(function(e,t){e.tag===n.tag&&e.kind===n.kind&&r.push(t)}),i.push(n)}),i.filter(function(e,t){return-1===r.indexOf(t)})}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return n}(this.compiledImplicit,this.compiledExplicit)}s.DEFAULT=null,s.create=function(){var e,t;switch(arguments.length){case 1:e=s.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new r("Wrong number of arguments for Schema.create function")}if(e=i.toArray(e),t=i.toArray(t),!e.every(function(e){return e instanceof s}))throw new r("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof o}))throw new r("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new s({include:e,explicit:t})},t.exports=s},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";var r=e("./exception"),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=function(t,e){var n,i;if(e=e||{},Object.keys(e).forEach(function(e){if(-1===o.indexOf(e))throw new r('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,i={},null!==n&&Object.keys(n).forEach(function(t){n[t].forEach(function(e){i[String(e)]=t})}),i),-1===a.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},{"./exception":4}],14:[function(e,t,n){"use strict";var c;try{c=e("buffer").Buffer}catch(e){}var i=e("../type"),u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=u;for(n=0;n<r;n++)if(!(64<(t=o.indexOf(e.charAt(n))))){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=u,a=0,s=[];for(t=0;t<r;t++)t%4==0&&t&&(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return 0==(n=r%4*6)?(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)):18===n?(s.push(a>>10&255),s.push(a>>2&255)):12===n&&s.push(a>>4&255),c?c.from?c.from(s):new c(s):s},predicate:function(e){return c&&c.isBuffer(e)},represent:function(e){var t,n,i="",r=0,o=e.length,a=u;for(t=0;t<o;t++)t%3==0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return 0==(n=o%3)?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}})},{"../type":13}],15:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type"),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:0<=t.indexOf(":")?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type");t.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i,r,o=e.length,a=0,s=!1;if(!o)return!1;if("-"!==(t=e[a])&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===o)return!0;if("b"===(t=e[++a])){for(a++;a<o;a++)if("_"!==(t=e[a])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(a++;a<o;a++)if("_"!==(t=e[a])){if(!(48<=(i=e.charCodeAt(a))&&i<=57||65<=i&&i<=70||97<=i&&i<=102))return!1;s=!0}return s&&"_"!==t}for(;a<o;a++)if("_"!==(t=e[a])){if(!(48<=(n=e.charCodeAt(a))&&n<=55))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;a<o;a++)if("_"!==(t=e[a])){if(":"===t)break;if(!(48<=(r=e.charCodeAt(a))&&r<=57))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(a)))},construct:function(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),"-"!==(t=i[0])&&"+"!==t||("-"===t&&(r=-1),t=(i=i.slice(1))[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!i.isNegativeZero(e)},represent:{binary:function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return 0<=e?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";var o;try{o=e("esprima")}catch(e){"undefined"!=typeof window&&(o=window.esprima)}var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=o.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",i=o.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"ArrowFunctionExpression"!==i.body[0].expression.type&&"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,"BlockStatement"===i.body[0].expression.body.type?new Function(r,n.slice(t[0]+1,t[1]-1)):new Function(r,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},{"../../type":13}],19:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),3<i.length)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},{"../../type":13}],20:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},{"../type":13}],23:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";var i=e("../type"),c=Object.prototype.hasOwnProperty,u=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=[],s=e;for(t=0,n=s.length;t<n;t+=1){if(i=s[t],o=!1,"[object Object]"!==u.call(i))return!1;for(r in i)if(c.call(i,r)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==a.indexOf(r))return!1;a.push(r)}return!0},construct:function(e){return null!==e?e:[]}})},{"../type":13}],25:[function(e,t,n){"use strict";var i=e("../type"),s=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1){if(i=a[t],"[object Object]"!==s.call(i))return!1;if(1!==(r=Object.keys(i)).length)return!1;o[t]=[r[0],i[r[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";var i=e("../type"),r=Object.prototype.hasOwnProperty;t.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(r.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";var i=e("../type"),p=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),f=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==p.exec(e)||null!==f.exec(e))},construct:function(e){var t,n,i,r,o,a,s,c,u=0,l=null;if(null===(t=p.exec(e))&&(t=f.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+="0";u=+u}return t[9]&&(l=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(l=-l)),c=new Date(Date.UTC(n,i,r,o,a,s,u)),l&&c.setTime(c.getTime()-l),c},instanceOf:Date,represent:function(e){return e.toISOString()}})},{"../type":13}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")});
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).jsyaml=e()}}(function(){return function o(a,s,c){function u(t,e){if(!s[t]){if(!a[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(l)return l(t,!0);var i=new Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[t]={exports:{}};a[t][0].call(r.exports,function(e){return u(a[t][1][e]||e)},r,r.exports,o,a,s,c)}return s[t].exports}for(var l="function"==typeof require&&require,e=0;e<c.length;e++)u(c[e]);return u}({1:[function(e,t,n){"use strict";var i=e("./js-yaml/loader"),r=e("./js-yaml/dumper");function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t,n){"use strict";function i(e){return null==e}t.exports.isNothing=i,t.exports.isObject=function(e){return"object"==typeof e&&null!==e},t.exports.toArray=function(e){return Array.isArray(e)?e:i(e)?[]:[e]},t.exports.repeat=function(e,t){var n,i="";for(n=0;n<t;n+=1)i+=e;return i},t.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},t.exports.extend=function(e,t){var n,i,r,o;if(t)for(n=0,i=(o=Object.keys(t)).length;n<i;n+=1)e[r=o[n]]=t[r];return e}},{}],3:[function(e,t,n){"use strict";var c=e("./common"),d=e("./exception"),i=e("./schema/default_full"),r=e("./schema/default_safe"),p=Object.prototype.toString,u=Object.prototype.hasOwnProperty,o=9,h=10,a=32,m=33,g=34,y=35,x=37,v=38,A=39,b=42,w=44,C=45,k=58,j=62,I=63,S=64,E=91,O=93,F=96,_=123,N=124,M=125,s={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},l=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function f(e){var t,n,i;if(t=e.toString(16).toUpperCase(),e<=255)n="x",i=2;else if(e<=65535)n="u",i=4;else{if(!(e<=4294967295))throw new d("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+c.repeat("0",i-t.length)+t}function T(e){this.schema=e.schema||i,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=c.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},r=0,o=(i=Object.keys(t)).length;r<o;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&u.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function L(e,t){for(var n,i=c.repeat(" ",t),r=0,o=-1,a="",s=e.length;r<s;)r=-1===(o=e.indexOf("\n",r))?(n=e.slice(r),s):(n=e.slice(r,o+1),o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function D(e,t){return"\n"+c.repeat(" ",e.indent*t)}function U(e){return e===a||e===o}function q(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function Y(e){return q(e)&&65279!==e&&e!==w&&e!==E&&e!==O&&e!==_&&e!==M&&e!==k&&e!==y}function R(e){return/^\n* /.test(e)}var B=1,P=2,W=3,K=4,$=5;function H(e,t,n,i,r){var o,a,s,c=!1,u=!1,l=-1!==i,p=-1,f=q(s=e.charCodeAt(0))&&65279!==s&&!U(s)&&s!==C&&s!==I&&s!==k&&s!==w&&s!==E&&s!==O&&s!==_&&s!==M&&s!==y&&s!==v&&s!==b&&s!==m&&s!==N&&s!==j&&s!==A&&s!==g&&s!==x&&s!==S&&s!==F&&!U(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(!q(a=e.charCodeAt(o)))return $;f=f&&Y(a)}else{for(o=0;o<e.length;o++){if((a=e.charCodeAt(o))===h)c=!0,l&&(u=u||i<o-p-1&&" "!==e[p+1],p=o);else if(!q(a))return $;f=f&&Y(a)}u=u||l&&i<o-p-1&&" "!==e[p+1]}return c||u?9<n&&R(e)?$:u?K:W:f&&!r(e)?B:P}function G(i,r,o,a){i.dump=function(){if(0===r.length)return"''";if(!i.noCompatMode&&-1!==l.indexOf(r))return"'"+r+"'";var e=i.indent*Math.max(1,o),t=-1===i.lineWidth?-1:Math.max(Math.min(i.lineWidth,40),i.lineWidth-e),n=a||-1<i.flowLevel&&o>=i.flowLevel;switch(H(r,n,i.indent,t,function(e){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n<i;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(i,e)})){case B:return r;case P:return"'"+r.replace(/'/g,"''")+"'";case W:return"|"+V(r,i.indent)+Z(L(r,e));case K:return">"+V(r,i.indent)+Z(L(function(e,t){var n,i,r=/(\n+)([^\n]*)/g,o=(s=e.indexOf("\n"),s=-1!==s?s:e.length,r.lastIndex=s,z(e.slice(0,s),t)),a="\n"===e[0]||" "===e[0];var s;for(;i=r.exec(e);){var c=i[1],u=i[2];n=" "===u[0],o+=c+(a||n||""===u?"":"\n")+z(u,t),a=n}return o}(r,t),e));case $:return'"'+function(e){for(var t,n,i,r="",o=0;o<e.length;o++)55296<=(t=e.charCodeAt(o))&&t<=56319&&56320<=(n=e.charCodeAt(o+1))&&n<=57343?(r+=f(1024*(t-55296)+n-56320+65536),o++):(i=s[t],r+=!i&&q(t)?e[o]:i||f(t));return r}(r)+'"';default:throw new d("impossible error: invalid scalar style")}}()}function V(e,t){var n=R(e)?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function Z(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function z(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,c="";n=r.exec(e);)t<(s=n.index)-o&&(i=o<a?a:s,c+="\n"+e.slice(o,i),o=i+1),a=s;return c+="\n",e.length-o>t&&o<a?c+=e.slice(o,a)+"\n"+e.slice(a+1):c+=e.slice(o),c.slice(1)}function J(e,t,n){var i,r,o,a,s,c;for(o=0,a=(r=n?e.explicitTypes:e.implicitTypes).length;o<a;o+=1)if(((s=r[o]).instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===p.call(s.represent))i=s.represent(t,c);else{if(!u.call(s.represent,c))throw new d("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function Q(e,t,n,i,r,o){e.tag=null,e.dump=n,J(e,n,!1)||J(e,n,!0);var a=p.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(c=-1!==(s=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&0<t)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(!function(e,t,n,i){var r,o,a,s,c,u,l="",p=e.tag,f=Object.keys(n);if(!0===e.sortKeys)f.sort();else if("function"==typeof e.sortKeys)f.sort(e.sortKeys);else if(e.sortKeys)throw new d("sortKeys must be a boolean or a function");for(r=0,o=f.length;r<o;r+=1)u="",i&&0===r||(u+=D(e,t)),s=n[a=f[r]],Q(e,t+1,a,!0,!0,!0)&&((c=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&h===e.dump.charCodeAt(0)?u+="?":u+="? "),u+=e.dump,c&&(u+=D(e,t)),Q(e,t+1,s,!0,c)&&(e.dump&&h===e.dump.charCodeAt(0)?u+=":":u+=": ",l+=u+=e.dump));e.tag=p,e.dump=l||"{}"}(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(!function(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;i<r;i+=1)s=e.condenseFlow?'"':"",0!==i&&(s+=", "),a=n[o=l[i]],Q(e,t,o,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Q(e,t,a,!1,!1)&&(c+=s+=e.dump));e.tag=u,e.dump="{"+c+"}"}(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a){var l=e.noArrayIndent?t-1:t;i&&0!==e.dump.length?(!function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r<o;r+=1)Q(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=D(e,t)),e.dump&&h===e.dump.charCodeAt(0)?a+="-":a+="- ",a+=e.dump);e.tag=s,e.dump=a||"[]"}(e,l,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(!function(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;i<r;i+=1)Q(e,t,n[i],!1,!1)&&(0!==i&&(o+=","+(e.condenseFlow?"":" ")),o+=e.dump);e.tag=a,e.dump="["+o+"]"}(e,l,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump))}else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new d("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&G(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function X(e,t){var n,i,r=[],o=[];for(function e(t,n,i){var r,o,a;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===i.indexOf(o)&&i.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o<a;o+=1)e(t[o],n,i);else for(r=Object.keys(t),o=0,a=r.length;o<a;o+=1)e(t[r[o]],n,i)}(e,r,o),n=0,i=o.length;n<i;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function ee(e,t){var n=new T(t=t||{});return n.noRefs||X(e,n),Q(n,0,e,!0,!0)?n.dump+"\n":""}t.exports.dump=ee,t.exports.safeDump=function(e,t){return ee(e,c.extend({schema:r},t))}},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}((i.prototype=Object.create(Error.prototype)).constructor=i).prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";var g=e("./common"),i=e("./exception"),r=e("./mark"),o=e("./schema/default_safe"),a=e("./schema/default_full"),y=Object.prototype.hasOwnProperty,x=1,v=2,A=3,b=4,w=1,C=2,k=3,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,s=/[\x85\u2028\u2029]/,u=/[,\[\]\{\}]/,l=/^(?:!|!!|![a-z\-]+!)$/i,p=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function j(e){return 10===e||13===e}function I(e){return 9===e||32===e}function S(e){return 9===e||32===e||10===e||13===e}function E(e){return 44===e||91===e||93===e||123===e||125===e}function f(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}for(var O=new Array(256),F=new Array(256),d=0;d<256;d++)O[d]=f(d)?1:0,F[d]=f(d);function h(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||a,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function m(e,t){return new i(t,new r(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw m(e,t)}function N(e,t){e.onWarning&&e.onWarning.call(null,m(e,t))}var M={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&N(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],l.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),y.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),p.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function T(e,t,n,i){var r,o,a,s;if(t<n){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;r<o;r+=1)9===(a=s.charCodeAt(r))||32<=a&&a<=1114111||_(e,"expected valid JSON character");else c.test(s)&&_(e,"the stream contains non-printable characters");e.result+=s}}function L(e,t,n,i){var r,o,a,s;for(g.isObject(n)||_(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,s=(r=Object.keys(n)).length;a<s;a+=1)o=r[a],y.call(t,o)||(t[o]=n[o],i[o]=!0)}function D(e,t,n,i,r,o,a,s){var c,u;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(c=0,u=o.length;c<u;c+=1)L(e,t,o[c],n);else L(e,t,o,n);else e.json||y.call(n,r)||!y.call(t,r)||(e.line=a||e.line,e.position=s||e.position,_(e,"duplicated mapping key")),t[r]=o,delete n[r];return t}function U(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):_(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function q(e,t,n){for(var i=0,r=e.input.charCodeAt(e.position);0!==r;){for(;I(r);)r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!j(r))break;for(U(e),r=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==n&&0!==i&&e.lineIndent<n&&N(e,"deficient indentation"),i}function Y(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!S(t)))}function R(e,t){1===t?e.result+=" ":1<t&&(e.result+=g.repeat("\n",t-1))}function B(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&S(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,q(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,A,!1,!0),a.push(e.result),q(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=r,e.anchor=o,e.kind="sequence",e.result=a,!0)}function P(e){var t,n,i,r,o=!1,a=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&_(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(o=!0,r=e.input.charCodeAt(++e.position)):33===r?(a=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,o){for(;0!==(r=e.input.charCodeAt(++e.position))&&62!==r;);e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):_(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!S(r);)33===r&&(a?_(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),l.test(n)||_(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),u.test(i)&&_(e,"tag suffix cannot contain flow indicator characters")}return i&&!p.test(i)&&_(e,"tag name cannot contain such characters: "+i),o?e.tag=i:y.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:_(e,'undeclared tag handle "'+n+'"'),!0}function W(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&_(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!S(n)&&!E(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function K(e,t,n,i,r){var o,a,s,c,u,l,p,f,d=1,h=!1,m=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=b===n||A===n,i&&q(e,!0,-1)&&(h=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;P(e)||W(e);)q(e,!0,-1)?(h=!0,s=o,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):s=!1;if(s&&(s=h||r),1!==d&&b!==n||(p=x===n||v===n?t:t+1,f=e.position-e.lineStart,1===d?s&&(B(e,f)||function(e,t,n){var i,r,o,a,s,c=e.tag,u=e.anchor,l={},p={},f=null,d=null,h=null,m=!1,g=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=l),s=e.input.charCodeAt(e.position);0!==s;){if(i=e.input.charCodeAt(e.position+1),o=e.line,a=e.position,63!==s&&58!==s||!S(i)){if(!K(e,n,v,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);I(s);)s=e.input.charCodeAt(++e.position);if(58===s)S(s=e.input.charCodeAt(++e.position))||_(e,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(D(e,l,p,f,d,null),f=d=h=null),r=m=!(g=!0),f=e.tag,d=e.result;else{if(!g)return e.tag=c,e.anchor=u,!0;_(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!g)return e.tag=c,e.anchor=u,!0;_(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(m&&(D(e,l,p,f,d,null),f=d=h=null),r=m=g=!0):m?r=!(m=!1):_(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=i;if((e.line===o||e.lineIndent>t)&&(K(e,t,b,!0,r)&&(m?d=e.result:h=e.result),m||(D(e,l,p,f,d,h,o,a),f=d=h=null),q(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return m&&D(e,l,p,f,d,null),g&&(e.tag=c,e.anchor=u,e.kind="mapping",e.result=l),g}(e,f,p))||function(e,t){var n,i,r,o,a,s,c,u,l,p,f=!0,d=e.tag,h=e.anchor,m={};if(91===(p=e.input.charCodeAt(e.position)))s=!(r=93),i=[];else{if(123!==p)return!1;r=125,s=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),p=e.input.charCodeAt(++e.position);0!==p;){if(q(e,!0,t),(p=e.input.charCodeAt(e.position))===r)return e.position++,e.tag=d,e.anchor=h,e.kind=s?"mapping":"sequence",e.result=i,!0;f||_(e,"missed comma between flow collection entries"),l=null,o=a=!1,63===p&&S(e.input.charCodeAt(e.position+1))&&(o=a=!0,e.position++,q(e,!0,t)),n=e.line,K(e,t,x,!1,!0),u=e.tag,c=e.result,q(e,!0,t),p=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==p||(o=!0,p=e.input.charCodeAt(++e.position),q(e,!0,t),K(e,t,x,!1,!0),l=e.result),s?D(e,i,m,u,c,l):o?i.push(D(e,null,m,u,c,l)):i.push(c),q(e,!0,t),44===(p=e.input.charCodeAt(e.position))?(f=!0,p=e.input.charCodeAt(++e.position)):f=!1}_(e,"unexpected end of the stream within a flow collection")}(e,p)?m=!0:(a&&function(e,t){var n,i,r,o,a,s=w,c=!1,u=!1,l=t,p=0,f=!1;if(124===(o=e.input.charCodeAt(e.position)))i=!1;else{if(62!==o)return!1;i=!0}for(e.kind="scalar",e.result="";0!==o;)if(43===(o=e.input.charCodeAt(++e.position))||45===o)w===s?s=43===o?k:C:_(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=48<=(a=o)&&a<=57?a-48:-1)))break;0===r?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?_(e,"repeat of an indentation width identifier"):(l=t+r-1,u=!0)}if(I(o)){for(;I(o=e.input.charCodeAt(++e.position)););if(35===o)for(;!j(o=e.input.charCodeAt(++e.position))&&0!==o;);}for(;0!==o;){for(U(e),e.lineIndent=0,o=e.input.charCodeAt(e.position);(!u||e.lineIndent<l)&&32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position);if(!u&&e.lineIndent>l&&(l=e.lineIndent),j(o))p++;else{if(e.lineIndent<l){s===k?e.result+=g.repeat("\n",c?1+p:p):s===w&&c&&(e.result+="\n");break}for(i?I(o)?(f=!0,e.result+=g.repeat("\n",c?1+p:p)):f?(f=!1,e.result+=g.repeat("\n",p+1)):0===p?c&&(e.result+=" "):e.result+=g.repeat("\n",p):e.result+=g.repeat("\n",c?1+p:p),u=c=!0,p=0,n=e.position;!j(o)&&0!==o;)o=e.input.charCodeAt(++e.position);T(e,n,e.position,!1)}}return!0}(e,p)||function(e,t){var n,i,r;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(T(e,i,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,r=e.position}else j(n)?(T(e,i,r,!0),R(e,q(e,!1,t)),i=r=e.position):e.position===e.lineStart&&Y(e)?_(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);_(e,"unexpected end of the stream within a single quoted scalar")}(e,p)||function(e,t){var n,i,r,o,a,s,c,u,l,p;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return T(e,n,e.position,!0),e.position++,!0;if(92===s){if(T(e,n,e.position,!0),j(s=e.input.charCodeAt(++e.position)))q(e,!1,t);else if(s<256&&O[s])e.result+=F[s],e.position++;else if(0<(a=120===(p=s)?2:117===p?4:85===p?8:0)){for(r=a,o=0;0<r;r--)s=e.input.charCodeAt(++e.position),l=void 0,0<=(a=48<=(u=s)&&u<=57?u-48:97<=(l=32|u)&&l<=102?l-97+10:-1)?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=(c=o)<=65535?String.fromCharCode(c):String.fromCharCode(55296+(c-65536>>10),56320+(c-65536&1023)),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else j(s)?(T(e,n,i,!0),R(e,q(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Y(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,p)?m=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!S(i)&&!E(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],q(e,!0,-1),!0}(e)?function(e,t,n){var i,r,o,a,s,c,u,l,p=e.kind,f=e.result;if(S(l=e.input.charCodeAt(e.position))||E(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(S(i=e.input.charCodeAt(e.position+1))||n&&E(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==l;){if(58===l){if(S(i=e.input.charCodeAt(e.position+1))||n&&E(i))break}else if(35===l){if(S(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&Y(e)||n&&E(l))break;if(j(l)){if(s=e.line,c=e.lineStart,u=e.lineIndent,q(e,!1,-1),e.lineIndent>=t){a=!0,l=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=c,e.lineIndent=u;break}}a&&(T(e,r,o,!1),R(e,e.line-s),r=o=e.position,a=!1),I(l)||(o=e.position+1),l=e.input.charCodeAt(++e.position)}return T(e,r,o,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,p,x===n)&&(m=!0,null===e.tag&&(e.tag="?")):(m=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===d&&(m=s&&B(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(c=0,u=e.implicitTypes.length;c<u;c+=1)if((l=e.implicitTypes[c]).resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else y.call(e.typeMap[e.kind||"fallback"],e.tag)?(l=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&l.kind!==e.kind&&_(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||m}function $(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(q(e,!0,-1),r=e.input.charCodeAt(e.position),!(0<e.lineIndent||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!S(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;I(r);)r=e.input.charCodeAt(++e.position);if(35===r){for(;0!==(r=e.input.charCodeAt(++e.position))&&!j(r););break}if(j(r))break;for(t=e.position;0!==r&&!S(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&U(e),y.call(M,n)?M[n](e,n,i):N(e,'unknown document directive "'+n+'"')}q(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,q(e,!0,-1)):a&&_(e,"directives end mark is expected"),K(e,e.lineIndent-1,b,!1,!0),q(e,!0,-1),e.checkLineBreaks&&s.test(e.input.slice(o,e.position))&&N(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Y(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,q(e,!0,-1)):e.position<e.length-1&&_(e,"end of the stream or a document separator is expected")}function H(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new h(e,t);for(n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)$(n);return n.documents}function G(e,t,n){var i,r,o=H(e,n);if("function"!=typeof t)return o;for(i=0,r=o.length;i<r;i+=1)t(o[i])}function V(e,t){var n=H(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i("expected a single document in the stream, but found more")}}t.exports.loadAll=G,t.exports.load=V,t.exports.safeLoadAll=function(e,t,n){if("function"!=typeof t)return G(e,g.extend({schema:o},n));G(e,t,g.extend({schema:o},n))},t.exports.safeLoad=function(e,t){return V(e,g.extend({schema:o},t))}},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";var s=e("./common");function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}i.prototype.getSnippet=function(e,t){var n,i,r,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;0<i&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(r="",o=this.position;o<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(o));)if((o+=1)-this.position>t/2-1){r=" ... ",o-=5;break}return a=this.buffer.slice(i,o),s.repeat(" ",e)+n+a+r+"\n"+s.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";var i=e("./common"),r=e("./exception"),o=e("./type");function a(e,t,i){var r=[];return e.include.forEach(function(e){i=a(e,t,i)}),e[t].forEach(function(n){i.forEach(function(e,t){e.tag===n.tag&&e.kind===n.kind&&r.push(t)}),i.push(n)}),i.filter(function(e,t){return-1===r.indexOf(t)})}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return n}(this.compiledImplicit,this.compiledExplicit)}s.DEFAULT=null,s.create=function(){var e,t;switch(arguments.length){case 1:e=s.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new r("Wrong number of arguments for Schema.create function")}if(e=i.toArray(e),t=i.toArray(t),!e.every(function(e){return e instanceof s}))throw new r("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof o}))throw new r("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new s({include:e,explicit:t})},t.exports=s},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";var r=e("./exception"),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=function(t,e){var n,i;if(e=e||{},Object.keys(e).forEach(function(e){if(-1===o.indexOf(e))throw new r('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,i={},null!==n&&Object.keys(n).forEach(function(t){n[t].forEach(function(e){i[String(e)]=t})}),i),-1===a.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},{"./exception":4}],14:[function(e,t,n){"use strict";var c;try{c=e("buffer").Buffer}catch(e){}var i=e("../type"),u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=u;for(n=0;n<r;n++)if(!(64<(t=o.indexOf(e.charAt(n))))){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=u,a=0,s=[];for(t=0;t<r;t++)t%4==0&&t&&(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return 0==(n=r%4*6)?(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)):18===n?(s.push(a>>10&255),s.push(a>>2&255)):12===n&&s.push(a>>4&255),c?c.from?c.from(s):new c(s):s},predicate:function(e){return c&&c.isBuffer(e)},represent:function(e){var t,n,i="",r=0,o=e.length,a=u;for(t=0;t<o;t++)t%3==0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return 0==(n=o%3)?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}})},{"../type":13}],15:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type"),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:0<=t.indexOf(":")?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";var i=e("../common"),r=e("../type");t.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i,r,o=e.length,a=0,s=!1;if(!o)return!1;if("-"!==(t=e[a])&&"+"!==t||(t=e[++a]),"0"===t){if(a+1===o)return!0;if("b"===(t=e[++a])){for(a++;a<o;a++)if("_"!==(t=e[a])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(a++;a<o;a++)if("_"!==(t=e[a])){if(!(48<=(i=e.charCodeAt(a))&&i<=57||65<=i&&i<=70||97<=i&&i<=102))return!1;s=!0}return s&&"_"!==t}for(;a<o;a++)if("_"!==(t=e[a])){if(!(48<=(n=e.charCodeAt(a))&&n<=55))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;a<o;a++)if("_"!==(t=e[a])){if(":"===t)break;if(!(48<=(r=e.charCodeAt(a))&&r<=57))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(a)))},construct:function(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),"-"!==(t=i[0])&&"+"!==t||("-"===t&&(r=-1),t=(i=i.slice(1))[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!i.isNegativeZero(e)},represent:{binary:function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return 0<=e?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";var o;try{o=e("esprima")}catch(e){"undefined"!=typeof window&&(o=window.esprima)}var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=o.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",i=o.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"ArrowFunctionExpression"!==i.body[0].expression.type&&"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,"BlockStatement"===i.body[0].expression.body.type?new Function(r,n.slice(t[0]+1,t[1]-1)):new Function(r,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},{"../../type":13}],19:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),3<i.length)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},{"../../type":13}],20:[function(e,t,n){"use strict";var i=e("../../type");t.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},{"../type":13}],23:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";var i=e("../type"),c=Object.prototype.hasOwnProperty,u=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=[],s=e;for(t=0,n=s.length;t<n;t+=1){if(i=s[t],o=!1,"[object Object]"!==u.call(i))return!1;for(r in i)if(c.call(i,r)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==a.indexOf(r))return!1;a.push(r)}return!0},construct:function(e){return null!==e?e:[]}})},{"../type":13}],25:[function(e,t,n){"use strict";var i=e("../type"),s=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1){if(i=a[t],"[object Object]"!==s.call(i))return!1;if(1!==(r=Object.keys(i)).length)return!1;o[t]=[r[0],i[r[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";var i=e("../type"),r=Object.prototype.hasOwnProperty;t.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(r.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";var i=e("../type"),p=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),f=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==p.exec(e)||null!==f.exec(e))},construct:function(e){var t,n,i,r,o,a,s,c,u=0,l=null;if(null===(t=p.exec(e))&&(t=f.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+="0";u=+u}return t[9]&&(l=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(l=-l)),c=new Date(Date.UTC(n,i,r,o,a,s,u)),l&&c.setTime(c.getTime()-l),c},instanceOf:Date,represent:function(e){return e.toISOString()}})},{"../type":13}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")});
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js
index 67cf6ca0cd..f1aefc2eb9 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js
+++ b/tools/node_modules/eslint/node_modules/js-yaml/lib/js-yaml/dumper.js
@@ -105,16 +105,17 @@ function encodeHex(character) {
}
function State(options) {
- this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;
- this.indent = Math.max(1, (options['indent'] || 2));
- this.skipInvalid = options['skipInvalid'] || false;
- this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);
- this.styleMap = compileStyleMap(this.schema, options['styles'] || null);
- this.sortKeys = options['sortKeys'] || false;
- this.lineWidth = options['lineWidth'] || 80;
- this.noRefs = options['noRefs'] || false;
- this.noCompatMode = options['noCompatMode'] || false;
- this.condenseFlow = options['condenseFlow'] || false;
+ this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;
+ this.indent = Math.max(1, (options['indent'] || 2));
+ this.noArrayIndent = options['noArrayIndent'] || false;
+ this.skipInvalid = options['skipInvalid'] || false;
+ this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);
+ this.styleMap = compileStyleMap(this.schema, options['styles'] || null);
+ this.sortKeys = options['sortKeys'] || false;
+ this.lineWidth = options['lineWidth'] || 80;
+ this.noRefs = options['noRefs'] || false;
+ this.noCompatMode = options['noCompatMode'] || false;
+ this.condenseFlow = options['condenseFlow'] || false;
this.implicitTypes = this.schema.compiledImplicit;
this.explicitTypes = this.schema.compiledExplicit;
@@ -734,13 +735,14 @@ function writeNode(state, level, object, block, compact, iskey) {
}
}
} else if (type === '[object Array]') {
+ var arrayLevel = (state.noArrayIndent) ? level - 1 : level;
if (block && (state.dump.length !== 0)) {
- writeBlockSequence(state, level, state.dump, compact);
+ writeBlockSequence(state, arrayLevel, state.dump, compact);
if (duplicate) {
state.dump = '&ref_' + duplicateIndex + state.dump;
}
} else {
- writeFlowSequence(state, level, state.dump);
+ writeFlowSequence(state, arrayLevel, state.dump);
if (duplicate) {
state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;
}
diff --git a/tools/node_modules/eslint/node_modules/js-yaml/package.json b/tools/node_modules/eslint/node_modules/js-yaml/package.json
index 6f586ac4c0..e291521b0b 100644
--- a/tools/node_modules/eslint/node_modules/js-yaml/package.json
+++ b/tools/node_modules/eslint/node_modules/js-yaml/package.json
@@ -66,5 +66,5 @@
"scripts": {
"test": "make test"
},
- "version": "3.12.0"
+ "version": "3.12.1"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/rxjs/package.json b/tools/node_modules/eslint/node_modules/rxjs/package.json
index 3c7fdf1187..2cdaae7fcb 100644
--- a/tools/node_modules/eslint/node_modules/rxjs/package.json
+++ b/tools/node_modules/eslint/node_modules/rxjs/package.json
@@ -171,5 +171,14 @@
},
"sideEffects": false,
"typings": "./index.d.ts",
- "version": "6.3.3"
+ "version": "6.3.3",
+ "warnings": [
+ {
+ "code": "ENOTSUP",
+ "required": {
+ "npm": ">=2.0.0"
+ },
+ "pkgid": "rxjs@6.3.3"
+ }
+ ]
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js
index 2725ee009e..99b8100cf7 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js
+++ b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js
@@ -7,9 +7,7 @@ exports.default = void 0;
var _lodash = _interopRequireDefault(require("lodash"));
-var _stringWidth = _interopRequireDefault(require("string-width"));
-
-var _wrapWord = _interopRequireDefault(require("./wrapWord"));
+var _wrapCell = _interopRequireDefault(require("./wrapCell"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -32,11 +30,7 @@ const calculateCellHeight = (value, columnWidth, useWrapWord = false) => {
throw new Error('Column width must be greater than 0.');
}
- if (useWrapWord) {
- return (0, _wrapWord.default)(value, columnWidth).length;
- }
-
- return Math.ceil((0, _stringWidth.default)(value) / columnWidth);
+ return (0, _wrapCell.default)(value, columnWidth, useWrapWord).length;
};
var _default = calculateCellHeight;
diff --git a/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.flow b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.flow
index 94afd37421..3eca8d7ff2 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.flow
+++ b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.flow
@@ -1,6 +1,5 @@
import _ from 'lodash';
-import stringWidth from 'string-width';
-import wrapWord from './wrapWord';
+import wrapCell from './wrapCell';
/**
* @param {string} value
@@ -21,9 +20,5 @@ export default (value, columnWidth, useWrapWord = false) => {
throw new Error('Column width must be greater than 0.');
}
- if (useWrapWord) {
- return wrapWord(value, columnWidth).length;
- }
-
- return Math.ceil(stringWidth(value) / columnWidth);
+ return wrapCell(value, columnWidth, useWrapWord).length;
};
diff --git a/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.map b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.map
index 43ec44038f..f7574e1ab2 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.map
+++ b/tools/node_modules/eslint/node_modules/table/dist/calculateCellHeight.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/calculateCellHeight.js"],"names":["value","columnWidth","useWrapWord","_","isString","TypeError","Number","isInteger","Error","length","Math","ceil"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA;;;;;;6BAMgBA,K,EAAOC,W,EAAaC,WAAW,GAAG,K,KAAU;AAC1D,MAAI,CAACC,gBAAEC,QAAF,CAAWJ,KAAX,CAAL,EAAwB;AACtB,UAAM,IAAIK,SAAJ,CAAc,yBAAd,CAAN;AACD;;AAED,MAAI,CAACC,MAAM,CAACC,SAAP,CAAiBN,WAAjB,CAAL,EAAoC;AAClC,UAAM,IAAII,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,MAAIJ,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAM,IAAIO,KAAJ,CAAU,sCAAV,CAAN;AACD;;AAED,MAAIN,WAAJ,EAAiB;AACf,WAAO,uBAASF,KAAT,EAAgBC,WAAhB,EAA6BQ,MAApC;AACD;;AAED,SAAOC,IAAI,CAACC,IAAL,CAAU,0BAAYX,KAAZ,IAAqBC,WAA/B,CAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport stringWidth from 'string-width';\nimport wrapWord from './wrapWord';\n\n/**\n * @param {string} value\n * @param {number} columnWidth\n * @param {boolean} useWrapWord\n * @returns {number}\n */\nexport default (value, columnWidth, useWrapWord = false) => {\n if (!_.isString(value)) {\n throw new TypeError('Value must be a string.');\n }\n\n if (!Number.isInteger(columnWidth)) {\n throw new TypeError('Column width must be an integer.');\n }\n\n if (columnWidth < 1) {\n throw new Error('Column width must be greater than 0.');\n }\n\n if (useWrapWord) {\n return wrapWord(value, columnWidth).length;\n }\n\n return Math.ceil(stringWidth(value) / columnWidth);\n};\n"],"file":"calculateCellHeight.js"} \ No newline at end of file
+{"version":3,"sources":["../src/calculateCellHeight.js"],"names":["value","columnWidth","useWrapWord","_","isString","TypeError","Number","isInteger","Error","length"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;;;;;;6BAMgBA,K,EAAOC,W,EAAaC,WAAW,GAAG,K,KAAU;AAC1D,MAAI,CAACC,gBAAEC,QAAF,CAAWJ,KAAX,CAAL,EAAwB;AACtB,UAAM,IAAIK,SAAJ,CAAc,yBAAd,CAAN;AACD;;AAED,MAAI,CAACC,MAAM,CAACC,SAAP,CAAiBN,WAAjB,CAAL,EAAoC;AAClC,UAAM,IAAII,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,MAAIJ,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAM,IAAIO,KAAJ,CAAU,sCAAV,CAAN;AACD;;AAED,SAAO,uBAASR,KAAT,EAAgBC,WAAhB,EAA6BC,WAA7B,EAA0CO,MAAjD;AACD,C","sourcesContent":["import _ from 'lodash';\nimport wrapCell from './wrapCell';\n\n/**\n * @param {string} value\n * @param {number} columnWidth\n * @param {boolean} useWrapWord\n * @returns {number}\n */\nexport default (value, columnWidth, useWrapWord = false) => {\n if (!_.isString(value)) {\n throw new TypeError('Value must be a string.');\n }\n\n if (!Number.isInteger(columnWidth)) {\n throw new TypeError('Column width must be an integer.');\n }\n\n if (columnWidth < 1) {\n throw new Error('Column width must be greater than 0.');\n }\n\n return wrapCell(value, columnWidth, useWrapWord).length;\n};\n"],"file":"calculateCellHeight.js"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js
index 8a7a16e2ce..ce65717a78 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js
+++ b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js
@@ -7,9 +7,7 @@ exports.default = void 0;
var _lodash = _interopRequireDefault(require("lodash"));
-var _wrapString = _interopRequireDefault(require("./wrapString"));
-
-var _wrapWord = _interopRequireDefault(require("./wrapWord"));
+var _wrapCell = _interopRequireDefault(require("./wrapCell"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -30,16 +28,9 @@ const mapDataUsingRowHeightIndex = (unmappedRows, rowHeightIndex, config) => {
cells.forEach((value, index1) => {
- let chunkedValue;
-
- if (config.columns[index1].wrapWord) {
- chunkedValue = (0, _wrapWord.default)(value, config.columns[index1].width);
- } else {
- chunkedValue = (0, _wrapString.default)(value, config.columns[index1].width);
- }
-
- chunkedValue.forEach((part, index2) => {
- rowHeight[index2][index1] = part;
+ const cellLines = (0, _wrapCell.default)(value, config.columns[index1].width, config.columns[index1].wrapWord);
+ cellLines.forEach((cellLine, index2) => {
+ rowHeight[index2][index1] = cellLine;
});
});
return rowHeight;
diff --git a/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.flow b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.flow
index 89f1869b5d..6562bdfd1b 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.flow
+++ b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.flow
@@ -1,6 +1,5 @@
import _ from 'lodash';
-import wrapString from './wrapString';
-import wrapWord from './wrapWord';
+import wrapCell from './wrapCell';
/**
* @param {Array} unmappedRows
@@ -21,16 +20,10 @@ export default (unmappedRows, rowHeightIndex, config) => {
// [{cell index within a virtual row; index1}]
cells.forEach((value, index1) => {
- let chunkedValue;
+ const cellLines = wrapCell(value, config.columns[index1].width, config.columns[index1].wrapWord);
- if (config.columns[index1].wrapWord) {
- chunkedValue = wrapWord(value, config.columns[index1].width);
- } else {
- chunkedValue = wrapString(value, config.columns[index1].width);
- }
-
- chunkedValue.forEach((part, index2) => {
- rowHeight[index2][index1] = part;
+ cellLines.forEach((cellLine, index2) => {
+ rowHeight[index2][index1] = cellLine;
});
});
diff --git a/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.map b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.map
index 3c1cd98448..36e40b5ad8 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.map
+++ b/tools/node_modules/eslint/node_modules/table/dist/mapDataUsingRowHeightIndex.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/mapDataUsingRowHeightIndex.js"],"names":["unmappedRows","rowHeightIndex","config","tableWidth","length","mappedRows","map","cells","index0","rowHeight","_","times","Array","fill","forEach","value","index1","chunkedValue","columns","wrapWord","width","part","index2","flatten"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA;;;;;;oCAMgBA,Y,EAAcC,c,EAAgBC,M,KAAW;AACvD,QAAMC,UAAU,GAAGH,YAAY,CAAC,CAAD,CAAZ,CAAgBI,MAAnC;AAEA,QAAMC,UAAU,GAAGL,YAAY,CAACM,GAAb,CAAiB,CAACC,KAAD,EAAQC,MAAR,KAAmB;AACrD,UAAMC,SAAS,GAAGC,gBAAEC,KAAF,CAAQV,cAAc,CAACO,MAAD,CAAtB,EAAgC,MAAM;AACtD,aAAO,IAAII,KAAJ,CAAUT,UAAV,EAAsBU,IAAtB,CAA2B,EAA3B,CAAP;AACD,KAFiB,CAAlB,CADqD,CAKrD;AACA;AACA;;;AAEAN,IAAAA,KAAK,CAACO,OAAN,CAAc,CAACC,KAAD,EAAQC,MAAR,KAAmB;AAC/B,UAAIC,YAAJ;;AAEA,UAAIf,MAAM,CAACgB,OAAP,CAAeF,MAAf,EAAuBG,QAA3B,EAAqC;AACnCF,QAAAA,YAAY,GAAG,uBAASF,KAAT,EAAgBb,MAAM,CAACgB,OAAP,CAAeF,MAAf,EAAuBI,KAAvC,CAAf;AACD,OAFD,MAEO;AACLH,QAAAA,YAAY,GAAG,yBAAWF,KAAX,EAAkBb,MAAM,CAACgB,OAAP,CAAeF,MAAf,EAAuBI,KAAzC,CAAf;AACD;;AAEDH,MAAAA,YAAY,CAACH,OAAb,CAAqB,CAACO,IAAD,EAAOC,MAAP,KAAkB;AACrCb,QAAAA,SAAS,CAACa,MAAD,CAAT,CAAkBN,MAAlB,IAA4BK,IAA5B;AACD,OAFD;AAGD,KAZD;AAcA,WAAOZ,SAAP;AACD,GAxBkB,CAAnB;AA0BA,SAAOC,gBAAEa,OAAF,CAAUlB,UAAV,CAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport wrapString from './wrapString';\nimport wrapWord from './wrapWord';\n\n/**\n * @param {Array} unmappedRows\n * @param {number[]} rowHeightIndex\n * @param {Object} config\n * @returns {Array}\n */\nexport default (unmappedRows, rowHeightIndex, config) => {\n const tableWidth = unmappedRows[0].length;\n\n const mappedRows = unmappedRows.map((cells, index0) => {\n const rowHeight = _.times(rowHeightIndex[index0], () => {\n return new Array(tableWidth).fill('');\n });\n\n // rowHeight\n // [{row index within rowSaw; index2}]\n // [{cell index within a virtual row; index1}]\n\n cells.forEach((value, index1) => {\n let chunkedValue;\n\n if (config.columns[index1].wrapWord) {\n chunkedValue = wrapWord(value, config.columns[index1].width);\n } else {\n chunkedValue = wrapString(value, config.columns[index1].width);\n }\n\n chunkedValue.forEach((part, index2) => {\n rowHeight[index2][index1] = part;\n });\n });\n\n return rowHeight;\n });\n\n return _.flatten(mappedRows);\n};\n"],"file":"mapDataUsingRowHeightIndex.js"} \ No newline at end of file
+{"version":3,"sources":["../src/mapDataUsingRowHeightIndex.js"],"names":["unmappedRows","rowHeightIndex","config","tableWidth","length","mappedRows","map","cells","index0","rowHeight","_","times","Array","fill","forEach","value","index1","cellLines","columns","width","wrapWord","cellLine","index2","flatten"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;;;;;;oCAMgBA,Y,EAAcC,c,EAAgBC,M,KAAW;AACvD,QAAMC,UAAU,GAAGH,YAAY,CAAC,CAAD,CAAZ,CAAgBI,MAAnC;AAEA,QAAMC,UAAU,GAAGL,YAAY,CAACM,GAAb,CAAiB,CAACC,KAAD,EAAQC,MAAR,KAAmB;AACrD,UAAMC,SAAS,GAAGC,gBAAEC,KAAF,CAAQV,cAAc,CAACO,MAAD,CAAtB,EAAgC,MAAM;AACtD,aAAO,IAAII,KAAJ,CAAUT,UAAV,EAAsBU,IAAtB,CAA2B,EAA3B,CAAP;AACD,KAFiB,CAAlB,CADqD,CAKrD;AACA;AACA;;;AAEAN,IAAAA,KAAK,CAACO,OAAN,CAAc,CAACC,KAAD,EAAQC,MAAR,KAAmB;AAC/B,YAAMC,SAAS,GAAG,uBAASF,KAAT,EAAgBb,MAAM,CAACgB,OAAP,CAAeF,MAAf,EAAuBG,KAAvC,EAA8CjB,MAAM,CAACgB,OAAP,CAAeF,MAAf,EAAuBI,QAArE,CAAlB;AAEAH,MAAAA,SAAS,CAACH,OAAV,CAAkB,CAACO,QAAD,EAAWC,MAAX,KAAsB;AACtCb,QAAAA,SAAS,CAACa,MAAD,CAAT,CAAkBN,MAAlB,IAA4BK,QAA5B;AACD,OAFD;AAGD,KAND;AAQA,WAAOZ,SAAP;AACD,GAlBkB,CAAnB;AAoBA,SAAOC,gBAAEa,OAAF,CAAUlB,UAAV,CAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport wrapCell from './wrapCell';\n\n/**\n * @param {Array} unmappedRows\n * @param {number[]} rowHeightIndex\n * @param {Object} config\n * @returns {Array}\n */\nexport default (unmappedRows, rowHeightIndex, config) => {\n const tableWidth = unmappedRows[0].length;\n\n const mappedRows = unmappedRows.map((cells, index0) => {\n const rowHeight = _.times(rowHeightIndex[index0], () => {\n return new Array(tableWidth).fill('');\n });\n\n // rowHeight\n // [{row index within rowSaw; index2}]\n // [{cell index within a virtual row; index1}]\n\n cells.forEach((value, index1) => {\n const cellLines = wrapCell(value, config.columns[index1].width, config.columns[index1].wrapWord);\n\n cellLines.forEach((cellLine, index2) => {\n rowHeight[index2][index1] = cellLine;\n });\n });\n\n return rowHeight;\n });\n\n return _.flatten(mappedRows);\n};\n"],"file":"mapDataUsingRowHeightIndex.js"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js
index 124335cbfe..7fbd5ec1f5 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js
+++ b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js
@@ -45,9 +45,7 @@ const validateTableData = rows => {
if (cells.length !== columnNumber) {
throw new Error('Table must have a consistent number of cells.');
- } // @todo Make an exception for newline characters.
- // @see https://github.com/gajus/table/issues/9
-
+ }
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
@@ -58,7 +56,7 @@ const validateTableData = rows => {
const cell = _step2.value;
// eslint-disable-next-line no-control-regex
- if (/[\u0001-\u001A]/.test(cell)) {
+ if (/[\u0001-\u0009\u000B-\u001A]/.test(cell)) {
throw new Error('Table data must not contain control characters.');
}
}
diff --git a/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.flow b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.flow
index 075eaf0924..4100f3773c 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.flow
+++ b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.flow
@@ -34,11 +34,9 @@ export default (rows) => {
throw new Error('Table must have a consistent number of cells.');
}
- // @todo Make an exception for newline characters.
- // @see https://github.com/gajus/table/issues/9
for (const cell of cells) {
// eslint-disable-next-line no-control-regex
- if (/[\u0001-\u001A]/.test(cell)) {
+ if (/[\u0001-\u0009\u000B-\u001A]/.test(cell)) {
throw new Error('Table data must not contain control characters.');
}
}
diff --git a/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.map b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.map
index bd892651ce..82b7b44025 100644
--- a/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.map
+++ b/tools/node_modules/eslint/node_modules/table/dist/validateTableData.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/validateTableData.js"],"names":["rows","Array","isArray","TypeError","length","Error","columnNumber","cells","cell","test"],"mappings":";;;;;;;AAAA;;;;AAIA;;;;AAIA;;;;0BAIgBA,I,IAAS;AACvB,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAL,EAA0B;AACxB,UAAM,IAAIG,SAAJ,CAAc,8BAAd,CAAN;AACD;;AAED,MAAIH,IAAI,CAACI,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAM,IAAIC,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,MAAIL,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,IAAIC,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAED,QAAMC,YAAY,GAAGN,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAA7B;AAbuB;AAAA;AAAA;;AAAA;AAevB,yBAAoBJ,IAApB,8HAA0B;AAAA,YAAfO,KAAe;;AACxB,UAAI,CAACN,KAAK,CAACC,OAAN,CAAcK,KAAd,CAAL,EAA2B;AACzB,cAAM,IAAIJ,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,UAAII,KAAK,CAACH,MAAN,KAAiBE,YAArB,EAAmC;AACjC,cAAM,IAAID,KAAJ,CAAU,+CAAV,CAAN;AACD,OAPuB,CASxB;AACA;;;AAVwB;AAAA;AAAA;;AAAA;AAWxB,8BAAmBE,KAAnB,mIAA0B;AAAA,gBAAfC,IAAe;;AACxB;AACA,cAAI,kBAAkBC,IAAlB,CAAuBD,IAAvB,CAAJ,EAAkC;AAChC,kBAAM,IAAIH,KAAJ,CAAU,iDAAV,CAAN;AACD;AACF;AAhBuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBzB;AAhCsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCxB,C","sourcesContent":["/**\n * @typedef {string} cell\n */\n\n/**\n * @typedef {cell[]} validateData~column\n */\n\n/**\n * @param {column[]} rows\n * @returns {undefined}\n */\nexport default (rows) => {\n if (!Array.isArray(rows)) {\n throw new TypeError('Table data must be an array.');\n }\n\n if (rows.length === 0) {\n throw new Error('Table must define at least one row.');\n }\n\n if (rows[0].length === 0) {\n throw new Error('Table must define at least one column.');\n }\n\n const columnNumber = rows[0].length;\n\n for (const cells of rows) {\n if (!Array.isArray(cells)) {\n throw new TypeError('Table row data must be an array.');\n }\n\n if (cells.length !== columnNumber) {\n throw new Error('Table must have a consistent number of cells.');\n }\n\n // @todo Make an exception for newline characters.\n // @see https://github.com/gajus/table/issues/9\n for (const cell of cells) {\n // eslint-disable-next-line no-control-regex\n if (/[\\u0001-\\u001A]/.test(cell)) {\n throw new Error('Table data must not contain control characters.');\n }\n }\n }\n};\n"],"file":"validateTableData.js"} \ No newline at end of file
+{"version":3,"sources":["../src/validateTableData.js"],"names":["rows","Array","isArray","TypeError","length","Error","columnNumber","cells","cell","test"],"mappings":";;;;;;;AAAA;;;;AAIA;;;;AAIA;;;;0BAIgBA,I,IAAS;AACvB,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAL,EAA0B;AACxB,UAAM,IAAIG,SAAJ,CAAc,8BAAd,CAAN;AACD;;AAED,MAAIH,IAAI,CAACI,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAM,IAAIC,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,MAAIL,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,IAAIC,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAED,QAAMC,YAAY,GAAGN,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAA7B;AAbuB;AAAA;AAAA;;AAAA;AAevB,yBAAoBJ,IAApB,8HAA0B;AAAA,YAAfO,KAAe;;AACxB,UAAI,CAACN,KAAK,CAACC,OAAN,CAAcK,KAAd,CAAL,EAA2B;AACzB,cAAM,IAAIJ,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,UAAII,KAAK,CAACH,MAAN,KAAiBE,YAArB,EAAmC;AACjC,cAAM,IAAID,KAAJ,CAAU,+CAAV,CAAN;AACD;;AAPuB;AAAA;AAAA;;AAAA;AASxB,8BAAmBE,KAAnB,mIAA0B;AAAA,gBAAfC,IAAe;;AACxB;AACA,cAAI,+BAA+BC,IAA/B,CAAoCD,IAApC,CAAJ,EAA+C;AAC7C,kBAAM,IAAIH,KAAJ,CAAU,iDAAV,CAAN;AACD;AACF;AAduB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAezB;AA9BsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BxB,C","sourcesContent":["/**\n * @typedef {string} cell\n */\n\n/**\n * @typedef {cell[]} validateData~column\n */\n\n/**\n * @param {column[]} rows\n * @returns {undefined}\n */\nexport default (rows) => {\n if (!Array.isArray(rows)) {\n throw new TypeError('Table data must be an array.');\n }\n\n if (rows.length === 0) {\n throw new Error('Table must define at least one row.');\n }\n\n if (rows[0].length === 0) {\n throw new Error('Table must define at least one column.');\n }\n\n const columnNumber = rows[0].length;\n\n for (const cells of rows) {\n if (!Array.isArray(cells)) {\n throw new TypeError('Table row data must be an array.');\n }\n\n if (cells.length !== columnNumber) {\n throw new Error('Table must have a consistent number of cells.');\n }\n\n for (const cell of cells) {\n // eslint-disable-next-line no-control-regex\n if (/[\\u0001-\\u0009\\u000B-\\u001A]/.test(cell)) {\n throw new Error('Table data must not contain control characters.');\n }\n }\n }\n};\n"],"file":"validateTableData.js"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js b/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js
new file mode 100644
index 0000000000..3bddc4cbf0
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js
@@ -0,0 +1,48 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+
+var _wrapString = _interopRequireDefault(require("./wrapString"));
+
+var _wrapWord = _interopRequireDefault(require("./wrapWord"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+/**
+ * Wrap a single cell value into a list of lines
+ *
+ * Always wraps on newlines, for the remainder uses either word or string wrapping
+ * depending on user configuration.
+ *
+ * @param {string} cellValue
+ * @param {number} columnWidth
+ * @param {boolean} useWrapWord
+ * @returns {Array}
+ */
+const wrapCell = (cellValue, columnWidth, useWrapWord) => {
+ // First split on literal newlines
+ const cellLines = cellValue.split('\n'); // Then iterate over the list and word-wrap every remaining line if necessary.
+
+ for (let lineNr = 0; lineNr < cellLines.length;) {
+ let lineChunks;
+
+ if (useWrapWord) {
+ lineChunks = (0, _wrapWord.default)(cellLines[lineNr], columnWidth);
+ } else {
+ lineChunks = (0, _wrapString.default)(cellLines[lineNr], columnWidth);
+ } // Replace our original array element with whatever the wrapping returned
+
+
+ cellLines.splice(lineNr, 1, ...lineChunks);
+ lineNr += lineChunks.length;
+ }
+
+ return cellLines;
+};
+
+var _default = wrapCell;
+exports.default = _default;
+//# sourceMappingURL=wrapCell.js.map \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.flow b/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.flow
new file mode 100644
index 0000000000..0c66260e25
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.flow
@@ -0,0 +1,35 @@
+import wrapString from './wrapString';
+import wrapWord from './wrapWord';
+
+/**
+ * Wrap a single cell value into a list of lines
+ *
+ * Always wraps on newlines, for the remainder uses either word or string wrapping
+ * depending on user configuration.
+ *
+ * @param {string} cellValue
+ * @param {number} columnWidth
+ * @param {boolean} useWrapWord
+ * @returns {Array}
+ */
+export default (cellValue, columnWidth, useWrapWord) => {
+ // First split on literal newlines
+ const cellLines = cellValue.split('\n');
+
+ // Then iterate over the list and word-wrap every remaining line if necessary.
+ for (let lineNr = 0; lineNr < cellLines.length;) {
+ let lineChunks;
+
+ if (useWrapWord) {
+ lineChunks = wrapWord(cellLines[lineNr], columnWidth);
+ } else {
+ lineChunks = wrapString(cellLines[lineNr], columnWidth);
+ }
+
+ // Replace our original array element with whatever the wrapping returned
+ cellLines.splice(lineNr, 1, ...lineChunks);
+ lineNr += lineChunks.length;
+ }
+
+ return cellLines;
+};
diff --git a/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.map b/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.map
new file mode 100644
index 0000000000..79b36d1d28
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/table/dist/wrapCell.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/wrapCell.js"],"names":["cellValue","columnWidth","useWrapWord","cellLines","split","lineNr","length","lineChunks","splice"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;;;;;;;;;;;kBAWgBA,S,EAAWC,W,EAAaC,W,KAAgB;AACtD;AACA,QAAMC,SAAS,GAAGH,SAAS,CAACI,KAAV,CAAgB,IAAhB,CAAlB,CAFsD,CAItD;;AACA,OAAK,IAAIC,MAAM,GAAG,CAAlB,EAAqBA,MAAM,GAAGF,SAAS,CAACG,MAAxC,GAAiD;AAC/C,QAAIC,UAAJ;;AAEA,QAAIL,WAAJ,EAAiB;AACfK,MAAAA,UAAU,GAAG,uBAASJ,SAAS,CAACE,MAAD,CAAlB,EAA4BJ,WAA5B,CAAb;AACD,KAFD,MAEO;AACLM,MAAAA,UAAU,GAAG,yBAAWJ,SAAS,CAACE,MAAD,CAApB,EAA8BJ,WAA9B,CAAb;AACD,KAP8C,CAS/C;;;AACAE,IAAAA,SAAS,CAACK,MAAV,CAAiBH,MAAjB,EAAyB,CAAzB,EAA4B,GAAGE,UAA/B;AACAF,IAAAA,MAAM,IAAIE,UAAU,CAACD,MAArB;AACD;;AAED,SAAOH,SAAP;AACD,C","sourcesContent":["import wrapString from './wrapString';\nimport wrapWord from './wrapWord';\n\n/**\n * Wrap a single cell value into a list of lines\n *\n * Always wraps on newlines, for the remainder uses either word or string wrapping\n * depending on user configuration.\n *\n * @param {string} cellValue\n * @param {number} columnWidth\n * @param {boolean} useWrapWord\n * @returns {Array}\n */\nexport default (cellValue, columnWidth, useWrapWord) => {\n // First split on literal newlines\n const cellLines = cellValue.split('\\n');\n\n // Then iterate over the list and word-wrap every remaining line if necessary.\n for (let lineNr = 0; lineNr < cellLines.length;) {\n let lineChunks;\n\n if (useWrapWord) {\n lineChunks = wrapWord(cellLines[lineNr], columnWidth);\n } else {\n lineChunks = wrapString(cellLines[lineNr], columnWidth);\n }\n\n // Replace our original array element with whatever the wrapping returned\n cellLines.splice(lineNr, 1, ...lineChunks);\n lineNr += lineChunks.length;\n }\n\n return cellLines;\n};\n"],"file":"wrapCell.js"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json
index ea3580ca15..0a2b3fd45e 100644
--- a/tools/node_modules/eslint/node_modules/table/package.json
+++ b/tools/node_modules/eslint/node_modules/table/package.json
@@ -85,5 +85,5 @@
"lint": "npm run build && eslint ./src ./test && flow",
"test": "mocha --require @babel/register"
},
- "version": "5.1.1"
+ "version": "5.2.1"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json
index fe0f39cd1a..0543d07cb8 100644
--- a/tools/node_modules/eslint/package.json
+++ b/tools/node_modules/eslint/package.json
@@ -134,5 +134,5 @@
"publish-release": "node Makefile.js publishRelease",
"test": "node Makefile.js test"
},
- "version": "5.12.0"
+ "version": "5.12.1"
} \ No newline at end of file