From 27635904a648e69ca6792e021254b563827bddd5 Mon Sep 17 00:00:00 2001 From: s2 Date: Mon, 8 Jun 2020 08:50:28 +0200 Subject: [PATCH] update modules --- node_modules/.bin/ejs | 15 + node_modules/.bin/ejs.cmd | 17 + node_modules/.bin/ejs.ps1 | 18 + node_modules/.bin/jake | 15 + node_modules/.bin/jake.cmd | 17 + node_modules/.bin/jake.ps1 | 18 + .../runtime/helpers/arrayLikeToArray.js | 11 + .../runtime/helpers/arrayWithoutHoles.js | 10 +- .../@babel/runtime/helpers/construct.js | 13 +- .../helpers/createForOfIteratorHelper.js | 60 + .../helpers/createForOfIteratorHelperLoose.js | 28 + .../@babel/runtime/helpers/createSuper.js | 24 + .../runtime/helpers/esm/arrayLikeToArray.js | 9 + .../runtime/helpers/esm/arrayWithoutHoles.js | 9 +- .../@babel/runtime/helpers/esm/construct.js | 15 +- .../helpers/esm/createForOfIteratorHelper.js | 57 + .../esm/createForOfIteratorHelperLoose.js | 25 + .../@babel/runtime/helpers/esm/createSuper.js | 19 + .../helpers/esm/isNativeReflectConstruct.js | 12 + .../runtime/helpers/esm/iterableToArray.js | 2 +- .../helpers/esm/iterableToArrayLimit.js | 5 +- .../helpers/esm/iterableToArrayLimitLoose.js | 5 +- .../runtime/helpers/esm/maybeArrayLike.js | 9 + .../runtime/helpers/esm/nonIterableRest.js | 2 +- .../runtime/helpers/esm/nonIterableSpread.js | 2 +- .../runtime/helpers/esm/objectSpread.js | 4 +- .../runtime/helpers/esm/slicedToArray.js | 3 +- .../runtime/helpers/esm/slicedToArrayLoose.js | 3 +- .../@babel/runtime/helpers/esm/toArray.js | 3 +- .../runtime/helpers/esm/toConsumableArray.js | 3 +- .../@babel/runtime/helpers/esm/typeof.js | 2 + .../helpers/esm/unsupportedIterableToArray.js | 9 + .../helpers/isNativeReflectConstruct.js | 14 + .../@babel/runtime/helpers/iterableToArray.js | 2 +- .../runtime/helpers/iterableToArrayLimit.js | 5 +- .../helpers/iterableToArrayLimitLoose.js | 5 +- .../@babel/runtime/helpers/maybeArrayLike.js | 12 + .../@babel/runtime/helpers/nonIterableRest.js | 2 +- .../runtime/helpers/nonIterableSpread.js | 2 +- .../@babel/runtime/helpers/objectSpread.js | 4 +- .../@babel/runtime/helpers/slicedToArray.js | 4 +- .../runtime/helpers/slicedToArrayLoose.js | 4 +- .../@babel/runtime/helpers/toArray.js | 4 +- .../runtime/helpers/toConsumableArray.js | 4 +- node_modules/@babel/runtime/helpers/typeof.js | 2 + .../helpers/unsupportedIterableToArray.js | 12 + node_modules/@babel/runtime/package.json | 41 +- .../@ungap/url-search-params/cjs/index.js | 3 +- .../@ungap/url-search-params/cjs/package.json | 1 + .../@ungap/url-search-params/esm/index.js | 3 +- .../@ungap/url-search-params/index.js | 3 +- .../@ungap/url-search-params/package.json | 50 +- node_modules/abab/package.json | 4 +- node_modules/acorn-bigint/package.json | 4 +- node_modules/acorn-class-fields/package.json | 4 +- .../acorn-dynamic-import/package.json | 4 +- .../acorn-export-ns-from/package.json | 4 +- node_modules/acorn-globals/package.json | 4 +- node_modules/acorn-import-meta/package.json | 4 +- node_modules/acorn-jsx/package.json | 4 +- .../acorn-logical-assignment/package.json | 4 +- .../acorn-numeric-separator/package.json | 4 +- .../acorn-private-class-elements/package.json | 4 +- .../acorn-private-methods/package.json | 4 +- node_modules/acorn-stage3/package.json | 4 +- .../acorn-static-class-features/package.json | 4 +- node_modules/acorn-walk/package.json | 4 +- node_modules/acorn/package.json | 14 +- node_modules/ajv/package.json | 24 +- node_modules/ansi-styles/package.json | 4 +- node_modules/append-buffer/package.json | 4 +- node_modules/array-equal/package.json | 4 +- node_modules/asn1/package.json | 4 +- node_modules/assert-plus/package.json | 4 +- node_modules/async-limiter/package.json | 4 +- node_modules/async/.travis.yml | 5 + node_modules/async/LICENSE | 19 + node_modules/async/README.md | 1647 ++ node_modules/async/bower.json | 38 + node_modules/async/component.json | 16 + node_modules/async/lib/async.js | 1123 + node_modules/async/package.json | 82 + .../async/support/sync-package-managers.js | 53 + node_modules/asynckit/package.json | 4 +- node_modules/aws-sign2/package.json | 4 +- node_modules/aws4/package.json | 24 +- node_modules/balanced-match/package.json | 4 +- node_modules/bcrypt-pbkdf/package.json | 4 +- node_modules/bootstrap/package.json | 14 +- node_modules/brace-expansion/package.json | 4 +- .../browser-process-hrtime/package.json | 24 +- node_modules/buffer-equal/package.json | 4 +- node_modules/buffer-from/package.json | 4 +- node_modules/camel-case/package.json | 4 +- node_modules/caseless/package.json | 4 +- node_modules/chalk/package.json | 7 +- node_modules/clean-css/package.json | 24 +- node_modules/clone-buffer/package.json | 4 +- node_modules/clone-deep/package.json | 4 +- node_modules/clone-stats/package.json | 4 +- node_modules/clone/package.json | 4 +- node_modules/cloneable-readable/package.json | 4 +- node_modules/color-convert/package.json | 4 +- node_modules/color-name/package.json | 4 +- node_modules/combined-stream/package.json | 4 +- node_modules/commander/package.json | 4 +- node_modules/concat-map/package.json | 4 +- .../node_modules/safe-buffer/package.json | 4 +- node_modules/convert-source-map/package.json | 4 +- node_modules/core-util-is/package.json | 4 +- node_modules/css-b64-images/package.json | 4 +- node_modules/cssom/package.json | 4 +- node_modules/cssstyle/package.json | 4 +- node_modules/dashdash/package.json | 4 +- node_modules/data-urls/package.json | 4 +- node_modules/debug/package.json | 4 +- node_modules/deep-is/package.json | 4 +- node_modules/deepmerge/package.json | 4 +- node_modules/define-properties/package.json | 4 +- node_modules/delayed-stream/package.json | 4 +- node_modules/domexception/package.json | 4 +- node_modules/duplexify/package.json | 4 +- node_modules/ecc-jsbn/package.json | 4 +- node_modules/editions/package.json | 4 +- node_modules/ejs-render-remote/package.json | 14 +- node_modules/ejs/README.md | 114 +- node_modules/ejs/bin/cli.js | 208 + node_modules/ejs/ejs.js | 172 +- node_modules/ejs/ejs.min.js | 2 +- node_modules/ejs/jakefile.js | 4 +- node_modules/ejs/lib/ejs.js | 148 +- node_modules/ejs/lib/utils.js | 2 +- node_modules/ejs/package.json | 51 +- node_modules/ejs/postinstall.js | 4 +- node_modules/ejs/usage.txt | 24 + node_modules/end-of-stream/package.json | 4 +- node_modules/ensure-array/package.json | 4 +- node_modules/eol/package.json | 4 +- node_modules/errlop/package.json | 4 +- node_modules/es6-promise/package.json | 4 +- .../escape-string-regexp/package.json | 4 +- node_modules/escodegen/package.json | 24 +- node_modules/esprima/package.json | 24 +- node_modules/estraverse/package.json | 4 +- node_modules/esutils/package.json | 4 +- node_modules/extend/package.json | 4 +- node_modules/extsprintf/package.json | 4 +- node_modules/fast-deep-equal/package.json | 24 +- .../fast-json-stable-stringify/package.json | 4 +- node_modules/fast-levenshtein/package.json | 4 +- node_modules/filelist/Jakefile | 14 + node_modules/filelist/README.md | 84 + node_modules/filelist/index.js | 484 + node_modules/filelist/package.json | 56 + node_modules/flush-write-stream/package.json | 4 +- node_modules/forever-agent/package.json | 4 +- node_modules/form-data/package.json | 4 +- .../node_modules/through2/package.json | 4 +- node_modules/fs-mkdirp-stream/package.json | 4 +- node_modules/fs.realpath/package.json | 4 +- node_modules/function-bind/package.json | 4 +- node_modules/getpass/package.json | 4 +- node_modules/glob-parent/package.json | 4 +- node_modules/glob-stream/package.json | 4 +- node_modules/glob/package.json | 4 +- node_modules/graceful-fs/package.json | 4 +- .../node_modules/through2/package.json | 4 +- node_modules/gulp-sort/package.json | 4 +- node_modules/har-schema/package.json | 4 +- node_modules/har-validator/package.json | 4 +- node_modules/has-flag/package.json | 4 +- node_modules/has-symbols/package.json | 4 +- node_modules/he/package.json | 6 +- .../html-encoding-sniffer/package.json | 4 +- node_modules/html-minifier/package.json | 4 +- node_modules/http-signature/package.json | 4 +- .../CHANGELOG.md | 27 + .../README.md | 12 +- .../cjs/i18nextBrowserLanguageDetector.js | 363 + .../dist/commonjs/browserLookups/cookie.js | 53 - .../dist/commonjs/browserLookups/htmlTag.js | 19 - .../commonjs/browserLookups/localStorage.js | 34 - .../dist/commonjs/browserLookups/navigator.js | 29 - .../dist/commonjs/browserLookups/path.js | 26 - .../commonjs/browserLookups/querystring.js | 28 - .../dist/commonjs/browserLookups/subdomain.js | 23 - .../dist/commonjs/index.js | 158 - .../dist/commonjs/utils.js | 32 - .../dist/es/browserLookups/cookie.js | 48 - .../dist/es/browserLookups/htmlTag.js | 14 - .../dist/es/browserLookups/localStorage.js | 29 - .../dist/es/browserLookups/navigator.js | 24 - .../dist/es/browserLookups/path.js | 21 - .../dist/es/browserLookups/querystring.js | 23 - .../dist/es/browserLookups/subdomain.js | 18 - .../dist/es/index.js | 125 - .../dist/es/utils.js | 25 - .../esm/i18nextBrowserLanguageDetector.js | 359 + .../umd/i18nextBrowserLanguageDetector.js | 159 +- .../umd/i18nextBrowserLanguageDetector.min.js | 2 +- .../i18nextBrowserLanguageDetector.js | 159 +- .../i18nextBrowserLanguageDetector.min.js | 2 +- .../i18next-browser-languagedetector/index.js | 4 +- .../package.json | 80 +- .../tsconfig.nonEsModuleInterop.json | 4 +- .../node_modules/commander/package.json | 4 +- .../node_modules/esprima/package.json | 4 +- node_modules/i18next-scanner/package.json | 4 +- .../i18next-xhr-backend/.circleci/config.yml | 24 + .../i18next-xhr-backend/.prettierignore | 2 + .../.prettierrc | 0 node_modules/i18next-xhr-backend/.travis.yml | 6 - node_modules/i18next-xhr-backend/CHANGELOG.md | 35 + node_modules/i18next-xhr-backend/README.md | 69 +- .../dist/cjs/i18nextXHRBackend.js | 214 + .../i18next-xhr-backend/dist/commonjs/ajax.js | 77 - .../dist/commonjs/index.js | 123 - .../dist/commonjs/utils.js | 32 - .../i18next-xhr-backend/dist/es/ajax.js | 71 - .../i18next-xhr-backend/dist/es/index.js | 108 - .../i18next-xhr-backend/dist/es/utils.js | 25 - .../dist/esm/i18nextXHRBackend.js | 210 + .../dist/umd/i18nextXHRBackend.js | 396 +- .../dist/umd/i18nextXHRBackend.min.js | 2 +- .../i18next-xhr-backend/i18nextXHRBackend.js | 396 +- .../i18nextXHRBackend.min.js | 2 +- node_modules/i18next-xhr-backend/index.d.ts | 128 +- node_modules/i18next-xhr-backend/index.js | 2 +- node_modules/i18next-xhr-backend/package.json | 119 +- .../i18next-xhr-backend/rollup.config.js | 78 +- .../i18next-xhr-backend/tsconfig.json | 2 +- node_modules/i18next-xhr-backend/tslint.json | 3 +- node_modules/i18next/.prettierignore | 3 - node_modules/i18next/CHANGELOG.md | 193 + node_modules/i18next/README.md | 2 +- node_modules/i18next/dist/cjs/i18next.js | 2344 ++ .../i18next/dist/commonjs/BackendConnector.js | 279 - .../i18next/dist/commonjs/EventEmitter.js | 82 - .../i18next/dist/commonjs/Interpolator.js | 203 - .../i18next/dist/commonjs/LanguageUtils.js | 135 - .../i18next/dist/commonjs/PluralResolver.js | 289 - .../i18next/dist/commonjs/ResourceStore.js | 191 - .../i18next/dist/commonjs/Translator.js | 375 - .../i18next/dist/commonjs/defaults.js | 114 - node_modules/i18next/dist/commonjs/i18next.js | 480 - node_modules/i18next/dist/commonjs/index.js | 73 - node_modules/i18next/dist/commonjs/logger.js | 116 - .../i18next/dist/commonjs/postProcessor.js | 21 - node_modules/i18next/dist/commonjs/utils.js | 137 - .../i18next/dist/es/BackendConnector.js | 258 - node_modules/i18next/dist/es/EventEmitter.js | 73 - node_modules/i18next/dist/es/Interpolator.js | 192 - node_modules/i18next/dist/es/LanguageUtils.js | 125 - .../i18next/dist/es/PluralResolver.js | 279 - node_modules/i18next/dist/es/ResourceStore.js | 172 - node_modules/i18next/dist/es/Translator.js | 353 - node_modules/i18next/dist/es/defaults.js | 102 - node_modules/i18next/dist/es/i18next.js | 454 - node_modules/i18next/dist/es/index.js | 17 - node_modules/i18next/dist/es/logger.js | 104 - node_modules/i18next/dist/es/postProcessor.js | 14 - node_modules/i18next/dist/es/utils.js | 115 - node_modules/i18next/dist/esm/i18next.js | 2340 ++ node_modules/i18next/dist/umd/i18next.js | 490 +- node_modules/i18next/dist/umd/i18next.min.js | 2 +- node_modules/i18next/i18next.js | 490 +- node_modules/i18next/i18next.min.js | 2 +- node_modules/i18next/index.d.ts | 1970 +- node_modules/i18next/index.js | 2 +- node_modules/i18next/karma.backward.conf.js | 50 - node_modules/i18next/package.json | 61 +- node_modules/i18next/rollup.config.js | 42 - .../i18next/tsconfig.nonEsModuleInterop.json | 8 + node_modules/i18next/tslint.json | 7 - node_modules/iconv-lite/package.json | 4 +- node_modules/inflight/package.json | 4 +- node_modules/inherits/package.json | 4 +- node_modules/is-absolute/package.json | 4 +- node_modules/is-buffer/package.json | 4 +- node_modules/is-extglob/package.json | 4 +- node_modules/is-glob/package.json | 4 +- node_modules/is-negated-glob/package.json | 4 +- node_modules/is-plain-object/package.json | 4 +- node_modules/is-relative/package.json | 4 +- node_modules/is-typedarray/package.json | 4 +- node_modules/is-unc-path/package.json | 4 +- node_modules/is-utf8/package.json | 4 +- node_modules/is-valid-glob/package.json | 4 +- node_modules/is-windows/package.json | 4 +- node_modules/isarray/package.json | 4 +- node_modules/isobject/package.json | 4 +- node_modules/isstream/package.json | 4 +- node_modules/jake/Makefile | 44 + node_modules/jake/README.md | 17 + node_modules/jake/bin/bash_completion.sh | 41 + node_modules/jake/bin/cli.js | 31 + node_modules/jake/jakefile.js | 105 + node_modules/jake/lib/api.js | 409 + node_modules/jake/lib/jake.js | 327 + node_modules/jake/lib/loader.js | 165 + node_modules/jake/lib/namespace.js | 115 + node_modules/jake/lib/package_task.js | 406 + node_modules/jake/lib/parseargs.js | 134 + node_modules/jake/lib/program.js | 282 + node_modules/jake/lib/publish_task.js | 290 + node_modules/jake/lib/rule.js | 311 + node_modules/jake/lib/task/directory_task.js | 30 + node_modules/jake/lib/task/file_task.js | 124 + node_modules/jake/lib/task/index.js | 9 + node_modules/jake/lib/task/task.js | 439 + node_modules/jake/lib/test_task.js | 270 + node_modules/jake/lib/utils/file.js | 286 + node_modules/jake/lib/utils/index.js | 297 + node_modules/jake/lib/utils/logger.js | 24 + node_modules/jake/package.json | 75 + .../jake/test/integration/concurrent.js | 42 + node_modules/jake/test/integration/file.js | 228 + .../jake/test/integration/file_task.js | 125 + node_modules/jake/test/integration/helpers.js | 80 + .../jake/test/integration/jakefile.js | 332 + .../integration/jakelib/concurrent.jake.js | 113 + .../test/integration/jakelib/publish.jake.js | 49 + .../jakelib/required_module.jake.js | 10 + .../test/integration/jakelib/rule.jake.js | 222 + .../jake/test/integration/publish_task.js | 24 + node_modules/jake/test/integration/rule.js | 216 + node_modules/jake/test/integration/selfdep.js | 39 + .../jake/test/integration/task_base.js | 157 + node_modules/jake/test/unit/jakefile.js | 36 + node_modules/jake/test/unit/namespace.js | 71 + node_modules/jake/test/unit/parseargs.js | 169 + node_modules/jake/usage.txt | 16 + node_modules/jquery/dist/core.js | 399 - node_modules/jquery/package.json | 14 +- node_modules/jquery/src/.eslintrc.json | 14 - node_modules/jquery/src/ajax/parseXML.js | 30 - node_modules/jquery/src/event/ajax.js | 22 - node_modules/jquery/src/event/alias.js | 29 - node_modules/jquery/src/var/concat.js | 7 - node_modules/jsbn/package.json | 4 +- node_modules/jsdom/package.json | 4 +- .../json-schema-traverse/package.json | 4 +- node_modules/json-schema/package.json | 4 +- .../package.json | 4 +- node_modules/json-stringify-safe/package.json | 4 +- node_modules/jsprim/package.json | 4 +- node_modules/kind-of/package.json | 4 +- node_modules/lazystream/package.json | 4 +- node_modules/lead/package.json | 4 +- node_modules/levn/package.json | 4 +- node_modules/lodash.sortby/package.json | 4 +- node_modules/lodash/package.json | 4 +- node_modules/lower-case/package.json | 4 +- node_modules/mime-db/package.json | 14 +- node_modules/mime-types/package.json | 24 +- node_modules/minify/package.json | 24 +- node_modules/minifyfromhtml/package.json | 17 +- node_modules/minimatch/package.json | 8 +- node_modules/minimist/package.json | 14 +- node_modules/ms/package.json | 4 +- node_modules/no-case/package.json | 4 +- node_modules/normalize-path/package.json | 4 +- node_modules/now-and-later/package.json | 4 +- node_modules/nwsapi/package.json | 4 +- node_modules/oauth-sign/package.json | 4 +- node_modules/object-keys/package.json | 4 +- node_modules/object.assign/package.json | 4 +- node_modules/once/package.json | 4 +- node_modules/optionator/package.json | 4 +- .../ordered-read-streams/package.json | 4 +- node_modules/page/package.json | 14 +- node_modules/param-case/package.json | 4 +- node_modules/parse5/package.json | 4 +- node_modules/path-dirname/package.json | 4 +- node_modules/path-is-absolute/package.json | 4 +- node_modules/path-to-regexp/package.json | 4 +- node_modules/performance-now/package.json | 4 +- node_modules/pn/package.json | 4 +- node_modules/pnotify/package.json | 14 +- .../popper.js/dist/umd/poppper.js.flow | 156 - node_modules/popper.js/package.json | 14 +- node_modules/prelude-ls/package.json | 4 +- .../process-nextick-args/package.json | 4 +- node_modules/psl/package.json | 24 +- node_modules/pump/package.json | 4 +- node_modules/pumpify/package.json | 4 +- node_modules/punycode/package.json | 4 +- node_modules/qs/package.json | 4 +- .../node_modules/isarray/package.json | 4 +- .../node_modules/safe-buffer/package.json | 4 +- node_modules/readable-stream/package.json | 4 +- node_modules/regenerator-runtime/README.md | 2 +- node_modules/regenerator-runtime/package.json | 31 +- node_modules/regenerator-runtime/runtime.js | 15 +- node_modules/relateurl/package.json | 4 +- node_modules/remove-bom-buffer/package.json | 4 +- .../node_modules/through2/package.json | 4 +- node_modules/remove-bom-stream/package.json | 4 +- .../remove-trailing-separator/package.json | 4 +- node_modules/replace-ext/package.json | 4 +- .../request-promise-core/package.json | 4 +- .../request-promise-native/package.json | 4 +- .../node_modules/punycode/LICENSE-MIT.txt | 20 - .../request/node_modules/punycode/README.md | 176 - .../node_modules/punycode/package.json | 87 - .../request/node_modules/punycode/punycode.js | 533 - .../request/node_modules/tough-cookie/LICENSE | 12 - .../node_modules/tough-cookie/README.md | 507 - .../node_modules/tough-cookie/lib/cookie.js | 1431 - .../node_modules/tough-cookie/lib/memstore.js | 176 - .../tough-cookie/lib/pathMatch.js | 61 - .../tough-cookie/lib/permuteDomain.js | 56 - .../tough-cookie/lib/pubsuffix-psl.js | 38 - .../node_modules/tough-cookie/lib/store.js | 71 - .../node_modules/tough-cookie/package.json | 94 - node_modules/request/package.json | 24 +- node_modules/resolve-options/package.json | 4 +- node_modules/safe-buffer/package.json | 4 +- node_modules/safer-buffer/package.json | 4 +- node_modules/saxes/package.json | 4 +- node_modules/semver/package.json | 4 +- node_modules/shallow-clone/package.json | 4 +- node_modules/sortobject/package.json | 4 +- node_modules/source-map-support/package.json | 24 +- node_modules/source-map/package.json | 7 +- node_modules/sshpk/package.json | 10 +- node_modules/stealthy-require/package.json | 4 +- node_modules/stream-shift/package.json | 4 +- .../node_modules/safe-buffer/package.json | 4 +- node_modules/string_decoder/package.json | 4 +- node_modules/supports-color/package.json | 4 +- node_modules/symbol-tree/package.json | 4 +- node_modules/terser/dist/bundle.js | 21955 ---------------- node_modules/terser/dist/bundle.js.map | 1 - node_modules/terser/package.json | 24 +- .../node_modules/through2/package.json | 4 +- node_modules/through2-filter/package.json | 4 +- node_modules/through2/package.json | 4 +- node_modules/to-absolute-glob/package.json | 4 +- .../node_modules/through2/package.json | 4 +- node_modules/to-through/package.json | 4 +- node_modules/tough-cookie/package.json | 5 +- node_modules/tr46/package.json | 4 +- node_modules/try-catch/package.json | 24 +- node_modules/try-to-catch/legacy/index.js | 1 - .../try-to-catch/legacy/try-to-catch.js | 37 - node_modules/try-to-catch/package.json | 24 +- node_modules/tunnel-agent/package.json | 4 +- node_modules/tweetnacl/package.json | 4 +- node_modules/type-check/package.json | 4 +- node_modules/uglify-js/package.json | 24 +- node_modules/unc-path-regex/package.json | 4 +- node_modules/unique-stream/package.json | 4 +- node_modules/upper-case/package.json | 4 +- node_modules/uri-js/package.json | 4 +- node_modules/util-deprecate/package.json | 4 +- node_modules/uuid/package.json | 24 +- node_modules/value-or-function/package.json | 4 +- node_modules/verror/package.json | 4 +- .../node_modules/through2/package.json | 4 +- node_modules/vinyl-fs/package.json | 4 +- node_modules/vinyl-sourcemap/package.json | 4 +- node_modules/vinyl/package.json | 4 +- node_modules/w3c-hr-time/package.json | 24 +- node_modules/w3c-xmlserializer/package.json | 4 +- node_modules/webidl-conversions/package.json | 4 +- node_modules/whatwg-encoding/package.json | 4 +- node_modules/whatwg-mimetype/package.json | 4 +- node_modules/whatwg-url/package.json | 4 +- node_modules/word-wrap/package.json | 4 +- node_modules/wrappy/package.json | 4 +- node_modules/ws/package.json | 4 +- node_modules/xml-name-validator/package.json | 4 +- node_modules/xmlchars/package.json | 4 +- node_modules/xtend/package.json | 4 +- package-lock.json | 98 +- package.json | 10 +- 477 files changed, 20385 insertions(+), 35036 deletions(-) create mode 100644 node_modules/.bin/ejs create mode 100644 node_modules/.bin/ejs.cmd create mode 100644 node_modules/.bin/ejs.ps1 create mode 100644 node_modules/.bin/jake create mode 100644 node_modules/.bin/jake.cmd create mode 100644 node_modules/.bin/jake.ps1 create mode 100644 node_modules/@babel/runtime/helpers/arrayLikeToArray.js create mode 100644 node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js create mode 100644 node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js create mode 100644 node_modules/@babel/runtime/helpers/createSuper.js create mode 100644 node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js create mode 100644 node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js create mode 100644 node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js create mode 100644 node_modules/@babel/runtime/helpers/esm/createSuper.js create mode 100644 node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js create mode 100644 node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js create mode 100644 node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js create mode 100644 node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js create mode 100644 node_modules/@babel/runtime/helpers/maybeArrayLike.js create mode 100644 node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js create mode 100644 node_modules/@ungap/url-search-params/cjs/package.json create mode 100644 node_modules/async/.travis.yml create mode 100644 node_modules/async/LICENSE create mode 100644 node_modules/async/README.md create mode 100644 node_modules/async/bower.json create mode 100644 node_modules/async/component.json create mode 100644 node_modules/async/lib/async.js create mode 100644 node_modules/async/package.json create mode 100644 node_modules/async/support/sync-package-managers.js create mode 100644 node_modules/ejs/bin/cli.js create mode 100644 node_modules/ejs/usage.txt create mode 100644 node_modules/filelist/Jakefile create mode 100644 node_modules/filelist/README.md create mode 100644 node_modules/filelist/index.js create mode 100644 node_modules/filelist/package.json create mode 100644 node_modules/i18next-browser-languagedetector/dist/cjs/i18nextBrowserLanguageDetector.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/cookie.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/htmlTag.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/localStorage.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/navigator.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/path.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/querystring.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/browserLookups/subdomain.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/index.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/commonjs/utils.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/cookie.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/htmlTag.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/localStorage.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/navigator.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/path.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/querystring.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/browserLookups/subdomain.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/index.js delete mode 100644 node_modules/i18next-browser-languagedetector/dist/es/utils.js create mode 100644 node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js create mode 100644 node_modules/i18next-xhr-backend/.circleci/config.yml create mode 100644 node_modules/i18next-xhr-backend/.prettierignore rename node_modules/{i18next => i18next-xhr-backend}/.prettierrc (100%) delete mode 100644 node_modules/i18next-xhr-backend/.travis.yml create mode 100644 node_modules/i18next-xhr-backend/dist/cjs/i18nextXHRBackend.js delete mode 100644 node_modules/i18next-xhr-backend/dist/commonjs/ajax.js delete mode 100644 node_modules/i18next-xhr-backend/dist/commonjs/index.js delete mode 100644 node_modules/i18next-xhr-backend/dist/commonjs/utils.js delete mode 100644 node_modules/i18next-xhr-backend/dist/es/ajax.js delete mode 100644 node_modules/i18next-xhr-backend/dist/es/index.js delete mode 100644 node_modules/i18next-xhr-backend/dist/es/utils.js create mode 100644 node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js delete mode 100644 node_modules/i18next/.prettierignore create mode 100644 node_modules/i18next/dist/cjs/i18next.js delete mode 100644 node_modules/i18next/dist/commonjs/BackendConnector.js delete mode 100644 node_modules/i18next/dist/commonjs/EventEmitter.js delete mode 100644 node_modules/i18next/dist/commonjs/Interpolator.js delete mode 100644 node_modules/i18next/dist/commonjs/LanguageUtils.js delete mode 100644 node_modules/i18next/dist/commonjs/PluralResolver.js delete mode 100644 node_modules/i18next/dist/commonjs/ResourceStore.js delete mode 100644 node_modules/i18next/dist/commonjs/Translator.js delete mode 100644 node_modules/i18next/dist/commonjs/defaults.js delete mode 100644 node_modules/i18next/dist/commonjs/i18next.js delete mode 100644 node_modules/i18next/dist/commonjs/index.js delete mode 100644 node_modules/i18next/dist/commonjs/logger.js delete mode 100644 node_modules/i18next/dist/commonjs/postProcessor.js delete mode 100644 node_modules/i18next/dist/commonjs/utils.js delete mode 100644 node_modules/i18next/dist/es/BackendConnector.js delete mode 100644 node_modules/i18next/dist/es/EventEmitter.js delete mode 100644 node_modules/i18next/dist/es/Interpolator.js delete mode 100644 node_modules/i18next/dist/es/LanguageUtils.js delete mode 100644 node_modules/i18next/dist/es/PluralResolver.js delete mode 100644 node_modules/i18next/dist/es/ResourceStore.js delete mode 100644 node_modules/i18next/dist/es/Translator.js delete mode 100644 node_modules/i18next/dist/es/defaults.js delete mode 100644 node_modules/i18next/dist/es/i18next.js delete mode 100644 node_modules/i18next/dist/es/index.js delete mode 100644 node_modules/i18next/dist/es/logger.js delete mode 100644 node_modules/i18next/dist/es/postProcessor.js delete mode 100644 node_modules/i18next/dist/es/utils.js create mode 100644 node_modules/i18next/dist/esm/i18next.js delete mode 100644 node_modules/i18next/karma.backward.conf.js delete mode 100644 node_modules/i18next/rollup.config.js create mode 100644 node_modules/i18next/tsconfig.nonEsModuleInterop.json delete mode 100644 node_modules/i18next/tslint.json create mode 100644 node_modules/jake/Makefile create mode 100644 node_modules/jake/README.md create mode 100644 node_modules/jake/bin/bash_completion.sh create mode 100644 node_modules/jake/bin/cli.js create mode 100644 node_modules/jake/jakefile.js create mode 100644 node_modules/jake/lib/api.js create mode 100644 node_modules/jake/lib/jake.js create mode 100644 node_modules/jake/lib/loader.js create mode 100644 node_modules/jake/lib/namespace.js create mode 100644 node_modules/jake/lib/package_task.js create mode 100644 node_modules/jake/lib/parseargs.js create mode 100644 node_modules/jake/lib/program.js create mode 100644 node_modules/jake/lib/publish_task.js create mode 100644 node_modules/jake/lib/rule.js create mode 100644 node_modules/jake/lib/task/directory_task.js create mode 100644 node_modules/jake/lib/task/file_task.js create mode 100644 node_modules/jake/lib/task/index.js create mode 100644 node_modules/jake/lib/task/task.js create mode 100644 node_modules/jake/lib/test_task.js create mode 100644 node_modules/jake/lib/utils/file.js create mode 100644 node_modules/jake/lib/utils/index.js create mode 100644 node_modules/jake/lib/utils/logger.js create mode 100644 node_modules/jake/package.json create mode 100644 node_modules/jake/test/integration/concurrent.js create mode 100644 node_modules/jake/test/integration/file.js create mode 100644 node_modules/jake/test/integration/file_task.js create mode 100644 node_modules/jake/test/integration/helpers.js create mode 100644 node_modules/jake/test/integration/jakefile.js create mode 100644 node_modules/jake/test/integration/jakelib/concurrent.jake.js create mode 100644 node_modules/jake/test/integration/jakelib/publish.jake.js create mode 100644 node_modules/jake/test/integration/jakelib/required_module.jake.js create mode 100644 node_modules/jake/test/integration/jakelib/rule.jake.js create mode 100644 node_modules/jake/test/integration/publish_task.js create mode 100644 node_modules/jake/test/integration/rule.js create mode 100644 node_modules/jake/test/integration/selfdep.js create mode 100644 node_modules/jake/test/integration/task_base.js create mode 100644 node_modules/jake/test/unit/jakefile.js create mode 100644 node_modules/jake/test/unit/namespace.js create mode 100644 node_modules/jake/test/unit/parseargs.js create mode 100644 node_modules/jake/usage.txt delete mode 100644 node_modules/jquery/dist/core.js delete mode 100644 node_modules/jquery/src/.eslintrc.json delete mode 100644 node_modules/jquery/src/ajax/parseXML.js delete mode 100644 node_modules/jquery/src/event/ajax.js delete mode 100644 node_modules/jquery/src/event/alias.js delete mode 100644 node_modules/jquery/src/var/concat.js delete mode 100644 node_modules/popper.js/dist/umd/poppper.js.flow delete mode 100644 node_modules/request/node_modules/punycode/LICENSE-MIT.txt delete mode 100644 node_modules/request/node_modules/punycode/README.md delete mode 100644 node_modules/request/node_modules/punycode/package.json delete mode 100644 node_modules/request/node_modules/punycode/punycode.js delete mode 100644 node_modules/request/node_modules/tough-cookie/LICENSE delete mode 100644 node_modules/request/node_modules/tough-cookie/README.md delete mode 100644 node_modules/request/node_modules/tough-cookie/lib/cookie.js delete mode 100644 node_modules/request/node_modules/tough-cookie/lib/memstore.js delete mode 100644 node_modules/request/node_modules/tough-cookie/lib/pathMatch.js delete mode 100644 node_modules/request/node_modules/tough-cookie/lib/permuteDomain.js delete mode 100644 node_modules/request/node_modules/tough-cookie/lib/pubsuffix-psl.js delete mode 100644 node_modules/request/node_modules/tough-cookie/lib/store.js delete mode 100644 node_modules/request/node_modules/tough-cookie/package.json delete mode 100644 node_modules/terser/dist/bundle.js delete mode 100644 node_modules/terser/dist/bundle.js.map delete mode 100644 node_modules/try-to-catch/legacy/index.js delete mode 100644 node_modules/try-to-catch/legacy/try-to-catch.js diff --git a/node_modules/.bin/ejs b/node_modules/.bin/ejs new file mode 100644 index 0000000..0b9c6b7 --- /dev/null +++ b/node_modules/.bin/ejs @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../ejs/bin/cli.js" "$@" + ret=$? +else + node "$basedir/../ejs/bin/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/ejs.cmd b/node_modules/.bin/ejs.cmd new file mode 100644 index 0000000..3bb42ad --- /dev/null +++ b/node_modules/.bin/ejs.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\ejs\bin\cli.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/ejs.ps1 b/node_modules/.bin/ejs.ps1 new file mode 100644 index 0000000..78e73c8 --- /dev/null +++ b/node_modules/.bin/ejs.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../ejs/bin/cli.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../ejs/bin/cli.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/.bin/jake b/node_modules/.bin/jake new file mode 100644 index 0000000..df203c1 --- /dev/null +++ b/node_modules/.bin/jake @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../jake/bin/cli.js" "$@" + ret=$? +else + node "$basedir/../jake/bin/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/node_modules/.bin/jake.cmd b/node_modules/.bin/jake.cmd new file mode 100644 index 0000000..5b09dcb --- /dev/null +++ b/node_modules/.bin/jake.cmd @@ -0,0 +1,17 @@ +@ECHO off +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +"%_prog%" "%dp0%\..\jake\bin\cli.js" %* +ENDLOCAL +EXIT /b %errorlevel% +:find_dp0 +SET dp0=%~dp0 +EXIT /b diff --git a/node_modules/.bin/jake.ps1 b/node_modules/.bin/jake.ps1 new file mode 100644 index 0000000..bbe80ea --- /dev/null +++ b/node_modules/.bin/jake.ps1 @@ -0,0 +1,18 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + & "$basedir/node$exe" "$basedir/../jake/bin/cli.js" $args + $ret=$LASTEXITCODE +} else { + & "node$exe" "$basedir/../jake/bin/cli.js" $args + $ret=$LASTEXITCODE +} +exit $ret diff --git a/node_modules/@babel/runtime/helpers/arrayLikeToArray.js b/node_modules/@babel/runtime/helpers/arrayLikeToArray.js new file mode 100644 index 0000000..d620194 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/arrayLikeToArray.js @@ -0,0 +1,11 @@ +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +module.exports = _arrayLikeToArray; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js b/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js index 3234017..694681c 100644 --- a/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +++ b/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js @@ -1,11 +1,7 @@ -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { - arr2[i] = arr[i]; - } +var arrayLikeToArray = require("./arrayLikeToArray"); - return arr2; - } +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return arrayLikeToArray(arr); } module.exports = _arrayWithoutHoles; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/construct.js b/node_modules/@babel/runtime/helpers/construct.js index 723a7ea..e6cccf0 100644 --- a/node_modules/@babel/runtime/helpers/construct.js +++ b/node_modules/@babel/runtime/helpers/construct.js @@ -1,17 +1,6 @@ var setPrototypeOf = require("./setPrototypeOf"); -function isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - - try { - Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); - return true; - } catch (e) { - return false; - } -} +var isNativeReflectConstruct = require("./isNativeReflectConstruct"); function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { diff --git a/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js b/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js new file mode 100644 index 0000000..fbb3743 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js @@ -0,0 +1,60 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + + var F = function F() {}; + + return { + s: F, + n: function n() { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }, + e: function e(_e) { + throw _e; + }, + f: F + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var normalCompletion = true, + didErr = false, + err; + return { + s: function s() { + it = o[Symbol.iterator](); + }, + n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function e(_e2) { + didErr = true; + err = _e2; + }, + f: function f() { + try { + if (!normalCompletion && it["return"] != null) it["return"](); + } finally { + if (didErr) throw err; + } + } + }; +} + +module.exports = _createForOfIteratorHelper; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js b/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js new file mode 100644 index 0000000..547d4b9 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js @@ -0,0 +1,28 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + it = o[Symbol.iterator](); + return it.next.bind(it); +} + +module.exports = _createForOfIteratorHelperLoose; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/createSuper.js b/node_modules/@babel/runtime/helpers/createSuper.js new file mode 100644 index 0000000..fcf1283 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/createSuper.js @@ -0,0 +1,24 @@ +var getPrototypeOf = require("./getPrototypeOf"); + +var isNativeReflectConstruct = require("./isNativeReflectConstruct"); + +var possibleConstructorReturn = require("./possibleConstructorReturn"); + +function _createSuper(Derived) { + var hasNativeReflectConstruct = isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = getPrototypeOf(Derived), + result; + + if (hasNativeReflectConstruct) { + var NewTarget = getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + + return possibleConstructorReturn(this, result); + }; +} + +module.exports = _createSuper; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js b/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js new file mode 100644 index 0000000..edbeb8e --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js @@ -0,0 +1,9 @@ +export default function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js b/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js index cbcffa1..e736ad8 100644 --- a/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +++ b/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js @@ -1,9 +1,4 @@ +import arrayLikeToArray from "./arrayLikeToArray"; export default function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { - arr2[i] = arr[i]; - } - - return arr2; - } + if (Array.isArray(arr)) return arrayLikeToArray(arr); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/construct.js b/node_modules/@babel/runtime/helpers/esm/construct.js index 82f20fa..1068154 100644 --- a/node_modules/@babel/runtime/helpers/esm/construct.js +++ b/node_modules/@babel/runtime/helpers/esm/construct.js @@ -1,18 +1,5 @@ import setPrototypeOf from "./setPrototypeOf"; - -function isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - - try { - Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); - return true; - } catch (e) { - return false; - } -} - +import isNativeReflectConstruct from "./isNativeReflectConstruct"; export default function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; diff --git a/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js new file mode 100644 index 0000000..a4f8b41 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js @@ -0,0 +1,57 @@ +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +export default function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + + var F = function F() {}; + + return { + s: F, + n: function n() { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }, + e: function e(_e) { + throw _e; + }, + f: F + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var normalCompletion = true, + didErr = false, + err; + return { + s: function s() { + it = o[Symbol.iterator](); + }, + n: function n() { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function e(_e2) { + didErr = true; + err = _e2; + }, + f: function f() { + try { + if (!normalCompletion && it["return"] != null) it["return"](); + } finally { + if (didErr) throw err; + } + } + }; +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js new file mode 100644 index 0000000..535c7a4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js @@ -0,0 +1,25 @@ +import unsupportedIterableToArray from "./unsupportedIterableToArray"; +export default function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + it = o[Symbol.iterator](); + return it.next.bind(it); +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/createSuper.js b/node_modules/@babel/runtime/helpers/esm/createSuper.js new file mode 100644 index 0000000..70404e4 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/createSuper.js @@ -0,0 +1,19 @@ +import getPrototypeOf from "./getPrototypeOf"; +import isNativeReflectConstruct from "./isNativeReflectConstruct"; +import possibleConstructorReturn from "./possibleConstructorReturn"; +export default function _createSuper(Derived) { + var hasNativeReflectConstruct = isNativeReflectConstruct(); + return function _createSuperInternal() { + var Super = getPrototypeOf(Derived), + result; + + if (hasNativeReflectConstruct) { + var NewTarget = getPrototypeOf(this).constructor; + result = Reflect.construct(Super, arguments, NewTarget); + } else { + result = Super.apply(this, arguments); + } + + return possibleConstructorReturn(this, result); + }; +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js b/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js new file mode 100644 index 0000000..9829e0f --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js @@ -0,0 +1,12 @@ +export default function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/iterableToArray.js b/node_modules/@babel/runtime/helpers/esm/iterableToArray.js index 671e400..6cd6ae3 100644 --- a/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +++ b/node_modules/@babel/runtime/helpers/esm/iterableToArray.js @@ -1,3 +1,3 @@ export default function _iterableToArray(iter) { - if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js b/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js index 535cdde..6402595 100644 --- a/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +++ b/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js @@ -1,8 +1,5 @@ export default function _iterableToArrayLimit(arr, i) { - if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { - return; - } - + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; diff --git a/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js b/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js index aac8223..025c0ea 100644 --- a/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +++ b/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js @@ -1,8 +1,5 @@ export default function _iterableToArrayLimitLoose(arr, i) { - if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { - return; - } - + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { diff --git a/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js b/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js new file mode 100644 index 0000000..91d5c62 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js @@ -0,0 +1,9 @@ +import arrayLikeToArray from "./arrayLikeToArray"; +export default function _maybeArrayLike(next, arr, i) { + if (arr && !Array.isArray(arr) && typeof arr.length === "number") { + var len = arr.length; + return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len); + } + + return next(arr, i); +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js b/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js index f94186d..b349d00 100644 --- a/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +++ b/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js @@ -1,3 +1,3 @@ export default function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js b/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js index d6bc738..82d8296 100644 --- a/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +++ b/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js @@ -1,3 +1,3 @@ export default function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/objectSpread.js b/node_modules/@babel/runtime/helpers/esm/objectSpread.js index 739ea18..0e189fb 100644 --- a/node_modules/@babel/runtime/helpers/esm/objectSpread.js +++ b/node_modules/@babel/runtime/helpers/esm/objectSpread.js @@ -1,8 +1,8 @@ import defineProperty from "./defineProperty"; export default function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - var ownKeys = Object.keys(Object(source)); + var source = arguments[i] != null ? Object(arguments[i]) : {}; + var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { diff --git a/node_modules/@babel/runtime/helpers/esm/slicedToArray.js b/node_modules/@babel/runtime/helpers/esm/slicedToArray.js index f6f1081..6968608 100644 --- a/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +++ b/node_modules/@babel/runtime/helpers/esm/slicedToArray.js @@ -1,6 +1,7 @@ import arrayWithHoles from "./arrayWithHoles"; import iterableToArrayLimit from "./iterableToArrayLimit"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; import nonIterableRest from "./nonIterableRest"; export default function _slicedToArray(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js b/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js index e675789..883f9e3 100644 --- a/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +++ b/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js @@ -1,6 +1,7 @@ import arrayWithHoles from "./arrayWithHoles"; import iterableToArrayLimitLoose from "./iterableToArrayLimitLoose"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; import nonIterableRest from "./nonIterableRest"; export default function _slicedToArrayLoose(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest(); + return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toArray.js b/node_modules/@babel/runtime/helpers/esm/toArray.js index 5acb22b..7d4a65d 100644 --- a/node_modules/@babel/runtime/helpers/esm/toArray.js +++ b/node_modules/@babel/runtime/helpers/esm/toArray.js @@ -1,6 +1,7 @@ import arrayWithHoles from "./arrayWithHoles"; import iterableToArray from "./iterableToArray"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; import nonIterableRest from "./nonIterableRest"; export default function _toArray(arr) { - return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest(); + return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js b/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js index 7e480b9..67439c9 100644 --- a/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +++ b/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js @@ -1,6 +1,7 @@ import arrayWithoutHoles from "./arrayWithoutHoles"; import iterableToArray from "./iterableToArray"; +import unsupportedIterableToArray from "./unsupportedIterableToArray"; import nonIterableSpread from "./nonIterableSpread"; export default function _toConsumableArray(arr) { - return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); + return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); } \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/esm/typeof.js b/node_modules/@babel/runtime/helpers/esm/typeof.js index 1c500c4..eb444f7 100644 --- a/node_modules/@babel/runtime/helpers/esm/typeof.js +++ b/node_modules/@babel/runtime/helpers/esm/typeof.js @@ -1,4 +1,6 @@ export default function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; diff --git a/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js b/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js new file mode 100644 index 0000000..078d048 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js @@ -0,0 +1,9 @@ +import arrayLikeToArray from "./arrayLikeToArray"; +export default function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); +} \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js b/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js new file mode 100644 index 0000000..4dc5853 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js @@ -0,0 +1,14 @@ +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +module.exports = _isNativeReflectConstruct; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/iterableToArray.js b/node_modules/@babel/runtime/helpers/iterableToArray.js index e917e57..954244b 100644 --- a/node_modules/@babel/runtime/helpers/iterableToArray.js +++ b/node_modules/@babel/runtime/helpers/iterableToArray.js @@ -1,5 +1,5 @@ function _iterableToArray(iter) { - if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } module.exports = _iterableToArray; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js b/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js index cd01642..548e639 100644 --- a/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +++ b/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js @@ -1,8 +1,5 @@ function _iterableToArrayLimit(arr, i) { - if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { - return; - } - + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; diff --git a/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js b/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js index ccf8d2f..e1a959f 100644 --- a/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +++ b/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js @@ -1,8 +1,5 @@ function _iterableToArrayLimitLoose(arr, i) { - if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { - return; - } - + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { diff --git a/node_modules/@babel/runtime/helpers/maybeArrayLike.js b/node_modules/@babel/runtime/helpers/maybeArrayLike.js new file mode 100644 index 0000000..0a09c43 --- /dev/null +++ b/node_modules/@babel/runtime/helpers/maybeArrayLike.js @@ -0,0 +1,12 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); + +function _maybeArrayLike(next, arr, i) { + if (arr && !Array.isArray(arr) && typeof arr.length === "number") { + var len = arr.length; + return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len); + } + + return next(arr, i); +} + +module.exports = _maybeArrayLike; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/nonIterableRest.js b/node_modules/@babel/runtime/helpers/nonIterableRest.js index eb447dd..5b3a52e 100644 --- a/node_modules/@babel/runtime/helpers/nonIterableRest.js +++ b/node_modules/@babel/runtime/helpers/nonIterableRest.js @@ -1,5 +1,5 @@ function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/nonIterableSpread.js b/node_modules/@babel/runtime/helpers/nonIterableSpread.js index 7d7ca43..65457a2 100644 --- a/node_modules/@babel/runtime/helpers/nonIterableSpread.js +++ b/node_modules/@babel/runtime/helpers/nonIterableSpread.js @@ -1,5 +1,5 @@ function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/objectSpread.js b/node_modules/@babel/runtime/helpers/objectSpread.js index 8de02d3..ad8036e 100644 --- a/node_modules/@babel/runtime/helpers/objectSpread.js +++ b/node_modules/@babel/runtime/helpers/objectSpread.js @@ -2,8 +2,8 @@ var defineProperty = require("./defineProperty"); function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - var ownKeys = Object.keys(Object(source)); + var source = arguments[i] != null ? Object(arguments[i]) : {}; + var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { diff --git a/node_modules/@babel/runtime/helpers/slicedToArray.js b/node_modules/@babel/runtime/helpers/slicedToArray.js index 243ea9e..4255ab9 100644 --- a/node_modules/@babel/runtime/helpers/slicedToArray.js +++ b/node_modules/@babel/runtime/helpers/slicedToArray.js @@ -2,10 +2,12 @@ var arrayWithHoles = require("./arrayWithHoles"); var iterableToArrayLimit = require("./iterableToArrayLimit"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + var nonIterableRest = require("./nonIterableRest"); function _slicedToArray(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js b/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js index c7e4313..7304013 100644 --- a/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +++ b/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js @@ -2,10 +2,12 @@ var arrayWithHoles = require("./arrayWithHoles"); var iterableToArrayLimitLoose = require("./iterableToArrayLimitLoose"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + var nonIterableRest = require("./nonIterableRest"); function _slicedToArrayLoose(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest(); + return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArrayLoose; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toArray.js b/node_modules/@babel/runtime/helpers/toArray.js index c28fd9e..f113822 100644 --- a/node_modules/@babel/runtime/helpers/toArray.js +++ b/node_modules/@babel/runtime/helpers/toArray.js @@ -2,10 +2,12 @@ var arrayWithHoles = require("./arrayWithHoles"); var iterableToArray = require("./iterableToArray"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + var nonIterableRest = require("./nonIterableRest"); function _toArray(arr) { - return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest(); + return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest(); } module.exports = _toArray; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/toConsumableArray.js b/node_modules/@babel/runtime/helpers/toConsumableArray.js index 4cd54a3..ec51d2e 100644 --- a/node_modules/@babel/runtime/helpers/toConsumableArray.js +++ b/node_modules/@babel/runtime/helpers/toConsumableArray.js @@ -2,10 +2,12 @@ var arrayWithoutHoles = require("./arrayWithoutHoles"); var iterableToArray = require("./iterableToArray"); +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); + var nonIterableSpread = require("./nonIterableSpread"); function _toConsumableArray(arr) { - return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); + return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray; \ No newline at end of file diff --git a/node_modules/@babel/runtime/helpers/typeof.js b/node_modules/@babel/runtime/helpers/typeof.js index ee89154..cad1233 100644 --- a/node_modules/@babel/runtime/helpers/typeof.js +++ b/node_modules/@babel/runtime/helpers/typeof.js @@ -1,4 +1,6 @@ function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { module.exports = _typeof = function _typeof(obj) { return typeof obj; diff --git a/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js b/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js new file mode 100644 index 0000000..3d3e12a --- /dev/null +++ b/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js @@ -0,0 +1,12 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); +} + +module.exports = _unsupportedIterableToArray; \ No newline at end of file diff --git a/node_modules/@babel/runtime/package.json b/node_modules/@babel/runtime/package.json index d186878..7388464 100644 --- a/node_modules/@babel/runtime/package.json +++ b/node_modules/@babel/runtime/package.json @@ -1,33 +1,30 @@ { - "_args": [ - [ - "@babel/runtime@7.7.7", - "D:\\Projects\\siag\\vanillajs-seed" - ] - ], - "_from": "@babel/runtime@7.7.7", - "_id": "@babel/runtime@7.7.7", + "_from": "@babel/runtime@^7.3.1", + "_id": "@babel/runtime@7.10.2", "_inBundle": false, - "_integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==", + "_integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", "_location": "/@babel/runtime", "_phantomChildren": {}, "_requested": { - "type": "version", + "type": "range", "registry": true, - "raw": "@babel/runtime@7.7.7", + "raw": "@babel/runtime@^7.3.1", "name": "@babel/runtime", "escapedName": "@babel%2fruntime", "scope": "@babel", - "rawSpec": "7.7.7", + "rawSpec": "^7.3.1", "saveSpec": null, - "fetchSpec": "7.7.7" + "fetchSpec": "^7.3.1" }, "_requiredBy": [ - "/i18next" + "/i18next", + "/i18next-browser-languagedetector", + "/i18next-xhr-backend" ], - "_resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz", - "_spec": "7.7.7", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", + "_shasum": "d103f21f2602497d38348a32e008637d506db839", + "_spec": "@babel/runtime@^7.3.1", + "_where": "D:\\Projects\\vanillajs-seed\\node_modules\\i18next", "author": { "name": "Sebastian McKenzie", "email": "sebmck@gmail.com" @@ -35,14 +32,16 @@ "bugs": { "url": "https://github.com/babel/babel/issues" }, + "bundleDependencies": false, "dependencies": { - "regenerator-runtime": "^0.13.2" + "regenerator-runtime": "^0.13.4" }, + "deprecated": false, "description": "babel's modular runtime helpers", "devDependencies": { - "@babel/helpers": "^7.7.4" + "@babel/helpers": "^7.10.1" }, - "gitHead": "12da0941c898987ae30045a9da90ed5bf58ecaf9", + "gitHead": "b0350e5b1e86bd2d53b4a25705e39eb380ec65a2", "homepage": "https://babeljs.io/docs/en/next/babel-runtime", "license": "MIT", "name": "@babel/runtime", @@ -54,5 +53,5 @@ "url": "git+https://github.com/babel/babel.git", "directory": "packages/babel-runtime" }, - "version": "7.7.7" + "version": "7.10.2" } diff --git a/node_modules/@ungap/url-search-params/cjs/index.js b/node_modules/@ungap/url-search-params/cjs/index.js index d819081..c35a060 100644 --- a/node_modules/@ungap/url-search-params/cjs/index.js +++ b/node_modules/@ungap/url-search-params/cjs/index.js @@ -245,12 +245,13 @@ try { function iterator(self, callback) { var items = []; self.forEach(callback, items); + /* istanbul ignore next */ return iterable ? items[Symbol.iterator]() : { next: function() { var value = items.shift(); - return {done: value === undefined, value: value}; + return {done: value === void 0, value: value}; } }; } diff --git a/node_modules/@ungap/url-search-params/cjs/package.json b/node_modules/@ungap/url-search-params/cjs/package.json new file mode 100644 index 0000000..729ac4d --- /dev/null +++ b/node_modules/@ungap/url-search-params/cjs/package.json @@ -0,0 +1 @@ +{"type":"commonjs"} diff --git a/node_modules/@ungap/url-search-params/esm/index.js b/node_modules/@ungap/url-search-params/esm/index.js index 8ab8888..497a668 100644 --- a/node_modules/@ungap/url-search-params/esm/index.js +++ b/node_modules/@ungap/url-search-params/esm/index.js @@ -245,12 +245,13 @@ try { function iterator(self, callback) { var items = []; self.forEach(callback, items); + /* istanbul ignore next */ return iterable ? items[Symbol.iterator]() : { next: function() { var value = items.shift(); - return {done: value === undefined, value: value}; + return {done: value === void 0, value: value}; } }; } diff --git a/node_modules/@ungap/url-search-params/index.js b/node_modules/@ungap/url-search-params/index.js index 94e0417..a2b0183 100644 --- a/node_modules/@ungap/url-search-params/index.js +++ b/node_modules/@ungap/url-search-params/index.js @@ -245,12 +245,13 @@ try { function iterator(self, callback) { var items = []; self.forEach(callback, items); + /* istanbul ignore next */ return iterable ? items[Symbol.iterator]() : { next: function() { var value = items.shift(); - return {done: value === undefined, value: value}; + return {done: value === void 0, value: value}; } }; } diff --git a/node_modules/@ungap/url-search-params/package.json b/node_modules/@ungap/url-search-params/package.json index 048c0fd..60bae9b 100644 --- a/node_modules/@ungap/url-search-params/package.json +++ b/node_modules/@ungap/url-search-params/package.json @@ -1,44 +1,45 @@ { - "_args": [ - [ - "@ungap/url-search-params@0.1.4", - "D:\\Projects\\siag\\vanillajs-seed" - ] - ], - "_from": "@ungap/url-search-params@0.1.4", - "_id": "@ungap/url-search-params@0.1.4", + "_from": "@ungap/url-search-params@^0.2.0", + "_id": "@ungap/url-search-params@0.2.0", "_inBundle": false, - "_integrity": "sha512-RLwrxCTDNiNev9hpr9rDq8NyeQ8Nn0X1we4Wu7Tlf368I8r+7hBj3uObhifhuLk74egaYaSX5nUsBlWz6kjj+A==", + "_integrity": "sha512-KVPTXfdofx9g/1OnO4js0Sos/ITghfNxw+DHJUyXG+X83KEMyJV+fQ6zyd2jTUwqall/SCJlV7p/HDqJbbF5WQ==", "_location": "/@ungap/url-search-params", "_phantomChildren": {}, "_requested": { - "type": "version", + "type": "range", "registry": true, - "raw": "@ungap/url-search-params@0.1.4", + "raw": "@ungap/url-search-params@^0.2.0", "name": "@ungap/url-search-params", "escapedName": "@ungap%2furl-search-params", "scope": "@ungap", - "rawSpec": "0.1.4", + "rawSpec": "^0.2.0", "saveSpec": null, - "fetchSpec": "0.1.4" + "fetchSpec": "^0.2.0" }, "_requiredBy": [ "/" ], - "_resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.1.4.tgz", - "_spec": "0.1.4", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.2.0.tgz", + "_shasum": "8942763e5d31330fcd5a04fdbf1c66a5eb97c20e", + "_spec": "@ungap/url-search-params@^0.2.0", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Andrea Giammarchi" }, "bugs": { "url": "https://github.com/ungap/url-search-params/issues" }, + "bundleDependencies": false, + "deprecated": false, "description": "The URLSearchParams polyfill.", "devDependencies": { - "coveralls": "^3.0.9", - "istanbul": "^0.4.5", - "uglify-js": "^3.7.0" + "coveralls": "^3.1.0", + "nyc": "^15.0.1", + "uglify-js": "^3.9.1" + }, + "exports": { + "import": "./esm/index.js", + "default": "./cjs/index.js" }, "homepage": "https://github.com/ungap/url-search-params#readme", "keywords": [ @@ -47,8 +48,8 @@ "ungap" ], "license": "ISC", - "main": "cjs/index.js", - "module": "esm/index.js", + "main": "./cjs/index.js", + "module": "./esm/index.js", "name": "@ungap/url-search-params", "repository": { "type": "git", @@ -57,12 +58,13 @@ "scripts": { "build": "npm run cjs && npm run esm && npm run min && npm run test && npm run size", "cjs": "cp index.js cjs/ && echo 'module.exports = self.URLSearchParams;' >> cjs/index.js", - "coveralls": "cat ./coverage/lcov.info | coveralls", + "coveralls": "nyc report --reporter=text-lcov | coveralls", "esm": "cp index.js esm/ && echo 'export default self.URLSearchParams;' >> esm/index.js", "min": "uglifyjs index.js --support-ie8 --comments=/^!/ -c -m -o min.js", "size": "cat index.js | wc -c && cat min.js | wc -c && gzip -c9 min.js | wc -c && cat min.js | brotli | wc -c", - "test": "istanbul cover test/index.js" + "test": "nyc node test/index.js" }, + "type": "module", "unpkg": "min.js", - "version": "0.1.4" + "version": "0.2.0" } diff --git a/node_modules/abab/package.json b/node_modules/abab/package.json index 076e4fe..57f738d 100644 --- a/node_modules/abab/package.json +++ b/node_modules/abab/package.json @@ -2,7 +2,7 @@ "_args": [ [ "abab@2.0.3", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", "_spec": "2.0.3", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jeff Carpenter", "email": "gcarpenterv@gmail.com" diff --git a/node_modules/acorn-bigint/package.json b/node_modules/acorn-bigint/package.json index 99e0d6b..dc17375 100644 --- a/node_modules/acorn-bigint/package.json +++ b/node_modules/acorn-bigint/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-bigint@0.4.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-bigint/-/acorn-bigint-0.4.0.tgz", "_spec": "0.4.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-bigint/issues" }, diff --git a/node_modules/acorn-class-fields/package.json b/node_modules/acorn-class-fields/package.json index 4e31a01..43bbde7 100644 --- a/node_modules/acorn-class-fields/package.json +++ b/node_modules/acorn-class-fields/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-class-fields@0.3.4", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.3.4.tgz", "_spec": "0.3.4", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-class-fields/issues" }, diff --git a/node_modules/acorn-dynamic-import/package.json b/node_modules/acorn-dynamic-import/package.json index 3f165b1..06d030d 100644 --- a/node_modules/acorn-dynamic-import/package.json +++ b/node_modules/acorn-dynamic-import/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-dynamic-import@4.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", "_spec": "4.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jordan Gensler", "email": "jordangens@gmail.com" diff --git a/node_modules/acorn-export-ns-from/package.json b/node_modules/acorn-export-ns-from/package.json index 975ee36..cc27cad 100644 --- a/node_modules/acorn-export-ns-from/package.json +++ b/node_modules/acorn-export-ns-from/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-export-ns-from@0.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-export-ns-from/-/acorn-export-ns-from-0.1.0.tgz", "_spec": "0.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-export-ns-from/issues" }, diff --git a/node_modules/acorn-globals/package.json b/node_modules/acorn-globals/package.json index d7f8f41..f60f5c0 100644 --- a/node_modules/acorn-globals/package.json +++ b/node_modules/acorn-globals/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-globals@4.3.4", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", "_spec": "4.3.4", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "ForbesLindesay" }, diff --git a/node_modules/acorn-import-meta/package.json b/node_modules/acorn-import-meta/package.json index b6de6fa..09f19f8 100644 --- a/node_modules/acorn-import-meta/package.json +++ b/node_modules/acorn-import-meta/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-import-meta@1.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-import-meta/-/acorn-import-meta-1.1.0.tgz", "_spec": "1.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/adrianheine/acorn-import-meta/issues" }, diff --git a/node_modules/acorn-jsx/package.json b/node_modules/acorn-jsx/package.json index 0554fe0..e8b98cb 100644 --- a/node_modules/acorn-jsx/package.json +++ b/node_modules/acorn-jsx/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-jsx@5.2.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", "_spec": "5.2.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-jsx/issues" }, diff --git a/node_modules/acorn-logical-assignment/package.json b/node_modules/acorn-logical-assignment/package.json index 1c78e0f..0adbcf5 100644 --- a/node_modules/acorn-logical-assignment/package.json +++ b/node_modules/acorn-logical-assignment/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-logical-assignment@0.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-logical-assignment/-/acorn-logical-assignment-0.1.0.tgz", "_spec": "0.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Adrian Heine", "email": "mail@adrianheine.de" diff --git a/node_modules/acorn-numeric-separator/package.json b/node_modules/acorn-numeric-separator/package.json index 7e59fe7..07bcf89 100644 --- a/node_modules/acorn-numeric-separator/package.json +++ b/node_modules/acorn-numeric-separator/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-numeric-separator@0.3.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-numeric-separator/-/acorn-numeric-separator-0.3.2.tgz", "_spec": "0.3.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-numeric-separator/issues" }, diff --git a/node_modules/acorn-private-class-elements/package.json b/node_modules/acorn-private-class-elements/package.json index 58b4ef8..ad07bb9 100644 --- a/node_modules/acorn-private-class-elements/package.json +++ b/node_modules/acorn-private-class-elements/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-private-class-elements@0.2.5", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -29,7 +29,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-private-class-elements/-/acorn-private-class-elements-0.2.5.tgz", "_spec": "0.2.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-private-class-elements/issues" }, diff --git a/node_modules/acorn-private-methods/package.json b/node_modules/acorn-private-methods/package.json index f47aed2..73a7d09 100644 --- a/node_modules/acorn-private-methods/package.json +++ b/node_modules/acorn-private-methods/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-private-methods@0.3.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-private-methods/-/acorn-private-methods-0.3.1.tgz", "_spec": "0.3.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-private-methods/issues" }, diff --git a/node_modules/acorn-stage3/package.json b/node_modules/acorn-stage3/package.json index 1e7d5e1..5a2b7a8 100644 --- a/node_modules/acorn-stage3/package.json +++ b/node_modules/acorn-stage3/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-stage3@2.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-stage3/-/acorn-stage3-2.1.0.tgz", "_spec": "2.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-stage3/issues" }, diff --git a/node_modules/acorn-static-class-features/package.json b/node_modules/acorn-static-class-features/package.json index 92f27d6..895b03c 100644 --- a/node_modules/acorn-static-class-features/package.json +++ b/node_modules/acorn-static-class-features/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-static-class-features@0.2.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-static-class-features/-/acorn-static-class-features-0.2.2.tgz", "_spec": "0.2.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn-static-class-features/issues" }, diff --git a/node_modules/acorn-walk/package.json b/node_modules/acorn-walk/package.json index 6a3f5fe..8909f15 100644 --- a/node_modules/acorn-walk/package.json +++ b/node_modules/acorn-walk/package.json @@ -2,7 +2,7 @@ "_args": [ [ "acorn-walk@6.2.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", "_spec": "6.2.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/acornjs/acorn/issues" }, diff --git a/node_modules/acorn/package.json b/node_modules/acorn/package.json index 0c74da2..3dd313c 100644 --- a/node_modules/acorn/package.json +++ b/node_modules/acorn/package.json @@ -1,4 +1,11 @@ { + "_args": [ + [ + "acorn@6.4.1", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, "_from": "acorn@6.4.1", "_id": "acorn@6.4.1", "_inBundle": false, @@ -21,17 +28,14 @@ "/jsdom" ], "_resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "_shasum": "531e58ba3f51b9dacb9a6646ca4debf5b14ca474", - "_spec": "acorn@6.4.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\acorn-globals", + "_spec": "6.4.1", + "_where": "D:\\Projects\\vanillajs-seed", "bin": { "acorn": "bin/acorn" }, "bugs": { "url": "https://github.com/acornjs/acorn/issues" }, - "bundleDependencies": false, - "deprecated": false, "description": "ECMAScript parser", "engines": { "node": ">=0.4.0" diff --git a/node_modules/ajv/package.json b/node_modules/ajv/package.json index 965b5bd..63196e2 100644 --- a/node_modules/ajv/package.json +++ b/node_modules/ajv/package.json @@ -1,34 +1,39 @@ { - "_from": "ajv@^6.5.5", + "_args": [ + [ + "ajv@6.12.2", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "ajv@6.12.2", "_id": "ajv@6.12.2", "_inBundle": false, "_integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "_location": "/ajv", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "ajv@^6.5.5", + "raw": "ajv@6.12.2", "name": "ajv", "escapedName": "ajv", - "rawSpec": "^6.5.5", + "rawSpec": "6.12.2", "saveSpec": null, - "fetchSpec": "^6.5.5" + "fetchSpec": "6.12.2" }, "_requiredBy": [ "/har-validator" ], "_resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "_shasum": "c629c5eced17baf314437918d2da88c99d5958cd", - "_spec": "ajv@^6.5.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\har-validator", + "_spec": "6.12.2", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Evgeny Poberezkin" }, "bugs": { "url": "https://github.com/epoberezkin/ajv/issues" }, - "bundleDependencies": false, "collective": { "type": "opencollective", "url": "https://opencollective.com/ajv" @@ -39,7 +44,6 @@ "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" }, - "deprecated": false, "description": "Another JSON Schema Validator", "devDependencies": { "ajv-async": "^1.0.0", diff --git a/node_modules/ansi-styles/package.json b/node_modules/ansi-styles/package.json index 6d83647..4e618fa 100644 --- a/node_modules/ansi-styles/package.json +++ b/node_modules/ansi-styles/package.json @@ -2,7 +2,7 @@ "_args": [ [ "ansi-styles@3.2.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "_spec": "3.2.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/append-buffer/package.json b/node_modules/append-buffer/package.json index cd5f111..51d661a 100644 --- a/node_modules/append-buffer/package.json +++ b/node_modules/append-buffer/package.json @@ -2,7 +2,7 @@ "_args": [ [ "append-buffer@1.0.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", "_spec": "1.0.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Brian Woodward", "url": "https://doowb.com" diff --git a/node_modules/array-equal/package.json b/node_modules/array-equal/package.json index fc775bd..515f0e5 100644 --- a/node_modules/array-equal/package.json +++ b/node_modules/array-equal/package.json @@ -2,7 +2,7 @@ "_args": [ [ "array-equal@1.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "_spec": "1.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jonathan Ong", "email": "me@jongleberry.com", diff --git a/node_modules/asn1/package.json b/node_modules/asn1/package.json index f8e43d4..0e3cb33 100644 --- a/node_modules/asn1/package.json +++ b/node_modules/asn1/package.json @@ -2,7 +2,7 @@ "_args": [ [ "asn1@0.2.4", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "_spec": "0.2.4", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Joyent", "url": "joyent.com" diff --git a/node_modules/assert-plus/package.json b/node_modules/assert-plus/package.json index 0e28fe7..ce5b43d 100644 --- a/node_modules/assert-plus/package.json +++ b/node_modules/assert-plus/package.json @@ -2,7 +2,7 @@ "_args": [ [ "assert-plus@1.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -32,7 +32,7 @@ ], "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "_spec": "1.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Mark Cavage", "email": "mcavage@gmail.com" diff --git a/node_modules/async-limiter/package.json b/node_modules/async-limiter/package.json index 5657075..6db5f59 100644 --- a/node_modules/async-limiter/package.json +++ b/node_modules/async-limiter/package.json @@ -2,7 +2,7 @@ "_args": [ [ "async-limiter@1.0.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "_spec": "1.0.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Samuel Reed" }, diff --git a/node_modules/async/.travis.yml b/node_modules/async/.travis.yml new file mode 100644 index 0000000..6064ca0 --- /dev/null +++ b/node_modules/async/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - "0.10" + - "0.12" + - "iojs" diff --git a/node_modules/async/LICENSE b/node_modules/async/LICENSE new file mode 100644 index 0000000..8f29698 --- /dev/null +++ b/node_modules/async/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2010-2014 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/async/README.md b/node_modules/async/README.md new file mode 100644 index 0000000..6cfb922 --- /dev/null +++ b/node_modules/async/README.md @@ -0,0 +1,1647 @@ +# Async.js + +[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async) + + +Async is a utility module which provides straight-forward, powerful functions +for working with asynchronous JavaScript. Although originally designed for +use with [Node.js](http://nodejs.org) and installable via `npm install async`, +it can also be used directly in the browser. + +Async is also installable via: + +- [bower](http://bower.io/): `bower install async` +- [component](https://github.com/component/component): `component install + caolan/async` +- [jam](http://jamjs.org/): `jam install async` +- [spm](http://spmjs.io/): `spm install async` + +Async provides around 20 functions that include the usual 'functional' +suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns +for asynchronous control flow (`parallel`, `series`, `waterfall`…). All these +functions assume you follow the Node.js convention of providing a single +callback as the last argument of your `async` function. + + +## Quick Examples + +```javascript +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); + +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); + +async.parallel([ + function(){ ... }, + function(){ ... } +], callback); + +async.series([ + function(){ ... }, + function(){ ... } +]); +``` + +There are many more functions available so take a look at the docs below for a +full list. This module aims to be comprehensive, so if you feel anything is +missing please create a GitHub issue for it. + +## Common Pitfalls + +### Binding a context to an iterator + +This section is really about `bind`, not about `async`. If you are wondering how to +make `async` execute your iterators in a given context, or are confused as to why +a method of another library isn't working as an iterator, study this example: + +```js +// Here is a simple object with an (unnecessarily roundabout) squaring method +var AsyncSquaringLibrary = { + squareExponent: 2, + square: function(number, callback){ + var result = Math.pow(number, this.squareExponent); + setTimeout(function(){ + callback(null, result); + }, 200); + } +}; + +async.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){ + // result is [NaN, NaN, NaN] + // This fails because the `this.squareExponent` expression in the square + // function is not evaluated in the context of AsyncSquaringLibrary, and is + // therefore undefined. +}); + +async.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){ + // result is [1, 4, 9] + // With the help of bind we can attach a context to the iterator before + // passing it to async. Now the square function will be executed in its + // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent` + // will be as expected. +}); +``` + +## Download + +The source is available for download from +[GitHub](http://github.com/caolan/async). +Alternatively, you can install using Node Package Manager (`npm`): + + npm install async + +__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed + +## In the Browser + +So far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. + +Usage: + +```html + + +``` + +## Documentation + +### Collections + +* [`each`](#each) +* [`eachSeries`](#eachSeries) +* [`eachLimit`](#eachLimit) +* [`map`](#map) +* [`mapSeries`](#mapSeries) +* [`mapLimit`](#mapLimit) +* [`filter`](#filter) +* [`filterSeries`](#filterSeries) +* [`reject`](#reject) +* [`rejectSeries`](#rejectSeries) +* [`reduce`](#reduce) +* [`reduceRight`](#reduceRight) +* [`detect`](#detect) +* [`detectSeries`](#detectSeries) +* [`sortBy`](#sortBy) +* [`some`](#some) +* [`every`](#every) +* [`concat`](#concat) +* [`concatSeries`](#concatSeries) + +### Control Flow + +* [`series`](#seriestasks-callback) +* [`parallel`](#parallel) +* [`parallelLimit`](#parallellimittasks-limit-callback) +* [`whilst`](#whilst) +* [`doWhilst`](#doWhilst) +* [`until`](#until) +* [`doUntil`](#doUntil) +* [`forever`](#forever) +* [`waterfall`](#waterfall) +* [`compose`](#compose) +* [`seq`](#seq) +* [`applyEach`](#applyEach) +* [`applyEachSeries`](#applyEachSeries) +* [`queue`](#queue) +* [`priorityQueue`](#priorityQueue) +* [`cargo`](#cargo) +* [`auto`](#auto) +* [`retry`](#retry) +* [`iterator`](#iterator) +* [`apply`](#apply) +* [`nextTick`](#nextTick) +* [`times`](#times) +* [`timesSeries`](#timesSeries) + +### Utils + +* [`memoize`](#memoize) +* [`unmemoize`](#unmemoize) +* [`log`](#log) +* [`dir`](#dir) +* [`noConflict`](#noConflict) + + +## Collections + + + +### each(arr, iterator, callback) + +Applies the function `iterator` to each item in `arr`, in parallel. +The `iterator` is called with an item from the list, and a callback for when it +has finished. If the `iterator` passes an error to its `callback`, the main +`callback` (for the `each` function) is immediately called with the error. + +Note, that since this function applies `iterator` to each item in parallel, +there is no guarantee that the iterator functions will complete in order. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err)` which must be called once it has + completed. If no error has occurred, the `callback` should be run without + arguments or with an explicit `null` argument. +* `callback(err)` - A callback which is called when all `iterator` functions + have finished, or an error occurs. + +__Examples__ + + +```js +// assuming openFiles is an array of file names and saveFile is a function +// to save the modified contents of that file: + +async.each(openFiles, saveFile, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +```js +// assuming openFiles is an array of file names + +async.each(openFiles, function(file, callback) { + + // Perform operation on file here. + console.log('Processing file ' + file); + + if( file.length > 32 ) { + console.log('This file name is too long'); + callback('File name too long'); + } else { + // Do work to process file here + console.log('File processed'); + callback(); + } +}, function(err){ + // if any of the file processing produced an error, err would equal that error + if( err ) { + // One of the iterations produced an error. + // All processing will now stop. + console.log('A file failed to process'); + } else { + console.log('All files have been processed successfully'); + } +}); +``` + +--------------------------------------- + + + +### eachSeries(arr, iterator, callback) + +The same as [`each`](#each), only `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +This means the `iterator` functions will complete in order. + + +--------------------------------------- + + + +### eachLimit(arr, limit, iterator, callback) + +The same as [`each`](#each), only no more than `limit` `iterator`s will be simultaneously +running at any time. + +Note that the items in `arr` are not processed in batches, so there is no guarantee that +the first `limit` `iterator` functions will complete before any others are started. + +__Arguments__ + +* `arr` - An array to iterate over. +* `limit` - The maximum number of `iterator`s to run at any time. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err)` which must be called once it has + completed. If no error has occurred, the callback should be run without + arguments or with an explicit `null` argument. +* `callback(err)` - A callback which is called when all `iterator` functions + have finished, or an error occurs. + +__Example__ + +```js +// Assume documents is an array of JSON objects and requestApi is a +// function that interacts with a rate-limited REST api. + +async.eachLimit(documents, 20, requestApi, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + + +### map(arr, iterator, callback) + +Produces a new array of values by mapping each value in `arr` through +the `iterator` function. The `iterator` is called with an item from `arr` and a +callback for when it has finished processing. Each of these callback takes 2 arguments: +an `error`, and the transformed item from `arr`. If `iterator` passes an error to his +callback, the main `callback` (for the `map` function) is immediately called with the error. + +Note, that since this function applies the `iterator` to each item in parallel, +there is no guarantee that the `iterator` functions will complete in order. +However, the results array will be in the same order as the original `arr`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, transformed)` which must be called once + it has completed with an error (which can be `null`) and a transformed item. +* `callback(err, results)` - A callback which is called when all `iterator` + functions have finished, or an error occurs. Results is an array of the + transformed items from the `arr`. + +__Example__ + +```js +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + +### mapSeries(arr, iterator, callback) + +The same as [`map`](#map), only the `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + + +--------------------------------------- + + +### mapLimit(arr, limit, iterator, callback) + +The same as [`map`](#map), only no more than `limit` `iterator`s will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that +the first `limit` `iterator` functions will complete before any others are started. + +__Arguments__ + +* `arr` - An array to iterate over. +* `limit` - The maximum number of `iterator`s to run at any time. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, transformed)` which must be called once + it has completed with an error (which can be `null`) and a transformed item. +* `callback(err, results)` - A callback which is called when all `iterator` + calls have finished, or an error occurs. The result is an array of the + transformed items from the original `arr`. + +__Example__ + +```js +async.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + + + +### filter(arr, iterator, callback) + +__Alias:__ `select` + +Returns a new array of all the values in `arr` which pass an async truth test. +_The callback for each `iterator` call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. This operation is +performed in parallel, but the results array will be in the same order as the +original. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in `arr`. + The `iterator` is passed a `callback(truthValue)`, which must be called with a + boolean argument once it has completed. +* `callback(results)` - A callback which is called after all the `iterator` + functions have finished. + +__Example__ + +```js +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); +``` + +--------------------------------------- + + + +### filterSeries(arr, iterator, callback) + +__Alias:__ `selectSeries` + +The same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + +--------------------------------------- + + +### reject(arr, iterator, callback) + +The opposite of [`filter`](#filter). Removes values that pass an `async` truth test. + +--------------------------------------- + + +### rejectSeries(arr, iterator, callback) + +The same as [`reject`](#reject), only the `iterator` is applied to each item in `arr` +in series. + + +--------------------------------------- + + +### reduce(arr, memo, iterator, callback) + +__Aliases:__ `inject`, `foldl` + +Reduces `arr` into a single value using an async `iterator` to return +each successive step. `memo` is the initial state of the reduction. +This function only operates in series. + +For performance reasons, it may make sense to split a call to this function into +a parallel map, and then use the normal `Array.prototype.reduce` on the results. +This function is for situations where each step in the reduction needs to be async; +if you can get the data before reducing it, then it's probably a good idea to do so. + +__Arguments__ + +* `arr` - An array to iterate over. +* `memo` - The initial state of the reduction. +* `iterator(memo, item, callback)` - A function applied to each item in the + array to produce the next step in the reduction. The `iterator` is passed a + `callback(err, reduction)` which accepts an optional error as its first + argument, and the state of the reduction as the second. If an error is + passed to the callback, the reduction is stopped and the main `callback` is + immediately called with the error. +* `callback(err, result)` - A callback which is called after all the `iterator` + functions have finished. Result is the reduced value. + +__Example__ + +```js +async.reduce([1,2,3], 0, function(memo, item, callback){ + // pointless async: + process.nextTick(function(){ + callback(null, memo + item) + }); +}, function(err, result){ + // result is now equal to the last value of memo, which is 6 +}); +``` + +--------------------------------------- + + +### reduceRight(arr, memo, iterator, callback) + +__Alias:__ `foldr` + +Same as [`reduce`](#reduce), only operates on `arr` in reverse order. + + +--------------------------------------- + + +### detect(arr, iterator, callback) + +Returns the first value in `arr` that passes an async truth test. The +`iterator` is applied in parallel, meaning the first iterator to return `true` will +fire the detect `callback` with that result. That means the result might not be +the first item in the original `arr` (in terms of order) that passes the test. + +If order within the original `arr` is important, then look at [`detectSeries`](#detectSeries). + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in `arr`. + The iterator is passed a `callback(truthValue)` which must be called with a + boolean argument once it has completed. +* `callback(result)` - A callback which is called as soon as any iterator returns + `true`, or after all the `iterator` functions have finished. Result will be + the first item in the array that passes the truth test (iterator) or the + value `undefined` if none passed. + +__Example__ + +```js +async.detect(['file1','file2','file3'], fs.exists, function(result){ + // result now equals the first file in the list that exists +}); +``` + +--------------------------------------- + + +### detectSeries(arr, iterator, callback) + +The same as [`detect`](#detect), only the `iterator` is applied to each item in `arr` +in series. This means the result is always the first in the original `arr` (in +terms of array order) that passes the truth test. + + +--------------------------------------- + + +### sortBy(arr, iterator, callback) + +Sorts a list by the results of running each `arr` value through an async `iterator`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, sortValue)` which must be called once it + has completed with an error (which can be `null`) and a value to use as the sort + criteria. +* `callback(err, results)` - A callback which is called after all the `iterator` + functions have finished, or an error occurs. Results is the items from + the original `arr` sorted by the values returned by the `iterator` calls. + +__Example__ + +```js +async.sortBy(['file1','file2','file3'], function(file, callback){ + fs.stat(file, function(err, stats){ + callback(err, stats.mtime); + }); +}, function(err, results){ + // results is now the original array of files sorted by + // modified date +}); +``` + +__Sort Order__ + +By modifying the callback parameter the sorting order can be influenced: + +```js +//ascending order +async.sortBy([1,9,3,5], function(x, callback){ + callback(null, x); +}, function(err,result){ + //result callback +} ); + +//descending order +async.sortBy([1,9,3,5], function(x, callback){ + callback(null, x*-1); //<- x*-1 instead of x, turns the order around +}, function(err,result){ + //result callback +} ); +``` + +--------------------------------------- + + +### some(arr, iterator, callback) + +__Alias:__ `any` + +Returns `true` if at least one element in the `arr` satisfies an async test. +_The callback for each iterator call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. Once any iterator +call returns `true`, the main `callback` is immediately called. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in the array + in parallel. The iterator is passed a callback(truthValue) which must be + called with a boolean argument once it has completed. +* `callback(result)` - A callback which is called as soon as any iterator returns + `true`, or after all the iterator functions have finished. Result will be + either `true` or `false` depending on the values of the async tests. + +__Example__ + +```js +async.some(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then at least one of the files exists +}); +``` + +--------------------------------------- + + +### every(arr, iterator, callback) + +__Alias:__ `all` + +Returns `true` if every element in `arr` satisfies an async test. +_The callback for each `iterator` call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in the array + in parallel. The iterator is passed a callback(truthValue) which must be + called with a boolean argument once it has completed. +* `callback(result)` - A callback which is called after all the `iterator` + functions have finished. Result will be either `true` or `false` depending on + the values of the async tests. + +__Example__ + +```js +async.every(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then every file exists +}); +``` + +--------------------------------------- + + +### concat(arr, iterator, callback) + +Applies `iterator` to each item in `arr`, concatenating the results. Returns the +concatenated list. The `iterator`s are called in parallel, and the results are +concatenated as they return. There is no guarantee that the results array will +be returned in the original order of `arr` passed to the `iterator` function. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, results)` which must be called once it + has completed with an error (which can be `null`) and an array of results. +* `callback(err, results)` - A callback which is called after all the `iterator` + functions have finished, or an error occurs. Results is an array containing + the concatenated results of the `iterator` function. + +__Example__ + +```js +async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ + // files is now a list of filenames that exist in the 3 directories +}); +``` + +--------------------------------------- + + +### concatSeries(arr, iterator, callback) + +Same as [`concat`](#concat), but executes in series instead of parallel. + + +## Control Flow + + +### series(tasks, [callback]) + +Run the functions in the `tasks` array in series, each one running once the previous +function has completed. If any functions in the series pass an error to its +callback, no more functions are run, and `callback` is immediately called with the value of the error. +Otherwise, `callback` receives an array of results when `tasks` have completed. + +It is also possible to use an object instead of an array. Each property will be +run as a function, and the results will be passed to the final `callback` as an object +instead of an array. This can be a more readable way of handling results from +[`series`](#series). + +**Note** that while many implementations preserve the order of object properties, the +[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) +explicitly states that + +> The mechanics and order of enumerating the properties is not specified. + +So if you rely on the order in which your series of functions are executed, and want +this to work on all platforms, consider using an array. + +__Arguments__ + +* `tasks` - An array or object containing functions to run, each function is passed + a `callback(err, result)` it must call on completion with an error `err` (which can + be `null`) and an optional `result` value. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the `task` callbacks. + +__Example__ + +```js +async.series([ + function(callback){ + // do some stuff ... + callback(null, 'one'); + }, + function(callback){ + // do some more stuff ... + callback(null, 'two'); + } +], +// optional callback +function(err, results){ + // results is now equal to ['one', 'two'] +}); + + +// an example using an object instead of an array +async.series({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equal to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallel(tasks, [callback]) + +Run the `tasks` array of functions in parallel, without waiting until the previous +function has completed. If any of the functions pass an error to its +callback, the main `callback` is immediately called with the value of the error. +Once the `tasks` have completed, the results are passed to the final `callback` as an +array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final `callback` as an object +instead of an array. This can be a more readable way of handling results from +[`parallel`](#parallel). + + +__Arguments__ + +* `tasks` - An array or object containing functions to run. Each function is passed + a `callback(err, result)` which it must call on completion with an error `err` + (which can be `null`) and an optional `result` value. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.parallel([ + function(callback){ + setTimeout(function(){ + callback(null, 'one'); + }, 200); + }, + function(callback){ + setTimeout(function(){ + callback(null, 'two'); + }, 100); + } +], +// optional callback +function(err, results){ + // the results array will equal ['one','two'] even though + // the second function had a shorter timeout. +}); + + +// an example using an object instead of an array +async.parallel({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equals to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + + +### parallelLimit(tasks, limit, [callback]) + +The same as [`parallel`](#parallel), only `tasks` are executed in parallel +with a maximum of `limit` tasks executing at any time. + +Note that the `tasks` are not executed in batches, so there is no guarantee that +the first `limit` tasks will complete before any others are started. + +__Arguments__ + +* `tasks` - An array or object containing functions to run, each function is passed + a `callback(err, result)` it must call on completion with an error `err` (which can + be `null`) and an optional `result` value. +* `limit` - The maximum number of `tasks` to run at any time. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the `task` callbacks. + +--------------------------------------- + + +### whilst(test, fn, callback) + +Repeatedly call `fn`, while `test` returns `true`. Calls `callback` when stopped, +or an error occurs. + +__Arguments__ + +* `test()` - synchronous truth test to perform before each execution of `fn`. +* `fn(callback)` - A function which is called each time `test` passes. The function is + passed a `callback(err)`, which must be called once it has completed with an + optional `err` argument. +* `callback(err)` - A callback which is called after the test fails and repeated + execution of `fn` has stopped. + +__Example__ + +```js +var count = 0; + +async.whilst( + function () { return count < 5; }, + function (callback) { + count++; + setTimeout(callback, 1000); + }, + function (err) { + // 5 seconds have passed + } +); +``` + +--------------------------------------- + + +### doWhilst(fn, test, callback) + +The post-check version of [`whilst`](#whilst). To reflect the difference in +the order of operations, the arguments `test` and `fn` are switched. + +`doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. + +--------------------------------------- + + +### until(test, fn, callback) + +Repeatedly call `fn` until `test` returns `true`. Calls `callback` when stopped, +or an error occurs. + +The inverse of [`whilst`](#whilst). + +--------------------------------------- + + +### doUntil(fn, test, callback) + +Like [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`. + +--------------------------------------- + + +### forever(fn, errback) + +Calls the asynchronous function `fn` with a callback parameter that allows it to +call itself again, in series, indefinitely. + +If an error is passed to the callback then `errback` is called with the +error, and execution stops, otherwise it will never be called. + +```js +async.forever( + function(next) { + // next is suitable for passing to things that need a callback(err [, whatever]); + // it will result in this function being called again. + }, + function(err) { + // if next is called with a value in its first parameter, it will appear + // in here as 'err', and execution will stop. + } +); +``` + +--------------------------------------- + + +### waterfall(tasks, [callback]) + +Runs the `tasks` array of functions in series, each passing their results to the next in +the array. However, if any of the `tasks` pass an error to their own callback, the +next function is not executed, and the main `callback` is immediately called with +the error. + +__Arguments__ + +* `tasks` - An array of functions to run, each function is passed a + `callback(err, result1, result2, ...)` it must call on completion. The first + argument is an error (which can be `null`) and any further arguments will be + passed as arguments in order to the next task. +* `callback(err, [results])` - An optional callback to run once all the functions + have completed. This will be passed the results of the last task's callback. + + + +__Example__ + +```js +async.waterfall([ + function(callback) { + callback(null, 'one', 'two'); + }, + function(arg1, arg2, callback) { + // arg1 now equals 'one' and arg2 now equals 'two' + callback(null, 'three'); + }, + function(arg1, callback) { + // arg1 now equals 'three' + callback(null, 'done'); + } +], function (err, result) { + // result now equals 'done' +}); +``` + +--------------------------------------- + +### compose(fn1, fn2...) + +Creates a function which is a composition of the passed asynchronous +functions. Each function consumes the return value of the function that +follows. Composing functions `f()`, `g()`, and `h()` would produce the result of +`f(g(h()))`, only this version uses callbacks to obtain the return values. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* `functions...` - the asynchronous functions to compose + + +__Example__ + +```js +function add1(n, callback) { + setTimeout(function () { + callback(null, n + 1); + }, 10); +} + +function mul3(n, callback) { + setTimeout(function () { + callback(null, n * 3); + }, 10); +} + +var add1mul3 = async.compose(mul3, add1); + +add1mul3(4, function (err, result) { + // result now equals 15 +}); +``` + +--------------------------------------- + +### seq(fn1, fn2...) + +Version of the compose function that is more natural to read. +Each function consumes the return value of the previous function. +It is the equivalent of [`compose`](#compose) with the arguments reversed. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* functions... - the asynchronous functions to compose + + +__Example__ + +```js +// Requires lodash (or underscore), express3 and dresende's orm2. +// Part of an app, that fetches cats of the logged user. +// This example uses `seq` function to avoid overnesting and error +// handling clutter. +app.get('/cats', function(request, response) { + var User = request.models.User; + async.seq( + _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) + function(user, fn) { + user.getCats(fn); // 'getCats' has signature (callback(err, data)) + } + )(req.session.user_id, function (err, cats) { + if (err) { + console.error(err); + response.json({ status: 'error', message: err.message }); + } else { + response.json({ status: 'ok', message: 'Cats found', data: cats }); + } + }); +}); +``` + +--------------------------------------- + +### applyEach(fns, args..., callback) + +Applies the provided arguments to each function in the array, calling +`callback` after all functions have completed. If you only provide the first +argument, then it will return a function which lets you pass in the +arguments as if it were a single function call. + +__Arguments__ + +* `fns` - the asynchronous functions to all call with the same arguments +* `args...` - any number of separate arguments to pass to the function +* `callback` - the final argument should be the callback, called when all + functions have completed processing + + +__Example__ + +```js +async.applyEach([enableSearch, updateSchema], 'bucket', callback); + +// partial application example: +async.each( + buckets, + async.applyEach([enableSearch, updateSchema]), + callback +); +``` + +--------------------------------------- + + +### applyEachSeries(arr, iterator, callback) + +The same as [`applyEach`](#applyEach) only the functions are applied in series. + +--------------------------------------- + + +### queue(worker, concurrency) + +Creates a `queue` object with the specified `concurrency`. Tasks added to the +`queue` are processed in parallel (up to the `concurrency` limit). If all +`worker`s are in progress, the task is queued until one becomes available. +Once a `worker` completes a `task`, that `task`'s callback is called. + +__Arguments__ + +* `worker(task, callback)` - An asynchronous function for processing a queued + task, which must call its `callback(err)` argument when finished, with an + optional `error` as an argument. +* `concurrency` - An `integer` for determining how many `worker` functions should be + run in parallel. + +__Queue objects__ + +The `queue` object returned by this function has the following properties and +methods: + +* `length()` - a function returning the number of items waiting to be processed. +* `started` - a function returning whether or not any items have been pushed and processed by the queue +* `running()` - a function returning the number of items currently being processed. +* `idle()` - a function returning false if there are items waiting or being processed, or true if not. +* `concurrency` - an integer for determining how many `worker` functions should be + run in parallel. This property can be changed after a `queue` is created to + alter the concurrency on-the-fly. +* `push(task, [callback])` - add a new task to the `queue`. Calls `callback` once + the `worker` has finished processing the task. Instead of a single task, a `tasks` array + can be submitted. The respective callback is used for every task in the list. +* `unshift(task, [callback])` - add a new task to the front of the `queue`. +* `saturated` - a callback that is called when the `queue` length hits the `concurrency` limit, + and further tasks will be queued. +* `empty` - a callback that is called when the last item from the `queue` is given to a `worker`. +* `drain` - a callback that is called when the last item from the `queue` has returned from the `worker`. +* `paused` - a boolean for determining whether the queue is in a paused state +* `pause()` - a function that pauses the processing of tasks until `resume()` is called. +* `resume()` - a function that resumes the processing of queued tasks when the queue is paused. +* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle. + +__Example__ + +```js +// create a queue object with concurrency 2 + +var q = async.queue(function (task, callback) { + console.log('hello ' + task.name); + callback(); +}, 2); + + +// assign a callback +q.drain = function() { + console.log('all items have been processed'); +} + +// add some items to the queue + +q.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); +}); +q.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); + +// add some items to the queue (batch-wise) + +q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { + console.log('finished processing item'); +}); + +// add some items to the front of the queue + +q.unshift({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); +``` + + +--------------------------------------- + + +### priorityQueue(worker, concurrency) + +The same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects: + +* `push(task, priority, [callback])` - `priority` should be a number. If an array of + `tasks` is given, all tasks will be assigned the same priority. +* The `unshift` method was removed. + +--------------------------------------- + + +### cargo(worker, [payload]) + +Creates a `cargo` object with the specified payload. Tasks added to the +cargo will be processed altogether (up to the `payload` limit). If the +`worker` is in progress, the task is queued until it becomes available. Once +the `worker` has completed some tasks, each callback of those tasks is called. +Check out [this animation](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) for how `cargo` and `queue` work. + +While [queue](#queue) passes only one task to one of a group of workers +at a time, cargo passes an array of tasks to a single worker, repeating +when the worker is finished. + +__Arguments__ + +* `worker(tasks, callback)` - An asynchronous function for processing an array of + queued tasks, which must call its `callback(err)` argument when finished, with + an optional `err` argument. +* `payload` - An optional `integer` for determining how many tasks should be + processed per round; if omitted, the default is unlimited. + +__Cargo objects__ + +The `cargo` object returned by this function has the following properties and +methods: + +* `length()` - A function returning the number of items waiting to be processed. +* `payload` - An `integer` for determining how many tasks should be + process per round. This property can be changed after a `cargo` is created to + alter the payload on-the-fly. +* `push(task, [callback])` - Adds `task` to the `queue`. The callback is called + once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` + can be submitted. The respective callback is used for every task in the list. +* `saturated` - A callback that is called when the `queue.length()` hits the concurrency and further tasks will be queued. +* `empty` - A callback that is called when the last item from the `queue` is given to a `worker`. +* `drain` - A callback that is called when the last item from the `queue` has returned from the `worker`. + +__Example__ + +```js +// create a cargo object with payload 2 + +var cargo = async.cargo(function (tasks, callback) { + for(var i=0; i +### auto(tasks, [callback]) + +Determines the best order for running the functions in `tasks`, based on their +requirements. Each function can optionally depend on other functions being completed +first, and each function is run as soon as its requirements are satisfied. + +If any of the functions pass an error to their callback, it will not +complete (so any other functions depending on it will not run), and the main +`callback` is immediately called with the error. Functions also receive an +object containing the results of functions which have completed so far. + +Note, all functions are called with a `results` object as a second argument, +so it is unsafe to pass functions in the `tasks` object which cannot handle the +extra argument. + +For example, this snippet of code: + +```js +async.auto({ + readData: async.apply(fs.readFile, 'data.txt', 'utf-8') +}, callback); +``` + +will have the effect of calling `readFile` with the results object as the last +argument, which will fail: + +```js +fs.readFile('data.txt', 'utf-8', cb, {}); +``` + +Instead, wrap the call to `readFile` in a function which does not forward the +`results` object: + +```js +async.auto({ + readData: function(cb, results){ + fs.readFile('data.txt', 'utf-8', cb); + } +}, callback); +``` + +__Arguments__ + +* `tasks` - An object. Each of its properties is either a function or an array of + requirements, with the function itself the last item in the array. The object's key + of a property serves as the name of the task defined by that property, + i.e. can be used when specifying requirements for other tasks. + The function receives two arguments: (1) a `callback(err, result)` which must be + called when finished, passing an `error` (which can be `null`) and the result of + the function's execution, and (2) a `results` object, containing the results of + the previously executed functions. +* `callback(err, results)` - An optional callback which is called when all the + tasks have been completed. It receives the `err` argument if any `tasks` + pass an error to their callback. Results are always returned; however, if + an error occurs, no further `tasks` will be performed, and the results + object will only contain partial results. + + +__Example__ + +```js +async.auto({ + get_data: function(callback){ + console.log('in get_data'); + // async code to get some data + callback(null, 'data', 'converted to array'); + }, + make_folder: function(callback){ + console.log('in make_folder'); + // async code to create a directory to store a file in + // this is run at the same time as getting the data + callback(null, 'folder'); + }, + write_file: ['get_data', 'make_folder', function(callback, results){ + console.log('in write_file', JSON.stringify(results)); + // once there is some data and the directory exists, + // write the data to a file in the directory + callback(null, 'filename'); + }], + email_link: ['write_file', function(callback, results){ + console.log('in email_link', JSON.stringify(results)); + // once the file is written let's email a link to it... + // results.write_file contains the filename returned by write_file. + callback(null, {'file':results.write_file, 'email':'user@example.com'}); + }] +}, function(err, results) { + console.log('err = ', err); + console.log('results = ', results); +}); +``` + +This is a fairly trivial example, but to do this using the basic parallel and +series functions would look like this: + +```js +async.parallel([ + function(callback){ + console.log('in get_data'); + // async code to get some data + callback(null, 'data', 'converted to array'); + }, + function(callback){ + console.log('in make_folder'); + // async code to create a directory to store a file in + // this is run at the same time as getting the data + callback(null, 'folder'); + } +], +function(err, results){ + async.series([ + function(callback){ + console.log('in write_file', JSON.stringify(results)); + // once there is some data and the directory exists, + // write the data to a file in the directory + results.push('filename'); + callback(null); + }, + function(callback){ + console.log('in email_link', JSON.stringify(results)); + // once the file is written let's email a link to it... + callback(null, {'file':results.pop(), 'email':'user@example.com'}); + } + ]); +}); +``` + +For a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding +new tasks much easier (and the code more readable). + + +--------------------------------------- + + +### retry([times = 5], task, [callback]) + +Attempts to get a successful response from `task` no more than `times` times before +returning an error. If the task is successful, the `callback` will be passed the result +of the successful task. If all attempts fail, the callback will be passed the error and +result (if any) of the final attempt. + +__Arguments__ + +* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5. +* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)` + which must be called when finished, passing `err` (which can be `null`) and the `result` of + the function's execution, and (2) a `results` object, containing the results of + the previously executed functions (if nested inside another control flow). +* `callback(err, results)` - An optional callback which is called when the + task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`. + +The [`retry`](#retry) function can be used as a stand-alone control flow by passing a +callback, as shown below: + +```js +async.retry(3, apiMethod, function(err, result) { + // do something with the result +}); +``` + +It can also be embeded within other control flow functions to retry individual methods +that are not as reliable, like this: + +```js +async.auto({ + users: api.getUsers.bind(api), + payments: async.retry(3, api.getPayments.bind(api)) +}, function(err, results) { + // do something with the results +}); +``` + + +--------------------------------------- + + +### iterator(tasks) + +Creates an iterator function which calls the next function in the `tasks` array, +returning a continuation to call the next one after that. It's also possible to +“peek” at the next iterator with `iterator.next()`. + +This function is used internally by the `async` module, but can be useful when +you want to manually control the flow of functions in series. + +__Arguments__ + +* `tasks` - An array of functions to run. + +__Example__ + +```js +var iterator = async.iterator([ + function(){ sys.p('one'); }, + function(){ sys.p('two'); }, + function(){ sys.p('three'); } +]); + +node> var iterator2 = iterator(); +'one' +node> var iterator3 = iterator2(); +'two' +node> iterator3(); +'three' +node> var nextfn = iterator2.next(); +node> nextfn(); +'three' +``` + +--------------------------------------- + + +### apply(function, arguments..) + +Creates a continuation function with some arguments already applied. + +Useful as a shorthand when combined with other control flow functions. Any arguments +passed to the returned function are added to the arguments originally passed +to apply. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to automatically apply when the + continuation is called. + +__Example__ + +```js +// using apply + +async.parallel([ + async.apply(fs.writeFile, 'testfile1', 'test1'), + async.apply(fs.writeFile, 'testfile2', 'test2'), +]); + + +// the same process without using apply + +async.parallel([ + function(callback){ + fs.writeFile('testfile1', 'test1', callback); + }, + function(callback){ + fs.writeFile('testfile2', 'test2', callback); + } +]); +``` + +It's possible to pass any number of additional arguments when calling the +continuation: + +```js +node> var fn = async.apply(sys.puts, 'one'); +node> fn('two', 'three'); +one +two +three +``` + +--------------------------------------- + + +### nextTick(callback), setImmediate(callback) + +Calls `callback` on a later loop around the event loop. In Node.js this just +calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` +if available, otherwise `setTimeout(callback, 0)`, which means other higher priority +events may precede the execution of `callback`. + +This is used internally for browser-compatibility purposes. + +__Arguments__ + +* `callback` - The function to call on a later loop around the event loop. + +__Example__ + +```js +var call_order = []; +async.nextTick(function(){ + call_order.push('two'); + // call_order now equals ['one','two'] +}); +call_order.push('one') +``` + + +### times(n, callback) + +Calls the `callback` function `n` times, and accumulates results in the same manner +you would use with [`map`](#map). + +__Arguments__ + +* `n` - The number of times to run the function. +* `callback` - The function to call `n` times. + +__Example__ + +```js +// Pretend this is some complicated async factory +var createUser = function(id, callback) { + callback(null, { + id: 'user' + id + }) +} +// generate 5 users +async.times(5, function(n, next){ + createUser(n, function(err, user) { + next(err, user) + }) +}, function(err, users) { + // we should now have 5 users +}); +``` + + +### timesSeries(n, callback) + +The same as [`times`](#times), only the iterator is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + + +## Utils + + +### memoize(fn, [hasher]) + +Caches the results of an `async` function. When creating a hash to store function +results against, the callback is omitted from the hash and an optional hash +function can be used. + +The cache of results is exposed as the `memo` property of the function returned +by `memoize`. + +__Arguments__ + +* `fn` - The function to proxy and cache results from. +* `hasher` - Tn optional function for generating a custom hash for storing + results. It has all the arguments applied to it apart from the callback, and + must be synchronous. + +__Example__ + +```js +var slow_fn = function (name, callback) { + // do something + callback(null, result); +}; +var fn = async.memoize(slow_fn); + +// fn can now be used as if it were slow_fn +fn('some name', function () { + // callback +}); +``` + + +### unmemoize(fn) + +Undoes a [`memoize`](#memoize)d function, reverting it to the original, unmemoized +form. Handy for testing. + +__Arguments__ + +* `fn` - the memoized function + + +### log(function, arguments) + +Logs the result of an `async` function to the `console`. Only works in Node.js or +in browsers that support `console.log` and `console.error` (such as FF and Chrome). +If multiple arguments are returned from the async function, `console.log` is +called on each argument in order. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, 'hello ' + name); + }, 1000); +}; +``` +```js +node> async.log(hello, 'world'); +'hello world' +``` + +--------------------------------------- + + +### dir(function, arguments) + +Logs the result of an `async` function to the `console` using `console.dir` to +display the properties of the resulting object. Only works in Node.js or +in browsers that support `console.dir` and `console.error` (such as FF and Chrome). +If multiple arguments are returned from the async function, `console.dir` is +called on each argument in order. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, {hello: name}); + }, 1000); +}; +``` +```js +node> async.dir(hello, 'world'); +{hello: 'world'} +``` + +--------------------------------------- + + +### noConflict() + +Changes the value of `async` back to its original value, returning a reference to the +`async` object. diff --git a/node_modules/async/bower.json b/node_modules/async/bower.json new file mode 100644 index 0000000..1817688 --- /dev/null +++ b/node_modules/async/bower.json @@ -0,0 +1,38 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "0.9.2", + "main": "lib/async.js", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/caolan/async.git" + }, + "devDependencies": { + "nodeunit": ">0.0.0", + "uglify-js": "1.2.x", + "nodelint": ">0.0.0", + "lodash": ">=2.4.1" + }, + "moduleType": [ + "amd", + "globals", + "node" + ], + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "authors": [ + "Caolan McMahon" + ] +} \ No newline at end of file diff --git a/node_modules/async/component.json b/node_modules/async/component.json new file mode 100644 index 0000000..5003a7c --- /dev/null +++ b/node_modules/async/component.json @@ -0,0 +1,16 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "0.9.2", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "repository": "caolan/async", + "scripts": [ + "lib/async.js" + ] +} \ No newline at end of file diff --git a/node_modules/async/lib/async.js b/node_modules/async/lib/async.js new file mode 100644 index 0000000..394c41c --- /dev/null +++ b/node_modules/async/lib/async.js @@ -0,0 +1,1123 @@ +/*! + * async + * https://github.com/caolan/async + * + * Copyright 2010-2014 Caolan McMahon + * Released under the MIT license + */ +/*jshint onevar: false, indent:4 */ +/*global setImmediate: false, setTimeout: false, console: false */ +(function () { + + var async = {}; + + // global on the server, window in the browser + var root, previous_async; + + root = this; + if (root != null) { + previous_async = root.async; + } + + async.noConflict = function () { + root.async = previous_async; + return async; + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(root, arguments); + } + } + + //// cross-browser compatiblity functions //// + + var _toString = Object.prototype.toString; + + var _isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + + var _each = function (arr, iterator) { + for (var i = 0; i < arr.length; i += 1) { + iterator(arr[i], i, arr); + } + }; + + var _map = function (arr, iterator) { + if (arr.map) { + return arr.map(iterator); + } + var results = []; + _each(arr, function (x, i, a) { + results.push(iterator(x, i, a)); + }); + return results; + }; + + var _reduce = function (arr, iterator, memo) { + if (arr.reduce) { + return arr.reduce(iterator, memo); + } + _each(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + }; + + var _keys = function (obj) { + if (Object.keys) { + return Object.keys(obj); + } + var keys = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + keys.push(k); + } + } + return keys; + }; + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + if (typeof process === 'undefined' || !(process.nextTick)) { + if (typeof setImmediate === 'function') { + async.nextTick = function (fn) { + // not a direct alias for IE10 compatibility + setImmediate(fn); + }; + async.setImmediate = async.nextTick; + } + else { + async.nextTick = function (fn) { + setTimeout(fn, 0); + }; + async.setImmediate = async.nextTick; + } + } + else { + async.nextTick = process.nextTick; + if (typeof setImmediate !== 'undefined') { + async.setImmediate = function (fn) { + // not a direct alias for IE10 compatibility + setImmediate(fn); + }; + } + else { + async.setImmediate = async.nextTick; + } + } + + async.each = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + _each(arr, function (x) { + iterator(x, only_once(done) ); + }); + function done(err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(); + } + } + } + }; + async.forEach = async.each; + + async.eachSeries = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + async.forEachSeries = async.eachSeries; + + async.eachLimit = function (arr, limit, iterator, callback) { + var fn = _eachLimit(limit); + fn.apply(null, [arr, iterator, callback]); + }; + async.forEachLimit = async.eachLimit; + + var _eachLimit = function (limit) { + + return function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length || limit <= 0) { + return callback(); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + if (completed >= arr.length) { + return callback(); + } + + while (running < limit && started < arr.length) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + running -= 1; + if (completed >= arr.length) { + callback(); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + var doParallel = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.each].concat(args)); + }; + }; + var doParallelLimit = function(limit, fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [_eachLimit(limit)].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.eachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + if (!callback) { + eachfn(arr, function (x, callback) { + iterator(x.value, function (err) { + callback(err); + }); + }); + } else { + var results = []; + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + var _mapLimit = function(limit) { + return doParallelLimit(limit, _asyncMap); + }; + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.eachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = function () {}; + } + else { + callback(); + } + }); + }, function (err) { + main_callback(); + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || function () {}; + var keys = _keys(tasks); + var remainingTasks = keys.length + if (!remainingTasks) { + return callback(); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + remainingTasks-- + _each(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (!remainingTasks) { + var theCallback = callback; + // prevent final callback from calling itself if it errors + callback = function () {}; + + theCallback(null, results); + } + }); + + _each(keys, function (k) { + var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; + var taskCallback = function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _each(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + // stop subsequent errors hitting callback multiple times + callback = function () {}; + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.retry = function(times, task, callback) { + var DEFAULT_TIMES = 5; + var attempts = []; + // Use defaults if times not passed + if (typeof times === 'function') { + callback = task; + task = times; + times = DEFAULT_TIMES; + } + // Make sure times is a number + times = parseInt(times, 10) || DEFAULT_TIMES; + var wrappedTask = function(wrappedCallback, wrappedResults) { + var retryAttempt = function(task, finalAttempt) { + return function(seriesCallback) { + task(function(err, result){ + seriesCallback(!err || finalAttempt, {err: err, result: result}); + }, wrappedResults); + }; + }; + while (times) { + attempts.push(retryAttempt(task, !(times-=1))); + } + async.series(attempts, function(done, data){ + data = data[data.length - 1]; + (wrappedCallback || callback)(data.err, data.result); + }); + } + // If a callback is passed, run this as a controll flow + return callback ? wrappedTask() : wrappedTask + }; + + async.waterfall = function (tasks, callback) { + callback = callback || function () {}; + if (!_isArray(tasks)) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.setImmediate(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + var _parallel = function(eachfn, tasks, callback) { + callback = callback || function () {}; + if (_isArray(tasks)) { + eachfn.map(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + eachfn.each(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.parallel = function (tasks, callback) { + _parallel({ map: async.map, each: async.each }, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || function () {}; + if (_isArray(tasks)) { + async.mapSeries(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.eachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return fn.apply( + null, args.concat(Array.prototype.slice.call(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = Array.prototype.slice.call(arguments, 1); + if (test.apply(null, args)) { + async.doWhilst(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = Array.prototype.slice.call(arguments, 1); + if (!test.apply(null, args)) { + async.doUntil(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.queue = function (worker, concurrency) { + if (concurrency === undefined) { + concurrency = 1; + } + function _insert(q, data, pos, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length == 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + callback: typeof callback === 'function' ? callback : null + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + started: false, + paused: false, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + kill: function () { + q.drain = null; + q.tasks = []; + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (!q.paused && workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if (q.empty && q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var next = function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if (q.drain && q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + var cb = only_once(next); + worker(task.data, cb); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + }, + idle: function() { + return q.tasks.length + workers === 0; + }, + pause: function () { + if (q.paused === true) { return; } + q.paused = true; + }, + resume: function () { + if (q.paused === false) { return; } + q.paused = false; + // Need to call q.process once per concurrent + // worker to preserve full concurrency after pause + for (var w = 1; w <= q.concurrency; w++) { + async.setImmediate(q.process); + } + } + }; + return q; + }; + + async.priorityQueue = function (worker, concurrency) { + + function _compareTasks(a, b){ + return a.priority - b.priority; + }; + + function _binarySearch(sequence, item, compare) { + var beg = -1, + end = sequence.length - 1; + while (beg < end) { + var mid = beg + ((end - beg + 1) >>> 1); + if (compare(item, sequence[mid]) >= 0) { + beg = mid; + } else { + end = mid - 1; + } + } + return beg; + } + + function _insert(q, data, priority, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length == 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + priority: priority, + callback: typeof callback === 'function' ? callback : null + }; + + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + // Start with a normal queue + var q = async.queue(worker, concurrency); + + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + _insert(q, data, priority, callback); + }; + + // Remove unshift function + delete q.unshift; + + return q; + }; + + async.cargo = function (worker, payload) { + var working = false, + tasks = []; + + var cargo = { + tasks: tasks, + payload: payload, + saturated: null, + empty: null, + drain: null, + drained: true, + push: function (data, callback) { + if (!_isArray(data)) { + data = [data]; + } + _each(data, function(task) { + tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + cargo.drained = false; + if (cargo.saturated && tasks.length === payload) { + cargo.saturated(); + } + }); + async.setImmediate(cargo.process); + }, + process: function process() { + if (working) return; + if (tasks.length === 0) { + if(cargo.drain && !cargo.drained) cargo.drain(); + cargo.drained = true; + return; + } + + var ts = typeof payload === 'number' + ? tasks.splice(0, payload) + : tasks.splice(0, tasks.length); + + var ds = _map(ts, function (task) { + return task.data; + }); + + if(cargo.empty) cargo.empty(); + working = true; + worker(ds, function () { + working = false; + + var args = arguments; + _each(ts, function (data) { + if (data.callback) { + data.callback.apply(null, args); + } + }); + + process(); + }); + }, + length: function () { + return tasks.length; + }, + running: function () { + return working; + } + }; + return cargo; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _each(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + async.nextTick(function () { + callback.apply(null, memo[key]); + }); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = arguments; + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.seq = function (/* functions... */) { + var fns = arguments; + return function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = Array.prototype.slice.call(arguments, 1); + cb(err, nextargs); + }])) + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + async.compose = function (/* functions... */) { + return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + }; + + var _applyEach = function (eachfn, fns /*args...*/) { + var go = function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + }; + if (arguments.length > 2) { + var args = Array.prototype.slice.call(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + }; + async.applyEach = doParallel(_applyEach); + async.applyEachSeries = doSeries(_applyEach); + + async.forever = function (fn, callback) { + function next(err) { + if (err) { + if (callback) { + return callback(err); + } + throw err; + } + fn(next); + } + next(); + }; + + // Node.js + if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // AMD / RequireJS + else if (typeof define !== 'undefined' && define.amd) { + define([], function () { + return async; + }); + } + // included directly via -``` - -In [Node.js](https://nodejs.org/), [io.js](https://iojs.org/), [Narwhal](http://narwhaljs.org/), and [RingoJS](http://ringojs.org/): - -```js -var punycode = require('punycode'); -``` - -In [Rhino](http://www.mozilla.org/rhino/): - -```js -load('punycode.js'); -``` - -Using an AMD loader like [RequireJS](http://requirejs.org/): - -```js -require( - { - 'paths': { - 'punycode': 'path/to/punycode' - } - }, - ['punycode'], - function(punycode) { - console.log(punycode); - } -); -``` - -## API - -### `punycode.decode(string)` - -Converts a Punycode string of ASCII symbols to a string of Unicode symbols. - -```js -// decode domain name parts -punycode.decode('maana-pta'); // 'mañana' -punycode.decode('--dqo34k'); // '☃-⌘' -``` - -### `punycode.encode(string)` - -Converts a string of Unicode symbols to a Punycode string of ASCII symbols. - -```js -// encode domain name parts -punycode.encode('mañana'); // 'maana-pta' -punycode.encode('☃-⌘'); // '--dqo34k' -``` - -### `punycode.toUnicode(input)` - -Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode. - -```js -// decode domain names -punycode.toUnicode('xn--maana-pta.com'); -// → 'mañana.com' -punycode.toUnicode('xn----dqo34k.com'); -// → '☃-⌘.com' - -// decode email addresses -punycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'); -// → 'джумла@джpумлатест.bрфa' -``` - -### `punycode.toASCII(input)` - -Converts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII. - -```js -// encode domain names -punycode.toASCII('mañana.com'); -// → 'xn--maana-pta.com' -punycode.toASCII('☃-⌘.com'); -// → 'xn----dqo34k.com' - -// encode email addresses -punycode.toASCII('джумла@джpумлатест.bрфa'); -// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq' -``` - -### `punycode.ucs2` - -#### `punycode.ucs2.decode(string)` - -Creates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16. - -```js -punycode.ucs2.decode('abc'); -// → [0x61, 0x62, 0x63] -// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE: -punycode.ucs2.decode('\uD834\uDF06'); -// → [0x1D306] -``` - -#### `punycode.ucs2.encode(codePoints)` - -Creates a string based on an array of numeric code point values. - -```js -punycode.ucs2.encode([0x61, 0x62, 0x63]); -// → 'abc' -punycode.ucs2.encode([0x1D306]); -// → '\uD834\uDF06' -``` - -### `punycode.version` - -A string representing the current Punycode.js version number. - -## Unit tests & code coverage - -After cloning this repository, run `npm install --dev` to install the dependencies needed for Punycode.js development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`. - -Once that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`. - -To generate the code coverage report, use `grunt cover`. - -Feel free to fork if you see possible improvements! - -## Author - -| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | -|---| -| [Mathias Bynens](https://mathiasbynens.be/) | - -## Contributors - -| [![twitter/jdalton](https://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter") | -|---| -| [John-David Dalton](http://allyoucanleet.com/) | - -## License - -Punycode.js is available under the [MIT](https://mths.be/mit) license. diff --git a/node_modules/request/node_modules/punycode/package.json b/node_modules/request/node_modules/punycode/package.json deleted file mode 100644 index 207c25e..0000000 --- a/node_modules/request/node_modules/punycode/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "_from": "punycode@^1.4.1", - "_id": "punycode@1.4.1", - "_inBundle": false, - "_integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "_location": "/request/punycode", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "punycode@^1.4.1", - "name": "punycode", - "escapedName": "punycode", - "rawSpec": "^1.4.1", - "saveSpec": null, - "fetchSpec": "^1.4.1" - }, - "_requiredBy": [ - "/request/tough-cookie" - ], - "_resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "_shasum": "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e", - "_spec": "punycode@^1.4.1", - "_where": "F:\\projects\\vanillajs-seed\\node_modules\\request\\node_modules\\tough-cookie", - "author": { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - }, - "bugs": { - "url": "https://github.com/bestiejs/punycode.js/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - }, - { - "name": "John-David Dalton", - "url": "http://allyoucanleet.com/" - } - ], - "deprecated": false, - "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", - "devDependencies": { - "coveralls": "^2.11.4", - "grunt": "^0.4.5", - "grunt-contrib-uglify": "^0.11.0", - "grunt-shell": "^1.1.2", - "istanbul": "^0.4.1", - "qunit-extras": "^1.4.4", - "qunitjs": "~1.11.0", - "requirejs": "^2.1.22" - }, - "files": [ - "LICENSE-MIT.txt", - "punycode.js" - ], - "homepage": "https://mths.be/punycode", - "jspm": { - "map": { - "./punycode.js": { - "node": "@node/punycode" - } - } - }, - "keywords": [ - "punycode", - "unicode", - "idn", - "idna", - "dns", - "url", - "domain" - ], - "license": "MIT", - "main": "punycode.js", - "name": "punycode", - "repository": { - "type": "git", - "url": "git+https://github.com/bestiejs/punycode.js.git" - }, - "scripts": { - "test": "node tests/tests.js" - }, - "version": "1.4.1" -} diff --git a/node_modules/request/node_modules/punycode/punycode.js b/node_modules/request/node_modules/punycode/punycode.js deleted file mode 100644 index 2c87f6c..0000000 --- a/node_modules/request/node_modules/punycode/punycode.js +++ /dev/null @@ -1,533 +0,0 @@ -/*! https://mths.be/punycode v1.4.1 by @mathias */ -;(function(root) { - - /** Detect free variables */ - var freeExports = typeof exports == 'object' && exports && - !exports.nodeType && exports; - var freeModule = typeof module == 'object' && module && - !module.nodeType && module; - var freeGlobal = typeof global == 'object' && global; - if ( - freeGlobal.global === freeGlobal || - freeGlobal.window === freeGlobal || - freeGlobal.self === freeGlobal - ) { - root = freeGlobal; - } - - /** - * The `punycode` object. - * @name punycode - * @type Object - */ - var punycode, - - /** Highest positive signed 32-bit float value */ - maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - base = 36, - tMin = 1, - tMax = 26, - skew = 38, - damp = 700, - initialBias = 72, - initialN = 128, // 0x80 - delimiter = '-', // '\x2D' - - /** Regular expressions */ - regexPunycode = /^xn--/, - regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars - regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators - - /** Error messages */ - errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' - }, - - /** Convenience shortcuts */ - baseMinusTMin = base - tMin, - floor = Math.floor, - stringFromCharCode = String.fromCharCode, - - /** Temporary variable */ - key; - - /*--------------------------------------------------------------------------*/ - - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw new RangeError(errors[type]); - } - - /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ - function ucs2encode(array) { - return map(array, function(value) { - var output = ''; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - return output; - }).join(''); - } - - /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } - - /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ - function decode(input) { - // Don't use UCS-2 - var output = [], - inputLength = input.length, - out, - i = 0, - n = initialN, - bias = initialBias, - basic, - j, - index, - oldi, - w, - k, - digit, - t, - /** Cached calculation results */ - baseMinusT; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - for (oldi = i, w = 1, k = base; /* no condition */; k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - - if (digit < t) { - break; - } - - baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output - output.splice(i++, 0, n); - - } - - return ucs2encode(output); - } - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base; /* no condition */; k += base) { - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); - } - - /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ - function toUnicode(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) - ? decode(string.slice(4).toLowerCase()) - : string; - }); - } - - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) - ? 'xn--' + encode(string) - : string; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** Define the public API */ - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '1.4.1', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode - }; - - /** Expose `punycode` */ - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if ( - typeof define == 'function' && - typeof define.amd == 'object' && - define.amd - ) { - define('punycode', function() { - return punycode; - }); - } else if (freeExports && freeModule) { - if (module.exports == freeExports) { - // in Node.js, io.js, or RingoJS v0.8.0+ - freeModule.exports = punycode; - } else { - // in Narwhal or RingoJS v0.7.0- - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { - // in Rhino or a web browser - root.punycode = punycode; - } - -}(this)); diff --git a/node_modules/request/node_modules/tough-cookie/LICENSE b/node_modules/request/node_modules/tough-cookie/LICENSE deleted file mode 100644 index 22204e8..0000000 --- a/node_modules/request/node_modules/tough-cookie/LICENSE +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) 2015, Salesforce.com, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/request/node_modules/tough-cookie/README.md b/node_modules/request/node_modules/tough-cookie/README.md deleted file mode 100644 index d28bd46..0000000 --- a/node_modules/request/node_modules/tough-cookie/README.md +++ /dev/null @@ -1,507 +0,0 @@ -[RFC6265](https://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js - -[![npm package](https://nodei.co/npm/tough-cookie.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/tough-cookie/) - -[![Build Status](https://travis-ci.org/salesforce/tough-cookie.png?branch=master)](https://travis-ci.org/salesforce/tough-cookie) - -# Synopsis - -``` javascript -var tough = require('tough-cookie'); -var Cookie = tough.Cookie; -var cookie = Cookie.parse(header); -cookie.value = 'somethingdifferent'; -header = cookie.toString(); - -var cookiejar = new tough.CookieJar(); -cookiejar.setCookie(cookie, 'http://currentdomain.example.com/path', cb); -// ... -cookiejar.getCookies('http://example.com/otherpath',function(err,cookies) { - res.headers['cookie'] = cookies.join('; '); -}); -``` - -# Installation - -It's _so_ easy! - -`npm install tough-cookie` - -Why the name? NPM modules `cookie`, `cookies` and `cookiejar` were already taken. - -## Version Support - -Support for versions of node.js will follow that of the [request](https://www.npmjs.com/package/request) module. - -# API - -## tough - -Functions on the module you get from `require('tough-cookie')`. All can be used as pure functions and don't need to be "bound". - -**Note**: prior to 1.0.x, several of these functions took a `strict` parameter. This has since been removed from the API as it was no longer necessary. - -### `parseDate(string)` - -Parse a cookie date string into a `Date`. Parses according to RFC6265 Section 5.1.1, not `Date.parse()`. - -### `formatDate(date)` - -Format a Date into a RFC1123 string (the RFC6265-recommended format). - -### `canonicalDomain(str)` - -Transforms a domain-name into a canonical domain-name. The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265). For the most part, this function is idempotent (can be run again on its output without ill effects). - -### `domainMatch(str,domStr[,canonicalize=true])` - -Answers "does this real domain match the domain in a cookie?". The `str` is the "current" domain-name and the `domStr` is the "cookie" domain-name. Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a "suffix match". - -The `canonicalize` parameter will run the other two parameters through `canonicalDomain` or not. - -### `defaultPath(path)` - -Given a current request/response path, gives the Path apropriate for storing in a cookie. This is basically the "directory" of a "file" in the path, but is specified by Section 5.1.4 of the RFC. - -The `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.). This is the `.pathname` property of node's `uri.parse()` output. - -### `pathMatch(reqPath,cookiePath)` - -Answers "does the request-path path-match a given cookie-path?" as per RFC6265 Section 5.1.4. Returns a boolean. - -This is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`. - -### `parse(cookieString[, options])` - -alias for `Cookie.parse(cookieString[, options])` - -### `fromJSON(string)` - -alias for `Cookie.fromJSON(string)` - -### `getPublicSuffix(hostname)` - -Returns the public suffix of this hostname. The public suffix is the shortest domain-name upon which a cookie can be set. Returns `null` if the hostname cannot have cookies set for it. - -For example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`. - -For further information, see http://publicsuffix.org/. This module derives its list from that site. This call is currently a wrapper around [`psl`](https://www.npmjs.com/package/psl)'s [get() method](https://www.npmjs.com/package/psl#pslgetdomain). - -### `cookieCompare(a,b)` - -For use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2). The sort algorithm is, in order of precedence: - -* Longest `.path` -* oldest `.creation` (which has a 1ms precision, same as `Date`) -* lowest `.creationIndex` (to get beyond the 1ms precision) - -``` javascript -var cookies = [ /* unsorted array of Cookie objects */ ]; -cookies = cookies.sort(cookieCompare); -``` - -**Note**: Since JavaScript's `Date` is limited to a 1ms precision, cookies within the same milisecond are entirely possible. This is especially true when using the `now` option to `.setCookie()`. The `.creationIndex` property is a per-process global counter, assigned during construction with `new Cookie()`. This preserves the spirit of the RFC sorting: older cookies go first. This works great for `MemoryCookieStore`, since `Set-Cookie` headers are parsed in order, but may not be so great for distributed systems. Sophisticated `Store`s may wish to set this to some other _logical clock_ such that if cookies A and B are created in the same millisecond, but cookie A is created before cookie B, then `A.creationIndex < B.creationIndex`. If you want to alter the global counter, which you probably _shouldn't_ do, it's stored in `Cookie.cookiesCreated`. - -### `permuteDomain(domain)` - -Generates a list of all possible domains that `domainMatch()` the parameter. May be handy for implementing cookie stores. - -### `permutePath(path)` - -Generates a list of all possible paths that `pathMatch()` the parameter. May be handy for implementing cookie stores. - - -## Cookie - -Exported via `tough.Cookie`. - -### `Cookie.parse(cookieString[, options])` - -Parses a single Cookie or Set-Cookie HTTP header into a `Cookie` object. Returns `undefined` if the string can't be parsed. - -The options parameter is not required and currently has only one property: - - * _loose_ - boolean - if `true` enable parsing of key-less cookies like `=abc` and `=`, which are not RFC-compliant. - -If options is not an object, it is ignored, which means you can use `Array#map` with it. - -Here's how to process the Set-Cookie header(s) on a node HTTP/HTTPS response: - -``` javascript -if (res.headers['set-cookie'] instanceof Array) - cookies = res.headers['set-cookie'].map(Cookie.parse); -else - cookies = [Cookie.parse(res.headers['set-cookie'])]; -``` - -_Note:_ in version 2.3.3, tough-cookie limited the number of spaces before the `=` to 256 characters. This limitation has since been removed. -See [Issue 92](https://github.com/salesforce/tough-cookie/issues/92) - -### Properties - -Cookie object properties: - - * _key_ - string - the name or key of the cookie (default "") - * _value_ - string - the value of the cookie (default "") - * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `"Infinity"`). See `setExpires()` - * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie. May also be set to strings `"Infinity"` and `"-Infinity"` for non-expiry and immediate-expiry, respectively. See `setMaxAge()` - * _domain_ - string - the `Domain=` attribute of the cookie - * _path_ - string - the `Path=` of the cookie - * _secure_ - boolean - the `Secure` cookie flag - * _httpOnly_ - boolean - the `HttpOnly` cookie flag - * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside) - * _creation_ - `Date` - when this cookie was constructed - * _creationIndex_ - number - set at construction, used to provide greater sort precision (please see `cookieCompare(a,b)` for a full explanation) - -After a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes: - - * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied) - * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one. - * _creation_ - `Date` - **modified** from construction to when the cookie was added to the jar - * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented. Using `cookiejar.getCookies(...)` will update this attribute. - -### `Cookie([{properties}])` - -Receives an options object that can contain any of the above Cookie properties, uses the default for unspecified properties. - -### `.toString()` - -encode to a Set-Cookie header value. The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`. - -### `.cookieString()` - -encode to a Cookie header value (i.e. the `.key` and `.value` properties joined with '='). - -### `.setExpires(String)` - -sets the expiry based on a date-string passed through `parseDate()`. If parseDate returns `null` (i.e. can't parse this date string), `.expires` is set to `"Infinity"` (a string) is set. - -### `.setMaxAge(number)` - -sets the maxAge in seconds. Coerces `-Infinity` to `"-Infinity"` and `Infinity` to `"Infinity"` so it JSON serializes correctly. - -### `.expiryTime([now=Date.now()])` - -### `.expiryDate([now=Date.now()])` - -expiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object. Note that in both cases the `now` parameter should be milliseconds. - -Max-Age takes precedence over Expires (as per the RFC). The `.creation` attribute -- or, by default, the `now` parameter -- is used to offset the `.maxAge` attribute. - -If Expires (`.expires`) is set, that's returned. - -Otherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for "Tue, 19 Jan 2038 03:14:07 GMT" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents). - -### `.TTL([now=Date.now()])` - -compute the TTL relative to `now` (milliseconds). The same precedence rules as for `expiryTime`/`expiryDate` apply. - -The "number" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired. Otherwise a time-to-live in milliseconds is returned. - -### `.canonicalizedDoman()` - -### `.cdomain()` - -return the canonicalized `.domain` field. This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters. - -### `.toJSON()` - -For convenience in using `JSON.serialize(cookie)`. Returns a plain-old `Object` that can be JSON-serialized. - -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are exported in ISO format (`.toISOString()`). - -**NOTE**: Custom `Cookie` properties will be discarded. In tough-cookie 1.x, since there was no `.toJSON` method explicitly defined, all enumerable properties were captured. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. - -### `Cookie.fromJSON(strOrObj)` - -Does the reverse of `cookie.toJSON()`. If passed a string, will `JSON.parse()` that first. - -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are parsed via `Date.parse()`, not the tough-cookie `parseDate`, since it's JavaScript/JSON-y timestamps being handled at this layer. - -Returns `null` upon JSON parsing error. - -### `.clone()` - -Does a deep clone of this cookie, exactly implemented as `Cookie.fromJSON(cookie.toJSON())`. - -### `.validate()` - -Status: *IN PROGRESS*. Works for a few things, but is by no means comprehensive. - -validates cookie attributes for semantic correctness. Useful for "lint" checking any Set-Cookie headers you generate. For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct: - -``` javascript -if (cookie.validate() === true) { - // it's tasty -} else { - // yuck! -} -``` - - -## CookieJar - -Exported via `tough.CookieJar`. - -### `CookieJar([store],[options])` - -Simply use `new CookieJar()`. If you'd like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used. - -The `options` object can be omitted and can have the following properties: - - * _rejectPublicSuffixes_ - boolean - default `true` - reject cookies with domains like "com" and "co.uk" - * _looseMode_ - boolean - default `false` - accept malformed cookies like `bar` and `=bar`, which have an implied empty name. - This is not in the standard, but is used sometimes on the web and is accepted by (most) browsers. - -Since eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods. - -### `.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))` - -Attempt to set the cookie in the cookie jar. If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through. The cookie will have updated `.creation`, `.lastAccessed` and `.hostOnly` properties. - -The `options` object can be omitted and can have the following properties: - - * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. - * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. - * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies - * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains. `Store` errors aren't ignored by this option. - -As per the RFC, the `.hostOnly` property is set if there was no "Domain=" parameter in the cookie string (or `.domain` was null on the Cookie object). The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case. Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual). - -### `.setCookieSync(cookieOrString, currentUrl, [{options}])` - -Synchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getCookies(currentUrl, [{options},] cb(err,cookies))` - -Retrieve the list of cookies that can be sent in a Cookie header for the current url. - -If an error is encountered, that's passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed. The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given. - -The `options` object can be omitted and can have the following properties: - - * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. - * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. - * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies - * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store. Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially). - * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the underlying store (the default `MemoryCookieStore` supports it). - -The `.lastAccessed` property of the returned cookies will have been updated. - -### `.getCookiesSync(currentUrl, [{options}])` - -Synchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getCookieString(...)` - -Accepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback. Simply maps the `Cookie` array via `.cookieString()`. - -### `.getCookieStringSync(...)` - -Synchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getSetCookieStrings(...)` - -Returns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`. Simply maps the cookie array via `.toString()`. - -### `.getSetCookieStringsSync(...)` - -Synchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.serialize(cb(err,serializedObject))` - -Serialize the Jar if the underlying store supports `.getAllCookies`. - -**NOTE**: Custom `Cookie` properties will be discarded. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. - -See [Serialization Format]. - -### `.serializeSync()` - -Sync version of .serialize - -### `.toJSON()` - -Alias of .serializeSync() for the convenience of `JSON.stringify(cookiejar)`. - -### `CookieJar.deserialize(serialized, [store], cb(err,object))` - -A new Jar is created and the serialized Cookies are added to the underlying store. Each `Cookie` is added via `store.putCookie` in the order in which they appear in the serialization. - -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. - -As a convenience, if `serialized` is a string, it is passed through `JSON.parse` first. If that throws an error, this is passed to the callback. - -### `CookieJar.deserializeSync(serialized, [store])` - -Sync version of `.deserialize`. _Note_ that the `store` must be synchronous for this to work. - -### `CookieJar.fromJSON(string)` - -Alias of `.deserializeSync` to provide consistency with `Cookie.fromJSON()`. - -### `.clone([store,]cb(err,newJar))` - -Produces a deep clone of this jar. Modifications to the original won't affect the clone, and vice versa. - -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. Transferring between store types is supported so long as the source implements `.getAllCookies()` and the destination implements `.putCookie()`. - -### `.cloneSync([store])` - -Synchronous version of `.clone`, returning a new `CookieJar` instance. - -The `store` argument is optional, but must be a _synchronous_ `Store` instance if specified. If not passed, a new instance of `MemoryCookieStore` is used. - -The _source_ and _destination_ must both be synchronous `Store`s. If one or both stores are asynchronous, use `.clone` instead. Recall that `MemoryCookieStore` supports both synchronous and asynchronous API calls. - -## Store - -Base class for CookieJar stores. Available as `tough.Store`. - -## Store API - -The storage model for each `CookieJar` instance can be replaced with a custom implementation. The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file. The API uses continuation-passing-style to allow for asynchronous stores. - -Stores should inherit from the base `Store` class, which is available as `require('tough-cookie').Store`. - -Stores are asynchronous by default, but if `store.synchronous` is set to `true`, then the `*Sync` methods on the of the containing `CookieJar` can be used (however, the continuation-passing style - -All `domain` parameters will have been normalized before calling. - -The Cookie store must have all of the following methods. - -### `store.findCookie(domain, path, key, cb(err,cookie))` - -Retrieve a cookie with the given domain, path and key (a.k.a. name). The RFC maintains that exactly one of these cookies should exist in a store. If the store is using versioning, this means that the latest/newest such cookie should be returned. - -Callback takes an error and the resulting `Cookie` object. If no cookie is found then `null` MUST be passed instead (i.e. not an error). - -### `store.findCookies(domain, path, cb(err,cookies))` - -Locates cookies matching the given domain and path. This is most often called in the context of `cookiejar.getCookies()` above. - -If no cookies are found, the callback MUST be passed an empty array. - -The resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it's OK to use an optimistic search algorithm when implementing this method. However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done. - -As of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`. If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only). - -### `store.putCookie(cookie, cb(err))` - -Adds a new cookie to the store. The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it's possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur. - -The `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties. - -Pass an error if the cookie cannot be stored. - -### `store.updateCookie(oldCookie, newCookie, cb(err))` - -Update an existing cookie. The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`. The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store. - -The `.lastAccessed` property will always be different between the two objects (to the precision possible via JavaScript's clock). Both `.creation` and `.creationIndex` are guaranteed to be the same. Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are selected for automatic deletion (e.g., least-recently-used, which is up to the store to implement). - -Stores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie. If the implementation doesn't define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object. - -The `newCookie` and `oldCookie` objects MUST NOT be modified. - -Pass an error if the newCookie cannot be stored. - -### `store.removeCookie(domain, path, key, cb(err))` - -Remove a cookie from the store (see notes on `findCookie` about the uniqueness constraint). - -The implementation MUST NOT pass an error if the cookie doesn't exist; only pass an error due to the failure to remove an existing cookie. - -### `store.removeCookies(domain, path, cb(err))` - -Removes matching cookies from the store. The `path` parameter is optional, and if missing means all paths in a domain should be removed. - -Pass an error ONLY if removing any existing cookies failed. - -### `store.getAllCookies(cb(err, cookies))` - -Produces an `Array` of all cookies during `jar.serialize()`. The items in the array can be true `Cookie` objects or generic `Object`s with the [Serialization Format] data structure. - -Cookies SHOULD be returned in creation order to preserve sorting via `compareCookies()`. For reference, `MemoryCookieStore` will sort by `.creationIndex` since it uses true `Cookie` objects internally. If you don't return the cookies in creation order, they'll still be sorted by creation time, but this only has a precision of 1ms. See `compareCookies` for more detail. - -Pass an error if retrieval fails. - -## MemoryCookieStore - -Inherits from `Store`. - -A just-in-memory CookieJar synchronous store implementation, used by default. Despite being a synchronous implementation, it's usable with both the synchronous and asynchronous forms of the `CookieJar` API. - -## Community Cookie Stores - -These are some Store implementations authored and maintained by the community. They aren't official and we don't vouch for them but you may be interested to have a look: - -- [`db-cookie-store`](https://github.com/JSBizon/db-cookie-store): SQL including SQLite-based databases -- [`file-cookie-store`](https://github.com/JSBizon/file-cookie-store): Netscape cookie file format on disk -- [`redis-cookie-store`](https://github.com/benkroeger/redis-cookie-store): Redis -- [`tough-cookie-filestore`](https://github.com/mitsuru/tough-cookie-filestore): JSON on disk -- [`tough-cookie-web-storage-store`](https://github.com/exponentjs/tough-cookie-web-storage-store): DOM localStorage and sessionStorage - - -# Serialization Format - -**NOTE**: if you want to have custom `Cookie` properties serialized, add the property name to `Cookie.serializableProperties`. - -```js - { - // The version of tough-cookie that serialized this jar. - version: 'tough-cookie@1.x.y', - - // add the store type, to make humans happy: - storeType: 'MemoryCookieStore', - - // CookieJar configuration: - rejectPublicSuffixes: true, - // ... future items go here - - // Gets filled from jar.store.getAllCookies(): - cookies: [ - { - key: 'string', - value: 'string', - // ... - /* other Cookie.serializableProperties go here */ - } - ] - } -``` - -# Copyright and License - -(tl;dr: BSD-3-Clause with some MPL/2.0) - -```text - Copyright (c) 2015, Salesforce.com, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of Salesforce.com nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -``` diff --git a/node_modules/request/node_modules/tough-cookie/lib/cookie.js b/node_modules/request/node_modules/tough-cookie/lib/cookie.js deleted file mode 100644 index 039a0e7..0000000 --- a/node_modules/request/node_modules/tough-cookie/lib/cookie.js +++ /dev/null @@ -1,1431 +0,0 @@ -/*! - * Copyright (c) 2015, Salesforce.com, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of Salesforce.com nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -'use strict'; -var net = require('net'); -var urlParse = require('url').parse; -var util = require('util'); -var pubsuffix = require('./pubsuffix-psl'); -var Store = require('./store').Store; -var MemoryCookieStore = require('./memstore').MemoryCookieStore; -var pathMatch = require('./pathMatch').pathMatch; -var VERSION = require('../package.json').version; - -var punycode; -try { - punycode = require('punycode'); -} catch(e) { - console.warn("tough-cookie: can't load punycode; won't use punycode for domain normalization"); -} - -// From RFC6265 S4.1.1 -// note that it excludes \x3B ";" -var COOKIE_OCTETS = /^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/; - -var CONTROL_CHARS = /[\x00-\x1F]/; - -// From Chromium // '\r', '\n' and '\0' should be treated as a terminator in -// the "relaxed" mode, see: -// https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L60 -var TERMINATORS = ['\n', '\r', '\0']; - -// RFC6265 S4.1.1 defines path value as 'any CHAR except CTLs or ";"' -// Note ';' is \x3B -var PATH_VALUE = /[\x20-\x3A\x3C-\x7E]+/; - -// date-time parsing constants (RFC6265 S5.1.1) - -var DATE_DELIM = /[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/; - -var MONTH_TO_NUM = { - jan:0, feb:1, mar:2, apr:3, may:4, jun:5, - jul:6, aug:7, sep:8, oct:9, nov:10, dec:11 -}; -var NUM_TO_MONTH = [ - 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' -]; -var NUM_TO_DAY = [ - 'Sun','Mon','Tue','Wed','Thu','Fri','Sat' -]; - -var MAX_TIME = 2147483647000; // 31-bit max -var MIN_TIME = 0; // 31-bit min - -/* - * Parses a Natural number (i.e., non-negative integer) with either the - * *DIGIT ( non-digit *OCTET ) - * or - * *DIGIT - * grammar (RFC6265 S5.1.1). - * - * The "trailingOK" boolean controls if the grammar accepts a - * "( non-digit *OCTET )" trailer. - */ -function parseDigits(token, minDigits, maxDigits, trailingOK) { - var count = 0; - while (count < token.length) { - var c = token.charCodeAt(count); - // "non-digit = %x00-2F / %x3A-FF" - if (c <= 0x2F || c >= 0x3A) { - break; - } - count++; - } - - // constrain to a minimum and maximum number of digits. - if (count < minDigits || count > maxDigits) { - return null; - } - - if (!trailingOK && count != token.length) { - return null; - } - - return parseInt(token.substr(0,count), 10); -} - -function parseTime(token) { - var parts = token.split(':'); - var result = [0,0,0]; - - /* RF6256 S5.1.1: - * time = hms-time ( non-digit *OCTET ) - * hms-time = time-field ":" time-field ":" time-field - * time-field = 1*2DIGIT - */ - - if (parts.length !== 3) { - return null; - } - - for (var i = 0; i < 3; i++) { - // "time-field" must be strictly "1*2DIGIT", HOWEVER, "hms-time" can be - // followed by "( non-digit *OCTET )" so therefore the last time-field can - // have a trailer - var trailingOK = (i == 2); - var num = parseDigits(parts[i], 1, 2, trailingOK); - if (num === null) { - return null; - } - result[i] = num; - } - - return result; -} - -function parseMonth(token) { - token = String(token).substr(0,3).toLowerCase(); - var num = MONTH_TO_NUM[token]; - return num >= 0 ? num : null; -} - -/* - * RFC6265 S5.1.1 date parser (see RFC for full grammar) - */ -function parseDate(str) { - if (!str) { - return; - } - - /* RFC6265 S5.1.1: - * 2. Process each date-token sequentially in the order the date-tokens - * appear in the cookie-date - */ - var tokens = str.split(DATE_DELIM); - if (!tokens) { - return; - } - - var hour = null; - var minute = null; - var second = null; - var dayOfMonth = null; - var month = null; - var year = null; - - for (var i=0; i= 70 && year <= 99) { - year += 1900; - } else if (year >= 0 && year <= 69) { - year += 2000; - } - } - } - } - - /* RFC 6265 S5.1.1 - * "5. Abort these steps and fail to parse the cookie-date if: - * * at least one of the found-day-of-month, found-month, found- - * year, or found-time flags is not set, - * * the day-of-month-value is less than 1 or greater than 31, - * * the year-value is less than 1601, - * * the hour-value is greater than 23, - * * the minute-value is greater than 59, or - * * the second-value is greater than 59. - * (Note that leap seconds cannot be represented in this syntax.)" - * - * So, in order as above: - */ - if ( - dayOfMonth === null || month === null || year === null || second === null || - dayOfMonth < 1 || dayOfMonth > 31 || - year < 1601 || - hour > 23 || - minute > 59 || - second > 59 - ) { - return; - } - - return new Date(Date.UTC(year, month, dayOfMonth, hour, minute, second)); -} - -function formatDate(date) { - var d = date.getUTCDate(); d = d >= 10 ? d : '0'+d; - var h = date.getUTCHours(); h = h >= 10 ? h : '0'+h; - var m = date.getUTCMinutes(); m = m >= 10 ? m : '0'+m; - var s = date.getUTCSeconds(); s = s >= 10 ? s : '0'+s; - return NUM_TO_DAY[date.getUTCDay()] + ', ' + - d+' '+ NUM_TO_MONTH[date.getUTCMonth()] +' '+ date.getUTCFullYear() +' '+ - h+':'+m+':'+s+' GMT'; -} - -// S5.1.2 Canonicalized Host Names -function canonicalDomain(str) { - if (str == null) { - return null; - } - str = str.trim().replace(/^\./,''); // S4.1.2.3 & S5.2.3: ignore leading . - - // convert to IDN if any non-ASCII characters - if (punycode && /[^\u0001-\u007f]/.test(str)) { - str = punycode.toASCII(str); - } - - return str.toLowerCase(); -} - -// S5.1.3 Domain Matching -function domainMatch(str, domStr, canonicalize) { - if (str == null || domStr == null) { - return null; - } - if (canonicalize !== false) { - str = canonicalDomain(str); - domStr = canonicalDomain(domStr); - } - - /* - * "The domain string and the string are identical. (Note that both the - * domain string and the string will have been canonicalized to lower case at - * this point)" - */ - if (str == domStr) { - return true; - } - - /* "All of the following [three] conditions hold:" (order adjusted from the RFC) */ - - /* "* The string is a host name (i.e., not an IP address)." */ - if (net.isIP(str)) { - return false; - } - - /* "* The domain string is a suffix of the string" */ - var idx = str.indexOf(domStr); - if (idx <= 0) { - return false; // it's a non-match (-1) or prefix (0) - } - - // e.g "a.b.c".indexOf("b.c") === 2 - // 5 === 3+2 - if (str.length !== domStr.length + idx) { // it's not a suffix - return false; - } - - /* "* The last character of the string that is not included in the domain - * string is a %x2E (".") character." */ - if (str.substr(idx-1,1) !== '.') { - return false; - } - - return true; -} - - -// RFC6265 S5.1.4 Paths and Path-Match - -/* - * "The user agent MUST use an algorithm equivalent to the following algorithm - * to compute the default-path of a cookie:" - * - * Assumption: the path (and not query part or absolute uri) is passed in. - */ -function defaultPath(path) { - // "2. If the uri-path is empty or if the first character of the uri-path is not - // a %x2F ("/") character, output %x2F ("/") and skip the remaining steps. - if (!path || path.substr(0,1) !== "/") { - return "/"; - } - - // "3. If the uri-path contains no more than one %x2F ("/") character, output - // %x2F ("/") and skip the remaining step." - if (path === "/") { - return path; - } - - var rightSlash = path.lastIndexOf("/"); - if (rightSlash === 0) { - return "/"; - } - - // "4. Output the characters of the uri-path from the first character up to, - // but not including, the right-most %x2F ("/")." - return path.slice(0, rightSlash); -} - -function trimTerminator(str) { - for (var t = 0; t < TERMINATORS.length; t++) { - var terminatorIdx = str.indexOf(TERMINATORS[t]); - if (terminatorIdx !== -1) { - str = str.substr(0,terminatorIdx); - } - } - - return str; -} - -function parseCookiePair(cookiePair, looseMode) { - cookiePair = trimTerminator(cookiePair); - - var firstEq = cookiePair.indexOf('='); - if (looseMode) { - if (firstEq === 0) { // '=' is immediately at start - cookiePair = cookiePair.substr(1); - firstEq = cookiePair.indexOf('='); // might still need to split on '=' - } - } else { // non-loose mode - if (firstEq <= 0) { // no '=' or is at start - return; // needs to have non-empty "cookie-name" - } - } - - var cookieName, cookieValue; - if (firstEq <= 0) { - cookieName = ""; - cookieValue = cookiePair.trim(); - } else { - cookieName = cookiePair.substr(0, firstEq).trim(); - cookieValue = cookiePair.substr(firstEq+1).trim(); - } - - if (CONTROL_CHARS.test(cookieName) || CONTROL_CHARS.test(cookieValue)) { - return; - } - - var c = new Cookie(); - c.key = cookieName; - c.value = cookieValue; - return c; -} - -function parse(str, options) { - if (!options || typeof options !== 'object') { - options = {}; - } - str = str.trim(); - - // We use a regex to parse the "name-value-pair" part of S5.2 - var firstSemi = str.indexOf(';'); // S5.2 step 1 - var cookiePair = (firstSemi === -1) ? str : str.substr(0, firstSemi); - var c = parseCookiePair(cookiePair, !!options.loose); - if (!c) { - return; - } - - if (firstSemi === -1) { - return c; - } - - // S5.2.3 "unparsed-attributes consist of the remainder of the set-cookie-string - // (including the %x3B (";") in question)." plus later on in the same section - // "discard the first ";" and trim". - var unparsed = str.slice(firstSemi + 1).trim(); - - // "If the unparsed-attributes string is empty, skip the rest of these - // steps." - if (unparsed.length === 0) { - return c; - } - - /* - * S5.2 says that when looping over the items "[p]rocess the attribute-name - * and attribute-value according to the requirements in the following - * subsections" for every item. Plus, for many of the individual attributes - * in S5.3 it says to use the "attribute-value of the last attribute in the - * cookie-attribute-list". Therefore, in this implementation, we overwrite - * the previous value. - */ - var cookie_avs = unparsed.split(';'); - while (cookie_avs.length) { - var av = cookie_avs.shift().trim(); - if (av.length === 0) { // happens if ";;" appears - continue; - } - var av_sep = av.indexOf('='); - var av_key, av_value; - - if (av_sep === -1) { - av_key = av; - av_value = null; - } else { - av_key = av.substr(0,av_sep); - av_value = av.substr(av_sep+1); - } - - av_key = av_key.trim().toLowerCase(); - - if (av_value) { - av_value = av_value.trim(); - } - - switch(av_key) { - case 'expires': // S5.2.1 - if (av_value) { - var exp = parseDate(av_value); - // "If the attribute-value failed to parse as a cookie date, ignore the - // cookie-av." - if (exp) { - // over and underflow not realistically a concern: V8's getTime() seems to - // store something larger than a 32-bit time_t (even with 32-bit node) - c.expires = exp; - } - } - break; - - case 'max-age': // S5.2.2 - if (av_value) { - // "If the first character of the attribute-value is not a DIGIT or a "-" - // character ...[or]... If the remainder of attribute-value contains a - // non-DIGIT character, ignore the cookie-av." - if (/^-?[0-9]+$/.test(av_value)) { - var delta = parseInt(av_value, 10); - // "If delta-seconds is less than or equal to zero (0), let expiry-time - // be the earliest representable date and time." - c.setMaxAge(delta); - } - } - break; - - case 'domain': // S5.2.3 - // "If the attribute-value is empty, the behavior is undefined. However, - // the user agent SHOULD ignore the cookie-av entirely." - if (av_value) { - // S5.2.3 "Let cookie-domain be the attribute-value without the leading %x2E - // (".") character." - var domain = av_value.trim().replace(/^\./, ''); - if (domain) { - // "Convert the cookie-domain to lower case." - c.domain = domain.toLowerCase(); - } - } - break; - - case 'path': // S5.2.4 - /* - * "If the attribute-value is empty or if the first character of the - * attribute-value is not %x2F ("/"): - * Let cookie-path be the default-path. - * Otherwise: - * Let cookie-path be the attribute-value." - * - * We'll represent the default-path as null since it depends on the - * context of the parsing. - */ - c.path = av_value && av_value[0] === "/" ? av_value : null; - break; - - case 'secure': // S5.2.5 - /* - * "If the attribute-name case-insensitively matches the string "Secure", - * the user agent MUST append an attribute to the cookie-attribute-list - * with an attribute-name of Secure and an empty attribute-value." - */ - c.secure = true; - break; - - case 'httponly': // S5.2.6 -- effectively the same as 'secure' - c.httpOnly = true; - break; - - default: - c.extensions = c.extensions || []; - c.extensions.push(av); - break; - } - } - - return c; -} - -// avoid the V8 deoptimization monster! -function jsonParse(str) { - var obj; - try { - obj = JSON.parse(str); - } catch (e) { - return e; - } - return obj; -} - -function fromJSON(str) { - if (!str) { - return null; - } - - var obj; - if (typeof str === 'string') { - obj = jsonParse(str); - if (obj instanceof Error) { - return null; - } - } else { - // assume it's an Object - obj = str; - } - - var c = new Cookie(); - for (var i=0; i 1) { - var lindex = path.lastIndexOf('/'); - if (lindex === 0) { - break; - } - path = path.substr(0,lindex); - permutations.push(path); - } - permutations.push('/'); - return permutations; -} - -function getCookieContext(url) { - if (url instanceof Object) { - return url; - } - // NOTE: decodeURI will throw on malformed URIs (see GH-32). - // Therefore, we will just skip decoding for such URIs. - try { - url = decodeURI(url); - } - catch(err) { - // Silently swallow error - } - - return urlParse(url); -} - -function Cookie(options) { - options = options || {}; - - Object.keys(options).forEach(function(prop) { - if (Cookie.prototype.hasOwnProperty(prop) && - Cookie.prototype[prop] !== options[prop] && - prop.substr(0,1) !== '_') - { - this[prop] = options[prop]; - } - }, this); - - this.creation = this.creation || new Date(); - - // used to break creation ties in cookieCompare(): - Object.defineProperty(this, 'creationIndex', { - configurable: false, - enumerable: false, // important for assert.deepEqual checks - writable: true, - value: ++Cookie.cookiesCreated - }); -} - -Cookie.cookiesCreated = 0; // incremented each time a cookie is created - -Cookie.parse = parse; -Cookie.fromJSON = fromJSON; - -Cookie.prototype.key = ""; -Cookie.prototype.value = ""; - -// the order in which the RFC has them: -Cookie.prototype.expires = "Infinity"; // coerces to literal Infinity -Cookie.prototype.maxAge = null; // takes precedence over expires for TTL -Cookie.prototype.domain = null; -Cookie.prototype.path = null; -Cookie.prototype.secure = false; -Cookie.prototype.httpOnly = false; -Cookie.prototype.extensions = null; - -// set by the CookieJar: -Cookie.prototype.hostOnly = null; // boolean when set -Cookie.prototype.pathIsDefault = null; // boolean when set -Cookie.prototype.creation = null; // Date when set; defaulted by Cookie.parse -Cookie.prototype.lastAccessed = null; // Date when set -Object.defineProperty(Cookie.prototype, 'creationIndex', { - configurable: true, - enumerable: false, - writable: true, - value: 0 -}); - -Cookie.serializableProperties = Object.keys(Cookie.prototype) - .filter(function(prop) { - return !( - Cookie.prototype[prop] instanceof Function || - prop === 'creationIndex' || - prop.substr(0,1) === '_' - ); - }); - -Cookie.prototype.inspect = function inspect() { - var now = Date.now(); - return 'Cookie="'+this.toString() + - '; hostOnly='+(this.hostOnly != null ? this.hostOnly : '?') + - '; aAge='+(this.lastAccessed ? (now-this.lastAccessed.getTime())+'ms' : '?') + - '; cAge='+(this.creation ? (now-this.creation.getTime())+'ms' : '?') + - '"'; -}; - -// Use the new custom inspection symbol to add the custom inspect function if -// available. -if (util.inspect.custom) { - Cookie.prototype[util.inspect.custom] = Cookie.prototype.inspect; -} - -Cookie.prototype.toJSON = function() { - var obj = {}; - - var props = Cookie.serializableProperties; - for (var i=0; i=0.8" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/salesforce/tough-cookie", - "keywords": [ - "HTTP", - "cookie", - "cookies", - "set-cookie", - "cookiejar", - "jar", - "RFC6265", - "RFC2965" - ], - "license": "BSD-3-Clause", - "main": "./lib/cookie", - "name": "tough-cookie", - "repository": { - "type": "git", - "url": "git://github.com/salesforce/tough-cookie.git" - }, - "scripts": { - "cover": "nyc --reporter=lcov --reporter=html vows test/*_test.js", - "test": "vows test/*_test.js" - }, - "version": "2.4.3" -} diff --git a/node_modules/request/package.json b/node_modules/request/package.json index abd5187..7a2a219 100644 --- a/node_modules/request/package.json +++ b/node_modules/request/package.json @@ -1,27 +1,33 @@ { - "_from": "request@^2.88.0", + "_args": [ + [ + "request@2.88.2", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "request@2.88.2", "_id": "request@2.88.2", "_inBundle": false, "_integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "_location": "/request", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "request@^2.88.0", + "raw": "request@2.88.2", "name": "request", "escapedName": "request", - "rawSpec": "^2.88.0", + "rawSpec": "2.88.2", "saveSpec": null, - "fetchSpec": "^2.88.0" + "fetchSpec": "2.88.2" }, "_requiredBy": [ "/jsdom" ], "_resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "_shasum": "d73c918731cb5a87da047e207234146f664d12b3", - "_spec": "request@^2.88.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\jsdom", + "_spec": "2.88.2", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Mikeal Rogers", "email": "mikeal.rogers@gmail.com" @@ -29,7 +35,6 @@ "bugs": { "url": "http://github.com/request/request/issues" }, - "bundleDependencies": false, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -52,7 +57,6 @@ "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "description": "Simplified HTTP request client.", "devDependencies": { "bluebird": "^3.2.1", diff --git a/node_modules/resolve-options/package.json b/node_modules/resolve-options/package.json index d51d230..f737500 100644 --- a/node_modules/resolve-options/package.json +++ b/node_modules/resolve-options/package.json @@ -2,7 +2,7 @@ "_args": [ [ "resolve-options@1.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", "_spec": "1.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gulp Team", "email": "team@gulpjs.com", diff --git a/node_modules/safe-buffer/package.json b/node_modules/safe-buffer/package.json index 792a918..6419afe 100644 --- a/node_modules/safe-buffer/package.json +++ b/node_modules/safe-buffer/package.json @@ -2,7 +2,7 @@ "_args": [ [ "safe-buffer@5.2.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -29,7 +29,7 @@ ], "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", "_spec": "5.2.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Feross Aboukhadijeh", "email": "feross@feross.org", diff --git a/node_modules/safer-buffer/package.json b/node_modules/safer-buffer/package.json index d2fe43f..1901176 100644 --- a/node_modules/safer-buffer/package.json +++ b/node_modules/safer-buffer/package.json @@ -2,7 +2,7 @@ "_args": [ [ "safer-buffer@2.1.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -30,7 +30,7 @@ ], "_resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "_spec": "2.1.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Nikita Skovoroda", "email": "chalkerx@gmail.com", diff --git a/node_modules/saxes/package.json b/node_modules/saxes/package.json index 4e41880..dbb6361 100644 --- a/node_modules/saxes/package.json +++ b/node_modules/saxes/package.json @@ -2,7 +2,7 @@ "_args": [ [ "saxes@3.1.11", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", "_spec": "3.1.11", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Louis-Dominique Dubeau", "email": "ldd@lddubeau.com" diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json index 7a94454..8e21280 100644 --- a/node_modules/semver/package.json +++ b/node_modules/semver/package.json @@ -2,7 +2,7 @@ "_args": [ [ "semver@6.3.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "_spec": "6.3.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bin": { "semver": "bin/semver.js" }, diff --git a/node_modules/shallow-clone/package.json b/node_modules/shallow-clone/package.json index 3bdf762..50cee67 100644 --- a/node_modules/shallow-clone/package.json +++ b/node_modules/shallow-clone/package.json @@ -2,7 +2,7 @@ "_args": [ [ "shallow-clone@3.0.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "_spec": "3.0.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/node_modules/sortobject/package.json b/node_modules/sortobject/package.json index 5072854..d112559 100644 --- a/node_modules/sortobject/package.json +++ b/node_modules/sortobject/package.json @@ -2,7 +2,7 @@ "_args": [ [ "sortobject@1.3.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/sortobject/-/sortobject-1.3.0.tgz", "_spec": "1.3.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "2012+ Bevry Pty Ltd", "email": "us@bevry.me", diff --git a/node_modules/source-map-support/package.json b/node_modules/source-map-support/package.json index e30ea3d..53f5eca 100644 --- a/node_modules/source-map-support/package.json +++ b/node_modules/source-map-support/package.json @@ -1,36 +1,40 @@ { - "_from": "source-map-support@~0.5.12", + "_args": [ + [ + "source-map-support@0.5.19", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "source-map-support@0.5.19", "_id": "source-map-support@0.5.19", "_inBundle": false, "_integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "_location": "/source-map-support", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "source-map-support@~0.5.12", + "raw": "source-map-support@0.5.19", "name": "source-map-support", "escapedName": "source-map-support", - "rawSpec": "~0.5.12", + "rawSpec": "0.5.19", "saveSpec": null, - "fetchSpec": "~0.5.12" + "fetchSpec": "0.5.19" }, "_requiredBy": [ "/terser" ], "_resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "_shasum": "a98b62f86dcaf4f67399648c085291ab9e8fed61", - "_spec": "source-map-support@~0.5.12", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\terser", + "_spec": "0.5.19", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/evanw/node-source-map-support/issues" }, - "bundleDependencies": false, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" }, - "deprecated": false, "description": "Fixes stack traces for files with source maps", "devDependencies": { "browserify": "^4.2.3", diff --git a/node_modules/source-map/package.json b/node_modules/source-map/package.json index 66895d8..71de7c6 100644 --- a/node_modules/source-map/package.json +++ b/node_modules/source-map/package.json @@ -2,7 +2,7 @@ "_args": [ [ "source-map@0.6.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -26,12 +26,11 @@ "/clean-css", "/escodegen", "/source-map-support", - "/terser", - "/uglify-js" + "/terser" ], "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "_spec": "0.6.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Nick Fitzgerald", "email": "nfitzgerald@mozilla.com" diff --git a/node_modules/sshpk/package.json b/node_modules/sshpk/package.json index f25eac4..ec9d53b 100644 --- a/node_modules/sshpk/package.json +++ b/node_modules/sshpk/package.json @@ -2,7 +2,7 @@ "_args": [ [ "sshpk@1.16.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "_spec": "1.16.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Joyent, Inc" }, @@ -83,9 +83,9 @@ "license": "MIT", "main": "lib/index.js", "man": [ - "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\sshpk\\man\\man1\\sshpk-conv.1", - "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\sshpk\\man\\man1\\sshpk-sign.1", - "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\sshpk\\man\\man1\\sshpk-verify.1" + "D:\\Projects\\vanillajs-seed\\node_modules\\sshpk\\man\\man1\\sshpk-conv.1", + "D:\\Projects\\vanillajs-seed\\node_modules\\sshpk\\man\\man1\\sshpk-sign.1", + "D:\\Projects\\vanillajs-seed\\node_modules\\sshpk\\man\\man1\\sshpk-verify.1" ], "name": "sshpk", "optionalDependencies": {}, diff --git a/node_modules/stealthy-require/package.json b/node_modules/stealthy-require/package.json index 970bab1..f537744 100644 --- a/node_modules/stealthy-require/package.json +++ b/node_modules/stealthy-require/package.json @@ -2,7 +2,7 @@ "_args": [ [ "stealthy-require@1.1.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "_spec": "1.1.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Nicolai Kamenzky", "url": "https://github.com/analog-nico" diff --git a/node_modules/stream-shift/package.json b/node_modules/stream-shift/package.json index 889d047..c6a730d 100644 --- a/node_modules/stream-shift/package.json +++ b/node_modules/stream-shift/package.json @@ -2,7 +2,7 @@ "_args": [ [ "stream-shift@1.0.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "_spec": "1.0.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Mathias Buus", "url": "@mafintosh" diff --git a/node_modules/string_decoder/node_modules/safe-buffer/package.json b/node_modules/string_decoder/node_modules/safe-buffer/package.json index 1881338..684a15e 100644 --- a/node_modules/string_decoder/node_modules/safe-buffer/package.json +++ b/node_modules/string_decoder/node_modules/safe-buffer/package.json @@ -2,7 +2,7 @@ "_args": [ [ "safe-buffer@5.1.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "_spec": "5.1.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Feross Aboukhadijeh", "email": "feross@feross.org", diff --git a/node_modules/string_decoder/package.json b/node_modules/string_decoder/package.json index 9a5adb2..9c36678 100644 --- a/node_modules/string_decoder/package.json +++ b/node_modules/string_decoder/package.json @@ -2,7 +2,7 @@ "_args": [ [ "string_decoder@1.1.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "_spec": "1.1.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/nodejs/string_decoder/issues" }, diff --git a/node_modules/supports-color/package.json b/node_modules/supports-color/package.json index feace34..c7a6f29 100644 --- a/node_modules/supports-color/package.json +++ b/node_modules/supports-color/package.json @@ -2,7 +2,7 @@ "_args": [ [ "supports-color@5.5.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "_spec": "5.5.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/symbol-tree/package.json b/node_modules/symbol-tree/package.json index 3c81e74..8e0521c 100644 --- a/node_modules/symbol-tree/package.json +++ b/node_modules/symbol-tree/package.json @@ -2,7 +2,7 @@ "_args": [ [ "symbol-tree@3.2.4", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "_spec": "3.2.4", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Joris van der Wel", "email": "joris@jorisvanderwel.com" diff --git a/node_modules/terser/dist/bundle.js b/node_modules/terser/dist/bundle.js deleted file mode 100644 index 6e24430..0000000 --- a/node_modules/terser/dist/bundle.js +++ /dev/null @@ -1,21955 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('source-map')) : - typeof define === 'function' && define.amd ? define(['exports', 'source-map'], factory) : - (global = global || self, factory(global.Terser = {}, global.sourceMap)); -}(this, function (exports, MOZ_SourceMap) { 'use strict'; - - MOZ_SourceMap = MOZ_SourceMap && MOZ_SourceMap.hasOwnProperty('default') ? MOZ_SourceMap['default'] : MOZ_SourceMap; - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - function characters(str) { - return str.split(""); - } - - function member(name, array) { - return array.includes(name); - } - - function find_if(func, array) { - for (var i = 0, n = array.length; i < n; ++i) { - if (func(array[i])) - return array[i]; - } - } - - function repeat_string(str, i) { - if (i <= 0) return ""; - if (i == 1) return str; - var d = repeat_string(str, i >> 1); - d += d; - if (i & 1) d += str; - return d; - } - - function configure_error_stack(fn) { - Object.defineProperty(fn.prototype, "stack", { - get: function() { - var err = new Error(this.message); - err.name = this.name; - try { - throw err; - } catch(e) { - return e.stack; - } - } - }); - } - - function DefaultsError(msg, defs) { - this.message = msg; - this.defs = defs; - } - DefaultsError.prototype = Object.create(Error.prototype); - DefaultsError.prototype.constructor = DefaultsError; - DefaultsError.prototype.name = "DefaultsError"; - configure_error_stack(DefaultsError); - - DefaultsError.croak = function(msg, defs) { - throw new DefaultsError(msg, defs); - }; - - function defaults(args, defs, croak) { - if (args === true) - args = {}; - var ret = args || {}; - if (croak) for (var i in ret) if (HOP(ret, i) && !HOP(defs, i)) - DefaultsError.croak("`" + i + "` is not a supported option", defs); - for (var i in defs) if (HOP(defs, i)) { - ret[i] = (args && HOP(args, i)) ? args[i] : defs[i]; - } - return ret; - } - - function merge(obj, ext) { - var count = 0; - for (var i in ext) if (HOP(ext, i)) { - obj[i] = ext[i]; - count++; - } - return count; - } - - function noop() {} - function return_false() { return false; } - function return_true() { return true; } - function return_this() { return this; } - function return_null() { return null; } - - var MAP = (function() { - function MAP(a, f, backwards) { - var ret = [], top = [], i; - function doit() { - var val = f(a[i], i); - var is_last = val instanceof Last; - if (is_last) val = val.v; - if (val instanceof AtTop) { - val = val.v; - if (val instanceof Splice) { - top.push.apply(top, backwards ? val.v.slice().reverse() : val.v); - } else { - top.push(val); - } - } else if (val !== skip) { - if (val instanceof Splice) { - ret.push.apply(ret, backwards ? val.v.slice().reverse() : val.v); - } else { - ret.push(val); - } - } - return is_last; - } - if (a instanceof Array) { - if (backwards) { - for (i = a.length; --i >= 0;) if (doit()) break; - ret.reverse(); - top.reverse(); - } else { - for (i = 0; i < a.length; ++i) if (doit()) break; - } - } else { - for (i in a) if (HOP(a, i)) if (doit()) break; - } - return top.concat(ret); - } - MAP.at_top = function(val) { return new AtTop(val); }; - MAP.splice = function(val) { return new Splice(val); }; - MAP.last = function(val) { return new Last(val); }; - var skip = MAP.skip = {}; - function AtTop(val) { this.v = val; } - function Splice(val) { this.v = val; } - function Last(val) { this.v = val; } - return MAP; - })(); - - function push_uniq(array, el) { - if (!array.includes(el)) - array.push(el); - } - - function string_template(text, props) { - return text.replace(/{(.+?)}/g, function(str, p) { - return props && props[p]; - }); - } - - function remove(array, el) { - for (var i = array.length; --i >= 0;) { - if (array[i] === el) array.splice(i, 1); - } - } - - function mergeSort(array, cmp) { - if (array.length < 2) return array.slice(); - function merge(a, b) { - var r = [], ai = 0, bi = 0, i = 0; - while (ai < a.length && bi < b.length) { - cmp(a[ai], b[bi]) <= 0 - ? r[i++] = a[ai++] - : r[i++] = b[bi++]; - } - if (ai < a.length) r.push.apply(r, a.slice(ai)); - if (bi < b.length) r.push.apply(r, b.slice(bi)); - return r; - } - function _ms(a) { - if (a.length <= 1) - return a; - var m = Math.floor(a.length / 2), left = a.slice(0, m), right = a.slice(m); - left = _ms(left); - right = _ms(right); - return merge(left, right); - } - return _ms(array); - } - - // this function is taken from Acorn [1], written by Marijn Haverbeke - // [1] https://github.com/marijnh/acorn - function makePredicate(words) { - if (!(words instanceof Array)) words = words.split(" "); - var f = "", cats = []; - out: for (var i = 0; i < words.length; ++i) { - for (var j = 0; j < cats.length; ++j) - if (cats[j][0].length == words[i].length) { - cats[j].push(words[i]); - continue out; - } - cats.push([words[i]]); - } - function quote(word) { - return JSON.stringify(word).replace(/[\u2028\u2029]/g, function(s) { - switch (s) { - case "\u2028": return "\\u2028"; - case "\u2029": return "\\u2029"; - } - return s; - }); - } - function compareTo(arr) { - if (arr.length == 1) return f += "return str === " + quote(arr[0]) + ";"; - f += "switch(str){"; - for (var i = 0; i < arr.length; ++i) f += "case " + quote(arr[i]) + ":"; - f += "return true}return false;"; - } - // When there are more than three length categories, an outer - // switch first dispatches on the lengths, to save on comparisons. - if (cats.length > 3) { - cats.sort(function(a, b) {return b.length - a.length;}); - f += "switch(str.length){"; - for (var i = 0; i < cats.length; ++i) { - var cat = cats[i]; - f += "case " + cat[0].length + ":"; - compareTo(cat); - } - f += "}"; - // Otherwise, simply generate a flat `switch` statement. - } else { - compareTo(words); - } - return new Function("str", f); - } - - function all(array, predicate) { - for (var i = array.length; --i >= 0;) - if (!predicate(array[i])) - return false; - return true; - } - - function Dictionary() { - this._values = Object.create(null); - this._size = 0; - } - Dictionary.prototype = { - set: function(key, val) { - if (!this.has(key)) ++this._size; - this._values["$" + key] = val; - return this; - }, - add: function(key, val) { - if (this.has(key)) { - this.get(key).push(val); - } else { - this.set(key, [ val ]); - } - return this; - }, - get: function(key) { return this._values["$" + key]; }, - del: function(key) { - if (this.has(key)) { - --this._size; - delete this._values["$" + key]; - } - return this; - }, - has: function(key) { return ("$" + key) in this._values; }, - each: function(f) { - for (var i in this._values) - f(this._values[i], i.substr(1)); - }, - size: function() { - return this._size; - }, - map: function(f) { - var ret = []; - for (var i in this._values) - ret.push(f(this._values[i], i.substr(1))); - return ret; - }, - clone: function() { - var ret = new Dictionary(); - for (var i in this._values) - ret._values[i] = this._values[i]; - ret._size = this._size; - return ret; - }, - toObject: function() { return this._values; } - }; - Dictionary.fromObject = function(obj) { - var dict = new Dictionary(); - dict._size = merge(dict._values, obj); - return dict; - }; - - function HOP(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - } - - // return true if the node at the top of the stack (that means the - // innermost node in the current output) is lexically the first in - // a statement. - function first_in_statement(stack) { - var node = stack.parent(-1); - for (var i = 0, p; p = stack.parent(i); i++) { - if (p instanceof AST_Statement && p.body === node) - return true; - if ((p instanceof AST_Sequence && p.expressions[0] === node) || - (p.TYPE == "Call" && p.expression === node ) || - (p instanceof AST_Dot && p.expression === node ) || - (p instanceof AST_Sub && p.expression === node ) || - (p instanceof AST_Conditional && p.condition === node ) || - (p instanceof AST_Binary && p.left === node ) || - (p instanceof AST_UnaryPostfix && p.expression === node ) - ) { - node = p; - } else { - return false; - } - } - } - - function keep_name(keep_setting, name) { - return keep_setting === true - || (keep_setting instanceof RegExp && keep_setting.test(name)); - } - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - Parser based on parse-js (http://marijn.haverbeke.nl/parse-js/). - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - var KEYWORDS = "break case catch class const continue debugger default delete do else export extends finally for function if in instanceof let new return switch throw try typeof var void while with"; - var KEYWORDS_ATOM = "false null true"; - var RESERVED_WORDS = "enum implements import interface package private protected public static super this " + KEYWORDS_ATOM + " " + KEYWORDS; - var KEYWORDS_BEFORE_EXPRESSION = "return new delete throw else case yield await"; - - KEYWORDS = makePredicate(KEYWORDS); - RESERVED_WORDS = makePredicate(RESERVED_WORDS); - KEYWORDS_BEFORE_EXPRESSION = makePredicate(KEYWORDS_BEFORE_EXPRESSION); - KEYWORDS_ATOM = makePredicate(KEYWORDS_ATOM); - - var OPERATOR_CHARS = makePredicate(characters("+-*&%=<>!?|~^")); - - var RE_NUM_LITERAL = /[0-9a-f]/i; - var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i; - var RE_OCT_NUMBER = /^0[0-7]+$/; - var RE_ES6_OCT_NUMBER = /^0o[0-7]+$/i; - var RE_BIN_NUMBER = /^0b[01]+$/i; - var RE_DEC_NUMBER = /^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i; - - var OPERATORS = makePredicate([ - "in", - "instanceof", - "typeof", - "new", - "void", - "delete", - "++", - "--", - "+", - "-", - "!", - "~", - "&", - "|", - "^", - "*", - "**", - "/", - "%", - ">>", - "<<", - ">>>", - "<", - ">", - "<=", - ">=", - "==", - "===", - "!=", - "!==", - "?", - "=", - "+=", - "-=", - "/=", - "*=", - "**=", - "%=", - ">>=", - "<<=", - ">>>=", - "|=", - "^=", - "&=", - "&&", - "||" - ]); - - var WHITESPACE_CHARS = makePredicate(characters(" \u00a0\n\r\t\f\u000b\u200b\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\uFEFF")); - - var NEWLINE_CHARS = makePredicate(characters("\n\r\u2028\u2029")); - - var PUNC_AFTER_EXPRESSION = makePredicate(characters(";]),:")); - - var PUNC_BEFORE_EXPRESSION = makePredicate(characters("[{(,;:")); - - var PUNC_CHARS = makePredicate(characters("[]{}(),;:")); - - /* -----[ Tokenizer ]----- */ - - // surrogate safe regexps adapted from https://github.com/mathiasbynens/unicode-8.0.0/tree/89b412d8a71ecca9ed593d9e9fa073ab64acfebe/Binary_Property - var UNICODE = { - ID_Start: /[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, - ID_Continue: /[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/, - }; - - function get_full_char(str, pos) { - var char = str.charAt(pos); - if (is_surrogate_pair_head(char)) { - var next = str.charAt(pos + 1); - if (is_surrogate_pair_tail(next)) { - return char + next; - } - } - if (is_surrogate_pair_tail(char)) { - var prev = str.charAt(pos - 1); - if (is_surrogate_pair_head(prev)) { - return prev + char; - } - } - return char; - } - - function get_full_char_code(str, pos) { - // https://en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates - if (is_surrogate_pair_head(str.charAt(pos))) { - return 0x10000 + (str.charCodeAt(pos) - 0xd800 << 10) + str.charCodeAt(pos + 1) - 0xdc00; - } - return str.charCodeAt(pos); - } - - function get_full_char_length(str) { - var surrogates = 0; - - for (var i = 0; i < str.length; i++) { - if (is_surrogate_pair_head(str.charCodeAt(i))) { - if (is_surrogate_pair_tail(str.charCodeAt(i + 1))) { - surrogates++; - i++; - } - } - } - - return str.length - surrogates; - } - - function from_char_code(code) { - // Based on https://github.com/mathiasbynens/String.fromCodePoint/blob/master/fromcodepoint.js - if (code > 0xFFFF) { - code -= 0x10000; - return (String.fromCharCode((code >> 10) + 0xD800) + - String.fromCharCode((code % 0x400) + 0xDC00)); - } - return String.fromCharCode(code); - } - - function is_surrogate_pair_head(code) { - if (typeof code === "string") - code = code.charCodeAt(0); - - return code >= 0xd800 && code <= 0xdbff; - } - - function is_surrogate_pair_tail(code) { - if (typeof code === "string") - code = code.charCodeAt(0); - return code >= 0xdc00 && code <= 0xdfff; - } - - function is_digit(code) { - return code >= 48 && code <= 57; - } - - function is_identifier(name) { - return typeof name === "string" && !RESERVED_WORDS(name); - } - - function is_identifier_start(ch) { - var code = ch.charCodeAt(0); - return UNICODE.ID_Start.test(ch) || code == 36 || code == 95; - } - - function is_identifier_char(ch) { - var code = ch.charCodeAt(0); - return UNICODE.ID_Continue.test(ch) - || code == 36 - || code == 95 - || code == 8204 // \u200c: zero-width non-joiner - || code == 8205 // \u200d: zero-width joiner (in my ECMA-262 PDF, this is also 200c) - ; - } - - function is_identifier_string(str) { - return /^[a-z_$][a-z0-9_$]*$/i.test(str); - } - - function parse_js_number(num) { - if (RE_HEX_NUMBER.test(num)) { - return parseInt(num.substr(2), 16); - } else if (RE_OCT_NUMBER.test(num)) { - return parseInt(num.substr(1), 8); - } else if (RE_ES6_OCT_NUMBER.test(num)) { - return parseInt(num.substr(2), 8); - } else if (RE_BIN_NUMBER.test(num)) { - return parseInt(num.substr(2), 2); - } else if (RE_DEC_NUMBER.test(num)) { - return parseFloat(num); - } else { - var val = parseFloat(num); - if (val == num) return val; - } - } - - function JS_Parse_Error(message, filename, line, col, pos) { - this.message = message; - this.filename = filename; - this.line = line; - this.col = col; - this.pos = pos; - } - JS_Parse_Error.prototype = Object.create(Error.prototype); - JS_Parse_Error.prototype.constructor = JS_Parse_Error; - JS_Parse_Error.prototype.name = "SyntaxError"; - configure_error_stack(JS_Parse_Error); - - function js_error(message, filename, line, col, pos) { - throw new JS_Parse_Error(message, filename, line, col, pos); - } - - function is_token(token, type, val) { - return token.type == type && (val == null || token.value == val); - } - - var EX_EOF = {}; - - function tokenizer($TEXT, filename, html5_comments, shebang) { - - var S = { - text : $TEXT, - filename : filename, - pos : 0, - tokpos : 0, - line : 1, - tokline : 0, - col : 0, - tokcol : 0, - newline_before : false, - regex_allowed : false, - brace_counter : 0, - template_braces : [], - comments_before : [], - directives : {}, - directive_stack : [] - }; - - function peek() { return get_full_char(S.text, S.pos); } - - function next(signal_eof, in_string) { - var ch = get_full_char(S.text, S.pos++); - if (signal_eof && !ch) - throw EX_EOF; - if (NEWLINE_CHARS(ch)) { - S.newline_before = S.newline_before || !in_string; - ++S.line; - S.col = 0; - if (!in_string && ch == "\r" && peek() == "\n") { - // treat a \r\n sequence as a single \n - ++S.pos; - ch = "\n"; - } - } else { - if (ch.length > 1) { - ++S.pos; - ++S.col; - } - ++S.col; - } - return ch; - } - - function forward(i) { - while (i-- > 0) next(); - } - - function looking_at(str) { - return S.text.substr(S.pos, str.length) == str; - } - - function find_eol() { - var text = S.text; - for (var i = S.pos, n = S.text.length; i < n; ++i) { - var ch = text[i]; - if (NEWLINE_CHARS(ch)) - return i; - } - return -1; - } - - function find(what, signal_eof) { - var pos = S.text.indexOf(what, S.pos); - if (signal_eof && pos == -1) throw EX_EOF; - return pos; - } - - function start_token() { - S.tokline = S.line; - S.tokcol = S.col; - S.tokpos = S.pos; - } - - var prev_was_dot = false; - var previous_token = null; - function token(type, value, is_comment) { - S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX(value)) || - (type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) || - (type == "punc" && PUNC_BEFORE_EXPRESSION(value))) || - (type == "arrow"); - if (type == "punc" && value == ".") { - prev_was_dot = true; - } else if (!is_comment) { - prev_was_dot = false; - } - var ret = { - type : type, - value : value, - line : S.tokline, - col : S.tokcol, - pos : S.tokpos, - endline : S.line, - endcol : S.col, - endpos : S.pos, - nlb : S.newline_before, - file : filename - }; - if (/^(?:num|string|regexp)$/i.test(type)) { - ret.raw = $TEXT.substring(ret.pos, ret.endpos); - } - if (!is_comment) { - ret.comments_before = S.comments_before; - ret.comments_after = S.comments_before = []; - } - S.newline_before = false; - ret = new AST_Token(ret); - if (!is_comment) previous_token = ret; - return ret; - } - - function skip_whitespace() { - while (WHITESPACE_CHARS(peek())) - next(); - } - - function read_while(pred) { - var ret = "", ch, i = 0; - while ((ch = peek()) && pred(ch, i++)) - ret += next(); - return ret; - } - - function parse_error(err) { - js_error(err, filename, S.tokline, S.tokcol, S.tokpos); - } - - function read_num(prefix) { - var has_e = false, after_e = false, has_x = false, has_dot = prefix == "."; - var num = read_while(function(ch, i) { - var code = ch.charCodeAt(0); - switch (code) { - case 98: case 66: // bB - return (has_x = true); // Can occur in hex sequence, don't return false yet - case 111: case 79: // oO - case 120: case 88: // xX - return has_x ? false : (has_x = true); - case 101: case 69: // eE - return has_x ? true : has_e ? false : (has_e = after_e = true); - case 45: // - - return after_e || (i == 0 && !prefix); - case 43: // + - return after_e; - case (after_e = false, 46): // . - return (!has_dot && !has_x && !has_e) ? (has_dot = true) : false; - } - return RE_NUM_LITERAL.test(ch); - }); - if (prefix) num = prefix + num; - if (RE_OCT_NUMBER.test(num) && next_token.has_directive("use strict")) { - parse_error("Legacy octal literals are not allowed in strict mode"); - } - var valid = parse_js_number(num); - if (!isNaN(valid)) { - return token("num", valid); - } else { - parse_error("Invalid syntax: " + num); - } - } - - function read_escaped_char(in_string, strict_hex, template_string) { - var ch = next(true, in_string); - switch (ch.charCodeAt(0)) { - case 110 : return "\n"; - case 114 : return "\r"; - case 116 : return "\t"; - case 98 : return "\b"; - case 118 : return "\u000b"; // \v - case 102 : return "\f"; - case 120 : return String.fromCharCode(hex_bytes(2, strict_hex)); // \x - case 117 : // \u - if (peek() == "{") { - next(true); - if (peek() === "}") - parse_error("Expecting hex-character between {}"); - while (peek() == "0") next(true); // No significance - var result, length = find("}", true) - S.pos; - // Avoid 32 bit integer overflow (1 << 32 === 1) - // We know first character isn't 0 and thus out of range anyway - if (length > 6 || (result = hex_bytes(length, strict_hex)) > 0x10FFFF) { - parse_error("Unicode reference out of bounds"); - } - next(true); - return from_char_code(result); - } - return String.fromCharCode(hex_bytes(4, strict_hex)); - case 10 : return ""; // newline - case 13 : // \r - if (peek() == "\n") { // DOS newline - next(true, in_string); - return ""; - } - } - if (ch >= "0" && ch <= "7") { - if (template_string && strict_hex) { - parse_error("Octal escape sequences are not allowed in template strings"); - } - return read_octal_escape_sequence(ch, strict_hex); - } - return ch; - } - - function read_octal_escape_sequence(ch, strict_octal) { - // Read - var p = peek(); - if (p >= "0" && p <= "7") { - ch += next(true); - if (ch[0] <= "3" && (p = peek()) >= "0" && p <= "7") - ch += next(true); - } - - // Parse - if (ch === "0") return "\0"; - if (ch.length > 0 && next_token.has_directive("use strict") && strict_octal) - parse_error("Legacy octal escape sequences are not allowed in strict mode"); - return String.fromCharCode(parseInt(ch, 8)); - } - - function hex_bytes(n, strict_hex) { - var num = 0; - for (; n > 0; --n) { - if (!strict_hex && isNaN(parseInt(peek(), 16))) { - return parseInt(num, 16) || ""; - } - var digit = next(true); - if (isNaN(parseInt(digit, 16))) - parse_error("Invalid hex-character pattern in string"); - num += digit; - } - return parseInt(num, 16); - } - - var read_string = with_eof_error("Unterminated string constant", function(quote_char) { - var quote = next(), ret = ""; - for (;;) { - var ch = next(true, true); - if (ch == "\\") ch = read_escaped_char(true, true); - else if (NEWLINE_CHARS(ch)) parse_error("Unterminated string constant"); - else if (ch == quote) break; - ret += ch; - } - var tok = token("string", ret); - tok.quote = quote_char; - return tok; - }); - - var read_template_characters = with_eof_error("Unterminated template", function(begin) { - if (begin) { - S.template_braces.push(S.brace_counter); - } - var content = "", raw = "", ch, tok; - next(true, true); - while ((ch = next(true, true)) != "`") { - if (ch == "\r") { - if (peek() == "\n") ++S.pos; - ch = "\n"; - } else if (ch == "$" && peek() == "{") { - next(true, true); - S.brace_counter++; - tok = token(begin ? "template_head" : "template_substitution", content); - tok.begin = begin; - tok.raw = raw; - tok.end = false; - return tok; - } - - raw += ch; - if (ch == "\\") { - var tmp = S.pos; - var prev_is_tag = previous_token && (previous_token.type === "name" || previous_token.type === "punc" && (previous_token.value === ")" || previous_token.value === "]")); - ch = read_escaped_char(true, !prev_is_tag, true); - raw += S.text.substr(tmp, S.pos - tmp); - } - - content += ch; - } - S.template_braces.pop(); - tok = token(begin ? "template_head" : "template_substitution", content); - tok.begin = begin; - tok.raw = raw; - tok.end = true; - return tok; - }); - - function skip_line_comment(type) { - var regex_allowed = S.regex_allowed; - var i = find_eol(), ret; - if (i == -1) { - ret = S.text.substr(S.pos); - S.pos = S.text.length; - } else { - ret = S.text.substring(S.pos, i); - S.pos = i; - } - S.col = S.tokcol + (S.pos - S.tokpos); - S.comments_before.push(token(type, ret, true)); - S.regex_allowed = regex_allowed; - return next_token; - } - - var skip_multiline_comment = with_eof_error("Unterminated multiline comment", function() { - var regex_allowed = S.regex_allowed; - var i = find("*/", true); - var text = S.text.substring(S.pos, i).replace(/\r\n|\r|\u2028|\u2029/g, "\n"); - // update stream position - forward(get_full_char_length(text) /* text length doesn't count \r\n as 2 char while S.pos - i does */ + 2); - S.comments_before.push(token("comment2", text, true)); - S.newline_before = S.newline_before || text.includes("\n"); - S.regex_allowed = regex_allowed; - return next_token; - }); - - var read_name = with_eof_error("Unterminated identifier name", function() { - var name = "", ch, escaped = false; - var read_escaped_identifier_char = function() { - escaped = true; - next(); - if (peek() !== "u") { - parse_error("Expecting UnicodeEscapeSequence -- uXXXX or u{XXXX}"); - } - return read_escaped_char(false, true); - }; - - // Read first character (ID_Start) - if ((name = peek()) === "\\") { - name = read_escaped_identifier_char(); - if (!is_identifier_start(name)) { - parse_error("First identifier char is an invalid identifier char"); - } - } else if (is_identifier_start(name)) { - next(); - } else { - return ""; - } - - // Read ID_Continue - while ((ch = peek()) != null) { - if ((ch = peek()) === "\\") { - ch = read_escaped_identifier_char(); - if (!is_identifier_char(ch)) { - parse_error("Invalid escaped identifier char"); - } - } else { - if (!is_identifier_char(ch)) { - break; - } - next(); - } - name += ch; - } - if (RESERVED_WORDS(name) && escaped) { - parse_error("Escaped characters are not allowed in keywords"); - } - return name; - }); - - var read_regexp = with_eof_error("Unterminated regular expression", function(source) { - var prev_backslash = false, ch, in_class = false; - while ((ch = next(true))) if (NEWLINE_CHARS(ch)) { - parse_error("Unexpected line terminator"); - } else if (prev_backslash) { - source += "\\" + ch; - prev_backslash = false; - } else if (ch == "[") { - in_class = true; - source += ch; - } else if (ch == "]" && in_class) { - in_class = false; - source += ch; - } else if (ch == "/" && !in_class) { - break; - } else if (ch == "\\") { - prev_backslash = true; - } else { - source += ch; - } - var mods = read_name(); - try { - var regexp = new RegExp(source, mods); - regexp.raw_source = "/" + source + "/" + mods; - return token("regexp", regexp); - } catch(e) { - parse_error(e.message); - } - }); - - function read_operator(prefix) { - function grow(op) { - if (!peek()) return op; - var bigger = op + peek(); - if (OPERATORS(bigger)) { - next(); - return grow(bigger); - } else { - return op; - } - } - return token("operator", grow(prefix || next())); - } - - function handle_slash() { - next(); - switch (peek()) { - case "/": - next(); - return skip_line_comment("comment1"); - case "*": - next(); - return skip_multiline_comment(); - } - return S.regex_allowed ? read_regexp("") : read_operator("/"); - } - - function handle_eq_sign() { - next(); - if (peek() === ">") { - next(); - return token("arrow", "=>"); - } else { - return read_operator("="); - } - } - - function handle_dot() { - next(); - if (is_digit(peek().charCodeAt(0))) { - return read_num("."); - } - if (peek() === ".") { - next(); // Consume second dot - next(); // Consume third dot - return token("expand", "..."); - } - - return token("punc", "."); - } - - function read_word() { - var word = read_name(); - if (prev_was_dot) return token("name", word); - return KEYWORDS_ATOM(word) ? token("atom", word) - : !KEYWORDS(word) ? token("name", word) - : OPERATORS(word) ? token("operator", word) - : token("keyword", word); - } - - function with_eof_error(eof_error, cont) { - return function(x) { - try { - return cont(x); - } catch(ex) { - if (ex === EX_EOF) parse_error(eof_error); - else throw ex; - } - }; - } - - function next_token(force_regexp) { - if (force_regexp != null) - return read_regexp(force_regexp); - if (shebang && S.pos == 0 && looking_at("#!")) { - start_token(); - forward(2); - skip_line_comment("comment5"); - } - for (;;) { - skip_whitespace(); - start_token(); - if (html5_comments) { - if (looking_at("") && S.newline_before) { - forward(3); - skip_line_comment("comment4"); - continue; - } - } - var ch = peek(); - if (!ch) return token("eof"); - var code = ch.charCodeAt(0); - switch (code) { - case 34: case 39: return read_string(ch); - case 46: return handle_dot(); - case 47: { - var tok = handle_slash(); - if (tok === next_token) continue; - return tok; - } - case 61: return handle_eq_sign(); - case 96: return read_template_characters(true); - case 123: - S.brace_counter++; - break; - case 125: - S.brace_counter--; - if (S.template_braces.length > 0 - && S.template_braces[S.template_braces.length - 1] === S.brace_counter) - return read_template_characters(false); - break; - } - if (is_digit(code)) return read_num(); - if (PUNC_CHARS(ch)) return token("punc", next()); - if (OPERATOR_CHARS(ch)) return read_operator(); - if (code == 92 || is_identifier_start(ch)) return read_word(); - break; - } - parse_error("Unexpected character '" + ch + "'"); - } - - next_token.next = next; - next_token.peek = peek; - - next_token.context = function(nc) { - if (nc) S = nc; - return S; - }; - - next_token.add_directive = function(directive) { - S.directive_stack[S.directive_stack.length - 1].push(directive); - - if (S.directives[directive] === undefined) { - S.directives[directive] = 1; - } else { - S.directives[directive]++; - } - }; - - next_token.push_directives_stack = function() { - S.directive_stack.push([]); - }; - - next_token.pop_directives_stack = function() { - var directives = S.directive_stack[S.directive_stack.length - 1]; - - for (var i = 0; i < directives.length; i++) { - S.directives[directives[i]]--; - } - - S.directive_stack.pop(); - }; - - next_token.has_directive = function(directive) { - return S.directives[directive] > 0; - }; - - return next_token; - - } - - /* -----[ Parser (constants) ]----- */ - - var UNARY_PREFIX = makePredicate([ - "typeof", - "void", - "delete", - "--", - "++", - "!", - "~", - "-", - "+" - ]); - - var UNARY_POSTFIX = makePredicate([ "--", "++" ]); - - var ASSIGNMENT = makePredicate([ "=", "+=", "-=", "/=", "*=", "**=", "%=", ">>=", "<<=", ">>>=", "|=", "^=", "&=" ]); - - var PRECEDENCE = (function(a, ret) { - for (var i = 0; i < a.length; ++i) { - var b = a[i]; - for (var j = 0; j < b.length; ++j) { - ret[b[j]] = i + 1; - } - } - return ret; - })( - [ - ["||"], - ["&&"], - ["|"], - ["^"], - ["&"], - ["==", "===", "!=", "!=="], - ["<", ">", "<=", ">=", "in", "instanceof"], - [">>", "<<", ">>>"], - ["+", "-"], - ["*", "/", "%"], - ["**"] - ], - {} - ); - - var ATOMIC_START_TOKEN = makePredicate([ "atom", "num", "string", "regexp", "name" ]); - - /* -----[ Parser ]----- */ - - function parse($TEXT, options) { - - options = defaults(options, { - bare_returns : false, - ecma : 8, - expression : false, - filename : null, - html5_comments : true, - module : false, - shebang : true, - strict : false, - toplevel : null, - }, true); - - var S = { - input : (typeof $TEXT == "string" - ? tokenizer($TEXT, options.filename, - options.html5_comments, options.shebang) - : $TEXT), - token : null, - prev : null, - peeked : null, - in_function : 0, - in_async : -1, - in_generator : -1, - in_directives : true, - in_loop : 0, - labels : [] - }; - - S.token = next(); - - function is(type, value) { - return is_token(S.token, type, value); - } - - function peek() { return S.peeked || (S.peeked = S.input()); } - - function next() { - S.prev = S.token; - - if (!S.peeked) peek(); - S.token = S.peeked; - S.peeked = null; - S.in_directives = S.in_directives && ( - S.token.type == "string" || is("punc", ";") - ); - return S.token; - } - - function prev() { - return S.prev; - } - - function croak(msg, line, col, pos) { - var ctx = S.input.context(); - js_error(msg, - ctx.filename, - line != null ? line : ctx.tokline, - col != null ? col : ctx.tokcol, - pos != null ? pos : ctx.tokpos); - } - - function token_error(token, msg) { - croak(msg, token.line, token.col); - } - - function unexpected(token) { - if (token == null) - token = S.token; - token_error(token, "Unexpected token: " + token.type + " (" + token.value + ")"); - } - - function expect_token(type, val) { - if (is(type, val)) { - return next(); - } - token_error(S.token, "Unexpected token " + S.token.type + " «" + S.token.value + "»" + ", expected " + type + " «" + val + "»"); - } - - function expect(punc) { return expect_token("punc", punc); } - - function has_newline_before(token) { - return token.nlb || !all(token.comments_before, function(comment) { - return !comment.nlb; - }); - } - - function can_insert_semicolon() { - return !options.strict - && (is("eof") || is("punc", "}") || has_newline_before(S.token)); - } - - function is_in_generator() { - return S.in_generator === S.in_function; - } - - function is_in_async() { - return S.in_async === S.in_function; - } - - function semicolon(optional) { - if (is("punc", ";")) next(); - else if (!optional && !can_insert_semicolon()) unexpected(); - } - - function parenthesised() { - expect("("); - var exp = expression(true); - expect(")"); - return exp; - } - - function embed_tokens(parser) { - return function() { - var start = S.token; - var expr = parser.apply(null, arguments); - var end = prev(); - expr.start = start; - expr.end = end; - return expr; - }; - } - - function handle_regexp() { - if (is("operator", "/") || is("operator", "/=")) { - S.peeked = null; - S.token = S.input(S.token.value.substr(1)); // force regexp - } - } - - var statement = embed_tokens(function(is_export_default, is_for_body, is_if_body) { - handle_regexp(); - switch (S.token.type) { - case "string": - if (S.in_directives) { - var token = peek(); - if (!S.token.raw.includes("\\") - && (is_token(token, "punc", ";") - || is_token(token, "punc", "}") - || has_newline_before(token) - || is_token(token, "eof"))) { - S.input.add_directive(S.token.value); - } else { - S.in_directives = false; - } - } - var dir = S.in_directives, stat = simple_statement(); - return dir && stat.body instanceof AST_String ? new AST_Directive(stat.body) : stat; - case "template_head": - case "num": - case "regexp": - case "operator": - case "atom": - return simple_statement(); - - case "name": - if (S.token.value == "async" && is_token(peek(), "keyword", "function")) { - next(); - next(); - if (is_for_body) { - croak("functions are not allowed as the body of a loop"); - } - return function_(AST_Defun, false, true, is_export_default); - } - if (S.token.value == "import" && !is_token(peek(), "punc", "(")) { - next(); - var node = import_(); - semicolon(); - return node; - } - return is_token(peek(), "punc", ":") - ? labeled_statement() - : simple_statement(); - - case "punc": - switch (S.token.value) { - case "{": - return new AST_BlockStatement({ - start : S.token, - body : block_(), - end : prev() - }); - case "[": - case "(": - return simple_statement(); - case ";": - S.in_directives = false; - next(); - return new AST_EmptyStatement(); - default: - unexpected(); - } - - case "keyword": - switch (S.token.value) { - case "break": - next(); - return break_cont(AST_Break); - - case "continue": - next(); - return break_cont(AST_Continue); - - case "debugger": - next(); - semicolon(); - return new AST_Debugger(); - - case "do": - next(); - var body = in_loop(statement); - expect_token("keyword", "while"); - var condition = parenthesised(); - semicolon(true); - return new AST_Do({ - body : body, - condition : condition - }); - - case "while": - next(); - return new AST_While({ - condition : parenthesised(), - body : in_loop(function() { return statement(false, true); }) - }); - - case "for": - next(); - return for_(); - - case "class": - next(); - if (is_for_body) { - croak("classes are not allowed as the body of a loop"); - } - if (is_if_body) { - croak("classes are not allowed as the body of an if"); - } - return class_(AST_DefClass); - - case "function": - next(); - if (is_for_body) { - croak("functions are not allowed as the body of a loop"); - } - return function_(AST_Defun, false, false, is_export_default); - - case "if": - next(); - return if_(); - - case "return": - if (S.in_function == 0 && !options.bare_returns) - croak("'return' outside of function"); - next(); - var value = null; - if (is("punc", ";")) { - next(); - } else if (!can_insert_semicolon()) { - value = expression(true); - semicolon(); - } - return new AST_Return({ - value: value - }); - - case "switch": - next(); - return new AST_Switch({ - expression : parenthesised(), - body : in_loop(switch_body_) - }); - - case "throw": - next(); - if (has_newline_before(S.token)) - croak("Illegal newline after 'throw'"); - var value = expression(true); - semicolon(); - return new AST_Throw({ - value: value - }); - - case "try": - next(); - return try_(); - - case "var": - next(); - var node = var_(); - semicolon(); - return node; - - case "let": - next(); - var node = let_(); - semicolon(); - return node; - - case "const": - next(); - var node = const_(); - semicolon(); - return node; - - case "with": - if (S.input.has_directive("use strict")) { - croak("Strict mode may not include a with statement"); - } - next(); - return new AST_With({ - expression : parenthesised(), - body : statement() - }); - - case "export": - if (!is_token(peek(), "punc", "(")) { - next(); - var node = export_(); - if (is("punc", ";")) semicolon(); - return node; - } - } - } - unexpected(); - }); - - function labeled_statement() { - var label = as_symbol(AST_Label); - if (label.name === "await" && is_in_async()) { - token_error(S.prev, "await cannot be used as label inside async function"); - } - if (find_if(function(l) { return l.name == label.name; }, S.labels)) { - // ECMA-262, 12.12: An ECMAScript program is considered - // syntactically incorrect if it contains a - // LabelledStatement that is enclosed by a - // LabelledStatement with the same Identifier as label. - croak("Label " + label.name + " defined twice"); - } - expect(":"); - S.labels.push(label); - var stat = statement(); - S.labels.pop(); - if (!(stat instanceof AST_IterationStatement)) { - // check for `continue` that refers to this label. - // those should be reported as syntax errors. - // https://github.com/mishoo/UglifyJS2/issues/287 - label.references.forEach(function(ref) { - if (ref instanceof AST_Continue) { - ref = ref.label.start; - croak("Continue label `" + label.name + "` refers to non-IterationStatement.", - ref.line, ref.col, ref.pos); - } - }); - } - return new AST_LabeledStatement({ body: stat, label: label }); - } - - function simple_statement(tmp) { - return new AST_SimpleStatement({ body: (tmp = expression(true), semicolon(), tmp) }); - } - - function break_cont(type) { - var label = null, ldef; - if (!can_insert_semicolon()) { - label = as_symbol(AST_LabelRef, true); - } - if (label != null) { - ldef = find_if(function(l) { return l.name == label.name; }, S.labels); - if (!ldef) - croak("Undefined label " + label.name); - label.thedef = ldef; - } else if (S.in_loop == 0) - croak(type.TYPE + " not inside a loop or switch"); - semicolon(); - var stat = new type({ label: label }); - if (ldef) ldef.references.push(stat); - return stat; - } - - function for_() { - var for_await_error = "`for await` invalid in this context"; - var await_tok = S.token; - if (await_tok.type == "name" && await_tok.value == "await") { - if (!is_in_async()) { - token_error(await_tok, for_await_error); - } - next(); - } else { - await_tok = false; - } - expect("("); - var init = null; - if (!is("punc", ";")) { - init = - is("keyword", "var") ? (next(), var_(true)) : - is("keyword", "let") ? (next(), let_(true)) : - is("keyword", "const") ? (next(), const_(true)) : - expression(true, true); - var is_in = is("operator", "in"); - var is_of = is("name", "of"); - if (await_tok && !is_of) { - token_error(await_tok, for_await_error); - } - if (is_in || is_of) { - if (init instanceof AST_Definitions) { - if (init.definitions.length > 1) - token_error(init.start, "Only one variable declaration allowed in for..in loop"); - } else if (!(is_assignable(init) || (init = to_destructuring(init)) instanceof AST_Destructuring)) { - token_error(init.start, "Invalid left-hand side in for..in loop"); - } - next(); - if (is_in) { - return for_in(init); - } else { - return for_of(init, !!await_tok); - } - } - } else if (await_tok) { - token_error(await_tok, for_await_error); - } - return regular_for(init); - } - - function regular_for(init) { - expect(";"); - var test = is("punc", ";") ? null : expression(true); - expect(";"); - var step = is("punc", ")") ? null : expression(true); - expect(")"); - return new AST_For({ - init : init, - condition : test, - step : step, - body : in_loop(function() { return statement(false, true); }) - }); - } - - function for_of(init, is_await) { - var lhs = init instanceof AST_Definitions ? init.definitions[0].name : null; - var obj = expression(true); - expect(")"); - return new AST_ForOf({ - await : is_await, - init : init, - name : lhs, - object : obj, - body : in_loop(function() { return statement(false, true); }) - }); - } - - function for_in(init) { - var obj = expression(true); - expect(")"); - return new AST_ForIn({ - init : init, - object : obj, - body : in_loop(function() { return statement(false, true); }) - }); - } - - var arrow_function = function(start, argnames, is_async) { - if (has_newline_before(S.token)) { - croak("Unexpected newline before arrow (=>)"); - } - - expect_token("arrow", "=>"); - - var body = _function_body(is("punc", "{"), false, is_async); - - var end = - body instanceof Array && body.length ? body[body.length - 1].end : - body instanceof Array ? start : - body.end; - - return new AST_Arrow({ - start : start, - end : end, - async : is_async, - argnames : argnames, - body : body - }); - }; - - var function_ = function(ctor, is_generator_property, is_async, is_export_default) { - - var in_statement = ctor === AST_Defun; - var is_generator = is("operator", "*"); - if (is_generator) { - next(); - } - - var name = is("name") ? as_symbol(in_statement ? AST_SymbolDefun : AST_SymbolLambda) : null; - if (in_statement && !name) { - if (is_export_default) { - ctor = AST_Function; - } else { - unexpected(); - } - } - - if (name && ctor !== AST_Accessor && !(name instanceof AST_SymbolDeclaration)) - unexpected(prev()); - - var args = []; - var body = _function_body(true, is_generator || is_generator_property, is_async, name, args); - return new ctor({ - start : args.start, - end : body.end, - is_generator: is_generator, - async : is_async, - name : name, - argnames: args, - body : body - }); - }; - - function track_used_binding_identifiers(is_parameter, strict) { - var parameters = {}; - var duplicate = false; - var default_assignment = false; - var spread = false; - var strict_mode = !!strict; - var tracker = { - add_parameter: function(token) { - if (parameters["$" + token.value] !== undefined) { - if (duplicate === false) { - duplicate = token; - } - tracker.check_strict(); - } else { - parameters["$" + token.value] = true; - if (is_parameter) { - switch (token.value) { - case "arguments": - case "eval": - case "yield": - if (strict_mode) { - token_error(token, "Unexpected " + token.value + " identifier as parameter inside strict mode"); - } - break; - default: - if (RESERVED_WORDS(token.value)) { - unexpected(); - } - } - } - } - }, - mark_default_assignment: function(token) { - if (default_assignment === false) { - default_assignment = token; - } - }, - mark_spread: function(token) { - if (spread === false) { - spread = token; - } - }, - mark_strict_mode: function() { - strict_mode = true; - }, - is_strict: function() { - return default_assignment !== false || spread !== false || strict_mode; - }, - check_strict: function() { - if (tracker.is_strict() && duplicate !== false) { - token_error(duplicate, "Parameter " + duplicate.value + " was used already"); - } - } - }; - - return tracker; - } - - function parameters(params) { - var used_parameters = track_used_binding_identifiers(true, S.input.has_directive("use strict")); - - expect("("); - - while (!is("punc", ")")) { - var param = parameter(used_parameters); - params.push(param); - - if (!is("punc", ")")) { - expect(","); - if (is("punc", ")") && options.ecma < 8) unexpected(); - } - - if (param instanceof AST_Expansion) { - break; - } - } - - next(); - } - - function parameter(used_parameters, symbol_type) { - var param; - var expand = false; - if (used_parameters === undefined) { - used_parameters = track_used_binding_identifiers(true, S.input.has_directive("use strict")); - } - if (is("expand", "...")) { - expand = S.token; - used_parameters.mark_spread(S.token); - next(); - } - param = binding_element(used_parameters, symbol_type); - - if (is("operator", "=") && expand === false) { - used_parameters.mark_default_assignment(S.token); - next(); - param = new AST_DefaultAssign({ - start: param.start, - left: param, - operator: "=", - right: expression(false), - end: S.token - }); - } - - if (expand !== false) { - if (!is("punc", ")")) { - unexpected(); - } - param = new AST_Expansion({ - start: expand, - expression: param, - end: expand - }); - } - used_parameters.check_strict(); - - return param; - } - - function binding_element(used_parameters, symbol_type) { - var elements = []; - var first = true; - var is_expand = false; - var expand_token; - var first_token = S.token; - if (used_parameters === undefined) { - used_parameters = track_used_binding_identifiers(false, S.input.has_directive("use strict")); - } - symbol_type = symbol_type === undefined ? AST_SymbolFunarg : symbol_type; - if (is("punc", "[")) { - next(); - while (!is("punc", "]")) { - if (first) { - first = false; - } else { - expect(","); - } - - if (is("expand", "...")) { - is_expand = true; - expand_token = S.token; - used_parameters.mark_spread(S.token); - next(); - } - if (is("punc")) { - switch (S.token.value) { - case ",": - elements.push(new AST_Hole({ - start: S.token, - end: S.token - })); - continue; - case "]": // Trailing comma after last element - break; - case "[": - case "{": - elements.push(binding_element(used_parameters, symbol_type)); - break; - default: - unexpected(); - } - } else if (is("name")) { - used_parameters.add_parameter(S.token); - elements.push(as_symbol(symbol_type)); - } else { - croak("Invalid function parameter"); - } - if (is("operator", "=") && is_expand === false) { - used_parameters.mark_default_assignment(S.token); - next(); - elements[elements.length - 1] = new AST_DefaultAssign({ - start: elements[elements.length - 1].start, - left: elements[elements.length - 1], - operator: "=", - right: expression(false), - end: S.token - }); - } - if (is_expand) { - if (!is("punc", "]")) { - croak("Rest element must be last element"); - } - elements[elements.length - 1] = new AST_Expansion({ - start: expand_token, - expression: elements[elements.length - 1], - end: expand_token - }); - } - } - expect("]"); - used_parameters.check_strict(); - return new AST_Destructuring({ - start: first_token, - names: elements, - is_array: true, - end: prev() - }); - } else if (is("punc", "{")) { - next(); - while (!is("punc", "}")) { - if (first) { - first = false; - } else { - expect(","); - } - if (is("expand", "...")) { - is_expand = true; - expand_token = S.token; - used_parameters.mark_spread(S.token); - next(); - } - if (is("name") && (is_token(peek(), "punc") || is_token(peek(), "operator")) && [",", "}", "="].includes(peek().value)) { - used_parameters.add_parameter(S.token); - var start = prev(); - var value = as_symbol(symbol_type); - if (is_expand) { - elements.push(new AST_Expansion({ - start: expand_token, - expression: value, - end: value.end, - })); - } else { - elements.push(new AST_ObjectKeyVal({ - start: start, - key: value.name, - value: value, - end: value.end, - })); - } - } else if (is("punc", "}")) { - continue; // Allow trailing hole - } else { - var property_token = S.token; - var property = as_property_name(); - if (property === null) { - unexpected(prev()); - } else if (prev().type === "name" && !is("punc", ":")) { - elements.push(new AST_ObjectKeyVal({ - start: prev(), - key: property, - value: new symbol_type({ - start: prev(), - name: property, - end: prev() - }), - end: prev() - })); - } else { - expect(":"); - elements.push(new AST_ObjectKeyVal({ - start: property_token, - quote: property_token.quote, - key: property, - value: binding_element(used_parameters, symbol_type), - end: prev() - })); - } - } - if (is_expand) { - if (!is("punc", "}")) { - croak("Rest element must be last element"); - } - } else if (is("operator", "=")) { - used_parameters.mark_default_assignment(S.token); - next(); - elements[elements.length - 1].value = new AST_DefaultAssign({ - start: elements[elements.length - 1].value.start, - left: elements[elements.length - 1].value, - operator: "=", - right: expression(false), - end: S.token - }); - } - } - expect("}"); - used_parameters.check_strict(); - return new AST_Destructuring({ - start: first_token, - names: elements, - is_array: false, - end: prev() - }); - } else if (is("name")) { - used_parameters.add_parameter(S.token); - return as_symbol(symbol_type); - } else { - croak("Invalid function parameter"); - } - } - - function params_or_seq_(allow_arrows, maybe_sequence) { - var spread_token; - var invalid_sequence; - var trailing_comma; - var a = []; - expect("("); - while (!is("punc", ")")) { - if (spread_token) unexpected(spread_token); - if (is("expand", "...")) { - spread_token = S.token; - if (maybe_sequence) invalid_sequence = S.token; - next(); - a.push(new AST_Expansion({ - start: prev(), - expression: expression(), - end: S.token, - })); - } else { - a.push(expression()); - } - if (!is("punc", ")")) { - expect(","); - if (is("punc", ")")) { - if (options.ecma < 8) unexpected(); - trailing_comma = prev(); - if (maybe_sequence) invalid_sequence = trailing_comma; - } - } - } - expect(")"); - if (allow_arrows && is("arrow", "=>")) { - if (spread_token && trailing_comma) unexpected(trailing_comma); - } else if (invalid_sequence) { - unexpected(invalid_sequence); - } - return a; - } - - function _function_body(block, generator, is_async, name, args) { - var loop = S.in_loop; - var labels = S.labels; - var current_generator = S.in_generator; - var current_async = S.in_async; - ++S.in_function; - if (generator) - S.in_generator = S.in_function; - if (is_async) - S.in_async = S.in_function; - if (args) parameters(args); - if (block) - S.in_directives = true; - S.in_loop = 0; - S.labels = []; - if (block) { - S.input.push_directives_stack(); - var a = block_(); - if (name) _verify_symbol(name); - if (args) args.forEach(_verify_symbol); - S.input.pop_directives_stack(); - } else { - var a = expression(false); - } - --S.in_function; - S.in_loop = loop; - S.labels = labels; - S.in_generator = current_generator; - S.in_async = current_async; - return a; - } - - function _await_expression() { - // Previous token must be "await" and not be interpreted as an identifier - if (!is_in_async()) { - croak("Unexpected await expression outside async function", - S.prev.line, S.prev.col, S.prev.pos); - } - // the await expression is parsed as a unary expression in Babel - return new AST_Await({ - start: prev(), - end: S.token, - expression : maybe_unary(true), - }); - } - - function _yield_expression() { - // Previous token must be keyword yield and not be interpret as an identifier - if (!is_in_generator()) { - croak("Unexpected yield expression outside generator function", - S.prev.line, S.prev.col, S.prev.pos); - } - var start = S.token; - var star = false; - var has_expression = true; - - // Attempt to get expression or star (and then the mandatory expression) - // behind yield on the same line. - // - // If nothing follows on the same line of the yieldExpression, - // it should default to the value `undefined` for yield to return. - // In that case, the `undefined` stored as `null` in ast. - // - // Note 1: It isn't allowed for yield* to close without an expression - // Note 2: If there is a nlb between yield and star, it is interpret as - // yield * - if (can_insert_semicolon() || - (is("punc") && PUNC_AFTER_EXPRESSION(S.token.value))) { - has_expression = false; - - } else if (is("operator", "*")) { - star = true; - next(); - } - - return new AST_Yield({ - start : start, - is_star : star, - expression : has_expression ? expression() : null, - end : prev() - }); - } - - function if_() { - var cond = parenthesised(), body = statement(false, false, true), belse = null; - if (is("keyword", "else")) { - next(); - belse = statement(false, false, true); - } - return new AST_If({ - condition : cond, - body : body, - alternative : belse - }); - } - - function block_() { - expect("{"); - var a = []; - while (!is("punc", "}")) { - if (is("eof")) unexpected(); - a.push(statement()); - } - next(); - return a; - } - - function switch_body_() { - expect("{"); - var a = [], cur = null, branch = null, tmp; - while (!is("punc", "}")) { - if (is("eof")) unexpected(); - if (is("keyword", "case")) { - if (branch) branch.end = prev(); - cur = []; - branch = new AST_Case({ - start : (tmp = S.token, next(), tmp), - expression : expression(true), - body : cur - }); - a.push(branch); - expect(":"); - } else if (is("keyword", "default")) { - if (branch) branch.end = prev(); - cur = []; - branch = new AST_Default({ - start : (tmp = S.token, next(), expect(":"), tmp), - body : cur - }); - a.push(branch); - } else { - if (!cur) unexpected(); - cur.push(statement()); - } - } - if (branch) branch.end = prev(); - next(); - return a; - } - - function try_() { - var body = block_(), bcatch = null, bfinally = null; - if (is("keyword", "catch")) { - var start = S.token; - next(); - if (is("punc", "{")) { - var name = null; - } else { - expect("("); - var name = parameter(undefined, AST_SymbolCatch); - expect(")"); - } - bcatch = new AST_Catch({ - start : start, - argname : name, - body : block_(), - end : prev() - }); - } - if (is("keyword", "finally")) { - var start = S.token; - next(); - bfinally = new AST_Finally({ - start : start, - body : block_(), - end : prev() - }); - } - if (!bcatch && !bfinally) - croak("Missing catch/finally blocks"); - return new AST_Try({ - body : body, - bcatch : bcatch, - bfinally : bfinally - }); - } - - function vardefs(no_in, kind) { - var a = []; - var def; - for (;;) { - var sym_type = - kind === "var" ? AST_SymbolVar : - kind === "const" ? AST_SymbolConst : - kind === "let" ? AST_SymbolLet : null; - if (is("punc", "{") || is("punc", "[")) { - def = new AST_VarDef({ - start: S.token, - name: binding_element(undefined ,sym_type), - value: is("operator", "=") ? (expect_token("operator", "="), expression(false, no_in)) : null, - end: prev() - }); - } else { - def = new AST_VarDef({ - start : S.token, - name : as_symbol(sym_type), - value : is("operator", "=") - ? (next(), expression(false, no_in)) - : !no_in && kind === "const" - ? croak("Missing initializer in const declaration") : null, - end : prev() - }); - if (def.name.name == "import") croak("Unexpected token: import"); - } - a.push(def); - if (!is("punc", ",")) - break; - next(); - } - return a; - } - - var var_ = function(no_in) { - return new AST_Var({ - start : prev(), - definitions : vardefs(no_in, "var"), - end : prev() - }); - }; - - var let_ = function(no_in) { - return new AST_Let({ - start : prev(), - definitions : vardefs(no_in, "let"), - end : prev() - }); - }; - - var const_ = function(no_in) { - return new AST_Const({ - start : prev(), - definitions : vardefs(no_in, "const"), - end : prev() - }); - }; - - var new_ = function(allow_calls) { - var start = S.token; - expect_token("operator", "new"); - if (is("punc", ".")) { - next(); - expect_token("name", "target"); - return subscripts(new AST_NewTarget({ - start : start, - end : prev() - }), allow_calls); - } - var newexp = expr_atom(false), args; - if (is("punc", "(")) { - next(); - args = expr_list(")", options.ecma >= 8); - } else { - args = []; - } - var call = new AST_New({ - start : start, - expression : newexp, - args : args, - end : prev() - }); - mark_pure(call); - return subscripts(call, allow_calls); - }; - - function as_atom_node() { - var tok = S.token, ret; - switch (tok.type) { - case "name": - ret = _make_symbol(AST_SymbolRef); - break; - case "num": - ret = new AST_Number({ start: tok, end: tok, value: tok.value }); - break; - case "string": - ret = new AST_String({ - start : tok, - end : tok, - value : tok.value, - quote : tok.quote - }); - break; - case "regexp": - ret = new AST_RegExp({ start: tok, end: tok, value: tok.value }); - break; - case "atom": - switch (tok.value) { - case "false": - ret = new AST_False({ start: tok, end: tok }); - break; - case "true": - ret = new AST_True({ start: tok, end: tok }); - break; - case "null": - ret = new AST_Null({ start: tok, end: tok }); - break; - } - break; - } - next(); - return ret; - } - - function to_fun_args(ex, _, __, default_seen_above) { - var insert_default = function(ex, default_value) { - if (default_value) { - return new AST_DefaultAssign({ - start: ex.start, - left: ex, - operator: "=", - right: default_value, - end: default_value.end - }); - } - return ex; - }; - if (ex instanceof AST_Object) { - return insert_default(new AST_Destructuring({ - start: ex.start, - end: ex.end, - is_array: false, - names: ex.properties.map(to_fun_args) - }), default_seen_above); - } else if (ex instanceof AST_ObjectKeyVal) { - ex.value = to_fun_args(ex.value, 0, [ex.key]); - return insert_default(ex, default_seen_above); - } else if (ex instanceof AST_Hole) { - return ex; - } else if (ex instanceof AST_Destructuring) { - ex.names = ex.names.map(to_fun_args); - return insert_default(ex, default_seen_above); - } else if (ex instanceof AST_SymbolRef) { - return insert_default(new AST_SymbolFunarg({ - name: ex.name, - start: ex.start, - end: ex.end - }), default_seen_above); - } else if (ex instanceof AST_Expansion) { - ex.expression = to_fun_args(ex.expression); - return insert_default(ex, default_seen_above); - } else if (ex instanceof AST_Array) { - return insert_default(new AST_Destructuring({ - start: ex.start, - end: ex.end, - is_array: true, - names: ex.elements.map(to_fun_args) - }), default_seen_above); - } else if (ex instanceof AST_Assign) { - return insert_default(to_fun_args(ex.left, undefined, undefined, ex.right), default_seen_above); - } else if (ex instanceof AST_DefaultAssign) { - ex.left = to_fun_args(ex.left, 0, [ex.left]); - return ex; - } else { - croak("Invalid function parameter", ex.start.line, ex.start.col); - } - } - - var expr_atom = function(allow_calls, allow_arrows) { - if (is("operator", "new")) { - return new_(allow_calls); - } - var start = S.token; - var peeked; - var async = is("name", "async") - && (peeked = peek()).value != "[" - && peeked.type != "arrow" - && as_atom_node(); - if (is("punc")) { - switch (S.token.value) { - case "(": - if (async && !allow_calls) break; - var exprs = params_or_seq_(allow_arrows, !async); - if (allow_arrows && is("arrow", "=>")) { - return arrow_function(start, exprs.map(to_fun_args), !!async); - } - var ex = async ? new AST_Call({ - expression: async, - args: exprs - }) : exprs.length == 1 ? exprs[0] : new AST_Sequence({ - expressions: exprs - }); - if (ex.start) { - var len = start.comments_before.length; - [].unshift.apply(ex.start.comments_before, start.comments_before); - start.comments_before = ex.start.comments_before; - start.comments_before_length = len; - if (len == 0 && start.comments_before.length > 0) { - var comment = start.comments_before[0]; - if (!comment.nlb) { - comment.nlb = start.nlb; - start.nlb = false; - } - } - start.comments_after = ex.start.comments_after; - } - ex.start = start; - var end = prev(); - if (ex.end) { - end.comments_before = ex.end.comments_before; - [].push.apply(ex.end.comments_after, end.comments_after); - end.comments_after = ex.end.comments_after; - } - ex.end = end; - if (ex instanceof AST_Call) mark_pure(ex); - return subscripts(ex, allow_calls); - case "[": - return subscripts(array_(), allow_calls); - case "{": - return subscripts(object_or_destructuring_(), allow_calls); - } - if (!async) unexpected(); - } - if (allow_arrows && is("name") && is_token(peek(), "arrow")) { - var param = new AST_SymbolFunarg({ - name: S.token.value, - start: start, - end: start, - }); - next(); - return arrow_function(start, [param], !!async); - } - if (is("keyword", "function")) { - next(); - var func = function_(AST_Function, false, !!async); - func.start = start; - func.end = prev(); - return subscripts(func, allow_calls); - } - if (async) return subscripts(async, allow_calls); - if (is("keyword", "class")) { - next(); - var cls = class_(AST_ClassExpression); - cls.start = start; - cls.end = prev(); - return subscripts(cls, allow_calls); - } - if (is("template_head")) { - return subscripts(template_string(false), allow_calls); - } - if (ATOMIC_START_TOKEN(S.token.type)) { - return subscripts(as_atom_node(), allow_calls); - } - unexpected(); - }; - - function template_string(tagged) { - var segments = [], start = S.token; - - segments.push(new AST_TemplateSegment({ - start: S.token, - raw: S.token.raw, - value: S.token.value, - end: S.token - })); - while (S.token.end === false) { - next(); - handle_regexp(); - segments.push(expression(true)); - - if (!is_token("template_substitution")) { - unexpected(); - } - - segments.push(new AST_TemplateSegment({ - start: S.token, - raw: S.token.raw, - value: S.token.value, - end: S.token - })); - } - next(); - - return new AST_TemplateString({ - start: start, - segments: segments, - end: S.token - }); - } - - function expr_list(closing, allow_trailing_comma, allow_empty) { - var first = true, a = []; - while (!is("punc", closing)) { - if (first) first = false; else expect(","); - if (allow_trailing_comma && is("punc", closing)) break; - if (is("punc", ",") && allow_empty) { - a.push(new AST_Hole({ start: S.token, end: S.token })); - } else if (is("expand", "...")) { - next(); - a.push(new AST_Expansion({start: prev(), expression: expression(),end: S.token})); - } else { - a.push(expression(false)); - } - } - next(); - return a; - } - - var array_ = embed_tokens(function() { - expect("["); - return new AST_Array({ - elements: expr_list("]", !options.strict, true) - }); - }); - - var create_accessor = embed_tokens(function(is_generator, is_async) { - return function_(AST_Accessor, is_generator, is_async); - }); - - var object_or_destructuring_ = embed_tokens(function object_or_destructuring_() { - var start = S.token, first = true, a = []; - expect("{"); - while (!is("punc", "}")) { - if (first) first = false; else expect(","); - if (!options.strict && is("punc", "}")) - // allow trailing comma - break; - - start = S.token; - if (start.type == "expand") { - next(); - a.push(new AST_Expansion({ - start: start, - expression: expression(false), - end: prev(), - })); - continue; - } - - var name = as_property_name(); - var value; - - // Check property and fetch value - if (!is("punc", ":")) { - var concise = concise_method_or_getset(name, start); - if (concise) { - a.push(concise); - continue; - } - - value = new AST_SymbolRef({ - start: prev(), - name: name, - end: prev() - }); - } else if (name === null) { - unexpected(prev()); - } else { - next(); // `:` - see first condition - value = expression(false); - } - - // Check for default value and alter value accordingly if necessary - if (is("operator", "=")) { - next(); - value = new AST_Assign({ - start: start, - left: value, - operator: "=", - right: expression(false), - end: prev() - }); - } - - // Create property - a.push(new AST_ObjectKeyVal({ - start: start, - quote: start.quote, - key: name instanceof AST_Node ? name : "" + name, - value: value, - end: prev() - })); - } - next(); - return new AST_Object({ properties: a }); - }); - - function class_(KindOfClass) { - var start, method, class_name, extends_, a = []; - - S.input.push_directives_stack(); // Push directive stack, but not scope stack - S.input.add_directive("use strict"); - - if (S.token.type == "name" && S.token.value != "extends") { - class_name = as_symbol(KindOfClass === AST_DefClass ? AST_SymbolDefClass : AST_SymbolClass); - } - - if (KindOfClass === AST_DefClass && !class_name) { - unexpected(); - } - - if (S.token.value == "extends") { - next(); - extends_ = expression(true); - } - - expect("{"); - - if (is("punc", ";")) { next(); } // Leading semicolons are okay in class bodies. - while (!is("punc", "}")) { - start = S.token; - method = concise_method_or_getset(as_property_name(), start, true); - if (!method) { unexpected(); } - a.push(method); - if (is("punc", ";")) { next(); } - } - - S.input.pop_directives_stack(); - - next(); - - return new KindOfClass({ - start: start, - name: class_name, - extends: extends_, - properties: a, - end: prev(), - }); - } - - function concise_method_or_getset(name, start, is_class) { - var get_ast = function(name, token) { - if (typeof name === "string" || typeof name === "number") { - return new AST_SymbolMethod({ - start: token, - name: "" + name, - end: prev() - }); - } else if (name === null) { - unexpected(); - } - return name; - }; - var is_async = false; - var is_static = false; - var is_generator = false; - var property_token = start; - if (is_class && name === "static" && !is("punc", "(")) { - is_static = true; - property_token = S.token; - name = as_property_name(); - } - if (name === "async" && !is("punc", "(") && !is("punc", ",") && !is("punc", "}")) { - is_async = true; - property_token = S.token; - name = as_property_name(); - } - if (name === null) { - is_generator = true; - property_token = S.token; - name = as_property_name(); - if (name === null) { - unexpected(); - } - } - if (is("punc", "(")) { - name = get_ast(name, start); - var node = new AST_ConciseMethod({ - start : start, - static : is_static, - is_generator: is_generator, - async : is_async, - key : name, - quote : name instanceof AST_SymbolMethod ? - property_token.quote : undefined, - value : create_accessor(is_generator, is_async), - end : prev() - }); - return node; - } - property_token = S.token; - if (name == "get") { - if (!is("punc") || is("punc", "[")) { - name = get_ast(as_property_name(), start); - return new AST_ObjectGetter({ - start : start, - static: is_static, - key : name, - quote : name instanceof AST_SymbolMethod ? - property_token.quote : undefined, - value : create_accessor(), - end : prev() - }); - } - } else if (name == "set") { - if (!is("punc") || is("punc", "[")) { - name = get_ast(as_property_name(), start); - return new AST_ObjectSetter({ - start : start, - static: is_static, - key : name, - quote : name instanceof AST_SymbolMethod ? - property_token.quote : undefined, - value : create_accessor(), - end : prev() - }); - } - } - } - - function import_() { - var start = prev(); - var imported_name; - var imported_names; - if (is("name")) { - imported_name = as_symbol(AST_SymbolImport); - } - - if (is("punc", ",")) { - next(); - } - - imported_names = map_names(true); - - if (imported_names || imported_name) { - expect_token("name", "from"); - } - var mod_str = S.token; - if (mod_str.type !== "string") { - unexpected(); - } - next(); - return new AST_Import({ - start: start, - imported_name: imported_name, - imported_names: imported_names, - module_name: new AST_String({ - start: mod_str, - value: mod_str.value, - quote: mod_str.quote, - end: mod_str, - }), - end: S.token, - }); - } - - function map_name(is_import) { - function make_symbol(type) { - return new type({ - name: as_property_name(), - start: prev(), - end: prev() - }); - } - - var foreign_type = is_import ? AST_SymbolImportForeign : AST_SymbolExportForeign; - var type = is_import ? AST_SymbolImport : AST_SymbolExport; - var start = S.token; - var foreign_name; - var name; - - if (is_import) { - foreign_name = make_symbol(foreign_type); - } else { - name = make_symbol(type); - } - if (is("name", "as")) { - next(); // The "as" word - if (is_import) { - name = make_symbol(type); - } else { - foreign_name = make_symbol(foreign_type); - } - } else if (is_import) { - name = new type(foreign_name); - } else { - foreign_name = new foreign_type(name); - } - - return new AST_NameMapping({ - start: start, - foreign_name: foreign_name, - name: name, - end: prev(), - }); - } - - function map_nameAsterisk(is_import, name) { - var foreign_type = is_import ? AST_SymbolImportForeign : AST_SymbolExportForeign; - var type = is_import ? AST_SymbolImport : AST_SymbolExport; - var start = S.token; - var foreign_name; - var end = prev(); - - name = name || new type({ - name: "*", - start: start, - end: end, - }); - - foreign_name = new foreign_type({ - name: "*", - start: start, - end: end, - }); - - return new AST_NameMapping({ - start: start, - foreign_name: foreign_name, - name: name, - end: end, - }); - } - - function map_names(is_import) { - var names; - if (is("punc", "{")) { - next(); - names = []; - while (!is("punc", "}")) { - names.push(map_name(is_import)); - if (is("punc", ",")) { - next(); - } - } - next(); - } else if (is("operator", "*")) { - var name; - next(); - if (is_import && is("name", "as")) { - next(); // The "as" word - name = as_symbol(is_import ? AST_SymbolImport : AST_SymbolExportForeign); - } - names = [map_nameAsterisk(is_import, name)]; - } - return names; - } - - function export_() { - var start = S.token; - var is_default; - var exported_names; - - if (is("keyword", "default")) { - is_default = true; - next(); - } else if (exported_names = map_names(false)) { - if (is("name", "from")) { - next(); - - var mod_str = S.token; - if (mod_str.type !== "string") { - unexpected(); - } - next(); - - return new AST_Export({ - start: start, - is_default: is_default, - exported_names: exported_names, - module_name: new AST_String({ - start: mod_str, - value: mod_str.value, - quote: mod_str.quote, - end: mod_str, - }), - end: prev(), - }); - } else { - return new AST_Export({ - start: start, - is_default: is_default, - exported_names: exported_names, - end: prev(), - }); - } - } - - var node; - var exported_value; - var exported_definition; - if (is("punc", "{") - || is_default - && (is("keyword", "class") || is("keyword", "function")) - && is_token(peek(), "punc")) { - exported_value = expression(false); - semicolon(); - } else if ((node = statement(is_default)) instanceof AST_Definitions && is_default) { - unexpected(node.start); - } else if (node instanceof AST_Definitions || node instanceof AST_Lambda || node instanceof AST_DefClass) { - exported_definition = node; - } else if (node instanceof AST_SimpleStatement) { - exported_value = node.body; - } else { - unexpected(node.start); - } - - return new AST_Export({ - start: start, - is_default: is_default, - exported_value: exported_value, - exported_definition: exported_definition, - end: prev(), - }); - } - - function as_property_name() { - var tmp = S.token; - switch (tmp.type) { - case "punc": - if (tmp.value === "[") { - next(); - var ex = expression(false); - expect("]"); - return ex; - } else unexpected(tmp); - case "operator": - if (tmp.value === "*") { - next(); - return null; - } - if (!["delete", "in", "instanceof", "new", "typeof", "void"].includes(tmp.value)) { - unexpected(tmp); - } - case "name": - if (tmp.value == "yield") { - if (is_in_generator()) { - token_error(tmp, "Yield cannot be used as identifier inside generators"); - } else if (!is_token(peek(), "punc", ":") - && !is_token(peek(), "punc", "(") - && S.input.has_directive("use strict")) { - token_error(tmp, "Unexpected yield identifier inside strict mode"); - } - } - case "string": - case "num": - case "keyword": - case "atom": - next(); - return tmp.value; - default: - unexpected(tmp); - } - } - - function as_name() { - var tmp = S.token; - if (tmp.type != "name") unexpected(); - next(); - return tmp.value; - } - - function _make_symbol(type) { - var name = S.token.value; - return new (name == "this" ? AST_This : - name == "super" ? AST_Super : - type)({ - name : String(name), - start : S.token, - end : S.token - }); - } - - function _verify_symbol(sym) { - var name = sym.name; - if (is_in_generator() && name == "yield") { - token_error(sym.start, "Yield cannot be used as identifier inside generators"); - } - if (S.input.has_directive("use strict")) { - if (name == "yield") { - token_error(sym.start, "Unexpected yield identifier inside strict mode"); - } - if (sym instanceof AST_SymbolDeclaration && (name == "arguments" || name == "eval")) { - token_error(sym.start, "Unexpected " + name + " in strict mode"); - } - } - } - - function as_symbol(type, noerror) { - if (!is("name")) { - if (!noerror) croak("Name expected"); - return null; - } - var sym = _make_symbol(type); - _verify_symbol(sym); - next(); - return sym; - } - - function mark_pure(call) { - var start = call.start; - var comments = start.comments_before; - var i = HOP(start, "comments_before_length") ? start.comments_before_length : comments.length; - while (--i >= 0) { - var comment = comments[i]; - if (/[@#]__PURE__/.test(comment.value)) { - call.pure = comment; - break; - } - } - } - - var subscripts = function(expr, allow_calls) { - var start = expr.start; - if (is("punc", ".")) { - next(); - return subscripts(new AST_Dot({ - start : start, - expression : expr, - property : as_name(), - end : prev() - }), allow_calls); - } - if (is("punc", "[")) { - next(); - var prop = expression(true); - expect("]"); - return subscripts(new AST_Sub({ - start : start, - expression : expr, - property : prop, - end : prev() - }), allow_calls); - } - if (allow_calls && is("punc", "(")) { - next(); - var call = new AST_Call({ - start : start, - expression : expr, - args : call_args(), - end : prev() - }); - mark_pure(call); - return subscripts(call, true); - } - if (is("template_head")) { - return subscripts(new AST_PrefixedTemplateString({ - start: start, - prefix: expr, - template_string: template_string(true), - end: prev() - }), allow_calls); - } - return expr; - }; - - var call_args = embed_tokens(function _call_args() { - var args = []; - while (!is("punc", ")")) { - if (is("expand", "...")) { - next(); - args.push(new AST_Expansion({ - start: prev(), - expression: expression(false), - end: prev() - })); - } else { - args.push(expression(false)); - } - if (!is("punc", ")")) { - expect(","); - if (is("punc", ")") && options.ecma < 8) unexpected(); - } - } - next(); - return args; - }); - - var maybe_unary = function(allow_calls, allow_arrows) { - var start = S.token; - if (start.type == "name" && start.value == "await") { - if (is_in_async()) { - next(); - return _await_expression(); - } else if (S.input.has_directive("use strict")) { - token_error(S.token, "Unexpected await identifier inside strict mode"); - } - } - if (is("operator") && UNARY_PREFIX(start.value)) { - next(); - handle_regexp(); - var ex = make_unary(AST_UnaryPrefix, start, maybe_unary(allow_calls)); - ex.start = start; - ex.end = prev(); - return ex; - } - var val = expr_atom(allow_calls, allow_arrows); - while (is("operator") && UNARY_POSTFIX(S.token.value) && !has_newline_before(S.token)) { - if (val instanceof AST_Arrow) unexpected(); - val = make_unary(AST_UnaryPostfix, S.token, val); - val.start = start; - val.end = S.token; - next(); - } - return val; - }; - - function make_unary(ctor, token, expr) { - var op = token.value; - switch (op) { - case "++": - case "--": - if (!is_assignable(expr)) - croak("Invalid use of " + op + " operator", token.line, token.col, token.pos); - break; - case "delete": - if (expr instanceof AST_SymbolRef && S.input.has_directive("use strict")) - croak("Calling delete on expression not allowed in strict mode", expr.start.line, expr.start.col, expr.start.pos); - break; - } - return new ctor({ operator: op, expression: expr }); - } - - var expr_op = function(left, min_prec, no_in) { - var op = is("operator") ? S.token.value : null; - if (op == "in" && no_in) op = null; - if (op == "**" && left instanceof AST_UnaryPrefix - /* unary token in front not allowed - parenthesis required */ - && !is_token(left.start, "punc", "(") - && left.operator !== "--" && left.operator !== "++") - unexpected(left.start); - var prec = op != null ? PRECEDENCE[op] : null; - if (prec != null && (prec > min_prec || (op === "**" && min_prec === prec))) { - next(); - var right = expr_op(maybe_unary(true), prec, no_in); - return expr_op(new AST_Binary({ - start : left.start, - left : left, - operator : op, - right : right, - end : right.end - }), min_prec, no_in); - } - return left; - }; - - function expr_ops(no_in) { - return expr_op(maybe_unary(true, true), 0, no_in); - } - - var maybe_conditional = function(no_in) { - var start = S.token; - var expr = expr_ops(no_in); - if (is("operator", "?")) { - next(); - var yes = expression(false); - expect(":"); - return new AST_Conditional({ - start : start, - condition : expr, - consequent : yes, - alternative : expression(false, no_in), - end : prev() - }); - } - return expr; - }; - - function is_assignable(expr) { - return expr instanceof AST_PropAccess || expr instanceof AST_SymbolRef; - } - - function to_destructuring(node) { - if (node instanceof AST_Object) { - node = new AST_Destructuring({ - start: node.start, - names: node.properties.map(to_destructuring), - is_array: false, - end: node.end - }); - } else if (node instanceof AST_Array) { - var names = []; - - for (var i = 0; i < node.elements.length; i++) { - // Only allow expansion as last element - if (node.elements[i] instanceof AST_Expansion) { - if (i + 1 !== node.elements.length) { - token_error(node.elements[i].start, "Spread must the be last element in destructuring array"); - } - node.elements[i].expression = to_destructuring(node.elements[i].expression); - } - - names.push(to_destructuring(node.elements[i])); - } - - node = new AST_Destructuring({ - start: node.start, - names: names, - is_array: true, - end: node.end - }); - } else if (node instanceof AST_ObjectProperty) { - node.value = to_destructuring(node.value); - } else if (node instanceof AST_Assign) { - node = new AST_DefaultAssign({ - start: node.start, - left: node.left, - operator: "=", - right: node.right, - end: node.end - }); - } - return node; - } - - // In ES6, AssignmentExpression can also be an ArrowFunction - var maybe_assign = function(no_in) { - handle_regexp(); - var start = S.token; - - if (start.type == "name" && start.value == "yield") { - if (is_in_generator()) { - next(); - return _yield_expression(); - } else if (S.input.has_directive("use strict")) { - token_error(S.token, "Unexpected yield identifier inside strict mode"); - } - } - - var left = maybe_conditional(no_in); - var val = S.token.value; - - if (is("operator") && ASSIGNMENT(val)) { - if (is_assignable(left) || (left = to_destructuring(left)) instanceof AST_Destructuring) { - next(); - return new AST_Assign({ - start : start, - left : left, - operator : val, - right : maybe_assign(no_in), - end : prev() - }); - } - croak("Invalid assignment"); - } - return left; - }; - - var expression = function(commas, no_in) { - var start = S.token; - var exprs = []; - while (true) { - exprs.push(maybe_assign(no_in)); - if (!commas || !is("punc", ",")) break; - next(); - commas = true; - } - return exprs.length == 1 ? exprs[0] : new AST_Sequence({ - start : start, - expressions : exprs, - end : peek() - }); - }; - - function in_loop(cont) { - ++S.in_loop; - var ret = cont(); - --S.in_loop; - return ret; - } - - if (options.expression) { - return expression(true); - } - - return (function() { - var start = S.token; - var body = []; - S.input.push_directives_stack(); - if (options.module) S.input.add_directive("use strict"); - while (!is("eof")) - body.push(statement()); - S.input.pop_directives_stack(); - var end = prev(); - var toplevel = options.toplevel; - if (toplevel) { - toplevel.body = toplevel.body.concat(body); - toplevel.end = end; - } else { - toplevel = new AST_Toplevel({ start: start, body: body, end: end }); - } - return toplevel; - })(); - - } - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - function DEFNODE(type, props, methods, base) { - if (arguments.length < 4) base = AST_Node; - if (!props) props = []; - else props = props.split(/\s+/); - var self_props = props; - if (base && base.PROPS) - props = props.concat(base.PROPS); - var code = "return function AST_" + type + "(props){ if (props) { "; - for (var i = props.length; --i >= 0;) { - code += "this." + props[i] + " = props." + props[i] + ";"; - } - var proto = base && new base; - if (proto && proto.initialize || (methods && methods.initialize)) - code += "this.initialize();"; - code += "}}"; - var ctor = new Function(code)(); - if (proto) { - ctor.prototype = proto; - ctor.BASE = base; - } - if (base) base.SUBCLASSES.push(ctor); - ctor.prototype.CTOR = ctor; - ctor.PROPS = props || null; - ctor.SELF_PROPS = self_props; - ctor.SUBCLASSES = []; - if (type) { - ctor.prototype.TYPE = ctor.TYPE = type; - } - if (methods) for (i in methods) if (HOP(methods, i)) { - if (/^\$/.test(i)) { - ctor[i.substr(1)] = methods[i]; - } else { - ctor.prototype[i] = methods[i]; - } - } - ctor.DEFMETHOD = function(name, method) { - this.prototype[name] = method; - }; - return ctor; - } - - var AST_Token = DEFNODE("Token", "type value line col pos endline endcol endpos nlb comments_before comments_after file raw", { - }, null); - - var AST_Node = DEFNODE("Node", "start end", { - _clone: function(deep) { - if (deep) { - var self = this.clone(); - return self.transform(new TreeTransformer(function(node) { - if (node !== self) { - return node.clone(true); - } - })); - } - return new this.CTOR(this); - }, - clone: function(deep) { - return this._clone(deep); - }, - $documentation: "Base class of all AST nodes", - $propdoc: { - start: "[AST_Token] The first token of this node", - end: "[AST_Token] The last token of this node" - }, - _walk: function(visitor) { - return visitor._visit(this); - }, - walk: function(visitor) { - return this._walk(visitor); // not sure the indirection will be any help - } - }, null); - - AST_Node.warn_function = null; - AST_Node.warn = function(txt, props) { - if (AST_Node.warn_function) - AST_Node.warn_function(string_template(txt, props)); - }; - - /* -----[ statements ]----- */ - - var AST_Statement = DEFNODE("Statement", null, { - $documentation: "Base class of all statements", - }); - - var AST_Debugger = DEFNODE("Debugger", null, { - $documentation: "Represents a debugger statement", - }, AST_Statement); - - var AST_Directive = DEFNODE("Directive", "value quote", { - $documentation: "Represents a directive, like \"use strict\";", - $propdoc: { - value: "[string] The value of this directive as a plain string (it's not an AST_String!)", - quote: "[string] the original quote character" - }, - }, AST_Statement); - - var AST_SimpleStatement = DEFNODE("SimpleStatement", "body", { - $documentation: "A statement consisting of an expression, i.e. a = 1 + 2", - $propdoc: { - body: "[AST_Node] an expression node (should not be instanceof AST_Statement)" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.body._walk(visitor); - }); - } - }, AST_Statement); - - function walk_body(node, visitor) { - var body = node.body; - if (body instanceof AST_Node) { - body._walk(visitor); - } else for (var i = 0, len = body.length; i < len; i++) { - body[i]._walk(visitor); - } - } - - function clone_block_scope(deep) { - var clone = this._clone(deep); - if (this.block_scope) { - // TODO this is sometimes undefined during compression. - // But it should always have a value! - clone.block_scope = this.block_scope.clone(); - } - return clone; - } - - var AST_Block = DEFNODE("Block", "body block_scope", { - $documentation: "A body of statements (usually braced)", - $propdoc: { - body: "[AST_Statement*] an array of statements", - block_scope: "[AST_Scope] the block scope" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - walk_body(this, visitor); - }); - }, - clone: clone_block_scope - }, AST_Statement); - - var AST_BlockStatement = DEFNODE("BlockStatement", null, { - $documentation: "A block statement", - }, AST_Block); - - var AST_EmptyStatement = DEFNODE("EmptyStatement", null, { - $documentation: "The empty statement (empty block or simply a semicolon)" - }, AST_Statement); - - var AST_StatementWithBody = DEFNODE("StatementWithBody", "body", { - $documentation: "Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`", - $propdoc: { - body: "[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement" - } - }, AST_Statement); - - var AST_LabeledStatement = DEFNODE("LabeledStatement", "label", { - $documentation: "Statement with a label", - $propdoc: { - label: "[AST_Label] a label definition" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.label._walk(visitor); - this.body._walk(visitor); - }); - }, - clone: function(deep) { - var node = this._clone(deep); - if (deep) { - var label = node.label; - var def = this.label; - node.walk(new TreeWalker(function(node) { - if (node instanceof AST_LoopControl - && node.label && node.label.thedef === def) { - node.label.thedef = label; - label.references.push(node); - } - })); - } - return node; - } - }, AST_StatementWithBody); - - var AST_IterationStatement = DEFNODE("IterationStatement", "block_scope", { - $documentation: "Internal class. All loops inherit from it.", - $propdoc: { - block_scope: "[AST_Scope] the block scope for this iteration statement." - }, - clone: clone_block_scope - }, AST_StatementWithBody); - - var AST_DWLoop = DEFNODE("DWLoop", "condition", { - $documentation: "Base class for do/while statements", - $propdoc: { - condition: "[AST_Node] the loop condition. Should not be instanceof AST_Statement" - } - }, AST_IterationStatement); - - var AST_Do = DEFNODE("Do", null, { - $documentation: "A `do` statement", - _walk: function(visitor) { - return visitor._visit(this, function() { - this.body._walk(visitor); - this.condition._walk(visitor); - }); - } - }, AST_DWLoop); - - var AST_While = DEFNODE("While", null, { - $documentation: "A `while` statement", - _walk: function(visitor) { - return visitor._visit(this, function() { - this.condition._walk(visitor); - this.body._walk(visitor); - }); - } - }, AST_DWLoop); - - var AST_For = DEFNODE("For", "init condition step", { - $documentation: "A `for` statement", - $propdoc: { - init: "[AST_Node?] the `for` initialization code, or null if empty", - condition: "[AST_Node?] the `for` termination clause, or null if empty", - step: "[AST_Node?] the `for` update clause, or null if empty" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - if (this.init) this.init._walk(visitor); - if (this.condition) this.condition._walk(visitor); - if (this.step) this.step._walk(visitor); - this.body._walk(visitor); - }); - } - }, AST_IterationStatement); - - var AST_ForIn = DEFNODE("ForIn", "init object", { - $documentation: "A `for ... in` statement", - $propdoc: { - init: "[AST_Node] the `for/in` initialization code", - object: "[AST_Node] the object that we're looping through" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.init._walk(visitor); - this.object._walk(visitor); - this.body._walk(visitor); - }); - } - }, AST_IterationStatement); - - var AST_ForOf = DEFNODE("ForOf", "await", { - $documentation: "A `for ... of` statement", - }, AST_ForIn); - - var AST_With = DEFNODE("With", "expression", { - $documentation: "A `with` statement", - $propdoc: { - expression: "[AST_Node] the `with` expression" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - this.body._walk(visitor); - }); - } - }, AST_StatementWithBody); - - /* -----[ scope and functions ]----- */ - - var AST_Scope = DEFNODE("Scope", "variables functions uses_with uses_eval parent_scope enclosed cname", { - $documentation: "Base class for all statements introducing a lexical scope", - $propdoc: { - variables: "[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope", - functions: "[Object/S] like `variables`, but only lists function declarations", - uses_with: "[boolean/S] tells whether this scope uses the `with` statement", - uses_eval: "[boolean/S] tells whether this scope contains a direct call to the global `eval`", - parent_scope: "[AST_Scope?/S] link to the parent scope", - enclosed: "[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes", - cname: "[integer/S] current index for mangling variables (used internally by the mangler)", - }, - get_defun_scope: function() { - var self = this; - while (self.is_block_scope()) { - self = self.parent_scope; - } - return self; - }, - clone: function(deep) { - var node = this._clone(deep); - if (this.variables) node.variables = this.variables.clone(); - if (this.functions) node.functions = this.functions.clone(); - if (this.enclosed) node.enclosed = this.enclosed.slice(); - return node; - }, - pinned: function() { - return this.uses_eval || this.uses_with; - } - }, AST_Block); - - var AST_Toplevel = DEFNODE("Toplevel", "globals", { - $documentation: "The toplevel scope", - $propdoc: { - globals: "[Object/S] a map of name -> SymbolDef for all undeclared names", - }, - wrap_commonjs: function(name) { - var body = this.body; - var wrapped_tl = "(function(exports){'$ORIG';})(typeof " + name + "=='undefined'?(" + name + "={}):" + name + ");"; - wrapped_tl = parse(wrapped_tl); - wrapped_tl = wrapped_tl.transform(new TreeTransformer(function(node) { - if (node instanceof AST_Directive && node.value == "$ORIG") { - return MAP.splice(body); - } - })); - return wrapped_tl; - }, - wrap_enclose: function(args_values) { - if (typeof args_values != "string") args_values = ""; - var index = args_values.indexOf(":"); - if (index < 0) index = args_values.length; - var body = this.body; - return parse([ - "(function(", - args_values.slice(0, index), - '){"$ORIG"})(', - args_values.slice(index + 1), - ")" - ].join("")).transform(new TreeTransformer(function(node) { - if (node instanceof AST_Directive && node.value == "$ORIG") { - return MAP.splice(body); - } - })); - } - }, AST_Scope); - - var AST_Expansion = DEFNODE("Expansion", "expression", { - $documentation: "An expandible argument, such as ...rest, a splat, such as [1,2,...all], or an expansion in a variable declaration, such as var [first, ...rest] = list", - $propdoc: { - expression: "[AST_Node] the thing to be expanded" - }, - _walk: function(visitor) { - var self = this; - return visitor._visit(this, function() { - self.expression.walk(visitor); - }); - } - }); - - var AST_Lambda = DEFNODE("Lambda", "name argnames uses_arguments is_generator async", { - $documentation: "Base class for functions", - $propdoc: { - name: "[AST_SymbolDeclaration?] the name of this function", - argnames: "[AST_SymbolFunarg|AST_Destructuring|AST_Expansion|AST_DefaultAssign*] array of function arguments, destructurings, or expanding arguments", - uses_arguments: "[boolean/S] tells whether this function accesses the arguments array", - is_generator: "[boolean] is this a generator method", - async: "[boolean] is this method async", - }, - args_as_names: function () { - var out = []; - for (var i = 0; i < this.argnames.length; i++) { - if (this.argnames[i] instanceof AST_Destructuring) { - out = out.concat(this.argnames[i].all_symbols()); - } else { - out.push(this.argnames[i]); - } - } - return out; - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - if (this.name) this.name._walk(visitor); - var argnames = this.argnames; - for (var i = 0, len = argnames.length; i < len; i++) { - argnames[i]._walk(visitor); - } - walk_body(this, visitor); - }); - } - }, AST_Scope); - - var AST_Accessor = DEFNODE("Accessor", null, { - $documentation: "A setter/getter function. The `name` property is always null." - }, AST_Lambda); - - var AST_Function = DEFNODE("Function", "inlined", { - $documentation: "A function expression" - }, AST_Lambda); - - var AST_Arrow = DEFNODE("Arrow", "inlined", { - $documentation: "An ES6 Arrow function ((a) => b)" - }, AST_Lambda); - - var AST_Defun = DEFNODE("Defun", "inlined", { - $documentation: "A function definition" - }, AST_Lambda); - - /* -----[ DESTRUCTURING ]----- */ - var AST_Destructuring = DEFNODE("Destructuring", "names is_array", { - $documentation: "A destructuring of several names. Used in destructuring assignment and with destructuring function argument names", - $propdoc: { - "names": "[AST_Node*] Array of properties or elements", - "is_array": "[Boolean] Whether the destructuring represents an object or array" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.names.forEach(function(name) { - name._walk(visitor); - }); - }); - }, - all_symbols: function() { - var out = []; - this.walk(new TreeWalker(function (node) { - if (node instanceof AST_Symbol) { - out.push(node); - } - if (node instanceof AST_Expansion) { - out.push(node.expression); - } - })); - return out; - } - }); - - var AST_PrefixedTemplateString = DEFNODE("PrefixedTemplateString", "template_string prefix", { - $documentation: "A templatestring with a prefix, such as String.raw`foobarbaz`", - $propdoc: { - template_string: "[AST_TemplateString] The template string", - prefix: "[AST_SymbolRef|AST_PropAccess] The prefix, which can be a symbol such as `foo` or a dotted expression such as `String.raw`." - }, - _walk: function(visitor) { - this.prefix._walk(visitor); - this.template_string._walk(visitor); - } - }); - - var AST_TemplateString = DEFNODE("TemplateString", "segments", { - $documentation: "A template string literal", - $propdoc: { - segments: "[AST_Node*] One or more segments, starting with AST_TemplateSegment. AST_Node may follow AST_TemplateSegment, but each AST_Node must be followed by AST_TemplateSegment." - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.segments.forEach(function(seg) { - seg._walk(visitor); - }); - }); - } - }); - - var AST_TemplateSegment = DEFNODE("TemplateSegment", "value raw", { - $documentation: "A segment of a template string literal", - $propdoc: { - value: "Content of the segment", - raw: "Raw content of the segment" - } - }); - - /* -----[ JUMPS ]----- */ - - var AST_Jump = DEFNODE("Jump", null, { - $documentation: "Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)" - }, AST_Statement); - - var AST_Exit = DEFNODE("Exit", "value", { - $documentation: "Base class for “exits” (`return` and `throw`)", - $propdoc: { - value: "[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return" - }, - _walk: function(visitor) { - return visitor._visit(this, this.value && function() { - this.value._walk(visitor); - }); - } - }, AST_Jump); - - var AST_Return = DEFNODE("Return", null, { - $documentation: "A `return` statement" - }, AST_Exit); - - var AST_Throw = DEFNODE("Throw", null, { - $documentation: "A `throw` statement" - }, AST_Exit); - - var AST_LoopControl = DEFNODE("LoopControl", "label", { - $documentation: "Base class for loop control statements (`break` and `continue`)", - $propdoc: { - label: "[AST_LabelRef?] the label, or null if none", - }, - _walk: function(visitor) { - return visitor._visit(this, this.label && function() { - this.label._walk(visitor); - }); - } - }, AST_Jump); - - var AST_Break = DEFNODE("Break", null, { - $documentation: "A `break` statement" - }, AST_LoopControl); - - var AST_Continue = DEFNODE("Continue", null, { - $documentation: "A `continue` statement" - }, AST_LoopControl); - - /* -----[ IF ]----- */ - - var AST_If = DEFNODE("If", "condition alternative", { - $documentation: "A `if` statement", - $propdoc: { - condition: "[AST_Node] the `if` condition", - alternative: "[AST_Statement?] the `else` part, or null if not present" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.condition._walk(visitor); - this.body._walk(visitor); - if (this.alternative) this.alternative._walk(visitor); - }); - } - }, AST_StatementWithBody); - - /* -----[ SWITCH ]----- */ - - var AST_Switch = DEFNODE("Switch", "expression", { - $documentation: "A `switch` statement", - $propdoc: { - expression: "[AST_Node] the `switch` “discriminant”" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - walk_body(this, visitor); - }); - } - }, AST_Block); - - var AST_SwitchBranch = DEFNODE("SwitchBranch", null, { - $documentation: "Base class for `switch` branches", - }, AST_Block); - - var AST_Default = DEFNODE("Default", null, { - $documentation: "A `default` switch branch", - }, AST_SwitchBranch); - - var AST_Case = DEFNODE("Case", "expression", { - $documentation: "A `case` switch branch", - $propdoc: { - expression: "[AST_Node] the `case` expression" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - walk_body(this, visitor); - }); - } - }, AST_SwitchBranch); - - /* -----[ EXCEPTIONS ]----- */ - - var AST_Try = DEFNODE("Try", "bcatch bfinally", { - $documentation: "A `try` statement", - $propdoc: { - bcatch: "[AST_Catch?] the catch block, or null if not present", - bfinally: "[AST_Finally?] the finally block, or null if not present" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - walk_body(this, visitor); - if (this.bcatch) this.bcatch._walk(visitor); - if (this.bfinally) this.bfinally._walk(visitor); - }); - } - }, AST_Block); - - var AST_Catch = DEFNODE("Catch", "argname", { - $documentation: "A `catch` node; only makes sense as part of a `try` statement", - $propdoc: { - argname: "[AST_SymbolCatch|AST_Destructuring|AST_Expansion|AST_DefaultAssign] symbol for the exception" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - if (this.argname) this.argname._walk(visitor); - walk_body(this, visitor); - }); - } - }, AST_Block); - - var AST_Finally = DEFNODE("Finally", null, { - $documentation: "A `finally` node; only makes sense as part of a `try` statement" - }, AST_Block); - - /* -----[ VAR/CONST ]----- */ - - var AST_Definitions = DEFNODE("Definitions", "definitions", { - $documentation: "Base class for `var` or `const` nodes (variable declarations/initializations)", - $propdoc: { - definitions: "[AST_VarDef*] array of variable definitions" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - var definitions = this.definitions; - for (var i = 0, len = definitions.length; i < len; i++) { - definitions[i]._walk(visitor); - } - }); - } - }, AST_Statement); - - var AST_Var = DEFNODE("Var", null, { - $documentation: "A `var` statement" - }, AST_Definitions); - - var AST_Let = DEFNODE("Let", null, { - $documentation: "A `let` statement" - }, AST_Definitions); - - var AST_Const = DEFNODE("Const", null, { - $documentation: "A `const` statement" - }, AST_Definitions); - - var AST_NameMapping = DEFNODE("NameMapping", "foreign_name name", { - $documentation: "The part of the export/import statement that declare names from a module.", - $propdoc: { - foreign_name: "[AST_SymbolExportForeign|AST_SymbolImportForeign] The name being exported/imported (as specified in the module)", - name: "[AST_SymbolExport|AST_SymbolImport] The name as it is visible to this module." - }, - _walk: function (visitor) { - return visitor._visit(this, function() { - this.foreign_name._walk(visitor); - this.name._walk(visitor); - }); - } - }); - - var AST_Import = DEFNODE("Import", "imported_name imported_names module_name", { - $documentation: "An `import` statement", - $propdoc: { - imported_name: "[AST_SymbolImport] The name of the variable holding the module's default export.", - imported_names: "[AST_NameMapping*] The names of non-default imported variables", - module_name: "[AST_String] String literal describing where this module came from", - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - if (this.imported_name) { - this.imported_name._walk(visitor); - } - if (this.imported_names) { - this.imported_names.forEach(function(name_import) { - name_import._walk(visitor); - }); - } - this.module_name._walk(visitor); - }); - } - }); - - var AST_Export = DEFNODE("Export", "exported_definition exported_value is_default exported_names module_name", { - $documentation: "An `export` statement", - $propdoc: { - exported_definition: "[AST_Defun|AST_Definitions|AST_DefClass?] An exported definition", - exported_value: "[AST_Node?] An exported value", - exported_names: "[AST_NameMapping*?] List of exported names", - module_name: "[AST_String?] Name of the file to load exports from", - is_default: "[Boolean] Whether this is the default exported value of this module" - }, - _walk: function (visitor) { - visitor._visit(this, function () { - if (this.exported_definition) { - this.exported_definition._walk(visitor); - } - if (this.exported_value) { - this.exported_value._walk(visitor); - } - if (this.exported_names) { - this.exported_names.forEach(function(name_export) { - name_export._walk(visitor); - }); - } - if (this.module_name) { - this.module_name._walk(visitor); - } - }); - } - }, AST_Statement); - - var AST_VarDef = DEFNODE("VarDef", "name value", { - $documentation: "A variable declaration; only appears in a AST_Definitions node", - $propdoc: { - name: "[AST_Destructuring|AST_SymbolConst|AST_SymbolLet|AST_SymbolVar] name of the variable", - value: "[AST_Node?] initializer, or null of there's no initializer" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.name._walk(visitor); - if (this.value) this.value._walk(visitor); - }); - } - }); - - /* -----[ OTHER ]----- */ - - var AST_Call = DEFNODE("Call", "expression args", { - $documentation: "A function call expression", - $propdoc: { - expression: "[AST_Node] expression to invoke as function", - args: "[AST_Node*] array of arguments" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - var args = this.args; - for (var i = 0, len = args.length; i < len; i++) { - args[i]._walk(visitor); - } - this.expression._walk(visitor); - }); - } - }); - - var AST_New = DEFNODE("New", null, { - $documentation: "An object instantiation. Derives from a function call since it has exactly the same properties" - }, AST_Call); - - var AST_Sequence = DEFNODE("Sequence", "expressions", { - $documentation: "A sequence expression (comma-separated expressions)", - $propdoc: { - expressions: "[AST_Node*] array of expressions (at least two)" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expressions.forEach(function(node) { - node._walk(visitor); - }); - }); - } - }); - - var AST_PropAccess = DEFNODE("PropAccess", "expression property", { - $documentation: "Base class for property access expressions, i.e. `a.foo` or `a[\"foo\"]`", - $propdoc: { - expression: "[AST_Node] the “container” expression", - property: "[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it's an arbitrary AST_Node" - } - }); - - var AST_Dot = DEFNODE("Dot", null, { - $documentation: "A dotted property access expression", - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - }); - } - }, AST_PropAccess); - - var AST_Sub = DEFNODE("Sub", null, { - $documentation: "Index-style property access, i.e. `a[\"foo\"]`", - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - this.property._walk(visitor); - }); - } - }, AST_PropAccess); - - var AST_Unary = DEFNODE("Unary", "operator expression", { - $documentation: "Base class for unary expressions", - $propdoc: { - operator: "[string] the operator", - expression: "[AST_Node] expression that this unary operator applies to" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - }); - } - }); - - var AST_UnaryPrefix = DEFNODE("UnaryPrefix", null, { - $documentation: "Unary prefix expression, i.e. `typeof i` or `++i`" - }, AST_Unary); - - var AST_UnaryPostfix = DEFNODE("UnaryPostfix", null, { - $documentation: "Unary postfix expression, i.e. `i++`" - }, AST_Unary); - - var AST_Binary = DEFNODE("Binary", "operator left right", { - $documentation: "Binary expression, i.e. `a + b`", - $propdoc: { - left: "[AST_Node] left-hand side expression", - operator: "[string] the operator", - right: "[AST_Node] right-hand side expression" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.left._walk(visitor); - this.right._walk(visitor); - }); - } - }); - - var AST_Conditional = DEFNODE("Conditional", "condition consequent alternative", { - $documentation: "Conditional expression using the ternary operator, i.e. `a ? b : c`", - $propdoc: { - condition: "[AST_Node]", - consequent: "[AST_Node]", - alternative: "[AST_Node]" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.condition._walk(visitor); - this.consequent._walk(visitor); - this.alternative._walk(visitor); - }); - } - }); - - var AST_Assign = DEFNODE("Assign", null, { - $documentation: "An assignment expression — `a = b + 5`", - }, AST_Binary); - - var AST_DefaultAssign = DEFNODE("DefaultAssign", null, { - $documentation: "A default assignment expression like in `(a = 3) => a`" - }, AST_Binary); - - /* -----[ LITERALS ]----- */ - - var AST_Array = DEFNODE("Array", "elements", { - $documentation: "An array literal", - $propdoc: { - elements: "[AST_Node*] array of elements" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - var elements = this.elements; - for (var i = 0, len = elements.length; i < len; i++) { - elements[i]._walk(visitor); - } - }); - } - }); - - var AST_Object = DEFNODE("Object", "properties", { - $documentation: "An object literal", - $propdoc: { - properties: "[AST_ObjectProperty*] array of properties" - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - var properties = this.properties; - for (var i = 0, len = properties.length; i < len; i++) { - properties[i]._walk(visitor); - } - }); - } - }); - - var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value", { - $documentation: "Base class for literal object properties", - $propdoc: { - key: "[string|AST_Node] property name. For ObjectKeyVal this is a string. For getters, setters and computed property this is an AST_Node.", - value: "[AST_Node] property value. For getters and setters this is an AST_Accessor." - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - if (this.key instanceof AST_Node) - this.key._walk(visitor); - this.value._walk(visitor); - }); - } - }); - - var AST_ObjectKeyVal = DEFNODE("ObjectKeyVal", "quote", { - $documentation: "A key: value object property", - $propdoc: { - quote: "[string] the original quote character" - } - }, AST_ObjectProperty); - - var AST_ObjectSetter = DEFNODE("ObjectSetter", "quote static", { - $propdoc: { - quote: "[string|undefined] the original quote character, if any", - static: "[boolean] whether this is a static setter (classes only)" - }, - $documentation: "An object setter property", - }, AST_ObjectProperty); - - var AST_ObjectGetter = DEFNODE("ObjectGetter", "quote static", { - $propdoc: { - quote: "[string|undefined] the original quote character, if any", - static: "[boolean] whether this is a static getter (classes only)" - }, - $documentation: "An object getter property", - }, AST_ObjectProperty); - - var AST_ConciseMethod = DEFNODE("ConciseMethod", "quote static is_generator async", { - $propdoc: { - quote: "[string|undefined] the original quote character, if any", - static: "[boolean] is this method static (classes only)", - is_generator: "[boolean] is this a generator method", - async: "[boolean] is this method async", - }, - $documentation: "An ES6 concise method inside an object or class" - }, AST_ObjectProperty); - - var AST_Class = DEFNODE("Class", "name extends properties inlined", { - $propdoc: { - name: "[AST_SymbolClass|AST_SymbolDefClass?] optional class name.", - extends: "[AST_Node]? optional parent class", - properties: "[AST_ObjectProperty*] array of properties" - }, - $documentation: "An ES6 class", - _walk: function(visitor) { - return visitor._visit(this, function() { - if (this.name) { - this.name._walk(visitor); - } - if (this.extends) { - this.extends._walk(visitor); - } - this.properties.forEach(function(prop) { - prop._walk(visitor); - }); - }); - }, - }, AST_Scope); - - var AST_DefClass = DEFNODE("DefClass", null, { - $documentation: "A class definition", - }, AST_Class); - - var AST_ClassExpression = DEFNODE("ClassExpression", null, { - $documentation: "A class expression." - }, AST_Class); - - var AST_Symbol = DEFNODE("Symbol", "scope name thedef", { - $propdoc: { - name: "[string] name of this symbol", - scope: "[AST_Scope/S] the current scope (not necessarily the definition scope)", - thedef: "[SymbolDef/S] the definition of this symbol" - }, - $documentation: "Base class for all symbols" - }); - - var AST_NewTarget = DEFNODE("NewTarget", null, { - $documentation: "A reference to new.target" - }); - - var AST_SymbolDeclaration = DEFNODE("SymbolDeclaration", "init", { - $documentation: "A declaration symbol (symbol in var/const, function name or argument, symbol in catch)", - }, AST_Symbol); - - var AST_SymbolVar = DEFNODE("SymbolVar", null, { - $documentation: "Symbol defining a variable", - }, AST_SymbolDeclaration); - - var AST_SymbolBlockDeclaration = DEFNODE("SymbolBlockDeclaration", null, { - $documentation: "Base class for block-scoped declaration symbols" - }, AST_SymbolDeclaration); - - var AST_SymbolConst = DEFNODE("SymbolConst", null, { - $documentation: "A constant declaration" - }, AST_SymbolBlockDeclaration); - - var AST_SymbolLet = DEFNODE("SymbolLet", null, { - $documentation: "A block-scoped `let` declaration" - }, AST_SymbolBlockDeclaration); - - var AST_SymbolFunarg = DEFNODE("SymbolFunarg", null, { - $documentation: "Symbol naming a function argument", - }, AST_SymbolVar); - - var AST_SymbolDefun = DEFNODE("SymbolDefun", null, { - $documentation: "Symbol defining a function", - }, AST_SymbolDeclaration); - - var AST_SymbolMethod = DEFNODE("SymbolMethod", null, { - $documentation: "Symbol in an object defining a method", - }, AST_Symbol); - - var AST_SymbolLambda = DEFNODE("SymbolLambda", null, { - $documentation: "Symbol naming a function expression", - }, AST_SymbolDeclaration); - - var AST_SymbolDefClass = DEFNODE("SymbolDefClass", null, { - $documentation: "Symbol naming a class's name in a class declaration. Lexically scoped to its containing scope, and accessible within the class." - }, AST_SymbolBlockDeclaration); - - var AST_SymbolClass = DEFNODE("SymbolClass", null, { - $documentation: "Symbol naming a class's name. Lexically scoped to the class." - }, AST_SymbolDeclaration); - - var AST_SymbolCatch = DEFNODE("SymbolCatch", null, { - $documentation: "Symbol naming the exception in catch", - }, AST_SymbolBlockDeclaration); - - var AST_SymbolImport = DEFNODE("SymbolImport", null, { - $documentation: "Symbol referring to an imported name", - }, AST_SymbolBlockDeclaration); - - var AST_SymbolImportForeign = DEFNODE("SymbolImportForeign", null, { - $documentation: "A symbol imported from a module, but it is defined in the other module, and its real name is irrelevant for this module's purposes", - }, AST_Symbol); - - var AST_Label = DEFNODE("Label", "references", { - $documentation: "Symbol naming a label (declaration)", - $propdoc: { - references: "[AST_LoopControl*] a list of nodes referring to this label" - }, - initialize: function() { - this.references = []; - this.thedef = this; - } - }, AST_Symbol); - - var AST_SymbolRef = DEFNODE("SymbolRef", null, { - $documentation: "Reference to some symbol (not definition/declaration)", - }, AST_Symbol); - - var AST_SymbolExport = DEFNODE("SymbolExport", null, { - $documentation: "Symbol referring to a name to export", - }, AST_SymbolRef); - - var AST_SymbolExportForeign = DEFNODE("SymbolExportForeign", null, { - $documentation: "A symbol exported from this module, but it is used in the other module, and its real name is irrelevant for this module's purposes", - }, AST_Symbol); - - var AST_LabelRef = DEFNODE("LabelRef", null, { - $documentation: "Reference to a label symbol", - }, AST_Symbol); - - var AST_This = DEFNODE("This", null, { - $documentation: "The `this` symbol", - }, AST_Symbol); - - var AST_Super = DEFNODE("Super", null, { - $documentation: "The `super` symbol", - }, AST_This); - - var AST_Constant = DEFNODE("Constant", null, { - $documentation: "Base class for all constants", - getValue: function() { - return this.value; - } - }); - - var AST_String = DEFNODE("String", "value quote", { - $documentation: "A string literal", - $propdoc: { - value: "[string] the contents of this string", - quote: "[string] the original quote character" - } - }, AST_Constant); - - var AST_Number = DEFNODE("Number", "value literal", { - $documentation: "A number literal", - $propdoc: { - value: "[number] the numeric value", - literal: "[string] numeric value as string (optional)" - } - }, AST_Constant); - - var AST_RegExp = DEFNODE("RegExp", "value", { - $documentation: "A regexp literal", - $propdoc: { - value: "[RegExp] the actual regexp", - } - }, AST_Constant); - - var AST_Atom = DEFNODE("Atom", null, { - $documentation: "Base class for atoms", - }, AST_Constant); - - var AST_Null = DEFNODE("Null", null, { - $documentation: "The `null` atom", - value: null - }, AST_Atom); - - var AST_NaN = DEFNODE("NaN", null, { - $documentation: "The impossible value", - value: 0/0 - }, AST_Atom); - - var AST_Undefined = DEFNODE("Undefined", null, { - $documentation: "The `undefined` value", - value: (function() {}()) - }, AST_Atom); - - var AST_Hole = DEFNODE("Hole", null, { - $documentation: "A hole in an array", - value: (function() {}()) - }, AST_Atom); - - var AST_Infinity = DEFNODE("Infinity", null, { - $documentation: "The `Infinity` value", - value: 1/0 - }, AST_Atom); - - var AST_Boolean = DEFNODE("Boolean", null, { - $documentation: "Base class for booleans", - }, AST_Atom); - - var AST_False = DEFNODE("False", null, { - $documentation: "The `false` atom", - value: false - }, AST_Boolean); - - var AST_True = DEFNODE("True", null, { - $documentation: "The `true` atom", - value: true - }, AST_Boolean); - - var AST_Await = DEFNODE("Await", "expression", { - $documentation: "An `await` statement", - $propdoc: { - expression: "[AST_Node] the mandatory expression being awaited", - }, - _walk: function(visitor) { - return visitor._visit(this, function() { - this.expression._walk(visitor); - }); - } - }); - - var AST_Yield = DEFNODE("Yield", "expression is_star", { - $documentation: "A `yield` statement", - $propdoc: { - expression: "[AST_Node?] the value returned or thrown by this statement; could be null (representing undefined) but only when is_star is set to false", - is_star: "[Boolean] Whether this is a yield or yield* statement" - }, - _walk: function(visitor) { - return visitor._visit(this, this.expression && function() { - this.expression._walk(visitor); - }); - } - }); - - /* -----[ TreeWalker ]----- */ - - function TreeWalker(callback) { - this.visit = callback; - this.stack = []; - this.directives = Object.create(null); - } - TreeWalker.prototype = { - _visit: function(node, descend) { - this.push(node); - var ret = this.visit(node, descend ? function() { - descend.call(node); - } : noop); - if (!ret && descend) { - descend.call(node); - } - this.pop(); - return ret; - }, - parent: function(n) { - return this.stack[this.stack.length - 2 - (n || 0)]; - }, - push: function(node) { - if (node instanceof AST_Lambda) { - this.directives = Object.create(this.directives); - } else if (node instanceof AST_Directive && !this.directives[node.value]) { - this.directives[node.value] = node; - } else if (node instanceof AST_Class) { - this.directives = Object.create(this.directives); - if (!this.directives["use strict"]) { - this.directives["use strict"] = node; - } - } - this.stack.push(node); - }, - pop: function() { - var node = this.stack.pop(); - if (node instanceof AST_Lambda || node instanceof AST_Class) { - this.directives = Object.getPrototypeOf(this.directives); - } - }, - self: function() { - return this.stack[this.stack.length - 1]; - }, - find_parent: function(type) { - var stack = this.stack; - for (var i = stack.length; --i >= 0;) { - var x = stack[i]; - if (x instanceof type) return x; - } - }, - has_directive: function(type) { - var dir = this.directives[type]; - if (dir) return dir; - var node = this.stack[this.stack.length - 1]; - if (node instanceof AST_Scope && node.body) { - for (var i = 0; i < node.body.length; ++i) { - var st = node.body[i]; - if (!(st instanceof AST_Directive)) break; - if (st.value == type) return st; - } - } - }, - loopcontrol_target: function(node) { - var stack = this.stack; - if (node.label) for (var i = stack.length; --i >= 0;) { - var x = stack[i]; - if (x instanceof AST_LabeledStatement && x.label.name == node.label.name) - return x.body; - } else for (var i = stack.length; --i >= 0;) { - var x = stack[i]; - if (x instanceof AST_IterationStatement - || node instanceof AST_Break && x instanceof AST_Switch) - return x; - } - } - }; - - // Tree transformer helpers. - function TreeTransformer(before, after) { - TreeWalker.call(this); - this.before = before; - this.after = after; - } - TreeTransformer.prototype = new TreeWalker; - - var ast = /*#__PURE__*/Object.freeze({ - AST_Accessor: AST_Accessor, - AST_Array: AST_Array, - AST_Arrow: AST_Arrow, - AST_Assign: AST_Assign, - AST_Atom: AST_Atom, - AST_Await: AST_Await, - AST_Binary: AST_Binary, - AST_Block: AST_Block, - AST_BlockStatement: AST_BlockStatement, - AST_Boolean: AST_Boolean, - AST_Break: AST_Break, - AST_Call: AST_Call, - AST_Case: AST_Case, - AST_Catch: AST_Catch, - AST_Class: AST_Class, - AST_ClassExpression: AST_ClassExpression, - AST_ConciseMethod: AST_ConciseMethod, - AST_Conditional: AST_Conditional, - AST_Const: AST_Const, - AST_Constant: AST_Constant, - AST_Continue: AST_Continue, - AST_Debugger: AST_Debugger, - AST_Default: AST_Default, - AST_DefaultAssign: AST_DefaultAssign, - AST_DefClass: AST_DefClass, - AST_Definitions: AST_Definitions, - AST_Defun: AST_Defun, - AST_Destructuring: AST_Destructuring, - AST_Directive: AST_Directive, - AST_Do: AST_Do, - AST_Dot: AST_Dot, - AST_DWLoop: AST_DWLoop, - AST_EmptyStatement: AST_EmptyStatement, - AST_Exit: AST_Exit, - AST_Expansion: AST_Expansion, - AST_Export: AST_Export, - AST_False: AST_False, - AST_Finally: AST_Finally, - AST_For: AST_For, - AST_ForIn: AST_ForIn, - AST_ForOf: AST_ForOf, - AST_Function: AST_Function, - AST_Hole: AST_Hole, - AST_If: AST_If, - AST_Import: AST_Import, - AST_Infinity: AST_Infinity, - AST_IterationStatement: AST_IterationStatement, - AST_Jump: AST_Jump, - AST_Label: AST_Label, - AST_LabeledStatement: AST_LabeledStatement, - AST_LabelRef: AST_LabelRef, - AST_Lambda: AST_Lambda, - AST_Let: AST_Let, - AST_LoopControl: AST_LoopControl, - AST_NameMapping: AST_NameMapping, - AST_NaN: AST_NaN, - AST_New: AST_New, - AST_NewTarget: AST_NewTarget, - AST_Node: AST_Node, - AST_Null: AST_Null, - AST_Number: AST_Number, - AST_Object: AST_Object, - AST_ObjectGetter: AST_ObjectGetter, - AST_ObjectKeyVal: AST_ObjectKeyVal, - AST_ObjectProperty: AST_ObjectProperty, - AST_ObjectSetter: AST_ObjectSetter, - AST_PrefixedTemplateString: AST_PrefixedTemplateString, - AST_PropAccess: AST_PropAccess, - AST_RegExp: AST_RegExp, - AST_Return: AST_Return, - AST_Scope: AST_Scope, - AST_Sequence: AST_Sequence, - AST_SimpleStatement: AST_SimpleStatement, - AST_Statement: AST_Statement, - AST_StatementWithBody: AST_StatementWithBody, - AST_String: AST_String, - AST_Sub: AST_Sub, - AST_Super: AST_Super, - AST_Switch: AST_Switch, - AST_SwitchBranch: AST_SwitchBranch, - AST_Symbol: AST_Symbol, - AST_SymbolBlockDeclaration: AST_SymbolBlockDeclaration, - AST_SymbolCatch: AST_SymbolCatch, - AST_SymbolClass: AST_SymbolClass, - AST_SymbolConst: AST_SymbolConst, - AST_SymbolDeclaration: AST_SymbolDeclaration, - AST_SymbolDefClass: AST_SymbolDefClass, - AST_SymbolDefun: AST_SymbolDefun, - AST_SymbolExport: AST_SymbolExport, - AST_SymbolExportForeign: AST_SymbolExportForeign, - AST_SymbolFunarg: AST_SymbolFunarg, - AST_SymbolImport: AST_SymbolImport, - AST_SymbolImportForeign: AST_SymbolImportForeign, - AST_SymbolLambda: AST_SymbolLambda, - AST_SymbolLet: AST_SymbolLet, - AST_SymbolMethod: AST_SymbolMethod, - AST_SymbolRef: AST_SymbolRef, - AST_SymbolVar: AST_SymbolVar, - AST_TemplateSegment: AST_TemplateSegment, - AST_TemplateString: AST_TemplateString, - AST_This: AST_This, - AST_Throw: AST_Throw, - AST_Token: AST_Token, - AST_Toplevel: AST_Toplevel, - AST_True: AST_True, - AST_Try: AST_Try, - AST_Unary: AST_Unary, - AST_UnaryPostfix: AST_UnaryPostfix, - AST_UnaryPrefix: AST_UnaryPrefix, - AST_Undefined: AST_Undefined, - AST_Var: AST_Var, - AST_VarDef: AST_VarDef, - AST_While: AST_While, - AST_With: AST_With, - AST_Yield: AST_Yield, - TreeTransformer: TreeTransformer, - TreeWalker: TreeWalker, - walk_body: walk_body - }); - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - (function(undefined) { - - function _(node, descend) { - node.DEFMETHOD("transform", function(tw, in_list) { - var x, y; - tw.push(this); - if (tw.before) x = tw.before(this, descend, in_list); - if (x === undefined) { - x = this; - descend(x, tw); - if (tw.after) { - y = tw.after(x, in_list); - if (y !== undefined) x = y; - } - } - tw.pop(); - return x; - }); - } - - function do_list(list, tw) { - return MAP(list, function(node) { - return node.transform(tw, true); - }); - } - - _(AST_Node, noop); - - _(AST_LabeledStatement, function(self, tw) { - self.label = self.label.transform(tw); - self.body = self.body.transform(tw); - }); - - _(AST_SimpleStatement, function(self, tw) { - self.body = self.body.transform(tw); - }); - - _(AST_Block, function(self, tw) { - self.body = do_list(self.body, tw); - }); - - _(AST_Do, function(self, tw) { - self.body = self.body.transform(tw); - self.condition = self.condition.transform(tw); - }); - - _(AST_While, function(self, tw) { - self.condition = self.condition.transform(tw); - self.body = self.body.transform(tw); - }); - - _(AST_For, function(self, tw) { - if (self.init) self.init = self.init.transform(tw); - if (self.condition) self.condition = self.condition.transform(tw); - if (self.step) self.step = self.step.transform(tw); - self.body = self.body.transform(tw); - }); - - _(AST_ForIn, function(self, tw) { - self.init = self.init.transform(tw); - self.object = self.object.transform(tw); - self.body = self.body.transform(tw); - }); - - _(AST_With, function(self, tw) { - self.expression = self.expression.transform(tw); - self.body = self.body.transform(tw); - }); - - _(AST_Exit, function(self, tw) { - if (self.value) self.value = self.value.transform(tw); - }); - - _(AST_LoopControl, function(self, tw) { - if (self.label) self.label = self.label.transform(tw); - }); - - _(AST_If, function(self, tw) { - self.condition = self.condition.transform(tw); - self.body = self.body.transform(tw); - if (self.alternative) self.alternative = self.alternative.transform(tw); - }); - - _(AST_Switch, function(self, tw) { - self.expression = self.expression.transform(tw); - self.body = do_list(self.body, tw); - }); - - _(AST_Case, function(self, tw) { - self.expression = self.expression.transform(tw); - self.body = do_list(self.body, tw); - }); - - _(AST_Try, function(self, tw) { - self.body = do_list(self.body, tw); - if (self.bcatch) self.bcatch = self.bcatch.transform(tw); - if (self.bfinally) self.bfinally = self.bfinally.transform(tw); - }); - - _(AST_Catch, function(self, tw) { - if (self.argname) self.argname = self.argname.transform(tw); - self.body = do_list(self.body, tw); - }); - - _(AST_Definitions, function(self, tw) { - self.definitions = do_list(self.definitions, tw); - }); - - _(AST_VarDef, function(self, tw) { - self.name = self.name.transform(tw); - if (self.value) self.value = self.value.transform(tw); - }); - - _(AST_Destructuring, function(self, tw) { - self.names = do_list(self.names, tw); - }); - - _(AST_Lambda, function(self, tw) { - if (self.name) self.name = self.name.transform(tw); - self.argnames = do_list(self.argnames, tw); - if (self.body instanceof AST_Node) { - self.body = self.body.transform(tw); - } else { - self.body = do_list(self.body, tw); - } - }); - - _(AST_Call, function(self, tw) { - self.expression = self.expression.transform(tw); - self.args = do_list(self.args, tw); - }); - - _(AST_Sequence, function(self, tw) { - self.expressions = do_list(self.expressions, tw); - }); - - _(AST_Dot, function(self, tw) { - self.expression = self.expression.transform(tw); - }); - - _(AST_Sub, function(self, tw) { - self.expression = self.expression.transform(tw); - self.property = self.property.transform(tw); - }); - - _(AST_Yield, function(self, tw) { - if (self.expression) self.expression = self.expression.transform(tw); - }); - - _(AST_Await, function(self, tw) { - self.expression = self.expression.transform(tw); - }); - - _(AST_Unary, function(self, tw) { - self.expression = self.expression.transform(tw); - }); - - _(AST_Binary, function(self, tw) { - self.left = self.left.transform(tw); - self.right = self.right.transform(tw); - }); - - _(AST_Conditional, function(self, tw) { - self.condition = self.condition.transform(tw); - self.consequent = self.consequent.transform(tw); - self.alternative = self.alternative.transform(tw); - }); - - _(AST_Array, function(self, tw) { - self.elements = do_list(self.elements, tw); - }); - - _(AST_Object, function(self, tw) { - self.properties = do_list(self.properties, tw); - }); - - _(AST_ObjectProperty, function(self, tw) { - if (self.key instanceof AST_Node) { - self.key = self.key.transform(tw); - } - self.value = self.value.transform(tw); - }); - - _(AST_Class, function(self, tw) { - if (self.name) self.name = self.name.transform(tw); - if (self.extends) self.extends = self.extends.transform(tw); - self.properties = do_list(self.properties, tw); - }); - - _(AST_Expansion, function(self, tw) { - self.expression = self.expression.transform(tw); - }); - - _(AST_NameMapping, function(self, tw) { - self.foreign_name = self.foreign_name.transform(tw); - self.name = self.name.transform(tw); - }); - - _(AST_Import, function(self, tw) { - if (self.imported_name) self.imported_name = self.imported_name.transform(tw); - if (self.imported_names) do_list(self.imported_names, tw); - self.module_name = self.module_name.transform(tw); - }); - - _(AST_Export, function(self, tw) { - if (self.exported_definition) self.exported_definition = self.exported_definition.transform(tw); - if (self.exported_value) self.exported_value = self.exported_value.transform(tw); - if (self.exported_names) do_list(self.exported_names, tw); - if (self.module_name) self.module_name = self.module_name.transform(tw); - }); - - _(AST_TemplateString, function(self, tw) { - self.segments = do_list(self.segments, tw); - }); - - _(AST_PrefixedTemplateString, function(self, tw) { - self.prefix = self.prefix.transform(tw); - self.template_string = self.template_string.transform(tw); - }); - - })(); - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - var EXPECT_DIRECTIVE = /^$|[;{][\s\n]*$/; - - function is_some_comments(comment) { - // multiline comment - return comment.type == "comment2" && /@preserve|@license|@cc_on/i.test(comment.value); - } - - function OutputStream(options) { - - var readonly = !options; - options = defaults(options, { - ascii_only : false, - beautify : false, - braces : false, - comments : false, - ecma : 5, - ie8 : false, - indent_level : 4, - indent_start : 0, - inline_script : true, - keep_quoted_props: false, - max_line_len : false, - preamble : null, - quote_keys : false, - quote_style : 0, - safari10 : false, - semicolons : true, - shebang : true, - shorthand : undefined, - source_map : null, - webkit : false, - width : 80, - wrap_iife : false, - }, true); - - if (options.shorthand === undefined) - options.shorthand = options.ecma > 5; - - // Convert comment option to RegExp if neccessary and set up comments filter - var comment_filter = return_false; // Default case, throw all comments away - if (options.comments) { - var comments = options.comments; - if (typeof options.comments === "string" && /^\/.*\/[a-zA-Z]*$/.test(options.comments)) { - var regex_pos = options.comments.lastIndexOf("/"); - comments = new RegExp( - options.comments.substr(1, regex_pos - 1), - options.comments.substr(regex_pos + 1) - ); - } - if (comments instanceof RegExp) { - comment_filter = function(comment) { - return comment.type != "comment5" && comments.test(comment.value); - }; - } else if (typeof comments === "function") { - comment_filter = function(comment) { - return comment.type != "comment5" && comments(this, comment); - }; - } else if (comments === "some") { - comment_filter = is_some_comments; - } else { // NOTE includes "all" option - comment_filter = return_true; - } - } - - var indentation = 0; - var current_col = 0; - var current_line = 1; - var current_pos = 0; - var OUTPUT = ""; - - var to_utf8 = options.ascii_only ? function(str, identifier) { - if (options.ecma >= 6) { - str = str.replace(/[\ud800-\udbff][\udc00-\udfff]/g, function(ch) { - var code = get_full_char_code(ch, 0).toString(16); - return "\\u{" + code + "}"; - }); - } - return str.replace(/[\u0000-\u001f\u007f-\uffff]/g, function(ch) { - var code = ch.charCodeAt(0).toString(16); - if (code.length <= 2 && !identifier) { - while (code.length < 2) code = "0" + code; - return "\\x" + code; - } else { - while (code.length < 4) code = "0" + code; - return "\\u" + code; - } - }); - } : function(str) { - var s = ""; - for (var i = 0, len = str.length; i < len; i++) { - if (is_surrogate_pair_head(str[i]) && !is_surrogate_pair_tail(str[i + 1]) - || is_surrogate_pair_tail(str[i]) && !is_surrogate_pair_head(str[i - 1])) { - s += "\\u" + str.charCodeAt(i).toString(16); - } else { - s += str[i]; - } - } - return s; - }; - - function make_string(str, quote) { - var dq = 0, sq = 0; - str = str.replace(/[\\\b\f\n\r\v\t\x22\x27\u2028\u2029\0\ufeff]/g, - function(s, i) { - switch (s) { - case '"': ++dq; return '"'; - case "'": ++sq; return "'"; - case "\\": return "\\\\"; - case "\n": return "\\n"; - case "\r": return "\\r"; - case "\t": return "\\t"; - case "\b": return "\\b"; - case "\f": return "\\f"; - case "\x0B": return options.ie8 ? "\\x0B" : "\\v"; - case "\u2028": return "\\u2028"; - case "\u2029": return "\\u2029"; - case "\ufeff": return "\\ufeff"; - case "\0": - return /[0-9]/.test(get_full_char(str, i+1)) ? "\\x00" : "\\0"; - } - return s; - }); - function quote_single() { - return "'" + str.replace(/\x27/g, "\\'") + "'"; - } - function quote_double() { - return '"' + str.replace(/\x22/g, '\\"') + '"'; - } - function quote_template() { - return "`" + str.replace(/`/g, "\\`") + "`"; - } - str = to_utf8(str); - if (quote === "`") return quote_template(); - switch (options.quote_style) { - case 1: - return quote_single(); - case 2: - return quote_double(); - case 3: - return quote == "'" ? quote_single() : quote_double(); - default: - return dq > sq ? quote_single() : quote_double(); - } - } - - function encode_string(str, quote) { - var ret = make_string(str, quote); - if (options.inline_script) { - ret = ret.replace(/<\x2f(script)([>\/\t\n\f\r ])/gi, "<\\/$1$2"); - ret = ret.replace(/\x3c!--/g, "\\x3c!--"); - ret = ret.replace(/--\x3e/g, "--\\x3e"); - } - return ret; - } - - function make_name(name) { - name = name.toString(); - name = to_utf8(name, true); - return name; - } - - function make_indent(back) { - return repeat_string(" ", options.indent_start + indentation - back * options.indent_level); - } - - /* -----[ beautification/minification ]----- */ - - var has_parens = false; - var might_need_space = false; - var might_need_semicolon = false; - var might_add_newline = 0; - var need_newline_indented = false; - var need_space = false; - var newline_insert = -1; - var last = ""; - var mapping_token, mapping_name, mappings = options.source_map && []; - - var do_add_mapping = mappings ? function() { - mappings.forEach(function(mapping) { - try { - options.source_map.add( - mapping.token.file, - mapping.line, mapping.col, - mapping.token.line, mapping.token.col, - !mapping.name && mapping.token.type == "name" ? mapping.token.value : mapping.name - ); - } catch(ex) { - mapping.token.file != null && AST_Node.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]", { - file: mapping.token.file, - line: mapping.token.line, - col: mapping.token.col, - cline: mapping.line, - ccol: mapping.col, - name: mapping.name || "" - }); - } - }); - mappings = []; - } : noop; - - var ensure_line_len = options.max_line_len ? function() { - if (current_col > options.max_line_len) { - if (might_add_newline) { - var left = OUTPUT.slice(0, might_add_newline); - var right = OUTPUT.slice(might_add_newline); - if (mappings) { - var delta = right.length - current_col; - mappings.forEach(function(mapping) { - mapping.line++; - mapping.col += delta; - }); - } - OUTPUT = left + "\n" + right; - current_line++; - current_pos++; - current_col = right.length; - } - if (current_col > options.max_line_len) { - AST_Node.warn("Output exceeds {max_line_len} characters", options); - } - } - if (might_add_newline) { - might_add_newline = 0; - do_add_mapping(); - } - } : noop; - - var requireSemicolonChars = makePredicate("( [ + * / - , . `"); - - function print(str) { - str = String(str); - var ch = get_full_char(str, 0); - if (need_newline_indented && ch) { - need_newline_indented = false; - if (ch !== "\n") { - print("\n"); - indent(); - } - } - if (need_space && ch) { - need_space = false; - if (!/[\s;})]/.test(ch)) { - space(); - } - } - newline_insert = -1; - var prev = last.charAt(last.length - 1); - if (might_need_semicolon) { - might_need_semicolon = false; - - if (prev === ":" && ch === "}" || (!ch || !";}".includes(ch)) && prev !== ";") { - if (options.semicolons || requireSemicolonChars(ch)) { - OUTPUT += ";"; - current_col++; - current_pos++; - } else { - ensure_line_len(); - OUTPUT += "\n"; - current_pos++; - current_line++; - current_col = 0; - - if (/^\s+$/.test(str)) { - // reset the semicolon flag, since we didn't print one - // now and might still have to later - might_need_semicolon = true; - } - } - - if (!options.beautify) - might_need_space = false; - } - } - - if (might_need_space) { - if ((is_identifier_char(prev) - && (is_identifier_char(ch) || ch == "\\")) - || (ch == "/" && ch == prev) - || ((ch == "+" || ch == "-") && ch == last) - ) { - OUTPUT += " "; - current_col++; - current_pos++; - } - might_need_space = false; - } - - if (mapping_token) { - mappings.push({ - token: mapping_token, - name: mapping_name, - line: current_line, - col: current_col - }); - mapping_token = false; - if (!might_add_newline) do_add_mapping(); - } - - OUTPUT += str; - has_parens = str[str.length - 1] == "("; - current_pos += str.length; - var a = str.split(/\r?\n/), n = a.length - 1; - current_line += n; - current_col += a[0].length; - if (n > 0) { - ensure_line_len(); - current_col = a[n].length; - } - last = str; - } - - var star = function() { - print("*"); - }; - - var space = options.beautify ? function() { - print(" "); - } : function() { - might_need_space = true; - }; - - var indent = options.beautify ? function(half) { - if (options.beautify) { - print(make_indent(half ? 0.5 : 0)); - } - } : noop; - - var with_indent = options.beautify ? function(col, cont) { - if (col === true) col = next_indent(); - var save_indentation = indentation; - indentation = col; - var ret = cont(); - indentation = save_indentation; - return ret; - } : function(col, cont) { return cont(); }; - - var newline = options.beautify ? function() { - if (newline_insert < 0) return print("\n"); - if (OUTPUT[newline_insert] != "\n") { - OUTPUT = OUTPUT.slice(0, newline_insert) + "\n" + OUTPUT.slice(newline_insert); - current_pos++; - current_line++; - } - newline_insert++; - } : options.max_line_len ? function() { - ensure_line_len(); - might_add_newline = OUTPUT.length; - } : noop; - - var semicolon = options.beautify ? function() { - print(";"); - } : function() { - might_need_semicolon = true; - }; - - function force_semicolon() { - might_need_semicolon = false; - print(";"); - } - - function next_indent() { - return indentation + options.indent_level; - } - - function with_block(cont) { - var ret; - print("{"); - newline(); - with_indent(next_indent(), function() { - ret = cont(); - }); - indent(); - print("}"); - return ret; - } - - function with_parens(cont) { - print("("); - //XXX: still nice to have that for argument lists - //var ret = with_indent(current_col, cont); - var ret = cont(); - print(")"); - return ret; - } - - function with_square(cont) { - print("["); - //var ret = with_indent(current_col, cont); - var ret = cont(); - print("]"); - return ret; - } - - function comma() { - print(","); - space(); - } - - function colon() { - print(":"); - space(); - } - - var add_mapping = mappings ? function(token, name) { - mapping_token = token; - mapping_name = name; - } : noop; - - function get() { - if (might_add_newline) { - ensure_line_len(); - } - return OUTPUT; - } - - function has_nlb() { - var index = OUTPUT.lastIndexOf("\n"); - return /^ *$/.test(OUTPUT.slice(index + 1)); - } - - function prepend_comments(node) { - var self = this; - var start = node.start; - if (!start) return; - if (start.comments_before && start.comments_before._dumped === self) return; - var comments = start.comments_before; - if (!comments) { - comments = start.comments_before = []; - } - comments._dumped = self; - - if (node instanceof AST_Exit && node.value) { - var tw = new TreeWalker(function(node) { - var parent = tw.parent(); - if (parent instanceof AST_Exit - || parent instanceof AST_Binary && parent.left === node - || parent.TYPE == "Call" && parent.expression === node - || parent instanceof AST_Conditional && parent.condition === node - || parent instanceof AST_Dot && parent.expression === node - || parent instanceof AST_Sequence && parent.expressions[0] === node - || parent instanceof AST_Sub && parent.expression === node - || parent instanceof AST_UnaryPostfix) { - if (!node.start) return; - var text = node.start.comments_before; - if (text && text._dumped !== self) { - text._dumped = self; - comments = comments.concat(text); - } - } else { - return true; - } - }); - tw.push(node); - node.value.walk(tw); - } - - if (current_pos == 0) { - if (comments.length > 0 && options.shebang && comments[0].type == "comment5") { - print("#!" + comments.shift().value + "\n"); - indent(); - } - var preamble = options.preamble; - if (preamble) { - print(preamble.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g, "\n")); - } - } - - comments = comments.filter(comment_filter, node); - if (comments.length == 0) return; - var last_nlb = has_nlb(); - comments.forEach(function(c, i) { - if (!last_nlb) { - if (c.nlb) { - print("\n"); - indent(); - last_nlb = true; - } else if (i > 0) { - space(); - } - } - if (/comment[134]/.test(c.type)) { - print("//" + c.value.replace(/[@#]__PURE__/g, " ") + "\n"); - indent(); - last_nlb = true; - } else if (c.type == "comment2") { - print("/*" + c.value.replace(/[@#]__PURE__/g, " ") + "*/"); - last_nlb = false; - } - }); - if (!last_nlb) { - if (start.nlb) { - print("\n"); - indent(); - } else { - space(); - } - } - } - - function append_comments(node, tail) { - var self = this; - var token = node.end; - if (!token) return; - var comments = token[tail ? "comments_before" : "comments_after"]; - if (!comments || comments._dumped === self) return; - if (!(node instanceof AST_Statement || all(comments, function(c) { - return !/comment[134]/.test(c.type); - }))) return; - comments._dumped = self; - var insert = OUTPUT.length; - comments.filter(comment_filter, node).forEach(function(c, i) { - need_space = false; - if (need_newline_indented) { - print("\n"); - indent(); - need_newline_indented = false; - } else if (c.nlb && (i > 0 || !has_nlb())) { - print("\n"); - indent(); - } else if (i > 0 || !tail) { - space(); - } - if (/comment[134]/.test(c.type)) { - print("//" + c.value.replace(/[@#]__PURE__/g, " ")); - need_newline_indented = true; - } else if (c.type == "comment2") { - print("/*" + c.value.replace(/[@#]__PURE__/g, " ") + "*/"); - need_space = true; - } - }); - if (OUTPUT.length > insert) newline_insert = insert; - } - - var stack = []; - return { - get : get, - toString : get, - indent : indent, - indentation : function() { return indentation; }, - current_width : function() { return current_col - indentation; }, - should_break : function() { return options.width && this.current_width() >= options.width; }, - has_parens : function() { return has_parens; }, - newline : newline, - print : print, - star : star, - space : space, - comma : comma, - colon : colon, - last : function() { return last; }, - semicolon : semicolon, - force_semicolon : force_semicolon, - to_utf8 : to_utf8, - print_name : function(name) { print(make_name(name)); }, - print_string : function(str, quote, escape_directive) { - var encoded = encode_string(str, quote); - if (escape_directive === true && !encoded.includes("\\")) { - // Insert semicolons to break directive prologue - if (!EXPECT_DIRECTIVE.test(OUTPUT)) { - force_semicolon(); - } - force_semicolon(); - } - print(encoded); - }, - print_template_string_chars: function(str) { - var encoded = encode_string(str, "`").replace(/\${/g, "\\${"); - return print(encoded.substr(1, encoded.length - 2)); - }, - encode_string : encode_string, - next_indent : next_indent, - with_indent : with_indent, - with_block : with_block, - with_parens : with_parens, - with_square : with_square, - add_mapping : add_mapping, - option : function(opt) { return options[opt]; }, - prepend_comments: readonly ? noop : prepend_comments, - append_comments : readonly || comment_filter === return_false ? noop : append_comments, - line : function() { return current_line; }, - col : function() { return current_col; }, - pos : function() { return current_pos; }, - push_node : function(node) { stack.push(node); }, - pop_node : function() { return stack.pop(); }, - parent : function(n) { - return stack[stack.length - 2 - (n || 0)]; - } - }; - - } - - /* -----[ code generators ]----- */ - - (function() { - - /* -----[ utils ]----- */ - - function DEFPRINT(nodetype, generator) { - nodetype.DEFMETHOD("_codegen", generator); - } - - var in_directive = false; - var active_scope = null; - var use_asm = null; - - AST_Node.DEFMETHOD("print", function(stream, force_parens) { - var self = this, generator = self._codegen; - if (self instanceof AST_Scope) { - active_scope = self; - } else if (!use_asm && self instanceof AST_Directive && self.value == "use asm") { - use_asm = active_scope; - } - function doit() { - stream.prepend_comments(self); - self.add_source_map(stream); - generator(self, stream); - stream.append_comments(self); - } - stream.push_node(self); - if (force_parens || self.needs_parens(stream)) { - stream.with_parens(doit); - } else { - doit(); - } - stream.pop_node(); - if (self === use_asm) { - use_asm = null; - } - }); - AST_Node.DEFMETHOD("_print", AST_Node.prototype.print); - - AST_Node.DEFMETHOD("print_to_string", function(options) { - var s = OutputStream(options); - this.print(s); - return s.get(); - }); - - /* -----[ PARENTHESES ]----- */ - - function PARENS(nodetype, func) { - if (Array.isArray(nodetype)) { - nodetype.forEach(function(nodetype) { - PARENS(nodetype, func); - }); - } else { - nodetype.DEFMETHOD("needs_parens", func); - } - } - - PARENS(AST_Node, return_false); - - // a function expression needs parens around it when it's provably - // the first token to appear in a statement. - PARENS(AST_Function, function(output) { - if (!output.has_parens() && first_in_statement(output)) { - return true; - } - - if (output.option("webkit")) { - var p = output.parent(); - if (p instanceof AST_PropAccess && p.expression === this) { - return true; - } - } - - if (output.option("wrap_iife")) { - var p = output.parent(); - return p instanceof AST_Call && p.expression === this; - } - - return false; - }); - - PARENS(AST_Arrow, function(output) { - var p = output.parent(); - return p instanceof AST_PropAccess && p.expression === this; - }); - - // same goes for an object literal, because otherwise it would be - // interpreted as a block of code. - PARENS(AST_Object, function(output) { - return !output.has_parens() && first_in_statement(output); - }); - - PARENS(AST_ClassExpression, first_in_statement); - - PARENS(AST_Unary, function(output) { - var p = output.parent(); - return p instanceof AST_PropAccess && p.expression === this - || p instanceof AST_Call && p.expression === this - || p instanceof AST_Binary - && p.operator === "**" - && this instanceof AST_UnaryPrefix - && p.left === this - && this.operator !== "++" - && this.operator !== "--"; - }); - - PARENS(AST_Await, function(output) { - var p = output.parent(); - return p instanceof AST_PropAccess && p.expression === this - || p instanceof AST_Call && p.expression === this - || output.option("safari10") && p instanceof AST_UnaryPrefix; - }); - - PARENS(AST_Sequence, function(output) { - var p = output.parent(); - return p instanceof AST_Call // (foo, bar)() or foo(1, (2, 3), 4) - || p instanceof AST_Unary // !(foo, bar, baz) - || p instanceof AST_Binary // 1 + (2, 3) + 4 ==> 8 - || p instanceof AST_VarDef // var a = (1, 2), b = a + a; ==> b == 4 - || p instanceof AST_PropAccess // (1, {foo:2}).foo or (1, {foo:2})["foo"] ==> 2 - || p instanceof AST_Array // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ] - || p instanceof AST_ObjectProperty // { foo: (1, 2) }.foo ==> 2 - || p instanceof AST_Conditional /* (false, true) ? (a = 10, b = 20) : (c = 30) - * ==> 20 (side effect, set a := 10 and b := 20) */ - || p instanceof AST_Arrow // x => (x, x) - || p instanceof AST_DefaultAssign // x => (x = (0, function(){})) - || p instanceof AST_Expansion // [...(a, b)] - || p instanceof AST_ForOf && this === p.object // for (e of (foo, bar)) {} - || p instanceof AST_Yield // yield (foo, bar) - || p instanceof AST_Export // export default (foo, bar) - ; - }); - - PARENS(AST_Binary, function(output) { - var p = output.parent(); - // (foo && bar)() - if (p instanceof AST_Call && p.expression === this) - return true; - // typeof (foo && bar) - if (p instanceof AST_Unary) - return true; - // (foo && bar)["prop"], (foo && bar).prop - if (p instanceof AST_PropAccess && p.expression === this) - return true; - // this deals with precedence: 3 * (2 + 1) - if (p instanceof AST_Binary) { - var po = p.operator, pp = PRECEDENCE[po]; - var so = this.operator, sp = PRECEDENCE[so]; - if (pp > sp - || (pp == sp - && (this === p.right || po == "**"))) { - return true; - } - } - }); - - PARENS(AST_Yield, function(output) { - var p = output.parent(); - // (yield 1) + (yield 2) - // a = yield 3 - if (p instanceof AST_Binary && p.operator !== "=") - return true; - // (yield 1)() - // new (yield 1)() - if (p instanceof AST_Call && p.expression === this) - return true; - // (yield 1) ? yield 2 : yield 3 - if (p instanceof AST_Conditional && p.condition === this) - return true; - // -(yield 4) - if (p instanceof AST_Unary) - return true; - // (yield x).foo - // (yield x)['foo'] - if (p instanceof AST_PropAccess && p.expression === this) - return true; - }); - - PARENS(AST_PropAccess, function(output) { - var p = output.parent(); - if (p instanceof AST_New && p.expression === this) { - // i.e. new (foo.bar().baz) - // - // if there's one call into this subtree, then we need - // parens around it too, otherwise the call will be - // interpreted as passing the arguments to the upper New - // expression. - var parens = false; - this.walk(new TreeWalker(function(node) { - if (parens || node instanceof AST_Scope) return true; - if (node instanceof AST_Call) { - parens = true; - return true; - } - })); - return parens; - } - }); - - PARENS(AST_Call, function(output) { - var p = output.parent(), p1; - if (p instanceof AST_New && p.expression === this - || p instanceof AST_Export && p.is_default && this.expression instanceof AST_Function) - return true; - - // workaround for Safari bug. - // https://bugs.webkit.org/show_bug.cgi?id=123506 - return this.expression instanceof AST_Function - && p instanceof AST_PropAccess - && p.expression === this - && (p1 = output.parent(1)) instanceof AST_Assign - && p1.left === p; - }); - - PARENS(AST_New, function(output) { - var p = output.parent(); - if (!need_constructor_parens(this, output) - && (p instanceof AST_PropAccess // (new Date).getTime(), (new Date)["getTime"]() - || p instanceof AST_Call && p.expression === this)) // (new foo)(bar) - return true; - }); - - PARENS(AST_Number, function(output) { - var p = output.parent(); - if (p instanceof AST_PropAccess && p.expression === this) { - var value = this.getValue(); - if (value < 0 || /^0/.test(make_num(value))) { - return true; - } - } - }); - - PARENS([ AST_Assign, AST_Conditional ], function(output) { - var p = output.parent(); - // !(a = false) → true - if (p instanceof AST_Unary) - return true; - // 1 + (a = 2) + 3 → 6, side effect setting a = 2 - if (p instanceof AST_Binary && !(p instanceof AST_Assign)) - return true; - // (a = func)() —or— new (a = Object)() - if (p instanceof AST_Call && p.expression === this) - return true; - // (a = foo) ? bar : baz - if (p instanceof AST_Conditional && p.condition === this) - return true; - // (a = foo)["prop"] —or— (a = foo).prop - if (p instanceof AST_PropAccess && p.expression === this) - return true; - // ({a, b} = {a: 1, b: 2}), a destructuring assignment - if (this instanceof AST_Assign && this.left instanceof AST_Destructuring && this.left.is_array === false) - return true; - }); - - /* -----[ PRINTERS ]----- */ - - DEFPRINT(AST_Directive, function(self, output) { - output.print_string(self.value, self.quote); - output.semicolon(); - }); - - DEFPRINT(AST_Expansion, function (self, output) { - output.print("..."); - self.expression.print(output); - }); - - DEFPRINT(AST_Destructuring, function (self, output) { - output.print(self.is_array ? "[" : "{"); - var len = self.names.length; - self.names.forEach(function (name, i) { - if (i > 0) output.comma(); - name.print(output); - // If the final element is a hole, we need to make sure it - // doesn't look like a trailing comma, by inserting an actual - // trailing comma. - if (i == len - 1 && name instanceof AST_Hole) output.comma(); - }); - output.print(self.is_array ? "]" : "}"); - }); - - DEFPRINT(AST_Debugger, function(self, output) { - output.print("debugger"); - output.semicolon(); - }); - - /* -----[ statements ]----- */ - - function display_body(body, is_toplevel, output, allow_directives) { - var last = body.length - 1; - in_directive = allow_directives; - body.forEach(function(stmt, i) { - if (in_directive === true && !(stmt instanceof AST_Directive || - stmt instanceof AST_EmptyStatement || - (stmt instanceof AST_SimpleStatement && stmt.body instanceof AST_String) - )) { - in_directive = false; - } - if (!(stmt instanceof AST_EmptyStatement)) { - output.indent(); - stmt.print(output); - if (!(i == last && is_toplevel)) { - output.newline(); - if (is_toplevel) output.newline(); - } - } - if (in_directive === true && - stmt instanceof AST_SimpleStatement && - stmt.body instanceof AST_String - ) { - in_directive = false; - } - }); - in_directive = false; - } - - AST_StatementWithBody.DEFMETHOD("_do_print_body", function(output) { - force_statement(this.body, output); - }); - - DEFPRINT(AST_Statement, function(self, output) { - self.body.print(output); - output.semicolon(); - }); - DEFPRINT(AST_Toplevel, function(self, output) { - display_body(self.body, true, output, true); - output.print(""); - }); - DEFPRINT(AST_LabeledStatement, function(self, output) { - self.label.print(output); - output.colon(); - self.body.print(output); - }); - DEFPRINT(AST_SimpleStatement, function(self, output) { - self.body.print(output); - output.semicolon(); - }); - function print_braced_empty(self, output) { - output.print("{"); - output.with_indent(output.next_indent(), function() { - output.append_comments(self, true); - }); - output.print("}"); - } - function print_braced(self, output, allow_directives) { - if (self.body.length > 0) { - output.with_block(function() { - display_body(self.body, false, output, allow_directives); - }); - } else print_braced_empty(self, output); - } - DEFPRINT(AST_BlockStatement, function(self, output) { - print_braced(self, output); - }); - DEFPRINT(AST_EmptyStatement, function(self, output) { - output.semicolon(); - }); - DEFPRINT(AST_Do, function(self, output) { - output.print("do"); - output.space(); - make_block(self.body, output); - output.space(); - output.print("while"); - output.space(); - output.with_parens(function() { - self.condition.print(output); - }); - output.semicolon(); - }); - DEFPRINT(AST_While, function(self, output) { - output.print("while"); - output.space(); - output.with_parens(function() { - self.condition.print(output); - }); - output.space(); - self._do_print_body(output); - }); - DEFPRINT(AST_For, function(self, output) { - output.print("for"); - output.space(); - output.with_parens(function() { - if (self.init) { - if (self.init instanceof AST_Definitions) { - self.init.print(output); - } else { - parenthesize_for_noin(self.init, output, true); - } - output.print(";"); - output.space(); - } else { - output.print(";"); - } - if (self.condition) { - self.condition.print(output); - output.print(";"); - output.space(); - } else { - output.print(";"); - } - if (self.step) { - self.step.print(output); - } - }); - output.space(); - self._do_print_body(output); - }); - DEFPRINT(AST_ForIn, function(self, output) { - output.print("for"); - if (self.await) { - output.space(); - output.print("await"); - } - output.space(); - output.with_parens(function() { - self.init.print(output); - output.space(); - output.print(self instanceof AST_ForOf ? "of" : "in"); - output.space(); - self.object.print(output); - }); - output.space(); - self._do_print_body(output); - }); - DEFPRINT(AST_With, function(self, output) { - output.print("with"); - output.space(); - output.with_parens(function() { - self.expression.print(output); - }); - output.space(); - self._do_print_body(output); - }); - - /* -----[ functions ]----- */ - AST_Lambda.DEFMETHOD("_do_print", function(output, nokeyword) { - var self = this; - if (!nokeyword) { - if (self.async) { - output.print("async"); - output.space(); - } - output.print("function"); - if (self.is_generator) { - output.star(); - } - if (self.name) { - output.space(); - } - } - if (self.name instanceof AST_Symbol) { - self.name.print(output); - } else if (nokeyword && self.name instanceof AST_Node) { - output.with_square(function() { - self.name.print(output); // Computed method name - }); - } - output.with_parens(function() { - self.argnames.forEach(function(arg, i) { - if (i) output.comma(); - arg.print(output); - }); - }); - output.space(); - print_braced(self, output, true); - }); - DEFPRINT(AST_Lambda, function(self, output) { - self._do_print(output); - }); - - DEFPRINT(AST_PrefixedTemplateString, function(self, output) { - var tag = self.prefix; - var parenthesize_tag = tag instanceof AST_Arrow - || tag instanceof AST_Binary - || tag instanceof AST_Conditional - || tag instanceof AST_Sequence - || tag instanceof AST_Unary; - if (parenthesize_tag) output.print("("); - self.prefix.print(output); - if (parenthesize_tag) output.print(")"); - self.template_string.print(output); - }); - DEFPRINT(AST_TemplateString, function(self, output) { - var is_tagged = output.parent() instanceof AST_PrefixedTemplateString; - - output.print("`"); - for (var i = 0; i < self.segments.length; i++) { - if (!(self.segments[i] instanceof AST_TemplateSegment)) { - output.print("${"); - self.segments[i].print(output); - output.print("}"); - } else if (is_tagged) { - output.print(self.segments[i].raw); - } else { - output.print_template_string_chars(self.segments[i].value); - } - } - output.print("`"); - }); - - AST_Arrow.DEFMETHOD("_do_print", function(output) { - var self = this; - var parent = output.parent(); - var needs_parens = parent instanceof AST_Binary || - parent instanceof AST_Unary || - (parent instanceof AST_Call && self === parent.expression); - if (needs_parens) { output.print("("); } - if (self.async) { - output.print("async"); - output.space(); - } - if (self.argnames.length === 1 && self.argnames[0] instanceof AST_Symbol) { - self.argnames[0].print(output); - } else { - output.with_parens(function() { - self.argnames.forEach(function(arg, i) { - if (i) output.comma(); - arg.print(output); - }); - }); - } - output.space(); - output.print("=>"); - output.space(); - if (self.body instanceof AST_Node) { - self.body.print(output); - } else { - print_braced(self, output); - } - if (needs_parens) { output.print(")"); } - }); - - /* -----[ exits ]----- */ - AST_Exit.DEFMETHOD("_do_print", function(output, kind) { - output.print(kind); - if (this.value) { - output.space(); - this.value.print(output); - } - output.semicolon(); - }); - DEFPRINT(AST_Return, function(self, output) { - self._do_print(output, "return"); - }); - DEFPRINT(AST_Throw, function(self, output) { - self._do_print(output, "throw"); - }); - - /* -----[ yield ]----- */ - - DEFPRINT(AST_Yield, function(self, output) { - var star = self.is_star ? "*" : ""; - output.print("yield" + star); - if (self.expression) { - output.space(); - self.expression.print(output); - } - }); - - DEFPRINT(AST_Await, function(self, output) { - output.print("await"); - output.space(); - var e = self.expression; - var parens = !( - e instanceof AST_Call - || e instanceof AST_SymbolRef - || e instanceof AST_PropAccess - || e instanceof AST_Unary - || e instanceof AST_Constant - ); - if (parens) output.print("("); - self.expression.print(output); - if (parens) output.print(")"); - }); - - /* -----[ loop control ]----- */ - AST_LoopControl.DEFMETHOD("_do_print", function(output, kind) { - output.print(kind); - if (this.label) { - output.space(); - this.label.print(output); - } - output.semicolon(); - }); - DEFPRINT(AST_Break, function(self, output) { - self._do_print(output, "break"); - }); - DEFPRINT(AST_Continue, function(self, output) { - self._do_print(output, "continue"); - }); - - /* -----[ if ]----- */ - function make_then(self, output) { - var b = self.body; - if (output.option("braces") - || output.option("ie8") && b instanceof AST_Do) - return make_block(b, output); - // The squeezer replaces "block"-s that contain only a single - // statement with the statement itself; technically, the AST - // is correct, but this can create problems when we output an - // IF having an ELSE clause where the THEN clause ends in an - // IF *without* an ELSE block (then the outer ELSE would refer - // to the inner IF). This function checks for this case and - // adds the block braces if needed. - if (!b) return output.force_semicolon(); - while (true) { - if (b instanceof AST_If) { - if (!b.alternative) { - make_block(self.body, output); - return; - } - b = b.alternative; - } else if (b instanceof AST_StatementWithBody) { - b = b.body; - } else break; - } - force_statement(self.body, output); - } - DEFPRINT(AST_If, function(self, output) { - output.print("if"); - output.space(); - output.with_parens(function() { - self.condition.print(output); - }); - output.space(); - if (self.alternative) { - make_then(self, output); - output.space(); - output.print("else"); - output.space(); - if (self.alternative instanceof AST_If) - self.alternative.print(output); - else - force_statement(self.alternative, output); - } else { - self._do_print_body(output); - } - }); - - /* -----[ switch ]----- */ - DEFPRINT(AST_Switch, function(self, output) { - output.print("switch"); - output.space(); - output.with_parens(function() { - self.expression.print(output); - }); - output.space(); - var last = self.body.length - 1; - if (last < 0) print_braced_empty(self, output); - else output.with_block(function() { - self.body.forEach(function(branch, i) { - output.indent(true); - branch.print(output); - if (i < last && branch.body.length > 0) - output.newline(); - }); - }); - }); - AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output) { - output.newline(); - this.body.forEach(function(stmt) { - output.indent(); - stmt.print(output); - output.newline(); - }); - }); - DEFPRINT(AST_Default, function(self, output) { - output.print("default:"); - self._do_print_body(output); - }); - DEFPRINT(AST_Case, function(self, output) { - output.print("case"); - output.space(); - self.expression.print(output); - output.print(":"); - self._do_print_body(output); - }); - - /* -----[ exceptions ]----- */ - DEFPRINT(AST_Try, function(self, output) { - output.print("try"); - output.space(); - print_braced(self, output); - if (self.bcatch) { - output.space(); - self.bcatch.print(output); - } - if (self.bfinally) { - output.space(); - self.bfinally.print(output); - } - }); - DEFPRINT(AST_Catch, function(self, output) { - output.print("catch"); - if (self.argname) { - output.space(); - output.with_parens(function() { - self.argname.print(output); - }); - } - output.space(); - print_braced(self, output); - }); - DEFPRINT(AST_Finally, function(self, output) { - output.print("finally"); - output.space(); - print_braced(self, output); - }); - - /* -----[ var/const ]----- */ - AST_Definitions.DEFMETHOD("_do_print", function(output, kind) { - output.print(kind); - output.space(); - this.definitions.forEach(function(def, i) { - if (i) output.comma(); - def.print(output); - }); - var p = output.parent(); - var in_for = p instanceof AST_For || p instanceof AST_ForIn; - var output_semicolon = !in_for || p && p.init !== this; - if (output_semicolon) - output.semicolon(); - }); - DEFPRINT(AST_Let, function(self, output) { - self._do_print(output, "let"); - }); - DEFPRINT(AST_Var, function(self, output) { - self._do_print(output, "var"); - }); - DEFPRINT(AST_Const, function(self, output) { - self._do_print(output, "const"); - }); - DEFPRINT(AST_Import, function(self, output) { - output.print("import"); - output.space(); - if (self.imported_name) { - self.imported_name.print(output); - } - if (self.imported_name && self.imported_names) { - output.print(","); - output.space(); - } - if (self.imported_names) { - if (self.imported_names.length === 1 && self.imported_names[0].foreign_name.name === "*") { - self.imported_names[0].print(output); - } else { - output.print("{"); - self.imported_names.forEach(function (name_import, i) { - output.space(); - name_import.print(output); - if (i < self.imported_names.length - 1) { - output.print(","); - } - }); - output.space(); - output.print("}"); - } - } - if (self.imported_name || self.imported_names) { - output.space(); - output.print("from"); - output.space(); - } - self.module_name.print(output); - output.semicolon(); - }); - - DEFPRINT(AST_NameMapping, function(self, output) { - var is_import = output.parent() instanceof AST_Import; - var definition = self.name.definition(); - var names_are_different = - (definition && definition.mangled_name || self.name.name) !== - self.foreign_name.name; - if (names_are_different) { - if (is_import) { - output.print(self.foreign_name.name); - } else { - self.name.print(output); - } - output.space(); - output.print("as"); - output.space(); - if (is_import) { - self.name.print(output); - } else { - output.print(self.foreign_name.name); - } - } else { - self.name.print(output); - } - }); - - DEFPRINT(AST_Export, function(self, output) { - output.print("export"); - output.space(); - if (self.is_default) { - output.print("default"); - output.space(); - } - if (self.exported_names) { - if (self.exported_names.length === 1 && self.exported_names[0].name.name === "*") { - self.exported_names[0].print(output); - } else { - output.print("{"); - self.exported_names.forEach(function(name_export, i) { - output.space(); - name_export.print(output); - if (i < self.exported_names.length - 1) { - output.print(","); - } - }); - output.space(); - output.print("}"); - } - } else if (self.exported_value) { - self.exported_value.print(output); - } else if (self.exported_definition) { - self.exported_definition.print(output); - if (self.exported_definition instanceof AST_Definitions) return; - } - if (self.module_name) { - output.space(); - output.print("from"); - output.space(); - self.module_name.print(output); - } - if (self.exported_value - && !(self.exported_value instanceof AST_Defun || - self.exported_value instanceof AST_Function || - self.exported_value instanceof AST_Class) - || self.module_name - || self.exported_names - ) { - output.semicolon(); - } - }); - - function parenthesize_for_noin(node, output, noin) { - var parens = false; - // need to take some precautions here: - // https://github.com/mishoo/UglifyJS2/issues/60 - if (noin) node.walk(new TreeWalker(function(node) { - if (parens || node instanceof AST_Scope) return true; - if (node instanceof AST_Binary && node.operator == "in") { - parens = true; - return true; - } - })); - node.print(output, parens); - } - - DEFPRINT(AST_VarDef, function(self, output) { - self.name.print(output); - if (self.value) { - output.space(); - output.print("="); - output.space(); - var p = output.parent(1); - var noin = p instanceof AST_For || p instanceof AST_ForIn; - parenthesize_for_noin(self.value, output, noin); - } - }); - - /* -----[ other expressions ]----- */ - DEFPRINT(AST_Call, function(self, output) { - self.expression.print(output); - if (self instanceof AST_New && !need_constructor_parens(self, output)) - return; - if (self.expression instanceof AST_Call || self.expression instanceof AST_Lambda) { - output.add_mapping(self.start); - } - output.with_parens(function() { - self.args.forEach(function(expr, i) { - if (i) output.comma(); - expr.print(output); - }); - }); - }); - DEFPRINT(AST_New, function(self, output) { - output.print("new"); - output.space(); - AST_Call.prototype._codegen(self, output); - }); - - AST_Sequence.DEFMETHOD("_do_print", function(output) { - this.expressions.forEach(function(node, index) { - if (index > 0) { - output.comma(); - if (output.should_break()) { - output.newline(); - output.indent(); - } - } - node.print(output); - }); - }); - DEFPRINT(AST_Sequence, function(self, output) { - self._do_print(output); - // var p = output.parent(); - // if (p instanceof AST_Statement) { - // output.with_indent(output.next_indent(), function(){ - // self._do_print(output); - // }); - // } else { - // self._do_print(output); - // } - }); - DEFPRINT(AST_Dot, function(self, output) { - var expr = self.expression; - expr.print(output); - var prop = self.property; - if (output.option("ie8") && RESERVED_WORDS(prop)) { - output.print("["); - output.add_mapping(self.end); - output.print_string(prop); - output.print("]"); - } else { - if (expr instanceof AST_Number && expr.getValue() >= 0) { - if (!/[xa-f.)]/i.test(output.last())) { - output.print("."); - } - } - output.print("."); - // the name after dot would be mapped about here. - output.add_mapping(self.end); - output.print_name(prop); - } - }); - DEFPRINT(AST_Sub, function(self, output) { - self.expression.print(output); - output.print("["); - self.property.print(output); - output.print("]"); - }); - DEFPRINT(AST_UnaryPrefix, function(self, output) { - var op = self.operator; - output.print(op); - if (/^[a-z]/i.test(op) - || (/[+-]$/.test(op) - && self.expression instanceof AST_UnaryPrefix - && /^[+-]/.test(self.expression.operator))) { - output.space(); - } - self.expression.print(output); - }); - DEFPRINT(AST_UnaryPostfix, function(self, output) { - self.expression.print(output); - output.print(self.operator); - }); - DEFPRINT(AST_Binary, function(self, output) { - var op = self.operator; - self.left.print(output); - if (op[0] == ">" /* ">>" ">>>" ">" ">=" */ - && self.left instanceof AST_UnaryPostfix - && self.left.operator == "--") { - // space is mandatory to avoid outputting --> - output.print(" "); - } else { - // the space is optional depending on "beautify" - output.space(); - } - output.print(op); - if ((op == "<" || op == "<<") - && self.right instanceof AST_UnaryPrefix - && self.right.operator == "!" - && self.right.expression instanceof AST_UnaryPrefix - && self.right.expression.operator == "--") { - // space is mandatory to avoid outputting x ? y : false - if (self.left.operator == "||") { - var lr = self.left.right.evaluate(compressor); - if (!lr) return make_node(AST_Conditional, self, { - condition: self.left.left, - consequent: self.right, - alternative: self.left.right - }).optimize(compressor); - } - break; - case "||": - var ll = self.left.truthy ? true : self.left.falsy ? false : self.left.evaluate(compressor); - if (!ll) { - compressor.warn("Condition left of || always false [{file}:{line},{col}]", self.start); - return make_sequence(self, [ self.left, self.right ]).optimize(compressor); - } else if (!(ll instanceof AST_Node)) { - compressor.warn("Condition left of || always true [{file}:{line},{col}]", self.start); - return maintain_this_binding(compressor.parent(), compressor.self(), self.left).optimize(compressor); - } - var rr = self.right.evaluate(compressor); - if (!rr) { - var parent = compressor.parent(); - if (parent.operator == "||" && parent.left === compressor.self() || compressor.in_boolean_context()) { - compressor.warn("Dropping side-effect-free || [{file}:{line},{col}]", self.start); - return self.left.optimize(compressor); - } - } else if (!(rr instanceof AST_Node)) { - if (compressor.in_boolean_context()) { - compressor.warn("Boolean || always true [{file}:{line},{col}]", self.start); - return make_sequence(self, [ - self.left, - make_node(AST_True, self) - ]).optimize(compressor); - } else self.truthy = true; - } - if (self.left.operator == "&&") { - var lr = self.left.right.evaluate(compressor); - if (lr && !(lr instanceof AST_Node)) return make_node(AST_Conditional, self, { - condition: self.left.left, - consequent: self.left.right, - alternative: self.right - }).optimize(compressor); - } - break; - } - var associative = true; - switch (self.operator) { - case "+": - // "foo" + ("bar" + x) => "foobar" + x - if (self.left instanceof AST_Constant - && self.right instanceof AST_Binary - && self.right.operator == "+" - && self.right.left instanceof AST_Constant - && self.right.is_string(compressor)) { - self = make_node(AST_Binary, self, { - operator: "+", - left: make_node(AST_String, self.left, { - value: "" + self.left.getValue() + self.right.left.getValue(), - start: self.left.start, - end: self.right.left.end - }), - right: self.right.right - }); - } - // (x + "foo") + "bar" => x + "foobar" - if (self.right instanceof AST_Constant - && self.left instanceof AST_Binary - && self.left.operator == "+" - && self.left.right instanceof AST_Constant - && self.left.is_string(compressor)) { - self = make_node(AST_Binary, self, { - operator: "+", - left: self.left.left, - right: make_node(AST_String, self.right, { - value: "" + self.left.right.getValue() + self.right.getValue(), - start: self.left.right.start, - end: self.right.end - }) - }); - } - // (x + "foo") + ("bar" + y) => (x + "foobar") + y - if (self.left instanceof AST_Binary - && self.left.operator == "+" - && self.left.is_string(compressor) - && self.left.right instanceof AST_Constant - && self.right instanceof AST_Binary - && self.right.operator == "+" - && self.right.left instanceof AST_Constant - && self.right.is_string(compressor)) { - self = make_node(AST_Binary, self, { - operator: "+", - left: make_node(AST_Binary, self.left, { - operator: "+", - left: self.left.left, - right: make_node(AST_String, self.left.right, { - value: "" + self.left.right.getValue() + self.right.left.getValue(), - start: self.left.right.start, - end: self.right.left.end - }) - }), - right: self.right.right - }); - } - // a + -b => a - b - if (self.right instanceof AST_UnaryPrefix - && self.right.operator == "-" - && self.left.is_number(compressor)) { - self = make_node(AST_Binary, self, { - operator: "-", - left: self.left, - right: self.right.expression - }); - break; - } - // -a + b => b - a - if (self.left instanceof AST_UnaryPrefix - && self.left.operator == "-" - && reversible() - && self.right.is_number(compressor)) { - self = make_node(AST_Binary, self, { - operator: "-", - left: self.right, - right: self.left.expression - }); - break; - } - case "*": - associative = compressor.option("unsafe_math"); - case "&": - case "|": - case "^": - // a + +b => +b + a - if (self.left.is_number(compressor) - && self.right.is_number(compressor) - && reversible() - && !(self.left instanceof AST_Binary - && self.left.operator != self.operator - && PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) { - var reversed = make_node(AST_Binary, self, { - operator: self.operator, - left: self.right, - right: self.left - }); - if (self.right instanceof AST_Constant - && !(self.left instanceof AST_Constant)) { - self = best_of(compressor, reversed, self); - } else { - self = best_of(compressor, self, reversed); - } - } - if (associative && self.is_number(compressor)) { - // a + (b + c) => (a + b) + c - if (self.right instanceof AST_Binary - && self.right.operator == self.operator) { - self = make_node(AST_Binary, self, { - operator: self.operator, - left: make_node(AST_Binary, self.left, { - operator: self.operator, - left: self.left, - right: self.right.left, - start: self.left.start, - end: self.right.left.end - }), - right: self.right.right - }); - } - // (n + 2) + 3 => 5 + n - // (2 * n) * 3 => 6 + n - if (self.right instanceof AST_Constant - && self.left instanceof AST_Binary - && self.left.operator == self.operator) { - if (self.left.left instanceof AST_Constant) { - self = make_node(AST_Binary, self, { - operator: self.operator, - left: make_node(AST_Binary, self.left, { - operator: self.operator, - left: self.left.left, - right: self.right, - start: self.left.left.start, - end: self.right.end - }), - right: self.left.right - }); - } else if (self.left.right instanceof AST_Constant) { - self = make_node(AST_Binary, self, { - operator: self.operator, - left: make_node(AST_Binary, self.left, { - operator: self.operator, - left: self.left.right, - right: self.right, - start: self.left.right.start, - end: self.right.end - }), - right: self.left.left - }); - } - } - // (a | 1) | (2 | d) => (3 | a) | b - if (self.left instanceof AST_Binary - && self.left.operator == self.operator - && self.left.right instanceof AST_Constant - && self.right instanceof AST_Binary - && self.right.operator == self.operator - && self.right.left instanceof AST_Constant) { - self = make_node(AST_Binary, self, { - operator: self.operator, - left: make_node(AST_Binary, self.left, { - operator: self.operator, - left: make_node(AST_Binary, self.left.left, { - operator: self.operator, - left: self.left.right, - right: self.right.left, - start: self.left.right.start, - end: self.right.left.end - }), - right: self.left.left - }), - right: self.right.right - }); - } - } - } - } - // x && (y && z) ==> x && y && z - // x || (y || z) ==> x || y || z - // x + ("y" + z) ==> x + "y" + z - // "x" + (y + "z")==> "x" + y + "z" - if (self.right instanceof AST_Binary - && self.right.operator == self.operator - && (lazy_op(self.operator) - || (self.operator == "+" - && (self.right.left.is_string(compressor) - || (self.left.is_string(compressor) - && self.right.right.is_string(compressor))))) - ) { - self.left = make_node(AST_Binary, self.left, { - operator : self.operator, - left : self.left, - right : self.right.left - }); - self.right = self.right.right; - return self.transform(compressor); - } - var ev = self.evaluate(compressor); - if (ev !== self) { - ev = make_node_from_constant(ev, self).optimize(compressor); - return best_of(compressor, ev, self); - } - return self; - }); - - def_optimize(AST_SymbolExport, function(self, compressor) { - return self; - }); - - function recursive_ref(compressor, def) { - var node; - for (var i = 0; node = compressor.parent(i); i++) { - if (node instanceof AST_Lambda) { - var name = node.name; - if (name && name.definition() === def) break; - } - } - return node; - } - - function within_array_or_object_literal(compressor) { - var node, level = 0; - while (node = compressor.parent(level++)) { - if (node instanceof AST_Statement) return false; - if (node instanceof AST_Array - || node instanceof AST_ObjectKeyVal - || node instanceof AST_Object) { - return true; - } - } - return false; - } - - def_optimize(AST_SymbolRef, function(self, compressor) { - if (!compressor.option("ie8") - && is_undeclared_ref(self) - && (!self.scope.uses_with || !compressor.find_parent(AST_With))) { - switch (self.name) { - case "undefined": - return make_node(AST_Undefined, self).optimize(compressor); - case "NaN": - return make_node(AST_NaN, self).optimize(compressor); - case "Infinity": - return make_node(AST_Infinity, self).optimize(compressor); - } - } - var parent = compressor.parent(); - if (compressor.option("reduce_vars") && is_lhs(self, parent) !== self) { - var d = self.definition(); - if (compressor.top_retain && d.global && compressor.top_retain(d)) { - d.fixed = false; - d.should_replace = false; - d.single_use = false; - return self; - } - var fixed = self.fixed_value(); - var single_use = d.single_use - && !(parent instanceof AST_Call && parent.is_expr_pure(compressor)); - if (single_use && (fixed instanceof AST_Lambda || fixed instanceof AST_Class)) { - if (retain_top_func(fixed, compressor)) { - single_use = false; - } else if (d.scope !== self.scope - && (!compressor.option("reduce_funcs") && fixed instanceof AST_Lambda - || d.escaped == 1 - || fixed.inlined - || within_array_or_object_literal(compressor))) { - single_use = false; - } else if (recursive_ref(compressor, d)) { - single_use = false; - } else if (d.scope !== self.scope || d.orig[0] instanceof AST_SymbolFunarg) { - single_use = fixed.is_constant_expression(self.scope); - if (single_use == "f") { - var scope = self.scope; - do { - if (scope instanceof AST_Defun || is_func_expr(scope)) { - scope.inlined = true; - } - } while (scope = scope.parent_scope); - } - } - } - if (single_use && fixed) { - if (fixed instanceof AST_DefClass) { - fixed = make_node(AST_ClassExpression, fixed, fixed); - } - if (fixed instanceof AST_Defun) { - fixed._squeezed = true; - fixed = make_node(AST_Function, fixed, fixed); - } - var value; - if (d.recursive_refs > 0 && fixed.name instanceof AST_SymbolDefun) { - value = fixed.clone(true); - var defun_def = value.name.definition(); - var lambda_def = value.variables.get(value.name.name); - var name = lambda_def && lambda_def.orig[0]; - if (!(name instanceof AST_SymbolLambda)) { - name = make_node(AST_SymbolLambda, value.name, value.name); - name.scope = value; - value.name = name; - lambda_def = value.def_function(name); - } - value.walk(new TreeWalker(function(node) { - if (node instanceof AST_SymbolRef && node.definition() === defun_def) { - node.thedef = lambda_def; - lambda_def.references.push(node); - } - })); - } else { - value = fixed.optimize(compressor); - if (value === fixed) value = fixed.clone(true); - } - return value; - } - if (fixed && d.should_replace === undefined) { - var init; - if (fixed instanceof AST_This) { - if (!(d.orig[0] instanceof AST_SymbolFunarg) - && all(d.references, function(ref) { - return d.scope === ref.scope; - })) { - init = fixed; - } - } else { - var ev = fixed.evaluate(compressor); - if (ev !== fixed && (compressor.option("unsafe_regexp") || !(ev instanceof RegExp))) { - init = make_node_from_constant(ev, fixed); - } - } - if (init) { - var value_length = init.optimize(compressor).print_to_string().length; - var fn; - if (has_symbol_ref(fixed)) { - fn = function() { - var result = init.optimize(compressor); - return result === init ? result.clone(true) : result; - }; - } else { - value_length = Math.min(value_length, fixed.print_to_string().length); - fn = function() { - var result = best_of_expression(init.optimize(compressor), fixed); - return result === init || result === fixed ? result.clone(true) : result; - }; - } - var name_length = d.name.length; - var overhead = 0; - if (compressor.option("unused") && !compressor.exposed(d)) { - overhead = (name_length + 2 + value_length) / (d.references.length - d.assignments); - } - d.should_replace = value_length <= name_length + overhead ? fn : false; - } else { - d.should_replace = false; - } - } - if (d.should_replace) { - return d.should_replace(); - } - } - return self; - - function has_symbol_ref(value) { - var found; - value.walk(new TreeWalker(function(node) { - if (node instanceof AST_SymbolRef) found = true; - if (found) return true; - })); - return found; - } - }); - - function is_atomic(lhs, self) { - return lhs instanceof AST_SymbolRef || lhs.TYPE === self.TYPE; - } - - def_optimize(AST_Undefined, function(self, compressor) { - if (compressor.option("unsafe_undefined")) { - var undef = find_variable(compressor, "undefined"); - if (undef) { - var ref = make_node(AST_SymbolRef, self, { - name : "undefined", - scope : undef.scope, - thedef : undef - }); - ref.is_undefined = true; - return ref; - } - } - var lhs = is_lhs(compressor.self(), compressor.parent()); - if (lhs && is_atomic(lhs, self)) return self; - return make_node(AST_UnaryPrefix, self, { - operator: "void", - expression: make_node(AST_Number, self, { - value: 0 - }) - }); - }); - - def_optimize(AST_Infinity, function(self, compressor) { - var lhs = is_lhs(compressor.self(), compressor.parent()); - if (lhs && is_atomic(lhs, self)) return self; - if (compressor.option("keep_infinity") - && !(lhs && !is_atomic(lhs, self)) - && !find_variable(compressor, "Infinity")) - return self; - return make_node(AST_Binary, self, { - operator: "/", - left: make_node(AST_Number, self, { - value: 1 - }), - right: make_node(AST_Number, self, { - value: 0 - }) - }); - }); - - def_optimize(AST_NaN, function(self, compressor) { - var lhs = is_lhs(compressor.self(), compressor.parent()); - if (lhs && !is_atomic(lhs, self) - || find_variable(compressor, "NaN")) { - return make_node(AST_Binary, self, { - operator: "/", - left: make_node(AST_Number, self, { - value: 0 - }), - right: make_node(AST_Number, self, { - value: 0 - }) - }); - } - return self; - }); - - function is_reachable(self, defs) { - var reachable = false; - var find_ref = new TreeWalker(function(node) { - if (reachable) return true; - if (node instanceof AST_SymbolRef && member(node.definition(), defs)) { - return reachable = true; - } - }); - var scan_scope = new TreeWalker(function(node) { - if (reachable) return true; - if (node instanceof AST_Scope && node !== self) { - var parent = scan_scope.parent(); - if (parent instanceof AST_Call && parent.expression === node) return; - node.walk(find_ref); - return true; - } - }); - self.walk(scan_scope); - return reachable; - } - - var ASSIGN_OPS = [ "+", "-", "/", "*", "%", ">>", "<<", ">>>", "|", "^", "&" ]; - var ASSIGN_OPS_COMMUTATIVE = [ "*", "|", "^", "&" ]; - def_optimize(AST_Assign, function(self, compressor) { - var def; - if (compressor.option("dead_code") - && self.left instanceof AST_SymbolRef - && (def = self.left.definition()).scope === compressor.find_parent(AST_Lambda)) { - var level = 0, node, parent = self; - do { - node = parent; - parent = compressor.parent(level++); - if (parent instanceof AST_Exit) { - if (in_try(level, parent)) break; - if (is_reachable(def.scope, [ def ])) break; - if (self.operator == "=") return self.right; - def.fixed = false; - return make_node(AST_Binary, self, { - operator: self.operator.slice(0, -1), - left: self.left, - right: self.right - }).optimize(compressor); - } - } while (parent instanceof AST_Binary && parent.right === node - || parent instanceof AST_Sequence && parent.tail_node() === node); - } - self = self.lift_sequences(compressor); - if (self.operator == "=" && self.left instanceof AST_SymbolRef && self.right instanceof AST_Binary) { - // x = expr1 OP expr2 - if (self.right.left instanceof AST_SymbolRef - && self.right.left.name == self.left.name - && member(self.right.operator, ASSIGN_OPS)) { - // x = x - 2 ---> x -= 2 - self.operator = self.right.operator + "="; - self.right = self.right.right; - } else if (self.right.right instanceof AST_SymbolRef - && self.right.right.name == self.left.name - && member(self.right.operator, ASSIGN_OPS_COMMUTATIVE) - && !self.right.left.has_side_effects(compressor)) { - // x = 2 & x ---> x &= 2 - self.operator = self.right.operator + "="; - self.right = self.right.left; - } - } - return self; - - function in_try(level, node) { - var right = self.right; - self.right = make_node(AST_Null, right); - var may_throw = node.may_throw(compressor); - self.right = right; - var scope = self.left.definition().scope; - var parent; - while ((parent = compressor.parent(level++)) !== scope) { - if (parent instanceof AST_Try) { - if (parent.bfinally) return true; - if (may_throw && parent.bcatch) return true; - } - } - } - }); - - def_optimize(AST_DefaultAssign, function(self, compressor) { - if (!compressor.option("evaluate")) { - return self; - } - var evaluateRight = self.right.evaluate(compressor); - - // `[x = undefined] = foo` ---> `[x] = foo` - if (evaluateRight === undefined) { - self = self.left; - } else if (evaluateRight !== self.right) { - evaluateRight = make_node_from_constant(evaluateRight, self.right); - self.right = best_of_expression(evaluateRight, self.right); - } - - return self; - }); - - def_optimize(AST_Conditional, function(self, compressor) { - if (!compressor.option("conditionals")) return self; - // This looks like lift_sequences(), should probably be under "sequences" - if (self.condition instanceof AST_Sequence) { - var expressions = self.condition.expressions.slice(); - self.condition = expressions.pop(); - expressions.push(self); - return make_sequence(self, expressions); - } - var cond = self.condition.evaluate(compressor); - if (cond !== self.condition) { - if (cond) { - compressor.warn("Condition always true [{file}:{line},{col}]", self.start); - return maintain_this_binding(compressor.parent(), compressor.self(), self.consequent); - } else { - compressor.warn("Condition always false [{file}:{line},{col}]", self.start); - return maintain_this_binding(compressor.parent(), compressor.self(), self.alternative); - } - } - var negated = cond.negate(compressor, first_in_statement(compressor)); - if (best_of(compressor, cond, negated) === negated) { - self = make_node(AST_Conditional, self, { - condition: negated, - consequent: self.alternative, - alternative: self.consequent - }); - } - var condition = self.condition; - var consequent = self.consequent; - var alternative = self.alternative; - // x?x:y --> x||y - if (condition instanceof AST_SymbolRef - && consequent instanceof AST_SymbolRef - && condition.definition() === consequent.definition()) { - return make_node(AST_Binary, self, { - operator: "||", - left: condition, - right: alternative - }); - } - // if (foo) exp = something; else exp = something_else; - // | - // v - // exp = foo ? something : something_else; - if (consequent instanceof AST_Assign - && alternative instanceof AST_Assign - && consequent.operator == alternative.operator - && consequent.left.equivalent_to(alternative.left) - && (!self.condition.has_side_effects(compressor) - || consequent.operator == "=" - && !consequent.left.has_side_effects(compressor))) { - return make_node(AST_Assign, self, { - operator: consequent.operator, - left: consequent.left, - right: make_node(AST_Conditional, self, { - condition: self.condition, - consequent: consequent.right, - alternative: alternative.right - }) - }); - } - // x ? y(a) : y(b) --> y(x ? a : b) - var arg_index; - if (consequent instanceof AST_Call - && alternative.TYPE === consequent.TYPE - && consequent.args.length > 0 - && consequent.args.length == alternative.args.length - && consequent.expression.equivalent_to(alternative.expression) - && !self.condition.has_side_effects(compressor) - && !consequent.expression.has_side_effects(compressor) - && typeof (arg_index = single_arg_diff()) == "number") { - var node = consequent.clone(); - node.args[arg_index] = make_node(AST_Conditional, self, { - condition: self.condition, - consequent: consequent.args[arg_index], - alternative: alternative.args[arg_index] - }); - return node; - } - // x?y?z:a:a --> x&&y?z:a - if (consequent instanceof AST_Conditional - && consequent.alternative.equivalent_to(alternative)) { - return make_node(AST_Conditional, self, { - condition: make_node(AST_Binary, self, { - left: self.condition, - operator: "&&", - right: consequent.condition - }), - consequent: consequent.consequent, - alternative: alternative - }); - } - // x ? y : y --> x, y - if (consequent.equivalent_to(alternative)) { - return make_sequence(self, [ - self.condition, - consequent - ]).optimize(compressor); - } - // x ? y || z : z --> x && y || z - if (consequent instanceof AST_Binary - && consequent.operator == "||" - && consequent.right.equivalent_to(alternative)) { - return make_node(AST_Binary, self, { - operator: "||", - left: make_node(AST_Binary, self, { - operator: "&&", - left: self.condition, - right: consequent.left - }), - right: alternative - }).optimize(compressor); - } - var in_bool = compressor.in_boolean_context(); - if (is_true(self.consequent)) { - if (is_false(self.alternative)) { - // c ? true : false ---> !!c - return booleanize(self.condition); - } - // c ? true : x ---> !!c || x - return make_node(AST_Binary, self, { - operator: "||", - left: booleanize(self.condition), - right: self.alternative - }); - } - if (is_false(self.consequent)) { - if (is_true(self.alternative)) { - // c ? false : true ---> !c - return booleanize(self.condition.negate(compressor)); - } - // c ? false : x ---> !c && x - return make_node(AST_Binary, self, { - operator: "&&", - left: booleanize(self.condition.negate(compressor)), - right: self.alternative - }); - } - if (is_true(self.alternative)) { - // c ? x : true ---> !c || x - return make_node(AST_Binary, self, { - operator: "||", - left: booleanize(self.condition.negate(compressor)), - right: self.consequent - }); - } - if (is_false(self.alternative)) { - // c ? x : false ---> !!c && x - return make_node(AST_Binary, self, { - operator: "&&", - left: booleanize(self.condition), - right: self.consequent - }); - } - - return self; - - function booleanize(node) { - if (node.is_boolean()) return node; - // !!expression - return make_node(AST_UnaryPrefix, node, { - operator: "!", - expression: node.negate(compressor) - }); - } - - // AST_True or !0 - function is_true(node) { - return node instanceof AST_True - || in_bool - && node instanceof AST_Constant - && node.getValue() - || (node instanceof AST_UnaryPrefix - && node.operator == "!" - && node.expression instanceof AST_Constant - && !node.expression.getValue()); - } - // AST_False or !1 - function is_false(node) { - return node instanceof AST_False - || in_bool - && node instanceof AST_Constant - && !node.getValue() - || (node instanceof AST_UnaryPrefix - && node.operator == "!" - && node.expression instanceof AST_Constant - && node.expression.getValue()); - } - - function single_arg_diff() { - var a = consequent.args; - var b = alternative.args; - for (var i = 0, len = a.length; i < len; i++) { - if (a[i] instanceof AST_Expansion) return; - if (!a[i].equivalent_to(b[i])) { - if (b[i] instanceof AST_Expansion) return; - for (var j = i + 1; j < len; j++) { - if (a[j] instanceof AST_Expansion) return; - if (!a[j].equivalent_to(b[j])) return; - } - return i; - } - } - } - }); - - def_optimize(AST_Boolean, function(self, compressor) { - if (compressor.in_boolean_context()) return make_node(AST_Number, self, { - value: +self.value - }); - var p = compressor.parent(); - if (compressor.option("booleans_as_integers")) { - if (p instanceof AST_Binary && (p.operator == "===" || p.operator == "!==")) { - p.operator = p.operator.replace(/=$/, ""); - } - return make_node(AST_Number, self, { - value: +self.value - }); - } - if (compressor.option("booleans")) { - if (p instanceof AST_Binary && (p.operator == "==" - || p.operator == "!=")) { - compressor.warn("Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]", { - operator : p.operator, - value : self.value, - file : p.start.file, - line : p.start.line, - col : p.start.col, - }); - return make_node(AST_Number, self, { - value: +self.value - }); - } - return make_node(AST_UnaryPrefix, self, { - operator: "!", - expression: make_node(AST_Number, self, { - value: 1 - self.value - }) - }); - } - return self; - }); - - function safe_to_flatten(value, compressor) { - if (value instanceof AST_SymbolRef) { - value = value.fixed_value(); - } - if (!value) return false; - return !(value instanceof AST_Lambda || value instanceof AST_Class) - || compressor.parent() instanceof AST_New - || !value.contains_this(); - } - - def_optimize(AST_Sub, function(self, compressor) { - var expr = self.expression; - var prop = self.property; - if (compressor.option("properties")) { - var key = prop.evaluate(compressor); - if (key !== prop) { - if (typeof key == "string") { - if (key == "undefined") { - key = undefined; - } else { - var value = parseFloat(key); - if (value.toString() == key) { - key = value; - } - } - } - prop = self.property = best_of_expression(prop, make_node_from_constant(key, prop).transform(compressor)); - var property = "" + key; - if (is_identifier_string(property) - && property.length <= prop.print_to_string().length + 1) { - return make_node(AST_Dot, self, { - expression: expr, - property: property - }).optimize(compressor); - } - } - } - var fn; - OPT_ARGUMENTS: if (compressor.option("arguments") - && expr instanceof AST_SymbolRef - && expr.name == "arguments" - && expr.definition().orig.length == 1 - && (fn = expr.scope) instanceof AST_Lambda - && fn.uses_arguments - && !(fn instanceof AST_Arrow) - && prop instanceof AST_Number) { - var index = prop.getValue(); - var params = Object.create(null); - var argnames = fn.argnames; - for (var n = 0; n < argnames.length; n++) { - if (!(argnames[n] instanceof AST_SymbolFunarg)) { - break OPT_ARGUMENTS; // destructuring parameter - bail - } - var param = argnames[n].name; - if (param in params) { - break OPT_ARGUMENTS; // duplicate parameter - bail - } - params[param] = true; - } - var argname = fn.argnames[index]; - if (argname && compressor.has_directive("use strict")) { - var def = argname.definition(); - if (!compressor.option("reduce_vars") || def.assignments || def.orig.length > 1) { - argname = null; - } - } else if (!argname && !compressor.option("keep_fargs") && index < fn.argnames.length + 5) { - while (index >= fn.argnames.length) { - argname = make_node(AST_SymbolFunarg, fn, { - name: fn.make_var_name("argument_" + fn.argnames.length), - scope: fn - }); - fn.argnames.push(argname); - fn.enclosed.push(fn.def_variable(argname)); - } - } - if (argname) { - var sym = make_node(AST_SymbolRef, self, argname); - sym.reference({}); - delete argname.__unused; - return sym; - } - } - if (is_lhs(self, compressor.parent())) return self; - if (key !== prop) { - var sub = self.flatten_object(property, compressor); - if (sub) { - expr = self.expression = sub.expression; - prop = self.property = sub.property; - } - } - if (compressor.option("properties") && compressor.option("side_effects") - && prop instanceof AST_Number && expr instanceof AST_Array) { - var index = prop.getValue(); - var elements = expr.elements; - var retValue = elements[index]; - FLATTEN: if (safe_to_flatten(retValue, compressor)) { - var flatten = true; - var values = []; - for (var i = elements.length; --i > index;) { - var value = elements[i].drop_side_effect_free(compressor); - if (value) { - values.unshift(value); - if (flatten && value.has_side_effects(compressor)) flatten = false; - } - } - if (retValue instanceof AST_Expansion) break FLATTEN; - retValue = retValue instanceof AST_Hole ? make_node(AST_Undefined, retValue) : retValue; - if (!flatten) values.unshift(retValue); - while (--i >= 0) { - var value = elements[i]; - if (value instanceof AST_Expansion) break FLATTEN; - value = value.drop_side_effect_free(compressor); - if (value) values.unshift(value); - else index--; - } - if (flatten) { - values.push(retValue); - return make_sequence(self, values).optimize(compressor); - } else return make_node(AST_Sub, self, { - expression: make_node(AST_Array, expr, { - elements: values - }), - property: make_node(AST_Number, prop, { - value: index - }) - }); - } - } - var ev = self.evaluate(compressor); - if (ev !== self) { - ev = make_node_from_constant(ev, self).optimize(compressor); - return best_of(compressor, ev, self); - } - return self; - }); - - AST_Lambda.DEFMETHOD("contains_this", function() { - var result; - var self = this; - self.walk(new TreeWalker(function(node) { - if (result) return true; - if (node instanceof AST_This) return result = true; - if (node !== self && node instanceof AST_Scope && !(node instanceof AST_Arrow)) return true; - })); - return result; - }); - - AST_PropAccess.DEFMETHOD("flatten_object", function(key, compressor) { - if (!compressor.option("properties")) return; - var arrows = compressor.option("unsafe_arrows") && compressor.option("ecma") >= 6; - var expr = this.expression; - if (expr instanceof AST_Object) { - var props = expr.properties; - for (var i = props.length; --i >= 0;) { - var prop = props[i]; - if ("" + (prop instanceof AST_ConciseMethod ? prop.key.name : prop.key) == key) { - if (!all(props, function(prop) { - return prop instanceof AST_ObjectKeyVal - || arrows && prop instanceof AST_ConciseMethod && !prop.is_generator; - })) break; - if (!safe_to_flatten(prop.value, compressor)) break; - return make_node(AST_Sub, this, { - expression: make_node(AST_Array, expr, { - elements: props.map(function(prop) { - var v = prop.value; - if (v instanceof AST_Accessor) v = make_node(AST_Function, v, v); - var k = prop.key; - if (k instanceof AST_Node && !(k instanceof AST_SymbolMethod)) { - return make_sequence(prop, [ k, v ]); - } - return v; - }) - }), - property: make_node(AST_Number, this, { - value: i - }) - }); - } - } - } - }); - - def_optimize(AST_Dot, function(self, compressor) { - if (self.property == "arguments" || self.property == "caller") { - compressor.warn("Function.prototype.{prop} not supported [{file}:{line},{col}]", { - prop: self.property, - file: self.start.file, - line: self.start.line, - col: self.start.col - }); - } - if (is_lhs(self, compressor.parent())) return self; - if (compressor.option("unsafe_proto") - && self.expression instanceof AST_Dot - && self.expression.property == "prototype") { - var exp = self.expression.expression; - if (is_undeclared_ref(exp)) switch (exp.name) { - case "Array": - self.expression = make_node(AST_Array, self.expression, { - elements: [] - }); - break; - case "Function": - self.expression = make_node(AST_Function, self.expression, { - argnames: [], - body: [] - }); - break; - case "Number": - self.expression = make_node(AST_Number, self.expression, { - value: 0 - }); - break; - case "Object": - self.expression = make_node(AST_Object, self.expression, { - properties: [] - }); - break; - case "RegExp": - self.expression = make_node(AST_RegExp, self.expression, { - value: /t/ - }); - break; - case "String": - self.expression = make_node(AST_String, self.expression, { - value: "" - }); - break; - } - } - var sub = self.flatten_object(self.property, compressor); - if (sub) return sub.optimize(compressor); - var ev = self.evaluate(compressor); - if (ev !== self) { - ev = make_node_from_constant(ev, self).optimize(compressor); - return best_of(compressor, ev, self); - } - return self; - }); - - function literals_in_boolean_context(self, compressor) { - if (compressor.in_boolean_context()) { - return best_of(compressor, self, make_sequence(self, [ - self, - make_node(AST_True, self) - ]).optimize(compressor)); - } - return self; - } - - function inline_array_like_spread(self, compressor, elements) { - for (var i = 0; i < elements.length; i++) { - var el = elements[i]; - if (el instanceof AST_Expansion) { - var expr = el.expression; - if ( expr instanceof AST_Array) { - elements.splice.apply(elements, [i, 1].concat(expr.elements)); - // Step back one, as the element at i is now new. - i--; - } - // In array-like spread, spreading a non-iterable value is TypeError. - // We therefore can’t optimize anything else, unlike with object spread. - } - } - return self; - } - - def_optimize(AST_Array, function(self, compressor) { - var optimized = literals_in_boolean_context(self, compressor); - if (optimized !== self) { - return optimized; - } - return inline_array_like_spread(self, compressor, self.elements); - }); - - def_optimize(AST_Object, function(self, compressor) { - var optimized = literals_in_boolean_context(self, compressor); - if (optimized !== self) { - return optimized; - } - var props = self.properties; - for (var i = 0; i < props.length; i++) { - var prop = props[i]; - if (prop instanceof AST_Expansion) { - var expr = prop.expression; - if (expr instanceof AST_Object) { - props.splice.apply(props, [i, 1].concat(prop.expression.properties)); - // Step back one, as the property at i is now new. - i--; - } else if (expr instanceof AST_Constant - && !(expr instanceof AST_String)) { - // Unlike array-like spread, in object spread, spreading a - // non-iterable value silently does nothing; it is thus safe - // to remove. AST_String is the only iterable AST_Constant. - props.splice(i, 1); - } - } - } - return self; - }); - - def_optimize(AST_RegExp, literals_in_boolean_context); - - def_optimize(AST_Return, function(self, compressor) { - if (self.value && is_undefined(self.value, compressor)) { - self.value = null; - } - return self; - }); - - def_optimize(AST_Arrow, function(self, compressor) { - if (!(self.body instanceof AST_Node)) { - self = opt_AST_Lambda(self, compressor); - } - if (compressor.option("arrows") - && self.body.length == 1 - && self.body[0] instanceof AST_Return) { - var value = self.body[0].value; - self.body = value ? value : []; - } - return self; - }); - - def_optimize(AST_Function, function(self, compressor) { - self = opt_AST_Lambda(self, compressor); - if (compressor.option("unsafe_arrows") - && compressor.option("ecma") >= 6 - && !self.name - && !self.is_generator - && !self.uses_arguments - && !self.pinned()) { - var has_special_symbol = false; - self.walk(new TreeWalker(function(node) { - if (has_special_symbol) return true; - if (node instanceof AST_This) { - has_special_symbol = true; - return true; - } - })); - if (!has_special_symbol) return make_node(AST_Arrow, self, self).optimize(compressor); - } - return self; - }); - - def_optimize(AST_Class, function(self, compressor) { - // HACK to avoid compress failure. - // AST_Class is not really an AST_Scope/AST_Block as it lacks a body. - return self; - }); - - def_optimize(AST_Yield, function(self, compressor) { - if (self.expression && !self.is_star && is_undefined(self.expression, compressor)) { - self.expression = null; - } - return self; - }); - - def_optimize(AST_TemplateString, function(self, compressor) { - if (!compressor.option("evaluate") - || compressor.parent() instanceof AST_PrefixedTemplateString) - return self; - - var segments = []; - for (var i = 0; i < self.segments.length; i++) { - var segment = self.segments[i]; - if (segment instanceof AST_Node) { - var result = segment.evaluate(compressor); - // Evaluate to constant value - // Constant value shorter than ${segment} - if (result !== segment && (result + "").length <= segment.print_to_string().length + "${}".length) { - // There should always be a previous and next segment if segment is a node - segments[segments.length - 1].value = segments[segments.length - 1].value + result + self.segments[++i].value; - continue; - } - } - segments.push(segment); - } - self.segments = segments; - - return segments.length == 1 ? make_node(AST_String, self, segments[0]) : self; - }); - - def_optimize(AST_PrefixedTemplateString, function(self, compressor) { - return self; - }); - - // ["p"]:1 ---> p:1 - // [42]:1 ---> 42:1 - function lift_key(self, compressor) { - if (!compressor.option("computed_props")) return self; - // save a comparison in the typical case - if (!(self.key instanceof AST_Constant)) return self; - // whitelist acceptable props as not all AST_Constants are true constants - if (self.key instanceof AST_String || self.key instanceof AST_Number) { - if (self.key.value === "__proto__") return self; - if (self.key.value == "constructor" - && compressor.parent() instanceof AST_Class) return self; - if (self instanceof AST_ObjectKeyVal) { - self.key = self.key.value; - } else { - self.key = make_node(AST_SymbolMethod, self.key, { - name: self.key.value - }); - } - } - return self; - } - - def_optimize(AST_ObjectProperty, lift_key); - - def_optimize(AST_ConciseMethod, function(self, compressor) { - lift_key(self, compressor); - // p(){return x;} ---> p:()=>x - if (compressor.option("arrows") - && compressor.parent() instanceof AST_Object - && !self.is_generator - && !self.value.uses_arguments - && !self.value.pinned() - && self.value.body.length == 1 - && self.value.body[0] instanceof AST_Return - && self.value.body[0].value - && !self.value.contains_this()) { - var arrow = make_node(AST_Arrow, self.value, self.value); - arrow.async = self.async; - arrow.is_generator = self.is_generator; - return make_node(AST_ObjectKeyVal, self, { - key: self.key instanceof AST_SymbolMethod ? self.key.name : self.key, - value: arrow, - quote: self.quote, - }); - } - return self; - }); - - def_optimize(AST_ObjectKeyVal, function(self, compressor) { - lift_key(self, compressor); - // p:function(){} ---> p(){} - // p:function*(){} ---> *p(){} - // p:async function(){} ---> async p(){} - // p:()=>{} ---> p(){} - // p:async()=>{} ---> async p(){} - var unsafe_methods = compressor.option("unsafe_methods"); - if (unsafe_methods - && compressor.option("ecma") >= 6 - && (!(unsafe_methods instanceof RegExp) || unsafe_methods.test(self.key + ""))) { - var key = self.key; - var value = self.value; - var is_arrow_with_block = value instanceof AST_Arrow - && Array.isArray(value.body) - && !value.contains_this(); - if ((is_arrow_with_block || value instanceof AST_Function) && !value.name) { - return make_node(AST_ConciseMethod, self, { - async: value.async, - is_generator: value.is_generator, - key: key instanceof AST_Node ? key : make_node(AST_SymbolMethod, self, { - name: key, - }), - value: make_node(AST_Accessor, value, value), - quote: self.quote, - }); - } - } - return self; - }); - - def_optimize(AST_Destructuring, function(self, compressor) { - if (compressor.option("pure_getters") == true - && compressor.option("unused") - && !self.is_array - && Array.isArray(self.names) - && !is_destructuring_export_decl(compressor)) { - var keep = []; - for (var i = 0; i < self.names.length; i++) { - var elem = self.names[i]; - if (!(elem instanceof AST_ObjectKeyVal - && typeof elem.key == "string" - && elem.value instanceof AST_SymbolDeclaration - && !should_retain(compressor, elem.value.definition()))) { - keep.push(elem); - } - } - if (keep.length != self.names.length) { - self.names = keep; - } - } - return self; - - function is_destructuring_export_decl(compressor) { - var ancestors = [/^VarDef$/, /^(Const|Let|Var)$/, /^Export$/]; - for (var a = 0, p = 0, len = ancestors.length; a < len; p++) { - var parent = compressor.parent(p); - if (!parent) return false; - if (a === 0 && parent.TYPE == "Destructuring") continue; - if (!ancestors[a].test(parent.TYPE)) { - return false; - } - a++; - } - return true; - } - - function should_retain(compressor, def) { - if (def.references.length) return true; - if (!def.global) return false; - if (compressor.toplevel.vars) { - if (compressor.top_retain) { - return compressor.top_retain(def); - } - return false; - } - return true; - } - }); - })(); - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - // a small wrapper around fitzgen's source-map library - function SourceMap(options) { - options = defaults(options, { - file : null, - root : null, - orig : null, - - orig_line_diff : 0, - dest_line_diff : 0, - }); - var generator = new MOZ_SourceMap.SourceMapGenerator({ - file : options.file, - sourceRoot : options.root - }); - var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig); - - if (orig_map) { - orig_map.sources.forEach(function(source) { - var sourceContent = orig_map.sourceContentFor(source, true); - if (sourceContent) { - generator.setSourceContent(source, sourceContent); - } - }); - } - - function add(source, gen_line, gen_col, orig_line, orig_col, name) { - if (orig_map) { - var info = orig_map.originalPositionFor({ - line: orig_line, - column: orig_col - }); - if (info.source === null) { - return; - } - source = info.source; - orig_line = info.line; - orig_col = info.column; - name = info.name || name; - } - generator.addMapping({ - generated : { line: gen_line + options.dest_line_diff, column: gen_col }, - original : { line: orig_line + options.orig_line_diff, column: orig_col }, - source : source, - name : name - }); - } - return { - add : add, - get : function() { return generator; }, - toString : function() { return JSON.stringify(generator.toJSON()); } - }; - } - - var domprops = [ - "$&", - "$'", - "$*", - "$+", - "$1", - "$2", - "$3", - "$4", - "$5", - "$6", - "$7", - "$8", - "$9", - "$_", - "$`", - "$input", - "@@iterator", - "ABORT_ERR", - "ACTIVE", - "ACTIVE_ATTRIBUTES", - "ACTIVE_TEXTURE", - "ACTIVE_UNIFORMS", - "ADDITION", - "ALIASED_LINE_WIDTH_RANGE", - "ALIASED_POINT_SIZE_RANGE", - "ALLOW_KEYBOARD_INPUT", - "ALLPASS", - "ALPHA", - "ALPHA_BITS", - "ALT_MASK", - "ALWAYS", - "ANY_TYPE", - "ANY_UNORDERED_NODE_TYPE", - "ARRAY_BUFFER", - "ARRAY_BUFFER_BINDING", - "ATTACHED_SHADERS", - "ATTRIBUTE_NODE", - "AT_TARGET", - "AddSearchProvider", - "AnalyserNode", - "AnimationEvent", - "AnonXMLHttpRequest", - "ApplicationCache", - "ApplicationCacheErrorEvent", - "Array", - "ArrayBuffer", - "Attr", - "Audio", - "AudioBuffer", - "AudioBufferSourceNode", - "AudioContext", - "AudioDestinationNode", - "AudioListener", - "AudioNode", - "AudioParam", - "AudioProcessingEvent", - "AudioStreamTrack", - "AutocompleteErrorEvent", - "BACK", - "BAD_BOUNDARYPOINTS_ERR", - "BANDPASS", - "BLEND", - "BLEND_COLOR", - "BLEND_DST_ALPHA", - "BLEND_DST_RGB", - "BLEND_EQUATION", - "BLEND_EQUATION_ALPHA", - "BLEND_EQUATION_RGB", - "BLEND_SRC_ALPHA", - "BLEND_SRC_RGB", - "BLUE_BITS", - "BLUR", - "BOOL", - "BOOLEAN_TYPE", - "BOOL_VEC2", - "BOOL_VEC3", - "BOOL_VEC4", - "BOTH", - "BROWSER_DEFAULT_WEBGL", - "BUBBLING_PHASE", - "BUFFER_SIZE", - "BUFFER_USAGE", - "BYTE", - "BYTES_PER_ELEMENT", - "BarProp", - "BaseHref", - "BatteryManager", - "BeforeLoadEvent", - "BeforeUnloadEvent", - "BiquadFilterNode", - "Blob", - "BlobEvent", - "Boolean", - "CAPTURING_PHASE", - "CCW", - "CDATASection", - "CDATA_SECTION_NODE", - "CHANGE", - "CHARSET_RULE", - "CHECKING", - "CLAMP_TO_EDGE", - "CLICK", - "CLOSED", - "CLOSING", - "COLOR_ATTACHMENT0", - "COLOR_BUFFER_BIT", - "COLOR_CLEAR_VALUE", - "COLOR_WRITEMASK", - "COMMENT_NODE", - "COMPILE_STATUS", - "COMPRESSED_RGBA_S3TC_DXT1_EXT", - "COMPRESSED_RGBA_S3TC_DXT3_EXT", - "COMPRESSED_RGBA_S3TC_DXT5_EXT", - "COMPRESSED_RGB_S3TC_DXT1_EXT", - "COMPRESSED_TEXTURE_FORMATS", - "CONNECTING", - "CONSTANT_ALPHA", - "CONSTANT_COLOR", - "CONSTRAINT_ERR", - "CONTEXT_LOST_WEBGL", - "CONTROL_MASK", - "COUNTER_STYLE_RULE", - "CSS", - "CSS2Properties", - "CSSCharsetRule", - "CSSConditionRule", - "CSSCounterStyleRule", - "CSSFontFaceRule", - "CSSFontFeatureValuesRule", - "CSSGroupingRule", - "CSSImportRule", - "CSSKeyframeRule", - "CSSKeyframesRule", - "CSSMediaRule", - "CSSMozDocumentRule", - "CSSNameSpaceRule", - "CSSPageRule", - "CSSPrimitiveValue", - "CSSRule", - "CSSRuleList", - "CSSStyleDeclaration", - "CSSStyleRule", - "CSSStyleSheet", - "CSSSupportsRule", - "CSSUnknownRule", - "CSSValue", - "CSSValueList", - "CSSVariablesDeclaration", - "CSSVariablesRule", - "CSSViewportRule", - "CSS_ATTR", - "CSS_CM", - "CSS_COUNTER", - "CSS_CUSTOM", - "CSS_DEG", - "CSS_DIMENSION", - "CSS_EMS", - "CSS_EXS", - "CSS_FILTER_BLUR", - "CSS_FILTER_BRIGHTNESS", - "CSS_FILTER_CONTRAST", - "CSS_FILTER_CUSTOM", - "CSS_FILTER_DROP_SHADOW", - "CSS_FILTER_GRAYSCALE", - "CSS_FILTER_HUE_ROTATE", - "CSS_FILTER_INVERT", - "CSS_FILTER_OPACITY", - "CSS_FILTER_REFERENCE", - "CSS_FILTER_SATURATE", - "CSS_FILTER_SEPIA", - "CSS_GRAD", - "CSS_HZ", - "CSS_IDENT", - "CSS_IN", - "CSS_INHERIT", - "CSS_KHZ", - "CSS_MATRIX", - "CSS_MATRIX3D", - "CSS_MM", - "CSS_MS", - "CSS_NUMBER", - "CSS_PC", - "CSS_PERCENTAGE", - "CSS_PERSPECTIVE", - "CSS_PRIMITIVE_VALUE", - "CSS_PT", - "CSS_PX", - "CSS_RAD", - "CSS_RECT", - "CSS_RGBCOLOR", - "CSS_ROTATE", - "CSS_ROTATE3D", - "CSS_ROTATEX", - "CSS_ROTATEY", - "CSS_ROTATEZ", - "CSS_S", - "CSS_SCALE", - "CSS_SCALE3D", - "CSS_SCALEX", - "CSS_SCALEY", - "CSS_SCALEZ", - "CSS_SKEW", - "CSS_SKEWX", - "CSS_SKEWY", - "CSS_STRING", - "CSS_TRANSLATE", - "CSS_TRANSLATE3D", - "CSS_TRANSLATEX", - "CSS_TRANSLATEY", - "CSS_TRANSLATEZ", - "CSS_UNKNOWN", - "CSS_URI", - "CSS_VALUE_LIST", - "CSS_VH", - "CSS_VMAX", - "CSS_VMIN", - "CSS_VW", - "CULL_FACE", - "CULL_FACE_MODE", - "CURRENT_PROGRAM", - "CURRENT_VERTEX_ATTRIB", - "CUSTOM", - "CW", - "CanvasGradient", - "CanvasPattern", - "CanvasRenderingContext2D", - "CaretPosition", - "ChannelMergerNode", - "ChannelSplitterNode", - "CharacterData", - "ClientRect", - "ClientRectList", - "Clipboard", - "ClipboardEvent", - "CloseEvent", - "Collator", - "CommandEvent", - "Comment", - "CompositionEvent", - "Console", - "Controllers", - "ConvolverNode", - "Counter", - "Crypto", - "CryptoKey", - "CustomEvent", - "DATABASE_ERR", - "DATA_CLONE_ERR", - "DATA_ERR", - "DBLCLICK", - "DECR", - "DECR_WRAP", - "DELETE_STATUS", - "DEPTH_ATTACHMENT", - "DEPTH_BITS", - "DEPTH_BUFFER_BIT", - "DEPTH_CLEAR_VALUE", - "DEPTH_COMPONENT", - "DEPTH_COMPONENT16", - "DEPTH_FUNC", - "DEPTH_RANGE", - "DEPTH_STENCIL", - "DEPTH_STENCIL_ATTACHMENT", - "DEPTH_TEST", - "DEPTH_WRITEMASK", - "DIRECTION_DOWN", - "DIRECTION_LEFT", - "DIRECTION_RIGHT", - "DIRECTION_UP", - "DISABLED", - "DISPATCH_REQUEST_ERR", - "DITHER", - "DOCUMENT_FRAGMENT_NODE", - "DOCUMENT_NODE", - "DOCUMENT_POSITION_CONTAINED_BY", - "DOCUMENT_POSITION_CONTAINS", - "DOCUMENT_POSITION_DISCONNECTED", - "DOCUMENT_POSITION_FOLLOWING", - "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC", - "DOCUMENT_POSITION_PRECEDING", - "DOCUMENT_TYPE_NODE", - "DOMCursor", - "DOMError", - "DOMException", - "DOMImplementation", - "DOMImplementationLS", - "DOMMatrix", - "DOMMatrixReadOnly", - "DOMParser", - "DOMPoint", - "DOMPointReadOnly", - "DOMQuad", - "DOMRect", - "DOMRectList", - "DOMRectReadOnly", - "DOMRequest", - "DOMSTRING_SIZE_ERR", - "DOMSettableTokenList", - "DOMStringList", - "DOMStringMap", - "DOMTokenList", - "DOMTransactionEvent", - "DOM_DELTA_LINE", - "DOM_DELTA_PAGE", - "DOM_DELTA_PIXEL", - "DOM_INPUT_METHOD_DROP", - "DOM_INPUT_METHOD_HANDWRITING", - "DOM_INPUT_METHOD_IME", - "DOM_INPUT_METHOD_KEYBOARD", - "DOM_INPUT_METHOD_MULTIMODAL", - "DOM_INPUT_METHOD_OPTION", - "DOM_INPUT_METHOD_PASTE", - "DOM_INPUT_METHOD_SCRIPT", - "DOM_INPUT_METHOD_UNKNOWN", - "DOM_INPUT_METHOD_VOICE", - "DOM_KEY_LOCATION_JOYSTICK", - "DOM_KEY_LOCATION_LEFT", - "DOM_KEY_LOCATION_MOBILE", - "DOM_KEY_LOCATION_NUMPAD", - "DOM_KEY_LOCATION_RIGHT", - "DOM_KEY_LOCATION_STANDARD", - "DOM_VK_0", - "DOM_VK_1", - "DOM_VK_2", - "DOM_VK_3", - "DOM_VK_4", - "DOM_VK_5", - "DOM_VK_6", - "DOM_VK_7", - "DOM_VK_8", - "DOM_VK_9", - "DOM_VK_A", - "DOM_VK_ACCEPT", - "DOM_VK_ADD", - "DOM_VK_ALT", - "DOM_VK_ALTGR", - "DOM_VK_AMPERSAND", - "DOM_VK_ASTERISK", - "DOM_VK_AT", - "DOM_VK_ATTN", - "DOM_VK_B", - "DOM_VK_BACKSPACE", - "DOM_VK_BACK_QUOTE", - "DOM_VK_BACK_SLASH", - "DOM_VK_BACK_SPACE", - "DOM_VK_C", - "DOM_VK_CANCEL", - "DOM_VK_CAPS_LOCK", - "DOM_VK_CIRCUMFLEX", - "DOM_VK_CLEAR", - "DOM_VK_CLOSE_BRACKET", - "DOM_VK_CLOSE_CURLY_BRACKET", - "DOM_VK_CLOSE_PAREN", - "DOM_VK_COLON", - "DOM_VK_COMMA", - "DOM_VK_CONTEXT_MENU", - "DOM_VK_CONTROL", - "DOM_VK_CONVERT", - "DOM_VK_CRSEL", - "DOM_VK_CTRL", - "DOM_VK_D", - "DOM_VK_DECIMAL", - "DOM_VK_DELETE", - "DOM_VK_DIVIDE", - "DOM_VK_DOLLAR", - "DOM_VK_DOUBLE_QUOTE", - "DOM_VK_DOWN", - "DOM_VK_E", - "DOM_VK_EISU", - "DOM_VK_END", - "DOM_VK_ENTER", - "DOM_VK_EQUALS", - "DOM_VK_EREOF", - "DOM_VK_ESCAPE", - "DOM_VK_EXCLAMATION", - "DOM_VK_EXECUTE", - "DOM_VK_EXSEL", - "DOM_VK_F", - "DOM_VK_F1", - "DOM_VK_F10", - "DOM_VK_F11", - "DOM_VK_F12", - "DOM_VK_F13", - "DOM_VK_F14", - "DOM_VK_F15", - "DOM_VK_F16", - "DOM_VK_F17", - "DOM_VK_F18", - "DOM_VK_F19", - "DOM_VK_F2", - "DOM_VK_F20", - "DOM_VK_F21", - "DOM_VK_F22", - "DOM_VK_F23", - "DOM_VK_F24", - "DOM_VK_F25", - "DOM_VK_F26", - "DOM_VK_F27", - "DOM_VK_F28", - "DOM_VK_F29", - "DOM_VK_F3", - "DOM_VK_F30", - "DOM_VK_F31", - "DOM_VK_F32", - "DOM_VK_F33", - "DOM_VK_F34", - "DOM_VK_F35", - "DOM_VK_F36", - "DOM_VK_F4", - "DOM_VK_F5", - "DOM_VK_F6", - "DOM_VK_F7", - "DOM_VK_F8", - "DOM_VK_F9", - "DOM_VK_FINAL", - "DOM_VK_FRONT", - "DOM_VK_G", - "DOM_VK_GREATER_THAN", - "DOM_VK_H", - "DOM_VK_HANGUL", - "DOM_VK_HANJA", - "DOM_VK_HASH", - "DOM_VK_HELP", - "DOM_VK_HK_TOGGLE", - "DOM_VK_HOME", - "DOM_VK_HYPHEN_MINUS", - "DOM_VK_I", - "DOM_VK_INSERT", - "DOM_VK_J", - "DOM_VK_JUNJA", - "DOM_VK_K", - "DOM_VK_KANA", - "DOM_VK_KANJI", - "DOM_VK_L", - "DOM_VK_LEFT", - "DOM_VK_LEFT_TAB", - "DOM_VK_LESS_THAN", - "DOM_VK_M", - "DOM_VK_META", - "DOM_VK_MODECHANGE", - "DOM_VK_MULTIPLY", - "DOM_VK_N", - "DOM_VK_NONCONVERT", - "DOM_VK_NUMPAD0", - "DOM_VK_NUMPAD1", - "DOM_VK_NUMPAD2", - "DOM_VK_NUMPAD3", - "DOM_VK_NUMPAD4", - "DOM_VK_NUMPAD5", - "DOM_VK_NUMPAD6", - "DOM_VK_NUMPAD7", - "DOM_VK_NUMPAD8", - "DOM_VK_NUMPAD9", - "DOM_VK_NUM_LOCK", - "DOM_VK_O", - "DOM_VK_OEM_1", - "DOM_VK_OEM_102", - "DOM_VK_OEM_2", - "DOM_VK_OEM_3", - "DOM_VK_OEM_4", - "DOM_VK_OEM_5", - "DOM_VK_OEM_6", - "DOM_VK_OEM_7", - "DOM_VK_OEM_8", - "DOM_VK_OEM_COMMA", - "DOM_VK_OEM_MINUS", - "DOM_VK_OEM_PERIOD", - "DOM_VK_OEM_PLUS", - "DOM_VK_OPEN_BRACKET", - "DOM_VK_OPEN_CURLY_BRACKET", - "DOM_VK_OPEN_PAREN", - "DOM_VK_P", - "DOM_VK_PA1", - "DOM_VK_PAGEDOWN", - "DOM_VK_PAGEUP", - "DOM_VK_PAGE_DOWN", - "DOM_VK_PAGE_UP", - "DOM_VK_PAUSE", - "DOM_VK_PERCENT", - "DOM_VK_PERIOD", - "DOM_VK_PIPE", - "DOM_VK_PLAY", - "DOM_VK_PLUS", - "DOM_VK_PRINT", - "DOM_VK_PRINTSCREEN", - "DOM_VK_PROCESSKEY", - "DOM_VK_PROPERITES", - "DOM_VK_Q", - "DOM_VK_QUESTION_MARK", - "DOM_VK_QUOTE", - "DOM_VK_R", - "DOM_VK_REDO", - "DOM_VK_RETURN", - "DOM_VK_RIGHT", - "DOM_VK_S", - "DOM_VK_SCROLL_LOCK", - "DOM_VK_SELECT", - "DOM_VK_SEMICOLON", - "DOM_VK_SEPARATOR", - "DOM_VK_SHIFT", - "DOM_VK_SLASH", - "DOM_VK_SLEEP", - "DOM_VK_SPACE", - "DOM_VK_SUBTRACT", - "DOM_VK_T", - "DOM_VK_TAB", - "DOM_VK_TILDE", - "DOM_VK_U", - "DOM_VK_UNDERSCORE", - "DOM_VK_UNDO", - "DOM_VK_UNICODE", - "DOM_VK_UP", - "DOM_VK_V", - "DOM_VK_VOLUME_DOWN", - "DOM_VK_VOLUME_MUTE", - "DOM_VK_VOLUME_UP", - "DOM_VK_W", - "DOM_VK_WIN", - "DOM_VK_WINDOW", - "DOM_VK_WIN_ICO_00", - "DOM_VK_WIN_ICO_CLEAR", - "DOM_VK_WIN_ICO_HELP", - "DOM_VK_WIN_OEM_ATTN", - "DOM_VK_WIN_OEM_AUTO", - "DOM_VK_WIN_OEM_BACKTAB", - "DOM_VK_WIN_OEM_CLEAR", - "DOM_VK_WIN_OEM_COPY", - "DOM_VK_WIN_OEM_CUSEL", - "DOM_VK_WIN_OEM_ENLW", - "DOM_VK_WIN_OEM_FINISH", - "DOM_VK_WIN_OEM_FJ_JISHO", - "DOM_VK_WIN_OEM_FJ_LOYA", - "DOM_VK_WIN_OEM_FJ_MASSHOU", - "DOM_VK_WIN_OEM_FJ_ROYA", - "DOM_VK_WIN_OEM_FJ_TOUROKU", - "DOM_VK_WIN_OEM_JUMP", - "DOM_VK_WIN_OEM_PA1", - "DOM_VK_WIN_OEM_PA2", - "DOM_VK_WIN_OEM_PA3", - "DOM_VK_WIN_OEM_RESET", - "DOM_VK_WIN_OEM_WSCTRL", - "DOM_VK_X", - "DOM_VK_XF86XK_ADD_FAVORITE", - "DOM_VK_XF86XK_APPLICATION_LEFT", - "DOM_VK_XF86XK_APPLICATION_RIGHT", - "DOM_VK_XF86XK_AUDIO_CYCLE_TRACK", - "DOM_VK_XF86XK_AUDIO_FORWARD", - "DOM_VK_XF86XK_AUDIO_LOWER_VOLUME", - "DOM_VK_XF86XK_AUDIO_MEDIA", - "DOM_VK_XF86XK_AUDIO_MUTE", - "DOM_VK_XF86XK_AUDIO_NEXT", - "DOM_VK_XF86XK_AUDIO_PAUSE", - "DOM_VK_XF86XK_AUDIO_PLAY", - "DOM_VK_XF86XK_AUDIO_PREV", - "DOM_VK_XF86XK_AUDIO_RAISE_VOLUME", - "DOM_VK_XF86XK_AUDIO_RANDOM_PLAY", - "DOM_VK_XF86XK_AUDIO_RECORD", - "DOM_VK_XF86XK_AUDIO_REPEAT", - "DOM_VK_XF86XK_AUDIO_REWIND", - "DOM_VK_XF86XK_AUDIO_STOP", - "DOM_VK_XF86XK_AWAY", - "DOM_VK_XF86XK_BACK", - "DOM_VK_XF86XK_BACK_FORWARD", - "DOM_VK_XF86XK_BATTERY", - "DOM_VK_XF86XK_BLUE", - "DOM_VK_XF86XK_BLUETOOTH", - "DOM_VK_XF86XK_BOOK", - "DOM_VK_XF86XK_BRIGHTNESS_ADJUST", - "DOM_VK_XF86XK_CALCULATOR", - "DOM_VK_XF86XK_CALENDAR", - "DOM_VK_XF86XK_CD", - "DOM_VK_XF86XK_CLOSE", - "DOM_VK_XF86XK_COMMUNITY", - "DOM_VK_XF86XK_CONTRAST_ADJUST", - "DOM_VK_XF86XK_COPY", - "DOM_VK_XF86XK_CUT", - "DOM_VK_XF86XK_CYCLE_ANGLE", - "DOM_VK_XF86XK_DISPLAY", - "DOM_VK_XF86XK_DOCUMENTS", - "DOM_VK_XF86XK_DOS", - "DOM_VK_XF86XK_EJECT", - "DOM_VK_XF86XK_EXCEL", - "DOM_VK_XF86XK_EXPLORER", - "DOM_VK_XF86XK_FAVORITES", - "DOM_VK_XF86XK_FINANCE", - "DOM_VK_XF86XK_FORWARD", - "DOM_VK_XF86XK_FRAME_BACK", - "DOM_VK_XF86XK_FRAME_FORWARD", - "DOM_VK_XF86XK_GAME", - "DOM_VK_XF86XK_GO", - "DOM_VK_XF86XK_GREEN", - "DOM_VK_XF86XK_HIBERNATE", - "DOM_VK_XF86XK_HISTORY", - "DOM_VK_XF86XK_HOME_PAGE", - "DOM_VK_XF86XK_HOT_LINKS", - "DOM_VK_XF86XK_I_TOUCH", - "DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN", - "DOM_VK_XF86XK_KBD_BRIGHTNESS_UP", - "DOM_VK_XF86XK_KBD_LIGHT_ON_OFF", - "DOM_VK_XF86XK_LAUNCH0", - "DOM_VK_XF86XK_LAUNCH1", - "DOM_VK_XF86XK_LAUNCH2", - "DOM_VK_XF86XK_LAUNCH3", - "DOM_VK_XF86XK_LAUNCH4", - "DOM_VK_XF86XK_LAUNCH5", - "DOM_VK_XF86XK_LAUNCH6", - "DOM_VK_XF86XK_LAUNCH7", - "DOM_VK_XF86XK_LAUNCH8", - "DOM_VK_XF86XK_LAUNCH9", - "DOM_VK_XF86XK_LAUNCH_A", - "DOM_VK_XF86XK_LAUNCH_B", - "DOM_VK_XF86XK_LAUNCH_C", - "DOM_VK_XF86XK_LAUNCH_D", - "DOM_VK_XF86XK_LAUNCH_E", - "DOM_VK_XF86XK_LAUNCH_F", - "DOM_VK_XF86XK_LIGHT_BULB", - "DOM_VK_XF86XK_LOG_OFF", - "DOM_VK_XF86XK_MAIL", - "DOM_VK_XF86XK_MAIL_FORWARD", - "DOM_VK_XF86XK_MARKET", - "DOM_VK_XF86XK_MEETING", - "DOM_VK_XF86XK_MEMO", - "DOM_VK_XF86XK_MENU_KB", - "DOM_VK_XF86XK_MENU_PB", - "DOM_VK_XF86XK_MESSENGER", - "DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN", - "DOM_VK_XF86XK_MON_BRIGHTNESS_UP", - "DOM_VK_XF86XK_MUSIC", - "DOM_VK_XF86XK_MY_COMPUTER", - "DOM_VK_XF86XK_MY_SITES", - "DOM_VK_XF86XK_NEW", - "DOM_VK_XF86XK_NEWS", - "DOM_VK_XF86XK_OFFICE_HOME", - "DOM_VK_XF86XK_OPEN", - "DOM_VK_XF86XK_OPEN_URL", - "DOM_VK_XF86XK_OPTION", - "DOM_VK_XF86XK_PASTE", - "DOM_VK_XF86XK_PHONE", - "DOM_VK_XF86XK_PICTURES", - "DOM_VK_XF86XK_POWER_DOWN", - "DOM_VK_XF86XK_POWER_OFF", - "DOM_VK_XF86XK_RED", - "DOM_VK_XF86XK_REFRESH", - "DOM_VK_XF86XK_RELOAD", - "DOM_VK_XF86XK_REPLY", - "DOM_VK_XF86XK_ROCKER_DOWN", - "DOM_VK_XF86XK_ROCKER_ENTER", - "DOM_VK_XF86XK_ROCKER_UP", - "DOM_VK_XF86XK_ROTATE_WINDOWS", - "DOM_VK_XF86XK_ROTATION_KB", - "DOM_VK_XF86XK_ROTATION_PB", - "DOM_VK_XF86XK_SAVE", - "DOM_VK_XF86XK_SCREEN_SAVER", - "DOM_VK_XF86XK_SCROLL_CLICK", - "DOM_VK_XF86XK_SCROLL_DOWN", - "DOM_VK_XF86XK_SCROLL_UP", - "DOM_VK_XF86XK_SEARCH", - "DOM_VK_XF86XK_SEND", - "DOM_VK_XF86XK_SHOP", - "DOM_VK_XF86XK_SPELL", - "DOM_VK_XF86XK_SPLIT_SCREEN", - "DOM_VK_XF86XK_STANDBY", - "DOM_VK_XF86XK_START", - "DOM_VK_XF86XK_STOP", - "DOM_VK_XF86XK_SUBTITLE", - "DOM_VK_XF86XK_SUPPORT", - "DOM_VK_XF86XK_SUSPEND", - "DOM_VK_XF86XK_TASK_PANE", - "DOM_VK_XF86XK_TERMINAL", - "DOM_VK_XF86XK_TIME", - "DOM_VK_XF86XK_TOOLS", - "DOM_VK_XF86XK_TOP_MENU", - "DOM_VK_XF86XK_TO_DO_LIST", - "DOM_VK_XF86XK_TRAVEL", - "DOM_VK_XF86XK_USER1KB", - "DOM_VK_XF86XK_USER2KB", - "DOM_VK_XF86XK_USER_PB", - "DOM_VK_XF86XK_UWB", - "DOM_VK_XF86XK_VENDOR_HOME", - "DOM_VK_XF86XK_VIDEO", - "DOM_VK_XF86XK_VIEW", - "DOM_VK_XF86XK_WAKE_UP", - "DOM_VK_XF86XK_WEB_CAM", - "DOM_VK_XF86XK_WHEEL_BUTTON", - "DOM_VK_XF86XK_WLAN", - "DOM_VK_XF86XK_WORD", - "DOM_VK_XF86XK_WWW", - "DOM_VK_XF86XK_XFER", - "DOM_VK_XF86XK_YELLOW", - "DOM_VK_XF86XK_ZOOM_IN", - "DOM_VK_XF86XK_ZOOM_OUT", - "DOM_VK_Y", - "DOM_VK_Z", - "DOM_VK_ZOOM", - "DONE", - "DONT_CARE", - "DOWNLOADING", - "DRAGDROP", - "DST_ALPHA", - "DST_COLOR", - "DYNAMIC_DRAW", - "DataChannel", - "DataTransfer", - "DataTransferItem", - "DataTransferItemList", - "DataView", - "Date", - "DateTimeFormat", - "DelayNode", - "DesktopNotification", - "DesktopNotificationCenter", - "DeviceLightEvent", - "DeviceMotionEvent", - "DeviceOrientationEvent", - "DeviceProximityEvent", - "DeviceStorage", - "DeviceStorageChangeEvent", - "Document", - "DocumentFragment", - "DocumentType", - "DragEvent", - "DynamicsCompressorNode", - "E", - "ELEMENT_ARRAY_BUFFER", - "ELEMENT_ARRAY_BUFFER_BINDING", - "ELEMENT_NODE", - "EMPTY", - "ENCODING_ERR", - "ENDED", - "END_TO_END", - "END_TO_START", - "ENTITY_NODE", - "ENTITY_REFERENCE_NODE", - "EPSILON", - "EQUAL", - "EQUALPOWER", - "ERROR", - "EXPONENTIAL_DISTANCE", - "Element", - "ElementQuery", - "Entity", - "EntityReference", - "Error", - "ErrorEvent", - "EvalError", - "Event", - "EventException", - "EventSource", - "EventTarget", - "External", - "FASTEST", - "FIDOSDK", - "FILTER_ACCEPT", - "FILTER_INTERRUPT", - "FILTER_REJECT", - "FILTER_SKIP", - "FINISHED_STATE", - "FIRST_ORDERED_NODE_TYPE", - "FLOAT", - "FLOAT_MAT2", - "FLOAT_MAT3", - "FLOAT_MAT4", - "FLOAT_VEC2", - "FLOAT_VEC3", - "FLOAT_VEC4", - "FOCUS", - "FONT_FACE_RULE", - "FONT_FEATURE_VALUES_RULE", - "FRAGMENT_SHADER", - "FRAGMENT_SHADER_DERIVATIVE_HINT_OES", - "FRAMEBUFFER", - "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", - "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", - "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", - "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", - "FRAMEBUFFER_BINDING", - "FRAMEBUFFER_COMPLETE", - "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", - "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", - "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", - "FRAMEBUFFER_UNSUPPORTED", - "FRONT", - "FRONT_AND_BACK", - "FRONT_FACE", - "FUNC_ADD", - "FUNC_REVERSE_SUBTRACT", - "FUNC_SUBTRACT", - "Feed", - "FeedEntry", - "File", - "FileError", - "FileList", - "FileReader", - "FindInPage", - "Float32Array", - "Float64Array", - "FocusEvent", - "FontFace", - "FormData", - "Function", - "GENERATE_MIPMAP_HINT", - "GEQUAL", - "GREATER", - "GREEN_BITS", - "GainNode", - "Gamepad", - "GamepadButton", - "GamepadEvent", - "GestureEvent", - "HAVE_CURRENT_DATA", - "HAVE_ENOUGH_DATA", - "HAVE_FUTURE_DATA", - "HAVE_METADATA", - "HAVE_NOTHING", - "HEADERS_RECEIVED", - "HIDDEN", - "HIERARCHY_REQUEST_ERR", - "HIGHPASS", - "HIGHSHELF", - "HIGH_FLOAT", - "HIGH_INT", - "HORIZONTAL", - "HORIZONTAL_AXIS", - "HRTF", - "HTMLAllCollection", - "HTMLAnchorElement", - "HTMLAppletElement", - "HTMLAreaElement", - "HTMLAudioElement", - "HTMLBRElement", - "HTMLBaseElement", - "HTMLBaseFontElement", - "HTMLBlockquoteElement", - "HTMLBodyElement", - "HTMLButtonElement", - "HTMLCanvasElement", - "HTMLCollection", - "HTMLCommandElement", - "HTMLContentElement", - "HTMLDListElement", - "HTMLDataElement", - "HTMLDataListElement", - "HTMLDetailsElement", - "HTMLDialogElement", - "HTMLDirectoryElement", - "HTMLDivElement", - "HTMLDocument", - "HTMLElement", - "HTMLEmbedElement", - "HTMLFieldSetElement", - "HTMLFontElement", - "HTMLFormControlsCollection", - "HTMLFormElement", - "HTMLFrameElement", - "HTMLFrameSetElement", - "HTMLHRElement", - "HTMLHeadElement", - "HTMLHeadingElement", - "HTMLHtmlElement", - "HTMLIFrameElement", - "HTMLImageElement", - "HTMLInputElement", - "HTMLIsIndexElement", - "HTMLKeygenElement", - "HTMLLIElement", - "HTMLLabelElement", - "HTMLLegendElement", - "HTMLLinkElement", - "HTMLMapElement", - "HTMLMarqueeElement", - "HTMLMediaElement", - "HTMLMenuElement", - "HTMLMenuItemElement", - "HTMLMetaElement", - "HTMLMeterElement", - "HTMLModElement", - "HTMLOListElement", - "HTMLObjectElement", - "HTMLOptGroupElement", - "HTMLOptionElement", - "HTMLOptionsCollection", - "HTMLOutputElement", - "HTMLParagraphElement", - "HTMLParamElement", - "HTMLPictureElement", - "HTMLPreElement", - "HTMLProgressElement", - "HTMLPropertiesCollection", - "HTMLQuoteElement", - "HTMLScriptElement", - "HTMLSelectElement", - "HTMLShadowElement", - "HTMLSourceElement", - "HTMLSpanElement", - "HTMLStyleElement", - "HTMLTableCaptionElement", - "HTMLTableCellElement", - "HTMLTableColElement", - "HTMLTableElement", - "HTMLTableRowElement", - "HTMLTableSectionElement", - "HTMLTemplateElement", - "HTMLTextAreaElement", - "HTMLTimeElement", - "HTMLTitleElement", - "HTMLTrackElement", - "HTMLUListElement", - "HTMLUnknownElement", - "HTMLVideoElement", - "HashChangeEvent", - "Headers", - "History", - "ICE_CHECKING", - "ICE_CLOSED", - "ICE_COMPLETED", - "ICE_CONNECTED", - "ICE_FAILED", - "ICE_GATHERING", - "ICE_WAITING", - "IDBCursor", - "IDBCursorWithValue", - "IDBDatabase", - "IDBDatabaseException", - "IDBFactory", - "IDBFileHandle", - "IDBFileRequest", - "IDBIndex", - "IDBKeyRange", - "IDBMutableFile", - "IDBObjectStore", - "IDBOpenDBRequest", - "IDBRequest", - "IDBTransaction", - "IDBVersionChangeEvent", - "IDLE", - "IMPLEMENTATION_COLOR_READ_FORMAT", - "IMPLEMENTATION_COLOR_READ_TYPE", - "IMPORT_RULE", - "INCR", - "INCR_WRAP", - "INDEX_SIZE_ERR", - "INT", - "INT_VEC2", - "INT_VEC3", - "INT_VEC4", - "INUSE_ATTRIBUTE_ERR", - "INVALID_ACCESS_ERR", - "INVALID_CHARACTER_ERR", - "INVALID_ENUM", - "INVALID_EXPRESSION_ERR", - "INVALID_FRAMEBUFFER_OPERATION", - "INVALID_MODIFICATION_ERR", - "INVALID_NODE_TYPE_ERR", - "INVALID_OPERATION", - "INVALID_STATE_ERR", - "INVALID_VALUE", - "INVERSE_DISTANCE", - "INVERT", - "IceCandidate", - "Image", - "ImageBitmap", - "ImageData", - "Infinity", - "InputEvent", - "InputMethodContext", - "InstallTrigger", - "Int16Array", - "Int32Array", - "Int8Array", - "Intent", - "InternalError", - "Intl", - "IsSearchProviderInstalled", - "Iterator", - "JSON", - "KEEP", - "KEYDOWN", - "KEYFRAMES_RULE", - "KEYFRAME_RULE", - "KEYPRESS", - "KEYUP", - "KeyEvent", - "KeyboardEvent", - "LENGTHADJUST_SPACING", - "LENGTHADJUST_SPACINGANDGLYPHS", - "LENGTHADJUST_UNKNOWN", - "LEQUAL", - "LESS", - "LINEAR", - "LINEAR_DISTANCE", - "LINEAR_MIPMAP_LINEAR", - "LINEAR_MIPMAP_NEAREST", - "LINES", - "LINE_LOOP", - "LINE_STRIP", - "LINE_WIDTH", - "LINK_STATUS", - "LIVE", - "LN10", - "LN2", - "LOADED", - "LOADING", - "LOG10E", - "LOG2E", - "LOWPASS", - "LOWSHELF", - "LOW_FLOAT", - "LOW_INT", - "LSException", - "LSParserFilter", - "LUMINANCE", - "LUMINANCE_ALPHA", - "LocalMediaStream", - "Location", - "MAX_COMBINED_TEXTURE_IMAGE_UNITS", - "MAX_CUBE_MAP_TEXTURE_SIZE", - "MAX_FRAGMENT_UNIFORM_VECTORS", - "MAX_RENDERBUFFER_SIZE", - "MAX_SAFE_INTEGER", - "MAX_TEXTURE_IMAGE_UNITS", - "MAX_TEXTURE_MAX_ANISOTROPY_EXT", - "MAX_TEXTURE_SIZE", - "MAX_VALUE", - "MAX_VARYING_VECTORS", - "MAX_VERTEX_ATTRIBS", - "MAX_VERTEX_TEXTURE_IMAGE_UNITS", - "MAX_VERTEX_UNIFORM_VECTORS", - "MAX_VIEWPORT_DIMS", - "MEDIA_ERR_ABORTED", - "MEDIA_ERR_DECODE", - "MEDIA_ERR_ENCRYPTED", - "MEDIA_ERR_NETWORK", - "MEDIA_ERR_SRC_NOT_SUPPORTED", - "MEDIA_KEYERR_CLIENT", - "MEDIA_KEYERR_DOMAIN", - "MEDIA_KEYERR_HARDWARECHANGE", - "MEDIA_KEYERR_OUTPUT", - "MEDIA_KEYERR_SERVICE", - "MEDIA_KEYERR_UNKNOWN", - "MEDIA_RULE", - "MEDIUM_FLOAT", - "MEDIUM_INT", - "META_MASK", - "MIN_SAFE_INTEGER", - "MIN_VALUE", - "MIRRORED_REPEAT", - "MODE_ASYNCHRONOUS", - "MODE_SYNCHRONOUS", - "MODIFICATION", - "MOUSEDOWN", - "MOUSEDRAG", - "MOUSEMOVE", - "MOUSEOUT", - "MOUSEOVER", - "MOUSEUP", - "MOZ_KEYFRAMES_RULE", - "MOZ_KEYFRAME_RULE", - "MOZ_SOURCE_CURSOR", - "MOZ_SOURCE_ERASER", - "MOZ_SOURCE_KEYBOARD", - "MOZ_SOURCE_MOUSE", - "MOZ_SOURCE_PEN", - "MOZ_SOURCE_TOUCH", - "MOZ_SOURCE_UNKNOWN", - "MSGESTURE_FLAG_BEGIN", - "MSGESTURE_FLAG_CANCEL", - "MSGESTURE_FLAG_END", - "MSGESTURE_FLAG_INERTIA", - "MSGESTURE_FLAG_NONE", - "MSPOINTER_TYPE_MOUSE", - "MSPOINTER_TYPE_PEN", - "MSPOINTER_TYPE_TOUCH", - "MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE", - "MS_ASYNC_CALLBACK_STATUS_CANCEL", - "MS_ASYNC_CALLBACK_STATUS_CHOOSEANY", - "MS_ASYNC_CALLBACK_STATUS_ERROR", - "MS_ASYNC_CALLBACK_STATUS_JOIN", - "MS_ASYNC_OP_STATUS_CANCELED", - "MS_ASYNC_OP_STATUS_ERROR", - "MS_ASYNC_OP_STATUS_SUCCESS", - "MS_MANIPULATION_STATE_ACTIVE", - "MS_MANIPULATION_STATE_CANCELLED", - "MS_MANIPULATION_STATE_COMMITTED", - "MS_MANIPULATION_STATE_DRAGGING", - "MS_MANIPULATION_STATE_INERTIA", - "MS_MANIPULATION_STATE_PRESELECT", - "MS_MANIPULATION_STATE_SELECTING", - "MS_MANIPULATION_STATE_STOPPED", - "MS_MEDIA_ERR_ENCRYPTED", - "MS_MEDIA_KEYERR_CLIENT", - "MS_MEDIA_KEYERR_DOMAIN", - "MS_MEDIA_KEYERR_HARDWARECHANGE", - "MS_MEDIA_KEYERR_OUTPUT", - "MS_MEDIA_KEYERR_SERVICE", - "MS_MEDIA_KEYERR_UNKNOWN", - "Map", - "Math", - "MediaController", - "MediaDevices", - "MediaElementAudioSourceNode", - "MediaEncryptedEvent", - "MediaError", - "MediaKeyError", - "MediaKeyEvent", - "MediaKeyMessageEvent", - "MediaKeyNeededEvent", - "MediaKeySession", - "MediaKeyStatusMap", - "MediaKeySystemAccess", - "MediaKeys", - "MediaList", - "MediaQueryList", - "MediaQueryListEvent", - "MediaRecorder", - "MediaSource", - "MediaStream", - "MediaStreamAudioDestinationNode", - "MediaStreamAudioSourceNode", - "MediaStreamEvent", - "MediaStreamTrack", - "MediaStreamTrackEvent", - "MessageChannel", - "MessageEvent", - "MessagePort", - "Methods", - "MimeType", - "MimeTypeArray", - "MouseEvent", - "MouseScrollEvent", - "MozAnimation", - "MozAnimationDelay", - "MozAnimationDirection", - "MozAnimationDuration", - "MozAnimationFillMode", - "MozAnimationIterationCount", - "MozAnimationName", - "MozAnimationPlayState", - "MozAnimationTimingFunction", - "MozAppearance", - "MozBackfaceVisibility", - "MozBinding", - "MozBorderBottomColors", - "MozBorderEnd", - "MozBorderEndColor", - "MozBorderEndStyle", - "MozBorderEndWidth", - "MozBorderImage", - "MozBorderLeftColors", - "MozBorderRightColors", - "MozBorderStart", - "MozBorderStartColor", - "MozBorderStartStyle", - "MozBorderStartWidth", - "MozBorderTopColors", - "MozBoxAlign", - "MozBoxDirection", - "MozBoxFlex", - "MozBoxOrdinalGroup", - "MozBoxOrient", - "MozBoxPack", - "MozBoxSizing", - "MozCSSKeyframeRule", - "MozCSSKeyframesRule", - "MozColumnCount", - "MozColumnFill", - "MozColumnGap", - "MozColumnRule", - "MozColumnRuleColor", - "MozColumnRuleStyle", - "MozColumnRuleWidth", - "MozColumnWidth", - "MozColumns", - "MozContactChangeEvent", - "MozFloatEdge", - "MozFontFeatureSettings", - "MozFontLanguageOverride", - "MozForceBrokenImageIcon", - "MozHyphens", - "MozImageRegion", - "MozMarginEnd", - "MozMarginStart", - "MozMmsEvent", - "MozMmsMessage", - "MozMobileMessageThread", - "MozOSXFontSmoothing", - "MozOrient", - "MozOutlineRadius", - "MozOutlineRadiusBottomleft", - "MozOutlineRadiusBottomright", - "MozOutlineRadiusTopleft", - "MozOutlineRadiusTopright", - "MozPaddingEnd", - "MozPaddingStart", - "MozPerspective", - "MozPerspectiveOrigin", - "MozPowerManager", - "MozSettingsEvent", - "MozSmsEvent", - "MozSmsMessage", - "MozStackSizing", - "MozTabSize", - "MozTextAlignLast", - "MozTextDecorationColor", - "MozTextDecorationLine", - "MozTextDecorationStyle", - "MozTextSizeAdjust", - "MozTransform", - "MozTransformOrigin", - "MozTransformStyle", - "MozTransition", - "MozTransitionDelay", - "MozTransitionDuration", - "MozTransitionProperty", - "MozTransitionTimingFunction", - "MozUserFocus", - "MozUserInput", - "MozUserModify", - "MozUserSelect", - "MozWindowDragging", - "MozWindowShadow", - "MutationEvent", - "MutationObserver", - "MutationRecord", - "NAMESPACE_ERR", - "NAMESPACE_RULE", - "NEAREST", - "NEAREST_MIPMAP_LINEAR", - "NEAREST_MIPMAP_NEAREST", - "NEGATIVE_INFINITY", - "NETWORK_EMPTY", - "NETWORK_ERR", - "NETWORK_IDLE", - "NETWORK_LOADED", - "NETWORK_LOADING", - "NETWORK_NO_SOURCE", - "NEVER", - "NEW", - "NEXT", - "NEXT_NO_DUPLICATE", - "NICEST", - "NODE_AFTER", - "NODE_BEFORE", - "NODE_BEFORE_AND_AFTER", - "NODE_INSIDE", - "NONE", - "NON_TRANSIENT_ERR", - "NOTATION_NODE", - "NOTCH", - "NOTEQUAL", - "NOT_ALLOWED_ERR", - "NOT_FOUND_ERR", - "NOT_READABLE_ERR", - "NOT_SUPPORTED_ERR", - "NO_DATA_ALLOWED_ERR", - "NO_ERR", - "NO_ERROR", - "NO_MODIFICATION_ALLOWED_ERR", - "NUMBER_TYPE", - "NUM_COMPRESSED_TEXTURE_FORMATS", - "NaN", - "NamedNodeMap", - "Navigator", - "NearbyLinks", - "NetworkInformation", - "Node", - "NodeFilter", - "NodeIterator", - "NodeList", - "Notation", - "Notification", - "NotifyPaintEvent", - "Number", - "NumberFormat", - "OBSOLETE", - "ONE", - "ONE_MINUS_CONSTANT_ALPHA", - "ONE_MINUS_CONSTANT_COLOR", - "ONE_MINUS_DST_ALPHA", - "ONE_MINUS_DST_COLOR", - "ONE_MINUS_SRC_ALPHA", - "ONE_MINUS_SRC_COLOR", - "OPEN", - "OPENED", - "OPENING", - "ORDERED_NODE_ITERATOR_TYPE", - "ORDERED_NODE_SNAPSHOT_TYPE", - "OUT_OF_MEMORY", - "Object", - "OfflineAudioCompletionEvent", - "OfflineAudioContext", - "OfflineResourceList", - "Option", - "OscillatorNode", - "OverflowEvent", - "PACK_ALIGNMENT", - "PAGE_RULE", - "PARSE_ERR", - "PATHSEG_ARC_ABS", - "PATHSEG_ARC_REL", - "PATHSEG_CLOSEPATH", - "PATHSEG_CURVETO_CUBIC_ABS", - "PATHSEG_CURVETO_CUBIC_REL", - "PATHSEG_CURVETO_CUBIC_SMOOTH_ABS", - "PATHSEG_CURVETO_CUBIC_SMOOTH_REL", - "PATHSEG_CURVETO_QUADRATIC_ABS", - "PATHSEG_CURVETO_QUADRATIC_REL", - "PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS", - "PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL", - "PATHSEG_LINETO_ABS", - "PATHSEG_LINETO_HORIZONTAL_ABS", - "PATHSEG_LINETO_HORIZONTAL_REL", - "PATHSEG_LINETO_REL", - "PATHSEG_LINETO_VERTICAL_ABS", - "PATHSEG_LINETO_VERTICAL_REL", - "PATHSEG_MOVETO_ABS", - "PATHSEG_MOVETO_REL", - "PATHSEG_UNKNOWN", - "PATH_EXISTS_ERR", - "PEAKING", - "PERMISSION_DENIED", - "PERSISTENT", - "PI", - "PLAYING_STATE", - "POINTS", - "POLYGON_OFFSET_FACTOR", - "POLYGON_OFFSET_FILL", - "POLYGON_OFFSET_UNITS", - "POSITION_UNAVAILABLE", - "POSITIVE_INFINITY", - "PREV", - "PREV_NO_DUPLICATE", - "PROCESSING_INSTRUCTION_NODE", - "PageChangeEvent", - "PageTransitionEvent", - "PaintRequest", - "PaintRequestList", - "PannerNode", - "Path2D", - "Performance", - "PerformanceEntry", - "PerformanceMark", - "PerformanceMeasure", - "PerformanceNavigation", - "PerformanceResourceTiming", - "PerformanceTiming", - "PeriodicWave", - "Plugin", - "PluginArray", - "PopStateEvent", - "PopupBlockedEvent", - "ProcessingInstruction", - "ProgressEvent", - "Promise", - "PropertyNodeList", - "Proxy", - "PushManager", - "PushSubscription", - "Q", - "QUOTA_ERR", - "QUOTA_EXCEEDED_ERR", - "QueryInterface", - "READ_ONLY", - "READ_ONLY_ERR", - "READ_WRITE", - "RED_BITS", - "REMOVAL", - "RENDERBUFFER", - "RENDERBUFFER_ALPHA_SIZE", - "RENDERBUFFER_BINDING", - "RENDERBUFFER_BLUE_SIZE", - "RENDERBUFFER_DEPTH_SIZE", - "RENDERBUFFER_GREEN_SIZE", - "RENDERBUFFER_HEIGHT", - "RENDERBUFFER_INTERNAL_FORMAT", - "RENDERBUFFER_RED_SIZE", - "RENDERBUFFER_STENCIL_SIZE", - "RENDERBUFFER_WIDTH", - "RENDERER", - "RENDERING_INTENT_ABSOLUTE_COLORIMETRIC", - "RENDERING_INTENT_AUTO", - "RENDERING_INTENT_PERCEPTUAL", - "RENDERING_INTENT_RELATIVE_COLORIMETRIC", - "RENDERING_INTENT_SATURATION", - "RENDERING_INTENT_UNKNOWN", - "REPEAT", - "REPLACE", - "RGB", - "RGB565", - "RGB5_A1", - "RGBA", - "RGBA4", - "RGBColor", - "ROTATION_CLOCKWISE", - "ROTATION_COUNTERCLOCKWISE", - "RTCDataChannelEvent", - "RTCIceCandidate", - "RTCPeerConnectionIceEvent", - "RTCRtpReceiver", - "RTCRtpSender", - "RTCSessionDescription", - "RTCStatsReport", - "RadioNodeList", - "Range", - "RangeError", - "RangeException", - "RecordErrorEvent", - "Rect", - "ReferenceError", - "RegExp", - "Request", - "Response", - "SAMPLER_2D", - "SAMPLER_CUBE", - "SAMPLES", - "SAMPLE_ALPHA_TO_COVERAGE", - "SAMPLE_BUFFERS", - "SAMPLE_COVERAGE", - "SAMPLE_COVERAGE_INVERT", - "SAMPLE_COVERAGE_VALUE", - "SAWTOOTH", - "SCHEDULED_STATE", - "SCISSOR_BOX", - "SCISSOR_TEST", - "SCROLL_PAGE_DOWN", - "SCROLL_PAGE_UP", - "SDP_ANSWER", - "SDP_OFFER", - "SDP_PRANSWER", - "SECURITY_ERR", - "SELECT", - "SERIALIZE_ERR", - "SEVERITY_ERROR", - "SEVERITY_FATAL_ERROR", - "SEVERITY_WARNING", - "SHADER_COMPILER", - "SHADER_TYPE", - "SHADING_LANGUAGE_VERSION", - "SHIFT_MASK", - "SHORT", - "SHOWING", - "SHOW_ALL", - "SHOW_ATTRIBUTE", - "SHOW_CDATA_SECTION", - "SHOW_COMMENT", - "SHOW_DOCUMENT", - "SHOW_DOCUMENT_FRAGMENT", - "SHOW_DOCUMENT_TYPE", - "SHOW_ELEMENT", - "SHOW_ENTITY", - "SHOW_ENTITY_REFERENCE", - "SHOW_NOTATION", - "SHOW_PROCESSING_INSTRUCTION", - "SHOW_TEXT", - "SINE", - "SOUNDFIELD", - "SQLException", - "SQRT1_2", - "SQRT2", - "SQUARE", - "SRC_ALPHA", - "SRC_ALPHA_SATURATE", - "SRC_COLOR", - "START_TO_END", - "START_TO_START", - "STATIC_DRAW", - "STENCIL_ATTACHMENT", - "STENCIL_BACK_FAIL", - "STENCIL_BACK_FUNC", - "STENCIL_BACK_PASS_DEPTH_FAIL", - "STENCIL_BACK_PASS_DEPTH_PASS", - "STENCIL_BACK_REF", - "STENCIL_BACK_VALUE_MASK", - "STENCIL_BACK_WRITEMASK", - "STENCIL_BITS", - "STENCIL_BUFFER_BIT", - "STENCIL_CLEAR_VALUE", - "STENCIL_FAIL", - "STENCIL_FUNC", - "STENCIL_INDEX", - "STENCIL_INDEX8", - "STENCIL_PASS_DEPTH_FAIL", - "STENCIL_PASS_DEPTH_PASS", - "STENCIL_REF", - "STENCIL_TEST", - "STENCIL_VALUE_MASK", - "STENCIL_WRITEMASK", - "STREAM_DRAW", - "STRING_TYPE", - "STYLE_RULE", - "SUBPIXEL_BITS", - "SUPPORTS_RULE", - "SVGAElement", - "SVGAltGlyphDefElement", - "SVGAltGlyphElement", - "SVGAltGlyphItemElement", - "SVGAngle", - "SVGAnimateColorElement", - "SVGAnimateElement", - "SVGAnimateMotionElement", - "SVGAnimateTransformElement", - "SVGAnimatedAngle", - "SVGAnimatedBoolean", - "SVGAnimatedEnumeration", - "SVGAnimatedInteger", - "SVGAnimatedLength", - "SVGAnimatedLengthList", - "SVGAnimatedNumber", - "SVGAnimatedNumberList", - "SVGAnimatedPreserveAspectRatio", - "SVGAnimatedRect", - "SVGAnimatedString", - "SVGAnimatedTransformList", - "SVGAnimationElement", - "SVGCircleElement", - "SVGClipPathElement", - "SVGColor", - "SVGComponentTransferFunctionElement", - "SVGCursorElement", - "SVGDefsElement", - "SVGDescElement", - "SVGDiscardElement", - "SVGDocument", - "SVGElement", - "SVGElementInstance", - "SVGElementInstanceList", - "SVGEllipseElement", - "SVGException", - "SVGFEBlendElement", - "SVGFEColorMatrixElement", - "SVGFEComponentTransferElement", - "SVGFECompositeElement", - "SVGFEConvolveMatrixElement", - "SVGFEDiffuseLightingElement", - "SVGFEDisplacementMapElement", - "SVGFEDistantLightElement", - "SVGFEDropShadowElement", - "SVGFEFloodElement", - "SVGFEFuncAElement", - "SVGFEFuncBElement", - "SVGFEFuncGElement", - "SVGFEFuncRElement", - "SVGFEGaussianBlurElement", - "SVGFEImageElement", - "SVGFEMergeElement", - "SVGFEMergeNodeElement", - "SVGFEMorphologyElement", - "SVGFEOffsetElement", - "SVGFEPointLightElement", - "SVGFESpecularLightingElement", - "SVGFESpotLightElement", - "SVGFETileElement", - "SVGFETurbulenceElement", - "SVGFilterElement", - "SVGFontElement", - "SVGFontFaceElement", - "SVGFontFaceFormatElement", - "SVGFontFaceNameElement", - "SVGFontFaceSrcElement", - "SVGFontFaceUriElement", - "SVGForeignObjectElement", - "SVGGElement", - "SVGGeometryElement", - "SVGGlyphElement", - "SVGGlyphRefElement", - "SVGGradientElement", - "SVGGraphicsElement", - "SVGHKernElement", - "SVGImageElement", - "SVGLength", - "SVGLengthList", - "SVGLineElement", - "SVGLinearGradientElement", - "SVGMPathElement", - "SVGMarkerElement", - "SVGMaskElement", - "SVGMatrix", - "SVGMetadataElement", - "SVGMissingGlyphElement", - "SVGNumber", - "SVGNumberList", - "SVGPaint", - "SVGPathElement", - "SVGPathSeg", - "SVGPathSegArcAbs", - "SVGPathSegArcRel", - "SVGPathSegClosePath", - "SVGPathSegCurvetoCubicAbs", - "SVGPathSegCurvetoCubicRel", - "SVGPathSegCurvetoCubicSmoothAbs", - "SVGPathSegCurvetoCubicSmoothRel", - "SVGPathSegCurvetoQuadraticAbs", - "SVGPathSegCurvetoQuadraticRel", - "SVGPathSegCurvetoQuadraticSmoothAbs", - "SVGPathSegCurvetoQuadraticSmoothRel", - "SVGPathSegLinetoAbs", - "SVGPathSegLinetoHorizontalAbs", - "SVGPathSegLinetoHorizontalRel", - "SVGPathSegLinetoRel", - "SVGPathSegLinetoVerticalAbs", - "SVGPathSegLinetoVerticalRel", - "SVGPathSegList", - "SVGPathSegMovetoAbs", - "SVGPathSegMovetoRel", - "SVGPatternElement", - "SVGPoint", - "SVGPointList", - "SVGPolygonElement", - "SVGPolylineElement", - "SVGPreserveAspectRatio", - "SVGRadialGradientElement", - "SVGRect", - "SVGRectElement", - "SVGRenderingIntent", - "SVGSVGElement", - "SVGScriptElement", - "SVGSetElement", - "SVGStopElement", - "SVGStringList", - "SVGStyleElement", - "SVGSwitchElement", - "SVGSymbolElement", - "SVGTRefElement", - "SVGTSpanElement", - "SVGTextContentElement", - "SVGTextElement", - "SVGTextPathElement", - "SVGTextPositioningElement", - "SVGTitleElement", - "SVGTransform", - "SVGTransformList", - "SVGUnitTypes", - "SVGUseElement", - "SVGVKernElement", - "SVGViewElement", - "SVGViewSpec", - "SVGZoomAndPan", - "SVGZoomEvent", - "SVG_ANGLETYPE_DEG", - "SVG_ANGLETYPE_GRAD", - "SVG_ANGLETYPE_RAD", - "SVG_ANGLETYPE_UNKNOWN", - "SVG_ANGLETYPE_UNSPECIFIED", - "SVG_CHANNEL_A", - "SVG_CHANNEL_B", - "SVG_CHANNEL_G", - "SVG_CHANNEL_R", - "SVG_CHANNEL_UNKNOWN", - "SVG_COLORTYPE_CURRENTCOLOR", - "SVG_COLORTYPE_RGBCOLOR", - "SVG_COLORTYPE_RGBCOLOR_ICCCOLOR", - "SVG_COLORTYPE_UNKNOWN", - "SVG_EDGEMODE_DUPLICATE", - "SVG_EDGEMODE_NONE", - "SVG_EDGEMODE_UNKNOWN", - "SVG_EDGEMODE_WRAP", - "SVG_FEBLEND_MODE_COLOR", - "SVG_FEBLEND_MODE_COLOR_BURN", - "SVG_FEBLEND_MODE_COLOR_DODGE", - "SVG_FEBLEND_MODE_DARKEN", - "SVG_FEBLEND_MODE_DIFFERENCE", - "SVG_FEBLEND_MODE_EXCLUSION", - "SVG_FEBLEND_MODE_HARD_LIGHT", - "SVG_FEBLEND_MODE_HUE", - "SVG_FEBLEND_MODE_LIGHTEN", - "SVG_FEBLEND_MODE_LUMINOSITY", - "SVG_FEBLEND_MODE_MULTIPLY", - "SVG_FEBLEND_MODE_NORMAL", - "SVG_FEBLEND_MODE_OVERLAY", - "SVG_FEBLEND_MODE_SATURATION", - "SVG_FEBLEND_MODE_SCREEN", - "SVG_FEBLEND_MODE_SOFT_LIGHT", - "SVG_FEBLEND_MODE_UNKNOWN", - "SVG_FECOLORMATRIX_TYPE_HUEROTATE", - "SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA", - "SVG_FECOLORMATRIX_TYPE_MATRIX", - "SVG_FECOLORMATRIX_TYPE_SATURATE", - "SVG_FECOLORMATRIX_TYPE_UNKNOWN", - "SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE", - "SVG_FECOMPONENTTRANSFER_TYPE_GAMMA", - "SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY", - "SVG_FECOMPONENTTRANSFER_TYPE_LINEAR", - "SVG_FECOMPONENTTRANSFER_TYPE_TABLE", - "SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN", - "SVG_FECOMPOSITE_OPERATOR_ARITHMETIC", - "SVG_FECOMPOSITE_OPERATOR_ATOP", - "SVG_FECOMPOSITE_OPERATOR_IN", - "SVG_FECOMPOSITE_OPERATOR_OUT", - "SVG_FECOMPOSITE_OPERATOR_OVER", - "SVG_FECOMPOSITE_OPERATOR_UNKNOWN", - "SVG_FECOMPOSITE_OPERATOR_XOR", - "SVG_INVALID_VALUE_ERR", - "SVG_LENGTHTYPE_CM", - "SVG_LENGTHTYPE_EMS", - "SVG_LENGTHTYPE_EXS", - "SVG_LENGTHTYPE_IN", - "SVG_LENGTHTYPE_MM", - "SVG_LENGTHTYPE_NUMBER", - "SVG_LENGTHTYPE_PC", - "SVG_LENGTHTYPE_PERCENTAGE", - "SVG_LENGTHTYPE_PT", - "SVG_LENGTHTYPE_PX", - "SVG_LENGTHTYPE_UNKNOWN", - "SVG_MARKERUNITS_STROKEWIDTH", - "SVG_MARKERUNITS_UNKNOWN", - "SVG_MARKERUNITS_USERSPACEONUSE", - "SVG_MARKER_ORIENT_ANGLE", - "SVG_MARKER_ORIENT_AUTO", - "SVG_MARKER_ORIENT_UNKNOWN", - "SVG_MASKTYPE_ALPHA", - "SVG_MASKTYPE_LUMINANCE", - "SVG_MATRIX_NOT_INVERTABLE", - "SVG_MEETORSLICE_MEET", - "SVG_MEETORSLICE_SLICE", - "SVG_MEETORSLICE_UNKNOWN", - "SVG_MORPHOLOGY_OPERATOR_DILATE", - "SVG_MORPHOLOGY_OPERATOR_ERODE", - "SVG_MORPHOLOGY_OPERATOR_UNKNOWN", - "SVG_PAINTTYPE_CURRENTCOLOR", - "SVG_PAINTTYPE_NONE", - "SVG_PAINTTYPE_RGBCOLOR", - "SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR", - "SVG_PAINTTYPE_UNKNOWN", - "SVG_PAINTTYPE_URI", - "SVG_PAINTTYPE_URI_CURRENTCOLOR", - "SVG_PAINTTYPE_URI_NONE", - "SVG_PAINTTYPE_URI_RGBCOLOR", - "SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR", - "SVG_PRESERVEASPECTRATIO_NONE", - "SVG_PRESERVEASPECTRATIO_UNKNOWN", - "SVG_PRESERVEASPECTRATIO_XMAXYMAX", - "SVG_PRESERVEASPECTRATIO_XMAXYMID", - "SVG_PRESERVEASPECTRATIO_XMAXYMIN", - "SVG_PRESERVEASPECTRATIO_XMIDYMAX", - "SVG_PRESERVEASPECTRATIO_XMIDYMID", - "SVG_PRESERVEASPECTRATIO_XMIDYMIN", - "SVG_PRESERVEASPECTRATIO_XMINYMAX", - "SVG_PRESERVEASPECTRATIO_XMINYMID", - "SVG_PRESERVEASPECTRATIO_XMINYMIN", - "SVG_SPREADMETHOD_PAD", - "SVG_SPREADMETHOD_REFLECT", - "SVG_SPREADMETHOD_REPEAT", - "SVG_SPREADMETHOD_UNKNOWN", - "SVG_STITCHTYPE_NOSTITCH", - "SVG_STITCHTYPE_STITCH", - "SVG_STITCHTYPE_UNKNOWN", - "SVG_TRANSFORM_MATRIX", - "SVG_TRANSFORM_ROTATE", - "SVG_TRANSFORM_SCALE", - "SVG_TRANSFORM_SKEWX", - "SVG_TRANSFORM_SKEWY", - "SVG_TRANSFORM_TRANSLATE", - "SVG_TRANSFORM_UNKNOWN", - "SVG_TURBULENCE_TYPE_FRACTALNOISE", - "SVG_TURBULENCE_TYPE_TURBULENCE", - "SVG_TURBULENCE_TYPE_UNKNOWN", - "SVG_UNIT_TYPE_OBJECTBOUNDINGBOX", - "SVG_UNIT_TYPE_UNKNOWN", - "SVG_UNIT_TYPE_USERSPACEONUSE", - "SVG_WRONG_TYPE_ERR", - "SVG_ZOOMANDPAN_DISABLE", - "SVG_ZOOMANDPAN_MAGNIFY", - "SVG_ZOOMANDPAN_UNKNOWN", - "SYNTAX_ERR", - "SavedPages", - "Screen", - "ScreenOrientation", - "Script", - "ScriptProcessorNode", - "ScrollAreaEvent", - "SecurityPolicyViolationEvent", - "Selection", - "ServiceWorker", - "ServiceWorkerContainer", - "ServiceWorkerRegistration", - "SessionDescription", - "Set", - "ShadowRoot", - "SharedWorker", - "SimpleGestureEvent", - "SpeechSynthesisEvent", - "SpeechSynthesisUtterance", - "StopIteration", - "Storage", - "StorageEvent", - "String", - "StyleSheet", - "StyleSheetList", - "SubtleCrypto", - "Symbol", - "SyntaxError", - "TEMPORARY", - "TEXTPATH_METHODTYPE_ALIGN", - "TEXTPATH_METHODTYPE_STRETCH", - "TEXTPATH_METHODTYPE_UNKNOWN", - "TEXTPATH_SPACINGTYPE_AUTO", - "TEXTPATH_SPACINGTYPE_EXACT", - "TEXTPATH_SPACINGTYPE_UNKNOWN", - "TEXTURE", - "TEXTURE0", - "TEXTURE1", - "TEXTURE10", - "TEXTURE11", - "TEXTURE12", - "TEXTURE13", - "TEXTURE14", - "TEXTURE15", - "TEXTURE16", - "TEXTURE17", - "TEXTURE18", - "TEXTURE19", - "TEXTURE2", - "TEXTURE20", - "TEXTURE21", - "TEXTURE22", - "TEXTURE23", - "TEXTURE24", - "TEXTURE25", - "TEXTURE26", - "TEXTURE27", - "TEXTURE28", - "TEXTURE29", - "TEXTURE3", - "TEXTURE30", - "TEXTURE31", - "TEXTURE4", - "TEXTURE5", - "TEXTURE6", - "TEXTURE7", - "TEXTURE8", - "TEXTURE9", - "TEXTURE_2D", - "TEXTURE_BINDING_2D", - "TEXTURE_BINDING_CUBE_MAP", - "TEXTURE_CUBE_MAP", - "TEXTURE_CUBE_MAP_NEGATIVE_X", - "TEXTURE_CUBE_MAP_NEGATIVE_Y", - "TEXTURE_CUBE_MAP_NEGATIVE_Z", - "TEXTURE_CUBE_MAP_POSITIVE_X", - "TEXTURE_CUBE_MAP_POSITIVE_Y", - "TEXTURE_CUBE_MAP_POSITIVE_Z", - "TEXTURE_MAG_FILTER", - "TEXTURE_MAX_ANISOTROPY_EXT", - "TEXTURE_MIN_FILTER", - "TEXTURE_WRAP_S", - "TEXTURE_WRAP_T", - "TEXT_NODE", - "TIMEOUT", - "TIMEOUT_ERR", - "TOO_LARGE_ERR", - "TRANSACTION_INACTIVE_ERR", - "TRIANGLE", - "TRIANGLES", - "TRIANGLE_FAN", - "TRIANGLE_STRIP", - "TYPE_BACK_FORWARD", - "TYPE_ERR", - "TYPE_MISMATCH_ERR", - "TYPE_NAVIGATE", - "TYPE_RELOAD", - "TYPE_RESERVED", - "Text", - "TextDecoder", - "TextEncoder", - "TextEvent", - "TextMetrics", - "TextTrack", - "TextTrackCue", - "TextTrackCueList", - "TextTrackList", - "TimeEvent", - "TimeRanges", - "Touch", - "TouchEvent", - "TouchList", - "TrackEvent", - "TransitionEvent", - "TreeWalker", - "TypeError", - "UIEvent", - "UNCACHED", - "UNKNOWN_ERR", - "UNKNOWN_RULE", - "UNMASKED_RENDERER_WEBGL", - "UNMASKED_VENDOR_WEBGL", - "UNORDERED_NODE_ITERATOR_TYPE", - "UNORDERED_NODE_SNAPSHOT_TYPE", - "UNPACK_ALIGNMENT", - "UNPACK_COLORSPACE_CONVERSION_WEBGL", - "UNPACK_FLIP_Y_WEBGL", - "UNPACK_PREMULTIPLY_ALPHA_WEBGL", - "UNSCHEDULED_STATE", - "UNSENT", - "UNSIGNED_BYTE", - "UNSIGNED_INT", - "UNSIGNED_SHORT", - "UNSIGNED_SHORT_4_4_4_4", - "UNSIGNED_SHORT_5_5_5_1", - "UNSIGNED_SHORT_5_6_5", - "UNSPECIFIED_EVENT_TYPE_ERR", - "UPDATEREADY", - "URIError", - "URL", - "URLSearchParams", - "URLUnencoded", - "URL_MISMATCH_ERR", - "UTC", - "Uint16Array", - "Uint32Array", - "Uint8Array", - "Uint8ClampedArray", - "UserMessageHandler", - "UserMessageHandlersNamespace", - "UserProximityEvent", - "VALIDATE_STATUS", - "VALIDATION_ERR", - "VARIABLES_RULE", - "VENDOR", - "VERSION", - "VERSION_CHANGE", - "VERSION_ERR", - "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", - "VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE", - "VERTEX_ATTRIB_ARRAY_ENABLED", - "VERTEX_ATTRIB_ARRAY_NORMALIZED", - "VERTEX_ATTRIB_ARRAY_POINTER", - "VERTEX_ATTRIB_ARRAY_SIZE", - "VERTEX_ATTRIB_ARRAY_STRIDE", - "VERTEX_ATTRIB_ARRAY_TYPE", - "VERTEX_SHADER", - "VERTICAL", - "VERTICAL_AXIS", - "VER_ERR", - "VIEWPORT", - "VIEWPORT_RULE", - "VTTCue", - "VTTRegion", - "ValidityState", - "VideoStreamTrack", - "WEBKIT_FILTER_RULE", - "WEBKIT_KEYFRAMES_RULE", - "WEBKIT_KEYFRAME_RULE", - "WEBKIT_REGION_RULE", - "WRONG_DOCUMENT_ERR", - "WaveShaperNode", - "WeakMap", - "WeakSet", - "WebGLActiveInfo", - "WebGLBuffer", - "WebGLContextEvent", - "WebGLFramebuffer", - "WebGLProgram", - "WebGLRenderbuffer", - "WebGLRenderingContext", - "WebGLShader", - "WebGLShaderPrecisionFormat", - "WebGLTexture", - "WebGLUniformLocation", - "WebGLVertexArray", - "WebKitAnimationEvent", - "WebKitBlobBuilder", - "WebKitCSSFilterRule", - "WebKitCSSFilterValue", - "WebKitCSSKeyframeRule", - "WebKitCSSKeyframesRule", - "WebKitCSSMatrix", - "WebKitCSSRegionRule", - "WebKitCSSTransformValue", - "WebKitDataCue", - "WebKitGamepad", - "WebKitMediaKeyError", - "WebKitMediaKeyMessageEvent", - "WebKitMediaKeySession", - "WebKitMediaKeys", - "WebKitMediaSource", - "WebKitMutationObserver", - "WebKitNamespace", - "WebKitPlaybackTargetAvailabilityEvent", - "WebKitPoint", - "WebKitShadowRoot", - "WebKitSourceBuffer", - "WebKitSourceBufferList", - "WebKitTransitionEvent", - "WebSocket", - "WheelEvent", - "Window", - "Worker", - "XMLDocument", - "XMLHttpRequest", - "XMLHttpRequestEventTarget", - "XMLHttpRequestException", - "XMLHttpRequestProgressEvent", - "XMLHttpRequestUpload", - "XMLSerializer", - "XMLStylesheetProcessingInstruction", - "XPathEvaluator", - "XPathException", - "XPathExpression", - "XPathNSResolver", - "XPathResult", - "XSLTProcessor", - "ZERO", - "_XD0M_", - "_YD0M_", - "__defineGetter__", - "__defineSetter__", - "__lookupGetter__", - "__lookupSetter__", - "__opera", - "__proto__", - "_browserjsran", - "a", - "aLink", - "abbr", - "abort", - "abs", - "absolute", - "acceleration", - "accelerationIncludingGravity", - "accelerator", - "accept", - "acceptCharset", - "acceptNode", - "accessKey", - "accessKeyLabel", - "accuracy", - "acos", - "acosh", - "action", - "actionURL", - "active", - "activeCues", - "activeElement", - "activeSourceBuffers", - "activeSourceCount", - "activeTexture", - "add", - "addBehavior", - "addCandidate", - "addColorStop", - "addCue", - "addElement", - "addEventListener", - "addFilter", - "addFromString", - "addFromUri", - "addIceCandidate", - "addImport", - "addListener", - "addNamed", - "addPageRule", - "addPath", - "addPointer", - "addRange", - "addRegion", - "addRule", - "addSearchEngine", - "addSourceBuffer", - "addStream", - "addTextTrack", - "addTrack", - "addWakeLockListener", - "addedNodes", - "additionalName", - "additiveSymbols", - "addons", - "adoptNode", - "adr", - "advance", - "alert", - "algorithm", - "align", - "align-content", - "align-items", - "align-self", - "alignContent", - "alignItems", - "alignSelf", - "alignmentBaseline", - "alinkColor", - "all", - "allowFullscreen", - "allowedDirections", - "alpha", - "alt", - "altGraphKey", - "altHtml", - "altKey", - "altLeft", - "altitude", - "altitudeAccuracy", - "amplitude", - "ancestorOrigins", - "anchor", - "anchorNode", - "anchorOffset", - "anchors", - "angle", - "animVal", - "animate", - "animatedInstanceRoot", - "animatedNormalizedPathSegList", - "animatedPathSegList", - "animatedPoints", - "animation", - "animation-delay", - "animation-direction", - "animation-duration", - "animation-fill-mode", - "animation-iteration-count", - "animation-name", - "animation-play-state", - "animation-timing-function", - "animationDelay", - "animationDirection", - "animationDuration", - "animationFillMode", - "animationIterationCount", - "animationName", - "animationPlayState", - "animationStartTime", - "animationTimingFunction", - "animationsPaused", - "anniversary", - "app", - "appCodeName", - "appMinorVersion", - "appName", - "appNotifications", - "appVersion", - "append", - "appendBuffer", - "appendChild", - "appendData", - "appendItem", - "appendMedium", - "appendNamed", - "appendRule", - "appendStream", - "appendWindowEnd", - "appendWindowStart", - "applets", - "applicationCache", - "apply", - "applyElement", - "arc", - "arcTo", - "archive", - "areas", - "arguments", - "arrayBuffer", - "asin", - "asinh", - "assert", - "assign", - "async", - "atEnd", - "atan", - "atan2", - "atanh", - "atob", - "attachEvent", - "attachShader", - "attachments", - "attack", - "attrChange", - "attrName", - "attributeName", - "attributeNamespace", - "attributes", - "audioTracks", - "autoIncrement", - "autobuffer", - "autocapitalize", - "autocomplete", - "autocorrect", - "autofocus", - "autoplay", - "availHeight", - "availLeft", - "availTop", - "availWidth", - "availability", - "available", - "aversion", - "axes", - "axis", - "azimuth", - "b", - "back", - "backface-visibility", - "backfaceVisibility", - "background", - "background-attachment", - "background-blend-mode", - "background-clip", - "background-color", - "background-image", - "background-origin", - "background-position", - "background-repeat", - "background-size", - "backgroundAttachment", - "backgroundBlendMode", - "backgroundClip", - "backgroundColor", - "backgroundImage", - "backgroundOrigin", - "backgroundPosition", - "backgroundPositionX", - "backgroundPositionY", - "backgroundRepeat", - "backgroundSize", - "badInput", - "balance", - "baseFrequencyX", - "baseFrequencyY", - "baseNode", - "baseOffset", - "baseURI", - "baseVal", - "baselineShift", - "battery", - "bday", - "beginElement", - "beginElementAt", - "beginPath", - "behavior", - "behaviorCookie", - "behaviorPart", - "behaviorUrns", - "beta", - "bezierCurveTo", - "bgColor", - "bgProperties", - "bias", - "big", - "binaryType", - "bind", - "bindAttribLocation", - "bindBuffer", - "bindFramebuffer", - "bindRenderbuffer", - "bindTexture", - "blendColor", - "blendEquation", - "blendEquationSeparate", - "blendFunc", - "blendFuncSeparate", - "blink", - "blob", - "blockDirection", - "blue", - "blur", - "body", - "bodyUsed", - "bold", - "bookmarks", - "booleanValue", - "border", - "border-bottom", - "border-bottom-color", - "border-bottom-left-radius", - "border-bottom-right-radius", - "border-bottom-style", - "border-bottom-width", - "border-collapse", - "border-color", - "border-image", - "border-image-outset", - "border-image-repeat", - "border-image-slice", - "border-image-source", - "border-image-width", - "border-left", - "border-left-color", - "border-left-style", - "border-left-width", - "border-radius", - "border-right", - "border-right-color", - "border-right-style", - "border-right-width", - "border-spacing", - "border-style", - "border-top", - "border-top-color", - "border-top-left-radius", - "border-top-right-radius", - "border-top-style", - "border-top-width", - "border-width", - "borderBottom", - "borderBottomColor", - "borderBottomLeftRadius", - "borderBottomRightRadius", - "borderBottomStyle", - "borderBottomWidth", - "borderCollapse", - "borderColor", - "borderColorDark", - "borderColorLight", - "borderImage", - "borderImageOutset", - "borderImageRepeat", - "borderImageSlice", - "borderImageSource", - "borderImageWidth", - "borderLeft", - "borderLeftColor", - "borderLeftStyle", - "borderLeftWidth", - "borderRadius", - "borderRight", - "borderRightColor", - "borderRightStyle", - "borderRightWidth", - "borderSpacing", - "borderStyle", - "borderTop", - "borderTopColor", - "borderTopLeftRadius", - "borderTopRightRadius", - "borderTopStyle", - "borderTopWidth", - "borderWidth", - "bottom", - "bottomMargin", - "bound", - "boundElements", - "boundingClientRect", - "boundingHeight", - "boundingLeft", - "boundingTop", - "boundingWidth", - "bounds", - "box-decoration-break", - "box-shadow", - "box-sizing", - "boxDecorationBreak", - "boxShadow", - "boxSizing", - "breakAfter", - "breakBefore", - "breakInside", - "browserLanguage", - "btoa", - "bubbles", - "buffer", - "bufferData", - "bufferDepth", - "bufferSize", - "bufferSubData", - "buffered", - "bufferedAmount", - "buildID", - "buildNumber", - "button", - "buttonID", - "buttons", - "byteLength", - "byteOffset", - "c", - "call", - "caller", - "canBeFormatted", - "canBeMounted", - "canBeShared", - "canHaveChildren", - "canHaveHTML", - "canPlayType", - "cancel", - "cancelAnimationFrame", - "cancelBubble", - "cancelScheduledValues", - "cancelable", - "candidate", - "canvas", - "caption", - "caption-side", - "captionSide", - "captureEvents", - "captureStackTrace", - "caretPositionFromPoint", - "caretRangeFromPoint", - "cast", - "catch", - "category", - "cbrt", - "cd", - "ceil", - "cellIndex", - "cellPadding", - "cellSpacing", - "cells", - "ch", - "chOff", - "chain", - "challenge", - "changedTouches", - "channel", - "channelCount", - "channelCountMode", - "channelInterpretation", - "char", - "charAt", - "charCode", - "charCodeAt", - "charIndex", - "characterSet", - "charging", - "chargingTime", - "charset", - "checkEnclosure", - "checkFramebufferStatus", - "checkIntersection", - "checkValidity", - "checked", - "childElementCount", - "childNodes", - "children", - "chrome", - "ciphertext", - "cite", - "classList", - "className", - "classid", - "clear", - "clearAttributes", - "clearColor", - "clearData", - "clearDepth", - "clearImmediate", - "clearInterval", - "clearMarks", - "clearMeasures", - "clearParameters", - "clearRect", - "clearResourceTimings", - "clearShadow", - "clearStencil", - "clearTimeout", - "clearWatch", - "click", - "clickCount", - "clientHeight", - "clientInformation", - "clientLeft", - "clientRect", - "clientRects", - "clientTop", - "clientWidth", - "clientX", - "clientY", - "clip", - "clip-path", - "clip-rule", - "clipBottom", - "clipLeft", - "clipPath", - "clipPathUnits", - "clipRight", - "clipRule", - "clipTop", - "clipboardData", - "clone", - "cloneContents", - "cloneNode", - "cloneRange", - "close", - "closePath", - "closed", - "closest", - "clz", - "clz32", - "cmp", - "code", - "codeBase", - "codePointAt", - "codeType", - "colSpan", - "collapse", - "collapseToEnd", - "collapseToStart", - "collapsed", - "collect", - "colno", - "color", - "color-interpolation", - "color-interpolation-filters", - "colorDepth", - "colorInterpolation", - "colorInterpolationFilters", - "colorMask", - "colorType", - "cols", - "columnCount", - "columnFill", - "columnGap", - "columnNumber", - "columnRule", - "columnRuleColor", - "columnRuleStyle", - "columnRuleWidth", - "columnSpan", - "columnWidth", - "columns", - "command", - "commitPreferences", - "commonAncestorContainer", - "compact", - "compareBoundaryPoints", - "compareDocumentPosition", - "compareEndPoints", - "compareNode", - "comparePoint", - "compatMode", - "compatible", - "compile", - "compileShader", - "complete", - "componentFromPoint", - "compositionEndOffset", - "compositionStartOffset", - "compressedTexImage2D", - "compressedTexSubImage2D", - "concat", - "conditionText", - "coneInnerAngle", - "coneOuterAngle", - "coneOuterGain", - "confirm", - "confirmComposition", - "confirmSiteSpecificTrackingException", - "confirmWebWideTrackingException", - "connect", - "connectEnd", - "connectStart", - "connected", - "connection", - "connectionSpeed", - "console", - "consolidate", - "constrictionActive", - "constructor", - "contactID", - "contains", - "containsNode", - "content", - "contentDocument", - "contentEditable", - "contentOverflow", - "contentScriptType", - "contentStyleType", - "contentType", - "contentWindow", - "context", - "contextMenu", - "contextmenu", - "continue", - "continuous", - "control", - "controller", - "controls", - "convertToSpecifiedUnits", - "cookie", - "cookieEnabled", - "coords", - "copyFromChannel", - "copyTexImage2D", - "copyTexSubImage2D", - "copyToChannel", - "copyWithin", - "correspondingElement", - "correspondingUseElement", - "cos", - "cosh", - "count", - "counter-increment", - "counter-reset", - "counterIncrement", - "counterReset", - "cpuClass", - "cpuSleepAllowed", - "create", - "createAnalyser", - "createAnswer", - "createAttribute", - "createAttributeNS", - "createBiquadFilter", - "createBuffer", - "createBufferSource", - "createCDATASection", - "createCSSStyleSheet", - "createCaption", - "createChannelMerger", - "createChannelSplitter", - "createComment", - "createContextualFragment", - "createControlRange", - "createConvolver", - "createDTMFSender", - "createDataChannel", - "createDelay", - "createDelayNode", - "createDocument", - "createDocumentFragment", - "createDocumentType", - "createDynamicsCompressor", - "createElement", - "createElementNS", - "createEntityReference", - "createEvent", - "createEventObject", - "createExpression", - "createFramebuffer", - "createFunction", - "createGain", - "createGainNode", - "createHTMLDocument", - "createImageBitmap", - "createImageData", - "createIndex", - "createJavaScriptNode", - "createLinearGradient", - "createMediaElementSource", - "createMediaKeys", - "createMediaStreamDestination", - "createMediaStreamSource", - "createMutableFile", - "createNSResolver", - "createNodeIterator", - "createNotification", - "createObjectStore", - "createObjectURL", - "createOffer", - "createOscillator", - "createPanner", - "createPattern", - "createPeriodicWave", - "createPopup", - "createProcessingInstruction", - "createProgram", - "createRadialGradient", - "createRange", - "createRangeCollection", - "createRenderbuffer", - "createSVGAngle", - "createSVGLength", - "createSVGMatrix", - "createSVGNumber", - "createSVGPathSegArcAbs", - "createSVGPathSegArcRel", - "createSVGPathSegClosePath", - "createSVGPathSegCurvetoCubicAbs", - "createSVGPathSegCurvetoCubicRel", - "createSVGPathSegCurvetoCubicSmoothAbs", - "createSVGPathSegCurvetoCubicSmoothRel", - "createSVGPathSegCurvetoQuadraticAbs", - "createSVGPathSegCurvetoQuadraticRel", - "createSVGPathSegCurvetoQuadraticSmoothAbs", - "createSVGPathSegCurvetoQuadraticSmoothRel", - "createSVGPathSegLinetoAbs", - "createSVGPathSegLinetoHorizontalAbs", - "createSVGPathSegLinetoHorizontalRel", - "createSVGPathSegLinetoRel", - "createSVGPathSegLinetoVerticalAbs", - "createSVGPathSegLinetoVerticalRel", - "createSVGPathSegMovetoAbs", - "createSVGPathSegMovetoRel", - "createSVGPoint", - "createSVGRect", - "createSVGTransform", - "createSVGTransformFromMatrix", - "createScriptProcessor", - "createSession", - "createShader", - "createShadowRoot", - "createStereoPanner", - "createStyleSheet", - "createTBody", - "createTFoot", - "createTHead", - "createTextNode", - "createTextRange", - "createTexture", - "createTouch", - "createTouchList", - "createTreeWalker", - "createWaveShaper", - "creationTime", - "crossOrigin", - "crypto", - "csi", - "cssFloat", - "cssRules", - "cssText", - "cssValueType", - "ctrlKey", - "ctrlLeft", - "cues", - "cullFace", - "currentNode", - "currentPage", - "currentScale", - "currentScript", - "currentSrc", - "currentState", - "currentStyle", - "currentTarget", - "currentTime", - "currentTranslate", - "currentView", - "cursor", - "curve", - "customError", - "cx", - "cy", - "d", - "data", - "dataFld", - "dataFormatAs", - "dataPageSize", - "dataSrc", - "dataTransfer", - "database", - "dataset", - "dateTime", - "db", - "debug", - "debuggerEnabled", - "declare", - "decode", - "decodeAudioData", - "decodingInfo", - "decodeURI", - "decodeURIComponent", - "decrypt", - "default", - "defaultCharset", - "defaultChecked", - "defaultMuted", - "defaultPlaybackRate", - "defaultPrevented", - "defaultSelected", - "defaultStatus", - "defaultURL", - "defaultValue", - "defaultView", - "defaultstatus", - "defer", - "defineMagicFunction", - "defineMagicVariable", - "defineProperties", - "defineProperty", - "delayTime", - "delete", - "deleteBuffer", - "deleteCaption", - "deleteCell", - "deleteContents", - "deleteData", - "deleteDatabase", - "deleteFramebuffer", - "deleteFromDocument", - "deleteIndex", - "deleteMedium", - "deleteObjectStore", - "deleteProgram", - "deleteRenderbuffer", - "deleteRow", - "deleteRule", - "deleteShader", - "deleteTFoot", - "deleteTHead", - "deleteTexture", - "deliverChangeRecords", - "delivery", - "deliveryInfo", - "deliveryStatus", - "deliveryTimestamp", - "delta", - "deltaMode", - "deltaX", - "deltaY", - "deltaZ", - "depthFunc", - "depthMask", - "depthRange", - "deriveBits", - "deriveKey", - "description", - "deselectAll", - "designMode", - "destination", - "destinationURL", - "detach", - "detachEvent", - "detachShader", - "detail", - "detune", - "devicePixelRatio", - "deviceXDPI", - "deviceYDPI", - "diffuseConstant", - "digest", - "dimensions", - "dir", - "dirName", - "direction", - "dirxml", - "disable", - "disableVertexAttribArray", - "disabled", - "dischargingTime", - "disconnect", - "dispatchEvent", - "display", - "distanceModel", - "divisor", - "djsapi", - "djsproxy", - "doImport", - "doNotTrack", - "doScroll", - "doctype", - "document", - "documentElement", - "documentMode", - "documentURI", - "dolphin", - "dolphinGameCenter", - "dolphininfo", - "dolphinmeta", - "domComplete", - "domContentLoadedEventEnd", - "domContentLoadedEventStart", - "domInteractive", - "domLoading", - "domain", - "domainLookupEnd", - "domainLookupStart", - "dominant-baseline", - "dominantBaseline", - "done", - "dopplerFactor", - "download", - "dragDrop", - "draggable", - "drawArrays", - "drawArraysInstancedANGLE", - "drawCustomFocusRing", - "drawElements", - "drawElementsInstancedANGLE", - "drawFocusIfNeeded", - "drawImage", - "drawImageFromRect", - "drawSystemFocusRing", - "drawingBufferHeight", - "drawingBufferWidth", - "dropEffect", - "droppedVideoFrames", - "dropzone", - "dump", - "duplicate", - "duration", - "dvname", - "dvnum", - "dx", - "dy", - "dynsrc", - "e", - "edgeMode", - "effectAllowed", - "elapsedTime", - "elementFromPoint", - "elements", - "elevation", - "ellipse", - "email", - "embeds", - "empty", - "empty-cells", - "emptyCells", - "enable", - "enableBackground", - "enableStyleSheetsForSet", - "enableVertexAttribArray", - "enabled", - "enabledPlugin", - "encode", - "encodeURI", - "encodeURIComponent", - "encoding", - "encrypt", - "enctype", - "end", - "endContainer", - "endElement", - "endElementAt", - "endOfStream", - "endOffset", - "endTime", - "ended", - "endsWith", - "entities", - "entries", - "entryType", - "enumerate", - "enumerateEditable", - "error", - "errorCode", - "escape", - "eval", - "evaluate", - "event", - "eventPhase", - "every", - "exception", - "exec", - "execCommand", - "execCommandShowHelp", - "execScript", - "exitFullscreen", - "exitPointerLock", - "exp", - "expand", - "expandEntityReferences", - "expando", - "expansion", - "expiryDate", - "explicitOriginalTarget", - "expm1", - "exponent", - "exponentialRampToValueAtTime", - "exportKey", - "extend", - "extensions", - "extentNode", - "extentOffset", - "external", - "externalResourcesRequired", - "extractContents", - "extractable", - "f", - "face", - "factoryReset", - "fallback", - "familyName", - "farthestViewportElement", - "fastSeek", - "fatal", - "fetch", - "fetchStart", - "fftSize", - "fgColor", - "fileCreatedDate", - "fileHandle", - "fileModifiedDate", - "fileName", - "fileSize", - "fileUpdatedDate", - "filename", - "files", - "fill", - "fill-opacity", - "fill-rule", - "fillOpacity", - "fillRect", - "fillRule", - "fillStyle", - "fillText", - "filter", - "filterResX", - "filterResY", - "filterUnits", - "filters", - "finally", - "find", - "findIndex", - "findRule", - "findText", - "finish", - "fireEvent", - "firstChild", - "firstElementChild", - "firstPage", - "fixed", - "flex", - "flex-basis", - "flex-direction", - "flex-flow", - "flex-grow", - "flex-shrink", - "flex-wrap", - "flexBasis", - "flexDirection", - "flexFlow", - "flexGrow", - "flexShrink", - "flexWrap", - "flipX", - "flipY", - "float", - "flood-color", - "flood-opacity", - "floodColor", - "floodOpacity", - "floor", - "flush", - "focus", - "focusNode", - "focusOffset", - "font", - "font-family", - "font-feature-settings", - "font-kerning", - "font-language-override", - "font-size", - "font-size-adjust", - "font-stretch", - "font-style", - "font-synthesis", - "font-variant", - "font-variant-alternates", - "font-variant-caps", - "font-variant-east-asian", - "font-variant-ligatures", - "font-variant-numeric", - "font-variant-position", - "font-weight", - "fontFamily", - "fontFeatureSettings", - "fontKerning", - "fontLanguageOverride", - "fontSize", - "fontSizeAdjust", - "fontSmoothingEnabled", - "fontStretch", - "fontStyle", - "fontSynthesis", - "fontVariant", - "fontVariantAlternates", - "fontVariantCaps", - "fontVariantEastAsian", - "fontVariantLigatures", - "fontVariantNumeric", - "fontVariantPosition", - "fontWeight", - "fontcolor", - "fonts", - "fontsize", - "for", - "forEach", - "forceRedraw", - "form", - "formAction", - "formEnctype", - "formMethod", - "formNoValidate", - "formTarget", - "format", - "forms", - "forward", - "fr", - "frame", - "frameBorder", - "frameElement", - "frameSpacing", - "framebufferRenderbuffer", - "framebufferTexture2D", - "frames", - "freeSpace", - "freeze", - "frequency", - "frequencyBinCount", - "from", - "fromCharCode", - "fromCodePoint", - "fromElement", - "frontFace", - "fround", - "fullScreen", - "fullscreenElement", - "fullscreenEnabled", - "fx", - "fy", - "gain", - "gamepad", - "gamma", - "genderIdentity", - "generateKey", - "generateMipmap", - "generateRequest", - "geolocation", - "gestureObject", - "get", - "getActiveAttrib", - "getActiveUniform", - "getAdjacentText", - "getAll", - "getAllResponseHeaders", - "getAsFile", - "getAsString", - "getAttachedShaders", - "getAttribLocation", - "getAttribute", - "getAttributeNS", - "getAttributeNode", - "getAttributeNodeNS", - "getAudioTracks", - "getBBox", - "getBattery", - "getBlob", - "getBookmark", - "getBoundingClientRect", - "getBufferParameter", - "getByteFrequencyData", - "getByteTimeDomainData", - "getCSSCanvasContext", - "getCTM", - "getCandidateWindowClientRect", - "getChannelData", - "getCharNumAtPosition", - "getClientRect", - "getClientRects", - "getCompositionAlternatives", - "getComputedStyle", - "getComputedTextLength", - "getConfiguration", - "getContext", - "getContextAttributes", - "getCounterValue", - "getCueAsHTML", - "getCueById", - "getCurrentPosition", - "getCurrentTime", - "getData", - "getDatabaseNames", - "getDate", - "getDay", - "getDefaultComputedStyle", - "getDestinationInsertionPoints", - "getDistributedNodes", - "getEditable", - "getElementById", - "getElementsByClassName", - "getElementsByName", - "getElementsByTagName", - "getElementsByTagNameNS", - "getEnclosureList", - "getEndPositionOfChar", - "getEntries", - "getEntriesByName", - "getEntriesByType", - "getError", - "getExtension", - "getExtentOfChar", - "getFeature", - "getFile", - "getFloat32", - "getFloat64", - "getFloatFrequencyData", - "getFloatTimeDomainData", - "getFloatValue", - "getFramebufferAttachmentParameter", - "getFrequencyResponse", - "getFullYear", - "getGamepads", - "getHours", - "getImageData", - "getInt16", - "getInt32", - "getInt8", - "getIntersectionList", - "getItem", - "getItems", - "getKey", - "getLineDash", - "getLocalStreams", - "getMarks", - "getMatchedCSSRules", - "getMeasures", - "getMetadata", - "getMilliseconds", - "getMinutes", - "getModifierState", - "getMonth", - "getNamedItem", - "getNamedItemNS", - "getNotifier", - "getNumberOfChars", - "getOverrideHistoryNavigationMode", - "getOverrideStyle", - "getOwnPropertyDescriptor", - "getOwnPropertyNames", - "getOwnPropertySymbols", - "getParameter", - "getPathSegAtLength", - "getPointAtLength", - "getPreference", - "getPreferenceDefault", - "getPresentationAttribute", - "getPreventDefault", - "getProgramInfoLog", - "getProgramParameter", - "getPropertyCSSValue", - "getPropertyPriority", - "getPropertyShorthand", - "getPropertyValue", - "getPrototypeOf", - "getRGBColorValue", - "getRandomValues", - "getRangeAt", - "getReceivers", - "getRectValue", - "getRegistration", - "getRemoteStreams", - "getRenderbufferParameter", - "getResponseHeader", - "getRoot", - "getRotationOfChar", - "getSVGDocument", - "getScreenCTM", - "getSeconds", - "getSelection", - "getSenders", - "getShaderInfoLog", - "getShaderParameter", - "getShaderPrecisionFormat", - "getShaderSource", - "getSimpleDuration", - "getSiteIcons", - "getSources", - "getSpeculativeParserUrls", - "getStartPositionOfChar", - "getStartTime", - "getStats", - "getStorageUpdates", - "getStreamById", - "getStringValue", - "getSubStringLength", - "getSubscription", - "getSupportedExtensions", - "getTexParameter", - "getTime", - "getTimezoneOffset", - "getTotalLength", - "getTrackById", - "getTracks", - "getTransformToElement", - "getUTCDate", - "getUTCDay", - "getUTCFullYear", - "getUTCHours", - "getUTCMilliseconds", - "getUTCMinutes", - "getUTCMonth", - "getUTCSeconds", - "getUint16", - "getUint32", - "getUint8", - "getUniform", - "getUniformLocation", - "getUserMedia", - "getValues", - "getVarDate", - "getVariableValue", - "getVertexAttrib", - "getVertexAttribOffset", - "getVideoPlaybackQuality", - "getVideoTracks", - "getWakeLockState", - "getYear", - "givenName", - "global", - "globalAlpha", - "globalCompositeOperation", - "glyphOrientationHorizontal", - "glyphOrientationVertical", - "glyphRef", - "go", - "gradientTransform", - "gradientUnits", - "grammars", - "green", - "group", - "groupCollapsed", - "groupEnd", - "hardwareConcurrency", - "has", - "hasAttribute", - "hasAttributeNS", - "hasAttributes", - "hasChildNodes", - "hasComposition", - "hasExtension", - "hasFeature", - "hasFocus", - "hasLayout", - "hasOwnProperty", - "hash", - "head", - "headers", - "heading", - "height", - "hidden", - "hide", - "hideFocus", - "high", - "hint", - "history", - "honorificPrefix", - "honorificSuffix", - "horizontalOverflow", - "host", - "hostname", - "href", - "hreflang", - "hspace", - "html5TagCheckInerface", - "htmlFor", - "htmlText", - "httpEquiv", - "hwTimestamp", - "hypot", - "iccId", - "iceConnectionState", - "iceGatheringState", - "icon", - "id", - "identifier", - "identity", - "ignoreBOM", - "ignoreCase", - "image-orientation", - "image-rendering", - "imageOrientation", - "imageRendering", - "images", - "ime-mode", - "imeMode", - "implementation", - "importKey", - "importNode", - "importStylesheet", - "imports", - "impp", - "imul", - "in1", - "in2", - "inBandMetadataTrackDispatchType", - "inRange", - "includes", - "incremental", - "indeterminate", - "index", - "indexNames", - "indexOf", - "indexedDB", - "inertiaDestinationX", - "inertiaDestinationY", - "info", - "init", - "initAnimationEvent", - "initBeforeLoadEvent", - "initClipboardEvent", - "initCloseEvent", - "initCommandEvent", - "initCompositionEvent", - "initCustomEvent", - "initData", - "initDeviceMotionEvent", - "initDeviceOrientationEvent", - "initDragEvent", - "initErrorEvent", - "initEvent", - "initFocusEvent", - "initGestureEvent", - "initHashChangeEvent", - "initKeyEvent", - "initKeyboardEvent", - "initMSManipulationEvent", - "initMessageEvent", - "initMouseEvent", - "initMouseScrollEvent", - "initMouseWheelEvent", - "initMutationEvent", - "initNSMouseEvent", - "initOverflowEvent", - "initPageEvent", - "initPageTransitionEvent", - "initPointerEvent", - "initPopStateEvent", - "initProgressEvent", - "initScrollAreaEvent", - "initSimpleGestureEvent", - "initStorageEvent", - "initTextEvent", - "initTimeEvent", - "initTouchEvent", - "initTransitionEvent", - "initUIEvent", - "initWebKitAnimationEvent", - "initWebKitTransitionEvent", - "initWebKitWheelEvent", - "initWheelEvent", - "initialTime", - "initialize", - "initiatorType", - "inner", - "innerHTML", - "innerHeight", - "innerText", - "innerWidth", - "input", - "inputBuffer", - "inputEncoding", - "inputMethod", - "insertAdjacentElement", - "insertAdjacentHTML", - "insertAdjacentText", - "insertBefore", - "insertCell", - "insertData", - "insertItemBefore", - "insertNode", - "insertRow", - "insertRule", - "instanceRoot", - "intercept", - "interimResults", - "internalSubset", - "intersectsNode", - "interval", - "invalidIteratorState", - "inverse", - "invertSelf", - "is", - "is2D", - "isAlternate", - "isArray", - "isBingCurrentSearchDefault", - "isBuffer", - "isCandidateWindowVisible", - "isChar", - "isCollapsed", - "isComposing", - "isContentEditable", - "isContentHandlerRegistered", - "isContextLost", - "isDefaultNamespace", - "isDisabled", - "isEnabled", - "isEqual", - "isEqualNode", - "isExtensible", - "isFinite", - "isFramebuffer", - "isFrozen", - "isGenerator", - "isId", - "isInjected", - "isInteger", - "isMap", - "isMultiLine", - "isNaN", - "isOpen", - "isPointInFill", - "isPointInPath", - "isPointInRange", - "isPointInStroke", - "isPrefAlternate", - "isPrimary", - "isProgram", - "isPropertyImplicit", - "isProtocolHandlerRegistered", - "isPrototypeOf", - "isRenderbuffer", - "isSafeInteger", - "isSameNode", - "isSealed", - "isShader", - "isSupported", - "isTextEdit", - "isTexture", - "isTrusted", - "isTypeSupported", - "isView", - "isolation", - "italics", - "item", - "itemId", - "itemProp", - "itemRef", - "itemScope", - "itemType", - "itemValue", - "iterateNext", - "iterator", - "javaEnabled", - "jobTitle", - "join", - "json", - "justify-content", - "justifyContent", - "k1", - "k2", - "k3", - "k4", - "kernelMatrix", - "kernelUnitLengthX", - "kernelUnitLengthY", - "kerning", - "key", - "keyCode", - "keyFor", - "keyIdentifier", - "keyLightEnabled", - "keyLocation", - "keyPath", - "keySystem", - "keyText", - "keyUsage", - "keys", - "keytype", - "kind", - "knee", - "label", - "labels", - "lang", - "language", - "languages", - "largeArcFlag", - "lastChild", - "lastElementChild", - "lastEventId", - "lastIndex", - "lastIndexOf", - "lastMatch", - "lastMessageSubject", - "lastMessageType", - "lastModified", - "lastModifiedDate", - "lastPage", - "lastParen", - "lastState", - "lastStyleSheetSet", - "latitude", - "layerX", - "layerY", - "layoutFlow", - "layoutGrid", - "layoutGridChar", - "layoutGridLine", - "layoutGridMode", - "layoutGridType", - "lbound", - "left", - "leftContext", - "leftMargin", - "length", - "lengthAdjust", - "lengthComputable", - "letter-spacing", - "letterSpacing", - "level", - "lighting-color", - "lightingColor", - "limitingConeAngle", - "line", - "line-height", - "lineAlign", - "lineBreak", - "lineCap", - "lineDashOffset", - "lineHeight", - "lineJoin", - "lineNumber", - "lineTo", - "lineWidth", - "linearRampToValueAtTime", - "lineno", - "link", - "linkColor", - "linkProgram", - "links", - "list", - "list-style", - "list-style-image", - "list-style-position", - "list-style-type", - "listStyle", - "listStyleImage", - "listStylePosition", - "listStyleType", - "listener", - "load", - "loadEventEnd", - "loadEventStart", - "loadTimes", - "loaded", - "localDescription", - "localName", - "localStorage", - "locale", - "localeCompare", - "location", - "locationbar", - "lock", - "lockedFile", - "log", - "log10", - "log1p", - "log2", - "logicalXDPI", - "logicalYDPI", - "longDesc", - "longitude", - "lookupNamespaceURI", - "lookupPrefix", - "loop", - "loopEnd", - "loopStart", - "looping", - "low", - "lower", - "lowerBound", - "lowerOpen", - "lowsrc", - "m11", - "m12", - "m13", - "m14", - "m21", - "m22", - "m23", - "m24", - "m31", - "m32", - "m33", - "m34", - "m41", - "m42", - "m43", - "m44", - "manifest", - "map", - "mapping", - "margin", - "margin-bottom", - "margin-left", - "margin-right", - "margin-top", - "marginBottom", - "marginHeight", - "marginLeft", - "marginRight", - "marginTop", - "marginWidth", - "mark", - "marker", - "marker-end", - "marker-mid", - "marker-offset", - "marker-start", - "markerEnd", - "markerHeight", - "markerMid", - "markerOffset", - "markerStart", - "markerUnits", - "markerWidth", - "marks", - "mask", - "mask-type", - "maskContentUnits", - "maskType", - "maskUnits", - "match", - "matchMedia", - "matchMedium", - "matches", - "matrix", - "matrixTransform", - "max", - "max-height", - "max-width", - "maxAlternatives", - "maxChannelCount", - "maxConnectionsPerServer", - "maxDecibels", - "maxDistance", - "maxHeight", - "maxLength", - "maxTouchPoints", - "maxValue", - "maxWidth", - "measure", - "measureText", - "media", - "mediaCapabilities", - "mediaDevices", - "mediaElement", - "mediaGroup", - "mediaKeys", - "mediaText", - "meetOrSlice", - "memory", - "menubar", - "mergeAttributes", - "message", - "messageClass", - "messageHandlers", - "metaKey", - "method", - "mimeType", - "mimeTypes", - "min", - "min-height", - "min-width", - "minDecibels", - "minHeight", - "minValue", - "minWidth", - "miterLimit", - "mix-blend-mode", - "mixBlendMode", - "mode", - "modify", - "mount", - "move", - "moveBy", - "moveEnd", - "moveFirst", - "moveFocusDown", - "moveFocusLeft", - "moveFocusRight", - "moveFocusUp", - "moveNext", - "moveRow", - "moveStart", - "moveTo", - "moveToBookmark", - "moveToElementText", - "moveToPoint", - "mozAdd", - "mozAnimationStartTime", - "mozAnon", - "mozApps", - "mozAudioCaptured", - "mozAudioChannelType", - "mozAutoplayEnabled", - "mozCancelAnimationFrame", - "mozCancelFullScreen", - "mozCancelRequestAnimationFrame", - "mozCaptureStream", - "mozCaptureStreamUntilEnded", - "mozClearDataAt", - "mozContact", - "mozContacts", - "mozCreateFileHandle", - "mozCurrentTransform", - "mozCurrentTransformInverse", - "mozCursor", - "mozDash", - "mozDashOffset", - "mozDecodedFrames", - "mozExitPointerLock", - "mozFillRule", - "mozFragmentEnd", - "mozFrameDelay", - "mozFullScreen", - "mozFullScreenElement", - "mozFullScreenEnabled", - "mozGetAll", - "mozGetAllKeys", - "mozGetAsFile", - "mozGetDataAt", - "mozGetMetadata", - "mozGetUserMedia", - "mozHasAudio", - "mozHasItem", - "mozHidden", - "mozImageSmoothingEnabled", - "mozIndexedDB", - "mozInnerScreenX", - "mozInnerScreenY", - "mozInputSource", - "mozIsTextField", - "mozItem", - "mozItemCount", - "mozItems", - "mozLength", - "mozLockOrientation", - "mozMatchesSelector", - "mozMovementX", - "mozMovementY", - "mozOpaque", - "mozOrientation", - "mozPaintCount", - "mozPaintedFrames", - "mozParsedFrames", - "mozPay", - "mozPointerLockElement", - "mozPresentedFrames", - "mozPreservesPitch", - "mozPressure", - "mozPrintCallback", - "mozRTCIceCandidate", - "mozRTCPeerConnection", - "mozRTCSessionDescription", - "mozRemove", - "mozRequestAnimationFrame", - "mozRequestFullScreen", - "mozRequestPointerLock", - "mozSetDataAt", - "mozSetImageElement", - "mozSourceNode", - "mozSrcObject", - "mozSystem", - "mozTCPSocket", - "mozTextStyle", - "mozTypesAt", - "mozUnlockOrientation", - "mozUserCancelled", - "mozVisibilityState", - "msAnimation", - "msAnimationDelay", - "msAnimationDirection", - "msAnimationDuration", - "msAnimationFillMode", - "msAnimationIterationCount", - "msAnimationName", - "msAnimationPlayState", - "msAnimationStartTime", - "msAnimationTimingFunction", - "msBackfaceVisibility", - "msBlockProgression", - "msCSSOMElementFloatMetrics", - "msCaching", - "msCachingEnabled", - "msCancelRequestAnimationFrame", - "msCapsLockWarningOff", - "msClearImmediate", - "msClose", - "msContentZoomChaining", - "msContentZoomFactor", - "msContentZoomLimit", - "msContentZoomLimitMax", - "msContentZoomLimitMin", - "msContentZoomSnap", - "msContentZoomSnapPoints", - "msContentZoomSnapType", - "msContentZooming", - "msConvertURL", - "msCrypto", - "msDoNotTrack", - "msElementsFromPoint", - "msElementsFromRect", - "msExitFullscreen", - "msExtendedCode", - "msFillRule", - "msFirstPaint", - "msFlex", - "msFlexAlign", - "msFlexDirection", - "msFlexFlow", - "msFlexItemAlign", - "msFlexLinePack", - "msFlexNegative", - "msFlexOrder", - "msFlexPack", - "msFlexPositive", - "msFlexPreferredSize", - "msFlexWrap", - "msFlowFrom", - "msFlowInto", - "msFontFeatureSettings", - "msFullscreenElement", - "msFullscreenEnabled", - "msGetInputContext", - "msGetRegionContent", - "msGetUntransformedBounds", - "msGraphicsTrustStatus", - "msGridColumn", - "msGridColumnAlign", - "msGridColumnSpan", - "msGridColumns", - "msGridRow", - "msGridRowAlign", - "msGridRowSpan", - "msGridRows", - "msHidden", - "msHighContrastAdjust", - "msHyphenateLimitChars", - "msHyphenateLimitLines", - "msHyphenateLimitZone", - "msHyphens", - "msImageSmoothingEnabled", - "msImeAlign", - "msIndexedDB", - "msInterpolationMode", - "msIsStaticHTML", - "msKeySystem", - "msKeys", - "msLaunchUri", - "msLockOrientation", - "msManipulationViewsEnabled", - "msMatchMedia", - "msMatchesSelector", - "msMaxTouchPoints", - "msOrientation", - "msOverflowStyle", - "msPerspective", - "msPerspectiveOrigin", - "msPlayToDisabled", - "msPlayToPreferredSourceUri", - "msPlayToPrimary", - "msPointerEnabled", - "msRegionOverflow", - "msReleasePointerCapture", - "msRequestAnimationFrame", - "msRequestFullscreen", - "msSaveBlob", - "msSaveOrOpenBlob", - "msScrollChaining", - "msScrollLimit", - "msScrollLimitXMax", - "msScrollLimitXMin", - "msScrollLimitYMax", - "msScrollLimitYMin", - "msScrollRails", - "msScrollSnapPointsX", - "msScrollSnapPointsY", - "msScrollSnapType", - "msScrollSnapX", - "msScrollSnapY", - "msScrollTranslation", - "msSetImmediate", - "msSetMediaKeys", - "msSetPointerCapture", - "msTextCombineHorizontal", - "msTextSizeAdjust", - "msToBlob", - "msTouchAction", - "msTouchSelect", - "msTraceAsyncCallbackCompleted", - "msTraceAsyncCallbackStarting", - "msTraceAsyncOperationCompleted", - "msTraceAsyncOperationStarting", - "msTransform", - "msTransformOrigin", - "msTransformStyle", - "msTransition", - "msTransitionDelay", - "msTransitionDuration", - "msTransitionProperty", - "msTransitionTimingFunction", - "msUnlockOrientation", - "msUpdateAsyncCallbackRelation", - "msUserSelect", - "msVisibilityState", - "msWrapFlow", - "msWrapMargin", - "msWrapThrough", - "msWriteProfilerMark", - "msZoom", - "msZoomTo", - "mt", - "multiEntry", - "multiSelectionObj", - "multiline", - "multiple", - "multiply", - "multiplySelf", - "mutableFile", - "muted", - "n", - "name", - "nameProp", - "namedItem", - "namedRecordset", - "names", - "namespaceURI", - "namespaces", - "naturalHeight", - "naturalWidth", - "navigate", - "navigation", - "navigationMode", - "navigationStart", - "navigator", - "near", - "nearestViewportElement", - "negative", - "netscape", - "networkState", - "newScale", - "newTranslate", - "newURL", - "newValue", - "newValueSpecifiedUnits", - "newVersion", - "newhome", - "next", - "nextElementSibling", - "nextNode", - "nextPage", - "nextSibling", - "nickname", - "noHref", - "noResize", - "noShade", - "noValidate", - "noWrap", - "nodeName", - "nodeType", - "nodeValue", - "normalize", - "normalizedPathSegList", - "notationName", - "notations", - "note", - "noteGrainOn", - "noteOff", - "noteOn", - "now", - "numOctaves", - "number", - "numberOfChannels", - "numberOfInputs", - "numberOfItems", - "numberOfOutputs", - "numberValue", - "oMatchesSelector", - "object", - "object-fit", - "object-position", - "objectFit", - "objectPosition", - "objectStore", - "objectStoreNames", - "observe", - "of", - "offscreenBuffering", - "offset", - "offsetHeight", - "offsetLeft", - "offsetNode", - "offsetParent", - "offsetTop", - "offsetWidth", - "offsetX", - "offsetY", - "ok", - "oldURL", - "oldValue", - "oldVersion", - "olderShadowRoot", - "onLine", - "onabort", - "onactivate", - "onactive", - "onaddstream", - "onaddtrack", - "onafterprint", - "onafterscriptexecute", - "onafterupdate", - "onaudioend", - "onaudioprocess", - "onaudiostart", - "onautocomplete", - "onautocompleteerror", - "onbeforeactivate", - "onbeforecopy", - "onbeforecut", - "onbeforedeactivate", - "onbeforeeditfocus", - "onbeforepaste", - "onbeforeprint", - "onbeforescriptexecute", - "onbeforeunload", - "onbeforeupdate", - "onblocked", - "onblur", - "onbounce", - "onboundary", - "oncached", - "oncancel", - "oncandidatewindowhide", - "oncandidatewindowshow", - "oncandidatewindowupdate", - "oncanplay", - "oncanplaythrough", - "oncellchange", - "onchange", - "onchargingchange", - "onchargingtimechange", - "onchecking", - "onclick", - "onclose", - "oncompassneedscalibration", - "oncomplete", - "oncontextmenu", - "oncontrolselect", - "oncopy", - "oncuechange", - "oncut", - "ondataavailable", - "ondatachannel", - "ondatasetchanged", - "ondatasetcomplete", - "ondblclick", - "ondeactivate", - "ondevicelight", - "ondevicemotion", - "ondeviceorientation", - "ondeviceproximity", - "ondischargingtimechange", - "ondisplay", - "ondownloading", - "ondrag", - "ondragend", - "ondragenter", - "ondragleave", - "ondragover", - "ondragstart", - "ondrop", - "ondurationchange", - "onemptied", - "onencrypted", - "onend", - "onended", - "onenter", - "onerror", - "onerrorupdate", - "onexit", - "onfilterchange", - "onfinish", - "onfocus", - "onfocusin", - "onfocusout", - "onfullscreenchange", - "onfullscreenerror", - "ongesturechange", - "ongestureend", - "ongesturestart", - "ongotpointercapture", - "onhashchange", - "onhelp", - "onicecandidate", - "oniceconnectionstatechange", - "oninactive", - "oninput", - "oninvalid", - "onkeydown", - "onkeypress", - "onkeyup", - "onlanguagechange", - "onlayoutcomplete", - "onlevelchange", - "onload", - "onloadeddata", - "onloadedmetadata", - "onloadend", - "onloadstart", - "onlosecapture", - "onlostpointercapture", - "only", - "onmark", - "onmessage", - "onmousedown", - "onmouseenter", - "onmouseleave", - "onmousemove", - "onmouseout", - "onmouseover", - "onmouseup", - "onmousewheel", - "onmove", - "onmoveend", - "onmovestart", - "onmozfullscreenchange", - "onmozfullscreenerror", - "onmozorientationchange", - "onmozpointerlockchange", - "onmozpointerlockerror", - "onmscontentzoom", - "onmsfullscreenchange", - "onmsfullscreenerror", - "onmsgesturechange", - "onmsgesturedoubletap", - "onmsgestureend", - "onmsgesturehold", - "onmsgesturestart", - "onmsgesturetap", - "onmsgotpointercapture", - "onmsinertiastart", - "onmslostpointercapture", - "onmsmanipulationstatechanged", - "onmsneedkey", - "onmsorientationchange", - "onmspointercancel", - "onmspointerdown", - "onmspointerenter", - "onmspointerhover", - "onmspointerleave", - "onmspointermove", - "onmspointerout", - "onmspointerover", - "onmspointerup", - "onmssitemodejumplistitemremoved", - "onmsthumbnailclick", - "onnegotiationneeded", - "onnomatch", - "onnoupdate", - "onobsolete", - "onoffline", - "ononline", - "onopen", - "onorientationchange", - "onpagechange", - "onpagehide", - "onpageshow", - "onpaste", - "onpause", - "onplay", - "onplaying", - "onpluginstreamstart", - "onpointercancel", - "onpointerdown", - "onpointerenter", - "onpointerleave", - "onpointerlockchange", - "onpointerlockerror", - "onpointermove", - "onpointerout", - "onpointerover", - "onpointerup", - "onpopstate", - "onprogress", - "onpropertychange", - "onratechange", - "onreadystatechange", - "onremovestream", - "onremovetrack", - "onreset", - "onresize", - "onresizeend", - "onresizestart", - "onresourcetimingbufferfull", - "onresult", - "onresume", - "onrowenter", - "onrowexit", - "onrowsdelete", - "onrowsinserted", - "onscroll", - "onsearch", - "onseeked", - "onseeking", - "onselect", - "onselectionchange", - "onselectstart", - "onshow", - "onsignalingstatechange", - "onsoundend", - "onsoundstart", - "onspeechend", - "onspeechstart", - "onstalled", - "onstart", - "onstatechange", - "onstop", - "onstorage", - "onstoragecommit", - "onsubmit", - "onsuccess", - "onsuspend", - "ontextinput", - "ontimeout", - "ontimeupdate", - "ontoggle", - "ontouchcancel", - "ontouchend", - "ontouchmove", - "ontouchstart", - "ontransitionend", - "onunload", - "onupdateready", - "onupgradeneeded", - "onuserproximity", - "onversionchange", - "onvoiceschanged", - "onvolumechange", - "onwaiting", - "onwarning", - "onwebkitanimationend", - "onwebkitanimationiteration", - "onwebkitanimationstart", - "onwebkitcurrentplaybacktargetiswirelesschanged", - "onwebkitfullscreenchange", - "onwebkitfullscreenerror", - "onwebkitkeyadded", - "onwebkitkeyerror", - "onwebkitkeymessage", - "onwebkitneedkey", - "onwebkitorientationchange", - "onwebkitplaybacktargetavailabilitychanged", - "onwebkitpointerlockchange", - "onwebkitpointerlockerror", - "onwebkitresourcetimingbufferfull", - "onwebkittransitionend", - "onwheel", - "onzoom", - "opacity", - "open", - "openCursor", - "openDatabase", - "openKeyCursor", - "opener", - "opera", - "operationType", - "operator", - "opr", - "optimum", - "options", - "order", - "orderX", - "orderY", - "ordered", - "org", - "orient", - "orientAngle", - "orientType", - "orientation", - "origin", - "originalTarget", - "orphans", - "oscpu", - "outerHTML", - "outerHeight", - "outerText", - "outerWidth", - "outline", - "outline-color", - "outline-offset", - "outline-style", - "outline-width", - "outlineColor", - "outlineOffset", - "outlineStyle", - "outlineWidth", - "outputBuffer", - "overflow", - "overflow-x", - "overflow-y", - "overflowX", - "overflowY", - "overrideMimeType", - "oversample", - "ownerDocument", - "ownerElement", - "ownerNode", - "ownerRule", - "ownerSVGElement", - "owningElement", - "p1", - "p2", - "p3", - "p4", - "pad", - "padding", - "padding-bottom", - "padding-left", - "padding-right", - "padding-top", - "paddingBottom", - "paddingLeft", - "paddingRight", - "paddingTop", - "page", - "page-break-after", - "page-break-before", - "page-break-inside", - "pageBreakAfter", - "pageBreakBefore", - "pageBreakInside", - "pageCount", - "pageX", - "pageXOffset", - "pageY", - "pageYOffset", - "pages", - "paint-order", - "paintOrder", - "paintRequests", - "paintType", - "palette", - "panningModel", - "parent", - "parentElement", - "parentNode", - "parentRule", - "parentStyleSheet", - "parentTextEdit", - "parentWindow", - "parse", - "parseFloat", - "parseFromString", - "parseInt", - "participants", - "password", - "pasteHTML", - "path", - "pathLength", - "pathSegList", - "pathSegType", - "pathSegTypeAsLetter", - "pathname", - "pattern", - "patternContentUnits", - "patternMismatch", - "patternTransform", - "patternUnits", - "pause", - "pauseAnimations", - "pauseOnExit", - "paused", - "pending", - "performance", - "permission", - "persisted", - "personalbar", - "perspective", - "perspective-origin", - "perspectiveOrigin", - "phoneticFamilyName", - "phoneticGivenName", - "photo", - "ping", - "pitch", - "pixelBottom", - "pixelDepth", - "pixelHeight", - "pixelLeft", - "pixelRight", - "pixelStorei", - "pixelTop", - "pixelUnitToMillimeterX", - "pixelUnitToMillimeterY", - "pixelWidth", - "placeholder", - "platform", - "play", - "playbackRate", - "playbackState", - "playbackTime", - "played", - "plugins", - "pluginspage", - "pname", - "pointer-events", - "pointerBeforeReferenceNode", - "pointerEnabled", - "pointerEvents", - "pointerId", - "pointerLockElement", - "pointerType", - "points", - "pointsAtX", - "pointsAtY", - "pointsAtZ", - "polygonOffset", - "pop", - "popupWindowFeatures", - "popupWindowName", - "popupWindowURI", - "port", - "port1", - "port2", - "ports", - "posBottom", - "posHeight", - "posLeft", - "posRight", - "posTop", - "posWidth", - "position", - "positionAlign", - "postError", - "postMessage", - "poster", - "pow", - "powerOff", - "preMultiplySelf", - "precision", - "preferredStyleSheetSet", - "preferredStylesheetSet", - "prefix", - "preload", - "preserveAlpha", - "preserveAspectRatio", - "preserveAspectRatioString", - "pressed", - "pressure", - "prevValue", - "preventDefault", - "preventExtensions", - "previousElementSibling", - "previousNode", - "previousPage", - "previousScale", - "previousSibling", - "previousTranslate", - "primaryKey", - "primitiveType", - "primitiveUnits", - "principals", - "print", - "privateKey", - "probablySupportsContext", - "process", - "processIceMessage", - "product", - "productSub", - "profile", - "profileEnd", - "profiles", - "prompt", - "properties", - "propertyIsEnumerable", - "propertyName", - "protocol", - "protocolLong", - "prototype", - "pseudoClass", - "pseudoElement", - "publicId", - "publicKey", - "published", - "push", - "pushNotification", - "pushState", - "put", - "putImageData", - "quadraticCurveTo", - "qualifier", - "queryCommandEnabled", - "queryCommandIndeterm", - "queryCommandState", - "queryCommandSupported", - "queryCommandText", - "queryCommandValue", - "querySelector", - "querySelectorAll", - "quote", - "quotes", - "r", - "r1", - "r2", - "race", - "radiogroup", - "radiusX", - "radiusY", - "random", - "range", - "rangeCount", - "rangeMax", - "rangeMin", - "rangeOffset", - "rangeOverflow", - "rangeParent", - "rangeUnderflow", - "rate", - "ratio", - "raw", - "read", - "readAsArrayBuffer", - "readAsBinaryString", - "readAsBlob", - "readAsDataURL", - "readAsText", - "readOnly", - "readPixels", - "readReportRequested", - "readyState", - "reason", - "reboot", - "receiver", - "receivers", - "recordNumber", - "recordset", - "rect", - "red", - "redirectCount", - "redirectEnd", - "redirectStart", - "reduce", - "reduceRight", - "reduction", - "refDistance", - "refX", - "refY", - "referenceNode", - "referrer", - "refresh", - "region", - "regionAnchorX", - "regionAnchorY", - "regionId", - "regions", - "register", - "registerContentHandler", - "registerElement", - "registerProtocolHandler", - "reject", - "rel", - "relList", - "relatedNode", - "relatedTarget", - "release", - "releaseCapture", - "releaseEvents", - "releasePointerCapture", - "releaseShaderCompiler", - "reliable", - "reload", - "remainingSpace", - "remoteDescription", - "remove", - "removeAllRanges", - "removeAttribute", - "removeAttributeNS", - "removeAttributeNode", - "removeBehavior", - "removeChild", - "removeCue", - "removeEventListener", - "removeFilter", - "removeImport", - "removeItem", - "removeListener", - "removeNamedItem", - "removeNamedItemNS", - "removeNode", - "removeParameter", - "removeProperty", - "removeRange", - "removeRegion", - "removeRule", - "removeSiteSpecificTrackingException", - "removeSourceBuffer", - "removeStream", - "removeTrack", - "removeVariable", - "removeWakeLockListener", - "removeWebWideTrackingException", - "removedNodes", - "renderbufferStorage", - "renderedBuffer", - "renderingMode", - "repeat", - "replace", - "replaceAdjacentText", - "replaceChild", - "replaceData", - "replaceId", - "replaceItem", - "replaceNode", - "replaceState", - "replaceTrack", - "replaceWholeText", - "reportValidity", - "requestAnimationFrame", - "requestAutocomplete", - "requestData", - "requestFullscreen", - "requestMediaKeySystemAccess", - "requestPermission", - "requestPointerLock", - "requestStart", - "requestingWindow", - "required", - "requiredExtensions", - "requiredFeatures", - "reset", - "resetTransform", - "resize", - "resizeBy", - "resizeTo", - "resolve", - "response", - "responseBody", - "responseEnd", - "responseStart", - "responseText", - "responseType", - "responseURL", - "responseXML", - "restore", - "result", - "resultType", - "resume", - "returnValue", - "rev", - "reverse", - "reversed", - "revocable", - "revokeObjectURL", - "rgbColor", - "right", - "rightContext", - "rightMargin", - "rolloffFactor", - "root", - "rootElement", - "rotate", - "rotateAxisAngle", - "rotateAxisAngleSelf", - "rotateFromVector", - "rotateFromVectorSelf", - "rotateSelf", - "rotation", - "rotationRate", - "round", - "rowIndex", - "rowSpan", - "rows", - "rubyAlign", - "rubyOverhang", - "rubyPosition", - "rules", - "runtime", - "runtimeStyle", - "rx", - "ry", - "safari", - "sampleCoverage", - "sampleRate", - "sandbox", - "save", - "scale", - "scale3d", - "scale3dSelf", - "scaleNonUniform", - "scaleNonUniformSelf", - "scaleSelf", - "scheme", - "scissor", - "scope", - "scopeName", - "scoped", - "screen", - "screenBrightness", - "screenEnabled", - "screenLeft", - "screenPixelToMillimeterX", - "screenPixelToMillimeterY", - "screenTop", - "screenX", - "screenY", - "scripts", - "scroll", - "scroll-behavior", - "scrollAmount", - "scrollBehavior", - "scrollBy", - "scrollByLines", - "scrollByPages", - "scrollDelay", - "scrollHeight", - "scrollIntoView", - "scrollIntoViewIfNeeded", - "scrollLeft", - "scrollLeftMax", - "scrollMaxX", - "scrollMaxY", - "scrollTo", - "scrollTop", - "scrollTopMax", - "scrollWidth", - "scrollX", - "scrollY", - "scrollbar3dLightColor", - "scrollbarArrowColor", - "scrollbarBaseColor", - "scrollbarDarkShadowColor", - "scrollbarFaceColor", - "scrollbarHighlightColor", - "scrollbarShadowColor", - "scrollbarTrackColor", - "scrollbars", - "scrolling", - "sdp", - "sdpMLineIndex", - "sdpMid", - "seal", - "search", - "searchBox", - "searchBoxJavaBridge_", - "searchParams", - "sectionRowIndex", - "secureConnectionStart", - "security", - "seed", - "seekable", - "seeking", - "select", - "selectAllChildren", - "selectNode", - "selectNodeContents", - "selectNodes", - "selectSingleNode", - "selectSubString", - "selected", - "selectedIndex", - "selectedOptions", - "selectedStyleSheetSet", - "selectedStylesheetSet", - "selection", - "selectionDirection", - "selectionEnd", - "selectionStart", - "selector", - "selectorText", - "self", - "send", - "sendAsBinary", - "sendBeacon", - "sender", - "sentTimestamp", - "separator", - "serializeToString", - "serviceWorker", - "sessionId", - "sessionStorage", - "set", - "setActive", - "setAlpha", - "setAttribute", - "setAttributeNS", - "setAttributeNode", - "setAttributeNodeNS", - "setBaseAndExtent", - "setBingCurrentSearchDefault", - "setCapture", - "setColor", - "setCompositeOperation", - "setCurrentTime", - "setCustomValidity", - "setData", - "setDate", - "setDragImage", - "setEnd", - "setEndAfter", - "setEndBefore", - "setEndPoint", - "setFillColor", - "setFilterRes", - "setFloat32", - "setFloat64", - "setFloatValue", - "setFullYear", - "setHours", - "setImmediate", - "setInt16", - "setInt32", - "setInt8", - "setInterval", - "setItem", - "setLineCap", - "setLineDash", - "setLineJoin", - "setLineWidth", - "setLocalDescription", - "setMatrix", - "setMatrixValue", - "setMediaKeys", - "setMilliseconds", - "setMinutes", - "setMiterLimit", - "setMonth", - "setNamedItem", - "setNamedItemNS", - "setNonUserCodeExceptions", - "setOrientToAngle", - "setOrientToAuto", - "setOrientation", - "setOverrideHistoryNavigationMode", - "setPaint", - "setParameter", - "setPeriodicWave", - "setPointerCapture", - "setPosition", - "setPreference", - "setProperty", - "setPrototypeOf", - "setRGBColor", - "setRGBColorICCColor", - "setRadius", - "setRangeText", - "setRemoteDescription", - "setRequestHeader", - "setResizable", - "setResourceTimingBufferSize", - "setRotate", - "setScale", - "setSeconds", - "setSelectionRange", - "setServerCertificate", - "setShadow", - "setSkewX", - "setSkewY", - "setStart", - "setStartAfter", - "setStartBefore", - "setStdDeviation", - "setStringValue", - "setStrokeColor", - "setSuggestResult", - "setTargetAtTime", - "setTargetValueAtTime", - "setTime", - "setTimeout", - "setTransform", - "setTranslate", - "setUTCDate", - "setUTCFullYear", - "setUTCHours", - "setUTCMilliseconds", - "setUTCMinutes", - "setUTCMonth", - "setUTCSeconds", - "setUint16", - "setUint32", - "setUint8", - "setUri", - "setValueAtTime", - "setValueCurveAtTime", - "setVariable", - "setVelocity", - "setVersion", - "setYear", - "settingName", - "settingValue", - "sex", - "shaderSource", - "shadowBlur", - "shadowColor", - "shadowOffsetX", - "shadowOffsetY", - "shadowRoot", - "shape", - "shape-rendering", - "shapeRendering", - "sheet", - "shift", - "shiftKey", - "shiftLeft", - "show", - "showHelp", - "showModal", - "showModalDialog", - "showModelessDialog", - "showNotification", - "sidebar", - "sign", - "signalingState", - "sin", - "singleNodeValue", - "sinh", - "size", - "sizeToContent", - "sizes", - "skewX", - "skewXSelf", - "skewY", - "skewYSelf", - "slice", - "slope", - "small", - "smooth", - "smil", - "smoothingTimeConstant", - "snapToLines", - "snapshotItem", - "snapshotLength", - "some", - "sort", - "source", - "sourceBuffer", - "sourceBuffers", - "sourceIndex", - "spacing", - "span", - "speakAs", - "speaking", - "specified", - "specularConstant", - "specularExponent", - "speechSynthesis", - "speed", - "speedOfSound", - "spellcheck", - "splice", - "split", - "splitText", - "spreadMethod", - "sqrt", - "src", - "srcElement", - "srcFilter", - "srcUrn", - "srcdoc", - "srclang", - "srcset", - "stack", - "stackTraceLimit", - "stacktrace", - "standalone", - "standby", - "start", - "startContainer", - "startIce", - "startOffset", - "startRendering", - "startTime", - "startsWith", - "state", - "status", - "statusMessage", - "statusText", - "statusbar", - "stdDeviationX", - "stdDeviationY", - "stencilFunc", - "stencilFuncSeparate", - "stencilMask", - "stencilMaskSeparate", - "stencilOp", - "stencilOpSeparate", - "step", - "stepDown", - "stepMismatch", - "stepUp", - "sticky", - "stitchTiles", - "stop", - "stop-color", - "stop-opacity", - "stopColor", - "stopImmediatePropagation", - "stopOpacity", - "stopPropagation", - "storageArea", - "storageName", - "storageStatus", - "storeSiteSpecificTrackingException", - "storeWebWideTrackingException", - "stpVersion", - "stream", - "strike", - "stringValue", - "stringify", - "stroke", - "stroke-dasharray", - "stroke-dashoffset", - "stroke-linecap", - "stroke-linejoin", - "stroke-miterlimit", - "stroke-opacity", - "stroke-width", - "strokeDasharray", - "strokeDashoffset", - "strokeLinecap", - "strokeLinejoin", - "strokeMiterlimit", - "strokeOpacity", - "strokeRect", - "strokeStyle", - "strokeText", - "strokeWidth", - "style", - "styleFloat", - "styleMedia", - "styleSheet", - "styleSheetSets", - "styleSheets", - "sub", - "subarray", - "subject", - "submit", - "subscribe", - "substr", - "substring", - "substringData", - "subtle", - "suffix", - "suffixes", - "summary", - "sup", - "supports", - "surfaceScale", - "surroundContents", - "suspend", - "suspendRedraw", - "swapCache", - "swapNode", - "sweepFlag", - "symbols", - "system", - "systemCode", - "systemId", - "systemLanguage", - "systemXDPI", - "systemYDPI", - "tBodies", - "tFoot", - "tHead", - "tabIndex", - "table", - "table-layout", - "tableLayout", - "tableValues", - "tag", - "tagName", - "tagUrn", - "tags", - "taintEnabled", - "takeRecords", - "tan", - "tanh", - "target", - "targetElement", - "targetTouches", - "targetX", - "targetY", - "tel", - "terminate", - "test", - "texImage2D", - "texParameterf", - "texParameteri", - "texSubImage2D", - "text", - "text-align", - "text-anchor", - "text-decoration", - "text-decoration-color", - "text-decoration-line", - "text-decoration-style", - "text-indent", - "text-overflow", - "text-rendering", - "text-shadow", - "text-transform", - "textAlign", - "textAlignLast", - "textAnchor", - "textAutospace", - "textBaseline", - "textContent", - "textDecoration", - "textDecorationBlink", - "textDecorationColor", - "textDecorationLine", - "textDecorationLineThrough", - "textDecorationNone", - "textDecorationOverline", - "textDecorationStyle", - "textDecorationUnderline", - "textIndent", - "textJustify", - "textJustifyTrim", - "textKashida", - "textKashidaSpace", - "textLength", - "textOverflow", - "textRendering", - "textShadow", - "textTracks", - "textTransform", - "textUnderlinePosition", - "then", - "threadId", - "threshold", - "tiltX", - "tiltY", - "time", - "timeEnd", - "timeStamp", - "timeout", - "timestamp", - "timestampOffset", - "timing", - "title", - "toArray", - "toBlob", - "toDataURL", - "toDateString", - "toElement", - "toExponential", - "toFixed", - "toFloat32Array", - "toFloat64Array", - "toGMTString", - "toISOString", - "toJSON", - "toLocaleDateString", - "toLocaleFormat", - "toLocaleLowerCase", - "toLocaleString", - "toLocaleTimeString", - "toLocaleUpperCase", - "toLowerCase", - "toMethod", - "toPrecision", - "toSdp", - "toSource", - "toStaticHTML", - "toString", - "toStringTag", - "toTimeString", - "toUTCString", - "toUpperCase", - "toggle", - "toggleLongPressEnabled", - "tooLong", - "toolbar", - "top", - "topMargin", - "total", - "totalFrameDelay", - "totalVideoFrames", - "touchAction", - "touches", - "trace", - "track", - "transaction", - "transactions", - "transform", - "transform-origin", - "transform-style", - "transformOrigin", - "transformPoint", - "transformString", - "transformStyle", - "transformToDocument", - "transformToFragment", - "transition", - "transition-delay", - "transition-duration", - "transition-property", - "transition-timing-function", - "transitionDelay", - "transitionDuration", - "transitionProperty", - "transitionTimingFunction", - "translate", - "translateSelf", - "translationX", - "translationY", - "trim", - "trimLeft", - "trimRight", - "trueSpeed", - "trunc", - "truncate", - "type", - "typeDetail", - "typeMismatch", - "typeMustMatch", - "types", - "ubound", - "undefined", - "unescape", - "uneval", - "unicode-bidi", - "unicodeBidi", - "uniform1f", - "uniform1fv", - "uniform1i", - "uniform1iv", - "uniform2f", - "uniform2fv", - "uniform2i", - "uniform2iv", - "uniform3f", - "uniform3fv", - "uniform3i", - "uniform3iv", - "uniform4f", - "uniform4fv", - "uniform4i", - "uniform4iv", - "uniformMatrix2fv", - "uniformMatrix3fv", - "uniformMatrix4fv", - "unique", - "uniqueID", - "uniqueNumber", - "unitType", - "units", - "unloadEventEnd", - "unloadEventStart", - "unlock", - "unmount", - "unobserve", - "unpause", - "unpauseAnimations", - "unreadCount", - "unregister", - "unregisterContentHandler", - "unregisterProtocolHandler", - "unscopables", - "unselectable", - "unshift", - "unsubscribe", - "unsuspendRedraw", - "unsuspendRedrawAll", - "unwatch", - "unwrapKey", - "update", - "updateCommands", - "updateIce", - "updateInterval", - "updateSettings", - "updated", - "updating", - "upload", - "upper", - "upperBound", - "upperOpen", - "uri", - "url", - "urn", - "urns", - "usages", - "useCurrentView", - "useMap", - "useProgram", - "usedSpace", - "userAgent", - "userLanguage", - "username", - "v8BreakIterator", - "vAlign", - "vLink", - "valid", - "validateProgram", - "validationMessage", - "validity", - "value", - "valueAsDate", - "valueAsNumber", - "valueAsString", - "valueInSpecifiedUnits", - "valueMissing", - "valueOf", - "valueText", - "valueType", - "values", - "vector-effect", - "vectorEffect", - "velocityAngular", - "velocityExpansion", - "velocityX", - "velocityY", - "vendor", - "vendorSub", - "verify", - "version", - "vertexAttrib1f", - "vertexAttrib1fv", - "vertexAttrib2f", - "vertexAttrib2fv", - "vertexAttrib3f", - "vertexAttrib3fv", - "vertexAttrib4f", - "vertexAttrib4fv", - "vertexAttribDivisorANGLE", - "vertexAttribPointer", - "vertical", - "vertical-align", - "verticalAlign", - "verticalOverflow", - "vibrate", - "videoHeight", - "videoTracks", - "videoWidth", - "view", - "viewBox", - "viewBoxString", - "viewTarget", - "viewTargetString", - "viewport", - "viewportAnchorX", - "viewportAnchorY", - "viewportElement", - "visibility", - "visibilityState", - "visible", - "vlinkColor", - "voice", - "volume", - "vrml", - "vspace", - "w", - "wand", - "warn", - "wasClean", - "watch", - "watchPosition", - "webdriver", - "webkitAddKey", - "webkitAnimation", - "webkitAnimationDelay", - "webkitAnimationDirection", - "webkitAnimationDuration", - "webkitAnimationFillMode", - "webkitAnimationIterationCount", - "webkitAnimationName", - "webkitAnimationPlayState", - "webkitAnimationTimingFunction", - "webkitAppearance", - "webkitAudioContext", - "webkitAudioDecodedByteCount", - "webkitAudioPannerNode", - "webkitBackfaceVisibility", - "webkitBackground", - "webkitBackgroundAttachment", - "webkitBackgroundClip", - "webkitBackgroundColor", - "webkitBackgroundImage", - "webkitBackgroundOrigin", - "webkitBackgroundPosition", - "webkitBackgroundPositionX", - "webkitBackgroundPositionY", - "webkitBackgroundRepeat", - "webkitBackgroundSize", - "webkitBackingStorePixelRatio", - "webkitBorderImage", - "webkitBorderImageOutset", - "webkitBorderImageRepeat", - "webkitBorderImageSlice", - "webkitBorderImageSource", - "webkitBorderImageWidth", - "webkitBoxAlign", - "webkitBoxDirection", - "webkitBoxFlex", - "webkitBoxOrdinalGroup", - "webkitBoxOrient", - "webkitBoxPack", - "webkitBoxSizing", - "webkitCancelAnimationFrame", - "webkitCancelFullScreen", - "webkitCancelKeyRequest", - "webkitCancelRequestAnimationFrame", - "webkitClearResourceTimings", - "webkitClosedCaptionsVisible", - "webkitConvertPointFromNodeToPage", - "webkitConvertPointFromPageToNode", - "webkitCreateShadowRoot", - "webkitCurrentFullScreenElement", - "webkitCurrentPlaybackTargetIsWireless", - "webkitDirectionInvertedFromDevice", - "webkitDisplayingFullscreen", - "webkitEnterFullScreen", - "webkitEnterFullscreen", - "webkitExitFullScreen", - "webkitExitFullscreen", - "webkitExitPointerLock", - "webkitFullScreenKeyboardInputAllowed", - "webkitFullscreenElement", - "webkitFullscreenEnabled", - "webkitGenerateKeyRequest", - "webkitGetAsEntry", - "webkitGetDatabaseNames", - "webkitGetEntries", - "webkitGetEntriesByName", - "webkitGetEntriesByType", - "webkitGetFlowByName", - "webkitGetGamepads", - "webkitGetImageDataHD", - "webkitGetNamedFlows", - "webkitGetRegionFlowRanges", - "webkitGetUserMedia", - "webkitHasClosedCaptions", - "webkitHidden", - "webkitIDBCursor", - "webkitIDBDatabase", - "webkitIDBDatabaseError", - "webkitIDBDatabaseException", - "webkitIDBFactory", - "webkitIDBIndex", - "webkitIDBKeyRange", - "webkitIDBObjectStore", - "webkitIDBRequest", - "webkitIDBTransaction", - "webkitImageSmoothingEnabled", - "webkitIndexedDB", - "webkitInitMessageEvent", - "webkitIsFullScreen", - "webkitKeys", - "webkitLineDashOffset", - "webkitLockOrientation", - "webkitMatchesSelector", - "webkitMediaStream", - "webkitNotifications", - "webkitOfflineAudioContext", - "webkitOrientation", - "webkitPeerConnection00", - "webkitPersistentStorage", - "webkitPointerLockElement", - "webkitPostMessage", - "webkitPreservesPitch", - "webkitPutImageDataHD", - "webkitRTCPeerConnection", - "webkitRegionOverset", - "webkitRequestAnimationFrame", - "webkitRequestFileSystem", - "webkitRequestFullScreen", - "webkitRequestFullscreen", - "webkitRequestPointerLock", - "webkitResolveLocalFileSystemURL", - "webkitSetMediaKeys", - "webkitSetResourceTimingBufferSize", - "webkitShadowRoot", - "webkitShowPlaybackTargetPicker", - "webkitSlice", - "webkitSpeechGrammar", - "webkitSpeechGrammarList", - "webkitSpeechRecognition", - "webkitSpeechRecognitionError", - "webkitSpeechRecognitionEvent", - "webkitStorageInfo", - "webkitSupportsFullscreen", - "webkitTemporaryStorage", - "webkitTextSizeAdjust", - "webkitTransform", - "webkitTransformOrigin", - "webkitTransition", - "webkitTransitionDelay", - "webkitTransitionDuration", - "webkitTransitionProperty", - "webkitTransitionTimingFunction", - "webkitURL", - "webkitUnlockOrientation", - "webkitUserSelect", - "webkitVideoDecodedByteCount", - "webkitVisibilityState", - "webkitWirelessVideoPlaybackDisabled", - "webkitdropzone", - "webstore", - "weight", - "whatToShow", - "wheelDelta", - "wheelDeltaX", - "wheelDeltaY", - "which", - "white-space", - "whiteSpace", - "wholeText", - "widows", - "width", - "will-change", - "willChange", - "willValidate", - "window", - "withCredentials", - "word-break", - "word-spacing", - "word-wrap", - "wordBreak", - "wordSpacing", - "wordWrap", - "wrap", - "wrapKey", - "write", - "writeln", - "writingMode", - "x", - "x1", - "x2", - "xChannelSelector", - "xmlEncoding", - "xmlStandalone", - "xmlVersion", - "xmlbase", - "xmllang", - "xmlspace", - "y", - "y1", - "y2", - "yChannelSelector", - "yandex", - "z", - "z-index", - "zIndex", - "zoom", - "zoomAndPan", - "zoomRectScreen" - ]; - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - function find_builtins(reserved) { - domprops.forEach(add); - - // Compatibility fix for some standard defined globals not defined on every js environment - var new_globals = ["Symbol", "Map", "Promise", "Proxy", "Reflect", "Set", "WeakMap", "WeakSet"]; - var objects = {}; - var global_ref = typeof global === "object" ? global : self; - - new_globals.forEach(function (new_global) { - objects[new_global] = global_ref[new_global] || new Function(); - }); - - // NaN will be included due to Number.NaN - [ - "null", - "true", - "false", - "Infinity", - "-Infinity", - "undefined", - ].forEach(add); - [ Object, Array, Function, Number, - String, Boolean, Error, Math, - Date, RegExp, objects.Symbol, ArrayBuffer, - DataView, decodeURI, decodeURIComponent, - encodeURI, encodeURIComponent, eval, EvalError, - Float32Array, Float64Array, Int8Array, Int16Array, - Int32Array, isFinite, isNaN, JSON, objects.Map, parseFloat, - parseInt, objects.Promise, objects.Proxy, RangeError, ReferenceError, - objects.Reflect, objects.Set, SyntaxError, TypeError, Uint8Array, - Uint8ClampedArray, Uint16Array, Uint32Array, URIError, - objects.WeakMap, objects.WeakSet - ].forEach(function(ctor) { - Object.getOwnPropertyNames(ctor).map(add); - if (ctor.prototype) { - Object.getOwnPropertyNames(ctor.prototype).map(add); - } - }); - function add(name) { - reserved.add(name); - } - } - - function reserve_quoted_keys(ast, reserved) { - function add(name) { - push_uniq(reserved, name); - } - - ast.walk(new TreeWalker(function(node) { - if (node instanceof AST_ObjectKeyVal && node.quote) { - add(node.key); - } else if (node instanceof AST_ObjectProperty && node.quote) { - add(node.key.name); - } else if (node instanceof AST_Sub) { - addStrings(node.property, add); - } - })); - } - - function addStrings(node, add) { - node.walk(new TreeWalker(function(node) { - if (node instanceof AST_Sequence) { - addStrings(node.tail_node(), add); - } else if (node instanceof AST_String) { - add(node.value); - } else if (node instanceof AST_Conditional) { - addStrings(node.consequent, add); - addStrings(node.alternative, add); - } - return true; - })); - } - - function mangle_properties(ast, options) { - options = defaults(options, { - builtins: false, - cache: null, - debug: false, - keep_quoted: false, - only_cache: false, - regex: null, - reserved: null, - }, true); - - var reserved_option = options.reserved; - if (!Array.isArray(reserved_option)) reserved_option = [reserved_option]; - var reserved = new Set(reserved_option); - if (!options.builtins) find_builtins(reserved); - - var cname = -1; - var cache; - if (options.cache) { - cache = options.cache.props; - cache.each(function(mangled_name) { - reserved.add(mangled_name); - }); - } else { - cache = new Dictionary(); - } - - var regex = options.regex; - - // note debug is either false (disabled), or a string of the debug suffix to use (enabled). - // note debug may be enabled as an empty string, which is falsey. Also treat passing 'true' - // the same as passing an empty string. - var debug = options.debug !== false; - var debug_name_suffix; - if (debug) { - debug_name_suffix = (options.debug === true ? "" : options.debug); - } - - var names_to_mangle = new Set(); - var unmangleable = new Set(); - - // step 1: find candidates to mangle - ast.walk(new TreeWalker(function(node) { - if (node instanceof AST_ObjectKeyVal) { - if (typeof node.key == "string") { - add(node.key); - } - } else if (node instanceof AST_ObjectProperty) { - // setter or getter, since KeyVal is handled above - add(node.key.name); - } else if (node instanceof AST_Dot) { - var root = node; - while (root.expression) { - root = root.expression; - } - if (!(root.thedef && root.thedef.undeclared)) add(node.property); - } else if (node instanceof AST_Sub) { - addStrings(node.property, add); - } else if (node instanceof AST_Call - && node.expression.print_to_string() == "Object.defineProperty") { - addStrings(node.args[1], add); - } - })); - - // step 2: transform the tree, renaming properties - return ast.transform(new TreeTransformer(function(node) { - if (node instanceof AST_ObjectKeyVal) { - if (typeof node.key == "string") { - node.key = mangle(node.key); - } - } else if (node instanceof AST_ObjectProperty) { - // setter or getter - node.key.name = mangle(node.key.name); - } else if (node instanceof AST_Dot) { - node.property = mangle(node.property); - } else if (!options.keep_quoted && node instanceof AST_Sub) { - node.property = mangleStrings(node.property); - } else if (node instanceof AST_Call - && node.expression.print_to_string() == "Object.defineProperty") { - node.args[1] = mangleStrings(node.args[1]); - } - })); - - // only function declarations after this line - - function can_mangle(name) { - if (unmangleable.has(name)) return false; - if (reserved.has(name)) return false; - if (options.only_cache) { - return cache.has(name); - } - if (/^-?[0-9]+(\.[0-9]+)?(e[+-][0-9]+)?$/.test(name)) return false; - return true; - } - - function should_mangle(name) { - if (regex && !regex.test(name)) return false; - if (reserved.has(name)) return false; - return cache.has(name) - || names_to_mangle.has(name); - } - - function add(name) { - if (can_mangle(name)) - names_to_mangle.add(name); - - if (!should_mangle(name)) { - unmangleable.add(name); - } - } - - function mangle(name) { - if (!should_mangle(name)) { - return name; - } - - var mangled = cache.get(name); - if (!mangled) { - if (debug) { - // debug mode: use a prefix and suffix to preserve readability, e.g. o.foo -> o._$foo$NNN_. - var debug_mangled = "_$" + name + "$" + debug_name_suffix + "_"; - - if (can_mangle(debug_mangled)) { - mangled = debug_mangled; - } - } - - // either debug mode is off, or it is on and we could not use the mangled name - if (!mangled) { - do { - mangled = base54(++cname); - } while (!can_mangle(mangled)); - } - - cache.set(name, mangled); - } - return mangled; - } - - function mangleStrings(node) { - return node.transform(new TreeTransformer(function(node) { - if (node instanceof AST_Sequence) { - var last = node.expressions.length - 1; - node.expressions[last] = mangleStrings(node.expressions[last]); - } else if (node instanceof AST_String) { - node.value = mangle(node.value); - } else if (node instanceof AST_Conditional) { - node.consequent = mangleStrings(node.consequent); - node.alternative = mangleStrings(node.alternative); - } - return node; - })); - } - } - - var to_ascii = typeof atob == "undefined" ? function(b64) { - return Buffer.from(b64, "base64").toString(); - } : atob; - var to_base64 = typeof btoa == "undefined" ? function(str) { - return Buffer.from(str).toString("base64"); - } : btoa; - - function read_source_map(code) { - var match = /(?:^|[^.])\/\/# sourceMappingURL=data:application\/json(;[\w=-]*)?;base64,([+/0-9A-Za-z]*=*)\s*$/.exec(code); - if (!match) { - AST_Node.warn("inline source map not found"); - return null; - } - return to_ascii(match[2]); - } - - function set_shorthand(name, options, keys) { - if (options[name]) { - keys.forEach(function(key) { - if (options[key]) { - if (typeof options[key] != "object") options[key] = {}; - if (!(name in options[key])) options[key][name] = options[name]; - } - }); - } - } - - function init_cache(cache) { - if (!cache) return; - if (!("props" in cache)) { - cache.props = new Dictionary(); - } else if (!(cache.props instanceof Dictionary)) { - cache.props = Dictionary.fromObject(cache.props); - } - } - - function to_json(cache) { - return { - props: cache.props.toObject() - }; - } - - function minify(files, options) { - var warn_function = AST_Node.warn_function; - try { - options = defaults(options, { - compress: {}, - ecma: undefined, - enclose: false, - ie8: false, - keep_classnames: undefined, - keep_fnames: false, - mangle: {}, - module: false, - nameCache: null, - output: {}, - parse: {}, - rename: undefined, - safari10: false, - sourceMap: false, - timings: false, - toplevel: false, - warnings: false, - wrap: false, - }, true); - var timings = options.timings && { - start: Date.now() - }; - if (options.keep_classnames === undefined) { - options.keep_classnames = options.keep_fnames; - } - if (options.rename === undefined) { - options.rename = options.compress && options.mangle; - } - set_shorthand("ecma", options, [ "parse", "compress", "output" ]); - set_shorthand("ie8", options, [ "compress", "mangle", "output" ]); - set_shorthand("keep_classnames", options, [ "compress", "mangle" ]); - set_shorthand("keep_fnames", options, [ "compress", "mangle" ]); - set_shorthand("module", options, [ "parse", "compress", "mangle" ]); - set_shorthand("safari10", options, [ "mangle", "output" ]); - set_shorthand("toplevel", options, [ "compress", "mangle" ]); - set_shorthand("warnings", options, [ "compress" ]); - var quoted_props; - if (options.mangle) { - options.mangle = defaults(options.mangle, { - cache: options.nameCache && (options.nameCache.vars || {}), - eval: false, - ie8: false, - keep_classnames: false, - keep_fnames: false, - module: false, - properties: false, - reserved: [], - safari10: false, - toplevel: false, - }, true); - if (options.mangle.properties) { - if (typeof options.mangle.properties != "object") { - options.mangle.properties = {}; - } - if (options.mangle.properties.keep_quoted) { - quoted_props = options.mangle.properties.reserved; - if (!Array.isArray(quoted_props)) quoted_props = []; - options.mangle.properties.reserved = quoted_props; - } - if (options.nameCache && !("cache" in options.mangle.properties)) { - options.mangle.properties.cache = options.nameCache.props || {}; - } - } - init_cache(options.mangle.cache); - init_cache(options.mangle.properties.cache); - } - if (options.sourceMap) { - options.sourceMap = defaults(options.sourceMap, { - content: null, - filename: null, - includeSources: false, - root: null, - url: null, - }, true); - } - var warnings = []; - if (options.warnings && !AST_Node.warn_function) { - AST_Node.warn_function = function(warning) { - warnings.push(warning); - }; - } - if (timings) timings.parse = Date.now(); - var toplevel; - if (files instanceof AST_Toplevel) { - toplevel = files; - } else { - if (typeof files == "string") { - files = [ files ]; - } - options.parse = options.parse || {}; - options.parse.toplevel = null; - for (var name in files) if (HOP(files, name)) { - options.parse.filename = name; - options.parse.toplevel = parse(files[name], options.parse); - if (options.sourceMap && options.sourceMap.content == "inline") { - if (Object.keys(files).length > 1) - throw new Error("inline source map only works with singular input"); - options.sourceMap.content = read_source_map(files[name]); - } - } - toplevel = options.parse.toplevel; - } - if (quoted_props) { - reserve_quoted_keys(toplevel, quoted_props); - } - if (options.wrap) { - toplevel = toplevel.wrap_commonjs(options.wrap); - } - if (options.enclose) { - toplevel = toplevel.wrap_enclose(options.enclose); - } - if (timings) timings.rename = Date.now(); - if (timings) timings.compress = Date.now(); - if (options.compress) toplevel = new Compressor(options.compress).compress(toplevel); - if (timings) timings.scope = Date.now(); - if (options.mangle) toplevel.figure_out_scope(options.mangle); - if (timings) timings.mangle = Date.now(); - if (options.mangle) { - base54.reset(); - toplevel.compute_char_frequency(options.mangle); - toplevel.mangle_names(options.mangle); - } - if (timings) timings.properties = Date.now(); - if (options.mangle && options.mangle.properties) { - toplevel = mangle_properties(toplevel, options.mangle.properties); - } - if (timings) timings.output = Date.now(); - var result = {}; - if (options.output.ast) { - result.ast = toplevel; - } - if (!HOP(options.output, "code") || options.output.code) { - if (options.sourceMap) { - if (typeof options.sourceMap.content == "string") { - options.sourceMap.content = JSON.parse(options.sourceMap.content); - } - options.output.source_map = SourceMap({ - file: options.sourceMap.filename, - orig: options.sourceMap.content, - root: options.sourceMap.root - }); - if (options.sourceMap.includeSources) { - if (files instanceof AST_Toplevel) { - throw new Error("original source content unavailable"); - } else for (var name in files) if (HOP(files, name)) { - options.output.source_map.get().setSourceContent(name, files[name]); - } - } - } - delete options.output.ast; - delete options.output.code; - var stream = OutputStream(options.output); - toplevel.print(stream); - result.code = stream.get(); - if (options.sourceMap) { - result.map = options.output.source_map.toString(); - if (options.sourceMap.url == "inline") { - result.code += "\n//# sourceMappingURL=data:application/json;charset=utf-8;base64," + to_base64(result.map); - } else if (options.sourceMap.url) { - result.code += "\n//# sourceMappingURL=" + options.sourceMap.url; - } - } - } - if (options.nameCache && options.mangle) { - if (options.mangle.cache) options.nameCache.vars = to_json(options.mangle.cache); - if (options.mangle.properties && options.mangle.properties.cache) { - options.nameCache.props = to_json(options.mangle.properties.cache); - } - } - if (timings) { - timings.end = Date.now(); - result.timings = { - parse: 1e-3 * (timings.rename - timings.parse), - rename: 1e-3 * (timings.compress - timings.rename), - compress: 1e-3 * (timings.scope - timings.compress), - scope: 1e-3 * (timings.mangle - timings.scope), - mangle: 1e-3 * (timings.properties - timings.mangle), - properties: 1e-3 * (timings.output - timings.properties), - output: 1e-3 * (timings.end - timings.output), - total: 1e-3 * (timings.end - timings.start) - }; - } - if (warnings.length) { - result.warnings = warnings; - } - return result; - } catch (ex) { - return { error: ex }; - } finally { - AST_Node.warn_function = warn_function; - } - } - - /*********************************************************************** - - A JavaScript tokenizer / parser / beautifier / compressor. - https://github.com/mishoo/UglifyJS2 - - -------------------------------- (C) --------------------------------- - - Author: Mihai Bazon - - http://mihai.bazon.net/blog - - Distributed under the BSD license: - - Copyright 2012 (c) Mihai Bazon - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - ***********************************************************************/ - - (function() { - - var normalize_directives = function(body) { - var in_directive = true; - - for (var i = 0; i < body.length; i++) { - if (in_directive && body[i] instanceof AST_Statement && body[i].body instanceof AST_String) { - body[i] = new AST_Directive({ - start: body[i].start, - end: body[i].end, - value: body[i].body.value - }); - } else if (in_directive && !(body[i] instanceof AST_Statement && body[i].body instanceof AST_String)) { - in_directive = false; - } - } - - return body; - }; - - var MOZ_TO_ME = { - Program: function(M) { - return new AST_Toplevel({ - start: my_start_token(M), - end: my_end_token(M), - body: normalize_directives(M.body.map(from_moz)) - }); - }, - ArrayPattern: function(M) { - return new AST_Destructuring({ - start: my_start_token(M), - end: my_end_token(M), - names: M.elements.map(function(elm) { - if (elm === null) { - return new AST_Hole(); - } - return from_moz(elm); - }), - is_array: true - }); - }, - ObjectPattern: function(M) { - return new AST_Destructuring({ - start: my_start_token(M), - end: my_end_token(M), - names: M.properties.map(from_moz), - is_array: false - }); - }, - AssignmentPattern: function(M) { - return new AST_Binary({ - start: my_start_token(M), - end: my_end_token(M), - left: from_moz(M.left), - operator: "=", - right: from_moz(M.right) - }); - }, - SpreadElement: function(M) { - return new AST_Expansion({ - start: my_start_token(M), - end: my_end_token(M), - expression: from_moz(M.argument) - }); - }, - RestElement: function(M) { - return new AST_Expansion({ - start: my_start_token(M), - end: my_end_token(M), - expression: from_moz(M.argument) - }); - }, - TemplateElement: function(M) { - return new AST_TemplateSegment({ - start: my_start_token(M), - end: my_end_token(M), - value: M.value.cooked, - raw: M.value.raw - }); - }, - TemplateLiteral: function(M) { - var segments = []; - for (var i = 0; i < M.quasis.length; i++) { - segments.push(from_moz(M.quasis[i])); - if (M.expressions[i]) { - segments.push(from_moz(M.expressions[i])); - } - } - return new AST_TemplateString({ - start: my_start_token(M), - end: my_end_token(M), - segments: segments - }); - }, - TaggedTemplateExpression: function(M) { - return new AST_PrefixedTemplateString({ - start: my_start_token(M), - end: my_end_token(M), - template_string: from_moz(M.quasi), - prefix: from_moz(M.tag) - }); - }, - FunctionDeclaration: function(M) { - return new AST_Defun({ - start: my_start_token(M), - end: my_end_token(M), - name: from_moz(M.id), - argnames: M.params.map(from_moz), - is_generator: M.generator, - async: M.async, - body: normalize_directives(from_moz(M.body).body) - }); - }, - FunctionExpression: function(M) { - return new AST_Function({ - start: my_start_token(M), - end: my_end_token(M), - name: from_moz(M.id), - argnames: M.params.map(from_moz), - is_generator: M.generator, - async: M.async, - body: normalize_directives(from_moz(M.body).body) - }); - }, - ArrowFunctionExpression: function(M) { - return new AST_Arrow({ - start: my_start_token(M), - end: my_end_token(M), - argnames: M.params.map(from_moz), - body: from_moz(M.body), - async: M.async, - }); - }, - ExpressionStatement: function(M) { - return new AST_SimpleStatement({ - start: my_start_token(M), - end: my_end_token(M), - body: from_moz(M.expression) - }); - }, - TryStatement: function(M) { - var handlers = M.handlers || [M.handler]; - if (handlers.length > 1 || M.guardedHandlers && M.guardedHandlers.length) { - throw new Error("Multiple catch clauses are not supported."); - } - return new AST_Try({ - start : my_start_token(M), - end : my_end_token(M), - body : from_moz(M.block).body, - bcatch : from_moz(handlers[0]), - bfinally : M.finalizer ? new AST_Finally(from_moz(M.finalizer)) : null - }); - }, - Property: function(M) { - var key = M.key; - var args = { - start : my_start_token(key || M.value), - end : my_end_token(M.value), - key : key.type == "Identifier" ? key.name : key.value, - value : from_moz(M.value) - }; - if (M.computed) { - args.key = from_moz(M.key); - } - if (M.method) { - args.is_generator = M.value.generator; - args.async = M.value.async; - if (!M.computed) { - args.key = new AST_SymbolMethod({ name: args.key }); - } else { - args.key = from_moz(M.key); - } - return new AST_ConciseMethod(args); - } - if (M.kind == "init") { - if (key.type != "Identifier" && key.type != "Literal") { - args.key = from_moz(key); - } - return new AST_ObjectKeyVal(args); - } - if (typeof args.key === "string" || typeof args.key === "number") { - args.key = new AST_SymbolMethod({ - name: args.key - }); - } - args.value = new AST_Accessor(args.value); - if (M.kind == "get") return new AST_ObjectGetter(args); - if (M.kind == "set") return new AST_ObjectSetter(args); - if (M.kind == "method") { - args.async = M.value.async; - args.is_generator = M.value.generator; - args.quote = M.computed ? "\"" : null; - return new AST_ConciseMethod(args); - } - }, - MethodDefinition: function(M) { - var args = { - start : my_start_token(M), - end : my_end_token(M), - key : M.computed ? from_moz(M.key) : new AST_SymbolMethod({ name: M.key.name || M.key.value }), - value : from_moz(M.value), - static : M.static, - }; - if (M.kind == "get") { - return new AST_ObjectGetter(args); - } - if (M.kind == "set") { - return new AST_ObjectSetter(args); - } - args.is_generator = M.value.generator; - args.async = M.value.async; - return new AST_ConciseMethod(args); - }, - ArrayExpression: function(M) { - return new AST_Array({ - start : my_start_token(M), - end : my_end_token(M), - elements : M.elements.map(function(elem) { - return elem === null ? new AST_Hole() : from_moz(elem); - }) - }); - }, - ObjectExpression: function(M) { - return new AST_Object({ - start : my_start_token(M), - end : my_end_token(M), - properties : M.properties.map(function(prop) { - if (prop.type === "SpreadElement") { - return from_moz(prop); - } - prop.type = "Property"; - return from_moz(prop); - }) - }); - }, - SequenceExpression: function(M) { - return new AST_Sequence({ - start : my_start_token(M), - end : my_end_token(M), - expressions: M.expressions.map(from_moz) - }); - }, - MemberExpression: function(M) { - return new (M.computed ? AST_Sub : AST_Dot)({ - start : my_start_token(M), - end : my_end_token(M), - property : M.computed ? from_moz(M.property) : M.property.name, - expression : from_moz(M.object) - }); - }, - SwitchCase: function(M) { - return new (M.test ? AST_Case : AST_Default)({ - start : my_start_token(M), - end : my_end_token(M), - expression : from_moz(M.test), - body : M.consequent.map(from_moz) - }); - }, - VariableDeclaration: function(M) { - return new (M.kind === "const" ? AST_Const : - M.kind === "let" ? AST_Let : AST_Var)({ - start : my_start_token(M), - end : my_end_token(M), - definitions : M.declarations.map(from_moz) - }); - }, - - ImportDeclaration: function(M) { - var imported_name = null; - var imported_names = null; - M.specifiers.forEach(function (specifier) { - if (specifier.type === "ImportSpecifier") { - if (!imported_names) { imported_names = []; } - imported_names.push(new AST_NameMapping({ - start: my_start_token(specifier), - end: my_end_token(specifier), - foreign_name: from_moz(specifier.imported), - name: from_moz(specifier.local) - })); - } else if (specifier.type === "ImportDefaultSpecifier") { - imported_name = from_moz(specifier.local); - } else if (specifier.type === "ImportNamespaceSpecifier") { - if (!imported_names) { imported_names = []; } - imported_names.push(new AST_NameMapping({ - start: my_start_token(specifier), - end: my_end_token(specifier), - foreign_name: new AST_SymbolImportForeign({ name: "*" }), - name: from_moz(specifier.local) - })); - } - }); - return new AST_Import({ - start : my_start_token(M), - end : my_end_token(M), - imported_name: imported_name, - imported_names : imported_names, - module_name : from_moz(M.source) - }); - }, - ExportAllDeclaration: function(M) { - return new AST_Export({ - start: my_start_token(M), - end: my_end_token(M), - exported_names: [ - new AST_NameMapping({ - name: new AST_SymbolExportForeign({ name: "*" }), - foreign_name: new AST_SymbolExportForeign({ name: "*" }) - }) - ], - module_name: from_moz(M.source) - }); - }, - ExportNamedDeclaration: function(M) { - return new AST_Export({ - start: my_start_token(M), - end: my_end_token(M), - exported_definition: from_moz(M.declaration), - exported_names: M.specifiers && M.specifiers.length ? M.specifiers.map(function (specifier) { - return new AST_NameMapping({ - foreign_name: from_moz(specifier.exported), - name: from_moz(specifier.local) - }); - }) : null, - module_name: from_moz(M.source) - }); - }, - ExportDefaultDeclaration: function(M) { - return new AST_Export({ - start: my_start_token(M), - end: my_end_token(M), - exported_value: from_moz(M.declaration), - is_default: true - }); - }, - Literal: function(M) { - var val = M.value, args = { - start : my_start_token(M), - end : my_end_token(M) - }; - if (val === null) return new AST_Null(args); - var rx = M.regex; - if (rx && rx.pattern) { - // RegExpLiteral as per ESTree AST spec - args.value = new RegExp(rx.pattern, rx.flags); - var raw = args.value.toString(); - args.value.raw_source = rx.flags - ? raw.substring(0, raw.length - rx.flags.length) + rx.flags - : raw; - return new AST_RegExp(args); - } else if (rx) { - // support legacy RegExp - args.value = M.regex && M.raw ? M.raw : val; - return new AST_RegExp(args); - } - switch (typeof val) { - case "string": - args.value = val; - return new AST_String(args); - case "number": - args.value = val; - return new AST_Number(args); - case "boolean": - return new (val ? AST_True : AST_False)(args); - } - }, - MetaProperty: function(M) { - if (M.meta.name === "new" && M.property.name === "target") { - return new AST_NewTarget({ - start: my_start_token(M), - end: my_end_token(M) - }); - } - }, - Identifier: function(M) { - var p = FROM_MOZ_STACK[FROM_MOZ_STACK.length - 2]; - return new ( p.type == "LabeledStatement" ? AST_Label - : p.type == "VariableDeclarator" && p.id === M ? (p.kind == "const" ? AST_SymbolConst : p.kind == "let" ? AST_SymbolLet : AST_SymbolVar) - : /Import.*Specifier/.test(p.type) ? (p.local === M ? AST_SymbolImport : AST_SymbolImportForeign) - : p.type == "ExportSpecifier" ? (p.local === M ? AST_SymbolExport : AST_SymbolExportForeign) - : p.type == "FunctionExpression" ? (p.id === M ? AST_SymbolLambda : AST_SymbolFunarg) - : p.type == "FunctionDeclaration" ? (p.id === M ? AST_SymbolDefun : AST_SymbolFunarg) - : p.type == "ArrowFunctionExpression" ? (p.params.includes(M)) ? AST_SymbolFunarg : AST_SymbolRef - : p.type == "ClassExpression" ? (p.id === M ? AST_SymbolClass : AST_SymbolRef) - : p.type == "Property" ? (p.key === M && p.computed || p.value === M ? AST_SymbolRef : AST_SymbolMethod) - : p.type == "ClassDeclaration" ? (p.id === M ? AST_SymbolDefClass : AST_SymbolRef) - : p.type == "MethodDefinition" ? (p.computed ? AST_SymbolRef : AST_SymbolMethod) - : p.type == "CatchClause" ? AST_SymbolCatch - : p.type == "BreakStatement" || p.type == "ContinueStatement" ? AST_LabelRef - : AST_SymbolRef)({ - start : my_start_token(M), - end : my_end_token(M), - name : M.name - }); - } - }; - - MOZ_TO_ME.UpdateExpression = - MOZ_TO_ME.UnaryExpression = function To_Moz_Unary(M) { - var prefix = "prefix" in M ? M.prefix - : M.type == "UnaryExpression" ? true : false; - return new (prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({ - start : my_start_token(M), - end : my_end_token(M), - operator : M.operator, - expression : from_moz(M.argument) - }); - }; - - MOZ_TO_ME.ClassDeclaration = - MOZ_TO_ME.ClassExpression = function From_Moz_Class(M) { - return new (M.type === "ClassDeclaration" ? AST_DefClass : AST_ClassExpression)({ - start : my_start_token(M), - end : my_end_token(M), - name : from_moz(M.id), - extends : from_moz(M.superClass), - properties: M.body.body.map(from_moz) - }); - }; - - map("EmptyStatement", AST_EmptyStatement); - map("BlockStatement", AST_BlockStatement, "body@body"); - map("IfStatement", AST_If, "test>condition, consequent>body, alternate>alternative"); - map("LabeledStatement", AST_LabeledStatement, "label>label, body>body"); - map("BreakStatement", AST_Break, "label>label"); - map("ContinueStatement", AST_Continue, "label>label"); - map("WithStatement", AST_With, "object>expression, body>body"); - map("SwitchStatement", AST_Switch, "discriminant>expression, cases@body"); - map("ReturnStatement", AST_Return, "argument>value"); - map("ThrowStatement", AST_Throw, "argument>value"); - map("WhileStatement", AST_While, "test>condition, body>body"); - map("DoWhileStatement", AST_Do, "test>condition, body>body"); - map("ForStatement", AST_For, "init>init, test>condition, update>step, body>body"); - map("ForInStatement", AST_ForIn, "left>init, right>object, body>body"); - map("ForOfStatement", AST_ForOf, "left>init, right>object, body>body, await=await"); - map("AwaitExpression", AST_Await, "argument>expression"); - map("YieldExpression", AST_Yield, "argument>expression, delegate=is_star"); - map("DebuggerStatement", AST_Debugger); - map("VariableDeclarator", AST_VarDef, "id>name, init>value"); - map("CatchClause", AST_Catch, "param>argname, body%body"); - - map("ThisExpression", AST_This); - map("Super", AST_Super); - map("BinaryExpression", AST_Binary, "operator=operator, left>left, right>right"); - map("LogicalExpression", AST_Binary, "operator=operator, left>left, right>right"); - map("AssignmentExpression", AST_Assign, "operator=operator, left>left, right>right"); - map("ConditionalExpression", AST_Conditional, "test>condition, consequent>consequent, alternate>alternative"); - map("NewExpression", AST_New, "callee>expression, arguments@args"); - map("CallExpression", AST_Call, "callee>expression, arguments@args"); - - def_to_moz(AST_Toplevel, function To_Moz_Program(M) { - return to_moz_scope("Program", M); - }); - - def_to_moz(AST_Expansion, function To_Moz_Spread(M, parent) { - return { - type: to_moz_in_destructuring() ? "RestElement" : "SpreadElement", - argument: to_moz(M.expression) - }; - }); - - def_to_moz(AST_PrefixedTemplateString, function To_Moz_TaggedTemplateExpression(M) { - return { - type: "TaggedTemplateExpression", - tag: to_moz(M.prefix), - quasi: to_moz(M.template_string) - }; - }); - - def_to_moz(AST_TemplateString, function To_Moz_TemplateLiteral(M) { - var quasis = []; - var expressions = []; - for (var i = 0; i < M.segments.length; i++) { - if (i % 2 !== 0) { - expressions.push(to_moz(M.segments[i])); - } else { - quasis.push({ - type: "TemplateElement", - value: { - raw: M.segments[i].raw, - cooked: M.segments[i].value - }, - tail: i === M.segments.length - 1 - }); - } - } - return { - type: "TemplateLiteral", - quasis: quasis, - expressions: expressions - }; - }); - - def_to_moz(AST_Defun, function To_Moz_FunctionDeclaration(M) { - return { - type: "FunctionDeclaration", - id: to_moz(M.name), - params: M.argnames.map(to_moz), - generator: M.is_generator, - async: M.async, - body: to_moz_scope("BlockStatement", M) - }; - }); - - def_to_moz(AST_Function, function To_Moz_FunctionExpression(M, parent) { - var is_generator = parent.is_generator !== undefined ? - parent.is_generator : M.is_generator; - return { - type: "FunctionExpression", - id: to_moz(M.name), - params: M.argnames.map(to_moz), - generator: is_generator, - async: M.async, - body: to_moz_scope("BlockStatement", M) - }; - }); - - def_to_moz(AST_Arrow, function To_Moz_ArrowFunctionExpression(M) { - var body = M.body instanceof Array ? { - type: "BlockStatement", - body: M.body.map(to_moz) - } : to_moz(M.body); - return { - type: "ArrowFunctionExpression", - params: M.argnames.map(to_moz), - async: M.async, - body: body - }; - }); - - def_to_moz(AST_Destructuring, function To_Moz_ObjectPattern(M) { - if (M.is_array) { - return { - type: "ArrayPattern", - elements: M.names.map(to_moz) - }; - } - return { - type: "ObjectPattern", - properties: M.names.map(to_moz) - }; - }); - - def_to_moz(AST_Directive, function To_Moz_Directive(M) { - return { - type: "ExpressionStatement", - expression: { - type: "Literal", - value: M.value - } - }; - }); - - def_to_moz(AST_SimpleStatement, function To_Moz_ExpressionStatement(M) { - return { - type: "ExpressionStatement", - expression: to_moz(M.body) - }; - }); - - def_to_moz(AST_SwitchBranch, function To_Moz_SwitchCase(M) { - return { - type: "SwitchCase", - test: to_moz(M.expression), - consequent: M.body.map(to_moz) - }; - }); - - def_to_moz(AST_Try, function To_Moz_TryStatement(M) { - return { - type: "TryStatement", - block: to_moz_block(M), - handler: to_moz(M.bcatch), - guardedHandlers: [], - finalizer: to_moz(M.bfinally) - }; - }); - - def_to_moz(AST_Catch, function To_Moz_CatchClause(M) { - return { - type: "CatchClause", - param: to_moz(M.argname), - guard: null, - body: to_moz_block(M) - }; - }); - - def_to_moz(AST_Definitions, function To_Moz_VariableDeclaration(M) { - return { - type: "VariableDeclaration", - kind: - M instanceof AST_Const ? "const" : - M instanceof AST_Let ? "let" : "var", - declarations: M.definitions.map(to_moz) - }; - }); - - def_to_moz(AST_Export, function To_Moz_ExportDeclaration(M) { - if (M.exported_names) { - if (M.exported_names[0].name.name === "*") { - return { - type: "ExportAllDeclaration", - source: to_moz(M.module_name) - }; - } - return { - type: "ExportNamedDeclaration", - specifiers: M.exported_names.map(function (name_mapping) { - return { - type: "ExportSpecifier", - exported: to_moz(name_mapping.foreign_name), - local: to_moz(name_mapping.name) - }; - }), - declaration: to_moz(M.exported_definition), - source: to_moz(M.module_name) - }; - } - return { - type: M.is_default ? "ExportDefaultDeclaration" : "ExportNamedDeclaration", - declaration: to_moz(M.exported_value || M.exported_definition) - }; - }); - - def_to_moz(AST_Import, function To_Moz_ImportDeclaration(M) { - var specifiers = []; - if (M.imported_name) { - specifiers.push({ - type: "ImportDefaultSpecifier", - local: to_moz(M.imported_name) - }); - } - if (M.imported_names && M.imported_names[0].foreign_name.name === "*") { - specifiers.push({ - type: "ImportNamespaceSpecifier", - local: to_moz(M.imported_names[0].name) - }); - } else if (M.imported_names) { - M.imported_names.forEach(function(name_mapping) { - specifiers.push({ - type: "ImportSpecifier", - local: to_moz(name_mapping.name), - imported: to_moz(name_mapping.foreign_name) - }); - }); - } - return { - type: "ImportDeclaration", - specifiers: specifiers, - source: to_moz(M.module_name) - }; - }); - - def_to_moz(AST_Sequence, function To_Moz_SequenceExpression(M) { - return { - type: "SequenceExpression", - expressions: M.expressions.map(to_moz) - }; - }); - - def_to_moz(AST_PropAccess, function To_Moz_MemberExpression(M) { - var isComputed = M instanceof AST_Sub; - return { - type: "MemberExpression", - object: to_moz(M.expression), - computed: isComputed, - property: isComputed ? to_moz(M.property) : {type: "Identifier", name: M.property} - }; - }); - - def_to_moz(AST_Unary, function To_Moz_Unary(M) { - return { - type: M.operator == "++" || M.operator == "--" ? "UpdateExpression" : "UnaryExpression", - operator: M.operator, - prefix: M instanceof AST_UnaryPrefix, - argument: to_moz(M.expression) - }; - }); - - def_to_moz(AST_Binary, function To_Moz_BinaryExpression(M) { - if (M.operator == "=" && to_moz_in_destructuring()) { - return { - type: "AssignmentPattern", - left: to_moz(M.left), - right: to_moz(M.right) - }; - } - return { - type: M.operator == "&&" || M.operator == "||" ? "LogicalExpression" : "BinaryExpression", - left: to_moz(M.left), - operator: M.operator, - right: to_moz(M.right) - }; - }); - - def_to_moz(AST_Array, function To_Moz_ArrayExpression(M) { - return { - type: "ArrayExpression", - elements: M.elements.map(to_moz) - }; - }); - - def_to_moz(AST_Object, function To_Moz_ObjectExpression(M) { - return { - type: "ObjectExpression", - properties: M.properties.map(to_moz) - }; - }); - - def_to_moz(AST_ObjectProperty, function To_Moz_Property(M, parent) { - var key = M.key instanceof AST_Node ? to_moz(M.key) : { - type: "Identifier", - value: M.key - }; - if (typeof M.key === "number") { - key = { - type: "Literal", - value: Number(M.key) - }; - } - if (typeof M.key === "string") { - key = { - type: "Identifier", - name: M.key - }; - } - var kind; - var string_or_num = typeof M.key === "string" || typeof M.key === "number"; - var computed = string_or_num ? false : !(M.key instanceof AST_Symbol) || M.key instanceof AST_SymbolRef; - if (M instanceof AST_ObjectKeyVal) { - kind = "init"; - computed = !string_or_num; - } else - if (M instanceof AST_ObjectGetter) { - kind = "get"; - } else - if (M instanceof AST_ObjectSetter) { - kind = "set"; - } - if (parent instanceof AST_Class) { - return { - type: "MethodDefinition", - computed: computed, - kind: kind, - static: M.static, - key: to_moz(M.key), - value: to_moz(M.value) - }; - } - return { - type: "Property", - computed: computed, - kind: kind, - key: key, - value: to_moz(M.value) - }; - }); - - def_to_moz(AST_ConciseMethod, function To_Moz_MethodDefinition(M, parent) { - if (parent instanceof AST_Object) { - return { - type: "Property", - computed: !(M.key instanceof AST_Symbol) || M.key instanceof AST_SymbolRef, - kind: "init", - method: true, - shorthand: false, - key: to_moz(M.key), - value: to_moz(M.value) - }; - } - return { - type: "MethodDefinition", - computed: !(M.key instanceof AST_Symbol) || M.key instanceof AST_SymbolRef, - kind: M.key === "constructor" ? "constructor" : "method", - static: M.static, - key: to_moz(M.key), - value: to_moz(M.value) - }; - }); - - def_to_moz(AST_Class, function To_Moz_Class(M) { - var type = M instanceof AST_ClassExpression ? "ClassExpression" : "ClassDeclaration"; - return { - type: type, - superClass: to_moz(M.extends), - id: M.name ? to_moz(M.name) : null, - body: { - type: "ClassBody", - body: M.properties.map(to_moz) - } - }; - }); - - def_to_moz(AST_NewTarget, function To_Moz_MetaProperty(M) { - return { - type: "MetaProperty", - meta: { - type: "Identifier", - name: "new" - }, - property: { - type: "Identifier", - name: "target" - } - }; - }); - - def_to_moz(AST_Symbol, function To_Moz_Identifier(M, parent) { - if (M instanceof AST_SymbolMethod && parent.quote) { - return { - type: "Literal", - value: M.name - }; - } - var def = M.definition(); - return { - type: "Identifier", - name: def ? def.mangled_name || def.name : M.name - }; - }); - - def_to_moz(AST_RegExp, function To_Moz_RegExpLiteral(M) { - var pattern = M.value.source; - var flags = M.value.toString().match(/[gimuys]*$/)[0]; - return { - type: "Literal", - value: new RegExp(pattern, flags), - raw: M.value.raw_source, - regex: { - pattern: pattern, - flags: flags, - } - }; - }); - - def_to_moz(AST_Constant, function To_Moz_Literal(M) { - var value = M.value; - if (typeof value === "number" && (value < 0 || (value === 0 && 1 / value < 0))) { - return { - type: "UnaryExpression", - operator: "-", - prefix: true, - argument: { - type: "Literal", - value: -value, - raw: M.start.raw - } - }; - } - return { - type: "Literal", - value: value, - raw: M.start.raw - }; - }); - - def_to_moz(AST_Atom, function To_Moz_Atom(M) { - return { - type: "Identifier", - name: String(M.value) - }; - }); - - AST_Boolean.DEFMETHOD("to_mozilla_ast", AST_Constant.prototype.to_mozilla_ast); - AST_Null.DEFMETHOD("to_mozilla_ast", AST_Constant.prototype.to_mozilla_ast); - AST_Hole.DEFMETHOD("to_mozilla_ast", function To_Moz_ArrayHole() { return null; }); - - AST_Block.DEFMETHOD("to_mozilla_ast", AST_BlockStatement.prototype.to_mozilla_ast); - AST_Lambda.DEFMETHOD("to_mozilla_ast", AST_Function.prototype.to_mozilla_ast); - - /* -----[ tools ]----- */ - - function raw_token(moznode) { - if (moznode.type == "Literal") { - return moznode.raw != null ? moznode.raw : moznode.value + ""; - } - } - - function my_start_token(moznode) { - var loc = moznode.loc, start = loc && loc.start; - var range = moznode.range; - return new AST_Token({ - file : loc && loc.source, - line : start && start.line, - col : start && start.column, - pos : range ? range[0] : moznode.start, - endline : start && start.line, - endcol : start && start.column, - endpos : range ? range[0] : moznode.start, - raw : raw_token(moznode), - }); - } - - function my_end_token(moznode) { - var loc = moznode.loc, end = loc && loc.end; - var range = moznode.range; - return new AST_Token({ - file : loc && loc.source, - line : end && end.line, - col : end && end.column, - pos : range ? range[1] : moznode.end, - endline : end && end.line, - endcol : end && end.column, - endpos : range ? range[1] : moznode.end, - raw : raw_token(moznode), - }); - } - - function map(moztype, mytype, propmap) { - var moz_to_me = "function From_Moz_" + moztype + "(M){\n"; - moz_to_me += "return new U2." + mytype.name + "({\n" + - "start: my_start_token(M),\n" + - "end: my_end_token(M)"; - - var me_to_moz = "function To_Moz_" + moztype + "(M){\n"; - me_to_moz += "return {\n" + - "type: " + JSON.stringify(moztype); - - if (propmap) propmap.split(/\s*,\s*/).forEach(function(prop) { - var m = /([a-z0-9$_]+)([=@>%])([a-z0-9$_]+)/i.exec(prop); - if (!m) throw new Error("Can't understand property map: " + prop); - var moz = m[1], how = m[2], my = m[3]; - moz_to_me += ",\n" + my + ": "; - me_to_moz += ",\n" + moz + ": "; - switch (how) { - case "@": - moz_to_me += "M." + moz + ".map(from_moz)"; - me_to_moz += "M." + my + ".map(to_moz)"; - break; - case ">": - moz_to_me += "from_moz(M." + moz + ")"; - me_to_moz += "to_moz(M." + my + ")"; - break; - case "=": - moz_to_me += "M." + moz; - me_to_moz += "M." + my; - break; - case "%": - moz_to_me += "from_moz(M." + moz + ").body"; - me_to_moz += "to_moz_block(M)"; - break; - default: - throw new Error("Can't understand operator in propmap: " + prop); - } - }); - - moz_to_me += "\n})\n}"; - me_to_moz += "\n}\n}"; - - //moz_to_me = parse(moz_to_me).print_to_string({ beautify: true }); - //me_to_moz = parse(me_to_moz).print_to_string({ beautify: true }); - //console.log(moz_to_me); - - moz_to_me = new Function("U2", "my_start_token", "my_end_token", "from_moz", "return(" + moz_to_me + ")")( - ast, my_start_token, my_end_token, from_moz - ); - me_to_moz = new Function("to_moz", "to_moz_block", "to_moz_scope", "return(" + me_to_moz + ")")( - to_moz, to_moz_block, to_moz_scope - ); - MOZ_TO_ME[moztype] = moz_to_me; - def_to_moz(mytype, me_to_moz); - } - - var FROM_MOZ_STACK = null; - - function from_moz(node) { - FROM_MOZ_STACK.push(node); - var ret = node != null ? MOZ_TO_ME[node.type](node) : null; - FROM_MOZ_STACK.pop(); - return ret; - } - - AST_Node.from_mozilla_ast = function(node) { - var save_stack = FROM_MOZ_STACK; - FROM_MOZ_STACK = []; - var ast = from_moz(node); - FROM_MOZ_STACK = save_stack; - return ast; - }; - - function set_moz_loc(mynode, moznode, myparent) { - var start = mynode.start; - var end = mynode.end; - if (start.pos != null && end.endpos != null) { - moznode.range = [start.pos, end.endpos]; - } - if (start.line) { - moznode.loc = { - start: {line: start.line, column: start.col}, - end: end.endline ? {line: end.endline, column: end.endcol} : null - }; - if (start.file) { - moznode.loc.source = start.file; - } - } - return moznode; - } - - function def_to_moz(mytype, handler) { - mytype.DEFMETHOD("to_mozilla_ast", function(parent) { - return set_moz_loc(this, handler(this, parent)); - }); - } - - var TO_MOZ_STACK = null; - - function to_moz(node) { - if (TO_MOZ_STACK === null) { TO_MOZ_STACK = []; } - TO_MOZ_STACK.push(node); - var ast = node != null ? node.to_mozilla_ast(TO_MOZ_STACK[TO_MOZ_STACK.length - 2]) : null; - TO_MOZ_STACK.pop(); - if (TO_MOZ_STACK.length === 0) { TO_MOZ_STACK = null; } - return ast; - } - - function to_moz_in_destructuring() { - var i = TO_MOZ_STACK.length; - while (i--) { - if (TO_MOZ_STACK[i] instanceof AST_Destructuring) { - return true; - } - } - return false; - } - - function to_moz_block(node) { - return { - type: "BlockStatement", - body: node.body.map(to_moz) - }; - } - - function to_moz_scope(type, node) { - var body = node.body.map(to_moz); - if (node.body[0] instanceof AST_SimpleStatement && node.body[0].body instanceof AST_String) { - body.unshift(to_moz(new AST_EmptyStatement(node.body[0]))); - } - return { - type: type, - body: body - }; - } - })(); - - // API - - exports.minify = minify; - exports.AST_Array = AST_Array; - exports.AST_Assign = AST_Assign; - exports.AST_Constant = AST_Constant; - exports.AST_Node = AST_Node; - exports.AST_PropAccess = AST_PropAccess; - exports.AST_Sequence = AST_Sequence; - exports.AST_Symbol = AST_Symbol; - exports.AST_Token = AST_Token; - exports.TreeTransformer = TreeTransformer; - exports.TreeWalker = TreeWalker; - exports.defaults = defaults; - exports.Dictionary = Dictionary; - exports.push_uniq = push_uniq; - exports.string_template = string_template; - exports.base54 = base54; - exports.Compressor = Compressor; - exports.OutputStream = OutputStream; - exports.parse = parse; - exports.mangle_properties = mangle_properties; - exports.reserve_quoted_keys = reserve_quoted_keys; - exports.JS_Parse_Error = JS_Parse_Error; - exports.tokenizer = tokenizer; - exports.to_ascii = to_ascii; - exports.AST_Accessor = AST_Accessor; - exports.AST_Arrow = AST_Arrow; - exports.AST_Atom = AST_Atom; - exports.AST_Await = AST_Await; - exports.AST_Binary = AST_Binary; - exports.AST_Block = AST_Block; - exports.AST_BlockStatement = AST_BlockStatement; - exports.AST_Boolean = AST_Boolean; - exports.AST_Break = AST_Break; - exports.AST_Call = AST_Call; - exports.AST_Case = AST_Case; - exports.AST_Catch = AST_Catch; - exports.AST_Class = AST_Class; - exports.AST_ClassExpression = AST_ClassExpression; - exports.AST_ConciseMethod = AST_ConciseMethod; - exports.AST_Conditional = AST_Conditional; - exports.AST_Const = AST_Const; - exports.AST_Continue = AST_Continue; - exports.AST_Debugger = AST_Debugger; - exports.AST_Default = AST_Default; - exports.AST_DefaultAssign = AST_DefaultAssign; - exports.AST_DefClass = AST_DefClass; - exports.AST_Definitions = AST_Definitions; - exports.AST_Defun = AST_Defun; - exports.AST_Destructuring = AST_Destructuring; - exports.AST_Directive = AST_Directive; - exports.AST_Do = AST_Do; - exports.AST_Dot = AST_Dot; - exports.AST_DWLoop = AST_DWLoop; - exports.AST_EmptyStatement = AST_EmptyStatement; - exports.AST_Exit = AST_Exit; - exports.AST_Expansion = AST_Expansion; - exports.AST_Export = AST_Export; - exports.AST_False = AST_False; - exports.AST_Finally = AST_Finally; - exports.AST_For = AST_For; - exports.AST_ForIn = AST_ForIn; - exports.AST_ForOf = AST_ForOf; - exports.AST_Function = AST_Function; - exports.AST_Hole = AST_Hole; - exports.AST_If = AST_If; - exports.AST_Import = AST_Import; - exports.AST_Infinity = AST_Infinity; - exports.AST_IterationStatement = AST_IterationStatement; - exports.AST_Jump = AST_Jump; - exports.AST_Label = AST_Label; - exports.AST_LabeledStatement = AST_LabeledStatement; - exports.AST_LabelRef = AST_LabelRef; - exports.AST_Lambda = AST_Lambda; - exports.AST_Let = AST_Let; - exports.AST_LoopControl = AST_LoopControl; - exports.AST_NameMapping = AST_NameMapping; - exports.AST_NaN = AST_NaN; - exports.AST_New = AST_New; - exports.AST_NewTarget = AST_NewTarget; - exports.AST_Null = AST_Null; - exports.AST_Number = AST_Number; - exports.AST_Object = AST_Object; - exports.AST_ObjectGetter = AST_ObjectGetter; - exports.AST_ObjectKeyVal = AST_ObjectKeyVal; - exports.AST_ObjectProperty = AST_ObjectProperty; - exports.AST_ObjectSetter = AST_ObjectSetter; - exports.AST_PrefixedTemplateString = AST_PrefixedTemplateString; - exports.AST_RegExp = AST_RegExp; - exports.AST_Return = AST_Return; - exports.AST_Scope = AST_Scope; - exports.AST_SimpleStatement = AST_SimpleStatement; - exports.AST_Statement = AST_Statement; - exports.AST_StatementWithBody = AST_StatementWithBody; - exports.AST_String = AST_String; - exports.AST_Sub = AST_Sub; - exports.AST_Super = AST_Super; - exports.AST_Switch = AST_Switch; - exports.AST_SwitchBranch = AST_SwitchBranch; - exports.AST_SymbolBlockDeclaration = AST_SymbolBlockDeclaration; - exports.AST_SymbolCatch = AST_SymbolCatch; - exports.AST_SymbolClass = AST_SymbolClass; - exports.AST_SymbolConst = AST_SymbolConst; - exports.AST_SymbolDeclaration = AST_SymbolDeclaration; - exports.AST_SymbolDefClass = AST_SymbolDefClass; - exports.AST_SymbolDefun = AST_SymbolDefun; - exports.AST_SymbolExport = AST_SymbolExport; - exports.AST_SymbolExportForeign = AST_SymbolExportForeign; - exports.AST_SymbolFunarg = AST_SymbolFunarg; - exports.AST_SymbolImport = AST_SymbolImport; - exports.AST_SymbolImportForeign = AST_SymbolImportForeign; - exports.AST_SymbolLambda = AST_SymbolLambda; - exports.AST_SymbolLet = AST_SymbolLet; - exports.AST_SymbolMethod = AST_SymbolMethod; - exports.AST_SymbolRef = AST_SymbolRef; - exports.AST_SymbolVar = AST_SymbolVar; - exports.AST_TemplateSegment = AST_TemplateSegment; - exports.AST_TemplateString = AST_TemplateString; - exports.AST_This = AST_This; - exports.AST_Throw = AST_Throw; - exports.AST_Toplevel = AST_Toplevel; - exports.AST_True = AST_True; - exports.AST_Try = AST_Try; - exports.AST_Unary = AST_Unary; - exports.AST_UnaryPostfix = AST_UnaryPostfix; - exports.AST_UnaryPrefix = AST_UnaryPrefix; - exports.AST_Undefined = AST_Undefined; - exports.AST_Var = AST_Var; - exports.AST_VarDef = AST_VarDef; - exports.AST_While = AST_While; - exports.AST_With = AST_With; - exports.AST_Yield = AST_Yield; - exports.walk_body = walk_body; - -})); -//# sourceMappingURL=bundle.js.map diff --git a/node_modules/terser/dist/bundle.js.map b/node_modules/terser/dist/bundle.js.map deleted file mode 100644 index 2d95fe1..0000000 --- a/node_modules/terser/dist/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.js","sources":["../lib/utils.js","../lib/parse.js","../lib/ast.js","../lib/transform.js","../lib/output.js","../lib/scope.js","../lib/compress/index.js","../lib/sourcemap.js","../tools/domprops.js","../lib/propmangle.js","../lib/minify.js","../lib/mozilla-ast.js","../main.js"],"sourcesContent":["/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport {\n AST_Binary,\n AST_Conditional,\n AST_Dot,\n AST_Sequence,\n AST_Statement,\n AST_Sub,\n AST_UnaryPostfix,\n} from \"./ast.js\";\n\nfunction characters(str) {\n return str.split(\"\");\n}\n\nfunction member(name, array) {\n return array.includes(name);\n}\n\nfunction find_if(func, array) {\n for (var i = 0, n = array.length; i < n; ++i) {\n if (func(array[i]))\n return array[i];\n }\n}\n\nfunction repeat_string(str, i) {\n if (i <= 0) return \"\";\n if (i == 1) return str;\n var d = repeat_string(str, i >> 1);\n d += d;\n if (i & 1) d += str;\n return d;\n}\n\nfunction configure_error_stack(fn) {\n Object.defineProperty(fn.prototype, \"stack\", {\n get: function() {\n var err = new Error(this.message);\n err.name = this.name;\n try {\n throw err;\n } catch(e) {\n return e.stack;\n }\n }\n });\n}\n\nfunction DefaultsError(msg, defs) {\n this.message = msg;\n this.defs = defs;\n}\nDefaultsError.prototype = Object.create(Error.prototype);\nDefaultsError.prototype.constructor = DefaultsError;\nDefaultsError.prototype.name = \"DefaultsError\";\nconfigure_error_stack(DefaultsError);\n\nDefaultsError.croak = function(msg, defs) {\n throw new DefaultsError(msg, defs);\n};\n\nfunction defaults(args, defs, croak) {\n if (args === true)\n args = {};\n var ret = args || {};\n if (croak) for (var i in ret) if (HOP(ret, i) && !HOP(defs, i))\n DefaultsError.croak(\"`\" + i + \"` is not a supported option\", defs);\n for (var i in defs) if (HOP(defs, i)) {\n ret[i] = (args && HOP(args, i)) ? args[i] : defs[i];\n }\n return ret;\n}\n\nfunction merge(obj, ext) {\n var count = 0;\n for (var i in ext) if (HOP(ext, i)) {\n obj[i] = ext[i];\n count++;\n }\n return count;\n}\n\nfunction noop() {}\nfunction return_false() { return false; }\nfunction return_true() { return true; }\nfunction return_this() { return this; }\nfunction return_null() { return null; }\n\nvar MAP = (function() {\n function MAP(a, f, backwards) {\n var ret = [], top = [], i;\n function doit() {\n var val = f(a[i], i);\n var is_last = val instanceof Last;\n if (is_last) val = val.v;\n if (val instanceof AtTop) {\n val = val.v;\n if (val instanceof Splice) {\n top.push.apply(top, backwards ? val.v.slice().reverse() : val.v);\n } else {\n top.push(val);\n }\n } else if (val !== skip) {\n if (val instanceof Splice) {\n ret.push.apply(ret, backwards ? val.v.slice().reverse() : val.v);\n } else {\n ret.push(val);\n }\n }\n return is_last;\n }\n if (a instanceof Array) {\n if (backwards) {\n for (i = a.length; --i >= 0;) if (doit()) break;\n ret.reverse();\n top.reverse();\n } else {\n for (i = 0; i < a.length; ++i) if (doit()) break;\n }\n } else {\n for (i in a) if (HOP(a, i)) if (doit()) break;\n }\n return top.concat(ret);\n }\n MAP.at_top = function(val) { return new AtTop(val); };\n MAP.splice = function(val) { return new Splice(val); };\n MAP.last = function(val) { return new Last(val); };\n var skip = MAP.skip = {};\n function AtTop(val) { this.v = val; }\n function Splice(val) { this.v = val; }\n function Last(val) { this.v = val; }\n return MAP;\n})();\n\nfunction push_uniq(array, el) {\n if (!array.includes(el))\n array.push(el);\n}\n\nfunction string_template(text, props) {\n return text.replace(/{(.+?)}/g, function(str, p) {\n return props && props[p];\n });\n}\n\nfunction remove(array, el) {\n for (var i = array.length; --i >= 0;) {\n if (array[i] === el) array.splice(i, 1);\n }\n}\n\nfunction mergeSort(array, cmp) {\n if (array.length < 2) return array.slice();\n function merge(a, b) {\n var r = [], ai = 0, bi = 0, i = 0;\n while (ai < a.length && bi < b.length) {\n cmp(a[ai], b[bi]) <= 0\n ? r[i++] = a[ai++]\n : r[i++] = b[bi++];\n }\n if (ai < a.length) r.push.apply(r, a.slice(ai));\n if (bi < b.length) r.push.apply(r, b.slice(bi));\n return r;\n }\n function _ms(a) {\n if (a.length <= 1)\n return a;\n var m = Math.floor(a.length / 2), left = a.slice(0, m), right = a.slice(m);\n left = _ms(left);\n right = _ms(right);\n return merge(left, right);\n }\n return _ms(array);\n}\n\n// this function is taken from Acorn [1], written by Marijn Haverbeke\n// [1] https://github.com/marijnh/acorn\nfunction makePredicate(words) {\n if (!(words instanceof Array)) words = words.split(\" \");\n var f = \"\", cats = [];\n out: for (var i = 0; i < words.length; ++i) {\n for (var j = 0; j < cats.length; ++j)\n if (cats[j][0].length == words[i].length) {\n cats[j].push(words[i]);\n continue out;\n }\n cats.push([words[i]]);\n }\n function quote(word) {\n return JSON.stringify(word).replace(/[\\u2028\\u2029]/g, function(s) {\n switch (s) {\n case \"\\u2028\": return \"\\\\u2028\";\n case \"\\u2029\": return \"\\\\u2029\";\n }\n return s;\n });\n }\n function compareTo(arr) {\n if (arr.length == 1) return f += \"return str === \" + quote(arr[0]) + \";\";\n f += \"switch(str){\";\n for (var i = 0; i < arr.length; ++i) f += \"case \" + quote(arr[i]) + \":\";\n f += \"return true}return false;\";\n }\n // When there are more than three length categories, an outer\n // switch first dispatches on the lengths, to save on comparisons.\n if (cats.length > 3) {\n cats.sort(function(a, b) {return b.length - a.length;});\n f += \"switch(str.length){\";\n for (var i = 0; i < cats.length; ++i) {\n var cat = cats[i];\n f += \"case \" + cat[0].length + \":\";\n compareTo(cat);\n }\n f += \"}\";\n // Otherwise, simply generate a flat `switch` statement.\n } else {\n compareTo(words);\n }\n return new Function(\"str\", f);\n}\n\nfunction all(array, predicate) {\n for (var i = array.length; --i >= 0;)\n if (!predicate(array[i]))\n return false;\n return true;\n}\n\nfunction Dictionary() {\n this._values = Object.create(null);\n this._size = 0;\n}\nDictionary.prototype = {\n set: function(key, val) {\n if (!this.has(key)) ++this._size;\n this._values[\"$\" + key] = val;\n return this;\n },\n add: function(key, val) {\n if (this.has(key)) {\n this.get(key).push(val);\n } else {\n this.set(key, [ val ]);\n }\n return this;\n },\n get: function(key) { return this._values[\"$\" + key]; },\n del: function(key) {\n if (this.has(key)) {\n --this._size;\n delete this._values[\"$\" + key];\n }\n return this;\n },\n has: function(key) { return (\"$\" + key) in this._values; },\n each: function(f) {\n for (var i in this._values)\n f(this._values[i], i.substr(1));\n },\n size: function() {\n return this._size;\n },\n map: function(f) {\n var ret = [];\n for (var i in this._values)\n ret.push(f(this._values[i], i.substr(1)));\n return ret;\n },\n clone: function() {\n var ret = new Dictionary();\n for (var i in this._values)\n ret._values[i] = this._values[i];\n ret._size = this._size;\n return ret;\n },\n toObject: function() { return this._values; }\n};\nDictionary.fromObject = function(obj) {\n var dict = new Dictionary();\n dict._size = merge(dict._values, obj);\n return dict;\n};\n\nfunction HOP(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// return true if the node at the top of the stack (that means the\n// innermost node in the current output) is lexically the first in\n// a statement.\nfunction first_in_statement(stack) {\n var node = stack.parent(-1);\n for (var i = 0, p; p = stack.parent(i); i++) {\n if (p instanceof AST_Statement && p.body === node)\n return true;\n if ((p instanceof AST_Sequence && p.expressions[0] === node) ||\n (p.TYPE == \"Call\" && p.expression === node ) ||\n (p instanceof AST_Dot && p.expression === node ) ||\n (p instanceof AST_Sub && p.expression === node ) ||\n (p instanceof AST_Conditional && p.condition === node ) ||\n (p instanceof AST_Binary && p.left === node ) ||\n (p instanceof AST_UnaryPostfix && p.expression === node )\n ) {\n node = p;\n } else {\n return false;\n }\n }\n}\n\nfunction keep_name(keep_setting, name) {\n return keep_setting === true\n || (keep_setting instanceof RegExp && keep_setting.test(name));\n}\n\nexport {\n all,\n characters,\n configure_error_stack,\n defaults,\n Dictionary,\n find_if,\n first_in_statement,\n HOP,\n keep_name,\n makePredicate,\n MAP,\n member,\n merge,\n mergeSort,\n noop,\n push_uniq,\n remove,\n repeat_string,\n return_false,\n return_null,\n return_this,\n return_true,\n string_template,\n};\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n Parser based on parse-js (http://marijn.haverbeke.nl/parse-js/).\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport {\n all,\n characters,\n configure_error_stack,\n defaults,\n find_if,\n HOP,\n makePredicate,\n} from \"./utils.js\";\nimport {\n AST_Accessor,\n AST_Array,\n AST_Arrow,\n AST_Assign,\n AST_Await,\n AST_Binary,\n AST_BlockStatement,\n AST_Break,\n AST_Call,\n AST_Case,\n AST_Catch,\n AST_ClassExpression,\n AST_ConciseMethod,\n AST_Conditional,\n AST_Const,\n AST_Continue,\n AST_Debugger,\n AST_Default,\n AST_DefaultAssign,\n AST_DefClass,\n AST_Definitions,\n AST_Defun,\n AST_Destructuring,\n AST_Directive,\n AST_Do,\n AST_Dot,\n AST_EmptyStatement,\n AST_Expansion,\n AST_Export,\n AST_False,\n AST_Finally,\n AST_For,\n AST_ForIn,\n AST_ForOf,\n AST_Function,\n AST_Hole,\n AST_If,\n AST_Import,\n AST_IterationStatement,\n AST_Label,\n AST_LabeledStatement,\n AST_LabelRef,\n AST_Lambda,\n AST_Let,\n AST_NameMapping,\n AST_New,\n AST_NewTarget,\n AST_Node,\n AST_Null,\n AST_Number,\n AST_Object,\n AST_ObjectGetter,\n AST_ObjectKeyVal,\n AST_ObjectProperty,\n AST_ObjectSetter,\n AST_PrefixedTemplateString,\n AST_PropAccess,\n AST_RegExp,\n AST_Return,\n AST_Sequence,\n AST_SimpleStatement,\n AST_String,\n AST_Sub,\n AST_Super,\n AST_Switch,\n AST_SymbolCatch,\n AST_SymbolClass,\n AST_SymbolConst,\n AST_SymbolDeclaration,\n AST_SymbolDefClass,\n AST_SymbolDefun,\n AST_SymbolExport,\n AST_SymbolExportForeign,\n AST_SymbolFunarg,\n AST_SymbolImport,\n AST_SymbolImportForeign,\n AST_SymbolLambda,\n AST_SymbolLet,\n AST_SymbolMethod,\n AST_SymbolRef,\n AST_SymbolVar,\n AST_TemplateSegment,\n AST_TemplateString,\n AST_This,\n AST_Throw,\n AST_Token,\n AST_Toplevel,\n AST_True,\n AST_Try,\n AST_UnaryPostfix,\n AST_UnaryPrefix,\n AST_Var,\n AST_VarDef,\n AST_While,\n AST_With,\n AST_Yield,\n} from \"./ast.js\";\n\nvar KEYWORDS = \"break case catch class const continue debugger default delete do else export extends finally for function if in instanceof let new return switch throw try typeof var void while with\";\nvar KEYWORDS_ATOM = \"false null true\";\nvar RESERVED_WORDS = \"enum implements import interface package private protected public static super this \" + KEYWORDS_ATOM + \" \" + KEYWORDS;\nvar KEYWORDS_BEFORE_EXPRESSION = \"return new delete throw else case yield await\";\n\nKEYWORDS = makePredicate(KEYWORDS);\nRESERVED_WORDS = makePredicate(RESERVED_WORDS);\nKEYWORDS_BEFORE_EXPRESSION = makePredicate(KEYWORDS_BEFORE_EXPRESSION);\nKEYWORDS_ATOM = makePredicate(KEYWORDS_ATOM);\n\nvar OPERATOR_CHARS = makePredicate(characters(\"+-*&%=<>!?|~^\"));\n\nvar RE_NUM_LITERAL = /[0-9a-f]/i;\nvar RE_HEX_NUMBER = /^0x[0-9a-f]+$/i;\nvar RE_OCT_NUMBER = /^0[0-7]+$/;\nvar RE_ES6_OCT_NUMBER = /^0o[0-7]+$/i;\nvar RE_BIN_NUMBER = /^0b[01]+$/i;\nvar RE_DEC_NUMBER = /^\\d*\\.?\\d*(?:e[+-]?\\d*(?:\\d\\.?|\\.?\\d)\\d*)?$/i;\n\nvar OPERATORS = makePredicate([\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"new\",\n \"void\",\n \"delete\",\n \"++\",\n \"--\",\n \"+\",\n \"-\",\n \"!\",\n \"~\",\n \"&\",\n \"|\",\n \"^\",\n \"*\",\n \"**\",\n \"/\",\n \"%\",\n \">>\",\n \"<<\",\n \">>>\",\n \"<\",\n \">\",\n \"<=\",\n \">=\",\n \"==\",\n \"===\",\n \"!=\",\n \"!==\",\n \"?\",\n \"=\",\n \"+=\",\n \"-=\",\n \"/=\",\n \"*=\",\n \"**=\",\n \"%=\",\n \">>=\",\n \"<<=\",\n \">>>=\",\n \"|=\",\n \"^=\",\n \"&=\",\n \"&&\",\n \"||\"\n]);\n\nvar WHITESPACE_CHARS = makePredicate(characters(\" \\u00a0\\n\\r\\t\\f\\u000b\\u200b\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\uFEFF\"));\n\nvar NEWLINE_CHARS = makePredicate(characters(\"\\n\\r\\u2028\\u2029\"));\n\nvar PUNC_AFTER_EXPRESSION = makePredicate(characters(\";]),:\"));\n\nvar PUNC_BEFORE_EXPRESSION = makePredicate(characters(\"[{(,;:\"));\n\nvar PUNC_CHARS = makePredicate(characters(\"[]{}(),;:\"));\n\n/* -----[ Tokenizer ]----- */\n\n// surrogate safe regexps adapted from https://github.com/mathiasbynens/unicode-8.0.0/tree/89b412d8a71ecca9ed593d9e9fa073ab64acfebe/Binary_Property\nvar UNICODE = {\n ID_Start: /[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n ID_Continue: /[0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/,\n};\n\nfunction get_full_char(str, pos) {\n var char = str.charAt(pos);\n if (is_surrogate_pair_head(char)) {\n var next = str.charAt(pos + 1);\n if (is_surrogate_pair_tail(next)) {\n return char + next;\n }\n }\n if (is_surrogate_pair_tail(char)) {\n var prev = str.charAt(pos - 1);\n if (is_surrogate_pair_head(prev)) {\n return prev + char;\n }\n }\n return char;\n}\n\nfunction get_full_char_code(str, pos) {\n // https://en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates\n if (is_surrogate_pair_head(str.charAt(pos))) {\n return 0x10000 + (str.charCodeAt(pos) - 0xd800 << 10) + str.charCodeAt(pos + 1) - 0xdc00;\n }\n return str.charCodeAt(pos);\n}\n\nfunction get_full_char_length(str) {\n var surrogates = 0;\n\n for (var i = 0; i < str.length; i++) {\n if (is_surrogate_pair_head(str.charCodeAt(i))) {\n if (is_surrogate_pair_tail(str.charCodeAt(i + 1))) {\n surrogates++;\n i++;\n }\n }\n }\n\n return str.length - surrogates;\n}\n\nfunction from_char_code(code) {\n // Based on https://github.com/mathiasbynens/String.fromCodePoint/blob/master/fromcodepoint.js\n if (code > 0xFFFF) {\n code -= 0x10000;\n return (String.fromCharCode((code >> 10) + 0xD800) +\n String.fromCharCode((code % 0x400) + 0xDC00));\n }\n return String.fromCharCode(code);\n}\n\nfunction is_surrogate_pair_head(code) {\n if (typeof code === \"string\")\n code = code.charCodeAt(0);\n\n return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction is_surrogate_pair_tail(code) {\n if (typeof code === \"string\")\n code = code.charCodeAt(0);\n return code >= 0xdc00 && code <= 0xdfff;\n}\n\nfunction is_digit(code) {\n return code >= 48 && code <= 57;\n}\n\nfunction is_identifier(name) {\n return typeof name === \"string\" && !RESERVED_WORDS(name);\n}\n\nfunction is_identifier_start(ch) {\n var code = ch.charCodeAt(0);\n return UNICODE.ID_Start.test(ch) || code == 36 || code == 95;\n}\n\nfunction is_identifier_char(ch) {\n var code = ch.charCodeAt(0);\n return UNICODE.ID_Continue.test(ch)\n || code == 36\n || code == 95\n || code == 8204 // \\u200c: zero-width non-joiner \n || code == 8205 // \\u200d: zero-width joiner (in my ECMA-262 PDF, this is also 200c)\n ;\n}\n\nfunction is_identifier_string(str) {\n return /^[a-z_$][a-z0-9_$]*$/i.test(str);\n}\n\nfunction parse_js_number(num) {\n if (RE_HEX_NUMBER.test(num)) {\n return parseInt(num.substr(2), 16);\n } else if (RE_OCT_NUMBER.test(num)) {\n return parseInt(num.substr(1), 8);\n } else if (RE_ES6_OCT_NUMBER.test(num)) {\n return parseInt(num.substr(2), 8);\n } else if (RE_BIN_NUMBER.test(num)) {\n return parseInt(num.substr(2), 2);\n } else if (RE_DEC_NUMBER.test(num)) {\n return parseFloat(num);\n } else {\n var val = parseFloat(num);\n if (val == num) return val;\n }\n}\n\nfunction JS_Parse_Error(message, filename, line, col, pos) {\n this.message = message;\n this.filename = filename;\n this.line = line;\n this.col = col;\n this.pos = pos;\n}\nJS_Parse_Error.prototype = Object.create(Error.prototype);\nJS_Parse_Error.prototype.constructor = JS_Parse_Error;\nJS_Parse_Error.prototype.name = \"SyntaxError\";\nconfigure_error_stack(JS_Parse_Error);\n\nfunction js_error(message, filename, line, col, pos) {\n throw new JS_Parse_Error(message, filename, line, col, pos);\n}\n\nfunction is_token(token, type, val) {\n return token.type == type && (val == null || token.value == val);\n}\n\nvar EX_EOF = {};\n\nfunction tokenizer($TEXT, filename, html5_comments, shebang) {\n\n var S = {\n text : $TEXT,\n filename : filename,\n pos : 0,\n tokpos : 0,\n line : 1,\n tokline : 0,\n col : 0,\n tokcol : 0,\n newline_before : false,\n regex_allowed : false,\n brace_counter : 0,\n template_braces : [],\n comments_before : [],\n directives : {},\n directive_stack : []\n };\n\n function peek() { return get_full_char(S.text, S.pos); }\n\n function next(signal_eof, in_string) {\n var ch = get_full_char(S.text, S.pos++);\n if (signal_eof && !ch)\n throw EX_EOF;\n if (NEWLINE_CHARS(ch)) {\n S.newline_before = S.newline_before || !in_string;\n ++S.line;\n S.col = 0;\n if (!in_string && ch == \"\\r\" && peek() == \"\\n\") {\n // treat a \\r\\n sequence as a single \\n\n ++S.pos;\n ch = \"\\n\";\n }\n } else {\n if (ch.length > 1) {\n ++S.pos;\n ++S.col;\n }\n ++S.col;\n }\n return ch;\n }\n\n function forward(i) {\n while (i-- > 0) next();\n }\n\n function looking_at(str) {\n return S.text.substr(S.pos, str.length) == str;\n }\n\n function find_eol() {\n var text = S.text;\n for (var i = S.pos, n = S.text.length; i < n; ++i) {\n var ch = text[i];\n if (NEWLINE_CHARS(ch))\n return i;\n }\n return -1;\n }\n\n function find(what, signal_eof) {\n var pos = S.text.indexOf(what, S.pos);\n if (signal_eof && pos == -1) throw EX_EOF;\n return pos;\n }\n\n function start_token() {\n S.tokline = S.line;\n S.tokcol = S.col;\n S.tokpos = S.pos;\n }\n\n var prev_was_dot = false;\n var previous_token = null;\n function token(type, value, is_comment) {\n S.regex_allowed = ((type == \"operator\" && !UNARY_POSTFIX(value)) ||\n (type == \"keyword\" && KEYWORDS_BEFORE_EXPRESSION(value)) ||\n (type == \"punc\" && PUNC_BEFORE_EXPRESSION(value))) ||\n (type == \"arrow\");\n if (type == \"punc\" && value == \".\") {\n prev_was_dot = true;\n } else if (!is_comment) {\n prev_was_dot = false;\n }\n var ret = {\n type : type,\n value : value,\n line : S.tokline,\n col : S.tokcol,\n pos : S.tokpos,\n endline : S.line,\n endcol : S.col,\n endpos : S.pos,\n nlb : S.newline_before,\n file : filename\n };\n if (/^(?:num|string|regexp)$/i.test(type)) {\n ret.raw = $TEXT.substring(ret.pos, ret.endpos);\n }\n if (!is_comment) {\n ret.comments_before = S.comments_before;\n ret.comments_after = S.comments_before = [];\n }\n S.newline_before = false;\n ret = new AST_Token(ret);\n if (!is_comment) previous_token = ret;\n return ret;\n }\n\n function skip_whitespace() {\n while (WHITESPACE_CHARS(peek()))\n next();\n }\n\n function read_while(pred) {\n var ret = \"\", ch, i = 0;\n while ((ch = peek()) && pred(ch, i++))\n ret += next();\n return ret;\n }\n\n function parse_error(err) {\n js_error(err, filename, S.tokline, S.tokcol, S.tokpos);\n }\n\n function read_num(prefix) {\n var has_e = false, after_e = false, has_x = false, has_dot = prefix == \".\";\n var num = read_while(function(ch, i) {\n var code = ch.charCodeAt(0);\n switch (code) {\n case 98: case 66: // bB\n return (has_x = true); // Can occur in hex sequence, don't return false yet\n case 111: case 79: // oO\n case 120: case 88: // xX\n return has_x ? false : (has_x = true);\n case 101: case 69: // eE\n return has_x ? true : has_e ? false : (has_e = after_e = true);\n case 45: // -\n return after_e || (i == 0 && !prefix);\n case 43: // +\n return after_e;\n case (after_e = false, 46): // .\n return (!has_dot && !has_x && !has_e) ? (has_dot = true) : false;\n }\n return RE_NUM_LITERAL.test(ch);\n });\n if (prefix) num = prefix + num;\n if (RE_OCT_NUMBER.test(num) && next_token.has_directive(\"use strict\")) {\n parse_error(\"Legacy octal literals are not allowed in strict mode\");\n }\n var valid = parse_js_number(num);\n if (!isNaN(valid)) {\n return token(\"num\", valid);\n } else {\n parse_error(\"Invalid syntax: \" + num);\n }\n }\n\n function read_escaped_char(in_string, strict_hex, template_string) {\n var ch = next(true, in_string);\n switch (ch.charCodeAt(0)) {\n case 110 : return \"\\n\";\n case 114 : return \"\\r\";\n case 116 : return \"\\t\";\n case 98 : return \"\\b\";\n case 118 : return \"\\u000b\"; // \\v\n case 102 : return \"\\f\";\n case 120 : return String.fromCharCode(hex_bytes(2, strict_hex)); // \\x\n case 117 : // \\u\n if (peek() == \"{\") {\n next(true);\n if (peek() === \"}\")\n parse_error(\"Expecting hex-character between {}\");\n while (peek() == \"0\") next(true); // No significance\n var result, length = find(\"}\", true) - S.pos;\n // Avoid 32 bit integer overflow (1 << 32 === 1)\n // We know first character isn't 0 and thus out of range anyway\n if (length > 6 || (result = hex_bytes(length, strict_hex)) > 0x10FFFF) {\n parse_error(\"Unicode reference out of bounds\");\n }\n next(true);\n return from_char_code(result);\n }\n return String.fromCharCode(hex_bytes(4, strict_hex));\n case 10 : return \"\"; // newline\n case 13 : // \\r\n if (peek() == \"\\n\") { // DOS newline\n next(true, in_string);\n return \"\";\n }\n }\n if (ch >= \"0\" && ch <= \"7\") {\n if (template_string && strict_hex) {\n parse_error(\"Octal escape sequences are not allowed in template strings\");\n }\n return read_octal_escape_sequence(ch, strict_hex);\n }\n return ch;\n }\n\n function read_octal_escape_sequence(ch, strict_octal) {\n // Read\n var p = peek();\n if (p >= \"0\" && p <= \"7\") {\n ch += next(true);\n if (ch[0] <= \"3\" && (p = peek()) >= \"0\" && p <= \"7\")\n ch += next(true);\n }\n\n // Parse\n if (ch === \"0\") return \"\\0\";\n if (ch.length > 0 && next_token.has_directive(\"use strict\") && strict_octal)\n parse_error(\"Legacy octal escape sequences are not allowed in strict mode\");\n return String.fromCharCode(parseInt(ch, 8));\n }\n\n function hex_bytes(n, strict_hex) {\n var num = 0;\n for (; n > 0; --n) {\n if (!strict_hex && isNaN(parseInt(peek(), 16))) {\n return parseInt(num, 16) || \"\";\n }\n var digit = next(true);\n if (isNaN(parseInt(digit, 16)))\n parse_error(\"Invalid hex-character pattern in string\");\n num += digit;\n }\n return parseInt(num, 16);\n }\n\n var read_string = with_eof_error(\"Unterminated string constant\", function(quote_char) {\n var quote = next(), ret = \"\";\n for (;;) {\n var ch = next(true, true);\n if (ch == \"\\\\\") ch = read_escaped_char(true, true);\n else if (NEWLINE_CHARS(ch)) parse_error(\"Unterminated string constant\");\n else if (ch == quote) break;\n ret += ch;\n }\n var tok = token(\"string\", ret);\n tok.quote = quote_char;\n return tok;\n });\n\n var read_template_characters = with_eof_error(\"Unterminated template\", function(begin) {\n if (begin) {\n S.template_braces.push(S.brace_counter);\n }\n var content = \"\", raw = \"\", ch, tok;\n next(true, true);\n while ((ch = next(true, true)) != \"`\") {\n if (ch == \"\\r\") {\n if (peek() == \"\\n\") ++S.pos;\n ch = \"\\n\";\n } else if (ch == \"$\" && peek() == \"{\") {\n next(true, true);\n S.brace_counter++;\n tok = token(begin ? \"template_head\" : \"template_substitution\", content);\n tok.begin = begin;\n tok.raw = raw;\n tok.end = false;\n return tok;\n }\n\n raw += ch;\n if (ch == \"\\\\\") {\n var tmp = S.pos;\n var prev_is_tag = previous_token && (previous_token.type === \"name\" || previous_token.type === \"punc\" && (previous_token.value === \")\" || previous_token.value === \"]\"));\n ch = read_escaped_char(true, !prev_is_tag, true);\n raw += S.text.substr(tmp, S.pos - tmp);\n }\n\n content += ch;\n }\n S.template_braces.pop();\n tok = token(begin ? \"template_head\" : \"template_substitution\", content);\n tok.begin = begin;\n tok.raw = raw;\n tok.end = true;\n return tok;\n });\n\n function skip_line_comment(type) {\n var regex_allowed = S.regex_allowed;\n var i = find_eol(), ret;\n if (i == -1) {\n ret = S.text.substr(S.pos);\n S.pos = S.text.length;\n } else {\n ret = S.text.substring(S.pos, i);\n S.pos = i;\n }\n S.col = S.tokcol + (S.pos - S.tokpos);\n S.comments_before.push(token(type, ret, true));\n S.regex_allowed = regex_allowed;\n return next_token;\n }\n\n var skip_multiline_comment = with_eof_error(\"Unterminated multiline comment\", function() {\n var regex_allowed = S.regex_allowed;\n var i = find(\"*/\", true);\n var text = S.text.substring(S.pos, i).replace(/\\r\\n|\\r|\\u2028|\\u2029/g, \"\\n\");\n // update stream position\n forward(get_full_char_length(text) /* text length doesn't count \\r\\n as 2 char while S.pos - i does */ + 2);\n S.comments_before.push(token(\"comment2\", text, true));\n S.newline_before = S.newline_before || text.includes(\"\\n\");\n S.regex_allowed = regex_allowed;\n return next_token;\n });\n\n var read_name = with_eof_error(\"Unterminated identifier name\", function() {\n var name = \"\", ch, escaped = false, hex;\n var read_escaped_identifier_char = function() {\n escaped = true;\n next();\n if (peek() !== \"u\") {\n parse_error(\"Expecting UnicodeEscapeSequence -- uXXXX or u{XXXX}\");\n }\n return read_escaped_char(false, true);\n };\n\n // Read first character (ID_Start)\n if ((name = peek()) === \"\\\\\") {\n name = read_escaped_identifier_char();\n if (!is_identifier_start(name)) {\n parse_error(\"First identifier char is an invalid identifier char\");\n }\n } else if (is_identifier_start(name)) {\n next();\n } else {\n return \"\";\n }\n\n // Read ID_Continue\n while ((ch = peek()) != null) {\n if ((ch = peek()) === \"\\\\\") {\n ch = read_escaped_identifier_char();\n if (!is_identifier_char(ch)) {\n parse_error(\"Invalid escaped identifier char\");\n }\n } else {\n if (!is_identifier_char(ch)) {\n break;\n }\n next();\n }\n name += ch;\n }\n if (RESERVED_WORDS(name) && escaped) {\n parse_error(\"Escaped characters are not allowed in keywords\");\n }\n return name;\n });\n\n var read_regexp = with_eof_error(\"Unterminated regular expression\", function(source) {\n var prev_backslash = false, ch, in_class = false;\n while ((ch = next(true))) if (NEWLINE_CHARS(ch)) {\n parse_error(\"Unexpected line terminator\");\n } else if (prev_backslash) {\n source += \"\\\\\" + ch;\n prev_backslash = false;\n } else if (ch == \"[\") {\n in_class = true;\n source += ch;\n } else if (ch == \"]\" && in_class) {\n in_class = false;\n source += ch;\n } else if (ch == \"/\" && !in_class) {\n break;\n } else if (ch == \"\\\\\") {\n prev_backslash = true;\n } else {\n source += ch;\n }\n var mods = read_name();\n try {\n var regexp = new RegExp(source, mods);\n regexp.raw_source = \"/\" + source + \"/\" + mods;\n return token(\"regexp\", regexp);\n } catch(e) {\n parse_error(e.message);\n }\n });\n\n function read_operator(prefix) {\n function grow(op) {\n if (!peek()) return op;\n var bigger = op + peek();\n if (OPERATORS(bigger)) {\n next();\n return grow(bigger);\n } else {\n return op;\n }\n }\n return token(\"operator\", grow(prefix || next()));\n }\n\n function handle_slash() {\n next();\n switch (peek()) {\n case \"/\":\n next();\n return skip_line_comment(\"comment1\");\n case \"*\":\n next();\n return skip_multiline_comment();\n }\n return S.regex_allowed ? read_regexp(\"\") : read_operator(\"/\");\n }\n\n function handle_eq_sign() {\n next();\n if (peek() === \">\") {\n next();\n return token(\"arrow\", \"=>\");\n } else {\n return read_operator(\"=\");\n }\n }\n\n function handle_dot() {\n next();\n if (is_digit(peek().charCodeAt(0))) {\n return read_num(\".\");\n }\n if (peek() === \".\") {\n next(); // Consume second dot\n next(); // Consume third dot\n return token(\"expand\", \"...\");\n }\n\n return token(\"punc\", \".\");\n }\n\n function read_word() {\n var word = read_name();\n if (prev_was_dot) return token(\"name\", word);\n return KEYWORDS_ATOM(word) ? token(\"atom\", word)\n : !KEYWORDS(word) ? token(\"name\", word)\n : OPERATORS(word) ? token(\"operator\", word)\n : token(\"keyword\", word);\n }\n\n function with_eof_error(eof_error, cont) {\n return function(x) {\n try {\n return cont(x);\n } catch(ex) {\n if (ex === EX_EOF) parse_error(eof_error);\n else throw ex;\n }\n };\n }\n\n function next_token(force_regexp) {\n if (force_regexp != null)\n return read_regexp(force_regexp);\n if (shebang && S.pos == 0 && looking_at(\"#!\")) {\n start_token();\n forward(2);\n skip_line_comment(\"comment5\");\n }\n for (;;) {\n skip_whitespace();\n start_token();\n if (html5_comments) {\n if (looking_at(\"\") && S.newline_before) {\n forward(3);\n skip_line_comment(\"comment4\");\n continue;\n }\n }\n var ch = peek();\n if (!ch) return token(\"eof\");\n var code = ch.charCodeAt(0);\n switch (code) {\n case 34: case 39: return read_string(ch);\n case 46: return handle_dot();\n case 47: {\n var tok = handle_slash();\n if (tok === next_token) continue;\n return tok;\n }\n case 61: return handle_eq_sign();\n case 96: return read_template_characters(true);\n case 123:\n S.brace_counter++;\n break;\n case 125:\n S.brace_counter--;\n if (S.template_braces.length > 0\n && S.template_braces[S.template_braces.length - 1] === S.brace_counter)\n return read_template_characters(false);\n break;\n }\n if (is_digit(code)) return read_num();\n if (PUNC_CHARS(ch)) return token(\"punc\", next());\n if (OPERATOR_CHARS(ch)) return read_operator();\n if (code == 92 || is_identifier_start(ch)) return read_word();\n break;\n }\n parse_error(\"Unexpected character '\" + ch + \"'\");\n }\n\n next_token.next = next;\n next_token.peek = peek;\n\n next_token.context = function(nc) {\n if (nc) S = nc;\n return S;\n };\n\n next_token.add_directive = function(directive) {\n S.directive_stack[S.directive_stack.length - 1].push(directive);\n\n if (S.directives[directive] === undefined) {\n S.directives[directive] = 1;\n } else {\n S.directives[directive]++;\n }\n };\n\n next_token.push_directives_stack = function() {\n S.directive_stack.push([]);\n };\n\n next_token.pop_directives_stack = function() {\n var directives = S.directive_stack[S.directive_stack.length - 1];\n\n for (var i = 0; i < directives.length; i++) {\n S.directives[directives[i]]--;\n }\n\n S.directive_stack.pop();\n };\n\n next_token.has_directive = function(directive) {\n return S.directives[directive] > 0;\n };\n\n return next_token;\n\n}\n\n/* -----[ Parser (constants) ]----- */\n\nvar UNARY_PREFIX = makePredicate([\n \"typeof\",\n \"void\",\n \"delete\",\n \"--\",\n \"++\",\n \"!\",\n \"~\",\n \"-\",\n \"+\"\n]);\n\nvar UNARY_POSTFIX = makePredicate([ \"--\", \"++\" ]);\n\nvar ASSIGNMENT = makePredicate([ \"=\", \"+=\", \"-=\", \"/=\", \"*=\", \"**=\", \"%=\", \">>=\", \"<<=\", \">>>=\", \"|=\", \"^=\", \"&=\" ]);\n\nvar PRECEDENCE = (function(a, ret) {\n for (var i = 0; i < a.length; ++i) {\n var b = a[i];\n for (var j = 0; j < b.length; ++j) {\n ret[b[j]] = i + 1;\n }\n }\n return ret;\n})(\n [\n [\"||\"],\n [\"&&\"],\n [\"|\"],\n [\"^\"],\n [\"&\"],\n [\"==\", \"===\", \"!=\", \"!==\"],\n [\"<\", \">\", \"<=\", \">=\", \"in\", \"instanceof\"],\n [\">>\", \"<<\", \">>>\"],\n [\"+\", \"-\"],\n [\"*\", \"/\", \"%\"],\n [\"**\"]\n ],\n {}\n);\n\nvar ATOMIC_START_TOKEN = makePredicate([ \"atom\", \"num\", \"string\", \"regexp\", \"name\" ]);\n\n/* -----[ Parser ]----- */\n\nfunction parse($TEXT, options) {\n\n options = defaults(options, {\n bare_returns : false,\n ecma : 8,\n expression : false,\n filename : null,\n html5_comments : true,\n module : false,\n shebang : true,\n strict : false,\n toplevel : null,\n }, true);\n\n var S = {\n input : (typeof $TEXT == \"string\"\n ? tokenizer($TEXT, options.filename,\n options.html5_comments, options.shebang)\n : $TEXT),\n token : null,\n prev : null,\n peeked : null,\n in_function : 0,\n in_async : -1,\n in_generator : -1,\n in_directives : true,\n in_loop : 0,\n labels : []\n };\n\n S.token = next();\n\n function is(type, value) {\n return is_token(S.token, type, value);\n }\n\n function peek() { return S.peeked || (S.peeked = S.input()); }\n\n function next() {\n S.prev = S.token;\n\n if (!S.peeked) peek();\n S.token = S.peeked;\n S.peeked = null;\n S.in_directives = S.in_directives && (\n S.token.type == \"string\" || is(\"punc\", \";\")\n );\n return S.token;\n }\n\n function prev() {\n return S.prev;\n }\n\n function croak(msg, line, col, pos) {\n var ctx = S.input.context();\n js_error(msg,\n ctx.filename,\n line != null ? line : ctx.tokline,\n col != null ? col : ctx.tokcol,\n pos != null ? pos : ctx.tokpos);\n }\n\n function token_error(token, msg) {\n croak(msg, token.line, token.col);\n }\n\n function unexpected(token) {\n if (token == null)\n token = S.token;\n token_error(token, \"Unexpected token: \" + token.type + \" (\" + token.value + \")\");\n }\n\n function expect_token(type, val) {\n if (is(type, val)) {\n return next();\n }\n token_error(S.token, \"Unexpected token \" + S.token.type + \" «\" + S.token.value + \"»\" + \", expected \" + type + \" «\" + val + \"»\");\n }\n\n function expect(punc) { return expect_token(\"punc\", punc); }\n\n function has_newline_before(token) {\n return token.nlb || !all(token.comments_before, function(comment) {\n return !comment.nlb;\n });\n }\n\n function can_insert_semicolon() {\n return !options.strict\n && (is(\"eof\") || is(\"punc\", \"}\") || has_newline_before(S.token));\n }\n\n function is_in_generator() {\n return S.in_generator === S.in_function;\n }\n\n function is_in_async() {\n return S.in_async === S.in_function;\n }\n\n function semicolon(optional) {\n if (is(\"punc\", \";\")) next();\n else if (!optional && !can_insert_semicolon()) unexpected();\n }\n\n function parenthesised() {\n expect(\"(\");\n var exp = expression(true);\n expect(\")\");\n return exp;\n }\n\n function embed_tokens(parser) {\n return function() {\n var start = S.token;\n var expr = parser.apply(null, arguments);\n var end = prev();\n expr.start = start;\n expr.end = end;\n return expr;\n };\n }\n\n function handle_regexp() {\n if (is(\"operator\", \"/\") || is(\"operator\", \"/=\")) {\n S.peeked = null;\n S.token = S.input(S.token.value.substr(1)); // force regexp\n }\n }\n\n var statement = embed_tokens(function(is_export_default, is_for_body, is_if_body) {\n handle_regexp();\n switch (S.token.type) {\n case \"string\":\n if (S.in_directives) {\n var token = peek();\n if (!S.token.raw.includes(\"\\\\\")\n && (is_token(token, \"punc\", \";\")\n || is_token(token, \"punc\", \"}\")\n || has_newline_before(token)\n || is_token(token, \"eof\"))) {\n S.input.add_directive(S.token.value);\n } else {\n S.in_directives = false;\n }\n }\n var dir = S.in_directives, stat = simple_statement();\n return dir && stat.body instanceof AST_String ? new AST_Directive(stat.body) : stat;\n case \"template_head\":\n case \"num\":\n case \"regexp\":\n case \"operator\":\n case \"atom\":\n return simple_statement();\n\n case \"name\":\n if (S.token.value == \"async\" && is_token(peek(), \"keyword\", \"function\")) {\n next();\n next();\n if (is_for_body) {\n croak(\"functions are not allowed as the body of a loop\");\n }\n return function_(AST_Defun, false, true, is_export_default);\n }\n if (S.token.value == \"import\" && !is_token(peek(), \"punc\", \"(\")) {\n next();\n var node = import_();\n semicolon();\n return node;\n }\n return is_token(peek(), \"punc\", \":\")\n ? labeled_statement()\n : simple_statement();\n\n case \"punc\":\n switch (S.token.value) {\n case \"{\":\n return new AST_BlockStatement({\n start : S.token,\n body : block_(),\n end : prev()\n });\n case \"[\":\n case \"(\":\n return simple_statement();\n case \";\":\n S.in_directives = false;\n next();\n return new AST_EmptyStatement();\n default:\n unexpected();\n }\n\n case \"keyword\":\n switch (S.token.value) {\n case \"break\":\n next();\n return break_cont(AST_Break);\n\n case \"continue\":\n next();\n return break_cont(AST_Continue);\n\n case \"debugger\":\n next();\n semicolon();\n return new AST_Debugger();\n\n case \"do\":\n next();\n var body = in_loop(statement);\n expect_token(\"keyword\", \"while\");\n var condition = parenthesised();\n semicolon(true);\n return new AST_Do({\n body : body,\n condition : condition\n });\n\n case \"while\":\n next();\n return new AST_While({\n condition : parenthesised(),\n body : in_loop(function() { return statement(false, true); })\n });\n\n case \"for\":\n next();\n return for_();\n\n case \"class\":\n next();\n if (is_for_body) {\n croak(\"classes are not allowed as the body of a loop\");\n }\n if (is_if_body) {\n croak(\"classes are not allowed as the body of an if\");\n }\n return class_(AST_DefClass);\n\n case \"function\":\n next();\n if (is_for_body) {\n croak(\"functions are not allowed as the body of a loop\");\n }\n return function_(AST_Defun, false, false, is_export_default);\n\n case \"if\":\n next();\n return if_();\n\n case \"return\":\n if (S.in_function == 0 && !options.bare_returns)\n croak(\"'return' outside of function\");\n next();\n var value = null;\n if (is(\"punc\", \";\")) {\n next();\n } else if (!can_insert_semicolon()) {\n value = expression(true);\n semicolon();\n }\n return new AST_Return({\n value: value\n });\n\n case \"switch\":\n next();\n return new AST_Switch({\n expression : parenthesised(),\n body : in_loop(switch_body_)\n });\n\n case \"throw\":\n next();\n if (has_newline_before(S.token))\n croak(\"Illegal newline after 'throw'\");\n var value = expression(true);\n semicolon();\n return new AST_Throw({\n value: value\n });\n\n case \"try\":\n next();\n return try_();\n\n case \"var\":\n next();\n var node = var_();\n semicolon();\n return node;\n\n case \"let\":\n next();\n var node = let_();\n semicolon();\n return node;\n\n case \"const\":\n next();\n var node = const_();\n semicolon();\n return node;\n\n case \"with\":\n if (S.input.has_directive(\"use strict\")) {\n croak(\"Strict mode may not include a with statement\");\n }\n next();\n return new AST_With({\n expression : parenthesised(),\n body : statement()\n });\n\n case \"export\":\n if (!is_token(peek(), \"punc\", \"(\")) {\n next();\n var node = export_();\n if (is(\"punc\", \";\")) semicolon();\n return node;\n }\n }\n }\n unexpected();\n });\n\n function labeled_statement() {\n var label = as_symbol(AST_Label);\n if (label.name === \"await\" && is_in_async()) {\n token_error(S.prev, \"await cannot be used as label inside async function\");\n }\n if (find_if(function(l) { return l.name == label.name; }, S.labels)) {\n // ECMA-262, 12.12: An ECMAScript program is considered\n // syntactically incorrect if it contains a\n // LabelledStatement that is enclosed by a\n // LabelledStatement with the same Identifier as label.\n croak(\"Label \" + label.name + \" defined twice\");\n }\n expect(\":\");\n S.labels.push(label);\n var stat = statement();\n S.labels.pop();\n if (!(stat instanceof AST_IterationStatement)) {\n // check for `continue` that refers to this label.\n // those should be reported as syntax errors.\n // https://github.com/mishoo/UglifyJS2/issues/287\n label.references.forEach(function(ref) {\n if (ref instanceof AST_Continue) {\n ref = ref.label.start;\n croak(\"Continue label `\" + label.name + \"` refers to non-IterationStatement.\",\n ref.line, ref.col, ref.pos);\n }\n });\n }\n return new AST_LabeledStatement({ body: stat, label: label });\n }\n\n function simple_statement(tmp) {\n return new AST_SimpleStatement({ body: (tmp = expression(true), semicolon(), tmp) });\n }\n\n function break_cont(type) {\n var label = null, ldef;\n if (!can_insert_semicolon()) {\n label = as_symbol(AST_LabelRef, true);\n }\n if (label != null) {\n ldef = find_if(function(l) { return l.name == label.name; }, S.labels);\n if (!ldef)\n croak(\"Undefined label \" + label.name);\n label.thedef = ldef;\n } else if (S.in_loop == 0)\n croak(type.TYPE + \" not inside a loop or switch\");\n semicolon();\n var stat = new type({ label: label });\n if (ldef) ldef.references.push(stat);\n return stat;\n }\n\n function for_() {\n var for_await_error = \"`for await` invalid in this context\";\n var await_tok = S.token;\n if (await_tok.type == \"name\" && await_tok.value == \"await\") {\n if (!is_in_async()) {\n token_error(await_tok, for_await_error);\n }\n next();\n } else {\n await_tok = false;\n }\n expect(\"(\");\n var init = null;\n if (!is(\"punc\", \";\")) {\n init =\n is(\"keyword\", \"var\") ? (next(), var_(true)) :\n is(\"keyword\", \"let\") ? (next(), let_(true)) :\n is(\"keyword\", \"const\") ? (next(), const_(true)) :\n expression(true, true);\n var is_in = is(\"operator\", \"in\");\n var is_of = is(\"name\", \"of\");\n if (await_tok && !is_of) {\n token_error(await_tok, for_await_error);\n }\n if (is_in || is_of) {\n if (init instanceof AST_Definitions) {\n if (init.definitions.length > 1)\n token_error(init.start, \"Only one variable declaration allowed in for..in loop\");\n } else if (!(is_assignable(init) || (init = to_destructuring(init)) instanceof AST_Destructuring)) {\n token_error(init.start, \"Invalid left-hand side in for..in loop\");\n }\n next();\n if (is_in) {\n return for_in(init);\n } else {\n return for_of(init, !!await_tok);\n }\n }\n } else if (await_tok) {\n token_error(await_tok, for_await_error);\n }\n return regular_for(init);\n }\n\n function regular_for(init) {\n expect(\";\");\n var test = is(\"punc\", \";\") ? null : expression(true);\n expect(\";\");\n var step = is(\"punc\", \")\") ? null : expression(true);\n expect(\")\");\n return new AST_For({\n init : init,\n condition : test,\n step : step,\n body : in_loop(function() { return statement(false, true); })\n });\n }\n\n function for_of(init, is_await) {\n var lhs = init instanceof AST_Definitions ? init.definitions[0].name : null;\n var obj = expression(true);\n expect(\")\");\n return new AST_ForOf({\n await : is_await,\n init : init,\n name : lhs,\n object : obj,\n body : in_loop(function() { return statement(false, true); })\n });\n }\n\n function for_in(init) {\n var obj = expression(true);\n expect(\")\");\n return new AST_ForIn({\n init : init,\n object : obj,\n body : in_loop(function() { return statement(false, true); })\n });\n }\n\n var arrow_function = function(start, argnames, is_async) {\n if (has_newline_before(S.token)) {\n croak(\"Unexpected newline before arrow (=>)\");\n }\n\n expect_token(\"arrow\", \"=>\");\n\n var body = _function_body(is(\"punc\", \"{\"), false, is_async);\n\n var end =\n body instanceof Array && body.length ? body[body.length - 1].end :\n body instanceof Array ? start :\n body.end;\n\n return new AST_Arrow({\n start : start,\n end : end,\n async : is_async,\n argnames : argnames,\n body : body\n });\n };\n\n var function_ = function(ctor, is_generator_property, is_async, is_export_default) {\n var start = S.token;\n\n var in_statement = ctor === AST_Defun;\n var is_generator = is(\"operator\", \"*\");\n if (is_generator) {\n next();\n }\n\n var name = is(\"name\") ? as_symbol(in_statement ? AST_SymbolDefun : AST_SymbolLambda) : null;\n if (in_statement && !name) {\n if (is_export_default) {\n ctor = AST_Function;\n } else {\n unexpected();\n }\n }\n\n if (name && ctor !== AST_Accessor && !(name instanceof AST_SymbolDeclaration))\n unexpected(prev());\n\n var args = [];\n var body = _function_body(true, is_generator || is_generator_property, is_async, name, args);\n return new ctor({\n start : args.start,\n end : body.end,\n is_generator: is_generator,\n async : is_async,\n name : name,\n argnames: args,\n body : body\n });\n };\n\n function track_used_binding_identifiers(is_parameter, strict) {\n var parameters = {};\n var duplicate = false;\n var default_assignment = false;\n var spread = false;\n var strict_mode = !!strict;\n var tracker = {\n add_parameter: function(token) {\n if (parameters[\"$\" + token.value] !== undefined) {\n if (duplicate === false) {\n duplicate = token;\n }\n tracker.check_strict();\n } else {\n parameters[\"$\" + token.value] = true;\n if (is_parameter) {\n switch (token.value) {\n case \"arguments\":\n case \"eval\":\n case \"yield\":\n if (strict_mode) {\n token_error(token, \"Unexpected \" + token.value + \" identifier as parameter inside strict mode\");\n }\n break;\n default:\n if (RESERVED_WORDS(token.value)) {\n unexpected();\n }\n }\n }\n }\n },\n mark_default_assignment: function(token) {\n if (default_assignment === false) {\n default_assignment = token;\n }\n },\n mark_spread: function(token) {\n if (spread === false) {\n spread = token;\n }\n },\n mark_strict_mode: function() {\n strict_mode = true;\n },\n is_strict: function() {\n return default_assignment !== false || spread !== false || strict_mode;\n },\n check_strict: function() {\n if (tracker.is_strict() && duplicate !== false) {\n token_error(duplicate, \"Parameter \" + duplicate.value + \" was used already\");\n }\n }\n };\n\n return tracker;\n }\n\n function parameters(params) {\n var start = S.token;\n var used_parameters = track_used_binding_identifiers(true, S.input.has_directive(\"use strict\"));\n\n expect(\"(\");\n\n while (!is(\"punc\", \")\")) {\n var param = parameter(used_parameters);\n params.push(param);\n\n if (!is(\"punc\", \")\")) {\n expect(\",\");\n if (is(\"punc\", \")\") && options.ecma < 8) unexpected();\n }\n\n if (param instanceof AST_Expansion) {\n break;\n }\n }\n\n next();\n }\n\n function parameter(used_parameters, symbol_type) {\n var param;\n var expand = false;\n if (used_parameters === undefined) {\n used_parameters = track_used_binding_identifiers(true, S.input.has_directive(\"use strict\"));\n }\n if (is(\"expand\", \"...\")) {\n expand = S.token;\n used_parameters.mark_spread(S.token);\n next();\n }\n param = binding_element(used_parameters, symbol_type);\n\n if (is(\"operator\", \"=\") && expand === false) {\n used_parameters.mark_default_assignment(S.token);\n next();\n param = new AST_DefaultAssign({\n start: param.start,\n left: param,\n operator: \"=\",\n right: expression(false),\n end: S.token\n });\n }\n\n if (expand !== false) {\n if (!is(\"punc\", \")\")) {\n unexpected();\n }\n param = new AST_Expansion({\n start: expand,\n expression: param,\n end: expand\n });\n }\n used_parameters.check_strict();\n\n return param;\n }\n\n function binding_element(used_parameters, symbol_type) {\n var elements = [];\n var first = true;\n var is_expand = false;\n var expand_token;\n var first_token = S.token;\n if (used_parameters === undefined) {\n used_parameters = track_used_binding_identifiers(false, S.input.has_directive(\"use strict\"));\n }\n symbol_type = symbol_type === undefined ? AST_SymbolFunarg : symbol_type;\n if (is(\"punc\", \"[\")) {\n next();\n while (!is(\"punc\", \"]\")) {\n if (first) {\n first = false;\n } else {\n expect(\",\");\n }\n\n if (is(\"expand\", \"...\")) {\n is_expand = true;\n expand_token = S.token;\n used_parameters.mark_spread(S.token);\n next();\n }\n if (is(\"punc\")) {\n switch (S.token.value) {\n case \",\":\n elements.push(new AST_Hole({\n start: S.token,\n end: S.token\n }));\n continue;\n case \"]\": // Trailing comma after last element\n break;\n case \"[\":\n case \"{\":\n elements.push(binding_element(used_parameters, symbol_type));\n break;\n default:\n unexpected();\n }\n } else if (is(\"name\")) {\n used_parameters.add_parameter(S.token);\n elements.push(as_symbol(symbol_type));\n } else {\n croak(\"Invalid function parameter\");\n }\n if (is(\"operator\", \"=\") && is_expand === false) {\n used_parameters.mark_default_assignment(S.token);\n next();\n elements[elements.length - 1] = new AST_DefaultAssign({\n start: elements[elements.length - 1].start,\n left: elements[elements.length - 1],\n operator: \"=\",\n right: expression(false),\n end: S.token\n });\n }\n if (is_expand) {\n if (!is(\"punc\", \"]\")) {\n croak(\"Rest element must be last element\");\n }\n elements[elements.length - 1] = new AST_Expansion({\n start: expand_token,\n expression: elements[elements.length - 1],\n end: expand_token\n });\n }\n }\n expect(\"]\");\n used_parameters.check_strict();\n return new AST_Destructuring({\n start: first_token,\n names: elements,\n is_array: true,\n end: prev()\n });\n } else if (is(\"punc\", \"{\")) {\n next();\n while (!is(\"punc\", \"}\")) {\n if (first) {\n first = false;\n } else {\n expect(\",\");\n }\n if (is(\"expand\", \"...\")) {\n is_expand = true;\n expand_token = S.token;\n used_parameters.mark_spread(S.token);\n next();\n }\n if (is(\"name\") && (is_token(peek(), \"punc\") || is_token(peek(), \"operator\")) && [\",\", \"}\", \"=\"].includes(peek().value)) {\n used_parameters.add_parameter(S.token);\n var start = prev();\n var value = as_symbol(symbol_type);\n if (is_expand) {\n elements.push(new AST_Expansion({\n start: expand_token,\n expression: value,\n end: value.end,\n }));\n } else {\n elements.push(new AST_ObjectKeyVal({\n start: start,\n key: value.name,\n value: value,\n end: value.end,\n }));\n }\n } else if (is(\"punc\", \"}\")) {\n continue; // Allow trailing hole\n } else {\n var property_token = S.token;\n var property = as_property_name();\n if (property === null) {\n unexpected(prev());\n } else if (prev().type === \"name\" && !is(\"punc\", \":\")) {\n elements.push(new AST_ObjectKeyVal({\n start: prev(),\n key: property,\n value: new symbol_type({\n start: prev(),\n name: property,\n end: prev()\n }),\n end: prev()\n }));\n } else {\n expect(\":\");\n elements.push(new AST_ObjectKeyVal({\n start: property_token,\n quote: property_token.quote,\n key: property,\n value: binding_element(used_parameters, symbol_type),\n end: prev()\n }));\n }\n }\n if (is_expand) {\n if (!is(\"punc\", \"}\")) {\n croak(\"Rest element must be last element\");\n }\n } else if (is(\"operator\", \"=\")) {\n used_parameters.mark_default_assignment(S.token);\n next();\n elements[elements.length - 1].value = new AST_DefaultAssign({\n start: elements[elements.length - 1].value.start,\n left: elements[elements.length - 1].value,\n operator: \"=\",\n right: expression(false),\n end: S.token\n });\n }\n }\n expect(\"}\");\n used_parameters.check_strict();\n return new AST_Destructuring({\n start: first_token,\n names: elements,\n is_array: false,\n end: prev()\n });\n } else if (is(\"name\")) {\n used_parameters.add_parameter(S.token);\n return as_symbol(symbol_type);\n } else {\n croak(\"Invalid function parameter\");\n }\n }\n\n function params_or_seq_(allow_arrows, maybe_sequence) {\n var spread_token;\n var invalid_sequence;\n var trailing_comma;\n var a = [];\n expect(\"(\");\n while (!is(\"punc\", \")\")) {\n if (spread_token) unexpected(spread_token);\n if (is(\"expand\", \"...\")) {\n spread_token = S.token;\n if (maybe_sequence) invalid_sequence = S.token;\n next();\n a.push(new AST_Expansion({\n start: prev(),\n expression: expression(),\n end: S.token,\n }));\n } else {\n a.push(expression());\n }\n if (!is(\"punc\", \")\")) {\n expect(\",\");\n if (is(\"punc\", \")\")) {\n if (options.ecma < 8) unexpected();\n trailing_comma = prev();\n if (maybe_sequence) invalid_sequence = trailing_comma;\n }\n }\n }\n expect(\")\");\n if (allow_arrows && is(\"arrow\", \"=>\")) {\n if (spread_token && trailing_comma) unexpected(trailing_comma);\n } else if (invalid_sequence) {\n unexpected(invalid_sequence);\n }\n return a;\n }\n\n function _function_body(block, generator, is_async, name, args) {\n var loop = S.in_loop;\n var labels = S.labels;\n var current_generator = S.in_generator;\n var current_async = S.in_async;\n ++S.in_function;\n if (generator)\n S.in_generator = S.in_function;\n if (is_async)\n S.in_async = S.in_function;\n if (args) parameters(args);\n if (block)\n S.in_directives = true;\n S.in_loop = 0;\n S.labels = [];\n if (block) {\n S.input.push_directives_stack();\n var a = block_();\n if (name) _verify_symbol(name);\n if (args) args.forEach(_verify_symbol);\n S.input.pop_directives_stack();\n } else {\n var a = expression(false);\n }\n --S.in_function;\n S.in_loop = loop;\n S.labels = labels;\n S.in_generator = current_generator;\n S.in_async = current_async;\n return a;\n }\n\n function _await_expression() {\n // Previous token must be \"await\" and not be interpreted as an identifier\n if (!is_in_async()) {\n croak(\"Unexpected await expression outside async function\",\n S.prev.line, S.prev.col, S.prev.pos);\n }\n // the await expression is parsed as a unary expression in Babel\n return new AST_Await({\n start: prev(),\n end: S.token,\n expression : maybe_unary(true),\n });\n }\n\n function _yield_expression() {\n // Previous token must be keyword yield and not be interpret as an identifier\n if (!is_in_generator()) {\n croak(\"Unexpected yield expression outside generator function\",\n S.prev.line, S.prev.col, S.prev.pos);\n }\n var start = S.token;\n var star = false;\n var has_expression = true;\n\n // Attempt to get expression or star (and then the mandatory expression)\n // behind yield on the same line.\n //\n // If nothing follows on the same line of the yieldExpression,\n // it should default to the value `undefined` for yield to return.\n // In that case, the `undefined` stored as `null` in ast.\n //\n // Note 1: It isn't allowed for yield* to close without an expression\n // Note 2: If there is a nlb between yield and star, it is interpret as\n // yield *\n if (can_insert_semicolon() ||\n (is(\"punc\") && PUNC_AFTER_EXPRESSION(S.token.value))) {\n has_expression = false;\n\n } else if (is(\"operator\", \"*\")) {\n star = true;\n next();\n }\n\n return new AST_Yield({\n start : start,\n is_star : star,\n expression : has_expression ? expression() : null,\n end : prev()\n });\n }\n\n function if_() {\n var cond = parenthesised(), body = statement(false, false, true), belse = null;\n if (is(\"keyword\", \"else\")) {\n next();\n belse = statement(false, false, true);\n }\n return new AST_If({\n condition : cond,\n body : body,\n alternative : belse\n });\n }\n\n function block_() {\n expect(\"{\");\n var a = [];\n while (!is(\"punc\", \"}\")) {\n if (is(\"eof\")) unexpected();\n a.push(statement());\n }\n next();\n return a;\n }\n\n function switch_body_() {\n expect(\"{\");\n var a = [], cur = null, branch = null, tmp;\n while (!is(\"punc\", \"}\")) {\n if (is(\"eof\")) unexpected();\n if (is(\"keyword\", \"case\")) {\n if (branch) branch.end = prev();\n cur = [];\n branch = new AST_Case({\n start : (tmp = S.token, next(), tmp),\n expression : expression(true),\n body : cur\n });\n a.push(branch);\n expect(\":\");\n } else if (is(\"keyword\", \"default\")) {\n if (branch) branch.end = prev();\n cur = [];\n branch = new AST_Default({\n start : (tmp = S.token, next(), expect(\":\"), tmp),\n body : cur\n });\n a.push(branch);\n } else {\n if (!cur) unexpected();\n cur.push(statement());\n }\n }\n if (branch) branch.end = prev();\n next();\n return a;\n }\n\n function try_() {\n var body = block_(), bcatch = null, bfinally = null;\n if (is(\"keyword\", \"catch\")) {\n var start = S.token;\n next();\n if (is(\"punc\", \"{\")) {\n var name = null;\n } else {\n expect(\"(\");\n var name = parameter(undefined, AST_SymbolCatch);\n expect(\")\");\n }\n bcatch = new AST_Catch({\n start : start,\n argname : name,\n body : block_(),\n end : prev()\n });\n }\n if (is(\"keyword\", \"finally\")) {\n var start = S.token;\n next();\n bfinally = new AST_Finally({\n start : start,\n body : block_(),\n end : prev()\n });\n }\n if (!bcatch && !bfinally)\n croak(\"Missing catch/finally blocks\");\n return new AST_Try({\n body : body,\n bcatch : bcatch,\n bfinally : bfinally\n });\n }\n\n function vardefs(no_in, kind) {\n var a = [];\n var def;\n for (;;) {\n var sym_type =\n kind === \"var\" ? AST_SymbolVar :\n kind === \"const\" ? AST_SymbolConst :\n kind === \"let\" ? AST_SymbolLet : null;\n if (is(\"punc\", \"{\") || is(\"punc\", \"[\")) {\n def = new AST_VarDef({\n start: S.token,\n name: binding_element(undefined ,sym_type),\n value: is(\"operator\", \"=\") ? (expect_token(\"operator\", \"=\"), expression(false, no_in)) : null,\n end: prev()\n });\n } else {\n def = new AST_VarDef({\n start : S.token,\n name : as_symbol(sym_type),\n value : is(\"operator\", \"=\")\n ? (next(), expression(false, no_in))\n : !no_in && kind === \"const\"\n ? croak(\"Missing initializer in const declaration\") : null,\n end : prev()\n });\n if (def.name.name == \"import\") croak(\"Unexpected token: import\");\n }\n a.push(def);\n if (!is(\"punc\", \",\"))\n break;\n next();\n }\n return a;\n }\n\n var var_ = function(no_in) {\n return new AST_Var({\n start : prev(),\n definitions : vardefs(no_in, \"var\"),\n end : prev()\n });\n };\n\n var let_ = function(no_in) {\n return new AST_Let({\n start : prev(),\n definitions : vardefs(no_in, \"let\"),\n end : prev()\n });\n };\n\n var const_ = function(no_in) {\n return new AST_Const({\n start : prev(),\n definitions : vardefs(no_in, \"const\"),\n end : prev()\n });\n };\n\n var new_ = function(allow_calls) {\n var start = S.token;\n expect_token(\"operator\", \"new\");\n if (is(\"punc\", \".\")) {\n next();\n expect_token(\"name\", \"target\");\n return subscripts(new AST_NewTarget({\n start : start,\n end : prev()\n }), allow_calls);\n }\n var newexp = expr_atom(false), args;\n if (is(\"punc\", \"(\")) {\n next();\n args = expr_list(\")\", options.ecma >= 8);\n } else {\n args = [];\n }\n var call = new AST_New({\n start : start,\n expression : newexp,\n args : args,\n end : prev()\n });\n mark_pure(call);\n return subscripts(call, allow_calls);\n };\n\n function as_atom_node() {\n var tok = S.token, ret;\n switch (tok.type) {\n case \"name\":\n ret = _make_symbol(AST_SymbolRef);\n break;\n case \"num\":\n ret = new AST_Number({ start: tok, end: tok, value: tok.value });\n break;\n case \"string\":\n ret = new AST_String({\n start : tok,\n end : tok,\n value : tok.value,\n quote : tok.quote\n });\n break;\n case \"regexp\":\n ret = new AST_RegExp({ start: tok, end: tok, value: tok.value });\n break;\n case \"atom\":\n switch (tok.value) {\n case \"false\":\n ret = new AST_False({ start: tok, end: tok });\n break;\n case \"true\":\n ret = new AST_True({ start: tok, end: tok });\n break;\n case \"null\":\n ret = new AST_Null({ start: tok, end: tok });\n break;\n }\n break;\n }\n next();\n return ret;\n }\n\n function to_fun_args(ex, _, __, default_seen_above) {\n var insert_default = function(ex, default_value) {\n if (default_value) {\n return new AST_DefaultAssign({\n start: ex.start,\n left: ex,\n operator: \"=\",\n right: default_value,\n end: default_value.end\n });\n }\n return ex;\n };\n if (ex instanceof AST_Object) {\n return insert_default(new AST_Destructuring({\n start: ex.start,\n end: ex.end,\n is_array: false,\n names: ex.properties.map(to_fun_args)\n }), default_seen_above);\n } else if (ex instanceof AST_ObjectKeyVal) {\n ex.value = to_fun_args(ex.value, 0, [ex.key]);\n return insert_default(ex, default_seen_above);\n } else if (ex instanceof AST_Hole) {\n return ex;\n } else if (ex instanceof AST_Destructuring) {\n ex.names = ex.names.map(to_fun_args);\n return insert_default(ex, default_seen_above);\n } else if (ex instanceof AST_SymbolRef) {\n return insert_default(new AST_SymbolFunarg({\n name: ex.name,\n start: ex.start,\n end: ex.end\n }), default_seen_above);\n } else if (ex instanceof AST_Expansion) {\n ex.expression = to_fun_args(ex.expression);\n return insert_default(ex, default_seen_above);\n } else if (ex instanceof AST_Array) {\n return insert_default(new AST_Destructuring({\n start: ex.start,\n end: ex.end,\n is_array: true,\n names: ex.elements.map(to_fun_args)\n }), default_seen_above);\n } else if (ex instanceof AST_Assign) {\n return insert_default(to_fun_args(ex.left, undefined, undefined, ex.right), default_seen_above);\n } else if (ex instanceof AST_DefaultAssign) {\n ex.left = to_fun_args(ex.left, 0, [ex.left]);\n return ex;\n } else {\n croak(\"Invalid function parameter\", ex.start.line, ex.start.col);\n }\n }\n\n var expr_atom = function(allow_calls, allow_arrows) {\n if (is(\"operator\", \"new\")) {\n return new_(allow_calls);\n }\n var start = S.token;\n var peeked;\n var async = is(\"name\", \"async\")\n && (peeked = peek()).value != \"[\"\n && peeked.type != \"arrow\"\n && as_atom_node();\n if (is(\"punc\")) {\n switch (S.token.value) {\n case \"(\":\n if (async && !allow_calls) break;\n var exprs = params_or_seq_(allow_arrows, !async);\n if (allow_arrows && is(\"arrow\", \"=>\")) {\n return arrow_function(start, exprs.map(to_fun_args), !!async);\n }\n var ex = async ? new AST_Call({\n expression: async,\n args: exprs\n }) : exprs.length == 1 ? exprs[0] : new AST_Sequence({\n expressions: exprs\n });\n if (ex.start) {\n var len = start.comments_before.length;\n [].unshift.apply(ex.start.comments_before, start.comments_before);\n start.comments_before = ex.start.comments_before;\n start.comments_before_length = len;\n if (len == 0 && start.comments_before.length > 0) {\n var comment = start.comments_before[0];\n if (!comment.nlb) {\n comment.nlb = start.nlb;\n start.nlb = false;\n }\n }\n start.comments_after = ex.start.comments_after;\n }\n ex.start = start;\n var end = prev();\n if (ex.end) {\n end.comments_before = ex.end.comments_before;\n [].push.apply(ex.end.comments_after, end.comments_after);\n end.comments_after = ex.end.comments_after;\n }\n ex.end = end;\n if (ex instanceof AST_Call) mark_pure(ex);\n return subscripts(ex, allow_calls);\n case \"[\":\n return subscripts(array_(), allow_calls);\n case \"{\":\n return subscripts(object_or_destructuring_(), allow_calls);\n }\n if (!async) unexpected();\n }\n if (allow_arrows && is(\"name\") && is_token(peek(), \"arrow\")) {\n var param = new AST_SymbolFunarg({\n name: S.token.value,\n start: start,\n end: start,\n });\n next();\n return arrow_function(start, [param], !!async);\n }\n if (is(\"keyword\", \"function\")) {\n next();\n var func = function_(AST_Function, false, !!async);\n func.start = start;\n func.end = prev();\n return subscripts(func, allow_calls);\n }\n if (async) return subscripts(async, allow_calls);\n if (is(\"keyword\", \"class\")) {\n next();\n var cls = class_(AST_ClassExpression);\n cls.start = start;\n cls.end = prev();\n return subscripts(cls, allow_calls);\n }\n if (is(\"template_head\")) {\n return subscripts(template_string(false), allow_calls);\n }\n if (ATOMIC_START_TOKEN(S.token.type)) {\n return subscripts(as_atom_node(), allow_calls);\n }\n unexpected();\n };\n\n function template_string(tagged) {\n var segments = [], start = S.token;\n\n segments.push(new AST_TemplateSegment({\n start: S.token,\n raw: S.token.raw,\n value: S.token.value,\n end: S.token\n }));\n while (S.token.end === false) {\n next();\n handle_regexp();\n segments.push(expression(true));\n\n if (!is_token(\"template_substitution\")) {\n unexpected();\n }\n\n segments.push(new AST_TemplateSegment({\n start: S.token,\n raw: S.token.raw,\n value: S.token.value,\n end: S.token\n }));\n }\n next();\n\n return new AST_TemplateString({\n start: start,\n segments: segments,\n end: S.token\n });\n }\n\n function expr_list(closing, allow_trailing_comma, allow_empty) {\n var first = true, a = [];\n while (!is(\"punc\", closing)) {\n if (first) first = false; else expect(\",\");\n if (allow_trailing_comma && is(\"punc\", closing)) break;\n if (is(\"punc\", \",\") && allow_empty) {\n a.push(new AST_Hole({ start: S.token, end: S.token }));\n } else if (is(\"expand\", \"...\")) {\n next();\n a.push(new AST_Expansion({start: prev(), expression: expression(),end: S.token}));\n } else {\n a.push(expression(false));\n }\n }\n next();\n return a;\n }\n\n var array_ = embed_tokens(function() {\n expect(\"[\");\n return new AST_Array({\n elements: expr_list(\"]\", !options.strict, true)\n });\n });\n\n var create_accessor = embed_tokens(function(is_generator, is_async) {\n return function_(AST_Accessor, is_generator, is_async);\n });\n\n var object_or_destructuring_ = embed_tokens(function object_or_destructuring_() {\n var start = S.token, first = true, a = [];\n expect(\"{\");\n while (!is(\"punc\", \"}\")) {\n if (first) first = false; else expect(\",\");\n if (!options.strict && is(\"punc\", \"}\"))\n // allow trailing comma\n break;\n\n start = S.token;\n if (start.type == \"expand\") {\n next();\n a.push(new AST_Expansion({\n start: start,\n expression: expression(false),\n end: prev(),\n }));\n continue;\n }\n\n var name = as_property_name();\n var value;\n\n // Check property and fetch value\n if (!is(\"punc\", \":\")) {\n var concise = concise_method_or_getset(name, start);\n if (concise) {\n a.push(concise);\n continue;\n }\n\n value = new AST_SymbolRef({\n start: prev(),\n name: name,\n end: prev()\n });\n } else if (name === null) {\n unexpected(prev());\n } else {\n next(); // `:` - see first condition\n value = expression(false);\n }\n\n // Check for default value and alter value accordingly if necessary\n if (is(\"operator\", \"=\")) {\n next();\n value = new AST_Assign({\n start: start,\n left: value,\n operator: \"=\",\n right: expression(false),\n end: prev()\n });\n }\n\n // Create property\n a.push(new AST_ObjectKeyVal({\n start: start,\n quote: start.quote,\n key: name instanceof AST_Node ? name : \"\" + name,\n value: value,\n end: prev()\n }));\n }\n next();\n return new AST_Object({ properties: a });\n });\n\n function class_(KindOfClass) {\n var start, method, class_name, extends_, a = [];\n\n S.input.push_directives_stack(); // Push directive stack, but not scope stack\n S.input.add_directive(\"use strict\");\n\n if (S.token.type == \"name\" && S.token.value != \"extends\") {\n class_name = as_symbol(KindOfClass === AST_DefClass ? AST_SymbolDefClass : AST_SymbolClass);\n }\n\n if (KindOfClass === AST_DefClass && !class_name) {\n unexpected();\n }\n\n if (S.token.value == \"extends\") {\n next();\n extends_ = expression(true);\n }\n\n expect(\"{\");\n\n if (is(\"punc\", \";\")) { next(); } // Leading semicolons are okay in class bodies.\n while (!is(\"punc\", \"}\")) {\n start = S.token;\n method = concise_method_or_getset(as_property_name(), start, true);\n if (!method) { unexpected(); }\n a.push(method);\n if (is(\"punc\", \";\")) { next(); }\n }\n\n S.input.pop_directives_stack();\n\n next();\n\n return new KindOfClass({\n start: start,\n name: class_name,\n extends: extends_,\n properties: a,\n end: prev(),\n });\n }\n\n function concise_method_or_getset(name, start, is_class) {\n var get_ast = function(name, token) {\n if (typeof name === \"string\" || typeof name === \"number\") {\n return new AST_SymbolMethod({\n start: token,\n name: \"\" + name,\n end: prev()\n });\n } else if (name === null) {\n unexpected();\n }\n return name;\n };\n var is_async = false;\n var is_static = false;\n var is_generator = false;\n var property_token = start;\n if (is_class && name === \"static\" && !is(\"punc\", \"(\")) {\n is_static = true;\n property_token = S.token;\n name = as_property_name();\n }\n if (name === \"async\" && !is(\"punc\", \"(\") && !is(\"punc\", \",\") && !is(\"punc\", \"}\")) {\n is_async = true;\n property_token = S.token;\n name = as_property_name();\n }\n if (name === null) {\n is_generator = true;\n property_token = S.token;\n name = as_property_name();\n if (name === null) {\n unexpected();\n }\n }\n if (is(\"punc\", \"(\")) {\n name = get_ast(name, start);\n var node = new AST_ConciseMethod({\n start : start,\n static : is_static,\n is_generator: is_generator,\n async : is_async,\n key : name,\n quote : name instanceof AST_SymbolMethod ?\n property_token.quote : undefined,\n value : create_accessor(is_generator, is_async),\n end : prev()\n });\n return node;\n }\n property_token = S.token;\n if (name == \"get\") {\n if (!is(\"punc\") || is(\"punc\", \"[\")) {\n name = get_ast(as_property_name(), start);\n return new AST_ObjectGetter({\n start : start,\n static: is_static,\n key : name,\n quote : name instanceof AST_SymbolMethod ?\n property_token.quote : undefined,\n value : create_accessor(),\n end : prev()\n });\n }\n } else if (name == \"set\") {\n if (!is(\"punc\") || is(\"punc\", \"[\")) {\n name = get_ast(as_property_name(), start);\n return new AST_ObjectSetter({\n start : start,\n static: is_static,\n key : name,\n quote : name instanceof AST_SymbolMethod ?\n property_token.quote : undefined,\n value : create_accessor(),\n end : prev()\n });\n }\n }\n }\n\n function import_() {\n var start = prev();\n var imported_name;\n var imported_names;\n if (is(\"name\")) {\n imported_name = as_symbol(AST_SymbolImport);\n }\n\n if (is(\"punc\", \",\")) {\n next();\n }\n\n imported_names = map_names(true);\n\n if (imported_names || imported_name) {\n expect_token(\"name\", \"from\");\n }\n var mod_str = S.token;\n if (mod_str.type !== \"string\") {\n unexpected();\n }\n next();\n return new AST_Import({\n start: start,\n imported_name: imported_name,\n imported_names: imported_names,\n module_name: new AST_String({\n start: mod_str,\n value: mod_str.value,\n quote: mod_str.quote,\n end: mod_str,\n }),\n end: S.token,\n });\n }\n\n function map_name(is_import) {\n function make_symbol(type) {\n return new type({\n name: as_property_name(),\n start: prev(),\n end: prev()\n });\n }\n\n var foreign_type = is_import ? AST_SymbolImportForeign : AST_SymbolExportForeign;\n var type = is_import ? AST_SymbolImport : AST_SymbolExport;\n var start = S.token;\n var foreign_name;\n var name;\n\n if (is_import) {\n foreign_name = make_symbol(foreign_type);\n } else {\n name = make_symbol(type);\n }\n if (is(\"name\", \"as\")) {\n next(); // The \"as\" word\n if (is_import) {\n name = make_symbol(type);\n } else {\n foreign_name = make_symbol(foreign_type);\n }\n } else if (is_import) {\n name = new type(foreign_name);\n } else {\n foreign_name = new foreign_type(name);\n }\n\n return new AST_NameMapping({\n start: start,\n foreign_name: foreign_name,\n name: name,\n end: prev(),\n });\n }\n\n function map_nameAsterisk(is_import, name) {\n var foreign_type = is_import ? AST_SymbolImportForeign : AST_SymbolExportForeign;\n var type = is_import ? AST_SymbolImport : AST_SymbolExport;\n var start = S.token;\n var foreign_name;\n var end = prev();\n\n name = name || new type({\n name: \"*\",\n start: start,\n end: end,\n });\n\n foreign_name = new foreign_type({\n name: \"*\",\n start: start,\n end: end,\n });\n\n return new AST_NameMapping({\n start: start,\n foreign_name: foreign_name,\n name: name,\n end: end,\n });\n }\n\n function map_names(is_import) {\n var names;\n if (is(\"punc\", \"{\")) {\n next();\n names = [];\n while (!is(\"punc\", \"}\")) {\n names.push(map_name(is_import));\n if (is(\"punc\", \",\")) {\n next();\n }\n }\n next();\n } else if (is(\"operator\", \"*\")) {\n var name;\n next();\n if (is_import && is(\"name\", \"as\")) {\n next(); // The \"as\" word\n name = as_symbol(is_import ? AST_SymbolImport : AST_SymbolExportForeign);\n }\n names = [map_nameAsterisk(is_import, name)];\n }\n return names;\n }\n\n function export_() {\n var start = S.token;\n var is_default;\n var exported_names;\n\n if (is(\"keyword\", \"default\")) {\n is_default = true;\n next();\n } else if (exported_names = map_names(false)) {\n if (is(\"name\", \"from\")) {\n next();\n\n var mod_str = S.token;\n if (mod_str.type !== \"string\") {\n unexpected();\n }\n next();\n\n return new AST_Export({\n start: start,\n is_default: is_default,\n exported_names: exported_names,\n module_name: new AST_String({\n start: mod_str,\n value: mod_str.value,\n quote: mod_str.quote,\n end: mod_str,\n }),\n end: prev(),\n });\n } else {\n return new AST_Export({\n start: start,\n is_default: is_default,\n exported_names: exported_names,\n end: prev(),\n });\n }\n }\n\n var node;\n var exported_value;\n var exported_definition;\n if (is(\"punc\", \"{\")\n || is_default\n && (is(\"keyword\", \"class\") || is(\"keyword\", \"function\"))\n && is_token(peek(), \"punc\")) {\n exported_value = expression(false);\n semicolon();\n } else if ((node = statement(is_default)) instanceof AST_Definitions && is_default) {\n unexpected(node.start);\n } else if (node instanceof AST_Definitions || node instanceof AST_Lambda || node instanceof AST_DefClass) {\n exported_definition = node;\n } else if (node instanceof AST_SimpleStatement) {\n exported_value = node.body;\n } else {\n unexpected(node.start);\n }\n\n return new AST_Export({\n start: start,\n is_default: is_default,\n exported_value: exported_value,\n exported_definition: exported_definition,\n end: prev(),\n });\n }\n\n function as_property_name() {\n var tmp = S.token;\n switch (tmp.type) {\n case \"punc\":\n if (tmp.value === \"[\") {\n next();\n var ex = expression(false);\n expect(\"]\");\n return ex;\n } else unexpected(tmp);\n case \"operator\":\n if (tmp.value === \"*\") {\n next();\n return null;\n }\n if (![\"delete\", \"in\", \"instanceof\", \"new\", \"typeof\", \"void\"].includes(tmp.value)) {\n unexpected(tmp);\n }\n case \"name\":\n if (tmp.value == \"yield\") {\n if (is_in_generator()) {\n token_error(tmp, \"Yield cannot be used as identifier inside generators\");\n } else if (!is_token(peek(), \"punc\", \":\")\n && !is_token(peek(), \"punc\", \"(\")\n && S.input.has_directive(\"use strict\")) {\n token_error(tmp, \"Unexpected yield identifier inside strict mode\");\n }\n }\n case \"string\":\n case \"num\":\n case \"keyword\":\n case \"atom\":\n next();\n return tmp.value;\n default:\n unexpected(tmp);\n }\n }\n\n function as_name() {\n var tmp = S.token;\n if (tmp.type != \"name\") unexpected();\n next();\n return tmp.value;\n }\n\n function _make_symbol(type) {\n var name = S.token.value;\n return new (name == \"this\" ? AST_This :\n name == \"super\" ? AST_Super :\n type)({\n name : String(name),\n start : S.token,\n end : S.token\n });\n }\n\n function _verify_symbol(sym) {\n var name = sym.name;\n if (is_in_generator() && name == \"yield\") {\n token_error(sym.start, \"Yield cannot be used as identifier inside generators\");\n }\n if (S.input.has_directive(\"use strict\")) {\n if (name == \"yield\") {\n token_error(sym.start, \"Unexpected yield identifier inside strict mode\");\n }\n if (sym instanceof AST_SymbolDeclaration && (name == \"arguments\" || name == \"eval\")) {\n token_error(sym.start, \"Unexpected \" + name + \" in strict mode\");\n }\n }\n }\n\n function as_symbol(type, noerror) {\n if (!is(\"name\")) {\n if (!noerror) croak(\"Name expected\");\n return null;\n }\n var sym = _make_symbol(type);\n _verify_symbol(sym);\n next();\n return sym;\n }\n\n function mark_pure(call) {\n var start = call.start;\n var comments = start.comments_before;\n var i = HOP(start, \"comments_before_length\") ? start.comments_before_length : comments.length;\n while (--i >= 0) {\n var comment = comments[i];\n if (/[@#]__PURE__/.test(comment.value)) {\n call.pure = comment;\n break;\n }\n }\n }\n\n var subscripts = function(expr, allow_calls) {\n var start = expr.start;\n if (is(\"punc\", \".\")) {\n next();\n return subscripts(new AST_Dot({\n start : start,\n expression : expr,\n property : as_name(),\n end : prev()\n }), allow_calls);\n }\n if (is(\"punc\", \"[\")) {\n next();\n var prop = expression(true);\n expect(\"]\");\n return subscripts(new AST_Sub({\n start : start,\n expression : expr,\n property : prop,\n end : prev()\n }), allow_calls);\n }\n if (allow_calls && is(\"punc\", \"(\")) {\n next();\n var call = new AST_Call({\n start : start,\n expression : expr,\n args : call_args(),\n end : prev()\n });\n mark_pure(call);\n return subscripts(call, true);\n }\n if (is(\"template_head\")) {\n return subscripts(new AST_PrefixedTemplateString({\n start: start,\n prefix: expr,\n template_string: template_string(true),\n end: prev()\n }), allow_calls);\n }\n return expr;\n };\n\n var call_args = embed_tokens(function _call_args() {\n var args = [];\n while (!is(\"punc\", \")\")) {\n if (is(\"expand\", \"...\")) {\n next();\n args.push(new AST_Expansion({\n start: prev(),\n expression: expression(false),\n end: prev()\n }));\n } else {\n args.push(expression(false));\n }\n if (!is(\"punc\", \")\")) {\n expect(\",\");\n if (is(\"punc\", \")\") && options.ecma < 8) unexpected();\n }\n }\n next();\n return args;\n });\n\n var maybe_unary = function(allow_calls, allow_arrows) {\n var start = S.token;\n if (start.type == \"name\" && start.value == \"await\") {\n if (is_in_async()) {\n next();\n return _await_expression();\n } else if (S.input.has_directive(\"use strict\")) {\n token_error(S.token, \"Unexpected await identifier inside strict mode\");\n }\n }\n if (is(\"operator\") && UNARY_PREFIX(start.value)) {\n next();\n handle_regexp();\n var ex = make_unary(AST_UnaryPrefix, start, maybe_unary(allow_calls));\n ex.start = start;\n ex.end = prev();\n return ex;\n }\n var val = expr_atom(allow_calls, allow_arrows);\n while (is(\"operator\") && UNARY_POSTFIX(S.token.value) && !has_newline_before(S.token)) {\n if (val instanceof AST_Arrow) unexpected();\n val = make_unary(AST_UnaryPostfix, S.token, val);\n val.start = start;\n val.end = S.token;\n next();\n }\n return val;\n };\n\n function make_unary(ctor, token, expr) {\n var op = token.value;\n switch (op) {\n case \"++\":\n case \"--\":\n if (!is_assignable(expr))\n croak(\"Invalid use of \" + op + \" operator\", token.line, token.col, token.pos);\n break;\n case \"delete\":\n if (expr instanceof AST_SymbolRef && S.input.has_directive(\"use strict\"))\n croak(\"Calling delete on expression not allowed in strict mode\", expr.start.line, expr.start.col, expr.start.pos);\n break;\n }\n return new ctor({ operator: op, expression: expr });\n }\n\n var expr_op = function(left, min_prec, no_in) {\n var op = is(\"operator\") ? S.token.value : null;\n if (op == \"in\" && no_in) op = null;\n if (op == \"**\" && left instanceof AST_UnaryPrefix\n /* unary token in front not allowed - parenthesis required */\n && !is_token(left.start, \"punc\", \"(\")\n && left.operator !== \"--\" && left.operator !== \"++\")\n unexpected(left.start);\n var prec = op != null ? PRECEDENCE[op] : null;\n if (prec != null && (prec > min_prec || (op === \"**\" && min_prec === prec))) {\n next();\n var right = expr_op(maybe_unary(true), prec, no_in);\n return expr_op(new AST_Binary({\n start : left.start,\n left : left,\n operator : op,\n right : right,\n end : right.end\n }), min_prec, no_in);\n }\n return left;\n };\n\n function expr_ops(no_in) {\n return expr_op(maybe_unary(true, true), 0, no_in);\n }\n\n var maybe_conditional = function(no_in) {\n var start = S.token;\n var expr = expr_ops(no_in);\n if (is(\"operator\", \"?\")) {\n next();\n var yes = expression(false);\n expect(\":\");\n return new AST_Conditional({\n start : start,\n condition : expr,\n consequent : yes,\n alternative : expression(false, no_in),\n end : prev()\n });\n }\n return expr;\n };\n\n function is_assignable(expr) {\n return expr instanceof AST_PropAccess || expr instanceof AST_SymbolRef;\n }\n\n function to_destructuring(node) {\n if (node instanceof AST_Object) {\n node = new AST_Destructuring({\n start: node.start,\n names: node.properties.map(to_destructuring),\n is_array: false,\n end: node.end\n });\n } else if (node instanceof AST_Array) {\n var names = [];\n\n for (var i = 0; i < node.elements.length; i++) {\n // Only allow expansion as last element\n if (node.elements[i] instanceof AST_Expansion) {\n if (i + 1 !== node.elements.length) {\n token_error(node.elements[i].start, \"Spread must the be last element in destructuring array\");\n }\n node.elements[i].expression = to_destructuring(node.elements[i].expression);\n }\n\n names.push(to_destructuring(node.elements[i]));\n }\n\n node = new AST_Destructuring({\n start: node.start,\n names: names,\n is_array: true,\n end: node.end\n });\n } else if (node instanceof AST_ObjectProperty) {\n node.value = to_destructuring(node.value);\n } else if (node instanceof AST_Assign) {\n node = new AST_DefaultAssign({\n start: node.start,\n left: node.left,\n operator: \"=\",\n right: node.right,\n end: node.end\n });\n }\n return node;\n }\n\n // In ES6, AssignmentExpression can also be an ArrowFunction\n var maybe_assign = function(no_in) {\n handle_regexp();\n var start = S.token;\n\n if (start.type == \"name\" && start.value == \"yield\") {\n if (is_in_generator()) {\n next();\n return _yield_expression();\n } else if (S.input.has_directive(\"use strict\")) {\n token_error(S.token, \"Unexpected yield identifier inside strict mode\");\n }\n }\n\n var left = maybe_conditional(no_in);\n var val = S.token.value;\n\n if (is(\"operator\") && ASSIGNMENT(val)) {\n if (is_assignable(left) || (left = to_destructuring(left)) instanceof AST_Destructuring) {\n next();\n return new AST_Assign({\n start : start,\n left : left,\n operator : val,\n right : maybe_assign(no_in),\n end : prev()\n });\n }\n croak(\"Invalid assignment\");\n }\n return left;\n };\n\n var expression = function(commas, no_in) {\n var start = S.token;\n var exprs = [];\n while (true) {\n exprs.push(maybe_assign(no_in));\n if (!commas || !is(\"punc\", \",\")) break;\n next();\n commas = true;\n }\n return exprs.length == 1 ? exprs[0] : new AST_Sequence({\n start : start,\n expressions : exprs,\n end : peek()\n });\n };\n\n function in_loop(cont) {\n ++S.in_loop;\n var ret = cont();\n --S.in_loop;\n return ret;\n }\n\n if (options.expression) {\n return expression(true);\n }\n\n return (function() {\n var start = S.token;\n var body = [];\n S.input.push_directives_stack();\n if (options.module) S.input.add_directive(\"use strict\");\n while (!is(\"eof\"))\n body.push(statement());\n S.input.pop_directives_stack();\n var end = prev();\n var toplevel = options.toplevel;\n if (toplevel) {\n toplevel.body = toplevel.body.concat(body);\n toplevel.end = end;\n } else {\n toplevel = new AST_Toplevel({ start: start, body: body, end: end });\n }\n return toplevel;\n })();\n\n}\n\nexport {\n get_full_char_code,\n get_full_char,\n is_identifier_char,\n is_identifier_string,\n is_identifier,\n is_surrogate_pair_head,\n is_surrogate_pair_tail,\n js_error,\n JS_Parse_Error,\n parse,\n PRECEDENCE,\n RESERVED_WORDS,\n tokenizer,\n};\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport {\n HOP,\n MAP,\n noop,\n string_template,\n} from \"./utils.js\";\nimport { parse } from \"./parse.js\";\n\nfunction DEFNODE(type, props, methods, base) {\n if (arguments.length < 4) base = AST_Node;\n if (!props) props = [];\n else props = props.split(/\\s+/);\n var self_props = props;\n if (base && base.PROPS)\n props = props.concat(base.PROPS);\n var code = \"return function AST_\" + type + \"(props){ if (props) { \";\n for (var i = props.length; --i >= 0;) {\n code += \"this.\" + props[i] + \" = props.\" + props[i] + \";\";\n }\n var proto = base && new base;\n if (proto && proto.initialize || (methods && methods.initialize))\n code += \"this.initialize();\";\n code += \"}}\";\n var ctor = new Function(code)();\n if (proto) {\n ctor.prototype = proto;\n ctor.BASE = base;\n }\n if (base) base.SUBCLASSES.push(ctor);\n ctor.prototype.CTOR = ctor;\n ctor.PROPS = props || null;\n ctor.SELF_PROPS = self_props;\n ctor.SUBCLASSES = [];\n if (type) {\n ctor.prototype.TYPE = ctor.TYPE = type;\n }\n if (methods) for (i in methods) if (HOP(methods, i)) {\n if (/^\\$/.test(i)) {\n ctor[i.substr(1)] = methods[i];\n } else {\n ctor.prototype[i] = methods[i];\n }\n }\n ctor.DEFMETHOD = function(name, method) {\n this.prototype[name] = method;\n };\n return ctor;\n}\n\nvar AST_Token = DEFNODE(\"Token\", \"type value line col pos endline endcol endpos nlb comments_before comments_after file raw\", {\n}, null);\n\nvar AST_Node = DEFNODE(\"Node\", \"start end\", {\n _clone: function(deep) {\n if (deep) {\n var self = this.clone();\n return self.transform(new TreeTransformer(function(node) {\n if (node !== self) {\n return node.clone(true);\n }\n }));\n }\n return new this.CTOR(this);\n },\n clone: function(deep) {\n return this._clone(deep);\n },\n $documentation: \"Base class of all AST nodes\",\n $propdoc: {\n start: \"[AST_Token] The first token of this node\",\n end: \"[AST_Token] The last token of this node\"\n },\n _walk: function(visitor) {\n return visitor._visit(this);\n },\n walk: function(visitor) {\n return this._walk(visitor); // not sure the indirection will be any help\n }\n}, null);\n\nAST_Node.warn_function = null;\nAST_Node.warn = function(txt, props) {\n if (AST_Node.warn_function)\n AST_Node.warn_function(string_template(txt, props));\n};\n\n/* -----[ statements ]----- */\n\nvar AST_Statement = DEFNODE(\"Statement\", null, {\n $documentation: \"Base class of all statements\",\n});\n\nvar AST_Debugger = DEFNODE(\"Debugger\", null, {\n $documentation: \"Represents a debugger statement\",\n}, AST_Statement);\n\nvar AST_Directive = DEFNODE(\"Directive\", \"value quote\", {\n $documentation: \"Represents a directive, like \\\"use strict\\\";\",\n $propdoc: {\n value: \"[string] The value of this directive as a plain string (it's not an AST_String!)\",\n quote: \"[string] the original quote character\"\n },\n}, AST_Statement);\n\nvar AST_SimpleStatement = DEFNODE(\"SimpleStatement\", \"body\", {\n $documentation: \"A statement consisting of an expression, i.e. a = 1 + 2\",\n $propdoc: {\n body: \"[AST_Node] an expression node (should not be instanceof AST_Statement)\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.body._walk(visitor);\n });\n }\n}, AST_Statement);\n\nfunction walk_body(node, visitor) {\n var body = node.body;\n if (body instanceof AST_Node) {\n body._walk(visitor);\n } else for (var i = 0, len = body.length; i < len; i++) {\n body[i]._walk(visitor);\n }\n}\n\nfunction clone_block_scope(deep) {\n var clone = this._clone(deep);\n if (this.block_scope) {\n // TODO this is sometimes undefined during compression.\n // But it should always have a value!\n clone.block_scope = this.block_scope.clone();\n }\n return clone;\n}\n\nvar AST_Block = DEFNODE(\"Block\", \"body block_scope\", {\n $documentation: \"A body of statements (usually braced)\",\n $propdoc: {\n body: \"[AST_Statement*] an array of statements\",\n block_scope: \"[AST_Scope] the block scope\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n walk_body(this, visitor);\n });\n },\n clone: clone_block_scope\n}, AST_Statement);\n\nvar AST_BlockStatement = DEFNODE(\"BlockStatement\", null, {\n $documentation: \"A block statement\",\n}, AST_Block);\n\nvar AST_EmptyStatement = DEFNODE(\"EmptyStatement\", null, {\n $documentation: \"The empty statement (empty block or simply a semicolon)\"\n}, AST_Statement);\n\nvar AST_StatementWithBody = DEFNODE(\"StatementWithBody\", \"body\", {\n $documentation: \"Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`\",\n $propdoc: {\n body: \"[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement\"\n }\n}, AST_Statement);\n\nvar AST_LabeledStatement = DEFNODE(\"LabeledStatement\", \"label\", {\n $documentation: \"Statement with a label\",\n $propdoc: {\n label: \"[AST_Label] a label definition\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.label._walk(visitor);\n this.body._walk(visitor);\n });\n },\n clone: function(deep) {\n var node = this._clone(deep);\n if (deep) {\n var label = node.label;\n var def = this.label;\n node.walk(new TreeWalker(function(node) {\n if (node instanceof AST_LoopControl\n && node.label && node.label.thedef === def) {\n node.label.thedef = label;\n label.references.push(node);\n }\n }));\n }\n return node;\n }\n}, AST_StatementWithBody);\n\nvar AST_IterationStatement = DEFNODE(\"IterationStatement\", \"block_scope\", {\n $documentation: \"Internal class. All loops inherit from it.\",\n $propdoc: {\n block_scope: \"[AST_Scope] the block scope for this iteration statement.\"\n },\n clone: clone_block_scope\n}, AST_StatementWithBody);\n\nvar AST_DWLoop = DEFNODE(\"DWLoop\", \"condition\", {\n $documentation: \"Base class for do/while statements\",\n $propdoc: {\n condition: \"[AST_Node] the loop condition. Should not be instanceof AST_Statement\"\n }\n}, AST_IterationStatement);\n\nvar AST_Do = DEFNODE(\"Do\", null, {\n $documentation: \"A `do` statement\",\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.body._walk(visitor);\n this.condition._walk(visitor);\n });\n }\n}, AST_DWLoop);\n\nvar AST_While = DEFNODE(\"While\", null, {\n $documentation: \"A `while` statement\",\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.condition._walk(visitor);\n this.body._walk(visitor);\n });\n }\n}, AST_DWLoop);\n\nvar AST_For = DEFNODE(\"For\", \"init condition step\", {\n $documentation: \"A `for` statement\",\n $propdoc: {\n init: \"[AST_Node?] the `for` initialization code, or null if empty\",\n condition: \"[AST_Node?] the `for` termination clause, or null if empty\",\n step: \"[AST_Node?] the `for` update clause, or null if empty\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n if (this.init) this.init._walk(visitor);\n if (this.condition) this.condition._walk(visitor);\n if (this.step) this.step._walk(visitor);\n this.body._walk(visitor);\n });\n }\n}, AST_IterationStatement);\n\nvar AST_ForIn = DEFNODE(\"ForIn\", \"init object\", {\n $documentation: \"A `for ... in` statement\",\n $propdoc: {\n init: \"[AST_Node] the `for/in` initialization code\",\n object: \"[AST_Node] the object that we're looping through\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.init._walk(visitor);\n this.object._walk(visitor);\n this.body._walk(visitor);\n });\n }\n}, AST_IterationStatement);\n\nvar AST_ForOf = DEFNODE(\"ForOf\", \"await\", {\n $documentation: \"A `for ... of` statement\",\n}, AST_ForIn);\n\nvar AST_With = DEFNODE(\"With\", \"expression\", {\n $documentation: \"A `with` statement\",\n $propdoc: {\n expression: \"[AST_Node] the `with` expression\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n this.body._walk(visitor);\n });\n }\n}, AST_StatementWithBody);\n\n/* -----[ scope and functions ]----- */\n\nvar AST_Scope = DEFNODE(\"Scope\", \"variables functions uses_with uses_eval parent_scope enclosed cname\", {\n $documentation: \"Base class for all statements introducing a lexical scope\",\n $propdoc: {\n variables: \"[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope\",\n functions: \"[Object/S] like `variables`, but only lists function declarations\",\n uses_with: \"[boolean/S] tells whether this scope uses the `with` statement\",\n uses_eval: \"[boolean/S] tells whether this scope contains a direct call to the global `eval`\",\n parent_scope: \"[AST_Scope?/S] link to the parent scope\",\n enclosed: \"[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes\",\n cname: \"[integer/S] current index for mangling variables (used internally by the mangler)\",\n },\n get_defun_scope: function() {\n var self = this;\n while (self.is_block_scope()) {\n self = self.parent_scope;\n }\n return self;\n },\n clone: function(deep) {\n var node = this._clone(deep);\n if (this.variables) node.variables = this.variables.clone();\n if (this.functions) node.functions = this.functions.clone();\n if (this.enclosed) node.enclosed = this.enclosed.slice();\n return node;\n },\n pinned: function() {\n return this.uses_eval || this.uses_with;\n }\n}, AST_Block);\n\nvar AST_Toplevel = DEFNODE(\"Toplevel\", \"globals\", {\n $documentation: \"The toplevel scope\",\n $propdoc: {\n globals: \"[Object/S] a map of name -> SymbolDef for all undeclared names\",\n },\n wrap_commonjs: function(name) {\n var body = this.body;\n var wrapped_tl = \"(function(exports){'$ORIG';})(typeof \" + name + \"=='undefined'?(\" + name + \"={}):\" + name + \");\";\n wrapped_tl = parse(wrapped_tl);\n wrapped_tl = wrapped_tl.transform(new TreeTransformer(function(node) {\n if (node instanceof AST_Directive && node.value == \"$ORIG\") {\n return MAP.splice(body);\n }\n }));\n return wrapped_tl;\n },\n wrap_enclose: function(args_values) {\n if (typeof args_values != \"string\") args_values = \"\";\n var index = args_values.indexOf(\":\");\n if (index < 0) index = args_values.length;\n var body = this.body;\n return parse([\n \"(function(\",\n args_values.slice(0, index),\n '){\"$ORIG\"})(',\n args_values.slice(index + 1),\n \")\"\n ].join(\"\")).transform(new TreeTransformer(function(node) {\n if (node instanceof AST_Directive && node.value == \"$ORIG\") {\n return MAP.splice(body);\n }\n }));\n }\n}, AST_Scope);\n\nvar AST_Expansion = DEFNODE(\"Expansion\", \"expression\", {\n $documentation: \"An expandible argument, such as ...rest, a splat, such as [1,2,...all], or an expansion in a variable declaration, such as var [first, ...rest] = list\",\n $propdoc: {\n expression: \"[AST_Node] the thing to be expanded\"\n },\n _walk: function(visitor) {\n var self = this;\n return visitor._visit(this, function() {\n self.expression.walk(visitor);\n });\n }\n});\n\nvar AST_Lambda = DEFNODE(\"Lambda\", \"name argnames uses_arguments is_generator async\", {\n $documentation: \"Base class for functions\",\n $propdoc: {\n name: \"[AST_SymbolDeclaration?] the name of this function\",\n argnames: \"[AST_SymbolFunarg|AST_Destructuring|AST_Expansion|AST_DefaultAssign*] array of function arguments, destructurings, or expanding arguments\",\n uses_arguments: \"[boolean/S] tells whether this function accesses the arguments array\",\n is_generator: \"[boolean] is this a generator method\",\n async: \"[boolean] is this method async\",\n },\n args_as_names: function () {\n var out = [];\n for (var i = 0; i < this.argnames.length; i++) {\n if (this.argnames[i] instanceof AST_Destructuring) {\n out = out.concat(this.argnames[i].all_symbols());\n } else {\n out.push(this.argnames[i]);\n }\n }\n return out;\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n if (this.name) this.name._walk(visitor);\n var argnames = this.argnames;\n for (var i = 0, len = argnames.length; i < len; i++) {\n argnames[i]._walk(visitor);\n }\n walk_body(this, visitor);\n });\n }\n}, AST_Scope);\n\nvar AST_Accessor = DEFNODE(\"Accessor\", null, {\n $documentation: \"A setter/getter function. The `name` property is always null.\"\n}, AST_Lambda);\n\nvar AST_Function = DEFNODE(\"Function\", \"inlined\", {\n $documentation: \"A function expression\"\n}, AST_Lambda);\n\nvar AST_Arrow = DEFNODE(\"Arrow\", \"inlined\", {\n $documentation: \"An ES6 Arrow function ((a) => b)\"\n}, AST_Lambda);\n\nvar AST_Defun = DEFNODE(\"Defun\", \"inlined\", {\n $documentation: \"A function definition\"\n}, AST_Lambda);\n\n/* -----[ DESTRUCTURING ]----- */\nvar AST_Destructuring = DEFNODE(\"Destructuring\", \"names is_array\", {\n $documentation: \"A destructuring of several names. Used in destructuring assignment and with destructuring function argument names\",\n $propdoc: {\n \"names\": \"[AST_Node*] Array of properties or elements\",\n \"is_array\": \"[Boolean] Whether the destructuring represents an object or array\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.names.forEach(function(name) {\n name._walk(visitor);\n });\n });\n },\n all_symbols: function() {\n var out = [];\n this.walk(new TreeWalker(function (node) {\n if (node instanceof AST_Symbol) {\n out.push(node);\n }\n if (node instanceof AST_Expansion) {\n out.push(node.expression);\n }\n }));\n return out;\n }\n});\n\nvar AST_PrefixedTemplateString = DEFNODE(\"PrefixedTemplateString\", \"template_string prefix\", {\n $documentation: \"A templatestring with a prefix, such as String.raw`foobarbaz`\",\n $propdoc: {\n template_string: \"[AST_TemplateString] The template string\",\n prefix: \"[AST_SymbolRef|AST_PropAccess] The prefix, which can be a symbol such as `foo` or a dotted expression such as `String.raw`.\"\n },\n _walk: function(visitor) {\n this.prefix._walk(visitor);\n this.template_string._walk(visitor);\n }\n});\n\nvar AST_TemplateString = DEFNODE(\"TemplateString\", \"segments\", {\n $documentation: \"A template string literal\",\n $propdoc: {\n segments: \"[AST_Node*] One or more segments, starting with AST_TemplateSegment. AST_Node may follow AST_TemplateSegment, but each AST_Node must be followed by AST_TemplateSegment.\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.segments.forEach(function(seg) {\n seg._walk(visitor);\n });\n });\n }\n});\n\nvar AST_TemplateSegment = DEFNODE(\"TemplateSegment\", \"value raw\", {\n $documentation: \"A segment of a template string literal\",\n $propdoc: {\n value: \"Content of the segment\",\n raw: \"Raw content of the segment\"\n }\n});\n\n/* -----[ JUMPS ]----- */\n\nvar AST_Jump = DEFNODE(\"Jump\", null, {\n $documentation: \"Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)\"\n}, AST_Statement);\n\nvar AST_Exit = DEFNODE(\"Exit\", \"value\", {\n $documentation: \"Base class for “exits” (`return` and `throw`)\",\n $propdoc: {\n value: \"[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, this.value && function() {\n this.value._walk(visitor);\n });\n }\n}, AST_Jump);\n\nvar AST_Return = DEFNODE(\"Return\", null, {\n $documentation: \"A `return` statement\"\n}, AST_Exit);\n\nvar AST_Throw = DEFNODE(\"Throw\", null, {\n $documentation: \"A `throw` statement\"\n}, AST_Exit);\n\nvar AST_LoopControl = DEFNODE(\"LoopControl\", \"label\", {\n $documentation: \"Base class for loop control statements (`break` and `continue`)\",\n $propdoc: {\n label: \"[AST_LabelRef?] the label, or null if none\",\n },\n _walk: function(visitor) {\n return visitor._visit(this, this.label && function() {\n this.label._walk(visitor);\n });\n }\n}, AST_Jump);\n\nvar AST_Break = DEFNODE(\"Break\", null, {\n $documentation: \"A `break` statement\"\n}, AST_LoopControl);\n\nvar AST_Continue = DEFNODE(\"Continue\", null, {\n $documentation: \"A `continue` statement\"\n}, AST_LoopControl);\n\n/* -----[ IF ]----- */\n\nvar AST_If = DEFNODE(\"If\", \"condition alternative\", {\n $documentation: \"A `if` statement\",\n $propdoc: {\n condition: \"[AST_Node] the `if` condition\",\n alternative: \"[AST_Statement?] the `else` part, or null if not present\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.condition._walk(visitor);\n this.body._walk(visitor);\n if (this.alternative) this.alternative._walk(visitor);\n });\n }\n}, AST_StatementWithBody);\n\n/* -----[ SWITCH ]----- */\n\nvar AST_Switch = DEFNODE(\"Switch\", \"expression\", {\n $documentation: \"A `switch` statement\",\n $propdoc: {\n expression: \"[AST_Node] the `switch` “discriminant”\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n walk_body(this, visitor);\n });\n }\n}, AST_Block);\n\nvar AST_SwitchBranch = DEFNODE(\"SwitchBranch\", null, {\n $documentation: \"Base class for `switch` branches\",\n}, AST_Block);\n\nvar AST_Default = DEFNODE(\"Default\", null, {\n $documentation: \"A `default` switch branch\",\n}, AST_SwitchBranch);\n\nvar AST_Case = DEFNODE(\"Case\", \"expression\", {\n $documentation: \"A `case` switch branch\",\n $propdoc: {\n expression: \"[AST_Node] the `case` expression\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n walk_body(this, visitor);\n });\n }\n}, AST_SwitchBranch);\n\n/* -----[ EXCEPTIONS ]----- */\n\nvar AST_Try = DEFNODE(\"Try\", \"bcatch bfinally\", {\n $documentation: \"A `try` statement\",\n $propdoc: {\n bcatch: \"[AST_Catch?] the catch block, or null if not present\",\n bfinally: \"[AST_Finally?] the finally block, or null if not present\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n walk_body(this, visitor);\n if (this.bcatch) this.bcatch._walk(visitor);\n if (this.bfinally) this.bfinally._walk(visitor);\n });\n }\n}, AST_Block);\n\nvar AST_Catch = DEFNODE(\"Catch\", \"argname\", {\n $documentation: \"A `catch` node; only makes sense as part of a `try` statement\",\n $propdoc: {\n argname: \"[AST_SymbolCatch|AST_Destructuring|AST_Expansion|AST_DefaultAssign] symbol for the exception\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n if (this.argname) this.argname._walk(visitor);\n walk_body(this, visitor);\n });\n }\n}, AST_Block);\n\nvar AST_Finally = DEFNODE(\"Finally\", null, {\n $documentation: \"A `finally` node; only makes sense as part of a `try` statement\"\n}, AST_Block);\n\n/* -----[ VAR/CONST ]----- */\n\nvar AST_Definitions = DEFNODE(\"Definitions\", \"definitions\", {\n $documentation: \"Base class for `var` or `const` nodes (variable declarations/initializations)\",\n $propdoc: {\n definitions: \"[AST_VarDef*] array of variable definitions\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n var definitions = this.definitions;\n for (var i = 0, len = definitions.length; i < len; i++) {\n definitions[i]._walk(visitor);\n }\n });\n }\n}, AST_Statement);\n\nvar AST_Var = DEFNODE(\"Var\", null, {\n $documentation: \"A `var` statement\"\n}, AST_Definitions);\n\nvar AST_Let = DEFNODE(\"Let\", null, {\n $documentation: \"A `let` statement\"\n}, AST_Definitions);\n\nvar AST_Const = DEFNODE(\"Const\", null, {\n $documentation: \"A `const` statement\"\n}, AST_Definitions);\n\nvar AST_NameMapping = DEFNODE(\"NameMapping\", \"foreign_name name\", {\n $documentation: \"The part of the export/import statement that declare names from a module.\",\n $propdoc: {\n foreign_name: \"[AST_SymbolExportForeign|AST_SymbolImportForeign] The name being exported/imported (as specified in the module)\",\n name: \"[AST_SymbolExport|AST_SymbolImport] The name as it is visible to this module.\"\n },\n _walk: function (visitor) {\n return visitor._visit(this, function() {\n this.foreign_name._walk(visitor);\n this.name._walk(visitor);\n });\n }\n});\n\nvar AST_Import = DEFNODE(\"Import\", \"imported_name imported_names module_name\", {\n $documentation: \"An `import` statement\",\n $propdoc: {\n imported_name: \"[AST_SymbolImport] The name of the variable holding the module's default export.\",\n imported_names: \"[AST_NameMapping*] The names of non-default imported variables\",\n module_name: \"[AST_String] String literal describing where this module came from\",\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n if (this.imported_name) {\n this.imported_name._walk(visitor);\n }\n if (this.imported_names) {\n this.imported_names.forEach(function(name_import) {\n name_import._walk(visitor);\n });\n }\n this.module_name._walk(visitor);\n });\n }\n});\n\nvar AST_Export = DEFNODE(\"Export\", \"exported_definition exported_value is_default exported_names module_name\", {\n $documentation: \"An `export` statement\",\n $propdoc: {\n exported_definition: \"[AST_Defun|AST_Definitions|AST_DefClass?] An exported definition\",\n exported_value: \"[AST_Node?] An exported value\",\n exported_names: \"[AST_NameMapping*?] List of exported names\",\n module_name: \"[AST_String?] Name of the file to load exports from\",\n is_default: \"[Boolean] Whether this is the default exported value of this module\"\n },\n _walk: function (visitor) {\n visitor._visit(this, function () {\n if (this.exported_definition) {\n this.exported_definition._walk(visitor);\n }\n if (this.exported_value) {\n this.exported_value._walk(visitor);\n }\n if (this.exported_names) {\n this.exported_names.forEach(function(name_export) {\n name_export._walk(visitor);\n });\n }\n if (this.module_name) {\n this.module_name._walk(visitor);\n }\n });\n }\n}, AST_Statement);\n\nvar AST_VarDef = DEFNODE(\"VarDef\", \"name value\", {\n $documentation: \"A variable declaration; only appears in a AST_Definitions node\",\n $propdoc: {\n name: \"[AST_Destructuring|AST_SymbolConst|AST_SymbolLet|AST_SymbolVar] name of the variable\",\n value: \"[AST_Node?] initializer, or null of there's no initializer\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.name._walk(visitor);\n if (this.value) this.value._walk(visitor);\n });\n }\n});\n\n/* -----[ OTHER ]----- */\n\nvar AST_Call = DEFNODE(\"Call\", \"expression args\", {\n $documentation: \"A function call expression\",\n $propdoc: {\n expression: \"[AST_Node] expression to invoke as function\",\n args: \"[AST_Node*] array of arguments\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n var args = this.args;\n for (var i = 0, len = args.length; i < len; i++) {\n args[i]._walk(visitor);\n }\n this.expression._walk(visitor);\n });\n }\n});\n\nvar AST_New = DEFNODE(\"New\", null, {\n $documentation: \"An object instantiation. Derives from a function call since it has exactly the same properties\"\n}, AST_Call);\n\nvar AST_Sequence = DEFNODE(\"Sequence\", \"expressions\", {\n $documentation: \"A sequence expression (comma-separated expressions)\",\n $propdoc: {\n expressions: \"[AST_Node*] array of expressions (at least two)\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expressions.forEach(function(node) {\n node._walk(visitor);\n });\n });\n }\n});\n\nvar AST_PropAccess = DEFNODE(\"PropAccess\", \"expression property\", {\n $documentation: \"Base class for property access expressions, i.e. `a.foo` or `a[\\\"foo\\\"]`\",\n $propdoc: {\n expression: \"[AST_Node] the “container” expression\",\n property: \"[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it's an arbitrary AST_Node\"\n }\n});\n\nvar AST_Dot = DEFNODE(\"Dot\", null, {\n $documentation: \"A dotted property access expression\",\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n });\n }\n}, AST_PropAccess);\n\nvar AST_Sub = DEFNODE(\"Sub\", null, {\n $documentation: \"Index-style property access, i.e. `a[\\\"foo\\\"]`\",\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n this.property._walk(visitor);\n });\n }\n}, AST_PropAccess);\n\nvar AST_Unary = DEFNODE(\"Unary\", \"operator expression\", {\n $documentation: \"Base class for unary expressions\",\n $propdoc: {\n operator: \"[string] the operator\",\n expression: \"[AST_Node] expression that this unary operator applies to\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n });\n }\n});\n\nvar AST_UnaryPrefix = DEFNODE(\"UnaryPrefix\", null, {\n $documentation: \"Unary prefix expression, i.e. `typeof i` or `++i`\"\n}, AST_Unary);\n\nvar AST_UnaryPostfix = DEFNODE(\"UnaryPostfix\", null, {\n $documentation: \"Unary postfix expression, i.e. `i++`\"\n}, AST_Unary);\n\nvar AST_Binary = DEFNODE(\"Binary\", \"operator left right\", {\n $documentation: \"Binary expression, i.e. `a + b`\",\n $propdoc: {\n left: \"[AST_Node] left-hand side expression\",\n operator: \"[string] the operator\",\n right: \"[AST_Node] right-hand side expression\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.left._walk(visitor);\n this.right._walk(visitor);\n });\n }\n});\n\nvar AST_Conditional = DEFNODE(\"Conditional\", \"condition consequent alternative\", {\n $documentation: \"Conditional expression using the ternary operator, i.e. `a ? b : c`\",\n $propdoc: {\n condition: \"[AST_Node]\",\n consequent: \"[AST_Node]\",\n alternative: \"[AST_Node]\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.condition._walk(visitor);\n this.consequent._walk(visitor);\n this.alternative._walk(visitor);\n });\n }\n});\n\nvar AST_Assign = DEFNODE(\"Assign\", null, {\n $documentation: \"An assignment expression — `a = b + 5`\",\n}, AST_Binary);\n\nvar AST_DefaultAssign = DEFNODE(\"DefaultAssign\", null, {\n $documentation: \"A default assignment expression like in `(a = 3) => a`\"\n}, AST_Binary);\n\n/* -----[ LITERALS ]----- */\n\nvar AST_Array = DEFNODE(\"Array\", \"elements\", {\n $documentation: \"An array literal\",\n $propdoc: {\n elements: \"[AST_Node*] array of elements\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n var elements = this.elements;\n for (var i = 0, len = elements.length; i < len; i++) {\n elements[i]._walk(visitor);\n }\n });\n }\n});\n\nvar AST_Object = DEFNODE(\"Object\", \"properties\", {\n $documentation: \"An object literal\",\n $propdoc: {\n properties: \"[AST_ObjectProperty*] array of properties\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n var properties = this.properties;\n for (var i = 0, len = properties.length; i < len; i++) {\n properties[i]._walk(visitor);\n }\n });\n }\n});\n\nvar AST_ObjectProperty = DEFNODE(\"ObjectProperty\", \"key value\", {\n $documentation: \"Base class for literal object properties\",\n $propdoc: {\n key: \"[string|AST_Node] property name. For ObjectKeyVal this is a string. For getters, setters and computed property this is an AST_Node.\",\n value: \"[AST_Node] property value. For getters and setters this is an AST_Accessor.\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n if (this.key instanceof AST_Node)\n this.key._walk(visitor);\n this.value._walk(visitor);\n });\n }\n});\n\nvar AST_ObjectKeyVal = DEFNODE(\"ObjectKeyVal\", \"quote\", {\n $documentation: \"A key: value object property\",\n $propdoc: {\n quote: \"[string] the original quote character\"\n }\n}, AST_ObjectProperty);\n\nvar AST_ObjectSetter = DEFNODE(\"ObjectSetter\", \"quote static\", {\n $propdoc: {\n quote: \"[string|undefined] the original quote character, if any\",\n static: \"[boolean] whether this is a static setter (classes only)\"\n },\n $documentation: \"An object setter property\",\n}, AST_ObjectProperty);\n\nvar AST_ObjectGetter = DEFNODE(\"ObjectGetter\", \"quote static\", {\n $propdoc: {\n quote: \"[string|undefined] the original quote character, if any\",\n static: \"[boolean] whether this is a static getter (classes only)\"\n },\n $documentation: \"An object getter property\",\n}, AST_ObjectProperty);\n\nvar AST_ConciseMethod = DEFNODE(\"ConciseMethod\", \"quote static is_generator async\", {\n $propdoc: {\n quote: \"[string|undefined] the original quote character, if any\",\n static: \"[boolean] is this method static (classes only)\",\n is_generator: \"[boolean] is this a generator method\",\n async: \"[boolean] is this method async\",\n },\n $documentation: \"An ES6 concise method inside an object or class\"\n}, AST_ObjectProperty);\n\nvar AST_Class = DEFNODE(\"Class\", \"name extends properties inlined\", {\n $propdoc: {\n name: \"[AST_SymbolClass|AST_SymbolDefClass?] optional class name.\",\n extends: \"[AST_Node]? optional parent class\",\n properties: \"[AST_ObjectProperty*] array of properties\"\n },\n $documentation: \"An ES6 class\",\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n if (this.name) {\n this.name._walk(visitor);\n }\n if (this.extends) {\n this.extends._walk(visitor);\n }\n this.properties.forEach(function(prop) {\n prop._walk(visitor);\n });\n });\n },\n}, AST_Scope);\n\nvar AST_DefClass = DEFNODE(\"DefClass\", null, {\n $documentation: \"A class definition\",\n}, AST_Class);\n\nvar AST_ClassExpression = DEFNODE(\"ClassExpression\", null, {\n $documentation: \"A class expression.\"\n}, AST_Class);\n\nvar AST_Symbol = DEFNODE(\"Symbol\", \"scope name thedef\", {\n $propdoc: {\n name: \"[string] name of this symbol\",\n scope: \"[AST_Scope/S] the current scope (not necessarily the definition scope)\",\n thedef: \"[SymbolDef/S] the definition of this symbol\"\n },\n $documentation: \"Base class for all symbols\"\n});\n\nvar AST_NewTarget = DEFNODE(\"NewTarget\", null, {\n $documentation: \"A reference to new.target\"\n});\n\nvar AST_SymbolDeclaration = DEFNODE(\"SymbolDeclaration\", \"init\", {\n $documentation: \"A declaration symbol (symbol in var/const, function name or argument, symbol in catch)\",\n}, AST_Symbol);\n\nvar AST_SymbolVar = DEFNODE(\"SymbolVar\", null, {\n $documentation: \"Symbol defining a variable\",\n}, AST_SymbolDeclaration);\n\nvar AST_SymbolBlockDeclaration = DEFNODE(\"SymbolBlockDeclaration\", null, {\n $documentation: \"Base class for block-scoped declaration symbols\"\n}, AST_SymbolDeclaration);\n\nvar AST_SymbolConst = DEFNODE(\"SymbolConst\", null, {\n $documentation: \"A constant declaration\"\n}, AST_SymbolBlockDeclaration);\n\nvar AST_SymbolLet = DEFNODE(\"SymbolLet\", null, {\n $documentation: \"A block-scoped `let` declaration\"\n}, AST_SymbolBlockDeclaration);\n\nvar AST_SymbolFunarg = DEFNODE(\"SymbolFunarg\", null, {\n $documentation: \"Symbol naming a function argument\",\n}, AST_SymbolVar);\n\nvar AST_SymbolDefun = DEFNODE(\"SymbolDefun\", null, {\n $documentation: \"Symbol defining a function\",\n}, AST_SymbolDeclaration);\n\nvar AST_SymbolMethod = DEFNODE(\"SymbolMethod\", null, {\n $documentation: \"Symbol in an object defining a method\",\n}, AST_Symbol);\n\nvar AST_SymbolLambda = DEFNODE(\"SymbolLambda\", null, {\n $documentation: \"Symbol naming a function expression\",\n}, AST_SymbolDeclaration);\n\nvar AST_SymbolDefClass = DEFNODE(\"SymbolDefClass\", null, {\n $documentation: \"Symbol naming a class's name in a class declaration. Lexically scoped to its containing scope, and accessible within the class.\"\n}, AST_SymbolBlockDeclaration);\n\nvar AST_SymbolClass = DEFNODE(\"SymbolClass\", null, {\n $documentation: \"Symbol naming a class's name. Lexically scoped to the class.\"\n}, AST_SymbolDeclaration);\n\nvar AST_SymbolCatch = DEFNODE(\"SymbolCatch\", null, {\n $documentation: \"Symbol naming the exception in catch\",\n}, AST_SymbolBlockDeclaration);\n\nvar AST_SymbolImport = DEFNODE(\"SymbolImport\", null, {\n $documentation: \"Symbol referring to an imported name\",\n}, AST_SymbolBlockDeclaration);\n\nvar AST_SymbolImportForeign = DEFNODE(\"SymbolImportForeign\", null, {\n $documentation: \"A symbol imported from a module, but it is defined in the other module, and its real name is irrelevant for this module's purposes\",\n}, AST_Symbol);\n\nvar AST_Label = DEFNODE(\"Label\", \"references\", {\n $documentation: \"Symbol naming a label (declaration)\",\n $propdoc: {\n references: \"[AST_LoopControl*] a list of nodes referring to this label\"\n },\n initialize: function() {\n this.references = [];\n this.thedef = this;\n }\n}, AST_Symbol);\n\nvar AST_SymbolRef = DEFNODE(\"SymbolRef\", null, {\n $documentation: \"Reference to some symbol (not definition/declaration)\",\n}, AST_Symbol);\n\nvar AST_SymbolExport = DEFNODE(\"SymbolExport\", null, {\n $documentation: \"Symbol referring to a name to export\",\n}, AST_SymbolRef);\n\nvar AST_SymbolExportForeign = DEFNODE(\"SymbolExportForeign\", null, {\n $documentation: \"A symbol exported from this module, but it is used in the other module, and its real name is irrelevant for this module's purposes\",\n}, AST_Symbol);\n\nvar AST_LabelRef = DEFNODE(\"LabelRef\", null, {\n $documentation: \"Reference to a label symbol\",\n}, AST_Symbol);\n\nvar AST_This = DEFNODE(\"This\", null, {\n $documentation: \"The `this` symbol\",\n}, AST_Symbol);\n\nvar AST_Super = DEFNODE(\"Super\", null, {\n $documentation: \"The `super` symbol\",\n}, AST_This);\n\nvar AST_Constant = DEFNODE(\"Constant\", null, {\n $documentation: \"Base class for all constants\",\n getValue: function() {\n return this.value;\n }\n});\n\nvar AST_String = DEFNODE(\"String\", \"value quote\", {\n $documentation: \"A string literal\",\n $propdoc: {\n value: \"[string] the contents of this string\",\n quote: \"[string] the original quote character\"\n }\n}, AST_Constant);\n\nvar AST_Number = DEFNODE(\"Number\", \"value literal\", {\n $documentation: \"A number literal\",\n $propdoc: {\n value: \"[number] the numeric value\",\n literal: \"[string] numeric value as string (optional)\"\n }\n}, AST_Constant);\n\nvar AST_RegExp = DEFNODE(\"RegExp\", \"value\", {\n $documentation: \"A regexp literal\",\n $propdoc: {\n value: \"[RegExp] the actual regexp\",\n }\n}, AST_Constant);\n\nvar AST_Atom = DEFNODE(\"Atom\", null, {\n $documentation: \"Base class for atoms\",\n}, AST_Constant);\n\nvar AST_Null = DEFNODE(\"Null\", null, {\n $documentation: \"The `null` atom\",\n value: null\n}, AST_Atom);\n\nvar AST_NaN = DEFNODE(\"NaN\", null, {\n $documentation: \"The impossible value\",\n value: 0/0\n}, AST_Atom);\n\nvar AST_Undefined = DEFNODE(\"Undefined\", null, {\n $documentation: \"The `undefined` value\",\n value: (function() {}())\n}, AST_Atom);\n\nvar AST_Hole = DEFNODE(\"Hole\", null, {\n $documentation: \"A hole in an array\",\n value: (function() {}())\n}, AST_Atom);\n\nvar AST_Infinity = DEFNODE(\"Infinity\", null, {\n $documentation: \"The `Infinity` value\",\n value: 1/0\n}, AST_Atom);\n\nvar AST_Boolean = DEFNODE(\"Boolean\", null, {\n $documentation: \"Base class for booleans\",\n}, AST_Atom);\n\nvar AST_False = DEFNODE(\"False\", null, {\n $documentation: \"The `false` atom\",\n value: false\n}, AST_Boolean);\n\nvar AST_True = DEFNODE(\"True\", null, {\n $documentation: \"The `true` atom\",\n value: true\n}, AST_Boolean);\n\nvar AST_Await = DEFNODE(\"Await\", \"expression\", {\n $documentation: \"An `await` statement\",\n $propdoc: {\n expression: \"[AST_Node] the mandatory expression being awaited\",\n },\n _walk: function(visitor) {\n return visitor._visit(this, function() {\n this.expression._walk(visitor);\n });\n }\n});\n\nvar AST_Yield = DEFNODE(\"Yield\", \"expression is_star\", {\n $documentation: \"A `yield` statement\",\n $propdoc: {\n expression: \"[AST_Node?] the value returned or thrown by this statement; could be null (representing undefined) but only when is_star is set to false\",\n is_star: \"[Boolean] Whether this is a yield or yield* statement\"\n },\n _walk: function(visitor) {\n return visitor._visit(this, this.expression && function() {\n this.expression._walk(visitor);\n });\n }\n});\n\n/* -----[ TreeWalker ]----- */\n\nfunction TreeWalker(callback) {\n this.visit = callback;\n this.stack = [];\n this.directives = Object.create(null);\n}\nTreeWalker.prototype = {\n _visit: function(node, descend) {\n this.push(node);\n var ret = this.visit(node, descend ? function() {\n descend.call(node);\n } : noop);\n if (!ret && descend) {\n descend.call(node);\n }\n this.pop();\n return ret;\n },\n parent: function(n) {\n return this.stack[this.stack.length - 2 - (n || 0)];\n },\n push: function(node) {\n if (node instanceof AST_Lambda) {\n this.directives = Object.create(this.directives);\n } else if (node instanceof AST_Directive && !this.directives[node.value]) {\n this.directives[node.value] = node;\n } else if (node instanceof AST_Class) {\n this.directives = Object.create(this.directives);\n if (!this.directives[\"use strict\"]) {\n this.directives[\"use strict\"] = node;\n }\n }\n this.stack.push(node);\n },\n pop: function() {\n var node = this.stack.pop();\n if (node instanceof AST_Lambda || node instanceof AST_Class) {\n this.directives = Object.getPrototypeOf(this.directives);\n }\n },\n self: function() {\n return this.stack[this.stack.length - 1];\n },\n find_parent: function(type) {\n var stack = this.stack;\n for (var i = stack.length; --i >= 0;) {\n var x = stack[i];\n if (x instanceof type) return x;\n }\n },\n has_directive: function(type) {\n var dir = this.directives[type];\n if (dir) return dir;\n var node = this.stack[this.stack.length - 1];\n if (node instanceof AST_Scope && node.body) {\n for (var i = 0; i < node.body.length; ++i) {\n var st = node.body[i];\n if (!(st instanceof AST_Directive)) break;\n if (st.value == type) return st;\n }\n }\n },\n loopcontrol_target: function(node) {\n var stack = this.stack;\n if (node.label) for (var i = stack.length; --i >= 0;) {\n var x = stack[i];\n if (x instanceof AST_LabeledStatement && x.label.name == node.label.name)\n return x.body;\n } else for (var i = stack.length; --i >= 0;) {\n var x = stack[i];\n if (x instanceof AST_IterationStatement\n || node instanceof AST_Break && x instanceof AST_Switch)\n return x;\n }\n }\n};\n\n// Tree transformer helpers.\nfunction TreeTransformer(before, after) {\n TreeWalker.call(this);\n this.before = before;\n this.after = after;\n}\nTreeTransformer.prototype = new TreeWalker;\n\nexport {\n AST_Accessor,\n AST_Array,\n AST_Arrow,\n AST_Assign,\n AST_Atom,\n AST_Await,\n AST_Binary,\n AST_Block,\n AST_BlockStatement,\n AST_Boolean,\n AST_Break,\n AST_Call,\n AST_Case,\n AST_Catch,\n AST_Class,\n AST_ClassExpression,\n AST_ConciseMethod,\n AST_Conditional,\n AST_Const,\n AST_Constant,\n AST_Continue,\n AST_Debugger,\n AST_Default,\n AST_DefaultAssign,\n AST_DefClass,\n AST_Definitions,\n AST_Defun,\n AST_Destructuring,\n AST_Directive,\n AST_Do,\n AST_Dot,\n AST_DWLoop,\n AST_EmptyStatement,\n AST_Exit,\n AST_Expansion,\n AST_Export,\n AST_False,\n AST_Finally,\n AST_For,\n AST_ForIn,\n AST_ForOf,\n AST_Function,\n AST_Hole,\n AST_If,\n AST_Import,\n AST_Infinity,\n AST_IterationStatement,\n AST_Jump,\n AST_Label,\n AST_LabeledStatement,\n AST_LabelRef,\n AST_Lambda,\n AST_Let,\n AST_LoopControl,\n AST_NameMapping,\n AST_NaN,\n AST_New,\n AST_NewTarget,\n AST_Node,\n AST_Null,\n AST_Number,\n AST_Object,\n AST_ObjectGetter,\n AST_ObjectKeyVal,\n AST_ObjectProperty,\n AST_ObjectSetter,\n AST_PrefixedTemplateString,\n AST_PropAccess,\n AST_RegExp,\n AST_Return,\n AST_Scope,\n AST_Sequence,\n AST_SimpleStatement,\n AST_Statement,\n AST_StatementWithBody,\n AST_String,\n AST_Sub,\n AST_Super,\n AST_Switch,\n AST_SwitchBranch,\n AST_Symbol,\n AST_SymbolBlockDeclaration,\n AST_SymbolCatch,\n AST_SymbolClass,\n AST_SymbolConst,\n AST_SymbolDeclaration,\n AST_SymbolDefClass,\n AST_SymbolDefun,\n AST_SymbolExport,\n AST_SymbolExportForeign,\n AST_SymbolFunarg,\n AST_SymbolImport,\n AST_SymbolImportForeign,\n AST_SymbolLambda,\n AST_SymbolLet,\n AST_SymbolMethod,\n AST_SymbolRef,\n AST_SymbolVar,\n AST_TemplateSegment,\n AST_TemplateString,\n AST_This,\n AST_Throw,\n AST_Token,\n AST_Toplevel,\n AST_True,\n AST_Try,\n AST_Unary,\n AST_UnaryPostfix,\n AST_UnaryPrefix,\n AST_Undefined,\n AST_Var,\n AST_VarDef,\n AST_While,\n AST_With,\n AST_Yield,\n TreeTransformer,\n TreeWalker,\n walk_body,\n};\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport {\n AST_Array,\n AST_Await,\n AST_Binary,\n AST_Block,\n AST_Call,\n AST_Case,\n AST_Catch,\n AST_Class,\n AST_Conditional,\n AST_Definitions,\n AST_Destructuring,\n AST_Do,\n AST_Dot,\n AST_Exit,\n AST_Expansion,\n AST_Export,\n AST_For,\n AST_ForIn,\n AST_If,\n AST_Import,\n AST_LabeledStatement,\n AST_Lambda,\n AST_LoopControl,\n AST_NameMapping,\n AST_Node,\n AST_Object,\n AST_ObjectProperty,\n AST_PrefixedTemplateString,\n AST_Sequence,\n AST_SimpleStatement,\n AST_Sub,\n AST_Switch,\n AST_TemplateString,\n AST_Try,\n AST_Unary,\n AST_VarDef,\n AST_While,\n AST_With,\n AST_Yield,\n} from \"./ast.js\";\nimport {\n MAP,\n noop,\n} from \"./utils.js\";\n\n(function(undefined) {\n\n function _(node, descend) {\n node.DEFMETHOD(\"transform\", function(tw, in_list) {\n var x, y;\n tw.push(this);\n if (tw.before) x = tw.before(this, descend, in_list);\n if (x === undefined) {\n x = this;\n descend(x, tw);\n if (tw.after) {\n y = tw.after(x, in_list);\n if (y !== undefined) x = y;\n }\n }\n tw.pop();\n return x;\n });\n }\n\n function do_list(list, tw) {\n return MAP(list, function(node) {\n return node.transform(tw, true);\n });\n }\n\n _(AST_Node, noop);\n\n _(AST_LabeledStatement, function(self, tw) {\n self.label = self.label.transform(tw);\n self.body = self.body.transform(tw);\n });\n\n _(AST_SimpleStatement, function(self, tw) {\n self.body = self.body.transform(tw);\n });\n\n _(AST_Block, function(self, tw) {\n self.body = do_list(self.body, tw);\n });\n\n _(AST_Do, function(self, tw) {\n self.body = self.body.transform(tw);\n self.condition = self.condition.transform(tw);\n });\n\n _(AST_While, function(self, tw) {\n self.condition = self.condition.transform(tw);\n self.body = self.body.transform(tw);\n });\n\n _(AST_For, function(self, tw) {\n if (self.init) self.init = self.init.transform(tw);\n if (self.condition) self.condition = self.condition.transform(tw);\n if (self.step) self.step = self.step.transform(tw);\n self.body = self.body.transform(tw);\n });\n\n _(AST_ForIn, function(self, tw) {\n self.init = self.init.transform(tw);\n self.object = self.object.transform(tw);\n self.body = self.body.transform(tw);\n });\n\n _(AST_With, function(self, tw) {\n self.expression = self.expression.transform(tw);\n self.body = self.body.transform(tw);\n });\n\n _(AST_Exit, function(self, tw) {\n if (self.value) self.value = self.value.transform(tw);\n });\n\n _(AST_LoopControl, function(self, tw) {\n if (self.label) self.label = self.label.transform(tw);\n });\n\n _(AST_If, function(self, tw) {\n self.condition = self.condition.transform(tw);\n self.body = self.body.transform(tw);\n if (self.alternative) self.alternative = self.alternative.transform(tw);\n });\n\n _(AST_Switch, function(self, tw) {\n self.expression = self.expression.transform(tw);\n self.body = do_list(self.body, tw);\n });\n\n _(AST_Case, function(self, tw) {\n self.expression = self.expression.transform(tw);\n self.body = do_list(self.body, tw);\n });\n\n _(AST_Try, function(self, tw) {\n self.body = do_list(self.body, tw);\n if (self.bcatch) self.bcatch = self.bcatch.transform(tw);\n if (self.bfinally) self.bfinally = self.bfinally.transform(tw);\n });\n\n _(AST_Catch, function(self, tw) {\n if (self.argname) self.argname = self.argname.transform(tw);\n self.body = do_list(self.body, tw);\n });\n\n _(AST_Definitions, function(self, tw) {\n self.definitions = do_list(self.definitions, tw);\n });\n\n _(AST_VarDef, function(self, tw) {\n self.name = self.name.transform(tw);\n if (self.value) self.value = self.value.transform(tw);\n });\n\n _(AST_Destructuring, function(self, tw) {\n self.names = do_list(self.names, tw);\n });\n\n _(AST_Lambda, function(self, tw) {\n if (self.name) self.name = self.name.transform(tw);\n self.argnames = do_list(self.argnames, tw);\n if (self.body instanceof AST_Node) {\n self.body = self.body.transform(tw);\n } else {\n self.body = do_list(self.body, tw);\n }\n });\n\n _(AST_Call, function(self, tw) {\n self.expression = self.expression.transform(tw);\n self.args = do_list(self.args, tw);\n });\n\n _(AST_Sequence, function(self, tw) {\n self.expressions = do_list(self.expressions, tw);\n });\n\n _(AST_Dot, function(self, tw) {\n self.expression = self.expression.transform(tw);\n });\n\n _(AST_Sub, function(self, tw) {\n self.expression = self.expression.transform(tw);\n self.property = self.property.transform(tw);\n });\n\n _(AST_Yield, function(self, tw) {\n if (self.expression) self.expression = self.expression.transform(tw);\n });\n\n _(AST_Await, function(self, tw) {\n self.expression = self.expression.transform(tw);\n });\n\n _(AST_Unary, function(self, tw) {\n self.expression = self.expression.transform(tw);\n });\n\n _(AST_Binary, function(self, tw) {\n self.left = self.left.transform(tw);\n self.right = self.right.transform(tw);\n });\n\n _(AST_Conditional, function(self, tw) {\n self.condition = self.condition.transform(tw);\n self.consequent = self.consequent.transform(tw);\n self.alternative = self.alternative.transform(tw);\n });\n\n _(AST_Array, function(self, tw) {\n self.elements = do_list(self.elements, tw);\n });\n\n _(AST_Object, function(self, tw) {\n self.properties = do_list(self.properties, tw);\n });\n\n _(AST_ObjectProperty, function(self, tw) {\n if (self.key instanceof AST_Node) {\n self.key = self.key.transform(tw);\n }\n self.value = self.value.transform(tw);\n });\n\n _(AST_Class, function(self, tw) {\n if (self.name) self.name = self.name.transform(tw);\n if (self.extends) self.extends = self.extends.transform(tw);\n self.properties = do_list(self.properties, tw);\n });\n\n _(AST_Expansion, function(self, tw) {\n self.expression = self.expression.transform(tw);\n });\n\n _(AST_NameMapping, function(self, tw) {\n self.foreign_name = self.foreign_name.transform(tw);\n self.name = self.name.transform(tw);\n });\n\n _(AST_Import, function(self, tw) {\n if (self.imported_name) self.imported_name = self.imported_name.transform(tw);\n if (self.imported_names) do_list(self.imported_names, tw);\n self.module_name = self.module_name.transform(tw);\n });\n\n _(AST_Export, function(self, tw) {\n if (self.exported_definition) self.exported_definition = self.exported_definition.transform(tw);\n if (self.exported_value) self.exported_value = self.exported_value.transform(tw);\n if (self.exported_names) do_list(self.exported_names, tw);\n if (self.module_name) self.module_name = self.module_name.transform(tw);\n });\n\n _(AST_TemplateString, function(self, tw) {\n self.segments = do_list(self.segments, tw);\n });\n\n _(AST_PrefixedTemplateString, function(self, tw) {\n self.prefix = self.prefix.transform(tw);\n self.template_string = self.template_string.transform(tw);\n });\n\n})();\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport {\n all,\n defaults,\n first_in_statement,\n makePredicate,\n noop,\n repeat_string,\n return_false,\n return_true,\n} from \"./utils.js\";\n\nimport {\n AST_Array,\n AST_Arrow,\n AST_Assign,\n AST_Await,\n AST_Binary,\n AST_BlockStatement,\n AST_Break,\n AST_Call,\n AST_Case,\n AST_Catch,\n AST_Class,\n AST_ClassExpression,\n AST_ConciseMethod,\n AST_Conditional,\n AST_Const,\n AST_Constant,\n AST_Continue,\n AST_Debugger,\n AST_Default,\n AST_DefaultAssign,\n AST_Definitions,\n AST_Defun,\n AST_Destructuring,\n AST_Directive,\n AST_Do,\n AST_Dot,\n AST_EmptyStatement,\n AST_Exit,\n AST_Expansion,\n AST_Export,\n AST_Finally,\n AST_For,\n AST_ForIn,\n AST_ForOf,\n AST_Function,\n AST_Hole,\n AST_If,\n AST_Import,\n AST_Jump,\n AST_LabeledStatement,\n AST_Lambda,\n AST_Let,\n AST_LoopControl,\n AST_NameMapping,\n AST_New,\n AST_NewTarget,\n AST_Node,\n AST_Number,\n AST_Object,\n AST_ObjectGetter,\n AST_ObjectKeyVal,\n AST_ObjectProperty,\n AST_ObjectSetter,\n AST_PrefixedTemplateString,\n AST_PropAccess,\n AST_RegExp,\n AST_Return,\n AST_Scope,\n AST_Sequence,\n AST_SimpleStatement,\n AST_Statement,\n AST_StatementWithBody,\n AST_String,\n AST_Sub,\n AST_Super,\n AST_Switch,\n AST_SwitchBranch,\n AST_Symbol,\n AST_SymbolMethod,\n AST_SymbolRef,\n AST_TemplateSegment,\n AST_TemplateString,\n AST_This,\n AST_Throw,\n AST_Toplevel,\n AST_Try,\n AST_Unary,\n AST_UnaryPostfix,\n AST_UnaryPrefix,\n AST_Var,\n AST_VarDef,\n AST_While,\n AST_With,\n AST_Yield,\n TreeWalker,\n} from \"./ast.js\";\nimport {\n get_full_char_code,\n get_full_char,\n is_identifier_char,\n is_identifier_string,\n is_identifier,\n is_surrogate_pair_head,\n is_surrogate_pair_tail,\n PRECEDENCE,\n RESERVED_WORDS,\n} from \"./parse.js\";\n\nvar EXPECT_DIRECTIVE = /^$|[;{][\\s\\n]*$/;\n\nfunction is_some_comments(comment) {\n // multiline comment\n return comment.type == \"comment2\" && /@preserve|@license|@cc_on/i.test(comment.value);\n}\n\nfunction OutputStream(options) {\n\n var readonly = !options;\n options = defaults(options, {\n ascii_only : false,\n beautify : false,\n braces : false,\n comments : false,\n ecma : 5,\n ie8 : false,\n indent_level : 4,\n indent_start : 0,\n inline_script : true,\n keep_quoted_props: false,\n max_line_len : false,\n preamble : null,\n quote_keys : false,\n quote_style : 0,\n safari10 : false,\n semicolons : true,\n shebang : true,\n shorthand : undefined,\n source_map : null,\n webkit : false,\n width : 80,\n wrap_iife : false,\n }, true);\n\n if (options.shorthand === undefined)\n options.shorthand = options.ecma > 5;\n\n // Convert comment option to RegExp if neccessary and set up comments filter\n var comment_filter = return_false; // Default case, throw all comments away\n if (options.comments) {\n var comments = options.comments;\n if (typeof options.comments === \"string\" && /^\\/.*\\/[a-zA-Z]*$/.test(options.comments)) {\n var regex_pos = options.comments.lastIndexOf(\"/\");\n comments = new RegExp(\n options.comments.substr(1, regex_pos - 1),\n options.comments.substr(regex_pos + 1)\n );\n }\n if (comments instanceof RegExp) {\n comment_filter = function(comment) {\n return comment.type != \"comment5\" && comments.test(comment.value);\n };\n } else if (typeof comments === \"function\") {\n comment_filter = function(comment) {\n return comment.type != \"comment5\" && comments(this, comment);\n };\n } else if (comments === \"some\") {\n comment_filter = is_some_comments;\n } else { // NOTE includes \"all\" option\n comment_filter = return_true;\n }\n }\n\n var indentation = 0;\n var current_col = 0;\n var current_line = 1;\n var current_pos = 0;\n var OUTPUT = \"\";\n\n var to_utf8 = options.ascii_only ? function(str, identifier) {\n if (options.ecma >= 6) {\n str = str.replace(/[\\ud800-\\udbff][\\udc00-\\udfff]/g, function(ch) {\n var code = get_full_char_code(ch, 0).toString(16);\n return \"\\\\u{\" + code + \"}\";\n });\n }\n return str.replace(/[\\u0000-\\u001f\\u007f-\\uffff]/g, function(ch) {\n var code = ch.charCodeAt(0).toString(16);\n if (code.length <= 2 && !identifier) {\n while (code.length < 2) code = \"0\" + code;\n return \"\\\\x\" + code;\n } else {\n while (code.length < 4) code = \"0\" + code;\n return \"\\\\u\" + code;\n }\n });\n } : function(str) {\n var s = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n if (is_surrogate_pair_head(str[i]) && !is_surrogate_pair_tail(str[i + 1])\n || is_surrogate_pair_tail(str[i]) && !is_surrogate_pair_head(str[i - 1])) {\n s += \"\\\\u\" + str.charCodeAt(i).toString(16);\n } else {\n s += str[i];\n }\n }\n return s;\n };\n\n function make_string(str, quote) {\n var dq = 0, sq = 0;\n str = str.replace(/[\\\\\\b\\f\\n\\r\\v\\t\\x22\\x27\\u2028\\u2029\\0\\ufeff]/g,\n function(s, i) {\n switch (s) {\n case '\"': ++dq; return '\"';\n case \"'\": ++sq; return \"'\";\n case \"\\\\\": return \"\\\\\\\\\";\n case \"\\n\": return \"\\\\n\";\n case \"\\r\": return \"\\\\r\";\n case \"\\t\": return \"\\\\t\";\n case \"\\b\": return \"\\\\b\";\n case \"\\f\": return \"\\\\f\";\n case \"\\x0B\": return options.ie8 ? \"\\\\x0B\" : \"\\\\v\";\n case \"\\u2028\": return \"\\\\u2028\";\n case \"\\u2029\": return \"\\\\u2029\";\n case \"\\ufeff\": return \"\\\\ufeff\";\n case \"\\0\":\n return /[0-9]/.test(get_full_char(str, i+1)) ? \"\\\\x00\" : \"\\\\0\";\n }\n return s;\n });\n function quote_single() {\n return \"'\" + str.replace(/\\x27/g, \"\\\\'\") + \"'\";\n }\n function quote_double() {\n return '\"' + str.replace(/\\x22/g, '\\\\\"') + '\"';\n }\n function quote_template() {\n return \"`\" + str.replace(/`/g, \"\\\\`\") + \"`\";\n }\n str = to_utf8(str);\n if (quote === \"`\") return quote_template();\n switch (options.quote_style) {\n case 1:\n return quote_single();\n case 2:\n return quote_double();\n case 3:\n return quote == \"'\" ? quote_single() : quote_double();\n default:\n return dq > sq ? quote_single() : quote_double();\n }\n }\n\n function encode_string(str, quote) {\n var ret = make_string(str, quote);\n if (options.inline_script) {\n ret = ret.replace(/<\\x2f(script)([>\\/\\t\\n\\f\\r ])/gi, \"<\\\\/$1$2\");\n ret = ret.replace(/\\x3c!--/g, \"\\\\x3c!--\");\n ret = ret.replace(/--\\x3e/g, \"--\\\\x3e\");\n }\n return ret;\n }\n\n function make_name(name) {\n name = name.toString();\n name = to_utf8(name, true);\n return name;\n }\n\n function make_indent(back) {\n return repeat_string(\" \", options.indent_start + indentation - back * options.indent_level);\n }\n\n /* -----[ beautification/minification ]----- */\n\n var has_parens = false;\n var might_need_space = false;\n var might_need_semicolon = false;\n var might_add_newline = 0;\n var need_newline_indented = false;\n var need_space = false;\n var newline_insert = -1;\n var last = \"\";\n var mapping_token, mapping_name, mappings = options.source_map && [];\n\n var do_add_mapping = mappings ? function() {\n mappings.forEach(function(mapping) {\n try {\n options.source_map.add(\n mapping.token.file,\n mapping.line, mapping.col,\n mapping.token.line, mapping.token.col,\n !mapping.name && mapping.token.type == \"name\" ? mapping.token.value : mapping.name\n );\n } catch(ex) {\n mapping.token.file != null && AST_Node.warn(\"Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]\", {\n file: mapping.token.file,\n line: mapping.token.line,\n col: mapping.token.col,\n cline: mapping.line,\n ccol: mapping.col,\n name: mapping.name || \"\"\n });\n }\n });\n mappings = [];\n } : noop;\n\n var ensure_line_len = options.max_line_len ? function() {\n if (current_col > options.max_line_len) {\n if (might_add_newline) {\n var left = OUTPUT.slice(0, might_add_newline);\n var right = OUTPUT.slice(might_add_newline);\n if (mappings) {\n var delta = right.length - current_col;\n mappings.forEach(function(mapping) {\n mapping.line++;\n mapping.col += delta;\n });\n }\n OUTPUT = left + \"\\n\" + right;\n current_line++;\n current_pos++;\n current_col = right.length;\n }\n if (current_col > options.max_line_len) {\n AST_Node.warn(\"Output exceeds {max_line_len} characters\", options);\n }\n }\n if (might_add_newline) {\n might_add_newline = 0;\n do_add_mapping();\n }\n } : noop;\n\n var requireSemicolonChars = makePredicate(\"( [ + * / - , . `\");\n\n function print(str) {\n str = String(str);\n var ch = get_full_char(str, 0);\n if (need_newline_indented && ch) {\n need_newline_indented = false;\n if (ch !== \"\\n\") {\n print(\"\\n\");\n indent();\n }\n }\n if (need_space && ch) {\n need_space = false;\n if (!/[\\s;})]/.test(ch)) {\n space();\n }\n }\n newline_insert = -1;\n var prev = last.charAt(last.length - 1);\n if (might_need_semicolon) {\n might_need_semicolon = false;\n\n if (prev === \":\" && ch === \"}\" || (!ch || !\";}\".includes(ch)) && prev !== \";\") {\n if (options.semicolons || requireSemicolonChars(ch)) {\n OUTPUT += \";\";\n current_col++;\n current_pos++;\n } else {\n ensure_line_len();\n OUTPUT += \"\\n\";\n current_pos++;\n current_line++;\n current_col = 0;\n\n if (/^\\s+$/.test(str)) {\n // reset the semicolon flag, since we didn't print one\n // now and might still have to later\n might_need_semicolon = true;\n }\n }\n\n if (!options.beautify)\n might_need_space = false;\n }\n }\n\n if (might_need_space) {\n if ((is_identifier_char(prev)\n && (is_identifier_char(ch) || ch == \"\\\\\"))\n || (ch == \"/\" && ch == prev)\n || ((ch == \"+\" || ch == \"-\") && ch == last)\n ) {\n OUTPUT += \" \";\n current_col++;\n current_pos++;\n }\n might_need_space = false;\n }\n\n if (mapping_token) {\n mappings.push({\n token: mapping_token,\n name: mapping_name,\n line: current_line,\n col: current_col\n });\n mapping_token = false;\n if (!might_add_newline) do_add_mapping();\n }\n\n OUTPUT += str;\n has_parens = str[str.length - 1] == \"(\";\n current_pos += str.length;\n var a = str.split(/\\r?\\n/), n = a.length - 1;\n current_line += n;\n current_col += a[0].length;\n if (n > 0) {\n ensure_line_len();\n current_col = a[n].length;\n }\n last = str;\n }\n\n var star = function() {\n print(\"*\");\n };\n\n var space = options.beautify ? function() {\n print(\" \");\n } : function() {\n might_need_space = true;\n };\n\n var indent = options.beautify ? function(half) {\n if (options.beautify) {\n print(make_indent(half ? 0.5 : 0));\n }\n } : noop;\n\n var with_indent = options.beautify ? function(col, cont) {\n if (col === true) col = next_indent();\n var save_indentation = indentation;\n indentation = col;\n var ret = cont();\n indentation = save_indentation;\n return ret;\n } : function(col, cont) { return cont(); };\n\n var newline = options.beautify ? function() {\n if (newline_insert < 0) return print(\"\\n\");\n if (OUTPUT[newline_insert] != \"\\n\") {\n OUTPUT = OUTPUT.slice(0, newline_insert) + \"\\n\" + OUTPUT.slice(newline_insert);\n current_pos++;\n current_line++;\n }\n newline_insert++;\n } : options.max_line_len ? function() {\n ensure_line_len();\n might_add_newline = OUTPUT.length;\n } : noop;\n\n var semicolon = options.beautify ? function() {\n print(\";\");\n } : function() {\n might_need_semicolon = true;\n };\n\n function force_semicolon() {\n might_need_semicolon = false;\n print(\";\");\n }\n\n function next_indent() {\n return indentation + options.indent_level;\n }\n\n function with_block(cont) {\n var ret;\n print(\"{\");\n newline();\n with_indent(next_indent(), function() {\n ret = cont();\n });\n indent();\n print(\"}\");\n return ret;\n }\n\n function with_parens(cont) {\n print(\"(\");\n //XXX: still nice to have that for argument lists\n //var ret = with_indent(current_col, cont);\n var ret = cont();\n print(\")\");\n return ret;\n }\n\n function with_square(cont) {\n print(\"[\");\n //var ret = with_indent(current_col, cont);\n var ret = cont();\n print(\"]\");\n return ret;\n }\n\n function comma() {\n print(\",\");\n space();\n }\n\n function colon() {\n print(\":\");\n space();\n }\n\n var add_mapping = mappings ? function(token, name) {\n mapping_token = token;\n mapping_name = name;\n } : noop;\n\n function get() {\n if (might_add_newline) {\n ensure_line_len();\n }\n return OUTPUT;\n }\n\n function has_nlb() {\n var index = OUTPUT.lastIndexOf(\"\\n\");\n return /^ *$/.test(OUTPUT.slice(index + 1));\n }\n\n function prepend_comments(node) {\n var self = this;\n var start = node.start;\n if (!start) return;\n if (start.comments_before && start.comments_before._dumped === self) return;\n var comments = start.comments_before;\n if (!comments) {\n comments = start.comments_before = [];\n }\n comments._dumped = self;\n\n if (node instanceof AST_Exit && node.value) {\n var tw = new TreeWalker(function(node) {\n var parent = tw.parent();\n if (parent instanceof AST_Exit\n || parent instanceof AST_Binary && parent.left === node\n || parent.TYPE == \"Call\" && parent.expression === node\n || parent instanceof AST_Conditional && parent.condition === node\n || parent instanceof AST_Dot && parent.expression === node\n || parent instanceof AST_Sequence && parent.expressions[0] === node\n || parent instanceof AST_Sub && parent.expression === node\n || parent instanceof AST_UnaryPostfix) {\n if (!node.start) return;\n var text = node.start.comments_before;\n if (text && text._dumped !== self) {\n text._dumped = self;\n comments = comments.concat(text);\n }\n } else {\n return true;\n }\n });\n tw.push(node);\n node.value.walk(tw);\n }\n\n if (current_pos == 0) {\n if (comments.length > 0 && options.shebang && comments[0].type == \"comment5\") {\n print(\"#!\" + comments.shift().value + \"\\n\");\n indent();\n }\n var preamble = options.preamble;\n if (preamble) {\n print(preamble.replace(/\\r\\n?|[\\n\\u2028\\u2029]|\\s*$/g, \"\\n\"));\n }\n }\n\n comments = comments.filter(comment_filter, node);\n if (comments.length == 0) return;\n var last_nlb = has_nlb();\n comments.forEach(function(c, i) {\n if (!last_nlb) {\n if (c.nlb) {\n print(\"\\n\");\n indent();\n last_nlb = true;\n } else if (i > 0) {\n space();\n }\n }\n if (/comment[134]/.test(c.type)) {\n print(\"//\" + c.value.replace(/[@#]__PURE__/g, \" \") + \"\\n\");\n indent();\n last_nlb = true;\n } else if (c.type == \"comment2\") {\n print(\"/*\" + c.value.replace(/[@#]__PURE__/g, \" \") + \"*/\");\n last_nlb = false;\n }\n });\n if (!last_nlb) {\n if (start.nlb) {\n print(\"\\n\");\n indent();\n } else {\n space();\n }\n }\n }\n\n function append_comments(node, tail) {\n var self = this;\n var token = node.end;\n if (!token) return;\n var comments = token[tail ? \"comments_before\" : \"comments_after\"];\n if (!comments || comments._dumped === self) return;\n if (!(node instanceof AST_Statement || all(comments, function(c) {\n return !/comment[134]/.test(c.type);\n }))) return;\n comments._dumped = self;\n var insert = OUTPUT.length;\n comments.filter(comment_filter, node).forEach(function(c, i) {\n need_space = false;\n if (need_newline_indented) {\n print(\"\\n\");\n indent();\n need_newline_indented = false;\n } else if (c.nlb && (i > 0 || !has_nlb())) {\n print(\"\\n\");\n indent();\n } else if (i > 0 || !tail) {\n space();\n }\n if (/comment[134]/.test(c.type)) {\n print(\"//\" + c.value.replace(/[@#]__PURE__/g, \" \"));\n need_newline_indented = true;\n } else if (c.type == \"comment2\") {\n print(\"/*\" + c.value.replace(/[@#]__PURE__/g, \" \") + \"*/\");\n need_space = true;\n }\n });\n if (OUTPUT.length > insert) newline_insert = insert;\n }\n\n var stack = [];\n return {\n get : get,\n toString : get,\n indent : indent,\n indentation : function() { return indentation; },\n current_width : function() { return current_col - indentation; },\n should_break : function() { return options.width && this.current_width() >= options.width; },\n has_parens : function() { return has_parens; },\n newline : newline,\n print : print,\n star : star,\n space : space,\n comma : comma,\n colon : colon,\n last : function() { return last; },\n semicolon : semicolon,\n force_semicolon : force_semicolon,\n to_utf8 : to_utf8,\n print_name : function(name) { print(make_name(name)); },\n print_string : function(str, quote, escape_directive) {\n var encoded = encode_string(str, quote);\n if (escape_directive === true && !encoded.includes(\"\\\\\")) {\n // Insert semicolons to break directive prologue\n if (!EXPECT_DIRECTIVE.test(OUTPUT)) {\n force_semicolon();\n }\n force_semicolon();\n }\n print(encoded);\n },\n print_template_string_chars: function(str) {\n var encoded = encode_string(str, \"`\").replace(/\\${/g, \"\\\\${\");\n return print(encoded.substr(1, encoded.length - 2));\n },\n encode_string : encode_string,\n next_indent : next_indent,\n with_indent : with_indent,\n with_block : with_block,\n with_parens : with_parens,\n with_square : with_square,\n add_mapping : add_mapping,\n option : function(opt) { return options[opt]; },\n prepend_comments: readonly ? noop : prepend_comments,\n append_comments : readonly || comment_filter === return_false ? noop : append_comments,\n line : function() { return current_line; },\n col : function() { return current_col; },\n pos : function() { return current_pos; },\n push_node : function(node) { stack.push(node); },\n pop_node : function() { return stack.pop(); },\n parent : function(n) {\n return stack[stack.length - 2 - (n || 0)];\n }\n };\n\n}\n\n/* -----[ code generators ]----- */\n\n(function() {\n\n /* -----[ utils ]----- */\n\n function DEFPRINT(nodetype, generator) {\n nodetype.DEFMETHOD(\"_codegen\", generator);\n }\n\n var in_directive = false;\n var active_scope = null;\n var use_asm = null;\n\n AST_Node.DEFMETHOD(\"print\", function(stream, force_parens) {\n var self = this, generator = self._codegen;\n if (self instanceof AST_Scope) {\n active_scope = self;\n } else if (!use_asm && self instanceof AST_Directive && self.value == \"use asm\") {\n use_asm = active_scope;\n }\n function doit() {\n stream.prepend_comments(self);\n self.add_source_map(stream);\n generator(self, stream);\n stream.append_comments(self);\n }\n stream.push_node(self);\n if (force_parens || self.needs_parens(stream)) {\n stream.with_parens(doit);\n } else {\n doit();\n }\n stream.pop_node();\n if (self === use_asm) {\n use_asm = null;\n }\n });\n AST_Node.DEFMETHOD(\"_print\", AST_Node.prototype.print);\n\n AST_Node.DEFMETHOD(\"print_to_string\", function(options) {\n var s = OutputStream(options);\n this.print(s);\n return s.get();\n });\n\n /* -----[ PARENTHESES ]----- */\n\n function PARENS(nodetype, func) {\n if (Array.isArray(nodetype)) {\n nodetype.forEach(function(nodetype) {\n PARENS(nodetype, func);\n });\n } else {\n nodetype.DEFMETHOD(\"needs_parens\", func);\n }\n }\n\n PARENS(AST_Node, return_false);\n\n // a function expression needs parens around it when it's provably\n // the first token to appear in a statement.\n PARENS(AST_Function, function(output) {\n if (!output.has_parens() && first_in_statement(output)) {\n return true;\n }\n\n if (output.option(\"webkit\")) {\n var p = output.parent();\n if (p instanceof AST_PropAccess && p.expression === this) {\n return true;\n }\n }\n\n if (output.option(\"wrap_iife\")) {\n var p = output.parent();\n return p instanceof AST_Call && p.expression === this;\n }\n\n return false;\n });\n\n PARENS(AST_Arrow, function(output) {\n var p = output.parent();\n return p instanceof AST_PropAccess && p.expression === this;\n });\n\n // same goes for an object literal, because otherwise it would be\n // interpreted as a block of code.\n PARENS(AST_Object, function(output) {\n return !output.has_parens() && first_in_statement(output);\n });\n\n PARENS(AST_ClassExpression, first_in_statement);\n\n PARENS(AST_Unary, function(output) {\n var p = output.parent();\n return p instanceof AST_PropAccess && p.expression === this\n || p instanceof AST_Call && p.expression === this\n || p instanceof AST_Binary\n && p.operator === \"**\"\n && this instanceof AST_UnaryPrefix\n && p.left === this\n && this.operator !== \"++\"\n && this.operator !== \"--\";\n });\n\n PARENS(AST_Await, function(output) {\n var p = output.parent();\n return p instanceof AST_PropAccess && p.expression === this\n || p instanceof AST_Call && p.expression === this\n || output.option(\"safari10\") && p instanceof AST_UnaryPrefix;\n });\n\n PARENS(AST_Sequence, function(output) {\n var p = output.parent();\n return p instanceof AST_Call // (foo, bar)() or foo(1, (2, 3), 4)\n || p instanceof AST_Unary // !(foo, bar, baz)\n || p instanceof AST_Binary // 1 + (2, 3) + 4 ==> 8\n || p instanceof AST_VarDef // var a = (1, 2), b = a + a; ==> b == 4\n || p instanceof AST_PropAccess // (1, {foo:2}).foo or (1, {foo:2})[\"foo\"] ==> 2\n || p instanceof AST_Array // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ]\n || p instanceof AST_ObjectProperty // { foo: (1, 2) }.foo ==> 2\n || p instanceof AST_Conditional /* (false, true) ? (a = 10, b = 20) : (c = 30)\n * ==> 20 (side effect, set a := 10 and b := 20) */\n || p instanceof AST_Arrow // x => (x, x)\n || p instanceof AST_DefaultAssign // x => (x = (0, function(){}))\n || p instanceof AST_Expansion // [...(a, b)]\n || p instanceof AST_ForOf && this === p.object // for (e of (foo, bar)) {}\n || p instanceof AST_Yield // yield (foo, bar)\n || p instanceof AST_Export // export default (foo, bar)\n ;\n });\n\n PARENS(AST_Binary, function(output) {\n var p = output.parent();\n // (foo && bar)()\n if (p instanceof AST_Call && p.expression === this)\n return true;\n // typeof (foo && bar)\n if (p instanceof AST_Unary)\n return true;\n // (foo && bar)[\"prop\"], (foo && bar).prop\n if (p instanceof AST_PropAccess && p.expression === this)\n return true;\n // this deals with precedence: 3 * (2 + 1)\n if (p instanceof AST_Binary) {\n var po = p.operator, pp = PRECEDENCE[po];\n var so = this.operator, sp = PRECEDENCE[so];\n if (pp > sp\n || (pp == sp\n && (this === p.right || po == \"**\"))) {\n return true;\n }\n }\n });\n\n PARENS(AST_Yield, function(output) {\n var p = output.parent();\n // (yield 1) + (yield 2)\n // a = yield 3\n if (p instanceof AST_Binary && p.operator !== \"=\")\n return true;\n // (yield 1)()\n // new (yield 1)()\n if (p instanceof AST_Call && p.expression === this)\n return true;\n // (yield 1) ? yield 2 : yield 3\n if (p instanceof AST_Conditional && p.condition === this)\n return true;\n // -(yield 4)\n if (p instanceof AST_Unary)\n return true;\n // (yield x).foo\n // (yield x)['foo']\n if (p instanceof AST_PropAccess && p.expression === this)\n return true;\n });\n\n PARENS(AST_PropAccess, function(output) {\n var p = output.parent();\n if (p instanceof AST_New && p.expression === this) {\n // i.e. new (foo.bar().baz)\n //\n // if there's one call into this subtree, then we need\n // parens around it too, otherwise the call will be\n // interpreted as passing the arguments to the upper New\n // expression.\n var parens = false;\n this.walk(new TreeWalker(function(node) {\n if (parens || node instanceof AST_Scope) return true;\n if (node instanceof AST_Call) {\n parens = true;\n return true;\n }\n }));\n return parens;\n }\n });\n\n PARENS(AST_Call, function(output) {\n var p = output.parent(), p1;\n if (p instanceof AST_New && p.expression === this\n || p instanceof AST_Export && p.is_default && this.expression instanceof AST_Function)\n return true;\n\n // workaround for Safari bug.\n // https://bugs.webkit.org/show_bug.cgi?id=123506\n return this.expression instanceof AST_Function\n && p instanceof AST_PropAccess\n && p.expression === this\n && (p1 = output.parent(1)) instanceof AST_Assign\n && p1.left === p;\n });\n\n PARENS(AST_New, function(output) {\n var p = output.parent();\n if (!need_constructor_parens(this, output)\n && (p instanceof AST_PropAccess // (new Date).getTime(), (new Date)[\"getTime\"]()\n || p instanceof AST_Call && p.expression === this)) // (new foo)(bar)\n return true;\n });\n\n PARENS(AST_Number, function(output) {\n var p = output.parent();\n if (p instanceof AST_PropAccess && p.expression === this) {\n var value = this.getValue();\n if (value < 0 || /^0/.test(make_num(value))) {\n return true;\n }\n }\n });\n\n PARENS([ AST_Assign, AST_Conditional ], function(output) {\n var p = output.parent();\n // !(a = false) → true\n if (p instanceof AST_Unary)\n return true;\n // 1 + (a = 2) + 3 → 6, side effect setting a = 2\n if (p instanceof AST_Binary && !(p instanceof AST_Assign))\n return true;\n // (a = func)() —or— new (a = Object)()\n if (p instanceof AST_Call && p.expression === this)\n return true;\n // (a = foo) ? bar : baz\n if (p instanceof AST_Conditional && p.condition === this)\n return true;\n // (a = foo)[\"prop\"] —or— (a = foo).prop\n if (p instanceof AST_PropAccess && p.expression === this)\n return true;\n // ({a, b} = {a: 1, b: 2}), a destructuring assignment\n if (this instanceof AST_Assign && this.left instanceof AST_Destructuring && this.left.is_array === false)\n return true;\n });\n\n /* -----[ PRINTERS ]----- */\n\n DEFPRINT(AST_Directive, function(self, output) {\n output.print_string(self.value, self.quote);\n output.semicolon();\n });\n\n DEFPRINT(AST_Expansion, function (self, output) {\n output.print(\"...\");\n self.expression.print(output);\n });\n\n DEFPRINT(AST_Destructuring, function (self, output) {\n output.print(self.is_array ? \"[\" : \"{\");\n var len = self.names.length;\n self.names.forEach(function (name, i) {\n if (i > 0) output.comma();\n name.print(output);\n // If the final element is a hole, we need to make sure it\n // doesn't look like a trailing comma, by inserting an actual\n // trailing comma.\n if (i == len - 1 && name instanceof AST_Hole) output.comma();\n });\n output.print(self.is_array ? \"]\" : \"}\");\n });\n\n DEFPRINT(AST_Debugger, function(self, output) {\n output.print(\"debugger\");\n output.semicolon();\n });\n\n /* -----[ statements ]----- */\n\n function display_body(body, is_toplevel, output, allow_directives) {\n var last = body.length - 1;\n in_directive = allow_directives;\n body.forEach(function(stmt, i) {\n if (in_directive === true && !(stmt instanceof AST_Directive ||\n stmt instanceof AST_EmptyStatement ||\n (stmt instanceof AST_SimpleStatement && stmt.body instanceof AST_String)\n )) {\n in_directive = false;\n }\n if (!(stmt instanceof AST_EmptyStatement)) {\n output.indent();\n stmt.print(output);\n if (!(i == last && is_toplevel)) {\n output.newline();\n if (is_toplevel) output.newline();\n }\n }\n if (in_directive === true &&\n stmt instanceof AST_SimpleStatement &&\n stmt.body instanceof AST_String\n ) {\n in_directive = false;\n }\n });\n in_directive = false;\n }\n\n AST_StatementWithBody.DEFMETHOD(\"_do_print_body\", function(output) {\n force_statement(this.body, output);\n });\n\n DEFPRINT(AST_Statement, function(self, output) {\n self.body.print(output);\n output.semicolon();\n });\n DEFPRINT(AST_Toplevel, function(self, output) {\n display_body(self.body, true, output, true);\n output.print(\"\");\n });\n DEFPRINT(AST_LabeledStatement, function(self, output) {\n self.label.print(output);\n output.colon();\n self.body.print(output);\n });\n DEFPRINT(AST_SimpleStatement, function(self, output) {\n self.body.print(output);\n output.semicolon();\n });\n function print_braced_empty(self, output) {\n output.print(\"{\");\n output.with_indent(output.next_indent(), function() {\n output.append_comments(self, true);\n });\n output.print(\"}\");\n }\n function print_braced(self, output, allow_directives) {\n if (self.body.length > 0) {\n output.with_block(function() {\n display_body(self.body, false, output, allow_directives);\n });\n } else print_braced_empty(self, output);\n }\n DEFPRINT(AST_BlockStatement, function(self, output) {\n print_braced(self, output);\n });\n DEFPRINT(AST_EmptyStatement, function(self, output) {\n output.semicolon();\n });\n DEFPRINT(AST_Do, function(self, output) {\n output.print(\"do\");\n output.space();\n make_block(self.body, output);\n output.space();\n output.print(\"while\");\n output.space();\n output.with_parens(function() {\n self.condition.print(output);\n });\n output.semicolon();\n });\n DEFPRINT(AST_While, function(self, output) {\n output.print(\"while\");\n output.space();\n output.with_parens(function() {\n self.condition.print(output);\n });\n output.space();\n self._do_print_body(output);\n });\n DEFPRINT(AST_For, function(self, output) {\n output.print(\"for\");\n output.space();\n output.with_parens(function() {\n if (self.init) {\n if (self.init instanceof AST_Definitions) {\n self.init.print(output);\n } else {\n parenthesize_for_noin(self.init, output, true);\n }\n output.print(\";\");\n output.space();\n } else {\n output.print(\";\");\n }\n if (self.condition) {\n self.condition.print(output);\n output.print(\";\");\n output.space();\n } else {\n output.print(\";\");\n }\n if (self.step) {\n self.step.print(output);\n }\n });\n output.space();\n self._do_print_body(output);\n });\n DEFPRINT(AST_ForIn, function(self, output) {\n output.print(\"for\");\n if (self.await) {\n output.space();\n output.print(\"await\");\n }\n output.space();\n output.with_parens(function() {\n self.init.print(output);\n output.space();\n output.print(self instanceof AST_ForOf ? \"of\" : \"in\");\n output.space();\n self.object.print(output);\n });\n output.space();\n self._do_print_body(output);\n });\n DEFPRINT(AST_With, function(self, output) {\n output.print(\"with\");\n output.space();\n output.with_parens(function() {\n self.expression.print(output);\n });\n output.space();\n self._do_print_body(output);\n });\n\n /* -----[ functions ]----- */\n AST_Lambda.DEFMETHOD(\"_do_print\", function(output, nokeyword) {\n var self = this;\n if (!nokeyword) {\n if (self.async) {\n output.print(\"async\");\n output.space();\n }\n output.print(\"function\");\n if (self.is_generator) {\n output.star();\n }\n if (self.name) {\n output.space();\n }\n }\n if (self.name instanceof AST_Symbol) {\n self.name.print(output);\n } else if (nokeyword && self.name instanceof AST_Node) {\n output.with_square(function() {\n self.name.print(output); // Computed method name\n });\n }\n output.with_parens(function() {\n self.argnames.forEach(function(arg, i) {\n if (i) output.comma();\n arg.print(output);\n });\n });\n output.space();\n print_braced(self, output, true);\n });\n DEFPRINT(AST_Lambda, function(self, output) {\n self._do_print(output);\n });\n\n DEFPRINT(AST_PrefixedTemplateString, function(self, output) {\n var tag = self.prefix;\n var parenthesize_tag = tag instanceof AST_Arrow\n || tag instanceof AST_Binary\n || tag instanceof AST_Conditional\n || tag instanceof AST_Sequence\n || tag instanceof AST_Unary;\n if (parenthesize_tag) output.print(\"(\");\n self.prefix.print(output);\n if (parenthesize_tag) output.print(\")\");\n self.template_string.print(output);\n });\n DEFPRINT(AST_TemplateString, function(self, output) {\n var is_tagged = output.parent() instanceof AST_PrefixedTemplateString;\n\n output.print(\"`\");\n for (var i = 0; i < self.segments.length; i++) {\n if (!(self.segments[i] instanceof AST_TemplateSegment)) {\n output.print(\"${\");\n self.segments[i].print(output);\n output.print(\"}\");\n } else if (is_tagged) {\n output.print(self.segments[i].raw);\n } else {\n output.print_template_string_chars(self.segments[i].value);\n }\n }\n output.print(\"`\");\n });\n\n AST_Arrow.DEFMETHOD(\"_do_print\", function(output) {\n var self = this;\n var parent = output.parent();\n var needs_parens = parent instanceof AST_Binary ||\n parent instanceof AST_Unary ||\n (parent instanceof AST_Call && self === parent.expression);\n if (needs_parens) { output.print(\"(\"); }\n if (self.async) {\n output.print(\"async\");\n output.space();\n }\n if (self.argnames.length === 1 && self.argnames[0] instanceof AST_Symbol) {\n self.argnames[0].print(output);\n } else {\n output.with_parens(function() {\n self.argnames.forEach(function(arg, i) {\n if (i) output.comma();\n arg.print(output);\n });\n });\n }\n output.space();\n output.print(\"=>\");\n output.space();\n if (self.body instanceof AST_Node) {\n self.body.print(output);\n } else {\n print_braced(self, output);\n }\n if (needs_parens) { output.print(\")\"); }\n });\n\n /* -----[ exits ]----- */\n AST_Exit.DEFMETHOD(\"_do_print\", function(output, kind) {\n output.print(kind);\n if (this.value) {\n output.space();\n this.value.print(output);\n }\n output.semicolon();\n });\n DEFPRINT(AST_Return, function(self, output) {\n self._do_print(output, \"return\");\n });\n DEFPRINT(AST_Throw, function(self, output) {\n self._do_print(output, \"throw\");\n });\n\n /* -----[ yield ]----- */\n\n DEFPRINT(AST_Yield, function(self, output) {\n var star = self.is_star ? \"*\" : \"\";\n output.print(\"yield\" + star);\n if (self.expression) {\n output.space();\n self.expression.print(output);\n }\n });\n\n DEFPRINT(AST_Await, function(self, output) {\n output.print(\"await\");\n output.space();\n var e = self.expression;\n var parens = !(\n e instanceof AST_Call\n || e instanceof AST_SymbolRef\n || e instanceof AST_PropAccess\n || e instanceof AST_Unary\n || e instanceof AST_Constant\n );\n if (parens) output.print(\"(\");\n self.expression.print(output);\n if (parens) output.print(\")\");\n });\n\n /* -----[ loop control ]----- */\n AST_LoopControl.DEFMETHOD(\"_do_print\", function(output, kind) {\n output.print(kind);\n if (this.label) {\n output.space();\n this.label.print(output);\n }\n output.semicolon();\n });\n DEFPRINT(AST_Break, function(self, output) {\n self._do_print(output, \"break\");\n });\n DEFPRINT(AST_Continue, function(self, output) {\n self._do_print(output, \"continue\");\n });\n\n /* -----[ if ]----- */\n function make_then(self, output) {\n var b = self.body;\n if (output.option(\"braces\")\n || output.option(\"ie8\") && b instanceof AST_Do)\n return make_block(b, output);\n // The squeezer replaces \"block\"-s that contain only a single\n // statement with the statement itself; technically, the AST\n // is correct, but this can create problems when we output an\n // IF having an ELSE clause where the THEN clause ends in an\n // IF *without* an ELSE block (then the outer ELSE would refer\n // to the inner IF). This function checks for this case and\n // adds the block braces if needed.\n if (!b) return output.force_semicolon();\n while (true) {\n if (b instanceof AST_If) {\n if (!b.alternative) {\n make_block(self.body, output);\n return;\n }\n b = b.alternative;\n } else if (b instanceof AST_StatementWithBody) {\n b = b.body;\n } else break;\n }\n force_statement(self.body, output);\n }\n DEFPRINT(AST_If, function(self, output) {\n output.print(\"if\");\n output.space();\n output.with_parens(function() {\n self.condition.print(output);\n });\n output.space();\n if (self.alternative) {\n make_then(self, output);\n output.space();\n output.print(\"else\");\n output.space();\n if (self.alternative instanceof AST_If)\n self.alternative.print(output);\n else\n force_statement(self.alternative, output);\n } else {\n self._do_print_body(output);\n }\n });\n\n /* -----[ switch ]----- */\n DEFPRINT(AST_Switch, function(self, output) {\n output.print(\"switch\");\n output.space();\n output.with_parens(function() {\n self.expression.print(output);\n });\n output.space();\n var last = self.body.length - 1;\n if (last < 0) print_braced_empty(self, output);\n else output.with_block(function() {\n self.body.forEach(function(branch, i) {\n output.indent(true);\n branch.print(output);\n if (i < last && branch.body.length > 0)\n output.newline();\n });\n });\n });\n AST_SwitchBranch.DEFMETHOD(\"_do_print_body\", function(output) {\n output.newline();\n this.body.forEach(function(stmt) {\n output.indent();\n stmt.print(output);\n output.newline();\n });\n });\n DEFPRINT(AST_Default, function(self, output) {\n output.print(\"default:\");\n self._do_print_body(output);\n });\n DEFPRINT(AST_Case, function(self, output) {\n output.print(\"case\");\n output.space();\n self.expression.print(output);\n output.print(\":\");\n self._do_print_body(output);\n });\n\n /* -----[ exceptions ]----- */\n DEFPRINT(AST_Try, function(self, output) {\n output.print(\"try\");\n output.space();\n print_braced(self, output);\n if (self.bcatch) {\n output.space();\n self.bcatch.print(output);\n }\n if (self.bfinally) {\n output.space();\n self.bfinally.print(output);\n }\n });\n DEFPRINT(AST_Catch, function(self, output) {\n output.print(\"catch\");\n if (self.argname) {\n output.space();\n output.with_parens(function() {\n self.argname.print(output);\n });\n }\n output.space();\n print_braced(self, output);\n });\n DEFPRINT(AST_Finally, function(self, output) {\n output.print(\"finally\");\n output.space();\n print_braced(self, output);\n });\n\n /* -----[ var/const ]----- */\n AST_Definitions.DEFMETHOD(\"_do_print\", function(output, kind) {\n output.print(kind);\n output.space();\n this.definitions.forEach(function(def, i) {\n if (i) output.comma();\n def.print(output);\n });\n var p = output.parent();\n var in_for = p instanceof AST_For || p instanceof AST_ForIn;\n var output_semicolon = !in_for || p && p.init !== this;\n if (output_semicolon)\n output.semicolon();\n });\n DEFPRINT(AST_Let, function(self, output) {\n self._do_print(output, \"let\");\n });\n DEFPRINT(AST_Var, function(self, output) {\n self._do_print(output, \"var\");\n });\n DEFPRINT(AST_Const, function(self, output) {\n self._do_print(output, \"const\");\n });\n DEFPRINT(AST_Import, function(self, output) {\n output.print(\"import\");\n output.space();\n if (self.imported_name) {\n self.imported_name.print(output);\n }\n if (self.imported_name && self.imported_names) {\n output.print(\",\");\n output.space();\n }\n if (self.imported_names) {\n if (self.imported_names.length === 1 && self.imported_names[0].foreign_name.name === \"*\") {\n self.imported_names[0].print(output);\n } else {\n output.print(\"{\");\n self.imported_names.forEach(function (name_import, i) {\n output.space();\n name_import.print(output);\n if (i < self.imported_names.length - 1) {\n output.print(\",\");\n }\n });\n output.space();\n output.print(\"}\");\n }\n }\n if (self.imported_name || self.imported_names) {\n output.space();\n output.print(\"from\");\n output.space();\n }\n self.module_name.print(output);\n output.semicolon();\n });\n\n DEFPRINT(AST_NameMapping, function(self, output) {\n var is_import = output.parent() instanceof AST_Import;\n var definition = self.name.definition();\n var names_are_different =\n (definition && definition.mangled_name || self.name.name) !==\n self.foreign_name.name;\n if (names_are_different) {\n if (is_import) {\n output.print(self.foreign_name.name);\n } else {\n self.name.print(output);\n }\n output.space();\n output.print(\"as\");\n output.space();\n if (is_import) {\n self.name.print(output);\n } else {\n output.print(self.foreign_name.name);\n }\n } else {\n self.name.print(output);\n }\n });\n\n DEFPRINT(AST_Export, function(self, output) {\n output.print(\"export\");\n output.space();\n if (self.is_default) {\n output.print(\"default\");\n output.space();\n }\n if (self.exported_names) {\n if (self.exported_names.length === 1 && self.exported_names[0].name.name === \"*\") {\n self.exported_names[0].print(output);\n } else {\n output.print(\"{\");\n self.exported_names.forEach(function(name_export, i) {\n output.space();\n name_export.print(output);\n if (i < self.exported_names.length - 1) {\n output.print(\",\");\n }\n });\n output.space();\n output.print(\"}\");\n }\n } else if (self.exported_value) {\n self.exported_value.print(output);\n } else if (self.exported_definition) {\n self.exported_definition.print(output);\n if (self.exported_definition instanceof AST_Definitions) return;\n }\n if (self.module_name) {\n output.space();\n output.print(\"from\");\n output.space();\n self.module_name.print(output);\n }\n if (self.exported_value\n && !(self.exported_value instanceof AST_Defun ||\n self.exported_value instanceof AST_Function ||\n self.exported_value instanceof AST_Class)\n || self.module_name\n || self.exported_names\n ) {\n output.semicolon();\n }\n });\n\n function parenthesize_for_noin(node, output, noin) {\n var parens = false;\n // need to take some precautions here:\n // https://github.com/mishoo/UglifyJS2/issues/60\n if (noin) node.walk(new TreeWalker(function(node) {\n if (parens || node instanceof AST_Scope) return true;\n if (node instanceof AST_Binary && node.operator == \"in\") {\n parens = true;\n return true;\n }\n }));\n node.print(output, parens);\n }\n\n DEFPRINT(AST_VarDef, function(self, output) {\n self.name.print(output);\n if (self.value) {\n output.space();\n output.print(\"=\");\n output.space();\n var p = output.parent(1);\n var noin = p instanceof AST_For || p instanceof AST_ForIn;\n parenthesize_for_noin(self.value, output, noin);\n }\n });\n\n /* -----[ other expressions ]----- */\n DEFPRINT(AST_Call, function(self, output) {\n self.expression.print(output);\n if (self instanceof AST_New && !need_constructor_parens(self, output))\n return;\n if (self.expression instanceof AST_Call || self.expression instanceof AST_Lambda) {\n output.add_mapping(self.start);\n }\n output.with_parens(function() {\n self.args.forEach(function(expr, i) {\n if (i) output.comma();\n expr.print(output);\n });\n });\n });\n DEFPRINT(AST_New, function(self, output) {\n output.print(\"new\");\n output.space();\n AST_Call.prototype._codegen(self, output);\n });\n\n AST_Sequence.DEFMETHOD(\"_do_print\", function(output) {\n this.expressions.forEach(function(node, index) {\n if (index > 0) {\n output.comma();\n if (output.should_break()) {\n output.newline();\n output.indent();\n }\n }\n node.print(output);\n });\n });\n DEFPRINT(AST_Sequence, function(self, output) {\n self._do_print(output);\n // var p = output.parent();\n // if (p instanceof AST_Statement) {\n // output.with_indent(output.next_indent(), function(){\n // self._do_print(output);\n // });\n // } else {\n // self._do_print(output);\n // }\n });\n DEFPRINT(AST_Dot, function(self, output) {\n var expr = self.expression;\n expr.print(output);\n var prop = self.property;\n if (output.option(\"ie8\") && RESERVED_WORDS(prop)) {\n output.print(\"[\");\n output.add_mapping(self.end);\n output.print_string(prop);\n output.print(\"]\");\n } else {\n if (expr instanceof AST_Number && expr.getValue() >= 0) {\n if (!/[xa-f.)]/i.test(output.last())) {\n output.print(\".\");\n }\n }\n output.print(\".\");\n // the name after dot would be mapped about here.\n output.add_mapping(self.end);\n output.print_name(prop);\n }\n });\n DEFPRINT(AST_Sub, function(self, output) {\n self.expression.print(output);\n output.print(\"[\");\n self.property.print(output);\n output.print(\"]\");\n });\n DEFPRINT(AST_UnaryPrefix, function(self, output) {\n var op = self.operator;\n output.print(op);\n if (/^[a-z]/i.test(op)\n || (/[+-]$/.test(op)\n && self.expression instanceof AST_UnaryPrefix\n && /^[+-]/.test(self.expression.operator))) {\n output.space();\n }\n self.expression.print(output);\n });\n DEFPRINT(AST_UnaryPostfix, function(self, output) {\n self.expression.print(output);\n output.print(self.operator);\n });\n DEFPRINT(AST_Binary, function(self, output) {\n var op = self.operator;\n self.left.print(output);\n if (op[0] == \">\" /* \">>\" \">>>\" \">\" \">=\" */\n && self.left instanceof AST_UnaryPostfix\n && self.left.operator == \"--\") {\n // space is mandatory to avoid outputting -->\n output.print(\" \");\n } else {\n // the space is optional depending on \"beautify\"\n output.space();\n }\n output.print(op);\n if ((op == \"<\" || op == \"<<\")\n && self.right instanceof AST_UnaryPrefix\n && self.right.operator == \"!\"\n && self.right.expression instanceof AST_UnaryPrefix\n && self.right.expression.operator == \"--\") {\n // space is mandatory to avoid outputting x ? y : false\n if (self.left.operator == \"||\") {\n var lr = self.left.right.evaluate(compressor);\n if (!lr) return make_node(AST_Conditional, self, {\n condition: self.left.left,\n consequent: self.right,\n alternative: self.left.right\n }).optimize(compressor);\n }\n break;\n case \"||\":\n var ll = self.left.truthy ? true : self.left.falsy ? false : self.left.evaluate(compressor);\n if (!ll) {\n compressor.warn(\"Condition left of || always false [{file}:{line},{col}]\", self.start);\n return make_sequence(self, [ self.left, self.right ]).optimize(compressor);\n } else if (!(ll instanceof AST_Node)) {\n compressor.warn(\"Condition left of || always true [{file}:{line},{col}]\", self.start);\n return maintain_this_binding(compressor.parent(), compressor.self(), self.left).optimize(compressor);\n }\n var rr = self.right.evaluate(compressor);\n if (!rr) {\n var parent = compressor.parent();\n if (parent.operator == \"||\" && parent.left === compressor.self() || compressor.in_boolean_context()) {\n compressor.warn(\"Dropping side-effect-free || [{file}:{line},{col}]\", self.start);\n return self.left.optimize(compressor);\n }\n } else if (!(rr instanceof AST_Node)) {\n if (compressor.in_boolean_context()) {\n compressor.warn(\"Boolean || always true [{file}:{line},{col}]\", self.start);\n return make_sequence(self, [\n self.left,\n make_node(AST_True, self)\n ]).optimize(compressor);\n } else self.truthy = true;\n }\n if (self.left.operator == \"&&\") {\n var lr = self.left.right.evaluate(compressor);\n if (lr && !(lr instanceof AST_Node)) return make_node(AST_Conditional, self, {\n condition: self.left.left,\n consequent: self.left.right,\n alternative: self.right\n }).optimize(compressor);\n }\n break;\n }\n var associative = true;\n switch (self.operator) {\n case \"+\":\n // \"foo\" + (\"bar\" + x) => \"foobar\" + x\n if (self.left instanceof AST_Constant\n && self.right instanceof AST_Binary\n && self.right.operator == \"+\"\n && self.right.left instanceof AST_Constant\n && self.right.is_string(compressor)) {\n self = make_node(AST_Binary, self, {\n operator: \"+\",\n left: make_node(AST_String, self.left, {\n value: \"\" + self.left.getValue() + self.right.left.getValue(),\n start: self.left.start,\n end: self.right.left.end\n }),\n right: self.right.right\n });\n }\n // (x + \"foo\") + \"bar\" => x + \"foobar\"\n if (self.right instanceof AST_Constant\n && self.left instanceof AST_Binary\n && self.left.operator == \"+\"\n && self.left.right instanceof AST_Constant\n && self.left.is_string(compressor)) {\n self = make_node(AST_Binary, self, {\n operator: \"+\",\n left: self.left.left,\n right: make_node(AST_String, self.right, {\n value: \"\" + self.left.right.getValue() + self.right.getValue(),\n start: self.left.right.start,\n end: self.right.end\n })\n });\n }\n // (x + \"foo\") + (\"bar\" + y) => (x + \"foobar\") + y\n if (self.left instanceof AST_Binary\n && self.left.operator == \"+\"\n && self.left.is_string(compressor)\n && self.left.right instanceof AST_Constant\n && self.right instanceof AST_Binary\n && self.right.operator == \"+\"\n && self.right.left instanceof AST_Constant\n && self.right.is_string(compressor)) {\n self = make_node(AST_Binary, self, {\n operator: \"+\",\n left: make_node(AST_Binary, self.left, {\n operator: \"+\",\n left: self.left.left,\n right: make_node(AST_String, self.left.right, {\n value: \"\" + self.left.right.getValue() + self.right.left.getValue(),\n start: self.left.right.start,\n end: self.right.left.end\n })\n }),\n right: self.right.right\n });\n }\n // a + -b => a - b\n if (self.right instanceof AST_UnaryPrefix\n && self.right.operator == \"-\"\n && self.left.is_number(compressor)) {\n self = make_node(AST_Binary, self, {\n operator: \"-\",\n left: self.left,\n right: self.right.expression\n });\n break;\n }\n // -a + b => b - a\n if (self.left instanceof AST_UnaryPrefix\n && self.left.operator == \"-\"\n && reversible()\n && self.right.is_number(compressor)) {\n self = make_node(AST_Binary, self, {\n operator: \"-\",\n left: self.right,\n right: self.left.expression\n });\n break;\n }\n case \"*\":\n associative = compressor.option(\"unsafe_math\");\n case \"&\":\n case \"|\":\n case \"^\":\n // a + +b => +b + a\n if (self.left.is_number(compressor)\n && self.right.is_number(compressor)\n && reversible()\n && !(self.left instanceof AST_Binary\n && self.left.operator != self.operator\n && PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) {\n var reversed = make_node(AST_Binary, self, {\n operator: self.operator,\n left: self.right,\n right: self.left\n });\n if (self.right instanceof AST_Constant\n && !(self.left instanceof AST_Constant)) {\n self = best_of(compressor, reversed, self);\n } else {\n self = best_of(compressor, self, reversed);\n }\n }\n if (associative && self.is_number(compressor)) {\n // a + (b + c) => (a + b) + c\n if (self.right instanceof AST_Binary\n && self.right.operator == self.operator) {\n self = make_node(AST_Binary, self, {\n operator: self.operator,\n left: make_node(AST_Binary, self.left, {\n operator: self.operator,\n left: self.left,\n right: self.right.left,\n start: self.left.start,\n end: self.right.left.end\n }),\n right: self.right.right\n });\n }\n // (n + 2) + 3 => 5 + n\n // (2 * n) * 3 => 6 + n\n if (self.right instanceof AST_Constant\n && self.left instanceof AST_Binary\n && self.left.operator == self.operator) {\n if (self.left.left instanceof AST_Constant) {\n self = make_node(AST_Binary, self, {\n operator: self.operator,\n left: make_node(AST_Binary, self.left, {\n operator: self.operator,\n left: self.left.left,\n right: self.right,\n start: self.left.left.start,\n end: self.right.end\n }),\n right: self.left.right\n });\n } else if (self.left.right instanceof AST_Constant) {\n self = make_node(AST_Binary, self, {\n operator: self.operator,\n left: make_node(AST_Binary, self.left, {\n operator: self.operator,\n left: self.left.right,\n right: self.right,\n start: self.left.right.start,\n end: self.right.end\n }),\n right: self.left.left\n });\n }\n }\n // (a | 1) | (2 | d) => (3 | a) | b\n if (self.left instanceof AST_Binary\n && self.left.operator == self.operator\n && self.left.right instanceof AST_Constant\n && self.right instanceof AST_Binary\n && self.right.operator == self.operator\n && self.right.left instanceof AST_Constant) {\n self = make_node(AST_Binary, self, {\n operator: self.operator,\n left: make_node(AST_Binary, self.left, {\n operator: self.operator,\n left: make_node(AST_Binary, self.left.left, {\n operator: self.operator,\n left: self.left.right,\n right: self.right.left,\n start: self.left.right.start,\n end: self.right.left.end\n }),\n right: self.left.left\n }),\n right: self.right.right\n });\n }\n }\n }\n }\n // x && (y && z) ==> x && y && z\n // x || (y || z) ==> x || y || z\n // x + (\"y\" + z) ==> x + \"y\" + z\n // \"x\" + (y + \"z\")==> \"x\" + y + \"z\"\n if (self.right instanceof AST_Binary\n && self.right.operator == self.operator\n && (lazy_op(self.operator)\n || (self.operator == \"+\"\n && (self.right.left.is_string(compressor)\n || (self.left.is_string(compressor)\n && self.right.right.is_string(compressor)))))\n ) {\n self.left = make_node(AST_Binary, self.left, {\n operator : self.operator,\n left : self.left,\n right : self.right.left\n });\n self.right = self.right.right;\n return self.transform(compressor);\n }\n var ev = self.evaluate(compressor);\n if (ev !== self) {\n ev = make_node_from_constant(ev, self).optimize(compressor);\n return best_of(compressor, ev, self);\n }\n return self;\n });\n\n def_optimize(AST_SymbolExport, function(self, compressor) {\n return self;\n });\n\n function recursive_ref(compressor, def) {\n var node;\n for (var i = 0; node = compressor.parent(i); i++) {\n if (node instanceof AST_Lambda) {\n var name = node.name;\n if (name && name.definition() === def) break;\n }\n }\n return node;\n }\n\n function within_array_or_object_literal(compressor) {\n var node, level = 0;\n while (node = compressor.parent(level++)) {\n if (node instanceof AST_Statement) return false;\n if (node instanceof AST_Array\n || node instanceof AST_ObjectKeyVal\n || node instanceof AST_Object) {\n return true;\n }\n }\n return false;\n }\n\n def_optimize(AST_SymbolRef, function(self, compressor) {\n if (!compressor.option(\"ie8\")\n && is_undeclared_ref(self)\n && (!self.scope.uses_with || !compressor.find_parent(AST_With))) {\n switch (self.name) {\n case \"undefined\":\n return make_node(AST_Undefined, self).optimize(compressor);\n case \"NaN\":\n return make_node(AST_NaN, self).optimize(compressor);\n case \"Infinity\":\n return make_node(AST_Infinity, self).optimize(compressor);\n }\n }\n var parent = compressor.parent();\n if (compressor.option(\"reduce_vars\") && is_lhs(self, parent) !== self) {\n var d = self.definition();\n if (compressor.top_retain && d.global && compressor.top_retain(d)) {\n d.fixed = false;\n d.should_replace = false;\n d.single_use = false;\n return self;\n }\n var fixed = self.fixed_value();\n var single_use = d.single_use\n && !(parent instanceof AST_Call && parent.is_expr_pure(compressor));\n if (single_use && (fixed instanceof AST_Lambda || fixed instanceof AST_Class)) {\n if (retain_top_func(fixed, compressor)) {\n single_use = false;\n } else if (d.scope !== self.scope\n && (!compressor.option(\"reduce_funcs\") && fixed instanceof AST_Lambda\n || d.escaped == 1\n || fixed.inlined\n || within_array_or_object_literal(compressor))) {\n single_use = false;\n } else if (recursive_ref(compressor, d)) {\n single_use = false;\n } else if (d.scope !== self.scope || d.orig[0] instanceof AST_SymbolFunarg) {\n single_use = fixed.is_constant_expression(self.scope);\n if (single_use == \"f\") {\n var scope = self.scope;\n do {\n if (scope instanceof AST_Defun || is_func_expr(scope)) {\n scope.inlined = true;\n }\n } while (scope = scope.parent_scope);\n }\n }\n }\n if (single_use && fixed) {\n if (fixed instanceof AST_DefClass) {\n fixed = make_node(AST_ClassExpression, fixed, fixed);\n }\n if (fixed instanceof AST_Defun) {\n fixed._squeezed = true;\n fixed = make_node(AST_Function, fixed, fixed);\n }\n var value;\n if (d.recursive_refs > 0 && fixed.name instanceof AST_SymbolDefun) {\n value = fixed.clone(true);\n var defun_def = value.name.definition();\n var lambda_def = value.variables.get(value.name.name);\n var name = lambda_def && lambda_def.orig[0];\n if (!(name instanceof AST_SymbolLambda)) {\n name = make_node(AST_SymbolLambda, value.name, value.name);\n name.scope = value;\n value.name = name;\n lambda_def = value.def_function(name);\n }\n value.walk(new TreeWalker(function(node) {\n if (node instanceof AST_SymbolRef && node.definition() === defun_def) {\n node.thedef = lambda_def;\n lambda_def.references.push(node);\n }\n }));\n } else {\n value = fixed.optimize(compressor);\n if (value === fixed) value = fixed.clone(true);\n }\n return value;\n }\n if (fixed && d.should_replace === undefined) {\n var init;\n if (fixed instanceof AST_This) {\n if (!(d.orig[0] instanceof AST_SymbolFunarg)\n && all(d.references, function(ref) {\n return d.scope === ref.scope;\n })) {\n init = fixed;\n }\n } else {\n var ev = fixed.evaluate(compressor);\n if (ev !== fixed && (compressor.option(\"unsafe_regexp\") || !(ev instanceof RegExp))) {\n init = make_node_from_constant(ev, fixed);\n }\n }\n if (init) {\n var value_length = init.optimize(compressor).print_to_string().length;\n var fn;\n if (has_symbol_ref(fixed)) {\n fn = function() {\n var result = init.optimize(compressor);\n return result === init ? result.clone(true) : result;\n };\n } else {\n value_length = Math.min(value_length, fixed.print_to_string().length);\n fn = function() {\n var result = best_of_expression(init.optimize(compressor), fixed);\n return result === init || result === fixed ? result.clone(true) : result;\n };\n }\n var name_length = d.name.length;\n var overhead = 0;\n if (compressor.option(\"unused\") && !compressor.exposed(d)) {\n overhead = (name_length + 2 + value_length) / (d.references.length - d.assignments);\n }\n d.should_replace = value_length <= name_length + overhead ? fn : false;\n } else {\n d.should_replace = false;\n }\n }\n if (d.should_replace) {\n return d.should_replace();\n }\n }\n return self;\n\n function has_symbol_ref(value) {\n var found;\n value.walk(new TreeWalker(function(node) {\n if (node instanceof AST_SymbolRef) found = true;\n if (found) return true;\n }));\n return found;\n }\n });\n\n function is_atomic(lhs, self) {\n return lhs instanceof AST_SymbolRef || lhs.TYPE === self.TYPE;\n }\n\n def_optimize(AST_Undefined, function(self, compressor) {\n if (compressor.option(\"unsafe_undefined\")) {\n var undef = find_variable(compressor, \"undefined\");\n if (undef) {\n var ref = make_node(AST_SymbolRef, self, {\n name : \"undefined\",\n scope : undef.scope,\n thedef : undef\n });\n ref.is_undefined = true;\n return ref;\n }\n }\n var lhs = is_lhs(compressor.self(), compressor.parent());\n if (lhs && is_atomic(lhs, self)) return self;\n return make_node(AST_UnaryPrefix, self, {\n operator: \"void\",\n expression: make_node(AST_Number, self, {\n value: 0\n })\n });\n });\n\n def_optimize(AST_Infinity, function(self, compressor) {\n var lhs = is_lhs(compressor.self(), compressor.parent());\n if (lhs && is_atomic(lhs, self)) return self;\n if (compressor.option(\"keep_infinity\")\n && !(lhs && !is_atomic(lhs, self))\n && !find_variable(compressor, \"Infinity\"))\n return self;\n return make_node(AST_Binary, self, {\n operator: \"/\",\n left: make_node(AST_Number, self, {\n value: 1\n }),\n right: make_node(AST_Number, self, {\n value: 0\n })\n });\n });\n\n def_optimize(AST_NaN, function(self, compressor) {\n var lhs = is_lhs(compressor.self(), compressor.parent());\n if (lhs && !is_atomic(lhs, self)\n || find_variable(compressor, \"NaN\")) {\n return make_node(AST_Binary, self, {\n operator: \"/\",\n left: make_node(AST_Number, self, {\n value: 0\n }),\n right: make_node(AST_Number, self, {\n value: 0\n })\n });\n }\n return self;\n });\n\n function is_reachable(self, defs) {\n var reachable = false;\n var find_ref = new TreeWalker(function(node) {\n if (reachable) return true;\n if (node instanceof AST_SymbolRef && member(node.definition(), defs)) {\n return reachable = true;\n }\n });\n var scan_scope = new TreeWalker(function(node) {\n if (reachable) return true;\n if (node instanceof AST_Scope && node !== self) {\n var parent = scan_scope.parent();\n if (parent instanceof AST_Call && parent.expression === node) return;\n node.walk(find_ref);\n return true;\n }\n });\n self.walk(scan_scope);\n return reachable;\n }\n\n var ASSIGN_OPS = [ \"+\", \"-\", \"/\", \"*\", \"%\", \">>\", \"<<\", \">>>\", \"|\", \"^\", \"&\" ];\n var ASSIGN_OPS_COMMUTATIVE = [ \"*\", \"|\", \"^\", \"&\" ];\n def_optimize(AST_Assign, function(self, compressor) {\n var def;\n if (compressor.option(\"dead_code\")\n && self.left instanceof AST_SymbolRef\n && (def = self.left.definition()).scope === compressor.find_parent(AST_Lambda)) {\n var level = 0, node, parent = self;\n do {\n node = parent;\n parent = compressor.parent(level++);\n if (parent instanceof AST_Exit) {\n if (in_try(level, parent)) break;\n if (is_reachable(def.scope, [ def ])) break;\n if (self.operator == \"=\") return self.right;\n def.fixed = false;\n return make_node(AST_Binary, self, {\n operator: self.operator.slice(0, -1),\n left: self.left,\n right: self.right\n }).optimize(compressor);\n }\n } while (parent instanceof AST_Binary && parent.right === node\n || parent instanceof AST_Sequence && parent.tail_node() === node);\n }\n self = self.lift_sequences(compressor);\n if (self.operator == \"=\" && self.left instanceof AST_SymbolRef && self.right instanceof AST_Binary) {\n // x = expr1 OP expr2\n if (self.right.left instanceof AST_SymbolRef\n && self.right.left.name == self.left.name\n && member(self.right.operator, ASSIGN_OPS)) {\n // x = x - 2 ---> x -= 2\n self.operator = self.right.operator + \"=\";\n self.right = self.right.right;\n } else if (self.right.right instanceof AST_SymbolRef\n && self.right.right.name == self.left.name\n && member(self.right.operator, ASSIGN_OPS_COMMUTATIVE)\n && !self.right.left.has_side_effects(compressor)) {\n // x = 2 & x ---> x &= 2\n self.operator = self.right.operator + \"=\";\n self.right = self.right.left;\n }\n }\n return self;\n\n function in_try(level, node) {\n var right = self.right;\n self.right = make_node(AST_Null, right);\n var may_throw = node.may_throw(compressor);\n self.right = right;\n var scope = self.left.definition().scope;\n var parent;\n while ((parent = compressor.parent(level++)) !== scope) {\n if (parent instanceof AST_Try) {\n if (parent.bfinally) return true;\n if (may_throw && parent.bcatch) return true;\n }\n }\n }\n });\n\n def_optimize(AST_DefaultAssign, function(self, compressor) {\n if (!compressor.option(\"evaluate\")) {\n return self;\n }\n var evaluateRight = self.right.evaluate(compressor);\n\n // `[x = undefined] = foo` ---> `[x] = foo`\n if (evaluateRight === undefined) {\n self = self.left;\n } else if (evaluateRight !== self.right) {\n evaluateRight = make_node_from_constant(evaluateRight, self.right);\n self.right = best_of_expression(evaluateRight, self.right);\n }\n\n return self;\n });\n\n def_optimize(AST_Conditional, function(self, compressor) {\n if (!compressor.option(\"conditionals\")) return self;\n // This looks like lift_sequences(), should probably be under \"sequences\"\n if (self.condition instanceof AST_Sequence) {\n var expressions = self.condition.expressions.slice();\n self.condition = expressions.pop();\n expressions.push(self);\n return make_sequence(self, expressions);\n }\n var cond = self.condition.evaluate(compressor);\n if (cond !== self.condition) {\n if (cond) {\n compressor.warn(\"Condition always true [{file}:{line},{col}]\", self.start);\n return maintain_this_binding(compressor.parent(), compressor.self(), self.consequent);\n } else {\n compressor.warn(\"Condition always false [{file}:{line},{col}]\", self.start);\n return maintain_this_binding(compressor.parent(), compressor.self(), self.alternative);\n }\n }\n var negated = cond.negate(compressor, first_in_statement(compressor));\n if (best_of(compressor, cond, negated) === negated) {\n self = make_node(AST_Conditional, self, {\n condition: negated,\n consequent: self.alternative,\n alternative: self.consequent\n });\n }\n var condition = self.condition;\n var consequent = self.consequent;\n var alternative = self.alternative;\n // x?x:y --> x||y\n if (condition instanceof AST_SymbolRef\n && consequent instanceof AST_SymbolRef\n && condition.definition() === consequent.definition()) {\n return make_node(AST_Binary, self, {\n operator: \"||\",\n left: condition,\n right: alternative\n });\n }\n // if (foo) exp = something; else exp = something_else;\n // |\n // v\n // exp = foo ? something : something_else;\n if (consequent instanceof AST_Assign\n && alternative instanceof AST_Assign\n && consequent.operator == alternative.operator\n && consequent.left.equivalent_to(alternative.left)\n && (!self.condition.has_side_effects(compressor)\n || consequent.operator == \"=\"\n && !consequent.left.has_side_effects(compressor))) {\n return make_node(AST_Assign, self, {\n operator: consequent.operator,\n left: consequent.left,\n right: make_node(AST_Conditional, self, {\n condition: self.condition,\n consequent: consequent.right,\n alternative: alternative.right\n })\n });\n }\n // x ? y(a) : y(b) --> y(x ? a : b)\n var arg_index;\n if (consequent instanceof AST_Call\n && alternative.TYPE === consequent.TYPE\n && consequent.args.length > 0\n && consequent.args.length == alternative.args.length\n && consequent.expression.equivalent_to(alternative.expression)\n && !self.condition.has_side_effects(compressor)\n && !consequent.expression.has_side_effects(compressor)\n && typeof (arg_index = single_arg_diff()) == \"number\") {\n var node = consequent.clone();\n node.args[arg_index] = make_node(AST_Conditional, self, {\n condition: self.condition,\n consequent: consequent.args[arg_index],\n alternative: alternative.args[arg_index]\n });\n return node;\n }\n // x?y?z:a:a --> x&&y?z:a\n if (consequent instanceof AST_Conditional\n && consequent.alternative.equivalent_to(alternative)) {\n return make_node(AST_Conditional, self, {\n condition: make_node(AST_Binary, self, {\n left: self.condition,\n operator: \"&&\",\n right: consequent.condition\n }),\n consequent: consequent.consequent,\n alternative: alternative\n });\n }\n // x ? y : y --> x, y\n if (consequent.equivalent_to(alternative)) {\n return make_sequence(self, [\n self.condition,\n consequent\n ]).optimize(compressor);\n }\n // x ? y || z : z --> x && y || z\n if (consequent instanceof AST_Binary\n && consequent.operator == \"||\"\n && consequent.right.equivalent_to(alternative)) {\n return make_node(AST_Binary, self, {\n operator: \"||\",\n left: make_node(AST_Binary, self, {\n operator: \"&&\",\n left: self.condition,\n right: consequent.left\n }),\n right: alternative\n }).optimize(compressor);\n }\n var in_bool = compressor.in_boolean_context();\n if (is_true(self.consequent)) {\n if (is_false(self.alternative)) {\n // c ? true : false ---> !!c\n return booleanize(self.condition);\n }\n // c ? true : x ---> !!c || x\n return make_node(AST_Binary, self, {\n operator: \"||\",\n left: booleanize(self.condition),\n right: self.alternative\n });\n }\n if (is_false(self.consequent)) {\n if (is_true(self.alternative)) {\n // c ? false : true ---> !c\n return booleanize(self.condition.negate(compressor));\n }\n // c ? false : x ---> !c && x\n return make_node(AST_Binary, self, {\n operator: \"&&\",\n left: booleanize(self.condition.negate(compressor)),\n right: self.alternative\n });\n }\n if (is_true(self.alternative)) {\n // c ? x : true ---> !c || x\n return make_node(AST_Binary, self, {\n operator: \"||\",\n left: booleanize(self.condition.negate(compressor)),\n right: self.consequent\n });\n }\n if (is_false(self.alternative)) {\n // c ? x : false ---> !!c && x\n return make_node(AST_Binary, self, {\n operator: \"&&\",\n left: booleanize(self.condition),\n right: self.consequent\n });\n }\n\n return self;\n\n function booleanize(node) {\n if (node.is_boolean()) return node;\n // !!expression\n return make_node(AST_UnaryPrefix, node, {\n operator: \"!\",\n expression: node.negate(compressor)\n });\n }\n\n // AST_True or !0\n function is_true(node) {\n return node instanceof AST_True\n || in_bool\n && node instanceof AST_Constant\n && node.getValue()\n || (node instanceof AST_UnaryPrefix\n && node.operator == \"!\"\n && node.expression instanceof AST_Constant\n && !node.expression.getValue());\n }\n // AST_False or !1\n function is_false(node) {\n return node instanceof AST_False\n || in_bool\n && node instanceof AST_Constant\n && !node.getValue()\n || (node instanceof AST_UnaryPrefix\n && node.operator == \"!\"\n && node.expression instanceof AST_Constant\n && node.expression.getValue());\n }\n\n function single_arg_diff() {\n var a = consequent.args;\n var b = alternative.args;\n for (var i = 0, len = a.length; i < len; i++) {\n if (a[i] instanceof AST_Expansion) return;\n if (!a[i].equivalent_to(b[i])) {\n if (b[i] instanceof AST_Expansion) return;\n for (var j = i + 1; j < len; j++) {\n if (a[j] instanceof AST_Expansion) return;\n if (!a[j].equivalent_to(b[j])) return;\n }\n return i;\n }\n }\n }\n });\n\n def_optimize(AST_Boolean, function(self, compressor) {\n if (compressor.in_boolean_context()) return make_node(AST_Number, self, {\n value: +self.value\n });\n var p = compressor.parent();\n if (compressor.option(\"booleans_as_integers\")) {\n if (p instanceof AST_Binary && (p.operator == \"===\" || p.operator == \"!==\")) {\n p.operator = p.operator.replace(/=$/, \"\");\n }\n return make_node(AST_Number, self, {\n value: +self.value\n });\n }\n if (compressor.option(\"booleans\")) {\n if (p instanceof AST_Binary && (p.operator == \"==\"\n || p.operator == \"!=\")) {\n compressor.warn(\"Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]\", {\n operator : p.operator,\n value : self.value,\n file : p.start.file,\n line : p.start.line,\n col : p.start.col,\n });\n return make_node(AST_Number, self, {\n value: +self.value\n });\n }\n return make_node(AST_UnaryPrefix, self, {\n operator: \"!\",\n expression: make_node(AST_Number, self, {\n value: 1 - self.value\n })\n });\n }\n return self;\n });\n\n function safe_to_flatten(value, compressor) {\n if (value instanceof AST_SymbolRef) {\n value = value.fixed_value();\n }\n if (!value) return false;\n return !(value instanceof AST_Lambda || value instanceof AST_Class)\n || compressor.parent() instanceof AST_New\n || !value.contains_this();\n }\n\n def_optimize(AST_Sub, function(self, compressor) {\n var expr = self.expression;\n var prop = self.property;\n if (compressor.option(\"properties\")) {\n var key = prop.evaluate(compressor);\n if (key !== prop) {\n if (typeof key == \"string\") {\n if (key == \"undefined\") {\n key = undefined;\n } else {\n var value = parseFloat(key);\n if (value.toString() == key) {\n key = value;\n }\n }\n }\n prop = self.property = best_of_expression(prop, make_node_from_constant(key, prop).transform(compressor));\n var property = \"\" + key;\n if (is_identifier_string(property)\n && property.length <= prop.print_to_string().length + 1) {\n return make_node(AST_Dot, self, {\n expression: expr,\n property: property\n }).optimize(compressor);\n }\n }\n }\n var fn;\n OPT_ARGUMENTS: if (compressor.option(\"arguments\")\n && expr instanceof AST_SymbolRef\n && expr.name == \"arguments\"\n && expr.definition().orig.length == 1\n && (fn = expr.scope) instanceof AST_Lambda\n && fn.uses_arguments\n && !(fn instanceof AST_Arrow)\n && prop instanceof AST_Number) {\n var index = prop.getValue();\n var params = Object.create(null);\n var argnames = fn.argnames;\n for (var n = 0; n < argnames.length; n++) {\n if (!(argnames[n] instanceof AST_SymbolFunarg)) {\n break OPT_ARGUMENTS; // destructuring parameter - bail\n }\n var param = argnames[n].name;\n if (param in params) {\n break OPT_ARGUMENTS; // duplicate parameter - bail\n }\n params[param] = true;\n }\n var argname = fn.argnames[index];\n if (argname && compressor.has_directive(\"use strict\")) {\n var def = argname.definition();\n if (!compressor.option(\"reduce_vars\") || def.assignments || def.orig.length > 1) {\n argname = null;\n }\n } else if (!argname && !compressor.option(\"keep_fargs\") && index < fn.argnames.length + 5) {\n while (index >= fn.argnames.length) {\n argname = make_node(AST_SymbolFunarg, fn, {\n name: fn.make_var_name(\"argument_\" + fn.argnames.length),\n scope: fn\n });\n fn.argnames.push(argname);\n fn.enclosed.push(fn.def_variable(argname));\n }\n }\n if (argname) {\n var sym = make_node(AST_SymbolRef, self, argname);\n sym.reference({});\n delete argname.__unused;\n return sym;\n }\n }\n if (is_lhs(self, compressor.parent())) return self;\n if (key !== prop) {\n var sub = self.flatten_object(property, compressor);\n if (sub) {\n expr = self.expression = sub.expression;\n prop = self.property = sub.property;\n }\n }\n if (compressor.option(\"properties\") && compressor.option(\"side_effects\")\n && prop instanceof AST_Number && expr instanceof AST_Array) {\n var index = prop.getValue();\n var elements = expr.elements;\n var retValue = elements[index];\n FLATTEN: if (safe_to_flatten(retValue, compressor)) {\n var flatten = true;\n var values = [];\n for (var i = elements.length; --i > index;) {\n var value = elements[i].drop_side_effect_free(compressor);\n if (value) {\n values.unshift(value);\n if (flatten && value.has_side_effects(compressor)) flatten = false;\n }\n }\n if (retValue instanceof AST_Expansion) break FLATTEN;\n retValue = retValue instanceof AST_Hole ? make_node(AST_Undefined, retValue) : retValue;\n if (!flatten) values.unshift(retValue);\n while (--i >= 0) {\n var value = elements[i];\n if (value instanceof AST_Expansion) break FLATTEN;\n value = value.drop_side_effect_free(compressor);\n if (value) values.unshift(value);\n else index--;\n }\n if (flatten) {\n values.push(retValue);\n return make_sequence(self, values).optimize(compressor);\n } else return make_node(AST_Sub, self, {\n expression: make_node(AST_Array, expr, {\n elements: values\n }),\n property: make_node(AST_Number, prop, {\n value: index\n })\n });\n }\n }\n var ev = self.evaluate(compressor);\n if (ev !== self) {\n ev = make_node_from_constant(ev, self).optimize(compressor);\n return best_of(compressor, ev, self);\n }\n return self;\n });\n\n AST_Lambda.DEFMETHOD(\"contains_this\", function() {\n var result;\n var self = this;\n self.walk(new TreeWalker(function(node) {\n if (result) return true;\n if (node instanceof AST_This) return result = true;\n if (node !== self && node instanceof AST_Scope && !(node instanceof AST_Arrow)) return true;\n }));\n return result;\n });\n\n AST_PropAccess.DEFMETHOD(\"flatten_object\", function(key, compressor) {\n if (!compressor.option(\"properties\")) return;\n var arrows = compressor.option(\"unsafe_arrows\") && compressor.option(\"ecma\") >= 6;\n var expr = this.expression;\n if (expr instanceof AST_Object) {\n var props = expr.properties;\n for (var i = props.length; --i >= 0;) {\n var prop = props[i];\n if (\"\" + (prop instanceof AST_ConciseMethod ? prop.key.name : prop.key) == key) {\n if (!all(props, function(prop) {\n return prop instanceof AST_ObjectKeyVal\n || arrows && prop instanceof AST_ConciseMethod && !prop.is_generator;\n })) break;\n if (!safe_to_flatten(prop.value, compressor)) break;\n return make_node(AST_Sub, this, {\n expression: make_node(AST_Array, expr, {\n elements: props.map(function(prop) {\n var v = prop.value;\n if (v instanceof AST_Accessor) v = make_node(AST_Function, v, v);\n var k = prop.key;\n if (k instanceof AST_Node && !(k instanceof AST_SymbolMethod)) {\n return make_sequence(prop, [ k, v ]);\n }\n return v;\n })\n }),\n property: make_node(AST_Number, this, {\n value: i\n })\n });\n }\n }\n }\n });\n\n def_optimize(AST_Dot, function(self, compressor) {\n if (self.property == \"arguments\" || self.property == \"caller\") {\n compressor.warn(\"Function.prototype.{prop} not supported [{file}:{line},{col}]\", {\n prop: self.property,\n file: self.start.file,\n line: self.start.line,\n col: self.start.col\n });\n }\n if (is_lhs(self, compressor.parent())) return self;\n if (compressor.option(\"unsafe_proto\")\n && self.expression instanceof AST_Dot\n && self.expression.property == \"prototype\") {\n var exp = self.expression.expression;\n if (is_undeclared_ref(exp)) switch (exp.name) {\n case \"Array\":\n self.expression = make_node(AST_Array, self.expression, {\n elements: []\n });\n break;\n case \"Function\":\n self.expression = make_node(AST_Function, self.expression, {\n argnames: [],\n body: []\n });\n break;\n case \"Number\":\n self.expression = make_node(AST_Number, self.expression, {\n value: 0\n });\n break;\n case \"Object\":\n self.expression = make_node(AST_Object, self.expression, {\n properties: []\n });\n break;\n case \"RegExp\":\n self.expression = make_node(AST_RegExp, self.expression, {\n value: /t/\n });\n break;\n case \"String\":\n self.expression = make_node(AST_String, self.expression, {\n value: \"\"\n });\n break;\n }\n }\n var sub = self.flatten_object(self.property, compressor);\n if (sub) return sub.optimize(compressor);\n var ev = self.evaluate(compressor);\n if (ev !== self) {\n ev = make_node_from_constant(ev, self).optimize(compressor);\n return best_of(compressor, ev, self);\n }\n return self;\n });\n\n function literals_in_boolean_context(self, compressor) {\n if (compressor.in_boolean_context()) {\n return best_of(compressor, self, make_sequence(self, [\n self,\n make_node(AST_True, self)\n ]).optimize(compressor));\n }\n return self;\n }\n\n function inline_array_like_spread(self, compressor, elements) {\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (el instanceof AST_Expansion) {\n var expr = el.expression;\n if ( expr instanceof AST_Array) {\n elements.splice.apply(elements, [i, 1].concat(expr.elements));\n // Step back one, as the element at i is now new.\n i--;\n }\n // In array-like spread, spreading a non-iterable value is TypeError.\n // We therefore can’t optimize anything else, unlike with object spread.\n }\n }\n return self;\n }\n\n def_optimize(AST_Array, function(self, compressor) {\n var optimized = literals_in_boolean_context(self, compressor);\n if (optimized !== self) {\n return optimized;\n }\n return inline_array_like_spread(self, compressor, self.elements);\n });\n\n def_optimize(AST_Object, function(self, compressor) {\n var optimized = literals_in_boolean_context(self, compressor);\n if (optimized !== self) {\n return optimized;\n }\n var props = self.properties;\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n if (prop instanceof AST_Expansion) {\n var expr = prop.expression;\n if (expr instanceof AST_Object) {\n props.splice.apply(props, [i, 1].concat(prop.expression.properties));\n // Step back one, as the property at i is now new.\n i--;\n } else if (expr instanceof AST_Constant\n && !(expr instanceof AST_String)) {\n // Unlike array-like spread, in object spread, spreading a\n // non-iterable value silently does nothing; it is thus safe\n // to remove. AST_String is the only iterable AST_Constant.\n props.splice(i, 1);\n }\n }\n }\n return self;\n });\n\n def_optimize(AST_RegExp, literals_in_boolean_context);\n\n def_optimize(AST_Return, function(self, compressor) {\n if (self.value && is_undefined(self.value, compressor)) {\n self.value = null;\n }\n return self;\n });\n\n def_optimize(AST_Arrow, function(self, compressor) {\n if (!(self.body instanceof AST_Node)) {\n self = opt_AST_Lambda(self, compressor);\n }\n if (compressor.option(\"arrows\")\n && self.body.length == 1\n && self.body[0] instanceof AST_Return) {\n var value = self.body[0].value;\n self.body = value ? value : [];\n }\n return self;\n });\n\n def_optimize(AST_Function, function(self, compressor) {\n self = opt_AST_Lambda(self, compressor);\n if (compressor.option(\"unsafe_arrows\")\n && compressor.option(\"ecma\") >= 6\n && !self.name\n && !self.is_generator\n && !self.uses_arguments\n && !self.pinned()) {\n var has_special_symbol = false;\n self.walk(new TreeWalker(function(node) {\n if (has_special_symbol) return true;\n if (node instanceof AST_This) {\n has_special_symbol = true;\n return true;\n }\n }));\n if (!has_special_symbol) return make_node(AST_Arrow, self, self).optimize(compressor);\n }\n return self;\n });\n\n def_optimize(AST_Class, function(self, compressor) {\n // HACK to avoid compress failure.\n // AST_Class is not really an AST_Scope/AST_Block as it lacks a body.\n return self;\n });\n\n def_optimize(AST_Yield, function(self, compressor) {\n if (self.expression && !self.is_star && is_undefined(self.expression, compressor)) {\n self.expression = null;\n }\n return self;\n });\n\n def_optimize(AST_TemplateString, function(self, compressor) {\n if (!compressor.option(\"evaluate\")\n || compressor.parent() instanceof AST_PrefixedTemplateString)\n return self;\n\n var segments = [];\n for (var i = 0; i < self.segments.length; i++) {\n var segment = self.segments[i];\n if (segment instanceof AST_Node) {\n var result = segment.evaluate(compressor);\n // Evaluate to constant value\n // Constant value shorter than ${segment}\n if (result !== segment && (result + \"\").length <= segment.print_to_string().length + \"${}\".length) {\n // There should always be a previous and next segment if segment is a node\n segments[segments.length - 1].value = segments[segments.length - 1].value + result + self.segments[++i].value;\n continue;\n }\n }\n segments.push(segment);\n }\n self.segments = segments;\n\n return segments.length == 1 ? make_node(AST_String, self, segments[0]) : self;\n });\n\n def_optimize(AST_PrefixedTemplateString, function(self, compressor) {\n return self;\n });\n\n // [\"p\"]:1 ---> p:1\n // [42]:1 ---> 42:1\n function lift_key(self, compressor) {\n if (!compressor.option(\"computed_props\")) return self;\n // save a comparison in the typical case\n if (!(self.key instanceof AST_Constant)) return self;\n // whitelist acceptable props as not all AST_Constants are true constants\n if (self.key instanceof AST_String || self.key instanceof AST_Number) {\n if (self.key.value === \"__proto__\") return self;\n if (self.key.value == \"constructor\"\n && compressor.parent() instanceof AST_Class) return self;\n if (self instanceof AST_ObjectKeyVal) {\n self.key = self.key.value;\n } else {\n self.key = make_node(AST_SymbolMethod, self.key, {\n name: self.key.value\n });\n }\n }\n return self;\n }\n\n def_optimize(AST_ObjectProperty, lift_key);\n\n def_optimize(AST_ConciseMethod, function(self, compressor) {\n lift_key(self, compressor);\n // p(){return x;} ---> p:()=>x\n if (compressor.option(\"arrows\")\n && compressor.parent() instanceof AST_Object\n && !self.is_generator\n && !self.value.uses_arguments\n && !self.value.pinned()\n && self.value.body.length == 1\n && self.value.body[0] instanceof AST_Return\n && self.value.body[0].value\n && !self.value.contains_this()) {\n var arrow = make_node(AST_Arrow, self.value, self.value);\n arrow.async = self.async;\n arrow.is_generator = self.is_generator;\n return make_node(AST_ObjectKeyVal, self, {\n key: self.key instanceof AST_SymbolMethod ? self.key.name : self.key,\n value: arrow,\n quote: self.quote,\n });\n }\n return self;\n });\n\n def_optimize(AST_ObjectKeyVal, function(self, compressor) {\n lift_key(self, compressor);\n // p:function(){} ---> p(){}\n // p:function*(){} ---> *p(){}\n // p:async function(){} ---> async p(){}\n // p:()=>{} ---> p(){}\n // p:async()=>{} ---> async p(){}\n var unsafe_methods = compressor.option(\"unsafe_methods\");\n if (unsafe_methods\n && compressor.option(\"ecma\") >= 6\n && (!(unsafe_methods instanceof RegExp) || unsafe_methods.test(self.key + \"\"))) {\n var key = self.key;\n var value = self.value;\n var is_arrow_with_block = value instanceof AST_Arrow\n && Array.isArray(value.body)\n && !value.contains_this();\n if ((is_arrow_with_block || value instanceof AST_Function) && !value.name) {\n return make_node(AST_ConciseMethod, self, {\n async: value.async,\n is_generator: value.is_generator,\n key: key instanceof AST_Node ? key : make_node(AST_SymbolMethod, self, {\n name: key,\n }),\n value: make_node(AST_Accessor, value, value),\n quote: self.quote,\n });\n }\n }\n return self;\n });\n\n def_optimize(AST_Destructuring, function(self, compressor) {\n if (compressor.option(\"pure_getters\") == true\n && compressor.option(\"unused\")\n && !self.is_array\n && Array.isArray(self.names)\n && !is_destructuring_export_decl(compressor)) {\n var keep = [];\n for (var i = 0; i < self.names.length; i++) {\n var elem = self.names[i];\n if (!(elem instanceof AST_ObjectKeyVal\n && typeof elem.key == \"string\"\n && elem.value instanceof AST_SymbolDeclaration\n && !should_retain(compressor, elem.value.definition()))) {\n keep.push(elem);\n }\n }\n if (keep.length != self.names.length) {\n self.names = keep;\n }\n }\n return self;\n\n function is_destructuring_export_decl(compressor) {\n var ancestors = [/^VarDef$/, /^(Const|Let|Var)$/, /^Export$/];\n for (var a = 0, p = 0, len = ancestors.length; a < len; p++) {\n var parent = compressor.parent(p);\n if (!parent) return false;\n if (a === 0 && parent.TYPE == \"Destructuring\") continue;\n if (!ancestors[a].test(parent.TYPE)) {\n return false;\n }\n a++;\n }\n return true;\n }\n\n function should_retain(compressor, def) {\n if (def.references.length) return true;\n if (!def.global) return false;\n if (compressor.toplevel.vars) {\n if (compressor.top_retain) {\n return compressor.top_retain(def);\n }\n return false;\n }\n return true;\n }\n });\n})();\n\nexport {\n Compressor,\n};\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport MOZ_SourceMap from \"source-map\";\nimport {\n defaults,\n} from \"./utils.js\";\n\n// a small wrapper around fitzgen's source-map library\nfunction SourceMap(options) {\n options = defaults(options, {\n file : null,\n root : null,\n orig : null,\n\n orig_line_diff : 0,\n dest_line_diff : 0,\n });\n var generator = new MOZ_SourceMap.SourceMapGenerator({\n file : options.file,\n sourceRoot : options.root\n });\n var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig);\n\n if (orig_map) {\n orig_map.sources.forEach(function(source) {\n var sourceContent = orig_map.sourceContentFor(source, true);\n if (sourceContent) {\n generator.setSourceContent(source, sourceContent);\n }\n });\n }\n\n function add(source, gen_line, gen_col, orig_line, orig_col, name) {\n if (orig_map) {\n var info = orig_map.originalPositionFor({\n line: orig_line,\n column: orig_col\n });\n if (info.source === null) {\n return;\n }\n source = info.source;\n orig_line = info.line;\n orig_col = info.column;\n name = info.name || name;\n }\n generator.addMapping({\n generated : { line: gen_line + options.dest_line_diff, column: gen_col },\n original : { line: orig_line + options.orig_line_diff, column: orig_col },\n source : source,\n name : name\n });\n }\n return {\n add : add,\n get : function() { return generator; },\n toString : function() { return JSON.stringify(generator.toJSON()); }\n };\n}\n\nexport {\n SourceMap,\n};\n","export var domprops = [\n \"$&\",\n \"$'\",\n \"$*\",\n \"$+\",\n \"$1\",\n \"$2\",\n \"$3\",\n \"$4\",\n \"$5\",\n \"$6\",\n \"$7\",\n \"$8\",\n \"$9\",\n \"$_\",\n \"$`\",\n \"$input\",\n \"@@iterator\",\n \"ABORT_ERR\",\n \"ACTIVE\",\n \"ACTIVE_ATTRIBUTES\",\n \"ACTIVE_TEXTURE\",\n \"ACTIVE_UNIFORMS\",\n \"ADDITION\",\n \"ALIASED_LINE_WIDTH_RANGE\",\n \"ALIASED_POINT_SIZE_RANGE\",\n \"ALLOW_KEYBOARD_INPUT\",\n \"ALLPASS\",\n \"ALPHA\",\n \"ALPHA_BITS\",\n \"ALT_MASK\",\n \"ALWAYS\",\n \"ANY_TYPE\",\n \"ANY_UNORDERED_NODE_TYPE\",\n \"ARRAY_BUFFER\",\n \"ARRAY_BUFFER_BINDING\",\n \"ATTACHED_SHADERS\",\n \"ATTRIBUTE_NODE\",\n \"AT_TARGET\",\n \"AddSearchProvider\",\n \"AnalyserNode\",\n \"AnimationEvent\",\n \"AnonXMLHttpRequest\",\n \"ApplicationCache\",\n \"ApplicationCacheErrorEvent\",\n \"Array\",\n \"ArrayBuffer\",\n \"Attr\",\n \"Audio\",\n \"AudioBuffer\",\n \"AudioBufferSourceNode\",\n \"AudioContext\",\n \"AudioDestinationNode\",\n \"AudioListener\",\n \"AudioNode\",\n \"AudioParam\",\n \"AudioProcessingEvent\",\n \"AudioStreamTrack\",\n \"AutocompleteErrorEvent\",\n \"BACK\",\n \"BAD_BOUNDARYPOINTS_ERR\",\n \"BANDPASS\",\n \"BLEND\",\n \"BLEND_COLOR\",\n \"BLEND_DST_ALPHA\",\n \"BLEND_DST_RGB\",\n \"BLEND_EQUATION\",\n \"BLEND_EQUATION_ALPHA\",\n \"BLEND_EQUATION_RGB\",\n \"BLEND_SRC_ALPHA\",\n \"BLEND_SRC_RGB\",\n \"BLUE_BITS\",\n \"BLUR\",\n \"BOOL\",\n \"BOOLEAN_TYPE\",\n \"BOOL_VEC2\",\n \"BOOL_VEC3\",\n \"BOOL_VEC4\",\n \"BOTH\",\n \"BROWSER_DEFAULT_WEBGL\",\n \"BUBBLING_PHASE\",\n \"BUFFER_SIZE\",\n \"BUFFER_USAGE\",\n \"BYTE\",\n \"BYTES_PER_ELEMENT\",\n \"BarProp\",\n \"BaseHref\",\n \"BatteryManager\",\n \"BeforeLoadEvent\",\n \"BeforeUnloadEvent\",\n \"BiquadFilterNode\",\n \"Blob\",\n \"BlobEvent\",\n \"Boolean\",\n \"CAPTURING_PHASE\",\n \"CCW\",\n \"CDATASection\",\n \"CDATA_SECTION_NODE\",\n \"CHANGE\",\n \"CHARSET_RULE\",\n \"CHECKING\",\n \"CLAMP_TO_EDGE\",\n \"CLICK\",\n \"CLOSED\",\n \"CLOSING\",\n \"COLOR_ATTACHMENT0\",\n \"COLOR_BUFFER_BIT\",\n \"COLOR_CLEAR_VALUE\",\n \"COLOR_WRITEMASK\",\n \"COMMENT_NODE\",\n \"COMPILE_STATUS\",\n \"COMPRESSED_RGBA_S3TC_DXT1_EXT\",\n \"COMPRESSED_RGBA_S3TC_DXT3_EXT\",\n \"COMPRESSED_RGBA_S3TC_DXT5_EXT\",\n \"COMPRESSED_RGB_S3TC_DXT1_EXT\",\n \"COMPRESSED_TEXTURE_FORMATS\",\n \"CONNECTING\",\n \"CONSTANT_ALPHA\",\n \"CONSTANT_COLOR\",\n \"CONSTRAINT_ERR\",\n \"CONTEXT_LOST_WEBGL\",\n \"CONTROL_MASK\",\n \"COUNTER_STYLE_RULE\",\n \"CSS\",\n \"CSS2Properties\",\n \"CSSCharsetRule\",\n \"CSSConditionRule\",\n \"CSSCounterStyleRule\",\n \"CSSFontFaceRule\",\n \"CSSFontFeatureValuesRule\",\n \"CSSGroupingRule\",\n \"CSSImportRule\",\n \"CSSKeyframeRule\",\n \"CSSKeyframesRule\",\n \"CSSMediaRule\",\n \"CSSMozDocumentRule\",\n \"CSSNameSpaceRule\",\n \"CSSPageRule\",\n \"CSSPrimitiveValue\",\n \"CSSRule\",\n \"CSSRuleList\",\n \"CSSStyleDeclaration\",\n \"CSSStyleRule\",\n \"CSSStyleSheet\",\n \"CSSSupportsRule\",\n \"CSSUnknownRule\",\n \"CSSValue\",\n \"CSSValueList\",\n \"CSSVariablesDeclaration\",\n \"CSSVariablesRule\",\n \"CSSViewportRule\",\n \"CSS_ATTR\",\n \"CSS_CM\",\n \"CSS_COUNTER\",\n \"CSS_CUSTOM\",\n \"CSS_DEG\",\n \"CSS_DIMENSION\",\n \"CSS_EMS\",\n \"CSS_EXS\",\n \"CSS_FILTER_BLUR\",\n \"CSS_FILTER_BRIGHTNESS\",\n \"CSS_FILTER_CONTRAST\",\n \"CSS_FILTER_CUSTOM\",\n \"CSS_FILTER_DROP_SHADOW\",\n \"CSS_FILTER_GRAYSCALE\",\n \"CSS_FILTER_HUE_ROTATE\",\n \"CSS_FILTER_INVERT\",\n \"CSS_FILTER_OPACITY\",\n \"CSS_FILTER_REFERENCE\",\n \"CSS_FILTER_SATURATE\",\n \"CSS_FILTER_SEPIA\",\n \"CSS_GRAD\",\n \"CSS_HZ\",\n \"CSS_IDENT\",\n \"CSS_IN\",\n \"CSS_INHERIT\",\n \"CSS_KHZ\",\n \"CSS_MATRIX\",\n \"CSS_MATRIX3D\",\n \"CSS_MM\",\n \"CSS_MS\",\n \"CSS_NUMBER\",\n \"CSS_PC\",\n \"CSS_PERCENTAGE\",\n \"CSS_PERSPECTIVE\",\n \"CSS_PRIMITIVE_VALUE\",\n \"CSS_PT\",\n \"CSS_PX\",\n \"CSS_RAD\",\n \"CSS_RECT\",\n \"CSS_RGBCOLOR\",\n \"CSS_ROTATE\",\n \"CSS_ROTATE3D\",\n \"CSS_ROTATEX\",\n \"CSS_ROTATEY\",\n \"CSS_ROTATEZ\",\n \"CSS_S\",\n \"CSS_SCALE\",\n \"CSS_SCALE3D\",\n \"CSS_SCALEX\",\n \"CSS_SCALEY\",\n \"CSS_SCALEZ\",\n \"CSS_SKEW\",\n \"CSS_SKEWX\",\n \"CSS_SKEWY\",\n \"CSS_STRING\",\n \"CSS_TRANSLATE\",\n \"CSS_TRANSLATE3D\",\n \"CSS_TRANSLATEX\",\n \"CSS_TRANSLATEY\",\n \"CSS_TRANSLATEZ\",\n \"CSS_UNKNOWN\",\n \"CSS_URI\",\n \"CSS_VALUE_LIST\",\n \"CSS_VH\",\n \"CSS_VMAX\",\n \"CSS_VMIN\",\n \"CSS_VW\",\n \"CULL_FACE\",\n \"CULL_FACE_MODE\",\n \"CURRENT_PROGRAM\",\n \"CURRENT_VERTEX_ATTRIB\",\n \"CUSTOM\",\n \"CW\",\n \"CanvasGradient\",\n \"CanvasPattern\",\n \"CanvasRenderingContext2D\",\n \"CaretPosition\",\n \"ChannelMergerNode\",\n \"ChannelSplitterNode\",\n \"CharacterData\",\n \"ClientRect\",\n \"ClientRectList\",\n \"Clipboard\",\n \"ClipboardEvent\",\n \"CloseEvent\",\n \"Collator\",\n \"CommandEvent\",\n \"Comment\",\n \"CompositionEvent\",\n \"Console\",\n \"Controllers\",\n \"ConvolverNode\",\n \"Counter\",\n \"Crypto\",\n \"CryptoKey\",\n \"CustomEvent\",\n \"DATABASE_ERR\",\n \"DATA_CLONE_ERR\",\n \"DATA_ERR\",\n \"DBLCLICK\",\n \"DECR\",\n \"DECR_WRAP\",\n \"DELETE_STATUS\",\n \"DEPTH_ATTACHMENT\",\n \"DEPTH_BITS\",\n \"DEPTH_BUFFER_BIT\",\n \"DEPTH_CLEAR_VALUE\",\n \"DEPTH_COMPONENT\",\n \"DEPTH_COMPONENT16\",\n \"DEPTH_FUNC\",\n \"DEPTH_RANGE\",\n \"DEPTH_STENCIL\",\n \"DEPTH_STENCIL_ATTACHMENT\",\n \"DEPTH_TEST\",\n \"DEPTH_WRITEMASK\",\n \"DIRECTION_DOWN\",\n \"DIRECTION_LEFT\",\n \"DIRECTION_RIGHT\",\n \"DIRECTION_UP\",\n \"DISABLED\",\n \"DISPATCH_REQUEST_ERR\",\n \"DITHER\",\n \"DOCUMENT_FRAGMENT_NODE\",\n \"DOCUMENT_NODE\",\n \"DOCUMENT_POSITION_CONTAINED_BY\",\n \"DOCUMENT_POSITION_CONTAINS\",\n \"DOCUMENT_POSITION_DISCONNECTED\",\n \"DOCUMENT_POSITION_FOLLOWING\",\n \"DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\",\n \"DOCUMENT_POSITION_PRECEDING\",\n \"DOCUMENT_TYPE_NODE\",\n \"DOMCursor\",\n \"DOMError\",\n \"DOMException\",\n \"DOMImplementation\",\n \"DOMImplementationLS\",\n \"DOMMatrix\",\n \"DOMMatrixReadOnly\",\n \"DOMParser\",\n \"DOMPoint\",\n \"DOMPointReadOnly\",\n \"DOMQuad\",\n \"DOMRect\",\n \"DOMRectList\",\n \"DOMRectReadOnly\",\n \"DOMRequest\",\n \"DOMSTRING_SIZE_ERR\",\n \"DOMSettableTokenList\",\n \"DOMStringList\",\n \"DOMStringMap\",\n \"DOMTokenList\",\n \"DOMTransactionEvent\",\n \"DOM_DELTA_LINE\",\n \"DOM_DELTA_PAGE\",\n \"DOM_DELTA_PIXEL\",\n \"DOM_INPUT_METHOD_DROP\",\n \"DOM_INPUT_METHOD_HANDWRITING\",\n \"DOM_INPUT_METHOD_IME\",\n \"DOM_INPUT_METHOD_KEYBOARD\",\n \"DOM_INPUT_METHOD_MULTIMODAL\",\n \"DOM_INPUT_METHOD_OPTION\",\n \"DOM_INPUT_METHOD_PASTE\",\n \"DOM_INPUT_METHOD_SCRIPT\",\n \"DOM_INPUT_METHOD_UNKNOWN\",\n \"DOM_INPUT_METHOD_VOICE\",\n \"DOM_KEY_LOCATION_JOYSTICK\",\n \"DOM_KEY_LOCATION_LEFT\",\n \"DOM_KEY_LOCATION_MOBILE\",\n \"DOM_KEY_LOCATION_NUMPAD\",\n \"DOM_KEY_LOCATION_RIGHT\",\n \"DOM_KEY_LOCATION_STANDARD\",\n \"DOM_VK_0\",\n \"DOM_VK_1\",\n \"DOM_VK_2\",\n \"DOM_VK_3\",\n \"DOM_VK_4\",\n \"DOM_VK_5\",\n \"DOM_VK_6\",\n \"DOM_VK_7\",\n \"DOM_VK_8\",\n \"DOM_VK_9\",\n \"DOM_VK_A\",\n \"DOM_VK_ACCEPT\",\n \"DOM_VK_ADD\",\n \"DOM_VK_ALT\",\n \"DOM_VK_ALTGR\",\n \"DOM_VK_AMPERSAND\",\n \"DOM_VK_ASTERISK\",\n \"DOM_VK_AT\",\n \"DOM_VK_ATTN\",\n \"DOM_VK_B\",\n \"DOM_VK_BACKSPACE\",\n \"DOM_VK_BACK_QUOTE\",\n \"DOM_VK_BACK_SLASH\",\n \"DOM_VK_BACK_SPACE\",\n \"DOM_VK_C\",\n \"DOM_VK_CANCEL\",\n \"DOM_VK_CAPS_LOCK\",\n \"DOM_VK_CIRCUMFLEX\",\n \"DOM_VK_CLEAR\",\n \"DOM_VK_CLOSE_BRACKET\",\n \"DOM_VK_CLOSE_CURLY_BRACKET\",\n \"DOM_VK_CLOSE_PAREN\",\n \"DOM_VK_COLON\",\n \"DOM_VK_COMMA\",\n \"DOM_VK_CONTEXT_MENU\",\n \"DOM_VK_CONTROL\",\n \"DOM_VK_CONVERT\",\n \"DOM_VK_CRSEL\",\n \"DOM_VK_CTRL\",\n \"DOM_VK_D\",\n \"DOM_VK_DECIMAL\",\n \"DOM_VK_DELETE\",\n \"DOM_VK_DIVIDE\",\n \"DOM_VK_DOLLAR\",\n \"DOM_VK_DOUBLE_QUOTE\",\n \"DOM_VK_DOWN\",\n \"DOM_VK_E\",\n \"DOM_VK_EISU\",\n \"DOM_VK_END\",\n \"DOM_VK_ENTER\",\n \"DOM_VK_EQUALS\",\n \"DOM_VK_EREOF\",\n \"DOM_VK_ESCAPE\",\n \"DOM_VK_EXCLAMATION\",\n \"DOM_VK_EXECUTE\",\n \"DOM_VK_EXSEL\",\n \"DOM_VK_F\",\n \"DOM_VK_F1\",\n \"DOM_VK_F10\",\n \"DOM_VK_F11\",\n \"DOM_VK_F12\",\n \"DOM_VK_F13\",\n \"DOM_VK_F14\",\n \"DOM_VK_F15\",\n \"DOM_VK_F16\",\n \"DOM_VK_F17\",\n \"DOM_VK_F18\",\n \"DOM_VK_F19\",\n \"DOM_VK_F2\",\n \"DOM_VK_F20\",\n \"DOM_VK_F21\",\n \"DOM_VK_F22\",\n \"DOM_VK_F23\",\n \"DOM_VK_F24\",\n \"DOM_VK_F25\",\n \"DOM_VK_F26\",\n \"DOM_VK_F27\",\n \"DOM_VK_F28\",\n \"DOM_VK_F29\",\n \"DOM_VK_F3\",\n \"DOM_VK_F30\",\n \"DOM_VK_F31\",\n \"DOM_VK_F32\",\n \"DOM_VK_F33\",\n \"DOM_VK_F34\",\n \"DOM_VK_F35\",\n \"DOM_VK_F36\",\n \"DOM_VK_F4\",\n \"DOM_VK_F5\",\n \"DOM_VK_F6\",\n \"DOM_VK_F7\",\n \"DOM_VK_F8\",\n \"DOM_VK_F9\",\n \"DOM_VK_FINAL\",\n \"DOM_VK_FRONT\",\n \"DOM_VK_G\",\n \"DOM_VK_GREATER_THAN\",\n \"DOM_VK_H\",\n \"DOM_VK_HANGUL\",\n \"DOM_VK_HANJA\",\n \"DOM_VK_HASH\",\n \"DOM_VK_HELP\",\n \"DOM_VK_HK_TOGGLE\",\n \"DOM_VK_HOME\",\n \"DOM_VK_HYPHEN_MINUS\",\n \"DOM_VK_I\",\n \"DOM_VK_INSERT\",\n \"DOM_VK_J\",\n \"DOM_VK_JUNJA\",\n \"DOM_VK_K\",\n \"DOM_VK_KANA\",\n \"DOM_VK_KANJI\",\n \"DOM_VK_L\",\n \"DOM_VK_LEFT\",\n \"DOM_VK_LEFT_TAB\",\n \"DOM_VK_LESS_THAN\",\n \"DOM_VK_M\",\n \"DOM_VK_META\",\n \"DOM_VK_MODECHANGE\",\n \"DOM_VK_MULTIPLY\",\n \"DOM_VK_N\",\n \"DOM_VK_NONCONVERT\",\n \"DOM_VK_NUMPAD0\",\n \"DOM_VK_NUMPAD1\",\n \"DOM_VK_NUMPAD2\",\n \"DOM_VK_NUMPAD3\",\n \"DOM_VK_NUMPAD4\",\n \"DOM_VK_NUMPAD5\",\n \"DOM_VK_NUMPAD6\",\n \"DOM_VK_NUMPAD7\",\n \"DOM_VK_NUMPAD8\",\n \"DOM_VK_NUMPAD9\",\n \"DOM_VK_NUM_LOCK\",\n \"DOM_VK_O\",\n \"DOM_VK_OEM_1\",\n \"DOM_VK_OEM_102\",\n \"DOM_VK_OEM_2\",\n \"DOM_VK_OEM_3\",\n \"DOM_VK_OEM_4\",\n \"DOM_VK_OEM_5\",\n \"DOM_VK_OEM_6\",\n \"DOM_VK_OEM_7\",\n \"DOM_VK_OEM_8\",\n \"DOM_VK_OEM_COMMA\",\n \"DOM_VK_OEM_MINUS\",\n \"DOM_VK_OEM_PERIOD\",\n \"DOM_VK_OEM_PLUS\",\n \"DOM_VK_OPEN_BRACKET\",\n \"DOM_VK_OPEN_CURLY_BRACKET\",\n \"DOM_VK_OPEN_PAREN\",\n \"DOM_VK_P\",\n \"DOM_VK_PA1\",\n \"DOM_VK_PAGEDOWN\",\n \"DOM_VK_PAGEUP\",\n \"DOM_VK_PAGE_DOWN\",\n \"DOM_VK_PAGE_UP\",\n \"DOM_VK_PAUSE\",\n \"DOM_VK_PERCENT\",\n \"DOM_VK_PERIOD\",\n \"DOM_VK_PIPE\",\n \"DOM_VK_PLAY\",\n \"DOM_VK_PLUS\",\n \"DOM_VK_PRINT\",\n \"DOM_VK_PRINTSCREEN\",\n \"DOM_VK_PROCESSKEY\",\n \"DOM_VK_PROPERITES\",\n \"DOM_VK_Q\",\n \"DOM_VK_QUESTION_MARK\",\n \"DOM_VK_QUOTE\",\n \"DOM_VK_R\",\n \"DOM_VK_REDO\",\n \"DOM_VK_RETURN\",\n \"DOM_VK_RIGHT\",\n \"DOM_VK_S\",\n \"DOM_VK_SCROLL_LOCK\",\n \"DOM_VK_SELECT\",\n \"DOM_VK_SEMICOLON\",\n \"DOM_VK_SEPARATOR\",\n \"DOM_VK_SHIFT\",\n \"DOM_VK_SLASH\",\n \"DOM_VK_SLEEP\",\n \"DOM_VK_SPACE\",\n \"DOM_VK_SUBTRACT\",\n \"DOM_VK_T\",\n \"DOM_VK_TAB\",\n \"DOM_VK_TILDE\",\n \"DOM_VK_U\",\n \"DOM_VK_UNDERSCORE\",\n \"DOM_VK_UNDO\",\n \"DOM_VK_UNICODE\",\n \"DOM_VK_UP\",\n \"DOM_VK_V\",\n \"DOM_VK_VOLUME_DOWN\",\n \"DOM_VK_VOLUME_MUTE\",\n \"DOM_VK_VOLUME_UP\",\n \"DOM_VK_W\",\n \"DOM_VK_WIN\",\n \"DOM_VK_WINDOW\",\n \"DOM_VK_WIN_ICO_00\",\n \"DOM_VK_WIN_ICO_CLEAR\",\n \"DOM_VK_WIN_ICO_HELP\",\n \"DOM_VK_WIN_OEM_ATTN\",\n \"DOM_VK_WIN_OEM_AUTO\",\n \"DOM_VK_WIN_OEM_BACKTAB\",\n \"DOM_VK_WIN_OEM_CLEAR\",\n \"DOM_VK_WIN_OEM_COPY\",\n \"DOM_VK_WIN_OEM_CUSEL\",\n \"DOM_VK_WIN_OEM_ENLW\",\n \"DOM_VK_WIN_OEM_FINISH\",\n \"DOM_VK_WIN_OEM_FJ_JISHO\",\n \"DOM_VK_WIN_OEM_FJ_LOYA\",\n \"DOM_VK_WIN_OEM_FJ_MASSHOU\",\n \"DOM_VK_WIN_OEM_FJ_ROYA\",\n \"DOM_VK_WIN_OEM_FJ_TOUROKU\",\n \"DOM_VK_WIN_OEM_JUMP\",\n \"DOM_VK_WIN_OEM_PA1\",\n \"DOM_VK_WIN_OEM_PA2\",\n \"DOM_VK_WIN_OEM_PA3\",\n \"DOM_VK_WIN_OEM_RESET\",\n \"DOM_VK_WIN_OEM_WSCTRL\",\n \"DOM_VK_X\",\n \"DOM_VK_XF86XK_ADD_FAVORITE\",\n \"DOM_VK_XF86XK_APPLICATION_LEFT\",\n \"DOM_VK_XF86XK_APPLICATION_RIGHT\",\n \"DOM_VK_XF86XK_AUDIO_CYCLE_TRACK\",\n \"DOM_VK_XF86XK_AUDIO_FORWARD\",\n \"DOM_VK_XF86XK_AUDIO_LOWER_VOLUME\",\n \"DOM_VK_XF86XK_AUDIO_MEDIA\",\n \"DOM_VK_XF86XK_AUDIO_MUTE\",\n \"DOM_VK_XF86XK_AUDIO_NEXT\",\n \"DOM_VK_XF86XK_AUDIO_PAUSE\",\n \"DOM_VK_XF86XK_AUDIO_PLAY\",\n \"DOM_VK_XF86XK_AUDIO_PREV\",\n \"DOM_VK_XF86XK_AUDIO_RAISE_VOLUME\",\n \"DOM_VK_XF86XK_AUDIO_RANDOM_PLAY\",\n \"DOM_VK_XF86XK_AUDIO_RECORD\",\n \"DOM_VK_XF86XK_AUDIO_REPEAT\",\n \"DOM_VK_XF86XK_AUDIO_REWIND\",\n \"DOM_VK_XF86XK_AUDIO_STOP\",\n \"DOM_VK_XF86XK_AWAY\",\n \"DOM_VK_XF86XK_BACK\",\n \"DOM_VK_XF86XK_BACK_FORWARD\",\n \"DOM_VK_XF86XK_BATTERY\",\n \"DOM_VK_XF86XK_BLUE\",\n \"DOM_VK_XF86XK_BLUETOOTH\",\n \"DOM_VK_XF86XK_BOOK\",\n \"DOM_VK_XF86XK_BRIGHTNESS_ADJUST\",\n \"DOM_VK_XF86XK_CALCULATOR\",\n \"DOM_VK_XF86XK_CALENDAR\",\n \"DOM_VK_XF86XK_CD\",\n \"DOM_VK_XF86XK_CLOSE\",\n \"DOM_VK_XF86XK_COMMUNITY\",\n \"DOM_VK_XF86XK_CONTRAST_ADJUST\",\n \"DOM_VK_XF86XK_COPY\",\n \"DOM_VK_XF86XK_CUT\",\n \"DOM_VK_XF86XK_CYCLE_ANGLE\",\n \"DOM_VK_XF86XK_DISPLAY\",\n \"DOM_VK_XF86XK_DOCUMENTS\",\n \"DOM_VK_XF86XK_DOS\",\n \"DOM_VK_XF86XK_EJECT\",\n \"DOM_VK_XF86XK_EXCEL\",\n \"DOM_VK_XF86XK_EXPLORER\",\n \"DOM_VK_XF86XK_FAVORITES\",\n \"DOM_VK_XF86XK_FINANCE\",\n \"DOM_VK_XF86XK_FORWARD\",\n \"DOM_VK_XF86XK_FRAME_BACK\",\n \"DOM_VK_XF86XK_FRAME_FORWARD\",\n \"DOM_VK_XF86XK_GAME\",\n \"DOM_VK_XF86XK_GO\",\n \"DOM_VK_XF86XK_GREEN\",\n \"DOM_VK_XF86XK_HIBERNATE\",\n \"DOM_VK_XF86XK_HISTORY\",\n \"DOM_VK_XF86XK_HOME_PAGE\",\n \"DOM_VK_XF86XK_HOT_LINKS\",\n \"DOM_VK_XF86XK_I_TOUCH\",\n \"DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN\",\n \"DOM_VK_XF86XK_KBD_BRIGHTNESS_UP\",\n \"DOM_VK_XF86XK_KBD_LIGHT_ON_OFF\",\n \"DOM_VK_XF86XK_LAUNCH0\",\n \"DOM_VK_XF86XK_LAUNCH1\",\n \"DOM_VK_XF86XK_LAUNCH2\",\n \"DOM_VK_XF86XK_LAUNCH3\",\n \"DOM_VK_XF86XK_LAUNCH4\",\n \"DOM_VK_XF86XK_LAUNCH5\",\n \"DOM_VK_XF86XK_LAUNCH6\",\n \"DOM_VK_XF86XK_LAUNCH7\",\n \"DOM_VK_XF86XK_LAUNCH8\",\n \"DOM_VK_XF86XK_LAUNCH9\",\n \"DOM_VK_XF86XK_LAUNCH_A\",\n \"DOM_VK_XF86XK_LAUNCH_B\",\n \"DOM_VK_XF86XK_LAUNCH_C\",\n \"DOM_VK_XF86XK_LAUNCH_D\",\n \"DOM_VK_XF86XK_LAUNCH_E\",\n \"DOM_VK_XF86XK_LAUNCH_F\",\n \"DOM_VK_XF86XK_LIGHT_BULB\",\n \"DOM_VK_XF86XK_LOG_OFF\",\n \"DOM_VK_XF86XK_MAIL\",\n \"DOM_VK_XF86XK_MAIL_FORWARD\",\n \"DOM_VK_XF86XK_MARKET\",\n \"DOM_VK_XF86XK_MEETING\",\n \"DOM_VK_XF86XK_MEMO\",\n \"DOM_VK_XF86XK_MENU_KB\",\n \"DOM_VK_XF86XK_MENU_PB\",\n \"DOM_VK_XF86XK_MESSENGER\",\n \"DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN\",\n \"DOM_VK_XF86XK_MON_BRIGHTNESS_UP\",\n \"DOM_VK_XF86XK_MUSIC\",\n \"DOM_VK_XF86XK_MY_COMPUTER\",\n \"DOM_VK_XF86XK_MY_SITES\",\n \"DOM_VK_XF86XK_NEW\",\n \"DOM_VK_XF86XK_NEWS\",\n \"DOM_VK_XF86XK_OFFICE_HOME\",\n \"DOM_VK_XF86XK_OPEN\",\n \"DOM_VK_XF86XK_OPEN_URL\",\n \"DOM_VK_XF86XK_OPTION\",\n \"DOM_VK_XF86XK_PASTE\",\n \"DOM_VK_XF86XK_PHONE\",\n \"DOM_VK_XF86XK_PICTURES\",\n \"DOM_VK_XF86XK_POWER_DOWN\",\n \"DOM_VK_XF86XK_POWER_OFF\",\n \"DOM_VK_XF86XK_RED\",\n \"DOM_VK_XF86XK_REFRESH\",\n \"DOM_VK_XF86XK_RELOAD\",\n \"DOM_VK_XF86XK_REPLY\",\n \"DOM_VK_XF86XK_ROCKER_DOWN\",\n \"DOM_VK_XF86XK_ROCKER_ENTER\",\n \"DOM_VK_XF86XK_ROCKER_UP\",\n \"DOM_VK_XF86XK_ROTATE_WINDOWS\",\n \"DOM_VK_XF86XK_ROTATION_KB\",\n \"DOM_VK_XF86XK_ROTATION_PB\",\n \"DOM_VK_XF86XK_SAVE\",\n \"DOM_VK_XF86XK_SCREEN_SAVER\",\n \"DOM_VK_XF86XK_SCROLL_CLICK\",\n \"DOM_VK_XF86XK_SCROLL_DOWN\",\n \"DOM_VK_XF86XK_SCROLL_UP\",\n \"DOM_VK_XF86XK_SEARCH\",\n \"DOM_VK_XF86XK_SEND\",\n \"DOM_VK_XF86XK_SHOP\",\n \"DOM_VK_XF86XK_SPELL\",\n \"DOM_VK_XF86XK_SPLIT_SCREEN\",\n \"DOM_VK_XF86XK_STANDBY\",\n \"DOM_VK_XF86XK_START\",\n \"DOM_VK_XF86XK_STOP\",\n \"DOM_VK_XF86XK_SUBTITLE\",\n \"DOM_VK_XF86XK_SUPPORT\",\n \"DOM_VK_XF86XK_SUSPEND\",\n \"DOM_VK_XF86XK_TASK_PANE\",\n \"DOM_VK_XF86XK_TERMINAL\",\n \"DOM_VK_XF86XK_TIME\",\n \"DOM_VK_XF86XK_TOOLS\",\n \"DOM_VK_XF86XK_TOP_MENU\",\n \"DOM_VK_XF86XK_TO_DO_LIST\",\n \"DOM_VK_XF86XK_TRAVEL\",\n \"DOM_VK_XF86XK_USER1KB\",\n \"DOM_VK_XF86XK_USER2KB\",\n \"DOM_VK_XF86XK_USER_PB\",\n \"DOM_VK_XF86XK_UWB\",\n \"DOM_VK_XF86XK_VENDOR_HOME\",\n \"DOM_VK_XF86XK_VIDEO\",\n \"DOM_VK_XF86XK_VIEW\",\n \"DOM_VK_XF86XK_WAKE_UP\",\n \"DOM_VK_XF86XK_WEB_CAM\",\n \"DOM_VK_XF86XK_WHEEL_BUTTON\",\n \"DOM_VK_XF86XK_WLAN\",\n \"DOM_VK_XF86XK_WORD\",\n \"DOM_VK_XF86XK_WWW\",\n \"DOM_VK_XF86XK_XFER\",\n \"DOM_VK_XF86XK_YELLOW\",\n \"DOM_VK_XF86XK_ZOOM_IN\",\n \"DOM_VK_XF86XK_ZOOM_OUT\",\n \"DOM_VK_Y\",\n \"DOM_VK_Z\",\n \"DOM_VK_ZOOM\",\n \"DONE\",\n \"DONT_CARE\",\n \"DOWNLOADING\",\n \"DRAGDROP\",\n \"DST_ALPHA\",\n \"DST_COLOR\",\n \"DYNAMIC_DRAW\",\n \"DataChannel\",\n \"DataTransfer\",\n \"DataTransferItem\",\n \"DataTransferItemList\",\n \"DataView\",\n \"Date\",\n \"DateTimeFormat\",\n \"DelayNode\",\n \"DesktopNotification\",\n \"DesktopNotificationCenter\",\n \"DeviceLightEvent\",\n \"DeviceMotionEvent\",\n \"DeviceOrientationEvent\",\n \"DeviceProximityEvent\",\n \"DeviceStorage\",\n \"DeviceStorageChangeEvent\",\n \"Document\",\n \"DocumentFragment\",\n \"DocumentType\",\n \"DragEvent\",\n \"DynamicsCompressorNode\",\n \"E\",\n \"ELEMENT_ARRAY_BUFFER\",\n \"ELEMENT_ARRAY_BUFFER_BINDING\",\n \"ELEMENT_NODE\",\n \"EMPTY\",\n \"ENCODING_ERR\",\n \"ENDED\",\n \"END_TO_END\",\n \"END_TO_START\",\n \"ENTITY_NODE\",\n \"ENTITY_REFERENCE_NODE\",\n \"EPSILON\",\n \"EQUAL\",\n \"EQUALPOWER\",\n \"ERROR\",\n \"EXPONENTIAL_DISTANCE\",\n \"Element\",\n \"ElementQuery\",\n \"Entity\",\n \"EntityReference\",\n \"Error\",\n \"ErrorEvent\",\n \"EvalError\",\n \"Event\",\n \"EventException\",\n \"EventSource\",\n \"EventTarget\",\n \"External\",\n \"FASTEST\",\n \"FIDOSDK\",\n \"FILTER_ACCEPT\",\n \"FILTER_INTERRUPT\",\n \"FILTER_REJECT\",\n \"FILTER_SKIP\",\n \"FINISHED_STATE\",\n \"FIRST_ORDERED_NODE_TYPE\",\n \"FLOAT\",\n \"FLOAT_MAT2\",\n \"FLOAT_MAT3\",\n \"FLOAT_MAT4\",\n \"FLOAT_VEC2\",\n \"FLOAT_VEC3\",\n \"FLOAT_VEC4\",\n \"FOCUS\",\n \"FONT_FACE_RULE\",\n \"FONT_FEATURE_VALUES_RULE\",\n \"FRAGMENT_SHADER\",\n \"FRAGMENT_SHADER_DERIVATIVE_HINT_OES\",\n \"FRAMEBUFFER\",\n \"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",\n \"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",\n \"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",\n \"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",\n \"FRAMEBUFFER_BINDING\",\n \"FRAMEBUFFER_COMPLETE\",\n \"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",\n \"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",\n \"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",\n \"FRAMEBUFFER_UNSUPPORTED\",\n \"FRONT\",\n \"FRONT_AND_BACK\",\n \"FRONT_FACE\",\n \"FUNC_ADD\",\n \"FUNC_REVERSE_SUBTRACT\",\n \"FUNC_SUBTRACT\",\n \"Feed\",\n \"FeedEntry\",\n \"File\",\n \"FileError\",\n \"FileList\",\n \"FileReader\",\n \"FindInPage\",\n \"Float32Array\",\n \"Float64Array\",\n \"FocusEvent\",\n \"FontFace\",\n \"FormData\",\n \"Function\",\n \"GENERATE_MIPMAP_HINT\",\n \"GEQUAL\",\n \"GREATER\",\n \"GREEN_BITS\",\n \"GainNode\",\n \"Gamepad\",\n \"GamepadButton\",\n \"GamepadEvent\",\n \"GestureEvent\",\n \"HAVE_CURRENT_DATA\",\n \"HAVE_ENOUGH_DATA\",\n \"HAVE_FUTURE_DATA\",\n \"HAVE_METADATA\",\n \"HAVE_NOTHING\",\n \"HEADERS_RECEIVED\",\n \"HIDDEN\",\n \"HIERARCHY_REQUEST_ERR\",\n \"HIGHPASS\",\n \"HIGHSHELF\",\n \"HIGH_FLOAT\",\n \"HIGH_INT\",\n \"HORIZONTAL\",\n \"HORIZONTAL_AXIS\",\n \"HRTF\",\n \"HTMLAllCollection\",\n \"HTMLAnchorElement\",\n \"HTMLAppletElement\",\n \"HTMLAreaElement\",\n \"HTMLAudioElement\",\n \"HTMLBRElement\",\n \"HTMLBaseElement\",\n \"HTMLBaseFontElement\",\n \"HTMLBlockquoteElement\",\n \"HTMLBodyElement\",\n \"HTMLButtonElement\",\n \"HTMLCanvasElement\",\n \"HTMLCollection\",\n \"HTMLCommandElement\",\n \"HTMLContentElement\",\n \"HTMLDListElement\",\n \"HTMLDataElement\",\n \"HTMLDataListElement\",\n \"HTMLDetailsElement\",\n \"HTMLDialogElement\",\n \"HTMLDirectoryElement\",\n \"HTMLDivElement\",\n \"HTMLDocument\",\n \"HTMLElement\",\n \"HTMLEmbedElement\",\n \"HTMLFieldSetElement\",\n \"HTMLFontElement\",\n \"HTMLFormControlsCollection\",\n \"HTMLFormElement\",\n \"HTMLFrameElement\",\n \"HTMLFrameSetElement\",\n \"HTMLHRElement\",\n \"HTMLHeadElement\",\n \"HTMLHeadingElement\",\n \"HTMLHtmlElement\",\n \"HTMLIFrameElement\",\n \"HTMLImageElement\",\n \"HTMLInputElement\",\n \"HTMLIsIndexElement\",\n \"HTMLKeygenElement\",\n \"HTMLLIElement\",\n \"HTMLLabelElement\",\n \"HTMLLegendElement\",\n \"HTMLLinkElement\",\n \"HTMLMapElement\",\n \"HTMLMarqueeElement\",\n \"HTMLMediaElement\",\n \"HTMLMenuElement\",\n \"HTMLMenuItemElement\",\n \"HTMLMetaElement\",\n \"HTMLMeterElement\",\n \"HTMLModElement\",\n \"HTMLOListElement\",\n \"HTMLObjectElement\",\n \"HTMLOptGroupElement\",\n \"HTMLOptionElement\",\n \"HTMLOptionsCollection\",\n \"HTMLOutputElement\",\n \"HTMLParagraphElement\",\n \"HTMLParamElement\",\n \"HTMLPictureElement\",\n \"HTMLPreElement\",\n \"HTMLProgressElement\",\n \"HTMLPropertiesCollection\",\n \"HTMLQuoteElement\",\n \"HTMLScriptElement\",\n \"HTMLSelectElement\",\n \"HTMLShadowElement\",\n \"HTMLSourceElement\",\n \"HTMLSpanElement\",\n \"HTMLStyleElement\",\n \"HTMLTableCaptionElement\",\n \"HTMLTableCellElement\",\n \"HTMLTableColElement\",\n \"HTMLTableElement\",\n \"HTMLTableRowElement\",\n \"HTMLTableSectionElement\",\n \"HTMLTemplateElement\",\n \"HTMLTextAreaElement\",\n \"HTMLTimeElement\",\n \"HTMLTitleElement\",\n \"HTMLTrackElement\",\n \"HTMLUListElement\",\n \"HTMLUnknownElement\",\n \"HTMLVideoElement\",\n \"HashChangeEvent\",\n \"Headers\",\n \"History\",\n \"ICE_CHECKING\",\n \"ICE_CLOSED\",\n \"ICE_COMPLETED\",\n \"ICE_CONNECTED\",\n \"ICE_FAILED\",\n \"ICE_GATHERING\",\n \"ICE_WAITING\",\n \"IDBCursor\",\n \"IDBCursorWithValue\",\n \"IDBDatabase\",\n \"IDBDatabaseException\",\n \"IDBFactory\",\n \"IDBFileHandle\",\n \"IDBFileRequest\",\n \"IDBIndex\",\n \"IDBKeyRange\",\n \"IDBMutableFile\",\n \"IDBObjectStore\",\n \"IDBOpenDBRequest\",\n \"IDBRequest\",\n \"IDBTransaction\",\n \"IDBVersionChangeEvent\",\n \"IDLE\",\n \"IMPLEMENTATION_COLOR_READ_FORMAT\",\n \"IMPLEMENTATION_COLOR_READ_TYPE\",\n \"IMPORT_RULE\",\n \"INCR\",\n \"INCR_WRAP\",\n \"INDEX_SIZE_ERR\",\n \"INT\",\n \"INT_VEC2\",\n \"INT_VEC3\",\n \"INT_VEC4\",\n \"INUSE_ATTRIBUTE_ERR\",\n \"INVALID_ACCESS_ERR\",\n \"INVALID_CHARACTER_ERR\",\n \"INVALID_ENUM\",\n \"INVALID_EXPRESSION_ERR\",\n \"INVALID_FRAMEBUFFER_OPERATION\",\n \"INVALID_MODIFICATION_ERR\",\n \"INVALID_NODE_TYPE_ERR\",\n \"INVALID_OPERATION\",\n \"INVALID_STATE_ERR\",\n \"INVALID_VALUE\",\n \"INVERSE_DISTANCE\",\n \"INVERT\",\n \"IceCandidate\",\n \"Image\",\n \"ImageBitmap\",\n \"ImageData\",\n \"Infinity\",\n \"InputEvent\",\n \"InputMethodContext\",\n \"InstallTrigger\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Intent\",\n \"InternalError\",\n \"Intl\",\n \"IsSearchProviderInstalled\",\n \"Iterator\",\n \"JSON\",\n \"KEEP\",\n \"KEYDOWN\",\n \"KEYFRAMES_RULE\",\n \"KEYFRAME_RULE\",\n \"KEYPRESS\",\n \"KEYUP\",\n \"KeyEvent\",\n \"KeyboardEvent\",\n \"LENGTHADJUST_SPACING\",\n \"LENGTHADJUST_SPACINGANDGLYPHS\",\n \"LENGTHADJUST_UNKNOWN\",\n \"LEQUAL\",\n \"LESS\",\n \"LINEAR\",\n \"LINEAR_DISTANCE\",\n \"LINEAR_MIPMAP_LINEAR\",\n \"LINEAR_MIPMAP_NEAREST\",\n \"LINES\",\n \"LINE_LOOP\",\n \"LINE_STRIP\",\n \"LINE_WIDTH\",\n \"LINK_STATUS\",\n \"LIVE\",\n \"LN10\",\n \"LN2\",\n \"LOADED\",\n \"LOADING\",\n \"LOG10E\",\n \"LOG2E\",\n \"LOWPASS\",\n \"LOWSHELF\",\n \"LOW_FLOAT\",\n \"LOW_INT\",\n \"LSException\",\n \"LSParserFilter\",\n \"LUMINANCE\",\n \"LUMINANCE_ALPHA\",\n \"LocalMediaStream\",\n \"Location\",\n \"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",\n \"MAX_CUBE_MAP_TEXTURE_SIZE\",\n \"MAX_FRAGMENT_UNIFORM_VECTORS\",\n \"MAX_RENDERBUFFER_SIZE\",\n \"MAX_SAFE_INTEGER\",\n \"MAX_TEXTURE_IMAGE_UNITS\",\n \"MAX_TEXTURE_MAX_ANISOTROPY_EXT\",\n \"MAX_TEXTURE_SIZE\",\n \"MAX_VALUE\",\n \"MAX_VARYING_VECTORS\",\n \"MAX_VERTEX_ATTRIBS\",\n \"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",\n \"MAX_VERTEX_UNIFORM_VECTORS\",\n \"MAX_VIEWPORT_DIMS\",\n \"MEDIA_ERR_ABORTED\",\n \"MEDIA_ERR_DECODE\",\n \"MEDIA_ERR_ENCRYPTED\",\n \"MEDIA_ERR_NETWORK\",\n \"MEDIA_ERR_SRC_NOT_SUPPORTED\",\n \"MEDIA_KEYERR_CLIENT\",\n \"MEDIA_KEYERR_DOMAIN\",\n \"MEDIA_KEYERR_HARDWARECHANGE\",\n \"MEDIA_KEYERR_OUTPUT\",\n \"MEDIA_KEYERR_SERVICE\",\n \"MEDIA_KEYERR_UNKNOWN\",\n \"MEDIA_RULE\",\n \"MEDIUM_FLOAT\",\n \"MEDIUM_INT\",\n \"META_MASK\",\n \"MIN_SAFE_INTEGER\",\n \"MIN_VALUE\",\n \"MIRRORED_REPEAT\",\n \"MODE_ASYNCHRONOUS\",\n \"MODE_SYNCHRONOUS\",\n \"MODIFICATION\",\n \"MOUSEDOWN\",\n \"MOUSEDRAG\",\n \"MOUSEMOVE\",\n \"MOUSEOUT\",\n \"MOUSEOVER\",\n \"MOUSEUP\",\n \"MOZ_KEYFRAMES_RULE\",\n \"MOZ_KEYFRAME_RULE\",\n \"MOZ_SOURCE_CURSOR\",\n \"MOZ_SOURCE_ERASER\",\n \"MOZ_SOURCE_KEYBOARD\",\n \"MOZ_SOURCE_MOUSE\",\n \"MOZ_SOURCE_PEN\",\n \"MOZ_SOURCE_TOUCH\",\n \"MOZ_SOURCE_UNKNOWN\",\n \"MSGESTURE_FLAG_BEGIN\",\n \"MSGESTURE_FLAG_CANCEL\",\n \"MSGESTURE_FLAG_END\",\n \"MSGESTURE_FLAG_INERTIA\",\n \"MSGESTURE_FLAG_NONE\",\n \"MSPOINTER_TYPE_MOUSE\",\n \"MSPOINTER_TYPE_PEN\",\n \"MSPOINTER_TYPE_TOUCH\",\n \"MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE\",\n \"MS_ASYNC_CALLBACK_STATUS_CANCEL\",\n \"MS_ASYNC_CALLBACK_STATUS_CHOOSEANY\",\n \"MS_ASYNC_CALLBACK_STATUS_ERROR\",\n \"MS_ASYNC_CALLBACK_STATUS_JOIN\",\n \"MS_ASYNC_OP_STATUS_CANCELED\",\n \"MS_ASYNC_OP_STATUS_ERROR\",\n \"MS_ASYNC_OP_STATUS_SUCCESS\",\n \"MS_MANIPULATION_STATE_ACTIVE\",\n \"MS_MANIPULATION_STATE_CANCELLED\",\n \"MS_MANIPULATION_STATE_COMMITTED\",\n \"MS_MANIPULATION_STATE_DRAGGING\",\n \"MS_MANIPULATION_STATE_INERTIA\",\n \"MS_MANIPULATION_STATE_PRESELECT\",\n \"MS_MANIPULATION_STATE_SELECTING\",\n \"MS_MANIPULATION_STATE_STOPPED\",\n \"MS_MEDIA_ERR_ENCRYPTED\",\n \"MS_MEDIA_KEYERR_CLIENT\",\n \"MS_MEDIA_KEYERR_DOMAIN\",\n \"MS_MEDIA_KEYERR_HARDWARECHANGE\",\n \"MS_MEDIA_KEYERR_OUTPUT\",\n \"MS_MEDIA_KEYERR_SERVICE\",\n \"MS_MEDIA_KEYERR_UNKNOWN\",\n \"Map\",\n \"Math\",\n \"MediaController\",\n \"MediaDevices\",\n \"MediaElementAudioSourceNode\",\n \"MediaEncryptedEvent\",\n \"MediaError\",\n \"MediaKeyError\",\n \"MediaKeyEvent\",\n \"MediaKeyMessageEvent\",\n \"MediaKeyNeededEvent\",\n \"MediaKeySession\",\n \"MediaKeyStatusMap\",\n \"MediaKeySystemAccess\",\n \"MediaKeys\",\n \"MediaList\",\n \"MediaQueryList\",\n \"MediaQueryListEvent\",\n \"MediaRecorder\",\n \"MediaSource\",\n \"MediaStream\",\n \"MediaStreamAudioDestinationNode\",\n \"MediaStreamAudioSourceNode\",\n \"MediaStreamEvent\",\n \"MediaStreamTrack\",\n \"MediaStreamTrackEvent\",\n \"MessageChannel\",\n \"MessageEvent\",\n \"MessagePort\",\n \"Methods\",\n \"MimeType\",\n \"MimeTypeArray\",\n \"MouseEvent\",\n \"MouseScrollEvent\",\n \"MozAnimation\",\n \"MozAnimationDelay\",\n \"MozAnimationDirection\",\n \"MozAnimationDuration\",\n \"MozAnimationFillMode\",\n \"MozAnimationIterationCount\",\n \"MozAnimationName\",\n \"MozAnimationPlayState\",\n \"MozAnimationTimingFunction\",\n \"MozAppearance\",\n \"MozBackfaceVisibility\",\n \"MozBinding\",\n \"MozBorderBottomColors\",\n \"MozBorderEnd\",\n \"MozBorderEndColor\",\n \"MozBorderEndStyle\",\n \"MozBorderEndWidth\",\n \"MozBorderImage\",\n \"MozBorderLeftColors\",\n \"MozBorderRightColors\",\n \"MozBorderStart\",\n \"MozBorderStartColor\",\n \"MozBorderStartStyle\",\n \"MozBorderStartWidth\",\n \"MozBorderTopColors\",\n \"MozBoxAlign\",\n \"MozBoxDirection\",\n \"MozBoxFlex\",\n \"MozBoxOrdinalGroup\",\n \"MozBoxOrient\",\n \"MozBoxPack\",\n \"MozBoxSizing\",\n \"MozCSSKeyframeRule\",\n \"MozCSSKeyframesRule\",\n \"MozColumnCount\",\n \"MozColumnFill\",\n \"MozColumnGap\",\n \"MozColumnRule\",\n \"MozColumnRuleColor\",\n \"MozColumnRuleStyle\",\n \"MozColumnRuleWidth\",\n \"MozColumnWidth\",\n \"MozColumns\",\n \"MozContactChangeEvent\",\n \"MozFloatEdge\",\n \"MozFontFeatureSettings\",\n \"MozFontLanguageOverride\",\n \"MozForceBrokenImageIcon\",\n \"MozHyphens\",\n \"MozImageRegion\",\n \"MozMarginEnd\",\n \"MozMarginStart\",\n \"MozMmsEvent\",\n \"MozMmsMessage\",\n \"MozMobileMessageThread\",\n \"MozOSXFontSmoothing\",\n \"MozOrient\",\n \"MozOutlineRadius\",\n \"MozOutlineRadiusBottomleft\",\n \"MozOutlineRadiusBottomright\",\n \"MozOutlineRadiusTopleft\",\n \"MozOutlineRadiusTopright\",\n \"MozPaddingEnd\",\n \"MozPaddingStart\",\n \"MozPerspective\",\n \"MozPerspectiveOrigin\",\n \"MozPowerManager\",\n \"MozSettingsEvent\",\n \"MozSmsEvent\",\n \"MozSmsMessage\",\n \"MozStackSizing\",\n \"MozTabSize\",\n \"MozTextAlignLast\",\n \"MozTextDecorationColor\",\n \"MozTextDecorationLine\",\n \"MozTextDecorationStyle\",\n \"MozTextSizeAdjust\",\n \"MozTransform\",\n \"MozTransformOrigin\",\n \"MozTransformStyle\",\n \"MozTransition\",\n \"MozTransitionDelay\",\n \"MozTransitionDuration\",\n \"MozTransitionProperty\",\n \"MozTransitionTimingFunction\",\n \"MozUserFocus\",\n \"MozUserInput\",\n \"MozUserModify\",\n \"MozUserSelect\",\n \"MozWindowDragging\",\n \"MozWindowShadow\",\n \"MutationEvent\",\n \"MutationObserver\",\n \"MutationRecord\",\n \"NAMESPACE_ERR\",\n \"NAMESPACE_RULE\",\n \"NEAREST\",\n \"NEAREST_MIPMAP_LINEAR\",\n \"NEAREST_MIPMAP_NEAREST\",\n \"NEGATIVE_INFINITY\",\n \"NETWORK_EMPTY\",\n \"NETWORK_ERR\",\n \"NETWORK_IDLE\",\n \"NETWORK_LOADED\",\n \"NETWORK_LOADING\",\n \"NETWORK_NO_SOURCE\",\n \"NEVER\",\n \"NEW\",\n \"NEXT\",\n \"NEXT_NO_DUPLICATE\",\n \"NICEST\",\n \"NODE_AFTER\",\n \"NODE_BEFORE\",\n \"NODE_BEFORE_AND_AFTER\",\n \"NODE_INSIDE\",\n \"NONE\",\n \"NON_TRANSIENT_ERR\",\n \"NOTATION_NODE\",\n \"NOTCH\",\n \"NOTEQUAL\",\n \"NOT_ALLOWED_ERR\",\n \"NOT_FOUND_ERR\",\n \"NOT_READABLE_ERR\",\n \"NOT_SUPPORTED_ERR\",\n \"NO_DATA_ALLOWED_ERR\",\n \"NO_ERR\",\n \"NO_ERROR\",\n \"NO_MODIFICATION_ALLOWED_ERR\",\n \"NUMBER_TYPE\",\n \"NUM_COMPRESSED_TEXTURE_FORMATS\",\n \"NaN\",\n \"NamedNodeMap\",\n \"Navigator\",\n \"NearbyLinks\",\n \"NetworkInformation\",\n \"Node\",\n \"NodeFilter\",\n \"NodeIterator\",\n \"NodeList\",\n \"Notation\",\n \"Notification\",\n \"NotifyPaintEvent\",\n \"Number\",\n \"NumberFormat\",\n \"OBSOLETE\",\n \"ONE\",\n \"ONE_MINUS_CONSTANT_ALPHA\",\n \"ONE_MINUS_CONSTANT_COLOR\",\n \"ONE_MINUS_DST_ALPHA\",\n \"ONE_MINUS_DST_COLOR\",\n \"ONE_MINUS_SRC_ALPHA\",\n \"ONE_MINUS_SRC_COLOR\",\n \"OPEN\",\n \"OPENED\",\n \"OPENING\",\n \"ORDERED_NODE_ITERATOR_TYPE\",\n \"ORDERED_NODE_SNAPSHOT_TYPE\",\n \"OUT_OF_MEMORY\",\n \"Object\",\n \"OfflineAudioCompletionEvent\",\n \"OfflineAudioContext\",\n \"OfflineResourceList\",\n \"Option\",\n \"OscillatorNode\",\n \"OverflowEvent\",\n \"PACK_ALIGNMENT\",\n \"PAGE_RULE\",\n \"PARSE_ERR\",\n \"PATHSEG_ARC_ABS\",\n \"PATHSEG_ARC_REL\",\n \"PATHSEG_CLOSEPATH\",\n \"PATHSEG_CURVETO_CUBIC_ABS\",\n \"PATHSEG_CURVETO_CUBIC_REL\",\n \"PATHSEG_CURVETO_CUBIC_SMOOTH_ABS\",\n \"PATHSEG_CURVETO_CUBIC_SMOOTH_REL\",\n \"PATHSEG_CURVETO_QUADRATIC_ABS\",\n \"PATHSEG_CURVETO_QUADRATIC_REL\",\n \"PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS\",\n \"PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL\",\n \"PATHSEG_LINETO_ABS\",\n \"PATHSEG_LINETO_HORIZONTAL_ABS\",\n \"PATHSEG_LINETO_HORIZONTAL_REL\",\n \"PATHSEG_LINETO_REL\",\n \"PATHSEG_LINETO_VERTICAL_ABS\",\n \"PATHSEG_LINETO_VERTICAL_REL\",\n \"PATHSEG_MOVETO_ABS\",\n \"PATHSEG_MOVETO_REL\",\n \"PATHSEG_UNKNOWN\",\n \"PATH_EXISTS_ERR\",\n \"PEAKING\",\n \"PERMISSION_DENIED\",\n \"PERSISTENT\",\n \"PI\",\n \"PLAYING_STATE\",\n \"POINTS\",\n \"POLYGON_OFFSET_FACTOR\",\n \"POLYGON_OFFSET_FILL\",\n \"POLYGON_OFFSET_UNITS\",\n \"POSITION_UNAVAILABLE\",\n \"POSITIVE_INFINITY\",\n \"PREV\",\n \"PREV_NO_DUPLICATE\",\n \"PROCESSING_INSTRUCTION_NODE\",\n \"PageChangeEvent\",\n \"PageTransitionEvent\",\n \"PaintRequest\",\n \"PaintRequestList\",\n \"PannerNode\",\n \"Path2D\",\n \"Performance\",\n \"PerformanceEntry\",\n \"PerformanceMark\",\n \"PerformanceMeasure\",\n \"PerformanceNavigation\",\n \"PerformanceResourceTiming\",\n \"PerformanceTiming\",\n \"PeriodicWave\",\n \"Plugin\",\n \"PluginArray\",\n \"PopStateEvent\",\n \"PopupBlockedEvent\",\n \"ProcessingInstruction\",\n \"ProgressEvent\",\n \"Promise\",\n \"PropertyNodeList\",\n \"Proxy\",\n \"PushManager\",\n \"PushSubscription\",\n \"Q\",\n \"QUOTA_ERR\",\n \"QUOTA_EXCEEDED_ERR\",\n \"QueryInterface\",\n \"READ_ONLY\",\n \"READ_ONLY_ERR\",\n \"READ_WRITE\",\n \"RED_BITS\",\n \"REMOVAL\",\n \"RENDERBUFFER\",\n \"RENDERBUFFER_ALPHA_SIZE\",\n \"RENDERBUFFER_BINDING\",\n \"RENDERBUFFER_BLUE_SIZE\",\n \"RENDERBUFFER_DEPTH_SIZE\",\n \"RENDERBUFFER_GREEN_SIZE\",\n \"RENDERBUFFER_HEIGHT\",\n \"RENDERBUFFER_INTERNAL_FORMAT\",\n \"RENDERBUFFER_RED_SIZE\",\n \"RENDERBUFFER_STENCIL_SIZE\",\n \"RENDERBUFFER_WIDTH\",\n \"RENDERER\",\n \"RENDERING_INTENT_ABSOLUTE_COLORIMETRIC\",\n \"RENDERING_INTENT_AUTO\",\n \"RENDERING_INTENT_PERCEPTUAL\",\n \"RENDERING_INTENT_RELATIVE_COLORIMETRIC\",\n \"RENDERING_INTENT_SATURATION\",\n \"RENDERING_INTENT_UNKNOWN\",\n \"REPEAT\",\n \"REPLACE\",\n \"RGB\",\n \"RGB565\",\n \"RGB5_A1\",\n \"RGBA\",\n \"RGBA4\",\n \"RGBColor\",\n \"ROTATION_CLOCKWISE\",\n \"ROTATION_COUNTERCLOCKWISE\",\n \"RTCDataChannelEvent\",\n \"RTCIceCandidate\",\n \"RTCPeerConnectionIceEvent\",\n \"RTCRtpReceiver\",\n \"RTCRtpSender\",\n \"RTCSessionDescription\",\n \"RTCStatsReport\",\n \"RadioNodeList\",\n \"Range\",\n \"RangeError\",\n \"RangeException\",\n \"RecordErrorEvent\",\n \"Rect\",\n \"ReferenceError\",\n \"RegExp\",\n \"Request\",\n \"Response\",\n \"SAMPLER_2D\",\n \"SAMPLER_CUBE\",\n \"SAMPLES\",\n \"SAMPLE_ALPHA_TO_COVERAGE\",\n \"SAMPLE_BUFFERS\",\n \"SAMPLE_COVERAGE\",\n \"SAMPLE_COVERAGE_INVERT\",\n \"SAMPLE_COVERAGE_VALUE\",\n \"SAWTOOTH\",\n \"SCHEDULED_STATE\",\n \"SCISSOR_BOX\",\n \"SCISSOR_TEST\",\n \"SCROLL_PAGE_DOWN\",\n \"SCROLL_PAGE_UP\",\n \"SDP_ANSWER\",\n \"SDP_OFFER\",\n \"SDP_PRANSWER\",\n \"SECURITY_ERR\",\n \"SELECT\",\n \"SERIALIZE_ERR\",\n \"SEVERITY_ERROR\",\n \"SEVERITY_FATAL_ERROR\",\n \"SEVERITY_WARNING\",\n \"SHADER_COMPILER\",\n \"SHADER_TYPE\",\n \"SHADING_LANGUAGE_VERSION\",\n \"SHIFT_MASK\",\n \"SHORT\",\n \"SHOWING\",\n \"SHOW_ALL\",\n \"SHOW_ATTRIBUTE\",\n \"SHOW_CDATA_SECTION\",\n \"SHOW_COMMENT\",\n \"SHOW_DOCUMENT\",\n \"SHOW_DOCUMENT_FRAGMENT\",\n \"SHOW_DOCUMENT_TYPE\",\n \"SHOW_ELEMENT\",\n \"SHOW_ENTITY\",\n \"SHOW_ENTITY_REFERENCE\",\n \"SHOW_NOTATION\",\n \"SHOW_PROCESSING_INSTRUCTION\",\n \"SHOW_TEXT\",\n \"SINE\",\n \"SOUNDFIELD\",\n \"SQLException\",\n \"SQRT1_2\",\n \"SQRT2\",\n \"SQUARE\",\n \"SRC_ALPHA\",\n \"SRC_ALPHA_SATURATE\",\n \"SRC_COLOR\",\n \"START_TO_END\",\n \"START_TO_START\",\n \"STATIC_DRAW\",\n \"STENCIL_ATTACHMENT\",\n \"STENCIL_BACK_FAIL\",\n \"STENCIL_BACK_FUNC\",\n \"STENCIL_BACK_PASS_DEPTH_FAIL\",\n \"STENCIL_BACK_PASS_DEPTH_PASS\",\n \"STENCIL_BACK_REF\",\n \"STENCIL_BACK_VALUE_MASK\",\n \"STENCIL_BACK_WRITEMASK\",\n \"STENCIL_BITS\",\n \"STENCIL_BUFFER_BIT\",\n \"STENCIL_CLEAR_VALUE\",\n \"STENCIL_FAIL\",\n \"STENCIL_FUNC\",\n \"STENCIL_INDEX\",\n \"STENCIL_INDEX8\",\n \"STENCIL_PASS_DEPTH_FAIL\",\n \"STENCIL_PASS_DEPTH_PASS\",\n \"STENCIL_REF\",\n \"STENCIL_TEST\",\n \"STENCIL_VALUE_MASK\",\n \"STENCIL_WRITEMASK\",\n \"STREAM_DRAW\",\n \"STRING_TYPE\",\n \"STYLE_RULE\",\n \"SUBPIXEL_BITS\",\n \"SUPPORTS_RULE\",\n \"SVGAElement\",\n \"SVGAltGlyphDefElement\",\n \"SVGAltGlyphElement\",\n \"SVGAltGlyphItemElement\",\n \"SVGAngle\",\n \"SVGAnimateColorElement\",\n \"SVGAnimateElement\",\n \"SVGAnimateMotionElement\",\n \"SVGAnimateTransformElement\",\n \"SVGAnimatedAngle\",\n \"SVGAnimatedBoolean\",\n \"SVGAnimatedEnumeration\",\n \"SVGAnimatedInteger\",\n \"SVGAnimatedLength\",\n \"SVGAnimatedLengthList\",\n \"SVGAnimatedNumber\",\n \"SVGAnimatedNumberList\",\n \"SVGAnimatedPreserveAspectRatio\",\n \"SVGAnimatedRect\",\n \"SVGAnimatedString\",\n \"SVGAnimatedTransformList\",\n \"SVGAnimationElement\",\n \"SVGCircleElement\",\n \"SVGClipPathElement\",\n \"SVGColor\",\n \"SVGComponentTransferFunctionElement\",\n \"SVGCursorElement\",\n \"SVGDefsElement\",\n \"SVGDescElement\",\n \"SVGDiscardElement\",\n \"SVGDocument\",\n \"SVGElement\",\n \"SVGElementInstance\",\n \"SVGElementInstanceList\",\n \"SVGEllipseElement\",\n \"SVGException\",\n \"SVGFEBlendElement\",\n \"SVGFEColorMatrixElement\",\n \"SVGFEComponentTransferElement\",\n \"SVGFECompositeElement\",\n \"SVGFEConvolveMatrixElement\",\n \"SVGFEDiffuseLightingElement\",\n \"SVGFEDisplacementMapElement\",\n \"SVGFEDistantLightElement\",\n \"SVGFEDropShadowElement\",\n \"SVGFEFloodElement\",\n \"SVGFEFuncAElement\",\n \"SVGFEFuncBElement\",\n \"SVGFEFuncGElement\",\n \"SVGFEFuncRElement\",\n \"SVGFEGaussianBlurElement\",\n \"SVGFEImageElement\",\n \"SVGFEMergeElement\",\n \"SVGFEMergeNodeElement\",\n \"SVGFEMorphologyElement\",\n \"SVGFEOffsetElement\",\n \"SVGFEPointLightElement\",\n \"SVGFESpecularLightingElement\",\n \"SVGFESpotLightElement\",\n \"SVGFETileElement\",\n \"SVGFETurbulenceElement\",\n \"SVGFilterElement\",\n \"SVGFontElement\",\n \"SVGFontFaceElement\",\n \"SVGFontFaceFormatElement\",\n \"SVGFontFaceNameElement\",\n \"SVGFontFaceSrcElement\",\n \"SVGFontFaceUriElement\",\n \"SVGForeignObjectElement\",\n \"SVGGElement\",\n \"SVGGeometryElement\",\n \"SVGGlyphElement\",\n \"SVGGlyphRefElement\",\n \"SVGGradientElement\",\n \"SVGGraphicsElement\",\n \"SVGHKernElement\",\n \"SVGImageElement\",\n \"SVGLength\",\n \"SVGLengthList\",\n \"SVGLineElement\",\n \"SVGLinearGradientElement\",\n \"SVGMPathElement\",\n \"SVGMarkerElement\",\n \"SVGMaskElement\",\n \"SVGMatrix\",\n \"SVGMetadataElement\",\n \"SVGMissingGlyphElement\",\n \"SVGNumber\",\n \"SVGNumberList\",\n \"SVGPaint\",\n \"SVGPathElement\",\n \"SVGPathSeg\",\n \"SVGPathSegArcAbs\",\n \"SVGPathSegArcRel\",\n \"SVGPathSegClosePath\",\n \"SVGPathSegCurvetoCubicAbs\",\n \"SVGPathSegCurvetoCubicRel\",\n \"SVGPathSegCurvetoCubicSmoothAbs\",\n \"SVGPathSegCurvetoCubicSmoothRel\",\n \"SVGPathSegCurvetoQuadraticAbs\",\n \"SVGPathSegCurvetoQuadraticRel\",\n \"SVGPathSegCurvetoQuadraticSmoothAbs\",\n \"SVGPathSegCurvetoQuadraticSmoothRel\",\n \"SVGPathSegLinetoAbs\",\n \"SVGPathSegLinetoHorizontalAbs\",\n \"SVGPathSegLinetoHorizontalRel\",\n \"SVGPathSegLinetoRel\",\n \"SVGPathSegLinetoVerticalAbs\",\n \"SVGPathSegLinetoVerticalRel\",\n \"SVGPathSegList\",\n \"SVGPathSegMovetoAbs\",\n \"SVGPathSegMovetoRel\",\n \"SVGPatternElement\",\n \"SVGPoint\",\n \"SVGPointList\",\n \"SVGPolygonElement\",\n \"SVGPolylineElement\",\n \"SVGPreserveAspectRatio\",\n \"SVGRadialGradientElement\",\n \"SVGRect\",\n \"SVGRectElement\",\n \"SVGRenderingIntent\",\n \"SVGSVGElement\",\n \"SVGScriptElement\",\n \"SVGSetElement\",\n \"SVGStopElement\",\n \"SVGStringList\",\n \"SVGStyleElement\",\n \"SVGSwitchElement\",\n \"SVGSymbolElement\",\n \"SVGTRefElement\",\n \"SVGTSpanElement\",\n \"SVGTextContentElement\",\n \"SVGTextElement\",\n \"SVGTextPathElement\",\n \"SVGTextPositioningElement\",\n \"SVGTitleElement\",\n \"SVGTransform\",\n \"SVGTransformList\",\n \"SVGUnitTypes\",\n \"SVGUseElement\",\n \"SVGVKernElement\",\n \"SVGViewElement\",\n \"SVGViewSpec\",\n \"SVGZoomAndPan\",\n \"SVGZoomEvent\",\n \"SVG_ANGLETYPE_DEG\",\n \"SVG_ANGLETYPE_GRAD\",\n \"SVG_ANGLETYPE_RAD\",\n \"SVG_ANGLETYPE_UNKNOWN\",\n \"SVG_ANGLETYPE_UNSPECIFIED\",\n \"SVG_CHANNEL_A\",\n \"SVG_CHANNEL_B\",\n \"SVG_CHANNEL_G\",\n \"SVG_CHANNEL_R\",\n \"SVG_CHANNEL_UNKNOWN\",\n \"SVG_COLORTYPE_CURRENTCOLOR\",\n \"SVG_COLORTYPE_RGBCOLOR\",\n \"SVG_COLORTYPE_RGBCOLOR_ICCCOLOR\",\n \"SVG_COLORTYPE_UNKNOWN\",\n \"SVG_EDGEMODE_DUPLICATE\",\n \"SVG_EDGEMODE_NONE\",\n \"SVG_EDGEMODE_UNKNOWN\",\n \"SVG_EDGEMODE_WRAP\",\n \"SVG_FEBLEND_MODE_COLOR\",\n \"SVG_FEBLEND_MODE_COLOR_BURN\",\n \"SVG_FEBLEND_MODE_COLOR_DODGE\",\n \"SVG_FEBLEND_MODE_DARKEN\",\n \"SVG_FEBLEND_MODE_DIFFERENCE\",\n \"SVG_FEBLEND_MODE_EXCLUSION\",\n \"SVG_FEBLEND_MODE_HARD_LIGHT\",\n \"SVG_FEBLEND_MODE_HUE\",\n \"SVG_FEBLEND_MODE_LIGHTEN\",\n \"SVG_FEBLEND_MODE_LUMINOSITY\",\n \"SVG_FEBLEND_MODE_MULTIPLY\",\n \"SVG_FEBLEND_MODE_NORMAL\",\n \"SVG_FEBLEND_MODE_OVERLAY\",\n \"SVG_FEBLEND_MODE_SATURATION\",\n \"SVG_FEBLEND_MODE_SCREEN\",\n \"SVG_FEBLEND_MODE_SOFT_LIGHT\",\n \"SVG_FEBLEND_MODE_UNKNOWN\",\n \"SVG_FECOLORMATRIX_TYPE_HUEROTATE\",\n \"SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA\",\n \"SVG_FECOLORMATRIX_TYPE_MATRIX\",\n \"SVG_FECOLORMATRIX_TYPE_SATURATE\",\n \"SVG_FECOLORMATRIX_TYPE_UNKNOWN\",\n \"SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE\",\n \"SVG_FECOMPONENTTRANSFER_TYPE_GAMMA\",\n \"SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY\",\n \"SVG_FECOMPONENTTRANSFER_TYPE_LINEAR\",\n \"SVG_FECOMPONENTTRANSFER_TYPE_TABLE\",\n \"SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN\",\n \"SVG_FECOMPOSITE_OPERATOR_ARITHMETIC\",\n \"SVG_FECOMPOSITE_OPERATOR_ATOP\",\n \"SVG_FECOMPOSITE_OPERATOR_IN\",\n \"SVG_FECOMPOSITE_OPERATOR_OUT\",\n \"SVG_FECOMPOSITE_OPERATOR_OVER\",\n \"SVG_FECOMPOSITE_OPERATOR_UNKNOWN\",\n \"SVG_FECOMPOSITE_OPERATOR_XOR\",\n \"SVG_INVALID_VALUE_ERR\",\n \"SVG_LENGTHTYPE_CM\",\n \"SVG_LENGTHTYPE_EMS\",\n \"SVG_LENGTHTYPE_EXS\",\n \"SVG_LENGTHTYPE_IN\",\n \"SVG_LENGTHTYPE_MM\",\n \"SVG_LENGTHTYPE_NUMBER\",\n \"SVG_LENGTHTYPE_PC\",\n \"SVG_LENGTHTYPE_PERCENTAGE\",\n \"SVG_LENGTHTYPE_PT\",\n \"SVG_LENGTHTYPE_PX\",\n \"SVG_LENGTHTYPE_UNKNOWN\",\n \"SVG_MARKERUNITS_STROKEWIDTH\",\n \"SVG_MARKERUNITS_UNKNOWN\",\n \"SVG_MARKERUNITS_USERSPACEONUSE\",\n \"SVG_MARKER_ORIENT_ANGLE\",\n \"SVG_MARKER_ORIENT_AUTO\",\n \"SVG_MARKER_ORIENT_UNKNOWN\",\n \"SVG_MASKTYPE_ALPHA\",\n \"SVG_MASKTYPE_LUMINANCE\",\n \"SVG_MATRIX_NOT_INVERTABLE\",\n \"SVG_MEETORSLICE_MEET\",\n \"SVG_MEETORSLICE_SLICE\",\n \"SVG_MEETORSLICE_UNKNOWN\",\n \"SVG_MORPHOLOGY_OPERATOR_DILATE\",\n \"SVG_MORPHOLOGY_OPERATOR_ERODE\",\n \"SVG_MORPHOLOGY_OPERATOR_UNKNOWN\",\n \"SVG_PAINTTYPE_CURRENTCOLOR\",\n \"SVG_PAINTTYPE_NONE\",\n \"SVG_PAINTTYPE_RGBCOLOR\",\n \"SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR\",\n \"SVG_PAINTTYPE_UNKNOWN\",\n \"SVG_PAINTTYPE_URI\",\n \"SVG_PAINTTYPE_URI_CURRENTCOLOR\",\n \"SVG_PAINTTYPE_URI_NONE\",\n \"SVG_PAINTTYPE_URI_RGBCOLOR\",\n \"SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR\",\n \"SVG_PRESERVEASPECTRATIO_NONE\",\n \"SVG_PRESERVEASPECTRATIO_UNKNOWN\",\n \"SVG_PRESERVEASPECTRATIO_XMAXYMAX\",\n \"SVG_PRESERVEASPECTRATIO_XMAXYMID\",\n \"SVG_PRESERVEASPECTRATIO_XMAXYMIN\",\n \"SVG_PRESERVEASPECTRATIO_XMIDYMAX\",\n \"SVG_PRESERVEASPECTRATIO_XMIDYMID\",\n \"SVG_PRESERVEASPECTRATIO_XMIDYMIN\",\n \"SVG_PRESERVEASPECTRATIO_XMINYMAX\",\n \"SVG_PRESERVEASPECTRATIO_XMINYMID\",\n \"SVG_PRESERVEASPECTRATIO_XMINYMIN\",\n \"SVG_SPREADMETHOD_PAD\",\n \"SVG_SPREADMETHOD_REFLECT\",\n \"SVG_SPREADMETHOD_REPEAT\",\n \"SVG_SPREADMETHOD_UNKNOWN\",\n \"SVG_STITCHTYPE_NOSTITCH\",\n \"SVG_STITCHTYPE_STITCH\",\n \"SVG_STITCHTYPE_UNKNOWN\",\n \"SVG_TRANSFORM_MATRIX\",\n \"SVG_TRANSFORM_ROTATE\",\n \"SVG_TRANSFORM_SCALE\",\n \"SVG_TRANSFORM_SKEWX\",\n \"SVG_TRANSFORM_SKEWY\",\n \"SVG_TRANSFORM_TRANSLATE\",\n \"SVG_TRANSFORM_UNKNOWN\",\n \"SVG_TURBULENCE_TYPE_FRACTALNOISE\",\n \"SVG_TURBULENCE_TYPE_TURBULENCE\",\n \"SVG_TURBULENCE_TYPE_UNKNOWN\",\n \"SVG_UNIT_TYPE_OBJECTBOUNDINGBOX\",\n \"SVG_UNIT_TYPE_UNKNOWN\",\n \"SVG_UNIT_TYPE_USERSPACEONUSE\",\n \"SVG_WRONG_TYPE_ERR\",\n \"SVG_ZOOMANDPAN_DISABLE\",\n \"SVG_ZOOMANDPAN_MAGNIFY\",\n \"SVG_ZOOMANDPAN_UNKNOWN\",\n \"SYNTAX_ERR\",\n \"SavedPages\",\n \"Screen\",\n \"ScreenOrientation\",\n \"Script\",\n \"ScriptProcessorNode\",\n \"ScrollAreaEvent\",\n \"SecurityPolicyViolationEvent\",\n \"Selection\",\n \"ServiceWorker\",\n \"ServiceWorkerContainer\",\n \"ServiceWorkerRegistration\",\n \"SessionDescription\",\n \"Set\",\n \"ShadowRoot\",\n \"SharedWorker\",\n \"SimpleGestureEvent\",\n \"SpeechSynthesisEvent\",\n \"SpeechSynthesisUtterance\",\n \"StopIteration\",\n \"Storage\",\n \"StorageEvent\",\n \"String\",\n \"StyleSheet\",\n \"StyleSheetList\",\n \"SubtleCrypto\",\n \"Symbol\",\n \"SyntaxError\",\n \"TEMPORARY\",\n \"TEXTPATH_METHODTYPE_ALIGN\",\n \"TEXTPATH_METHODTYPE_STRETCH\",\n \"TEXTPATH_METHODTYPE_UNKNOWN\",\n \"TEXTPATH_SPACINGTYPE_AUTO\",\n \"TEXTPATH_SPACINGTYPE_EXACT\",\n \"TEXTPATH_SPACINGTYPE_UNKNOWN\",\n \"TEXTURE\",\n \"TEXTURE0\",\n \"TEXTURE1\",\n \"TEXTURE10\",\n \"TEXTURE11\",\n \"TEXTURE12\",\n \"TEXTURE13\",\n \"TEXTURE14\",\n \"TEXTURE15\",\n \"TEXTURE16\",\n \"TEXTURE17\",\n \"TEXTURE18\",\n \"TEXTURE19\",\n \"TEXTURE2\",\n \"TEXTURE20\",\n \"TEXTURE21\",\n \"TEXTURE22\",\n \"TEXTURE23\",\n \"TEXTURE24\",\n \"TEXTURE25\",\n \"TEXTURE26\",\n \"TEXTURE27\",\n \"TEXTURE28\",\n \"TEXTURE29\",\n \"TEXTURE3\",\n \"TEXTURE30\",\n \"TEXTURE31\",\n \"TEXTURE4\",\n \"TEXTURE5\",\n \"TEXTURE6\",\n \"TEXTURE7\",\n \"TEXTURE8\",\n \"TEXTURE9\",\n \"TEXTURE_2D\",\n \"TEXTURE_BINDING_2D\",\n \"TEXTURE_BINDING_CUBE_MAP\",\n \"TEXTURE_CUBE_MAP\",\n \"TEXTURE_CUBE_MAP_NEGATIVE_X\",\n \"TEXTURE_CUBE_MAP_NEGATIVE_Y\",\n \"TEXTURE_CUBE_MAP_NEGATIVE_Z\",\n \"TEXTURE_CUBE_MAP_POSITIVE_X\",\n \"TEXTURE_CUBE_MAP_POSITIVE_Y\",\n \"TEXTURE_CUBE_MAP_POSITIVE_Z\",\n \"TEXTURE_MAG_FILTER\",\n \"TEXTURE_MAX_ANISOTROPY_EXT\",\n \"TEXTURE_MIN_FILTER\",\n \"TEXTURE_WRAP_S\",\n \"TEXTURE_WRAP_T\",\n \"TEXT_NODE\",\n \"TIMEOUT\",\n \"TIMEOUT_ERR\",\n \"TOO_LARGE_ERR\",\n \"TRANSACTION_INACTIVE_ERR\",\n \"TRIANGLE\",\n \"TRIANGLES\",\n \"TRIANGLE_FAN\",\n \"TRIANGLE_STRIP\",\n \"TYPE_BACK_FORWARD\",\n \"TYPE_ERR\",\n \"TYPE_MISMATCH_ERR\",\n \"TYPE_NAVIGATE\",\n \"TYPE_RELOAD\",\n \"TYPE_RESERVED\",\n \"Text\",\n \"TextDecoder\",\n \"TextEncoder\",\n \"TextEvent\",\n \"TextMetrics\",\n \"TextTrack\",\n \"TextTrackCue\",\n \"TextTrackCueList\",\n \"TextTrackList\",\n \"TimeEvent\",\n \"TimeRanges\",\n \"Touch\",\n \"TouchEvent\",\n \"TouchList\",\n \"TrackEvent\",\n \"TransitionEvent\",\n \"TreeWalker\",\n \"TypeError\",\n \"UIEvent\",\n \"UNCACHED\",\n \"UNKNOWN_ERR\",\n \"UNKNOWN_RULE\",\n \"UNMASKED_RENDERER_WEBGL\",\n \"UNMASKED_VENDOR_WEBGL\",\n \"UNORDERED_NODE_ITERATOR_TYPE\",\n \"UNORDERED_NODE_SNAPSHOT_TYPE\",\n \"UNPACK_ALIGNMENT\",\n \"UNPACK_COLORSPACE_CONVERSION_WEBGL\",\n \"UNPACK_FLIP_Y_WEBGL\",\n \"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",\n \"UNSCHEDULED_STATE\",\n \"UNSENT\",\n \"UNSIGNED_BYTE\",\n \"UNSIGNED_INT\",\n \"UNSIGNED_SHORT\",\n \"UNSIGNED_SHORT_4_4_4_4\",\n \"UNSIGNED_SHORT_5_5_5_1\",\n \"UNSIGNED_SHORT_5_6_5\",\n \"UNSPECIFIED_EVENT_TYPE_ERR\",\n \"UPDATEREADY\",\n \"URIError\",\n \"URL\",\n \"URLSearchParams\",\n \"URLUnencoded\",\n \"URL_MISMATCH_ERR\",\n \"UTC\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"UserMessageHandler\",\n \"UserMessageHandlersNamespace\",\n \"UserProximityEvent\",\n \"VALIDATE_STATUS\",\n \"VALIDATION_ERR\",\n \"VARIABLES_RULE\",\n \"VENDOR\",\n \"VERSION\",\n \"VERSION_CHANGE\",\n \"VERSION_ERR\",\n \"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",\n \"VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE\",\n \"VERTEX_ATTRIB_ARRAY_ENABLED\",\n \"VERTEX_ATTRIB_ARRAY_NORMALIZED\",\n \"VERTEX_ATTRIB_ARRAY_POINTER\",\n \"VERTEX_ATTRIB_ARRAY_SIZE\",\n \"VERTEX_ATTRIB_ARRAY_STRIDE\",\n \"VERTEX_ATTRIB_ARRAY_TYPE\",\n \"VERTEX_SHADER\",\n \"VERTICAL\",\n \"VERTICAL_AXIS\",\n \"VER_ERR\",\n \"VIEWPORT\",\n \"VIEWPORT_RULE\",\n \"VTTCue\",\n \"VTTRegion\",\n \"ValidityState\",\n \"VideoStreamTrack\",\n \"WEBKIT_FILTER_RULE\",\n \"WEBKIT_KEYFRAMES_RULE\",\n \"WEBKIT_KEYFRAME_RULE\",\n \"WEBKIT_REGION_RULE\",\n \"WRONG_DOCUMENT_ERR\",\n \"WaveShaperNode\",\n \"WeakMap\",\n \"WeakSet\",\n \"WebGLActiveInfo\",\n \"WebGLBuffer\",\n \"WebGLContextEvent\",\n \"WebGLFramebuffer\",\n \"WebGLProgram\",\n \"WebGLRenderbuffer\",\n \"WebGLRenderingContext\",\n \"WebGLShader\",\n \"WebGLShaderPrecisionFormat\",\n \"WebGLTexture\",\n \"WebGLUniformLocation\",\n \"WebGLVertexArray\",\n \"WebKitAnimationEvent\",\n \"WebKitBlobBuilder\",\n \"WebKitCSSFilterRule\",\n \"WebKitCSSFilterValue\",\n \"WebKitCSSKeyframeRule\",\n \"WebKitCSSKeyframesRule\",\n \"WebKitCSSMatrix\",\n \"WebKitCSSRegionRule\",\n \"WebKitCSSTransformValue\",\n \"WebKitDataCue\",\n \"WebKitGamepad\",\n \"WebKitMediaKeyError\",\n \"WebKitMediaKeyMessageEvent\",\n \"WebKitMediaKeySession\",\n \"WebKitMediaKeys\",\n \"WebKitMediaSource\",\n \"WebKitMutationObserver\",\n \"WebKitNamespace\",\n \"WebKitPlaybackTargetAvailabilityEvent\",\n \"WebKitPoint\",\n \"WebKitShadowRoot\",\n \"WebKitSourceBuffer\",\n \"WebKitSourceBufferList\",\n \"WebKitTransitionEvent\",\n \"WebSocket\",\n \"WheelEvent\",\n \"Window\",\n \"Worker\",\n \"XMLDocument\",\n \"XMLHttpRequest\",\n \"XMLHttpRequestEventTarget\",\n \"XMLHttpRequestException\",\n \"XMLHttpRequestProgressEvent\",\n \"XMLHttpRequestUpload\",\n \"XMLSerializer\",\n \"XMLStylesheetProcessingInstruction\",\n \"XPathEvaluator\",\n \"XPathException\",\n \"XPathExpression\",\n \"XPathNSResolver\",\n \"XPathResult\",\n \"XSLTProcessor\",\n \"ZERO\",\n \"_XD0M_\",\n \"_YD0M_\",\n \"__defineGetter__\",\n \"__defineSetter__\",\n \"__lookupGetter__\",\n \"__lookupSetter__\",\n \"__opera\",\n \"__proto__\",\n \"_browserjsran\",\n \"a\",\n \"aLink\",\n \"abbr\",\n \"abort\",\n \"abs\",\n \"absolute\",\n \"acceleration\",\n \"accelerationIncludingGravity\",\n \"accelerator\",\n \"accept\",\n \"acceptCharset\",\n \"acceptNode\",\n \"accessKey\",\n \"accessKeyLabel\",\n \"accuracy\",\n \"acos\",\n \"acosh\",\n \"action\",\n \"actionURL\",\n \"active\",\n \"activeCues\",\n \"activeElement\",\n \"activeSourceBuffers\",\n \"activeSourceCount\",\n \"activeTexture\",\n \"add\",\n \"addBehavior\",\n \"addCandidate\",\n \"addColorStop\",\n \"addCue\",\n \"addElement\",\n \"addEventListener\",\n \"addFilter\",\n \"addFromString\",\n \"addFromUri\",\n \"addIceCandidate\",\n \"addImport\",\n \"addListener\",\n \"addNamed\",\n \"addPageRule\",\n \"addPath\",\n \"addPointer\",\n \"addRange\",\n \"addRegion\",\n \"addRule\",\n \"addSearchEngine\",\n \"addSourceBuffer\",\n \"addStream\",\n \"addTextTrack\",\n \"addTrack\",\n \"addWakeLockListener\",\n \"addedNodes\",\n \"additionalName\",\n \"additiveSymbols\",\n \"addons\",\n \"adoptNode\",\n \"adr\",\n \"advance\",\n \"alert\",\n \"algorithm\",\n \"align\",\n \"align-content\",\n \"align-items\",\n \"align-self\",\n \"alignContent\",\n \"alignItems\",\n \"alignSelf\",\n \"alignmentBaseline\",\n \"alinkColor\",\n \"all\",\n \"allowFullscreen\",\n \"allowedDirections\",\n \"alpha\",\n \"alt\",\n \"altGraphKey\",\n \"altHtml\",\n \"altKey\",\n \"altLeft\",\n \"altitude\",\n \"altitudeAccuracy\",\n \"amplitude\",\n \"ancestorOrigins\",\n \"anchor\",\n \"anchorNode\",\n \"anchorOffset\",\n \"anchors\",\n \"angle\",\n \"animVal\",\n \"animate\",\n \"animatedInstanceRoot\",\n \"animatedNormalizedPathSegList\",\n \"animatedPathSegList\",\n \"animatedPoints\",\n \"animation\",\n \"animation-delay\",\n \"animation-direction\",\n \"animation-duration\",\n \"animation-fill-mode\",\n \"animation-iteration-count\",\n \"animation-name\",\n \"animation-play-state\",\n \"animation-timing-function\",\n \"animationDelay\",\n \"animationDirection\",\n \"animationDuration\",\n \"animationFillMode\",\n \"animationIterationCount\",\n \"animationName\",\n \"animationPlayState\",\n \"animationStartTime\",\n \"animationTimingFunction\",\n \"animationsPaused\",\n \"anniversary\",\n \"app\",\n \"appCodeName\",\n \"appMinorVersion\",\n \"appName\",\n \"appNotifications\",\n \"appVersion\",\n \"append\",\n \"appendBuffer\",\n \"appendChild\",\n \"appendData\",\n \"appendItem\",\n \"appendMedium\",\n \"appendNamed\",\n \"appendRule\",\n \"appendStream\",\n \"appendWindowEnd\",\n \"appendWindowStart\",\n \"applets\",\n \"applicationCache\",\n \"apply\",\n \"applyElement\",\n \"arc\",\n \"arcTo\",\n \"archive\",\n \"areas\",\n \"arguments\",\n \"arrayBuffer\",\n \"asin\",\n \"asinh\",\n \"assert\",\n \"assign\",\n \"async\",\n \"atEnd\",\n \"atan\",\n \"atan2\",\n \"atanh\",\n \"atob\",\n \"attachEvent\",\n \"attachShader\",\n \"attachments\",\n \"attack\",\n \"attrChange\",\n \"attrName\",\n \"attributeName\",\n \"attributeNamespace\",\n \"attributes\",\n \"audioTracks\",\n \"autoIncrement\",\n \"autobuffer\",\n \"autocapitalize\",\n \"autocomplete\",\n \"autocorrect\",\n \"autofocus\",\n \"autoplay\",\n \"availHeight\",\n \"availLeft\",\n \"availTop\",\n \"availWidth\",\n \"availability\",\n \"available\",\n \"aversion\",\n \"axes\",\n \"axis\",\n \"azimuth\",\n \"b\",\n \"back\",\n \"backface-visibility\",\n \"backfaceVisibility\",\n \"background\",\n \"background-attachment\",\n \"background-blend-mode\",\n \"background-clip\",\n \"background-color\",\n \"background-image\",\n \"background-origin\",\n \"background-position\",\n \"background-repeat\",\n \"background-size\",\n \"backgroundAttachment\",\n \"backgroundBlendMode\",\n \"backgroundClip\",\n \"backgroundColor\",\n \"backgroundImage\",\n \"backgroundOrigin\",\n \"backgroundPosition\",\n \"backgroundPositionX\",\n \"backgroundPositionY\",\n \"backgroundRepeat\",\n \"backgroundSize\",\n \"badInput\",\n \"balance\",\n \"baseFrequencyX\",\n \"baseFrequencyY\",\n \"baseNode\",\n \"baseOffset\",\n \"baseURI\",\n \"baseVal\",\n \"baselineShift\",\n \"battery\",\n \"bday\",\n \"beginElement\",\n \"beginElementAt\",\n \"beginPath\",\n \"behavior\",\n \"behaviorCookie\",\n \"behaviorPart\",\n \"behaviorUrns\",\n \"beta\",\n \"bezierCurveTo\",\n \"bgColor\",\n \"bgProperties\",\n \"bias\",\n \"big\",\n \"binaryType\",\n \"bind\",\n \"bindAttribLocation\",\n \"bindBuffer\",\n \"bindFramebuffer\",\n \"bindRenderbuffer\",\n \"bindTexture\",\n \"blendColor\",\n \"blendEquation\",\n \"blendEquationSeparate\",\n \"blendFunc\",\n \"blendFuncSeparate\",\n \"blink\",\n \"blob\",\n \"blockDirection\",\n \"blue\",\n \"blur\",\n \"body\",\n \"bodyUsed\",\n \"bold\",\n \"bookmarks\",\n \"booleanValue\",\n \"border\",\n \"border-bottom\",\n \"border-bottom-color\",\n \"border-bottom-left-radius\",\n \"border-bottom-right-radius\",\n \"border-bottom-style\",\n \"border-bottom-width\",\n \"border-collapse\",\n \"border-color\",\n \"border-image\",\n \"border-image-outset\",\n \"border-image-repeat\",\n \"border-image-slice\",\n \"border-image-source\",\n \"border-image-width\",\n \"border-left\",\n \"border-left-color\",\n \"border-left-style\",\n \"border-left-width\",\n \"border-radius\",\n \"border-right\",\n \"border-right-color\",\n \"border-right-style\",\n \"border-right-width\",\n \"border-spacing\",\n \"border-style\",\n \"border-top\",\n \"border-top-color\",\n \"border-top-left-radius\",\n \"border-top-right-radius\",\n \"border-top-style\",\n \"border-top-width\",\n \"border-width\",\n \"borderBottom\",\n \"borderBottomColor\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomStyle\",\n \"borderBottomWidth\",\n \"borderCollapse\",\n \"borderColor\",\n \"borderColorDark\",\n \"borderColorLight\",\n \"borderImage\",\n \"borderImageOutset\",\n \"borderImageRepeat\",\n \"borderImageSlice\",\n \"borderImageSource\",\n \"borderImageWidth\",\n \"borderLeft\",\n \"borderLeftColor\",\n \"borderLeftStyle\",\n \"borderLeftWidth\",\n \"borderRadius\",\n \"borderRight\",\n \"borderRightColor\",\n \"borderRightStyle\",\n \"borderRightWidth\",\n \"borderSpacing\",\n \"borderStyle\",\n \"borderTop\",\n \"borderTopColor\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderTopStyle\",\n \"borderTopWidth\",\n \"borderWidth\",\n \"bottom\",\n \"bottomMargin\",\n \"bound\",\n \"boundElements\",\n \"boundingClientRect\",\n \"boundingHeight\",\n \"boundingLeft\",\n \"boundingTop\",\n \"boundingWidth\",\n \"bounds\",\n \"box-decoration-break\",\n \"box-shadow\",\n \"box-sizing\",\n \"boxDecorationBreak\",\n \"boxShadow\",\n \"boxSizing\",\n \"breakAfter\",\n \"breakBefore\",\n \"breakInside\",\n \"browserLanguage\",\n \"btoa\",\n \"bubbles\",\n \"buffer\",\n \"bufferData\",\n \"bufferDepth\",\n \"bufferSize\",\n \"bufferSubData\",\n \"buffered\",\n \"bufferedAmount\",\n \"buildID\",\n \"buildNumber\",\n \"button\",\n \"buttonID\",\n \"buttons\",\n \"byteLength\",\n \"byteOffset\",\n \"c\",\n \"call\",\n \"caller\",\n \"canBeFormatted\",\n \"canBeMounted\",\n \"canBeShared\",\n \"canHaveChildren\",\n \"canHaveHTML\",\n \"canPlayType\",\n \"cancel\",\n \"cancelAnimationFrame\",\n \"cancelBubble\",\n \"cancelScheduledValues\",\n \"cancelable\",\n \"candidate\",\n \"canvas\",\n \"caption\",\n \"caption-side\",\n \"captionSide\",\n \"captureEvents\",\n \"captureStackTrace\",\n \"caretPositionFromPoint\",\n \"caretRangeFromPoint\",\n \"cast\",\n \"catch\",\n \"category\",\n \"cbrt\",\n \"cd\",\n \"ceil\",\n \"cellIndex\",\n \"cellPadding\",\n \"cellSpacing\",\n \"cells\",\n \"ch\",\n \"chOff\",\n \"chain\",\n \"challenge\",\n \"changedTouches\",\n \"channel\",\n \"channelCount\",\n \"channelCountMode\",\n \"channelInterpretation\",\n \"char\",\n \"charAt\",\n \"charCode\",\n \"charCodeAt\",\n \"charIndex\",\n \"characterSet\",\n \"charging\",\n \"chargingTime\",\n \"charset\",\n \"checkEnclosure\",\n \"checkFramebufferStatus\",\n \"checkIntersection\",\n \"checkValidity\",\n \"checked\",\n \"childElementCount\",\n \"childNodes\",\n \"children\",\n \"chrome\",\n \"ciphertext\",\n \"cite\",\n \"classList\",\n \"className\",\n \"classid\",\n \"clear\",\n \"clearAttributes\",\n \"clearColor\",\n \"clearData\",\n \"clearDepth\",\n \"clearImmediate\",\n \"clearInterval\",\n \"clearMarks\",\n \"clearMeasures\",\n \"clearParameters\",\n \"clearRect\",\n \"clearResourceTimings\",\n \"clearShadow\",\n \"clearStencil\",\n \"clearTimeout\",\n \"clearWatch\",\n \"click\",\n \"clickCount\",\n \"clientHeight\",\n \"clientInformation\",\n \"clientLeft\",\n \"clientRect\",\n \"clientRects\",\n \"clientTop\",\n \"clientWidth\",\n \"clientX\",\n \"clientY\",\n \"clip\",\n \"clip-path\",\n \"clip-rule\",\n \"clipBottom\",\n \"clipLeft\",\n \"clipPath\",\n \"clipPathUnits\",\n \"clipRight\",\n \"clipRule\",\n \"clipTop\",\n \"clipboardData\",\n \"clone\",\n \"cloneContents\",\n \"cloneNode\",\n \"cloneRange\",\n \"close\",\n \"closePath\",\n \"closed\",\n \"closest\",\n \"clz\",\n \"clz32\",\n \"cmp\",\n \"code\",\n \"codeBase\",\n \"codePointAt\",\n \"codeType\",\n \"colSpan\",\n \"collapse\",\n \"collapseToEnd\",\n \"collapseToStart\",\n \"collapsed\",\n \"collect\",\n \"colno\",\n \"color\",\n \"color-interpolation\",\n \"color-interpolation-filters\",\n \"colorDepth\",\n \"colorInterpolation\",\n \"colorInterpolationFilters\",\n \"colorMask\",\n \"colorType\",\n \"cols\",\n \"columnCount\",\n \"columnFill\",\n \"columnGap\",\n \"columnNumber\",\n \"columnRule\",\n \"columnRuleColor\",\n \"columnRuleStyle\",\n \"columnRuleWidth\",\n \"columnSpan\",\n \"columnWidth\",\n \"columns\",\n \"command\",\n \"commitPreferences\",\n \"commonAncestorContainer\",\n \"compact\",\n \"compareBoundaryPoints\",\n \"compareDocumentPosition\",\n \"compareEndPoints\",\n \"compareNode\",\n \"comparePoint\",\n \"compatMode\",\n \"compatible\",\n \"compile\",\n \"compileShader\",\n \"complete\",\n \"componentFromPoint\",\n \"compositionEndOffset\",\n \"compositionStartOffset\",\n \"compressedTexImage2D\",\n \"compressedTexSubImage2D\",\n \"concat\",\n \"conditionText\",\n \"coneInnerAngle\",\n \"coneOuterAngle\",\n \"coneOuterGain\",\n \"confirm\",\n \"confirmComposition\",\n \"confirmSiteSpecificTrackingException\",\n \"confirmWebWideTrackingException\",\n \"connect\",\n \"connectEnd\",\n \"connectStart\",\n \"connected\",\n \"connection\",\n \"connectionSpeed\",\n \"console\",\n \"consolidate\",\n \"constrictionActive\",\n \"constructor\",\n \"contactID\",\n \"contains\",\n \"containsNode\",\n \"content\",\n \"contentDocument\",\n \"contentEditable\",\n \"contentOverflow\",\n \"contentScriptType\",\n \"contentStyleType\",\n \"contentType\",\n \"contentWindow\",\n \"context\",\n \"contextMenu\",\n \"contextmenu\",\n \"continue\",\n \"continuous\",\n \"control\",\n \"controller\",\n \"controls\",\n \"convertToSpecifiedUnits\",\n \"cookie\",\n \"cookieEnabled\",\n \"coords\",\n \"copyFromChannel\",\n \"copyTexImage2D\",\n \"copyTexSubImage2D\",\n \"copyToChannel\",\n \"copyWithin\",\n \"correspondingElement\",\n \"correspondingUseElement\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"counter-increment\",\n \"counter-reset\",\n \"counterIncrement\",\n \"counterReset\",\n \"cpuClass\",\n \"cpuSleepAllowed\",\n \"create\",\n \"createAnalyser\",\n \"createAnswer\",\n \"createAttribute\",\n \"createAttributeNS\",\n \"createBiquadFilter\",\n \"createBuffer\",\n \"createBufferSource\",\n \"createCDATASection\",\n \"createCSSStyleSheet\",\n \"createCaption\",\n \"createChannelMerger\",\n \"createChannelSplitter\",\n \"createComment\",\n \"createContextualFragment\",\n \"createControlRange\",\n \"createConvolver\",\n \"createDTMFSender\",\n \"createDataChannel\",\n \"createDelay\",\n \"createDelayNode\",\n \"createDocument\",\n \"createDocumentFragment\",\n \"createDocumentType\",\n \"createDynamicsCompressor\",\n \"createElement\",\n \"createElementNS\",\n \"createEntityReference\",\n \"createEvent\",\n \"createEventObject\",\n \"createExpression\",\n \"createFramebuffer\",\n \"createFunction\",\n \"createGain\",\n \"createGainNode\",\n \"createHTMLDocument\",\n \"createImageBitmap\",\n \"createImageData\",\n \"createIndex\",\n \"createJavaScriptNode\",\n \"createLinearGradient\",\n \"createMediaElementSource\",\n \"createMediaKeys\",\n \"createMediaStreamDestination\",\n \"createMediaStreamSource\",\n \"createMutableFile\",\n \"createNSResolver\",\n \"createNodeIterator\",\n \"createNotification\",\n \"createObjectStore\",\n \"createObjectURL\",\n \"createOffer\",\n \"createOscillator\",\n \"createPanner\",\n \"createPattern\",\n \"createPeriodicWave\",\n \"createPopup\",\n \"createProcessingInstruction\",\n \"createProgram\",\n \"createRadialGradient\",\n \"createRange\",\n \"createRangeCollection\",\n \"createRenderbuffer\",\n \"createSVGAngle\",\n \"createSVGLength\",\n \"createSVGMatrix\",\n \"createSVGNumber\",\n \"createSVGPathSegArcAbs\",\n \"createSVGPathSegArcRel\",\n \"createSVGPathSegClosePath\",\n \"createSVGPathSegCurvetoCubicAbs\",\n \"createSVGPathSegCurvetoCubicRel\",\n \"createSVGPathSegCurvetoCubicSmoothAbs\",\n \"createSVGPathSegCurvetoCubicSmoothRel\",\n \"createSVGPathSegCurvetoQuadraticAbs\",\n \"createSVGPathSegCurvetoQuadraticRel\",\n \"createSVGPathSegCurvetoQuadraticSmoothAbs\",\n \"createSVGPathSegCurvetoQuadraticSmoothRel\",\n \"createSVGPathSegLinetoAbs\",\n \"createSVGPathSegLinetoHorizontalAbs\",\n \"createSVGPathSegLinetoHorizontalRel\",\n \"createSVGPathSegLinetoRel\",\n \"createSVGPathSegLinetoVerticalAbs\",\n \"createSVGPathSegLinetoVerticalRel\",\n \"createSVGPathSegMovetoAbs\",\n \"createSVGPathSegMovetoRel\",\n \"createSVGPoint\",\n \"createSVGRect\",\n \"createSVGTransform\",\n \"createSVGTransformFromMatrix\",\n \"createScriptProcessor\",\n \"createSession\",\n \"createShader\",\n \"createShadowRoot\",\n \"createStereoPanner\",\n \"createStyleSheet\",\n \"createTBody\",\n \"createTFoot\",\n \"createTHead\",\n \"createTextNode\",\n \"createTextRange\",\n \"createTexture\",\n \"createTouch\",\n \"createTouchList\",\n \"createTreeWalker\",\n \"createWaveShaper\",\n \"creationTime\",\n \"crossOrigin\",\n \"crypto\",\n \"csi\",\n \"cssFloat\",\n \"cssRules\",\n \"cssText\",\n \"cssValueType\",\n \"ctrlKey\",\n \"ctrlLeft\",\n \"cues\",\n \"cullFace\",\n \"currentNode\",\n \"currentPage\",\n \"currentScale\",\n \"currentScript\",\n \"currentSrc\",\n \"currentState\",\n \"currentStyle\",\n \"currentTarget\",\n \"currentTime\",\n \"currentTranslate\",\n \"currentView\",\n \"cursor\",\n \"curve\",\n \"customError\",\n \"cx\",\n \"cy\",\n \"d\",\n \"data\",\n \"dataFld\",\n \"dataFormatAs\",\n \"dataPageSize\",\n \"dataSrc\",\n \"dataTransfer\",\n \"database\",\n \"dataset\",\n \"dateTime\",\n \"db\",\n \"debug\",\n \"debuggerEnabled\",\n \"declare\",\n \"decode\",\n \"decodeAudioData\",\n \"decodingInfo\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"decrypt\",\n \"default\",\n \"defaultCharset\",\n \"defaultChecked\",\n \"defaultMuted\",\n \"defaultPlaybackRate\",\n \"defaultPrevented\",\n \"defaultSelected\",\n \"defaultStatus\",\n \"defaultURL\",\n \"defaultValue\",\n \"defaultView\",\n \"defaultstatus\",\n \"defer\",\n \"defineMagicFunction\",\n \"defineMagicVariable\",\n \"defineProperties\",\n \"defineProperty\",\n \"delayTime\",\n \"delete\",\n \"deleteBuffer\",\n \"deleteCaption\",\n \"deleteCell\",\n \"deleteContents\",\n \"deleteData\",\n \"deleteDatabase\",\n \"deleteFramebuffer\",\n \"deleteFromDocument\",\n \"deleteIndex\",\n \"deleteMedium\",\n \"deleteObjectStore\",\n \"deleteProgram\",\n \"deleteRenderbuffer\",\n \"deleteRow\",\n \"deleteRule\",\n \"deleteShader\",\n \"deleteTFoot\",\n \"deleteTHead\",\n \"deleteTexture\",\n \"deliverChangeRecords\",\n \"delivery\",\n \"deliveryInfo\",\n \"deliveryStatus\",\n \"deliveryTimestamp\",\n \"delta\",\n \"deltaMode\",\n \"deltaX\",\n \"deltaY\",\n \"deltaZ\",\n \"depthFunc\",\n \"depthMask\",\n \"depthRange\",\n \"deriveBits\",\n \"deriveKey\",\n \"description\",\n \"deselectAll\",\n \"designMode\",\n \"destination\",\n \"destinationURL\",\n \"detach\",\n \"detachEvent\",\n \"detachShader\",\n \"detail\",\n \"detune\",\n \"devicePixelRatio\",\n \"deviceXDPI\",\n \"deviceYDPI\",\n \"diffuseConstant\",\n \"digest\",\n \"dimensions\",\n \"dir\",\n \"dirName\",\n \"direction\",\n \"dirxml\",\n \"disable\",\n \"disableVertexAttribArray\",\n \"disabled\",\n \"dischargingTime\",\n \"disconnect\",\n \"dispatchEvent\",\n \"display\",\n \"distanceModel\",\n \"divisor\",\n \"djsapi\",\n \"djsproxy\",\n \"doImport\",\n \"doNotTrack\",\n \"doScroll\",\n \"doctype\",\n \"document\",\n \"documentElement\",\n \"documentMode\",\n \"documentURI\",\n \"dolphin\",\n \"dolphinGameCenter\",\n \"dolphininfo\",\n \"dolphinmeta\",\n \"domComplete\",\n \"domContentLoadedEventEnd\",\n \"domContentLoadedEventStart\",\n \"domInteractive\",\n \"domLoading\",\n \"domain\",\n \"domainLookupEnd\",\n \"domainLookupStart\",\n \"dominant-baseline\",\n \"dominantBaseline\",\n \"done\",\n \"dopplerFactor\",\n \"download\",\n \"dragDrop\",\n \"draggable\",\n \"drawArrays\",\n \"drawArraysInstancedANGLE\",\n \"drawCustomFocusRing\",\n \"drawElements\",\n \"drawElementsInstancedANGLE\",\n \"drawFocusIfNeeded\",\n \"drawImage\",\n \"drawImageFromRect\",\n \"drawSystemFocusRing\",\n \"drawingBufferHeight\",\n \"drawingBufferWidth\",\n \"dropEffect\",\n \"droppedVideoFrames\",\n \"dropzone\",\n \"dump\",\n \"duplicate\",\n \"duration\",\n \"dvname\",\n \"dvnum\",\n \"dx\",\n \"dy\",\n \"dynsrc\",\n \"e\",\n \"edgeMode\",\n \"effectAllowed\",\n \"elapsedTime\",\n \"elementFromPoint\",\n \"elements\",\n \"elevation\",\n \"ellipse\",\n \"email\",\n \"embeds\",\n \"empty\",\n \"empty-cells\",\n \"emptyCells\",\n \"enable\",\n \"enableBackground\",\n \"enableStyleSheetsForSet\",\n \"enableVertexAttribArray\",\n \"enabled\",\n \"enabledPlugin\",\n \"encode\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"encoding\",\n \"encrypt\",\n \"enctype\",\n \"end\",\n \"endContainer\",\n \"endElement\",\n \"endElementAt\",\n \"endOfStream\",\n \"endOffset\",\n \"endTime\",\n \"ended\",\n \"endsWith\",\n \"entities\",\n \"entries\",\n \"entryType\",\n \"enumerate\",\n \"enumerateEditable\",\n \"error\",\n \"errorCode\",\n \"escape\",\n \"eval\",\n \"evaluate\",\n \"event\",\n \"eventPhase\",\n \"every\",\n \"exception\",\n \"exec\",\n \"execCommand\",\n \"execCommandShowHelp\",\n \"execScript\",\n \"exitFullscreen\",\n \"exitPointerLock\",\n \"exp\",\n \"expand\",\n \"expandEntityReferences\",\n \"expando\",\n \"expansion\",\n \"expiryDate\",\n \"explicitOriginalTarget\",\n \"expm1\",\n \"exponent\",\n \"exponentialRampToValueAtTime\",\n \"exportKey\",\n \"extend\",\n \"extensions\",\n \"extentNode\",\n \"extentOffset\",\n \"external\",\n \"externalResourcesRequired\",\n \"extractContents\",\n \"extractable\",\n \"f\",\n \"face\",\n \"factoryReset\",\n \"fallback\",\n \"familyName\",\n \"farthestViewportElement\",\n \"fastSeek\",\n \"fatal\",\n \"fetch\",\n \"fetchStart\",\n \"fftSize\",\n \"fgColor\",\n \"fileCreatedDate\",\n \"fileHandle\",\n \"fileModifiedDate\",\n \"fileName\",\n \"fileSize\",\n \"fileUpdatedDate\",\n \"filename\",\n \"files\",\n \"fill\",\n \"fill-opacity\",\n \"fill-rule\",\n \"fillOpacity\",\n \"fillRect\",\n \"fillRule\",\n \"fillStyle\",\n \"fillText\",\n \"filter\",\n \"filterResX\",\n \"filterResY\",\n \"filterUnits\",\n \"filters\",\n \"finally\",\n \"find\",\n \"findIndex\",\n \"findRule\",\n \"findText\",\n \"finish\",\n \"fireEvent\",\n \"firstChild\",\n \"firstElementChild\",\n \"firstPage\",\n \"fixed\",\n \"flex\",\n \"flex-basis\",\n \"flex-direction\",\n \"flex-flow\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"flexBasis\",\n \"flexDirection\",\n \"flexFlow\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexWrap\",\n \"flipX\",\n \"flipY\",\n \"float\",\n \"flood-color\",\n \"flood-opacity\",\n \"floodColor\",\n \"floodOpacity\",\n \"floor\",\n \"flush\",\n \"focus\",\n \"focusNode\",\n \"focusOffset\",\n \"font\",\n \"font-family\",\n \"font-feature-settings\",\n \"font-kerning\",\n \"font-language-override\",\n \"font-size\",\n \"font-size-adjust\",\n \"font-stretch\",\n \"font-style\",\n \"font-synthesis\",\n \"font-variant\",\n \"font-variant-alternates\",\n \"font-variant-caps\",\n \"font-variant-east-asian\",\n \"font-variant-ligatures\",\n \"font-variant-numeric\",\n \"font-variant-position\",\n \"font-weight\",\n \"fontFamily\",\n \"fontFeatureSettings\",\n \"fontKerning\",\n \"fontLanguageOverride\",\n \"fontSize\",\n \"fontSizeAdjust\",\n \"fontSmoothingEnabled\",\n \"fontStretch\",\n \"fontStyle\",\n \"fontSynthesis\",\n \"fontVariant\",\n \"fontVariantAlternates\",\n \"fontVariantCaps\",\n \"fontVariantEastAsian\",\n \"fontVariantLigatures\",\n \"fontVariantNumeric\",\n \"fontVariantPosition\",\n \"fontWeight\",\n \"fontcolor\",\n \"fonts\",\n \"fontsize\",\n \"for\",\n \"forEach\",\n \"forceRedraw\",\n \"form\",\n \"formAction\",\n \"formEnctype\",\n \"formMethod\",\n \"formNoValidate\",\n \"formTarget\",\n \"format\",\n \"forms\",\n \"forward\",\n \"fr\",\n \"frame\",\n \"frameBorder\",\n \"frameElement\",\n \"frameSpacing\",\n \"framebufferRenderbuffer\",\n \"framebufferTexture2D\",\n \"frames\",\n \"freeSpace\",\n \"freeze\",\n \"frequency\",\n \"frequencyBinCount\",\n \"from\",\n \"fromCharCode\",\n \"fromCodePoint\",\n \"fromElement\",\n \"frontFace\",\n \"fround\",\n \"fullScreen\",\n \"fullscreenElement\",\n \"fullscreenEnabled\",\n \"fx\",\n \"fy\",\n \"gain\",\n \"gamepad\",\n \"gamma\",\n \"genderIdentity\",\n \"generateKey\",\n \"generateMipmap\",\n \"generateRequest\",\n \"geolocation\",\n \"gestureObject\",\n \"get\",\n \"getActiveAttrib\",\n \"getActiveUniform\",\n \"getAdjacentText\",\n \"getAll\",\n \"getAllResponseHeaders\",\n \"getAsFile\",\n \"getAsString\",\n \"getAttachedShaders\",\n \"getAttribLocation\",\n \"getAttribute\",\n \"getAttributeNS\",\n \"getAttributeNode\",\n \"getAttributeNodeNS\",\n \"getAudioTracks\",\n \"getBBox\",\n \"getBattery\",\n \"getBlob\",\n \"getBookmark\",\n \"getBoundingClientRect\",\n \"getBufferParameter\",\n \"getByteFrequencyData\",\n \"getByteTimeDomainData\",\n \"getCSSCanvasContext\",\n \"getCTM\",\n \"getCandidateWindowClientRect\",\n \"getChannelData\",\n \"getCharNumAtPosition\",\n \"getClientRect\",\n \"getClientRects\",\n \"getCompositionAlternatives\",\n \"getComputedStyle\",\n \"getComputedTextLength\",\n \"getConfiguration\",\n \"getContext\",\n \"getContextAttributes\",\n \"getCounterValue\",\n \"getCueAsHTML\",\n \"getCueById\",\n \"getCurrentPosition\",\n \"getCurrentTime\",\n \"getData\",\n \"getDatabaseNames\",\n \"getDate\",\n \"getDay\",\n \"getDefaultComputedStyle\",\n \"getDestinationInsertionPoints\",\n \"getDistributedNodes\",\n \"getEditable\",\n \"getElementById\",\n \"getElementsByClassName\",\n \"getElementsByName\",\n \"getElementsByTagName\",\n \"getElementsByTagNameNS\",\n \"getEnclosureList\",\n \"getEndPositionOfChar\",\n \"getEntries\",\n \"getEntriesByName\",\n \"getEntriesByType\",\n \"getError\",\n \"getExtension\",\n \"getExtentOfChar\",\n \"getFeature\",\n \"getFile\",\n \"getFloat32\",\n \"getFloat64\",\n \"getFloatFrequencyData\",\n \"getFloatTimeDomainData\",\n \"getFloatValue\",\n \"getFramebufferAttachmentParameter\",\n \"getFrequencyResponse\",\n \"getFullYear\",\n \"getGamepads\",\n \"getHours\",\n \"getImageData\",\n \"getInt16\",\n \"getInt32\",\n \"getInt8\",\n \"getIntersectionList\",\n \"getItem\",\n \"getItems\",\n \"getKey\",\n \"getLineDash\",\n \"getLocalStreams\",\n \"getMarks\",\n \"getMatchedCSSRules\",\n \"getMeasures\",\n \"getMetadata\",\n \"getMilliseconds\",\n \"getMinutes\",\n \"getModifierState\",\n \"getMonth\",\n \"getNamedItem\",\n \"getNamedItemNS\",\n \"getNotifier\",\n \"getNumberOfChars\",\n \"getOverrideHistoryNavigationMode\",\n \"getOverrideStyle\",\n \"getOwnPropertyDescriptor\",\n \"getOwnPropertyNames\",\n \"getOwnPropertySymbols\",\n \"getParameter\",\n \"getPathSegAtLength\",\n \"getPointAtLength\",\n \"getPreference\",\n \"getPreferenceDefault\",\n \"getPresentationAttribute\",\n \"getPreventDefault\",\n \"getProgramInfoLog\",\n \"getProgramParameter\",\n \"getPropertyCSSValue\",\n \"getPropertyPriority\",\n \"getPropertyShorthand\",\n \"getPropertyValue\",\n \"getPrototypeOf\",\n \"getRGBColorValue\",\n \"getRandomValues\",\n \"getRangeAt\",\n \"getReceivers\",\n \"getRectValue\",\n \"getRegistration\",\n \"getRemoteStreams\",\n \"getRenderbufferParameter\",\n \"getResponseHeader\",\n \"getRoot\",\n \"getRotationOfChar\",\n \"getSVGDocument\",\n \"getScreenCTM\",\n \"getSeconds\",\n \"getSelection\",\n \"getSenders\",\n \"getShaderInfoLog\",\n \"getShaderParameter\",\n \"getShaderPrecisionFormat\",\n \"getShaderSource\",\n \"getSimpleDuration\",\n \"getSiteIcons\",\n \"getSources\",\n \"getSpeculativeParserUrls\",\n \"getStartPositionOfChar\",\n \"getStartTime\",\n \"getStats\",\n \"getStorageUpdates\",\n \"getStreamById\",\n \"getStringValue\",\n \"getSubStringLength\",\n \"getSubscription\",\n \"getSupportedExtensions\",\n \"getTexParameter\",\n \"getTime\",\n \"getTimezoneOffset\",\n \"getTotalLength\",\n \"getTrackById\",\n \"getTracks\",\n \"getTransformToElement\",\n \"getUTCDate\",\n \"getUTCDay\",\n \"getUTCFullYear\",\n \"getUTCHours\",\n \"getUTCMilliseconds\",\n \"getUTCMinutes\",\n \"getUTCMonth\",\n \"getUTCSeconds\",\n \"getUint16\",\n \"getUint32\",\n \"getUint8\",\n \"getUniform\",\n \"getUniformLocation\",\n \"getUserMedia\",\n \"getValues\",\n \"getVarDate\",\n \"getVariableValue\",\n \"getVertexAttrib\",\n \"getVertexAttribOffset\",\n \"getVideoPlaybackQuality\",\n \"getVideoTracks\",\n \"getWakeLockState\",\n \"getYear\",\n \"givenName\",\n \"global\",\n \"globalAlpha\",\n \"globalCompositeOperation\",\n \"glyphOrientationHorizontal\",\n \"glyphOrientationVertical\",\n \"glyphRef\",\n \"go\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"grammars\",\n \"green\",\n \"group\",\n \"groupCollapsed\",\n \"groupEnd\",\n \"hardwareConcurrency\",\n \"has\",\n \"hasAttribute\",\n \"hasAttributeNS\",\n \"hasAttributes\",\n \"hasChildNodes\",\n \"hasComposition\",\n \"hasExtension\",\n \"hasFeature\",\n \"hasFocus\",\n \"hasLayout\",\n \"hasOwnProperty\",\n \"hash\",\n \"head\",\n \"headers\",\n \"heading\",\n \"height\",\n \"hidden\",\n \"hide\",\n \"hideFocus\",\n \"high\",\n \"hint\",\n \"history\",\n \"honorificPrefix\",\n \"honorificSuffix\",\n \"horizontalOverflow\",\n \"host\",\n \"hostname\",\n \"href\",\n \"hreflang\",\n \"hspace\",\n \"html5TagCheckInerface\",\n \"htmlFor\",\n \"htmlText\",\n \"httpEquiv\",\n \"hwTimestamp\",\n \"hypot\",\n \"iccId\",\n \"iceConnectionState\",\n \"iceGatheringState\",\n \"icon\",\n \"id\",\n \"identifier\",\n \"identity\",\n \"ignoreBOM\",\n \"ignoreCase\",\n \"image-orientation\",\n \"image-rendering\",\n \"imageOrientation\",\n \"imageRendering\",\n \"images\",\n \"ime-mode\",\n \"imeMode\",\n \"implementation\",\n \"importKey\",\n \"importNode\",\n \"importStylesheet\",\n \"imports\",\n \"impp\",\n \"imul\",\n \"in1\",\n \"in2\",\n \"inBandMetadataTrackDispatchType\",\n \"inRange\",\n \"includes\",\n \"incremental\",\n \"indeterminate\",\n \"index\",\n \"indexNames\",\n \"indexOf\",\n \"indexedDB\",\n \"inertiaDestinationX\",\n \"inertiaDestinationY\",\n \"info\",\n \"init\",\n \"initAnimationEvent\",\n \"initBeforeLoadEvent\",\n \"initClipboardEvent\",\n \"initCloseEvent\",\n \"initCommandEvent\",\n \"initCompositionEvent\",\n \"initCustomEvent\",\n \"initData\",\n \"initDeviceMotionEvent\",\n \"initDeviceOrientationEvent\",\n \"initDragEvent\",\n \"initErrorEvent\",\n \"initEvent\",\n \"initFocusEvent\",\n \"initGestureEvent\",\n \"initHashChangeEvent\",\n \"initKeyEvent\",\n \"initKeyboardEvent\",\n \"initMSManipulationEvent\",\n \"initMessageEvent\",\n \"initMouseEvent\",\n \"initMouseScrollEvent\",\n \"initMouseWheelEvent\",\n \"initMutationEvent\",\n \"initNSMouseEvent\",\n \"initOverflowEvent\",\n \"initPageEvent\",\n \"initPageTransitionEvent\",\n \"initPointerEvent\",\n \"initPopStateEvent\",\n \"initProgressEvent\",\n \"initScrollAreaEvent\",\n \"initSimpleGestureEvent\",\n \"initStorageEvent\",\n \"initTextEvent\",\n \"initTimeEvent\",\n \"initTouchEvent\",\n \"initTransitionEvent\",\n \"initUIEvent\",\n \"initWebKitAnimationEvent\",\n \"initWebKitTransitionEvent\",\n \"initWebKitWheelEvent\",\n \"initWheelEvent\",\n \"initialTime\",\n \"initialize\",\n \"initiatorType\",\n \"inner\",\n \"innerHTML\",\n \"innerHeight\",\n \"innerText\",\n \"innerWidth\",\n \"input\",\n \"inputBuffer\",\n \"inputEncoding\",\n \"inputMethod\",\n \"insertAdjacentElement\",\n \"insertAdjacentHTML\",\n \"insertAdjacentText\",\n \"insertBefore\",\n \"insertCell\",\n \"insertData\",\n \"insertItemBefore\",\n \"insertNode\",\n \"insertRow\",\n \"insertRule\",\n \"instanceRoot\",\n \"intercept\",\n \"interimResults\",\n \"internalSubset\",\n \"intersectsNode\",\n \"interval\",\n \"invalidIteratorState\",\n \"inverse\",\n \"invertSelf\",\n \"is\",\n \"is2D\",\n \"isAlternate\",\n \"isArray\",\n \"isBingCurrentSearchDefault\",\n \"isBuffer\",\n \"isCandidateWindowVisible\",\n \"isChar\",\n \"isCollapsed\",\n \"isComposing\",\n \"isContentEditable\",\n \"isContentHandlerRegistered\",\n \"isContextLost\",\n \"isDefaultNamespace\",\n \"isDisabled\",\n \"isEnabled\",\n \"isEqual\",\n \"isEqualNode\",\n \"isExtensible\",\n \"isFinite\",\n \"isFramebuffer\",\n \"isFrozen\",\n \"isGenerator\",\n \"isId\",\n \"isInjected\",\n \"isInteger\",\n \"isMap\",\n \"isMultiLine\",\n \"isNaN\",\n \"isOpen\",\n \"isPointInFill\",\n \"isPointInPath\",\n \"isPointInRange\",\n \"isPointInStroke\",\n \"isPrefAlternate\",\n \"isPrimary\",\n \"isProgram\",\n \"isPropertyImplicit\",\n \"isProtocolHandlerRegistered\",\n \"isPrototypeOf\",\n \"isRenderbuffer\",\n \"isSafeInteger\",\n \"isSameNode\",\n \"isSealed\",\n \"isShader\",\n \"isSupported\",\n \"isTextEdit\",\n \"isTexture\",\n \"isTrusted\",\n \"isTypeSupported\",\n \"isView\",\n \"isolation\",\n \"italics\",\n \"item\",\n \"itemId\",\n \"itemProp\",\n \"itemRef\",\n \"itemScope\",\n \"itemType\",\n \"itemValue\",\n \"iterateNext\",\n \"iterator\",\n \"javaEnabled\",\n \"jobTitle\",\n \"join\",\n \"json\",\n \"justify-content\",\n \"justifyContent\",\n \"k1\",\n \"k2\",\n \"k3\",\n \"k4\",\n \"kernelMatrix\",\n \"kernelUnitLengthX\",\n \"kernelUnitLengthY\",\n \"kerning\",\n \"key\",\n \"keyCode\",\n \"keyFor\",\n \"keyIdentifier\",\n \"keyLightEnabled\",\n \"keyLocation\",\n \"keyPath\",\n \"keySystem\",\n \"keyText\",\n \"keyUsage\",\n \"keys\",\n \"keytype\",\n \"kind\",\n \"knee\",\n \"label\",\n \"labels\",\n \"lang\",\n \"language\",\n \"languages\",\n \"largeArcFlag\",\n \"lastChild\",\n \"lastElementChild\",\n \"lastEventId\",\n \"lastIndex\",\n \"lastIndexOf\",\n \"lastMatch\",\n \"lastMessageSubject\",\n \"lastMessageType\",\n \"lastModified\",\n \"lastModifiedDate\",\n \"lastPage\",\n \"lastParen\",\n \"lastState\",\n \"lastStyleSheetSet\",\n \"latitude\",\n \"layerX\",\n \"layerY\",\n \"layoutFlow\",\n \"layoutGrid\",\n \"layoutGridChar\",\n \"layoutGridLine\",\n \"layoutGridMode\",\n \"layoutGridType\",\n \"lbound\",\n \"left\",\n \"leftContext\",\n \"leftMargin\",\n \"length\",\n \"lengthAdjust\",\n \"lengthComputable\",\n \"letter-spacing\",\n \"letterSpacing\",\n \"level\",\n \"lighting-color\",\n \"lightingColor\",\n \"limitingConeAngle\",\n \"line\",\n \"line-height\",\n \"lineAlign\",\n \"lineBreak\",\n \"lineCap\",\n \"lineDashOffset\",\n \"lineHeight\",\n \"lineJoin\",\n \"lineNumber\",\n \"lineTo\",\n \"lineWidth\",\n \"linearRampToValueAtTime\",\n \"lineno\",\n \"link\",\n \"linkColor\",\n \"linkProgram\",\n \"links\",\n \"list\",\n \"list-style\",\n \"list-style-image\",\n \"list-style-position\",\n \"list-style-type\",\n \"listStyle\",\n \"listStyleImage\",\n \"listStylePosition\",\n \"listStyleType\",\n \"listener\",\n \"load\",\n \"loadEventEnd\",\n \"loadEventStart\",\n \"loadTimes\",\n \"loaded\",\n \"localDescription\",\n \"localName\",\n \"localStorage\",\n \"locale\",\n \"localeCompare\",\n \"location\",\n \"locationbar\",\n \"lock\",\n \"lockedFile\",\n \"log\",\n \"log10\",\n \"log1p\",\n \"log2\",\n \"logicalXDPI\",\n \"logicalYDPI\",\n \"longDesc\",\n \"longitude\",\n \"lookupNamespaceURI\",\n \"lookupPrefix\",\n \"loop\",\n \"loopEnd\",\n \"loopStart\",\n \"looping\",\n \"low\",\n \"lower\",\n \"lowerBound\",\n \"lowerOpen\",\n \"lowsrc\",\n \"m11\",\n \"m12\",\n \"m13\",\n \"m14\",\n \"m21\",\n \"m22\",\n \"m23\",\n \"m24\",\n \"m31\",\n \"m32\",\n \"m33\",\n \"m34\",\n \"m41\",\n \"m42\",\n \"m43\",\n \"m44\",\n \"manifest\",\n \"map\",\n \"mapping\",\n \"margin\",\n \"margin-bottom\",\n \"margin-left\",\n \"margin-right\",\n \"margin-top\",\n \"marginBottom\",\n \"marginHeight\",\n \"marginLeft\",\n \"marginRight\",\n \"marginTop\",\n \"marginWidth\",\n \"mark\",\n \"marker\",\n \"marker-end\",\n \"marker-mid\",\n \"marker-offset\",\n \"marker-start\",\n \"markerEnd\",\n \"markerHeight\",\n \"markerMid\",\n \"markerOffset\",\n \"markerStart\",\n \"markerUnits\",\n \"markerWidth\",\n \"marks\",\n \"mask\",\n \"mask-type\",\n \"maskContentUnits\",\n \"maskType\",\n \"maskUnits\",\n \"match\",\n \"matchMedia\",\n \"matchMedium\",\n \"matches\",\n \"matrix\",\n \"matrixTransform\",\n \"max\",\n \"max-height\",\n \"max-width\",\n \"maxAlternatives\",\n \"maxChannelCount\",\n \"maxConnectionsPerServer\",\n \"maxDecibels\",\n \"maxDistance\",\n \"maxHeight\",\n \"maxLength\",\n \"maxTouchPoints\",\n \"maxValue\",\n \"maxWidth\",\n \"measure\",\n \"measureText\",\n \"media\",\n \"mediaCapabilities\",\n \"mediaDevices\",\n \"mediaElement\",\n \"mediaGroup\",\n \"mediaKeys\",\n \"mediaText\",\n \"meetOrSlice\",\n \"memory\",\n \"menubar\",\n \"mergeAttributes\",\n \"message\",\n \"messageClass\",\n \"messageHandlers\",\n \"metaKey\",\n \"method\",\n \"mimeType\",\n \"mimeTypes\",\n \"min\",\n \"min-height\",\n \"min-width\",\n \"minDecibels\",\n \"minHeight\",\n \"minValue\",\n \"minWidth\",\n \"miterLimit\",\n \"mix-blend-mode\",\n \"mixBlendMode\",\n \"mode\",\n \"modify\",\n \"mount\",\n \"move\",\n \"moveBy\",\n \"moveEnd\",\n \"moveFirst\",\n \"moveFocusDown\",\n \"moveFocusLeft\",\n \"moveFocusRight\",\n \"moveFocusUp\",\n \"moveNext\",\n \"moveRow\",\n \"moveStart\",\n \"moveTo\",\n \"moveToBookmark\",\n \"moveToElementText\",\n \"moveToPoint\",\n \"mozAdd\",\n \"mozAnimationStartTime\",\n \"mozAnon\",\n \"mozApps\",\n \"mozAudioCaptured\",\n \"mozAudioChannelType\",\n \"mozAutoplayEnabled\",\n \"mozCancelAnimationFrame\",\n \"mozCancelFullScreen\",\n \"mozCancelRequestAnimationFrame\",\n \"mozCaptureStream\",\n \"mozCaptureStreamUntilEnded\",\n \"mozClearDataAt\",\n \"mozContact\",\n \"mozContacts\",\n \"mozCreateFileHandle\",\n \"mozCurrentTransform\",\n \"mozCurrentTransformInverse\",\n \"mozCursor\",\n \"mozDash\",\n \"mozDashOffset\",\n \"mozDecodedFrames\",\n \"mozExitPointerLock\",\n \"mozFillRule\",\n \"mozFragmentEnd\",\n \"mozFrameDelay\",\n \"mozFullScreen\",\n \"mozFullScreenElement\",\n \"mozFullScreenEnabled\",\n \"mozGetAll\",\n \"mozGetAllKeys\",\n \"mozGetAsFile\",\n \"mozGetDataAt\",\n \"mozGetMetadata\",\n \"mozGetUserMedia\",\n \"mozHasAudio\",\n \"mozHasItem\",\n \"mozHidden\",\n \"mozImageSmoothingEnabled\",\n \"mozIndexedDB\",\n \"mozInnerScreenX\",\n \"mozInnerScreenY\",\n \"mozInputSource\",\n \"mozIsTextField\",\n \"mozItem\",\n \"mozItemCount\",\n \"mozItems\",\n \"mozLength\",\n \"mozLockOrientation\",\n \"mozMatchesSelector\",\n \"mozMovementX\",\n \"mozMovementY\",\n \"mozOpaque\",\n \"mozOrientation\",\n \"mozPaintCount\",\n \"mozPaintedFrames\",\n \"mozParsedFrames\",\n \"mozPay\",\n \"mozPointerLockElement\",\n \"mozPresentedFrames\",\n \"mozPreservesPitch\",\n \"mozPressure\",\n \"mozPrintCallback\",\n \"mozRTCIceCandidate\",\n \"mozRTCPeerConnection\",\n \"mozRTCSessionDescription\",\n \"mozRemove\",\n \"mozRequestAnimationFrame\",\n \"mozRequestFullScreen\",\n \"mozRequestPointerLock\",\n \"mozSetDataAt\",\n \"mozSetImageElement\",\n \"mozSourceNode\",\n \"mozSrcObject\",\n \"mozSystem\",\n \"mozTCPSocket\",\n \"mozTextStyle\",\n \"mozTypesAt\",\n \"mozUnlockOrientation\",\n \"mozUserCancelled\",\n \"mozVisibilityState\",\n \"msAnimation\",\n \"msAnimationDelay\",\n \"msAnimationDirection\",\n \"msAnimationDuration\",\n \"msAnimationFillMode\",\n \"msAnimationIterationCount\",\n \"msAnimationName\",\n \"msAnimationPlayState\",\n \"msAnimationStartTime\",\n \"msAnimationTimingFunction\",\n \"msBackfaceVisibility\",\n \"msBlockProgression\",\n \"msCSSOMElementFloatMetrics\",\n \"msCaching\",\n \"msCachingEnabled\",\n \"msCancelRequestAnimationFrame\",\n \"msCapsLockWarningOff\",\n \"msClearImmediate\",\n \"msClose\",\n \"msContentZoomChaining\",\n \"msContentZoomFactor\",\n \"msContentZoomLimit\",\n \"msContentZoomLimitMax\",\n \"msContentZoomLimitMin\",\n \"msContentZoomSnap\",\n \"msContentZoomSnapPoints\",\n \"msContentZoomSnapType\",\n \"msContentZooming\",\n \"msConvertURL\",\n \"msCrypto\",\n \"msDoNotTrack\",\n \"msElementsFromPoint\",\n \"msElementsFromRect\",\n \"msExitFullscreen\",\n \"msExtendedCode\",\n \"msFillRule\",\n \"msFirstPaint\",\n \"msFlex\",\n \"msFlexAlign\",\n \"msFlexDirection\",\n \"msFlexFlow\",\n \"msFlexItemAlign\",\n \"msFlexLinePack\",\n \"msFlexNegative\",\n \"msFlexOrder\",\n \"msFlexPack\",\n \"msFlexPositive\",\n \"msFlexPreferredSize\",\n \"msFlexWrap\",\n \"msFlowFrom\",\n \"msFlowInto\",\n \"msFontFeatureSettings\",\n \"msFullscreenElement\",\n \"msFullscreenEnabled\",\n \"msGetInputContext\",\n \"msGetRegionContent\",\n \"msGetUntransformedBounds\",\n \"msGraphicsTrustStatus\",\n \"msGridColumn\",\n \"msGridColumnAlign\",\n \"msGridColumnSpan\",\n \"msGridColumns\",\n \"msGridRow\",\n \"msGridRowAlign\",\n \"msGridRowSpan\",\n \"msGridRows\",\n \"msHidden\",\n \"msHighContrastAdjust\",\n \"msHyphenateLimitChars\",\n \"msHyphenateLimitLines\",\n \"msHyphenateLimitZone\",\n \"msHyphens\",\n \"msImageSmoothingEnabled\",\n \"msImeAlign\",\n \"msIndexedDB\",\n \"msInterpolationMode\",\n \"msIsStaticHTML\",\n \"msKeySystem\",\n \"msKeys\",\n \"msLaunchUri\",\n \"msLockOrientation\",\n \"msManipulationViewsEnabled\",\n \"msMatchMedia\",\n \"msMatchesSelector\",\n \"msMaxTouchPoints\",\n \"msOrientation\",\n \"msOverflowStyle\",\n \"msPerspective\",\n \"msPerspectiveOrigin\",\n \"msPlayToDisabled\",\n \"msPlayToPreferredSourceUri\",\n \"msPlayToPrimary\",\n \"msPointerEnabled\",\n \"msRegionOverflow\",\n \"msReleasePointerCapture\",\n \"msRequestAnimationFrame\",\n \"msRequestFullscreen\",\n \"msSaveBlob\",\n \"msSaveOrOpenBlob\",\n \"msScrollChaining\",\n \"msScrollLimit\",\n \"msScrollLimitXMax\",\n \"msScrollLimitXMin\",\n \"msScrollLimitYMax\",\n \"msScrollLimitYMin\",\n \"msScrollRails\",\n \"msScrollSnapPointsX\",\n \"msScrollSnapPointsY\",\n \"msScrollSnapType\",\n \"msScrollSnapX\",\n \"msScrollSnapY\",\n \"msScrollTranslation\",\n \"msSetImmediate\",\n \"msSetMediaKeys\",\n \"msSetPointerCapture\",\n \"msTextCombineHorizontal\",\n \"msTextSizeAdjust\",\n \"msToBlob\",\n \"msTouchAction\",\n \"msTouchSelect\",\n \"msTraceAsyncCallbackCompleted\",\n \"msTraceAsyncCallbackStarting\",\n \"msTraceAsyncOperationCompleted\",\n \"msTraceAsyncOperationStarting\",\n \"msTransform\",\n \"msTransformOrigin\",\n \"msTransformStyle\",\n \"msTransition\",\n \"msTransitionDelay\",\n \"msTransitionDuration\",\n \"msTransitionProperty\",\n \"msTransitionTimingFunction\",\n \"msUnlockOrientation\",\n \"msUpdateAsyncCallbackRelation\",\n \"msUserSelect\",\n \"msVisibilityState\",\n \"msWrapFlow\",\n \"msWrapMargin\",\n \"msWrapThrough\",\n \"msWriteProfilerMark\",\n \"msZoom\",\n \"msZoomTo\",\n \"mt\",\n \"multiEntry\",\n \"multiSelectionObj\",\n \"multiline\",\n \"multiple\",\n \"multiply\",\n \"multiplySelf\",\n \"mutableFile\",\n \"muted\",\n \"n\",\n \"name\",\n \"nameProp\",\n \"namedItem\",\n \"namedRecordset\",\n \"names\",\n \"namespaceURI\",\n \"namespaces\",\n \"naturalHeight\",\n \"naturalWidth\",\n \"navigate\",\n \"navigation\",\n \"navigationMode\",\n \"navigationStart\",\n \"navigator\",\n \"near\",\n \"nearestViewportElement\",\n \"negative\",\n \"netscape\",\n \"networkState\",\n \"newScale\",\n \"newTranslate\",\n \"newURL\",\n \"newValue\",\n \"newValueSpecifiedUnits\",\n \"newVersion\",\n \"newhome\",\n \"next\",\n \"nextElementSibling\",\n \"nextNode\",\n \"nextPage\",\n \"nextSibling\",\n \"nickname\",\n \"noHref\",\n \"noResize\",\n \"noShade\",\n \"noValidate\",\n \"noWrap\",\n \"nodeName\",\n \"nodeType\",\n \"nodeValue\",\n \"normalize\",\n \"normalizedPathSegList\",\n \"notationName\",\n \"notations\",\n \"note\",\n \"noteGrainOn\",\n \"noteOff\",\n \"noteOn\",\n \"now\",\n \"numOctaves\",\n \"number\",\n \"numberOfChannels\",\n \"numberOfInputs\",\n \"numberOfItems\",\n \"numberOfOutputs\",\n \"numberValue\",\n \"oMatchesSelector\",\n \"object\",\n \"object-fit\",\n \"object-position\",\n \"objectFit\",\n \"objectPosition\",\n \"objectStore\",\n \"objectStoreNames\",\n \"observe\",\n \"of\",\n \"offscreenBuffering\",\n \"offset\",\n \"offsetHeight\",\n \"offsetLeft\",\n \"offsetNode\",\n \"offsetParent\",\n \"offsetTop\",\n \"offsetWidth\",\n \"offsetX\",\n \"offsetY\",\n \"ok\",\n \"oldURL\",\n \"oldValue\",\n \"oldVersion\",\n \"olderShadowRoot\",\n \"onLine\",\n \"onabort\",\n \"onactivate\",\n \"onactive\",\n \"onaddstream\",\n \"onaddtrack\",\n \"onafterprint\",\n \"onafterscriptexecute\",\n \"onafterupdate\",\n \"onaudioend\",\n \"onaudioprocess\",\n \"onaudiostart\",\n \"onautocomplete\",\n \"onautocompleteerror\",\n \"onbeforeactivate\",\n \"onbeforecopy\",\n \"onbeforecut\",\n \"onbeforedeactivate\",\n \"onbeforeeditfocus\",\n \"onbeforepaste\",\n \"onbeforeprint\",\n \"onbeforescriptexecute\",\n \"onbeforeunload\",\n \"onbeforeupdate\",\n \"onblocked\",\n \"onblur\",\n \"onbounce\",\n \"onboundary\",\n \"oncached\",\n \"oncancel\",\n \"oncandidatewindowhide\",\n \"oncandidatewindowshow\",\n \"oncandidatewindowupdate\",\n \"oncanplay\",\n \"oncanplaythrough\",\n \"oncellchange\",\n \"onchange\",\n \"onchargingchange\",\n \"onchargingtimechange\",\n \"onchecking\",\n \"onclick\",\n \"onclose\",\n \"oncompassneedscalibration\",\n \"oncomplete\",\n \"oncontextmenu\",\n \"oncontrolselect\",\n \"oncopy\",\n \"oncuechange\",\n \"oncut\",\n \"ondataavailable\",\n \"ondatachannel\",\n \"ondatasetchanged\",\n \"ondatasetcomplete\",\n \"ondblclick\",\n \"ondeactivate\",\n \"ondevicelight\",\n \"ondevicemotion\",\n \"ondeviceorientation\",\n \"ondeviceproximity\",\n \"ondischargingtimechange\",\n \"ondisplay\",\n \"ondownloading\",\n \"ondrag\",\n \"ondragend\",\n \"ondragenter\",\n \"ondragleave\",\n \"ondragover\",\n \"ondragstart\",\n \"ondrop\",\n \"ondurationchange\",\n \"onemptied\",\n \"onencrypted\",\n \"onend\",\n \"onended\",\n \"onenter\",\n \"onerror\",\n \"onerrorupdate\",\n \"onexit\",\n \"onfilterchange\",\n \"onfinish\",\n \"onfocus\",\n \"onfocusin\",\n \"onfocusout\",\n \"onfullscreenchange\",\n \"onfullscreenerror\",\n \"ongesturechange\",\n \"ongestureend\",\n \"ongesturestart\",\n \"ongotpointercapture\",\n \"onhashchange\",\n \"onhelp\",\n \"onicecandidate\",\n \"oniceconnectionstatechange\",\n \"oninactive\",\n \"oninput\",\n \"oninvalid\",\n \"onkeydown\",\n \"onkeypress\",\n \"onkeyup\",\n \"onlanguagechange\",\n \"onlayoutcomplete\",\n \"onlevelchange\",\n \"onload\",\n \"onloadeddata\",\n \"onloadedmetadata\",\n \"onloadend\",\n \"onloadstart\",\n \"onlosecapture\",\n \"onlostpointercapture\",\n \"only\",\n \"onmark\",\n \"onmessage\",\n \"onmousedown\",\n \"onmouseenter\",\n \"onmouseleave\",\n \"onmousemove\",\n \"onmouseout\",\n \"onmouseover\",\n \"onmouseup\",\n \"onmousewheel\",\n \"onmove\",\n \"onmoveend\",\n \"onmovestart\",\n \"onmozfullscreenchange\",\n \"onmozfullscreenerror\",\n \"onmozorientationchange\",\n \"onmozpointerlockchange\",\n \"onmozpointerlockerror\",\n \"onmscontentzoom\",\n \"onmsfullscreenchange\",\n \"onmsfullscreenerror\",\n \"onmsgesturechange\",\n \"onmsgesturedoubletap\",\n \"onmsgestureend\",\n \"onmsgesturehold\",\n \"onmsgesturestart\",\n \"onmsgesturetap\",\n \"onmsgotpointercapture\",\n \"onmsinertiastart\",\n \"onmslostpointercapture\",\n \"onmsmanipulationstatechanged\",\n \"onmsneedkey\",\n \"onmsorientationchange\",\n \"onmspointercancel\",\n \"onmspointerdown\",\n \"onmspointerenter\",\n \"onmspointerhover\",\n \"onmspointerleave\",\n \"onmspointermove\",\n \"onmspointerout\",\n \"onmspointerover\",\n \"onmspointerup\",\n \"onmssitemodejumplistitemremoved\",\n \"onmsthumbnailclick\",\n \"onnegotiationneeded\",\n \"onnomatch\",\n \"onnoupdate\",\n \"onobsolete\",\n \"onoffline\",\n \"ononline\",\n \"onopen\",\n \"onorientationchange\",\n \"onpagechange\",\n \"onpagehide\",\n \"onpageshow\",\n \"onpaste\",\n \"onpause\",\n \"onplay\",\n \"onplaying\",\n \"onpluginstreamstart\",\n \"onpointercancel\",\n \"onpointerdown\",\n \"onpointerenter\",\n \"onpointerleave\",\n \"onpointerlockchange\",\n \"onpointerlockerror\",\n \"onpointermove\",\n \"onpointerout\",\n \"onpointerover\",\n \"onpointerup\",\n \"onpopstate\",\n \"onprogress\",\n \"onpropertychange\",\n \"onratechange\",\n \"onreadystatechange\",\n \"onremovestream\",\n \"onremovetrack\",\n \"onreset\",\n \"onresize\",\n \"onresizeend\",\n \"onresizestart\",\n \"onresourcetimingbufferfull\",\n \"onresult\",\n \"onresume\",\n \"onrowenter\",\n \"onrowexit\",\n \"onrowsdelete\",\n \"onrowsinserted\",\n \"onscroll\",\n \"onsearch\",\n \"onseeked\",\n \"onseeking\",\n \"onselect\",\n \"onselectionchange\",\n \"onselectstart\",\n \"onshow\",\n \"onsignalingstatechange\",\n \"onsoundend\",\n \"onsoundstart\",\n \"onspeechend\",\n \"onspeechstart\",\n \"onstalled\",\n \"onstart\",\n \"onstatechange\",\n \"onstop\",\n \"onstorage\",\n \"onstoragecommit\",\n \"onsubmit\",\n \"onsuccess\",\n \"onsuspend\",\n \"ontextinput\",\n \"ontimeout\",\n \"ontimeupdate\",\n \"ontoggle\",\n \"ontouchcancel\",\n \"ontouchend\",\n \"ontouchmove\",\n \"ontouchstart\",\n \"ontransitionend\",\n \"onunload\",\n \"onupdateready\",\n \"onupgradeneeded\",\n \"onuserproximity\",\n \"onversionchange\",\n \"onvoiceschanged\",\n \"onvolumechange\",\n \"onwaiting\",\n \"onwarning\",\n \"onwebkitanimationend\",\n \"onwebkitanimationiteration\",\n \"onwebkitanimationstart\",\n \"onwebkitcurrentplaybacktargetiswirelesschanged\",\n \"onwebkitfullscreenchange\",\n \"onwebkitfullscreenerror\",\n \"onwebkitkeyadded\",\n \"onwebkitkeyerror\",\n \"onwebkitkeymessage\",\n \"onwebkitneedkey\",\n \"onwebkitorientationchange\",\n \"onwebkitplaybacktargetavailabilitychanged\",\n \"onwebkitpointerlockchange\",\n \"onwebkitpointerlockerror\",\n \"onwebkitresourcetimingbufferfull\",\n \"onwebkittransitionend\",\n \"onwheel\",\n \"onzoom\",\n \"opacity\",\n \"open\",\n \"openCursor\",\n \"openDatabase\",\n \"openKeyCursor\",\n \"opener\",\n \"opera\",\n \"operationType\",\n \"operator\",\n \"opr\",\n \"optimum\",\n \"options\",\n \"order\",\n \"orderX\",\n \"orderY\",\n \"ordered\",\n \"org\",\n \"orient\",\n \"orientAngle\",\n \"orientType\",\n \"orientation\",\n \"origin\",\n \"originalTarget\",\n \"orphans\",\n \"oscpu\",\n \"outerHTML\",\n \"outerHeight\",\n \"outerText\",\n \"outerWidth\",\n \"outline\",\n \"outline-color\",\n \"outline-offset\",\n \"outline-style\",\n \"outline-width\",\n \"outlineColor\",\n \"outlineOffset\",\n \"outlineStyle\",\n \"outlineWidth\",\n \"outputBuffer\",\n \"overflow\",\n \"overflow-x\",\n \"overflow-y\",\n \"overflowX\",\n \"overflowY\",\n \"overrideMimeType\",\n \"oversample\",\n \"ownerDocument\",\n \"ownerElement\",\n \"ownerNode\",\n \"ownerRule\",\n \"ownerSVGElement\",\n \"owningElement\",\n \"p1\",\n \"p2\",\n \"p3\",\n \"p4\",\n \"pad\",\n \"padding\",\n \"padding-bottom\",\n \"padding-left\",\n \"padding-right\",\n \"padding-top\",\n \"paddingBottom\",\n \"paddingLeft\",\n \"paddingRight\",\n \"paddingTop\",\n \"page\",\n \"page-break-after\",\n \"page-break-before\",\n \"page-break-inside\",\n \"pageBreakAfter\",\n \"pageBreakBefore\",\n \"pageBreakInside\",\n \"pageCount\",\n \"pageX\",\n \"pageXOffset\",\n \"pageY\",\n \"pageYOffset\",\n \"pages\",\n \"paint-order\",\n \"paintOrder\",\n \"paintRequests\",\n \"paintType\",\n \"palette\",\n \"panningModel\",\n \"parent\",\n \"parentElement\",\n \"parentNode\",\n \"parentRule\",\n \"parentStyleSheet\",\n \"parentTextEdit\",\n \"parentWindow\",\n \"parse\",\n \"parseFloat\",\n \"parseFromString\",\n \"parseInt\",\n \"participants\",\n \"password\",\n \"pasteHTML\",\n \"path\",\n \"pathLength\",\n \"pathSegList\",\n \"pathSegType\",\n \"pathSegTypeAsLetter\",\n \"pathname\",\n \"pattern\",\n \"patternContentUnits\",\n \"patternMismatch\",\n \"patternTransform\",\n \"patternUnits\",\n \"pause\",\n \"pauseAnimations\",\n \"pauseOnExit\",\n \"paused\",\n \"pending\",\n \"performance\",\n \"permission\",\n \"persisted\",\n \"personalbar\",\n \"perspective\",\n \"perspective-origin\",\n \"perspectiveOrigin\",\n \"phoneticFamilyName\",\n \"phoneticGivenName\",\n \"photo\",\n \"ping\",\n \"pitch\",\n \"pixelBottom\",\n \"pixelDepth\",\n \"pixelHeight\",\n \"pixelLeft\",\n \"pixelRight\",\n \"pixelStorei\",\n \"pixelTop\",\n \"pixelUnitToMillimeterX\",\n \"pixelUnitToMillimeterY\",\n \"pixelWidth\",\n \"placeholder\",\n \"platform\",\n \"play\",\n \"playbackRate\",\n \"playbackState\",\n \"playbackTime\",\n \"played\",\n \"plugins\",\n \"pluginspage\",\n \"pname\",\n \"pointer-events\",\n \"pointerBeforeReferenceNode\",\n \"pointerEnabled\",\n \"pointerEvents\",\n \"pointerId\",\n \"pointerLockElement\",\n \"pointerType\",\n \"points\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"polygonOffset\",\n \"pop\",\n \"popupWindowFeatures\",\n \"popupWindowName\",\n \"popupWindowURI\",\n \"port\",\n \"port1\",\n \"port2\",\n \"ports\",\n \"posBottom\",\n \"posHeight\",\n \"posLeft\",\n \"posRight\",\n \"posTop\",\n \"posWidth\",\n \"position\",\n \"positionAlign\",\n \"postError\",\n \"postMessage\",\n \"poster\",\n \"pow\",\n \"powerOff\",\n \"preMultiplySelf\",\n \"precision\",\n \"preferredStyleSheetSet\",\n \"preferredStylesheetSet\",\n \"prefix\",\n \"preload\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"preserveAspectRatioString\",\n \"pressed\",\n \"pressure\",\n \"prevValue\",\n \"preventDefault\",\n \"preventExtensions\",\n \"previousElementSibling\",\n \"previousNode\",\n \"previousPage\",\n \"previousScale\",\n \"previousSibling\",\n \"previousTranslate\",\n \"primaryKey\",\n \"primitiveType\",\n \"primitiveUnits\",\n \"principals\",\n \"print\",\n \"privateKey\",\n \"probablySupportsContext\",\n \"process\",\n \"processIceMessage\",\n \"product\",\n \"productSub\",\n \"profile\",\n \"profileEnd\",\n \"profiles\",\n \"prompt\",\n \"properties\",\n \"propertyIsEnumerable\",\n \"propertyName\",\n \"protocol\",\n \"protocolLong\",\n \"prototype\",\n \"pseudoClass\",\n \"pseudoElement\",\n \"publicId\",\n \"publicKey\",\n \"published\",\n \"push\",\n \"pushNotification\",\n \"pushState\",\n \"put\",\n \"putImageData\",\n \"quadraticCurveTo\",\n \"qualifier\",\n \"queryCommandEnabled\",\n \"queryCommandIndeterm\",\n \"queryCommandState\",\n \"queryCommandSupported\",\n \"queryCommandText\",\n \"queryCommandValue\",\n \"querySelector\",\n \"querySelectorAll\",\n \"quote\",\n \"quotes\",\n \"r\",\n \"r1\",\n \"r2\",\n \"race\",\n \"radiogroup\",\n \"radiusX\",\n \"radiusY\",\n \"random\",\n \"range\",\n \"rangeCount\",\n \"rangeMax\",\n \"rangeMin\",\n \"rangeOffset\",\n \"rangeOverflow\",\n \"rangeParent\",\n \"rangeUnderflow\",\n \"rate\",\n \"ratio\",\n \"raw\",\n \"read\",\n \"readAsArrayBuffer\",\n \"readAsBinaryString\",\n \"readAsBlob\",\n \"readAsDataURL\",\n \"readAsText\",\n \"readOnly\",\n \"readPixels\",\n \"readReportRequested\",\n \"readyState\",\n \"reason\",\n \"reboot\",\n \"receiver\",\n \"receivers\",\n \"recordNumber\",\n \"recordset\",\n \"rect\",\n \"red\",\n \"redirectCount\",\n \"redirectEnd\",\n \"redirectStart\",\n \"reduce\",\n \"reduceRight\",\n \"reduction\",\n \"refDistance\",\n \"refX\",\n \"refY\",\n \"referenceNode\",\n \"referrer\",\n \"refresh\",\n \"region\",\n \"regionAnchorX\",\n \"regionAnchorY\",\n \"regionId\",\n \"regions\",\n \"register\",\n \"registerContentHandler\",\n \"registerElement\",\n \"registerProtocolHandler\",\n \"reject\",\n \"rel\",\n \"relList\",\n \"relatedNode\",\n \"relatedTarget\",\n \"release\",\n \"releaseCapture\",\n \"releaseEvents\",\n \"releasePointerCapture\",\n \"releaseShaderCompiler\",\n \"reliable\",\n \"reload\",\n \"remainingSpace\",\n \"remoteDescription\",\n \"remove\",\n \"removeAllRanges\",\n \"removeAttribute\",\n \"removeAttributeNS\",\n \"removeAttributeNode\",\n \"removeBehavior\",\n \"removeChild\",\n \"removeCue\",\n \"removeEventListener\",\n \"removeFilter\",\n \"removeImport\",\n \"removeItem\",\n \"removeListener\",\n \"removeNamedItem\",\n \"removeNamedItemNS\",\n \"removeNode\",\n \"removeParameter\",\n \"removeProperty\",\n \"removeRange\",\n \"removeRegion\",\n \"removeRule\",\n \"removeSiteSpecificTrackingException\",\n \"removeSourceBuffer\",\n \"removeStream\",\n \"removeTrack\",\n \"removeVariable\",\n \"removeWakeLockListener\",\n \"removeWebWideTrackingException\",\n \"removedNodes\",\n \"renderbufferStorage\",\n \"renderedBuffer\",\n \"renderingMode\",\n \"repeat\",\n \"replace\",\n \"replaceAdjacentText\",\n \"replaceChild\",\n \"replaceData\",\n \"replaceId\",\n \"replaceItem\",\n \"replaceNode\",\n \"replaceState\",\n \"replaceTrack\",\n \"replaceWholeText\",\n \"reportValidity\",\n \"requestAnimationFrame\",\n \"requestAutocomplete\",\n \"requestData\",\n \"requestFullscreen\",\n \"requestMediaKeySystemAccess\",\n \"requestPermission\",\n \"requestPointerLock\",\n \"requestStart\",\n \"requestingWindow\",\n \"required\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"reset\",\n \"resetTransform\",\n \"resize\",\n \"resizeBy\",\n \"resizeTo\",\n \"resolve\",\n \"response\",\n \"responseBody\",\n \"responseEnd\",\n \"responseStart\",\n \"responseText\",\n \"responseType\",\n \"responseURL\",\n \"responseXML\",\n \"restore\",\n \"result\",\n \"resultType\",\n \"resume\",\n \"returnValue\",\n \"rev\",\n \"reverse\",\n \"reversed\",\n \"revocable\",\n \"revokeObjectURL\",\n \"rgbColor\",\n \"right\",\n \"rightContext\",\n \"rightMargin\",\n \"rolloffFactor\",\n \"root\",\n \"rootElement\",\n \"rotate\",\n \"rotateAxisAngle\",\n \"rotateAxisAngleSelf\",\n \"rotateFromVector\",\n \"rotateFromVectorSelf\",\n \"rotateSelf\",\n \"rotation\",\n \"rotationRate\",\n \"round\",\n \"rowIndex\",\n \"rowSpan\",\n \"rows\",\n \"rubyAlign\",\n \"rubyOverhang\",\n \"rubyPosition\",\n \"rules\",\n \"runtime\",\n \"runtimeStyle\",\n \"rx\",\n \"ry\",\n \"safari\",\n \"sampleCoverage\",\n \"sampleRate\",\n \"sandbox\",\n \"save\",\n \"scale\",\n \"scale3d\",\n \"scale3dSelf\",\n \"scaleNonUniform\",\n \"scaleNonUniformSelf\",\n \"scaleSelf\",\n \"scheme\",\n \"scissor\",\n \"scope\",\n \"scopeName\",\n \"scoped\",\n \"screen\",\n \"screenBrightness\",\n \"screenEnabled\",\n \"screenLeft\",\n \"screenPixelToMillimeterX\",\n \"screenPixelToMillimeterY\",\n \"screenTop\",\n \"screenX\",\n \"screenY\",\n \"scripts\",\n \"scroll\",\n \"scroll-behavior\",\n \"scrollAmount\",\n \"scrollBehavior\",\n \"scrollBy\",\n \"scrollByLines\",\n \"scrollByPages\",\n \"scrollDelay\",\n \"scrollHeight\",\n \"scrollIntoView\",\n \"scrollIntoViewIfNeeded\",\n \"scrollLeft\",\n \"scrollLeftMax\",\n \"scrollMaxX\",\n \"scrollMaxY\",\n \"scrollTo\",\n \"scrollTop\",\n \"scrollTopMax\",\n \"scrollWidth\",\n \"scrollX\",\n \"scrollY\",\n \"scrollbar3dLightColor\",\n \"scrollbarArrowColor\",\n \"scrollbarBaseColor\",\n \"scrollbarDarkShadowColor\",\n \"scrollbarFaceColor\",\n \"scrollbarHighlightColor\",\n \"scrollbarShadowColor\",\n \"scrollbarTrackColor\",\n \"scrollbars\",\n \"scrolling\",\n \"sdp\",\n \"sdpMLineIndex\",\n \"sdpMid\",\n \"seal\",\n \"search\",\n \"searchBox\",\n \"searchBoxJavaBridge_\",\n \"searchParams\",\n \"sectionRowIndex\",\n \"secureConnectionStart\",\n \"security\",\n \"seed\",\n \"seekable\",\n \"seeking\",\n \"select\",\n \"selectAllChildren\",\n \"selectNode\",\n \"selectNodeContents\",\n \"selectNodes\",\n \"selectSingleNode\",\n \"selectSubString\",\n \"selected\",\n \"selectedIndex\",\n \"selectedOptions\",\n \"selectedStyleSheetSet\",\n \"selectedStylesheetSet\",\n \"selection\",\n \"selectionDirection\",\n \"selectionEnd\",\n \"selectionStart\",\n \"selector\",\n \"selectorText\",\n \"self\",\n \"send\",\n \"sendAsBinary\",\n \"sendBeacon\",\n \"sender\",\n \"sentTimestamp\",\n \"separator\",\n \"serializeToString\",\n \"serviceWorker\",\n \"sessionId\",\n \"sessionStorage\",\n \"set\",\n \"setActive\",\n \"setAlpha\",\n \"setAttribute\",\n \"setAttributeNS\",\n \"setAttributeNode\",\n \"setAttributeNodeNS\",\n \"setBaseAndExtent\",\n \"setBingCurrentSearchDefault\",\n \"setCapture\",\n \"setColor\",\n \"setCompositeOperation\",\n \"setCurrentTime\",\n \"setCustomValidity\",\n \"setData\",\n \"setDate\",\n \"setDragImage\",\n \"setEnd\",\n \"setEndAfter\",\n \"setEndBefore\",\n \"setEndPoint\",\n \"setFillColor\",\n \"setFilterRes\",\n \"setFloat32\",\n \"setFloat64\",\n \"setFloatValue\",\n \"setFullYear\",\n \"setHours\",\n \"setImmediate\",\n \"setInt16\",\n \"setInt32\",\n \"setInt8\",\n \"setInterval\",\n \"setItem\",\n \"setLineCap\",\n \"setLineDash\",\n \"setLineJoin\",\n \"setLineWidth\",\n \"setLocalDescription\",\n \"setMatrix\",\n \"setMatrixValue\",\n \"setMediaKeys\",\n \"setMilliseconds\",\n \"setMinutes\",\n \"setMiterLimit\",\n \"setMonth\",\n \"setNamedItem\",\n \"setNamedItemNS\",\n \"setNonUserCodeExceptions\",\n \"setOrientToAngle\",\n \"setOrientToAuto\",\n \"setOrientation\",\n \"setOverrideHistoryNavigationMode\",\n \"setPaint\",\n \"setParameter\",\n \"setPeriodicWave\",\n \"setPointerCapture\",\n \"setPosition\",\n \"setPreference\",\n \"setProperty\",\n \"setPrototypeOf\",\n \"setRGBColor\",\n \"setRGBColorICCColor\",\n \"setRadius\",\n \"setRangeText\",\n \"setRemoteDescription\",\n \"setRequestHeader\",\n \"setResizable\",\n \"setResourceTimingBufferSize\",\n \"setRotate\",\n \"setScale\",\n \"setSeconds\",\n \"setSelectionRange\",\n \"setServerCertificate\",\n \"setShadow\",\n \"setSkewX\",\n \"setSkewY\",\n \"setStart\",\n \"setStartAfter\",\n \"setStartBefore\",\n \"setStdDeviation\",\n \"setStringValue\",\n \"setStrokeColor\",\n \"setSuggestResult\",\n \"setTargetAtTime\",\n \"setTargetValueAtTime\",\n \"setTime\",\n \"setTimeout\",\n \"setTransform\",\n \"setTranslate\",\n \"setUTCDate\",\n \"setUTCFullYear\",\n \"setUTCHours\",\n \"setUTCMilliseconds\",\n \"setUTCMinutes\",\n \"setUTCMonth\",\n \"setUTCSeconds\",\n \"setUint16\",\n \"setUint32\",\n \"setUint8\",\n \"setUri\",\n \"setValueAtTime\",\n \"setValueCurveAtTime\",\n \"setVariable\",\n \"setVelocity\",\n \"setVersion\",\n \"setYear\",\n \"settingName\",\n \"settingValue\",\n \"sex\",\n \"shaderSource\",\n \"shadowBlur\",\n \"shadowColor\",\n \"shadowOffsetX\",\n \"shadowOffsetY\",\n \"shadowRoot\",\n \"shape\",\n \"shape-rendering\",\n \"shapeRendering\",\n \"sheet\",\n \"shift\",\n \"shiftKey\",\n \"shiftLeft\",\n \"show\",\n \"showHelp\",\n \"showModal\",\n \"showModalDialog\",\n \"showModelessDialog\",\n \"showNotification\",\n \"sidebar\",\n \"sign\",\n \"signalingState\",\n \"sin\",\n \"singleNodeValue\",\n \"sinh\",\n \"size\",\n \"sizeToContent\",\n \"sizes\",\n \"skewX\",\n \"skewXSelf\",\n \"skewY\",\n \"skewYSelf\",\n \"slice\",\n \"slope\",\n \"small\",\n \"smooth\",\n \"smil\",\n \"smoothingTimeConstant\",\n \"snapToLines\",\n \"snapshotItem\",\n \"snapshotLength\",\n \"some\",\n \"sort\",\n \"source\",\n \"sourceBuffer\",\n \"sourceBuffers\",\n \"sourceIndex\",\n \"spacing\",\n \"span\",\n \"speakAs\",\n \"speaking\",\n \"specified\",\n \"specularConstant\",\n \"specularExponent\",\n \"speechSynthesis\",\n \"speed\",\n \"speedOfSound\",\n \"spellcheck\",\n \"splice\",\n \"split\",\n \"splitText\",\n \"spreadMethod\",\n \"sqrt\",\n \"src\",\n \"srcElement\",\n \"srcFilter\",\n \"srcUrn\",\n \"srcdoc\",\n \"srclang\",\n \"srcset\",\n \"stack\",\n \"stackTraceLimit\",\n \"stacktrace\",\n \"standalone\",\n \"standby\",\n \"start\",\n \"startContainer\",\n \"startIce\",\n \"startOffset\",\n \"startRendering\",\n \"startTime\",\n \"startsWith\",\n \"state\",\n \"status\",\n \"statusMessage\",\n \"statusText\",\n \"statusbar\",\n \"stdDeviationX\",\n \"stdDeviationY\",\n \"stencilFunc\",\n \"stencilFuncSeparate\",\n \"stencilMask\",\n \"stencilMaskSeparate\",\n \"stencilOp\",\n \"stencilOpSeparate\",\n \"step\",\n \"stepDown\",\n \"stepMismatch\",\n \"stepUp\",\n \"sticky\",\n \"stitchTiles\",\n \"stop\",\n \"stop-color\",\n \"stop-opacity\",\n \"stopColor\",\n \"stopImmediatePropagation\",\n \"stopOpacity\",\n \"stopPropagation\",\n \"storageArea\",\n \"storageName\",\n \"storageStatus\",\n \"storeSiteSpecificTrackingException\",\n \"storeWebWideTrackingException\",\n \"stpVersion\",\n \"stream\",\n \"strike\",\n \"stringValue\",\n \"stringify\",\n \"stroke\",\n \"stroke-dasharray\",\n \"stroke-dashoffset\",\n \"stroke-linecap\",\n \"stroke-linejoin\",\n \"stroke-miterlimit\",\n \"stroke-opacity\",\n \"stroke-width\",\n \"strokeDasharray\",\n \"strokeDashoffset\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"strokeMiterlimit\",\n \"strokeOpacity\",\n \"strokeRect\",\n \"strokeStyle\",\n \"strokeText\",\n \"strokeWidth\",\n \"style\",\n \"styleFloat\",\n \"styleMedia\",\n \"styleSheet\",\n \"styleSheetSets\",\n \"styleSheets\",\n \"sub\",\n \"subarray\",\n \"subject\",\n \"submit\",\n \"subscribe\",\n \"substr\",\n \"substring\",\n \"substringData\",\n \"subtle\",\n \"suffix\",\n \"suffixes\",\n \"summary\",\n \"sup\",\n \"supports\",\n \"surfaceScale\",\n \"surroundContents\",\n \"suspend\",\n \"suspendRedraw\",\n \"swapCache\",\n \"swapNode\",\n \"sweepFlag\",\n \"symbols\",\n \"system\",\n \"systemCode\",\n \"systemId\",\n \"systemLanguage\",\n \"systemXDPI\",\n \"systemYDPI\",\n \"tBodies\",\n \"tFoot\",\n \"tHead\",\n \"tabIndex\",\n \"table\",\n \"table-layout\",\n \"tableLayout\",\n \"tableValues\",\n \"tag\",\n \"tagName\",\n \"tagUrn\",\n \"tags\",\n \"taintEnabled\",\n \"takeRecords\",\n \"tan\",\n \"tanh\",\n \"target\",\n \"targetElement\",\n \"targetTouches\",\n \"targetX\",\n \"targetY\",\n \"tel\",\n \"terminate\",\n \"test\",\n \"texImage2D\",\n \"texParameterf\",\n \"texParameteri\",\n \"texSubImage2D\",\n \"text\",\n \"text-align\",\n \"text-anchor\",\n \"text-decoration\",\n \"text-decoration-color\",\n \"text-decoration-line\",\n \"text-decoration-style\",\n \"text-indent\",\n \"text-overflow\",\n \"text-rendering\",\n \"text-shadow\",\n \"text-transform\",\n \"textAlign\",\n \"textAlignLast\",\n \"textAnchor\",\n \"textAutospace\",\n \"textBaseline\",\n \"textContent\",\n \"textDecoration\",\n \"textDecorationBlink\",\n \"textDecorationColor\",\n \"textDecorationLine\",\n \"textDecorationLineThrough\",\n \"textDecorationNone\",\n \"textDecorationOverline\",\n \"textDecorationStyle\",\n \"textDecorationUnderline\",\n \"textIndent\",\n \"textJustify\",\n \"textJustifyTrim\",\n \"textKashida\",\n \"textKashidaSpace\",\n \"textLength\",\n \"textOverflow\",\n \"textRendering\",\n \"textShadow\",\n \"textTracks\",\n \"textTransform\",\n \"textUnderlinePosition\",\n \"then\",\n \"threadId\",\n \"threshold\",\n \"tiltX\",\n \"tiltY\",\n \"time\",\n \"timeEnd\",\n \"timeStamp\",\n \"timeout\",\n \"timestamp\",\n \"timestampOffset\",\n \"timing\",\n \"title\",\n \"toArray\",\n \"toBlob\",\n \"toDataURL\",\n \"toDateString\",\n \"toElement\",\n \"toExponential\",\n \"toFixed\",\n \"toFloat32Array\",\n \"toFloat64Array\",\n \"toGMTString\",\n \"toISOString\",\n \"toJSON\",\n \"toLocaleDateString\",\n \"toLocaleFormat\",\n \"toLocaleLowerCase\",\n \"toLocaleString\",\n \"toLocaleTimeString\",\n \"toLocaleUpperCase\",\n \"toLowerCase\",\n \"toMethod\",\n \"toPrecision\",\n \"toSdp\",\n \"toSource\",\n \"toStaticHTML\",\n \"toString\",\n \"toStringTag\",\n \"toTimeString\",\n \"toUTCString\",\n \"toUpperCase\",\n \"toggle\",\n \"toggleLongPressEnabled\",\n \"tooLong\",\n \"toolbar\",\n \"top\",\n \"topMargin\",\n \"total\",\n \"totalFrameDelay\",\n \"totalVideoFrames\",\n \"touchAction\",\n \"touches\",\n \"trace\",\n \"track\",\n \"transaction\",\n \"transactions\",\n \"transform\",\n \"transform-origin\",\n \"transform-style\",\n \"transformOrigin\",\n \"transformPoint\",\n \"transformString\",\n \"transformStyle\",\n \"transformToDocument\",\n \"transformToFragment\",\n \"transition\",\n \"transition-delay\",\n \"transition-duration\",\n \"transition-property\",\n \"transition-timing-function\",\n \"transitionDelay\",\n \"transitionDuration\",\n \"transitionProperty\",\n \"transitionTimingFunction\",\n \"translate\",\n \"translateSelf\",\n \"translationX\",\n \"translationY\",\n \"trim\",\n \"trimLeft\",\n \"trimRight\",\n \"trueSpeed\",\n \"trunc\",\n \"truncate\",\n \"type\",\n \"typeDetail\",\n \"typeMismatch\",\n \"typeMustMatch\",\n \"types\",\n \"ubound\",\n \"undefined\",\n \"unescape\",\n \"uneval\",\n \"unicode-bidi\",\n \"unicodeBidi\",\n \"uniform1f\",\n \"uniform1fv\",\n \"uniform1i\",\n \"uniform1iv\",\n \"uniform2f\",\n \"uniform2fv\",\n \"uniform2i\",\n \"uniform2iv\",\n \"uniform3f\",\n \"uniform3fv\",\n \"uniform3i\",\n \"uniform3iv\",\n \"uniform4f\",\n \"uniform4fv\",\n \"uniform4i\",\n \"uniform4iv\",\n \"uniformMatrix2fv\",\n \"uniformMatrix3fv\",\n \"uniformMatrix4fv\",\n \"unique\",\n \"uniqueID\",\n \"uniqueNumber\",\n \"unitType\",\n \"units\",\n \"unloadEventEnd\",\n \"unloadEventStart\",\n \"unlock\",\n \"unmount\",\n \"unobserve\",\n \"unpause\",\n \"unpauseAnimations\",\n \"unreadCount\",\n \"unregister\",\n \"unregisterContentHandler\",\n \"unregisterProtocolHandler\",\n \"unscopables\",\n \"unselectable\",\n \"unshift\",\n \"unsubscribe\",\n \"unsuspendRedraw\",\n \"unsuspendRedrawAll\",\n \"unwatch\",\n \"unwrapKey\",\n \"update\",\n \"updateCommands\",\n \"updateIce\",\n \"updateInterval\",\n \"updateSettings\",\n \"updated\",\n \"updating\",\n \"upload\",\n \"upper\",\n \"upperBound\",\n \"upperOpen\",\n \"uri\",\n \"url\",\n \"urn\",\n \"urns\",\n \"usages\",\n \"useCurrentView\",\n \"useMap\",\n \"useProgram\",\n \"usedSpace\",\n \"userAgent\",\n \"userLanguage\",\n \"username\",\n \"v8BreakIterator\",\n \"vAlign\",\n \"vLink\",\n \"valid\",\n \"validateProgram\",\n \"validationMessage\",\n \"validity\",\n \"value\",\n \"valueAsDate\",\n \"valueAsNumber\",\n \"valueAsString\",\n \"valueInSpecifiedUnits\",\n \"valueMissing\",\n \"valueOf\",\n \"valueText\",\n \"valueType\",\n \"values\",\n \"vector-effect\",\n \"vectorEffect\",\n \"velocityAngular\",\n \"velocityExpansion\",\n \"velocityX\",\n \"velocityY\",\n \"vendor\",\n \"vendorSub\",\n \"verify\",\n \"version\",\n \"vertexAttrib1f\",\n \"vertexAttrib1fv\",\n \"vertexAttrib2f\",\n \"vertexAttrib2fv\",\n \"vertexAttrib3f\",\n \"vertexAttrib3fv\",\n \"vertexAttrib4f\",\n \"vertexAttrib4fv\",\n \"vertexAttribDivisorANGLE\",\n \"vertexAttribPointer\",\n \"vertical\",\n \"vertical-align\",\n \"verticalAlign\",\n \"verticalOverflow\",\n \"vibrate\",\n \"videoHeight\",\n \"videoTracks\",\n \"videoWidth\",\n \"view\",\n \"viewBox\",\n \"viewBoxString\",\n \"viewTarget\",\n \"viewTargetString\",\n \"viewport\",\n \"viewportAnchorX\",\n \"viewportAnchorY\",\n \"viewportElement\",\n \"visibility\",\n \"visibilityState\",\n \"visible\",\n \"vlinkColor\",\n \"voice\",\n \"volume\",\n \"vrml\",\n \"vspace\",\n \"w\",\n \"wand\",\n \"warn\",\n \"wasClean\",\n \"watch\",\n \"watchPosition\",\n \"webdriver\",\n \"webkitAddKey\",\n \"webkitAnimation\",\n \"webkitAnimationDelay\",\n \"webkitAnimationDirection\",\n \"webkitAnimationDuration\",\n \"webkitAnimationFillMode\",\n \"webkitAnimationIterationCount\",\n \"webkitAnimationName\",\n \"webkitAnimationPlayState\",\n \"webkitAnimationTimingFunction\",\n \"webkitAppearance\",\n \"webkitAudioContext\",\n \"webkitAudioDecodedByteCount\",\n \"webkitAudioPannerNode\",\n \"webkitBackfaceVisibility\",\n \"webkitBackground\",\n \"webkitBackgroundAttachment\",\n \"webkitBackgroundClip\",\n \"webkitBackgroundColor\",\n \"webkitBackgroundImage\",\n \"webkitBackgroundOrigin\",\n \"webkitBackgroundPosition\",\n \"webkitBackgroundPositionX\",\n \"webkitBackgroundPositionY\",\n \"webkitBackgroundRepeat\",\n \"webkitBackgroundSize\",\n \"webkitBackingStorePixelRatio\",\n \"webkitBorderImage\",\n \"webkitBorderImageOutset\",\n \"webkitBorderImageRepeat\",\n \"webkitBorderImageSlice\",\n \"webkitBorderImageSource\",\n \"webkitBorderImageWidth\",\n \"webkitBoxAlign\",\n \"webkitBoxDirection\",\n \"webkitBoxFlex\",\n \"webkitBoxOrdinalGroup\",\n \"webkitBoxOrient\",\n \"webkitBoxPack\",\n \"webkitBoxSizing\",\n \"webkitCancelAnimationFrame\",\n \"webkitCancelFullScreen\",\n \"webkitCancelKeyRequest\",\n \"webkitCancelRequestAnimationFrame\",\n \"webkitClearResourceTimings\",\n \"webkitClosedCaptionsVisible\",\n \"webkitConvertPointFromNodeToPage\",\n \"webkitConvertPointFromPageToNode\",\n \"webkitCreateShadowRoot\",\n \"webkitCurrentFullScreenElement\",\n \"webkitCurrentPlaybackTargetIsWireless\",\n \"webkitDirectionInvertedFromDevice\",\n \"webkitDisplayingFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitEnterFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitExitFullscreen\",\n \"webkitExitPointerLock\",\n \"webkitFullScreenKeyboardInputAllowed\",\n \"webkitFullscreenElement\",\n \"webkitFullscreenEnabled\",\n \"webkitGenerateKeyRequest\",\n \"webkitGetAsEntry\",\n \"webkitGetDatabaseNames\",\n \"webkitGetEntries\",\n \"webkitGetEntriesByName\",\n \"webkitGetEntriesByType\",\n \"webkitGetFlowByName\",\n \"webkitGetGamepads\",\n \"webkitGetImageDataHD\",\n \"webkitGetNamedFlows\",\n \"webkitGetRegionFlowRanges\",\n \"webkitGetUserMedia\",\n \"webkitHasClosedCaptions\",\n \"webkitHidden\",\n \"webkitIDBCursor\",\n \"webkitIDBDatabase\",\n \"webkitIDBDatabaseError\",\n \"webkitIDBDatabaseException\",\n \"webkitIDBFactory\",\n \"webkitIDBIndex\",\n \"webkitIDBKeyRange\",\n \"webkitIDBObjectStore\",\n \"webkitIDBRequest\",\n \"webkitIDBTransaction\",\n \"webkitImageSmoothingEnabled\",\n \"webkitIndexedDB\",\n \"webkitInitMessageEvent\",\n \"webkitIsFullScreen\",\n \"webkitKeys\",\n \"webkitLineDashOffset\",\n \"webkitLockOrientation\",\n \"webkitMatchesSelector\",\n \"webkitMediaStream\",\n \"webkitNotifications\",\n \"webkitOfflineAudioContext\",\n \"webkitOrientation\",\n \"webkitPeerConnection00\",\n \"webkitPersistentStorage\",\n \"webkitPointerLockElement\",\n \"webkitPostMessage\",\n \"webkitPreservesPitch\",\n \"webkitPutImageDataHD\",\n \"webkitRTCPeerConnection\",\n \"webkitRegionOverset\",\n \"webkitRequestAnimationFrame\",\n \"webkitRequestFileSystem\",\n \"webkitRequestFullScreen\",\n \"webkitRequestFullscreen\",\n \"webkitRequestPointerLock\",\n \"webkitResolveLocalFileSystemURL\",\n \"webkitSetMediaKeys\",\n \"webkitSetResourceTimingBufferSize\",\n \"webkitShadowRoot\",\n \"webkitShowPlaybackTargetPicker\",\n \"webkitSlice\",\n \"webkitSpeechGrammar\",\n \"webkitSpeechGrammarList\",\n \"webkitSpeechRecognition\",\n \"webkitSpeechRecognitionError\",\n \"webkitSpeechRecognitionEvent\",\n \"webkitStorageInfo\",\n \"webkitSupportsFullscreen\",\n \"webkitTemporaryStorage\",\n \"webkitTextSizeAdjust\",\n \"webkitTransform\",\n \"webkitTransformOrigin\",\n \"webkitTransition\",\n \"webkitTransitionDelay\",\n \"webkitTransitionDuration\",\n \"webkitTransitionProperty\",\n \"webkitTransitionTimingFunction\",\n \"webkitURL\",\n \"webkitUnlockOrientation\",\n \"webkitUserSelect\",\n \"webkitVideoDecodedByteCount\",\n \"webkitVisibilityState\",\n \"webkitWirelessVideoPlaybackDisabled\",\n \"webkitdropzone\",\n \"webstore\",\n \"weight\",\n \"whatToShow\",\n \"wheelDelta\",\n \"wheelDeltaX\",\n \"wheelDeltaY\",\n \"which\",\n \"white-space\",\n \"whiteSpace\",\n \"wholeText\",\n \"widows\",\n \"width\",\n \"will-change\",\n \"willChange\",\n \"willValidate\",\n \"window\",\n \"withCredentials\",\n \"word-break\",\n \"word-spacing\",\n \"word-wrap\",\n \"wordBreak\",\n \"wordSpacing\",\n \"wordWrap\",\n \"wrap\",\n \"wrapKey\",\n \"write\",\n \"writeln\",\n \"writingMode\",\n \"x\",\n \"x1\",\n \"x2\",\n \"xChannelSelector\",\n \"xmlEncoding\",\n \"xmlStandalone\",\n \"xmlVersion\",\n \"xmlbase\",\n \"xmllang\",\n \"xmlspace\",\n \"y\",\n \"y1\",\n \"y2\",\n \"yChannelSelector\",\n \"yandex\",\n \"z\",\n \"z-index\",\n \"zIndex\",\n \"zoom\",\n \"zoomAndPan\",\n \"zoomRectScreen\"\n]\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n/* global global, self */\n\nimport {\n defaults,\n Dictionary,\n push_uniq,\n} from \"./utils\";\nimport { base54 } from \"./scope\";\nimport {\n AST_Call,\n AST_Conditional,\n AST_Dot,\n AST_ObjectKeyVal,\n AST_ObjectProperty,\n AST_Sequence,\n AST_String,\n AST_Sub,\n TreeTransformer,\n TreeWalker,\n} from \"./ast.js\";\nimport { domprops } from \"../tools/domprops.js\";\n\nfunction find_builtins(reserved) {\n domprops.forEach(add);\n\n // Compatibility fix for some standard defined globals not defined on every js environment\n var new_globals = [\"Symbol\", \"Map\", \"Promise\", \"Proxy\", \"Reflect\", \"Set\", \"WeakMap\", \"WeakSet\"];\n var objects = {};\n var global_ref = typeof global === \"object\" ? global : self;\n\n new_globals.forEach(function (new_global) {\n objects[new_global] = global_ref[new_global] || new Function();\n });\n\n // NaN will be included due to Number.NaN\n [\n \"null\",\n \"true\",\n \"false\",\n \"Infinity\",\n \"-Infinity\",\n \"undefined\",\n ].forEach(add);\n [ Object, Array, Function, Number,\n String, Boolean, Error, Math,\n Date, RegExp, objects.Symbol, ArrayBuffer,\n DataView, decodeURI, decodeURIComponent,\n encodeURI, encodeURIComponent, eval, EvalError,\n Float32Array, Float64Array, Int8Array, Int16Array,\n Int32Array, isFinite, isNaN, JSON, objects.Map, parseFloat,\n parseInt, objects.Promise, objects.Proxy, RangeError, ReferenceError,\n objects.Reflect, objects.Set, SyntaxError, TypeError, Uint8Array,\n Uint8ClampedArray, Uint16Array, Uint32Array, URIError,\n objects.WeakMap, objects.WeakSet\n ].forEach(function(ctor) {\n Object.getOwnPropertyNames(ctor).map(add);\n if (ctor.prototype) {\n Object.getOwnPropertyNames(ctor.prototype).map(add);\n }\n });\n function add(name) {\n reserved.add(name);\n }\n}\n\nfunction reserve_quoted_keys(ast, reserved) {\n function add(name) {\n push_uniq(reserved, name);\n }\n\n ast.walk(new TreeWalker(function(node) {\n if (node instanceof AST_ObjectKeyVal && node.quote) {\n add(node.key);\n } else if (node instanceof AST_ObjectProperty && node.quote) {\n add(node.key.name);\n } else if (node instanceof AST_Sub) {\n addStrings(node.property, add);\n }\n }));\n}\n\nfunction addStrings(node, add) {\n node.walk(new TreeWalker(function(node) {\n if (node instanceof AST_Sequence) {\n addStrings(node.tail_node(), add);\n } else if (node instanceof AST_String) {\n add(node.value);\n } else if (node instanceof AST_Conditional) {\n addStrings(node.consequent, add);\n addStrings(node.alternative, add);\n }\n return true;\n }));\n}\n\nfunction mangle_properties(ast, options) {\n options = defaults(options, {\n builtins: false,\n cache: null,\n debug: false,\n keep_quoted: false,\n only_cache: false,\n regex: null,\n reserved: null,\n }, true);\n\n var reserved_option = options.reserved;\n if (!Array.isArray(reserved_option)) reserved_option = [reserved_option];\n var reserved = new Set(reserved_option);\n if (!options.builtins) find_builtins(reserved);\n\n var cname = -1;\n var cache;\n if (options.cache) {\n cache = options.cache.props;\n cache.each(function(mangled_name) {\n reserved.add(mangled_name);\n });\n } else {\n cache = new Dictionary();\n }\n\n var regex = options.regex;\n\n // note debug is either false (disabled), or a string of the debug suffix to use (enabled).\n // note debug may be enabled as an empty string, which is falsey. Also treat passing 'true'\n // the same as passing an empty string.\n var debug = options.debug !== false;\n var debug_name_suffix;\n if (debug) {\n debug_name_suffix = (options.debug === true ? \"\" : options.debug);\n }\n\n var names_to_mangle = new Set();\n var unmangleable = new Set();\n\n // step 1: find candidates to mangle\n ast.walk(new TreeWalker(function(node) {\n if (node instanceof AST_ObjectKeyVal) {\n if (typeof node.key == \"string\") {\n add(node.key);\n }\n } else if (node instanceof AST_ObjectProperty) {\n // setter or getter, since KeyVal is handled above\n add(node.key.name);\n } else if (node instanceof AST_Dot) {\n var root = node;\n while (root.expression) {\n root = root.expression;\n }\n if (!(root.thedef && root.thedef.undeclared)) add(node.property);\n } else if (node instanceof AST_Sub) {\n addStrings(node.property, add);\n } else if (node instanceof AST_Call\n && node.expression.print_to_string() == \"Object.defineProperty\") {\n addStrings(node.args[1], add);\n }\n }));\n\n // step 2: transform the tree, renaming properties\n return ast.transform(new TreeTransformer(function(node) {\n if (node instanceof AST_ObjectKeyVal) {\n if (typeof node.key == \"string\") {\n node.key = mangle(node.key);\n }\n } else if (node instanceof AST_ObjectProperty) {\n // setter or getter\n node.key.name = mangle(node.key.name);\n } else if (node instanceof AST_Dot) {\n node.property = mangle(node.property);\n } else if (!options.keep_quoted && node instanceof AST_Sub) {\n node.property = mangleStrings(node.property);\n } else if (node instanceof AST_Call\n && node.expression.print_to_string() == \"Object.defineProperty\") {\n node.args[1] = mangleStrings(node.args[1]);\n }\n }));\n\n // only function declarations after this line\n\n function can_mangle(name) {\n if (unmangleable.has(name)) return false;\n if (reserved.has(name)) return false;\n if (options.only_cache) {\n return cache.has(name);\n }\n if (/^-?[0-9]+(\\.[0-9]+)?(e[+-][0-9]+)?$/.test(name)) return false;\n return true;\n }\n\n function should_mangle(name) {\n if (regex && !regex.test(name)) return false;\n if (reserved.has(name)) return false;\n return cache.has(name)\n || names_to_mangle.has(name);\n }\n\n function add(name) {\n if (can_mangle(name))\n names_to_mangle.add(name);\n\n if (!should_mangle(name)) {\n unmangleable.add(name);\n }\n }\n\n function mangle(name) {\n if (!should_mangle(name)) {\n return name;\n }\n\n var mangled = cache.get(name);\n if (!mangled) {\n if (debug) {\n // debug mode: use a prefix and suffix to preserve readability, e.g. o.foo -> o._$foo$NNN_.\n var debug_mangled = \"_$\" + name + \"$\" + debug_name_suffix + \"_\";\n\n if (can_mangle(debug_mangled)) {\n mangled = debug_mangled;\n }\n }\n\n // either debug mode is off, or it is on and we could not use the mangled name\n if (!mangled) {\n do {\n mangled = base54(++cname);\n } while (!can_mangle(mangled));\n }\n\n cache.set(name, mangled);\n }\n return mangled;\n }\n\n function mangleStrings(node) {\n return node.transform(new TreeTransformer(function(node) {\n if (node instanceof AST_Sequence) {\n var last = node.expressions.length - 1;\n node.expressions[last] = mangleStrings(node.expressions[last]);\n } else if (node instanceof AST_String) {\n node.value = mangle(node.value);\n } else if (node instanceof AST_Conditional) {\n node.consequent = mangleStrings(node.consequent);\n node.alternative = mangleStrings(node.alternative);\n }\n return node;\n }));\n }\n}\n\nexport {\n reserve_quoted_keys,\n mangle_properties,\n};\n","\"use strict\";\n/* eslint-env browser, es6, node */\n\nimport {\n defaults,\n Dictionary,\n HOP,\n} from \"./utils.js\";\nimport {\n AST_Node,\n AST_Toplevel,\n} from \"./ast.js\";\nimport { parse } from \"./parse.js\";\nimport { OutputStream } from \"./output.js\";\nimport { Compressor } from \"./compress/index.js\";\nimport { base54 } from \"./scope.js\";\nimport { SourceMap } from \"./sourcemap.js\";\nimport {\n mangle_properties,\n reserve_quoted_keys,\n} from \"./propmangle.js\";\n\nvar to_ascii = typeof atob == \"undefined\" ? function(b64) {\n return Buffer.from(b64, \"base64\").toString();\n} : atob;\nvar to_base64 = typeof btoa == \"undefined\" ? function(str) {\n return Buffer.from(str).toString(\"base64\");\n} : btoa;\n\nfunction read_source_map(code) {\n var match = /(?:^|[^.])\\/\\/# sourceMappingURL=data:application\\/json(;[\\w=-]*)?;base64,([+/0-9A-Za-z]*=*)\\s*$/.exec(code);\n if (!match) {\n AST_Node.warn(\"inline source map not found\");\n return null;\n }\n return to_ascii(match[2]);\n}\n\nfunction set_shorthand(name, options, keys) {\n if (options[name]) {\n keys.forEach(function(key) {\n if (options[key]) {\n if (typeof options[key] != \"object\") options[key] = {};\n if (!(name in options[key])) options[key][name] = options[name];\n }\n });\n }\n}\n\nfunction init_cache(cache) {\n if (!cache) return;\n if (!(\"props\" in cache)) {\n cache.props = new Dictionary();\n } else if (!(cache.props instanceof Dictionary)) {\n cache.props = Dictionary.fromObject(cache.props);\n }\n}\n\nfunction to_json(cache) {\n return {\n props: cache.props.toObject()\n };\n}\n\nfunction minify(files, options) {\n var warn_function = AST_Node.warn_function;\n try {\n options = defaults(options, {\n compress: {},\n ecma: undefined,\n enclose: false,\n ie8: false,\n keep_classnames: undefined,\n keep_fnames: false,\n mangle: {},\n module: false,\n nameCache: null,\n output: {},\n parse: {},\n rename: undefined,\n safari10: false,\n sourceMap: false,\n timings: false,\n toplevel: false,\n warnings: false,\n wrap: false,\n }, true);\n var timings = options.timings && {\n start: Date.now()\n };\n if (options.keep_classnames === undefined) {\n options.keep_classnames = options.keep_fnames;\n }\n if (options.rename === undefined) {\n options.rename = options.compress && options.mangle;\n }\n set_shorthand(\"ecma\", options, [ \"parse\", \"compress\", \"output\" ]);\n set_shorthand(\"ie8\", options, [ \"compress\", \"mangle\", \"output\" ]);\n set_shorthand(\"keep_classnames\", options, [ \"compress\", \"mangle\" ]);\n set_shorthand(\"keep_fnames\", options, [ \"compress\", \"mangle\" ]);\n set_shorthand(\"module\", options, [ \"parse\", \"compress\", \"mangle\" ]);\n set_shorthand(\"safari10\", options, [ \"mangle\", \"output\" ]);\n set_shorthand(\"toplevel\", options, [ \"compress\", \"mangle\" ]);\n set_shorthand(\"warnings\", options, [ \"compress\" ]);\n var quoted_props;\n if (options.mangle) {\n options.mangle = defaults(options.mangle, {\n cache: options.nameCache && (options.nameCache.vars || {}),\n eval: false,\n ie8: false,\n keep_classnames: false,\n keep_fnames: false,\n module: false,\n properties: false,\n reserved: [],\n safari10: false,\n toplevel: false,\n }, true);\n if (options.mangle.properties) {\n if (typeof options.mangle.properties != \"object\") {\n options.mangle.properties = {};\n }\n if (options.mangle.properties.keep_quoted) {\n quoted_props = options.mangle.properties.reserved;\n if (!Array.isArray(quoted_props)) quoted_props = [];\n options.mangle.properties.reserved = quoted_props;\n }\n if (options.nameCache && !(\"cache\" in options.mangle.properties)) {\n options.mangle.properties.cache = options.nameCache.props || {};\n }\n }\n init_cache(options.mangle.cache);\n init_cache(options.mangle.properties.cache);\n }\n if (options.sourceMap) {\n options.sourceMap = defaults(options.sourceMap, {\n content: null,\n filename: null,\n includeSources: false,\n root: null,\n url: null,\n }, true);\n }\n var warnings = [];\n if (options.warnings && !AST_Node.warn_function) {\n AST_Node.warn_function = function(warning) {\n warnings.push(warning);\n };\n }\n if (timings) timings.parse = Date.now();\n var toplevel;\n if (files instanceof AST_Toplevel) {\n toplevel = files;\n } else {\n if (typeof files == \"string\") {\n files = [ files ];\n }\n options.parse = options.parse || {};\n options.parse.toplevel = null;\n for (var name in files) if (HOP(files, name)) {\n options.parse.filename = name;\n options.parse.toplevel = parse(files[name], options.parse);\n if (options.sourceMap && options.sourceMap.content == \"inline\") {\n if (Object.keys(files).length > 1)\n throw new Error(\"inline source map only works with singular input\");\n options.sourceMap.content = read_source_map(files[name]);\n }\n }\n toplevel = options.parse.toplevel;\n }\n if (quoted_props) {\n reserve_quoted_keys(toplevel, quoted_props);\n }\n if (options.wrap) {\n toplevel = toplevel.wrap_commonjs(options.wrap);\n }\n if (options.enclose) {\n toplevel = toplevel.wrap_enclose(options.enclose);\n }\n if (timings) timings.rename = Date.now();\n // disable rename on harmony due to expand_names bug in for-of loops\n // https://github.com/mishoo/UglifyJS2/issues/2794\n if (0 && options.rename) {\n toplevel.figure_out_scope(options.mangle);\n toplevel.expand_names(options.mangle);\n }\n if (timings) timings.compress = Date.now();\n if (options.compress) toplevel = new Compressor(options.compress).compress(toplevel);\n if (timings) timings.scope = Date.now();\n if (options.mangle) toplevel.figure_out_scope(options.mangle);\n if (timings) timings.mangle = Date.now();\n if (options.mangle) {\n base54.reset();\n toplevel.compute_char_frequency(options.mangle);\n toplevel.mangle_names(options.mangle);\n }\n if (timings) timings.properties = Date.now();\n if (options.mangle && options.mangle.properties) {\n toplevel = mangle_properties(toplevel, options.mangle.properties);\n }\n if (timings) timings.output = Date.now();\n var result = {};\n if (options.output.ast) {\n result.ast = toplevel;\n }\n if (!HOP(options.output, \"code\") || options.output.code) {\n if (options.sourceMap) {\n if (typeof options.sourceMap.content == \"string\") {\n options.sourceMap.content = JSON.parse(options.sourceMap.content);\n }\n options.output.source_map = SourceMap({\n file: options.sourceMap.filename,\n orig: options.sourceMap.content,\n root: options.sourceMap.root\n });\n if (options.sourceMap.includeSources) {\n if (files instanceof AST_Toplevel) {\n throw new Error(\"original source content unavailable\");\n } else for (var name in files) if (HOP(files, name)) {\n options.output.source_map.get().setSourceContent(name, files[name]);\n }\n }\n }\n delete options.output.ast;\n delete options.output.code;\n var stream = OutputStream(options.output);\n toplevel.print(stream);\n result.code = stream.get();\n if (options.sourceMap) {\n result.map = options.output.source_map.toString();\n if (options.sourceMap.url == \"inline\") {\n result.code += \"\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,\" + to_base64(result.map);\n } else if (options.sourceMap.url) {\n result.code += \"\\n//# sourceMappingURL=\" + options.sourceMap.url;\n }\n }\n }\n if (options.nameCache && options.mangle) {\n if (options.mangle.cache) options.nameCache.vars = to_json(options.mangle.cache);\n if (options.mangle.properties && options.mangle.properties.cache) {\n options.nameCache.props = to_json(options.mangle.properties.cache);\n }\n }\n if (timings) {\n timings.end = Date.now();\n result.timings = {\n parse: 1e-3 * (timings.rename - timings.parse),\n rename: 1e-3 * (timings.compress - timings.rename),\n compress: 1e-3 * (timings.scope - timings.compress),\n scope: 1e-3 * (timings.mangle - timings.scope),\n mangle: 1e-3 * (timings.properties - timings.mangle),\n properties: 1e-3 * (timings.output - timings.properties),\n output: 1e-3 * (timings.end - timings.output),\n total: 1e-3 * (timings.end - timings.start)\n };\n }\n if (warnings.length) {\n result.warnings = warnings;\n }\n return result;\n } catch (ex) {\n return { error: ex };\n } finally {\n AST_Node.warn_function = warn_function;\n }\n}\n\nexport {\n minify,\n to_ascii,\n};\n","/***********************************************************************\n\n A JavaScript tokenizer / parser / beautifier / compressor.\n https://github.com/mishoo/UglifyJS2\n\n -------------------------------- (C) ---------------------------------\n\n Author: Mihai Bazon\n \n http://mihai.bazon.net/blog\n\n Distributed under the BSD license:\n\n Copyright 2012 (c) Mihai Bazon \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n * Redistributions of source code must retain the above\n copyright notice, this list of conditions and the following\n disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials\n provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGE.\n\n ***********************************************************************/\n\n\"use strict\";\n\nimport * as ast from \"./ast.js\";\nimport {\n AST_Accessor,\n AST_Array,\n AST_Arrow,\n AST_Assign,\n AST_Atom,\n AST_Await,\n AST_Binary,\n AST_Block,\n AST_BlockStatement,\n AST_Boolean,\n AST_Break,\n AST_Call,\n AST_Case,\n AST_Catch,\n AST_Class,\n AST_ClassExpression,\n AST_ConciseMethod,\n AST_Conditional,\n AST_Const,\n AST_Constant,\n AST_Continue,\n AST_Debugger,\n AST_Default,\n AST_DefClass,\n AST_Definitions,\n AST_Defun,\n AST_Destructuring,\n AST_Directive,\n AST_Do,\n AST_Dot,\n AST_EmptyStatement,\n AST_Expansion,\n AST_Export,\n AST_False,\n AST_Finally,\n AST_For,\n AST_ForIn,\n AST_ForOf,\n AST_Function,\n AST_Hole,\n AST_If,\n AST_Import,\n AST_Label,\n AST_LabeledStatement,\n AST_LabelRef,\n AST_Lambda,\n AST_Let,\n AST_NameMapping,\n AST_New,\n AST_NewTarget,\n AST_Node,\n AST_Null,\n AST_Number,\n AST_Object,\n AST_ObjectGetter,\n AST_ObjectKeyVal,\n AST_ObjectProperty,\n AST_ObjectSetter,\n AST_PrefixedTemplateString,\n AST_PropAccess,\n AST_RegExp,\n AST_Return,\n AST_Sequence,\n AST_SimpleStatement,\n AST_Statement,\n AST_String,\n AST_Sub,\n AST_Super,\n AST_Switch,\n AST_SwitchBranch,\n AST_Symbol,\n AST_SymbolCatch,\n AST_SymbolClass,\n AST_SymbolConst,\n AST_SymbolDefClass,\n AST_SymbolDefun,\n AST_SymbolExport,\n AST_SymbolExportForeign,\n AST_SymbolFunarg,\n AST_SymbolImport,\n AST_SymbolImportForeign,\n AST_SymbolLambda,\n AST_SymbolLet,\n AST_SymbolMethod,\n AST_SymbolRef,\n AST_SymbolVar,\n AST_TemplateSegment,\n AST_TemplateString,\n AST_This,\n AST_Throw,\n AST_Token,\n AST_Toplevel,\n AST_True,\n AST_Try,\n AST_Unary,\n AST_UnaryPostfix,\n AST_UnaryPrefix,\n AST_Var,\n AST_VarDef,\n AST_While,\n AST_With,\n AST_Yield,\n} from \"./ast.js\";\n\n(function() {\n\n var normalize_directives = function(body) {\n var in_directive = true;\n\n for (var i = 0; i < body.length; i++) {\n if (in_directive && body[i] instanceof AST_Statement && body[i].body instanceof AST_String) {\n body[i] = new AST_Directive({\n start: body[i].start,\n end: body[i].end,\n value: body[i].body.value\n });\n } else if (in_directive && !(body[i] instanceof AST_Statement && body[i].body instanceof AST_String)) {\n in_directive = false;\n }\n }\n\n return body;\n };\n\n var MOZ_TO_ME = {\n Program: function(M) {\n return new AST_Toplevel({\n start: my_start_token(M),\n end: my_end_token(M),\n body: normalize_directives(M.body.map(from_moz))\n });\n },\n ArrayPattern: function(M) {\n return new AST_Destructuring({\n start: my_start_token(M),\n end: my_end_token(M),\n names: M.elements.map(function(elm) {\n if (elm === null) {\n return new AST_Hole();\n }\n return from_moz(elm);\n }),\n is_array: true\n });\n },\n ObjectPattern: function(M) {\n return new AST_Destructuring({\n start: my_start_token(M),\n end: my_end_token(M),\n names: M.properties.map(from_moz),\n is_array: false\n });\n },\n AssignmentPattern: function(M) {\n return new AST_Binary({\n start: my_start_token(M),\n end: my_end_token(M),\n left: from_moz(M.left),\n operator: \"=\",\n right: from_moz(M.right)\n });\n },\n SpreadElement: function(M) {\n return new AST_Expansion({\n start: my_start_token(M),\n end: my_end_token(M),\n expression: from_moz(M.argument)\n });\n },\n RestElement: function(M) {\n return new AST_Expansion({\n start: my_start_token(M),\n end: my_end_token(M),\n expression: from_moz(M.argument)\n });\n },\n TemplateElement: function(M) {\n return new AST_TemplateSegment({\n start: my_start_token(M),\n end: my_end_token(M),\n value: M.value.cooked,\n raw: M.value.raw\n });\n },\n TemplateLiteral: function(M) {\n var segments = [];\n for (var i = 0; i < M.quasis.length; i++) {\n segments.push(from_moz(M.quasis[i]));\n if (M.expressions[i]) {\n segments.push(from_moz(M.expressions[i]));\n }\n }\n return new AST_TemplateString({\n start: my_start_token(M),\n end: my_end_token(M),\n segments: segments\n });\n },\n TaggedTemplateExpression: function(M) {\n return new AST_PrefixedTemplateString({\n start: my_start_token(M),\n end: my_end_token(M),\n template_string: from_moz(M.quasi),\n prefix: from_moz(M.tag)\n });\n },\n FunctionDeclaration: function(M) {\n return new AST_Defun({\n start: my_start_token(M),\n end: my_end_token(M),\n name: from_moz(M.id),\n argnames: M.params.map(from_moz),\n is_generator: M.generator,\n async: M.async,\n body: normalize_directives(from_moz(M.body).body)\n });\n },\n FunctionExpression: function(M) {\n return new AST_Function({\n start: my_start_token(M),\n end: my_end_token(M),\n name: from_moz(M.id),\n argnames: M.params.map(from_moz),\n is_generator: M.generator,\n async: M.async,\n body: normalize_directives(from_moz(M.body).body)\n });\n },\n ArrowFunctionExpression: function(M) {\n return new AST_Arrow({\n start: my_start_token(M),\n end: my_end_token(M),\n argnames: M.params.map(from_moz),\n body: from_moz(M.body),\n async: M.async,\n });\n },\n ExpressionStatement: function(M) {\n return new AST_SimpleStatement({\n start: my_start_token(M),\n end: my_end_token(M),\n body: from_moz(M.expression)\n });\n },\n TryStatement: function(M) {\n var handlers = M.handlers || [M.handler];\n if (handlers.length > 1 || M.guardedHandlers && M.guardedHandlers.length) {\n throw new Error(\"Multiple catch clauses are not supported.\");\n }\n return new AST_Try({\n start : my_start_token(M),\n end : my_end_token(M),\n body : from_moz(M.block).body,\n bcatch : from_moz(handlers[0]),\n bfinally : M.finalizer ? new AST_Finally(from_moz(M.finalizer)) : null\n });\n },\n Property: function(M) {\n var key = M.key;\n var args = {\n start : my_start_token(key || M.value),\n end : my_end_token(M.value),\n key : key.type == \"Identifier\" ? key.name : key.value,\n value : from_moz(M.value)\n };\n if (M.computed) {\n args.key = from_moz(M.key);\n }\n if (M.method) {\n args.is_generator = M.value.generator;\n args.async = M.value.async;\n if (!M.computed) {\n args.key = new AST_SymbolMethod({ name: args.key });\n } else {\n args.key = from_moz(M.key);\n }\n return new AST_ConciseMethod(args);\n }\n if (M.kind == \"init\") {\n if (key.type != \"Identifier\" && key.type != \"Literal\") {\n args.key = from_moz(key);\n }\n return new AST_ObjectKeyVal(args);\n }\n if (typeof args.key === \"string\" || typeof args.key === \"number\") {\n args.key = new AST_SymbolMethod({\n name: args.key\n });\n }\n args.value = new AST_Accessor(args.value);\n if (M.kind == \"get\") return new AST_ObjectGetter(args);\n if (M.kind == \"set\") return new AST_ObjectSetter(args);\n if (M.kind == \"method\") {\n args.async = M.value.async;\n args.is_generator = M.value.generator;\n args.quote = M.computed ? \"\\\"\" : null;\n return new AST_ConciseMethod(args);\n }\n },\n MethodDefinition: function(M) {\n var args = {\n start : my_start_token(M),\n end : my_end_token(M),\n key : M.computed ? from_moz(M.key) : new AST_SymbolMethod({ name: M.key.name || M.key.value }),\n value : from_moz(M.value),\n static : M.static,\n };\n if (M.kind == \"get\") {\n return new AST_ObjectGetter(args);\n }\n if (M.kind == \"set\") {\n return new AST_ObjectSetter(args);\n }\n args.is_generator = M.value.generator;\n args.async = M.value.async;\n return new AST_ConciseMethod(args);\n },\n ArrayExpression: function(M) {\n return new AST_Array({\n start : my_start_token(M),\n end : my_end_token(M),\n elements : M.elements.map(function(elem) {\n return elem === null ? new AST_Hole() : from_moz(elem);\n })\n });\n },\n ObjectExpression: function(M) {\n return new AST_Object({\n start : my_start_token(M),\n end : my_end_token(M),\n properties : M.properties.map(function(prop) {\n if (prop.type === \"SpreadElement\") {\n return from_moz(prop);\n }\n prop.type = \"Property\";\n return from_moz(prop);\n })\n });\n },\n SequenceExpression: function(M) {\n return new AST_Sequence({\n start : my_start_token(M),\n end : my_end_token(M),\n expressions: M.expressions.map(from_moz)\n });\n },\n MemberExpression: function(M) {\n return new (M.computed ? AST_Sub : AST_Dot)({\n start : my_start_token(M),\n end : my_end_token(M),\n property : M.computed ? from_moz(M.property) : M.property.name,\n expression : from_moz(M.object)\n });\n },\n SwitchCase: function(M) {\n return new (M.test ? AST_Case : AST_Default)({\n start : my_start_token(M),\n end : my_end_token(M),\n expression : from_moz(M.test),\n body : M.consequent.map(from_moz)\n });\n },\n VariableDeclaration: function(M) {\n return new (M.kind === \"const\" ? AST_Const :\n M.kind === \"let\" ? AST_Let : AST_Var)({\n start : my_start_token(M),\n end : my_end_token(M),\n definitions : M.declarations.map(from_moz)\n });\n },\n\n ImportDeclaration: function(M) {\n var imported_name = null;\n var imported_names = null;\n M.specifiers.forEach(function (specifier) {\n if (specifier.type === \"ImportSpecifier\") {\n if (!imported_names) { imported_names = []; }\n imported_names.push(new AST_NameMapping({\n start: my_start_token(specifier),\n end: my_end_token(specifier),\n foreign_name: from_moz(specifier.imported),\n name: from_moz(specifier.local)\n }));\n } else if (specifier.type === \"ImportDefaultSpecifier\") {\n imported_name = from_moz(specifier.local);\n } else if (specifier.type === \"ImportNamespaceSpecifier\") {\n if (!imported_names) { imported_names = []; }\n imported_names.push(new AST_NameMapping({\n start: my_start_token(specifier),\n end: my_end_token(specifier),\n foreign_name: new AST_SymbolImportForeign({ name: \"*\" }),\n name: from_moz(specifier.local)\n }));\n }\n });\n return new AST_Import({\n start : my_start_token(M),\n end : my_end_token(M),\n imported_name: imported_name,\n imported_names : imported_names,\n module_name : from_moz(M.source)\n });\n },\n ExportAllDeclaration: function(M) {\n return new AST_Export({\n start: my_start_token(M),\n end: my_end_token(M),\n exported_names: [\n new AST_NameMapping({\n name: new AST_SymbolExportForeign({ name: \"*\" }),\n foreign_name: new AST_SymbolExportForeign({ name: \"*\" })\n })\n ],\n module_name: from_moz(M.source)\n });\n },\n ExportNamedDeclaration: function(M) {\n return new AST_Export({\n start: my_start_token(M),\n end: my_end_token(M),\n exported_definition: from_moz(M.declaration),\n exported_names: M.specifiers && M.specifiers.length ? M.specifiers.map(function (specifier) {\n return new AST_NameMapping({\n foreign_name: from_moz(specifier.exported),\n name: from_moz(specifier.local)\n });\n }) : null,\n module_name: from_moz(M.source)\n });\n },\n ExportDefaultDeclaration: function(M) {\n return new AST_Export({\n start: my_start_token(M),\n end: my_end_token(M),\n exported_value: from_moz(M.declaration),\n is_default: true\n });\n },\n Literal: function(M) {\n var val = M.value, args = {\n start : my_start_token(M),\n end : my_end_token(M)\n };\n if (val === null) return new AST_Null(args);\n var rx = M.regex;\n if (rx && rx.pattern) {\n // RegExpLiteral as per ESTree AST spec\n args.value = new RegExp(rx.pattern, rx.flags);\n var raw = args.value.toString();\n args.value.raw_source = rx.flags\n ? raw.substring(0, raw.length - rx.flags.length) + rx.flags\n : raw;\n return new AST_RegExp(args);\n } else if (rx) {\n // support legacy RegExp\n args.value = M.regex && M.raw ? M.raw : val;\n return new AST_RegExp(args);\n }\n switch (typeof val) {\n case \"string\":\n args.value = val;\n return new AST_String(args);\n case \"number\":\n args.value = val;\n return new AST_Number(args);\n case \"boolean\":\n return new (val ? AST_True : AST_False)(args);\n }\n },\n MetaProperty: function(M) {\n if (M.meta.name === \"new\" && M.property.name === \"target\") {\n return new AST_NewTarget({\n start: my_start_token(M),\n end: my_end_token(M)\n });\n }\n },\n Identifier: function(M) {\n var p = FROM_MOZ_STACK[FROM_MOZ_STACK.length - 2];\n return new ( p.type == \"LabeledStatement\" ? AST_Label\n : p.type == \"VariableDeclarator\" && p.id === M ? (p.kind == \"const\" ? AST_SymbolConst : p.kind == \"let\" ? AST_SymbolLet : AST_SymbolVar)\n : /Import.*Specifier/.test(p.type) ? (p.local === M ? AST_SymbolImport : AST_SymbolImportForeign)\n : p.type == \"ExportSpecifier\" ? (p.local === M ? AST_SymbolExport : AST_SymbolExportForeign)\n : p.type == \"FunctionExpression\" ? (p.id === M ? AST_SymbolLambda : AST_SymbolFunarg)\n : p.type == \"FunctionDeclaration\" ? (p.id === M ? AST_SymbolDefun : AST_SymbolFunarg)\n : p.type == \"ArrowFunctionExpression\" ? (p.params.includes(M)) ? AST_SymbolFunarg : AST_SymbolRef\n : p.type == \"ClassExpression\" ? (p.id === M ? AST_SymbolClass : AST_SymbolRef)\n : p.type == \"Property\" ? (p.key === M && p.computed || p.value === M ? AST_SymbolRef : AST_SymbolMethod)\n : p.type == \"ClassDeclaration\" ? (p.id === M ? AST_SymbolDefClass : AST_SymbolRef)\n : p.type == \"MethodDefinition\" ? (p.computed ? AST_SymbolRef : AST_SymbolMethod)\n : p.type == \"CatchClause\" ? AST_SymbolCatch\n : p.type == \"BreakStatement\" || p.type == \"ContinueStatement\" ? AST_LabelRef\n : AST_SymbolRef)({\n start : my_start_token(M),\n end : my_end_token(M),\n name : M.name\n });\n }\n };\n\n MOZ_TO_ME.UpdateExpression =\n MOZ_TO_ME.UnaryExpression = function To_Moz_Unary(M) {\n var prefix = \"prefix\" in M ? M.prefix\n : M.type == \"UnaryExpression\" ? true : false;\n return new (prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({\n start : my_start_token(M),\n end : my_end_token(M),\n operator : M.operator,\n expression : from_moz(M.argument)\n });\n };\n\n MOZ_TO_ME.ClassDeclaration =\n MOZ_TO_ME.ClassExpression = function From_Moz_Class(M) {\n return new (M.type === \"ClassDeclaration\" ? AST_DefClass : AST_ClassExpression)({\n start : my_start_token(M),\n end : my_end_token(M),\n name : from_moz(M.id),\n extends : from_moz(M.superClass),\n properties: M.body.body.map(from_moz)\n });\n };\n\n map(\"EmptyStatement\", AST_EmptyStatement);\n map(\"BlockStatement\", AST_BlockStatement, \"body@body\");\n map(\"IfStatement\", AST_If, \"test>condition, consequent>body, alternate>alternative\");\n map(\"LabeledStatement\", AST_LabeledStatement, \"label>label, body>body\");\n map(\"BreakStatement\", AST_Break, \"label>label\");\n map(\"ContinueStatement\", AST_Continue, \"label>label\");\n map(\"WithStatement\", AST_With, \"object>expression, body>body\");\n map(\"SwitchStatement\", AST_Switch, \"discriminant>expression, cases@body\");\n map(\"ReturnStatement\", AST_Return, \"argument>value\");\n map(\"ThrowStatement\", AST_Throw, \"argument>value\");\n map(\"WhileStatement\", AST_While, \"test>condition, body>body\");\n map(\"DoWhileStatement\", AST_Do, \"test>condition, body>body\");\n map(\"ForStatement\", AST_For, \"init>init, test>condition, update>step, body>body\");\n map(\"ForInStatement\", AST_ForIn, \"left>init, right>object, body>body\");\n map(\"ForOfStatement\", AST_ForOf, \"left>init, right>object, body>body, await=await\");\n map(\"AwaitExpression\", AST_Await, \"argument>expression\");\n map(\"YieldExpression\", AST_Yield, \"argument>expression, delegate=is_star\");\n map(\"DebuggerStatement\", AST_Debugger);\n map(\"VariableDeclarator\", AST_VarDef, \"id>name, init>value\");\n map(\"CatchClause\", AST_Catch, \"param>argname, body%body\");\n\n map(\"ThisExpression\", AST_This);\n map(\"Super\", AST_Super);\n map(\"BinaryExpression\", AST_Binary, \"operator=operator, left>left, right>right\");\n map(\"LogicalExpression\", AST_Binary, \"operator=operator, left>left, right>right\");\n map(\"AssignmentExpression\", AST_Assign, \"operator=operator, left>left, right>right\");\n map(\"ConditionalExpression\", AST_Conditional, \"test>condition, consequent>consequent, alternate>alternative\");\n map(\"NewExpression\", AST_New, \"callee>expression, arguments@args\");\n map(\"CallExpression\", AST_Call, \"callee>expression, arguments@args\");\n\n def_to_moz(AST_Toplevel, function To_Moz_Program(M) {\n return to_moz_scope(\"Program\", M);\n });\n\n def_to_moz(AST_Expansion, function To_Moz_Spread(M, parent) {\n return {\n type: to_moz_in_destructuring() ? \"RestElement\" : \"SpreadElement\",\n argument: to_moz(M.expression)\n };\n });\n\n def_to_moz(AST_PrefixedTemplateString, function To_Moz_TaggedTemplateExpression(M) {\n return {\n type: \"TaggedTemplateExpression\",\n tag: to_moz(M.prefix),\n quasi: to_moz(M.template_string)\n };\n });\n\n def_to_moz(AST_TemplateString, function To_Moz_TemplateLiteral(M) {\n var quasis = [];\n var expressions = [];\n for (var i = 0; i < M.segments.length; i++) {\n if (i % 2 !== 0) {\n expressions.push(to_moz(M.segments[i]));\n } else {\n quasis.push({\n type: \"TemplateElement\",\n value: {\n raw: M.segments[i].raw,\n cooked: M.segments[i].value\n },\n tail: i === M.segments.length - 1\n });\n }\n }\n return {\n type: \"TemplateLiteral\",\n quasis: quasis,\n expressions: expressions\n };\n });\n\n def_to_moz(AST_Defun, function To_Moz_FunctionDeclaration(M) {\n return {\n type: \"FunctionDeclaration\",\n id: to_moz(M.name),\n params: M.argnames.map(to_moz),\n generator: M.is_generator,\n async: M.async,\n body: to_moz_scope(\"BlockStatement\", M)\n };\n });\n\n def_to_moz(AST_Function, function To_Moz_FunctionExpression(M, parent) {\n var is_generator = parent.is_generator !== undefined ?\n parent.is_generator : M.is_generator;\n return {\n type: \"FunctionExpression\",\n id: to_moz(M.name),\n params: M.argnames.map(to_moz),\n generator: is_generator,\n async: M.async,\n body: to_moz_scope(\"BlockStatement\", M)\n };\n });\n\n def_to_moz(AST_Arrow, function To_Moz_ArrowFunctionExpression(M) {\n var body = M.body instanceof Array ? {\n type: \"BlockStatement\",\n body: M.body.map(to_moz)\n } : to_moz(M.body);\n return {\n type: \"ArrowFunctionExpression\",\n params: M.argnames.map(to_moz),\n async: M.async,\n body: body\n };\n });\n\n def_to_moz(AST_Destructuring, function To_Moz_ObjectPattern(M) {\n if (M.is_array) {\n return {\n type: \"ArrayPattern\",\n elements: M.names.map(to_moz)\n };\n }\n return {\n type: \"ObjectPattern\",\n properties: M.names.map(to_moz)\n };\n });\n\n def_to_moz(AST_Directive, function To_Moz_Directive(M) {\n return {\n type: \"ExpressionStatement\",\n expression: {\n type: \"Literal\",\n value: M.value\n }\n };\n });\n\n def_to_moz(AST_SimpleStatement, function To_Moz_ExpressionStatement(M) {\n return {\n type: \"ExpressionStatement\",\n expression: to_moz(M.body)\n };\n });\n\n def_to_moz(AST_SwitchBranch, function To_Moz_SwitchCase(M) {\n return {\n type: \"SwitchCase\",\n test: to_moz(M.expression),\n consequent: M.body.map(to_moz)\n };\n });\n\n def_to_moz(AST_Try, function To_Moz_TryStatement(M) {\n return {\n type: \"TryStatement\",\n block: to_moz_block(M),\n handler: to_moz(M.bcatch),\n guardedHandlers: [],\n finalizer: to_moz(M.bfinally)\n };\n });\n\n def_to_moz(AST_Catch, function To_Moz_CatchClause(M) {\n return {\n type: \"CatchClause\",\n param: to_moz(M.argname),\n guard: null,\n body: to_moz_block(M)\n };\n });\n\n def_to_moz(AST_Definitions, function To_Moz_VariableDeclaration(M) {\n return {\n type: \"VariableDeclaration\",\n kind:\n M instanceof AST_Const ? \"const\" :\n M instanceof AST_Let ? \"let\" : \"var\",\n declarations: M.definitions.map(to_moz)\n };\n });\n\n def_to_moz(AST_Export, function To_Moz_ExportDeclaration(M) {\n if (M.exported_names) {\n if (M.exported_names[0].name.name === \"*\") {\n return {\n type: \"ExportAllDeclaration\",\n source: to_moz(M.module_name)\n };\n }\n return {\n type: \"ExportNamedDeclaration\",\n specifiers: M.exported_names.map(function (name_mapping) {\n return {\n type: \"ExportSpecifier\",\n exported: to_moz(name_mapping.foreign_name),\n local: to_moz(name_mapping.name)\n };\n }),\n declaration: to_moz(M.exported_definition),\n source: to_moz(M.module_name)\n };\n }\n return {\n type: M.is_default ? \"ExportDefaultDeclaration\" : \"ExportNamedDeclaration\",\n declaration: to_moz(M.exported_value || M.exported_definition)\n };\n });\n\n def_to_moz(AST_Import, function To_Moz_ImportDeclaration(M) {\n var specifiers = [];\n if (M.imported_name) {\n specifiers.push({\n type: \"ImportDefaultSpecifier\",\n local: to_moz(M.imported_name)\n });\n }\n if (M.imported_names && M.imported_names[0].foreign_name.name === \"*\") {\n specifiers.push({\n type: \"ImportNamespaceSpecifier\",\n local: to_moz(M.imported_names[0].name)\n });\n } else if (M.imported_names) {\n M.imported_names.forEach(function(name_mapping) {\n specifiers.push({\n type: \"ImportSpecifier\",\n local: to_moz(name_mapping.name),\n imported: to_moz(name_mapping.foreign_name)\n });\n });\n }\n return {\n type: \"ImportDeclaration\",\n specifiers: specifiers,\n source: to_moz(M.module_name)\n };\n });\n\n def_to_moz(AST_Sequence, function To_Moz_SequenceExpression(M) {\n return {\n type: \"SequenceExpression\",\n expressions: M.expressions.map(to_moz)\n };\n });\n\n def_to_moz(AST_PropAccess, function To_Moz_MemberExpression(M) {\n var isComputed = M instanceof AST_Sub;\n return {\n type: \"MemberExpression\",\n object: to_moz(M.expression),\n computed: isComputed,\n property: isComputed ? to_moz(M.property) : {type: \"Identifier\", name: M.property}\n };\n });\n\n def_to_moz(AST_Unary, function To_Moz_Unary(M) {\n return {\n type: M.operator == \"++\" || M.operator == \"--\" ? \"UpdateExpression\" : \"UnaryExpression\",\n operator: M.operator,\n prefix: M instanceof AST_UnaryPrefix,\n argument: to_moz(M.expression)\n };\n });\n\n def_to_moz(AST_Binary, function To_Moz_BinaryExpression(M) {\n if (M.operator == \"=\" && to_moz_in_destructuring()) {\n return {\n type: \"AssignmentPattern\",\n left: to_moz(M.left),\n right: to_moz(M.right)\n };\n }\n return {\n type: M.operator == \"&&\" || M.operator == \"||\" ? \"LogicalExpression\" : \"BinaryExpression\",\n left: to_moz(M.left),\n operator: M.operator,\n right: to_moz(M.right)\n };\n });\n\n def_to_moz(AST_Array, function To_Moz_ArrayExpression(M) {\n return {\n type: \"ArrayExpression\",\n elements: M.elements.map(to_moz)\n };\n });\n\n def_to_moz(AST_Object, function To_Moz_ObjectExpression(M) {\n return {\n type: \"ObjectExpression\",\n properties: M.properties.map(to_moz)\n };\n });\n\n def_to_moz(AST_ObjectProperty, function To_Moz_Property(M, parent) {\n var key = M.key instanceof AST_Node ? to_moz(M.key) : {\n type: \"Identifier\",\n value: M.key\n };\n if (typeof M.key === \"number\") {\n key = {\n type: \"Literal\",\n value: Number(M.key)\n };\n }\n if (typeof M.key === \"string\") {\n key = {\n type: \"Identifier\",\n name: M.key\n };\n }\n var kind;\n var string_or_num = typeof M.key === \"string\" || typeof M.key === \"number\";\n var computed = string_or_num ? false : !(M.key instanceof AST_Symbol) || M.key instanceof AST_SymbolRef;\n if (M instanceof AST_ObjectKeyVal) {\n kind = \"init\";\n computed = !string_or_num;\n } else\n if (M instanceof AST_ObjectGetter) {\n kind = \"get\";\n } else\n if (M instanceof AST_ObjectSetter) {\n kind = \"set\";\n }\n if (parent instanceof AST_Class) {\n return {\n type: \"MethodDefinition\",\n computed: computed,\n kind: kind,\n static: M.static,\n key: to_moz(M.key),\n value: to_moz(M.value)\n };\n }\n return {\n type: \"Property\",\n computed: computed,\n kind: kind,\n key: key,\n value: to_moz(M.value)\n };\n });\n\n def_to_moz(AST_ConciseMethod, function To_Moz_MethodDefinition(M, parent) {\n if (parent instanceof AST_Object) {\n return {\n type: \"Property\",\n computed: !(M.key instanceof AST_Symbol) || M.key instanceof AST_SymbolRef,\n kind: \"init\",\n method: true,\n shorthand: false,\n key: to_moz(M.key),\n value: to_moz(M.value)\n };\n }\n return {\n type: \"MethodDefinition\",\n computed: !(M.key instanceof AST_Symbol) || M.key instanceof AST_SymbolRef,\n kind: M.key === \"constructor\" ? \"constructor\" : \"method\",\n static: M.static,\n key: to_moz(M.key),\n value: to_moz(M.value)\n };\n });\n\n def_to_moz(AST_Class, function To_Moz_Class(M) {\n var type = M instanceof AST_ClassExpression ? \"ClassExpression\" : \"ClassDeclaration\";\n return {\n type: type,\n superClass: to_moz(M.extends),\n id: M.name ? to_moz(M.name) : null,\n body: {\n type: \"ClassBody\",\n body: M.properties.map(to_moz)\n }\n };\n });\n\n def_to_moz(AST_NewTarget, function To_Moz_MetaProperty(M) {\n return {\n type: \"MetaProperty\",\n meta: {\n type: \"Identifier\",\n name: \"new\"\n },\n property: {\n type: \"Identifier\",\n name: \"target\"\n }\n };\n });\n\n def_to_moz(AST_Symbol, function To_Moz_Identifier(M, parent) {\n if (M instanceof AST_SymbolMethod && parent.quote) {\n return {\n type: \"Literal\",\n value: M.name\n };\n }\n var def = M.definition();\n return {\n type: \"Identifier\",\n name: def ? def.mangled_name || def.name : M.name\n };\n });\n\n def_to_moz(AST_RegExp, function To_Moz_RegExpLiteral(M) {\n var pattern = M.value.source;\n var flags = M.value.toString().match(/[gimuys]*$/)[0];\n return {\n type: \"Literal\",\n value: new RegExp(pattern, flags),\n raw: M.value.raw_source,\n regex: {\n pattern: pattern,\n flags: flags,\n }\n };\n });\n\n def_to_moz(AST_Constant, function To_Moz_Literal(M) {\n var value = M.value;\n if (typeof value === \"number\" && (value < 0 || (value === 0 && 1 / value < 0))) {\n return {\n type: \"UnaryExpression\",\n operator: \"-\",\n prefix: true,\n argument: {\n type: \"Literal\",\n value: -value,\n raw: M.start.raw\n }\n };\n }\n return {\n type: \"Literal\",\n value: value,\n raw: M.start.raw\n };\n });\n\n def_to_moz(AST_Atom, function To_Moz_Atom(M) {\n return {\n type: \"Identifier\",\n name: String(M.value)\n };\n });\n\n AST_Boolean.DEFMETHOD(\"to_mozilla_ast\", AST_Constant.prototype.to_mozilla_ast);\n AST_Null.DEFMETHOD(\"to_mozilla_ast\", AST_Constant.prototype.to_mozilla_ast);\n AST_Hole.DEFMETHOD(\"to_mozilla_ast\", function To_Moz_ArrayHole() { return null; });\n\n AST_Block.DEFMETHOD(\"to_mozilla_ast\", AST_BlockStatement.prototype.to_mozilla_ast);\n AST_Lambda.DEFMETHOD(\"to_mozilla_ast\", AST_Function.prototype.to_mozilla_ast);\n\n /* -----[ tools ]----- */\n\n function raw_token(moznode) {\n if (moznode.type == \"Literal\") {\n return moznode.raw != null ? moznode.raw : moznode.value + \"\";\n }\n }\n\n function my_start_token(moznode) {\n var loc = moznode.loc, start = loc && loc.start;\n var range = moznode.range;\n return new AST_Token({\n file : loc && loc.source,\n line : start && start.line,\n col : start && start.column,\n pos : range ? range[0] : moznode.start,\n endline : start && start.line,\n endcol : start && start.column,\n endpos : range ? range[0] : moznode.start,\n raw : raw_token(moznode),\n });\n }\n\n function my_end_token(moznode) {\n var loc = moznode.loc, end = loc && loc.end;\n var range = moznode.range;\n return new AST_Token({\n file : loc && loc.source,\n line : end && end.line,\n col : end && end.column,\n pos : range ? range[1] : moznode.end,\n endline : end && end.line,\n endcol : end && end.column,\n endpos : range ? range[1] : moznode.end,\n raw : raw_token(moznode),\n });\n }\n\n function map(moztype, mytype, propmap) {\n var moz_to_me = \"function From_Moz_\" + moztype + \"(M){\\n\";\n moz_to_me += \"return new U2.\" + mytype.name + \"({\\n\" +\n \"start: my_start_token(M),\\n\" +\n \"end: my_end_token(M)\";\n\n var me_to_moz = \"function To_Moz_\" + moztype + \"(M){\\n\";\n me_to_moz += \"return {\\n\" +\n \"type: \" + JSON.stringify(moztype);\n\n if (propmap) propmap.split(/\\s*,\\s*/).forEach(function(prop) {\n var m = /([a-z0-9$_]+)([=@>%])([a-z0-9$_]+)/i.exec(prop);\n if (!m) throw new Error(\"Can't understand property map: \" + prop);\n var moz = m[1], how = m[2], my = m[3];\n moz_to_me += \",\\n\" + my + \": \";\n me_to_moz += \",\\n\" + moz + \": \";\n switch (how) {\n case \"@\":\n moz_to_me += \"M.\" + moz + \".map(from_moz)\";\n me_to_moz += \"M.\" + my + \".map(to_moz)\";\n break;\n case \">\":\n moz_to_me += \"from_moz(M.\" + moz + \")\";\n me_to_moz += \"to_moz(M.\" + my + \")\";\n break;\n case \"=\":\n moz_to_me += \"M.\" + moz;\n me_to_moz += \"M.\" + my;\n break;\n case \"%\":\n moz_to_me += \"from_moz(M.\" + moz + \").body\";\n me_to_moz += \"to_moz_block(M)\";\n break;\n default:\n throw new Error(\"Can't understand operator in propmap: \" + prop);\n }\n });\n\n moz_to_me += \"\\n})\\n}\";\n me_to_moz += \"\\n}\\n}\";\n\n //moz_to_me = parse(moz_to_me).print_to_string({ beautify: true });\n //me_to_moz = parse(me_to_moz).print_to_string({ beautify: true });\n //console.log(moz_to_me);\n\n moz_to_me = new Function(\"U2\", \"my_start_token\", \"my_end_token\", \"from_moz\", \"return(\" + moz_to_me + \")\")(\n ast, my_start_token, my_end_token, from_moz\n );\n me_to_moz = new Function(\"to_moz\", \"to_moz_block\", \"to_moz_scope\", \"return(\" + me_to_moz + \")\")(\n to_moz, to_moz_block, to_moz_scope\n );\n MOZ_TO_ME[moztype] = moz_to_me;\n def_to_moz(mytype, me_to_moz);\n }\n\n var FROM_MOZ_STACK = null;\n\n function from_moz(node) {\n FROM_MOZ_STACK.push(node);\n var ret = node != null ? MOZ_TO_ME[node.type](node) : null;\n FROM_MOZ_STACK.pop();\n return ret;\n }\n\n AST_Node.from_mozilla_ast = function(node) {\n var save_stack = FROM_MOZ_STACK;\n FROM_MOZ_STACK = [];\n var ast = from_moz(node);\n FROM_MOZ_STACK = save_stack;\n return ast;\n };\n\n function set_moz_loc(mynode, moznode, myparent) {\n var start = mynode.start;\n var end = mynode.end;\n if (start.pos != null && end.endpos != null) {\n moznode.range = [start.pos, end.endpos];\n }\n if (start.line) {\n moznode.loc = {\n start: {line: start.line, column: start.col},\n end: end.endline ? {line: end.endline, column: end.endcol} : null\n };\n if (start.file) {\n moznode.loc.source = start.file;\n }\n }\n return moznode;\n }\n\n function def_to_moz(mytype, handler) {\n mytype.DEFMETHOD(\"to_mozilla_ast\", function(parent) {\n return set_moz_loc(this, handler(this, parent));\n });\n }\n\n var TO_MOZ_STACK = null;\n\n function to_moz(node) {\n if (TO_MOZ_STACK === null) { TO_MOZ_STACK = []; }\n TO_MOZ_STACK.push(node);\n var ast = node != null ? node.to_mozilla_ast(TO_MOZ_STACK[TO_MOZ_STACK.length - 2]) : null;\n TO_MOZ_STACK.pop();\n if (TO_MOZ_STACK.length === 0) { TO_MOZ_STACK = null; }\n return ast;\n }\n\n function to_moz_in_destructuring() {\n var i = TO_MOZ_STACK.length;\n while (i--) {\n if (TO_MOZ_STACK[i] instanceof AST_Destructuring) {\n return true;\n }\n }\n return false;\n }\n\n function to_moz_block(node) {\n return {\n type: \"BlockStatement\",\n body: node.body.map(to_moz)\n };\n }\n\n function to_moz_scope(type, node) {\n var body = node.body.map(to_moz);\n if (node.body[0] instanceof AST_SimpleStatement && node.body[0].body instanceof AST_String) {\n body.unshift(to_moz(new AST_EmptyStatement(node.body[0])));\n }\n return {\n type: type,\n body: body\n };\n }\n})();\n","// API\nimport \"./lib/transform.js\";\nexport { minify } from \"./lib/minify.js\";\n\n// CLI\nexport {\n AST_Array,\n AST_Assign,\n AST_Constant,\n AST_Node,\n AST_PropAccess,\n AST_Sequence,\n AST_Symbol,\n AST_Token,\n TreeTransformer,\n TreeWalker,\n} from \"./lib/ast.js\";\nexport {\n defaults,\n Dictionary,\n push_uniq,\n string_template,\n} from \"./lib/utils.js\";\nexport { base54 } from \"./lib/scope.js\";\nexport { Compressor } from \"./lib/compress/index.js\";\nexport { OutputStream } from \"./lib/output.js\";\nexport { parse } from \"./lib/parse.js\";\nexport {\n mangle_properties,\n reserve_quoted_keys,\n} from \"./lib/propmangle.js\";\nimport \"./lib/mozilla-ast.js\";\n\n// TESTS\nexport * from \"./lib/ast.js\";\nexport {\n JS_Parse_Error,\n tokenizer,\n} from \"./lib/parse.js\";\nexport { to_ascii } from \"./lib/minify.js\";\n"],"names":["first_in_statement","all"],"mappings":"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cAAc,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM;EACjE,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,IAAI,IAAI,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,KAAK,GAAG,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;EAC1D,cAAc,KAAK,GAAG,KAAK,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAA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"} \ No newline at end of file diff --git a/node_modules/terser/package.json b/node_modules/terser/package.json index e83e2d8..8a3af7d 100644 --- a/node_modules/terser/package.json +++ b/node_modules/terser/package.json @@ -1,27 +1,33 @@ { - "_from": "terser@^4.0.0", + "_args": [ + [ + "terser@4.7.0", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "terser@4.7.0", "_id": "terser@4.7.0", "_inBundle": false, "_integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", "_location": "/terser", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "terser@^4.0.0", + "raw": "terser@4.7.0", "name": "terser", "escapedName": "terser", - "rawSpec": "^4.0.0", + "rawSpec": "4.7.0", "saveSpec": null, - "fetchSpec": "^4.0.0" + "fetchSpec": "4.7.0" }, "_requiredBy": [ "/minify" ], "_resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", - "_shasum": "15852cf1a08e3256a80428e865a2fa893ffba006", - "_spec": "terser@^4.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\minify", + "_spec": "4.7.0", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Mihai Bazon", "email": "mihai.bazon@gmail.com", @@ -33,13 +39,11 @@ "bugs": { "url": "https://github.com/terser/terser/issues" }, - "bundleDependencies": false, "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", "source-map-support": "~0.5.12" }, - "deprecated": false, "description": "JavaScript parser, mangler/compressor and beautifier toolkit for ES6+", "devDependencies": { "acorn": "^7.1.1", diff --git a/node_modules/through2-filter/node_modules/through2/package.json b/node_modules/through2-filter/node_modules/through2/package.json index a1e57f5..6066efa 100644 --- a/node_modules/through2-filter/node_modules/through2/package.json +++ b/node_modules/through2-filter/node_modules/through2/package.json @@ -2,7 +2,7 @@ "_args": [ [ "through2@2.0.5", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "_spec": "2.0.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Rod Vagg", "email": "r@va.gg", diff --git a/node_modules/through2-filter/package.json b/node_modules/through2-filter/package.json index 2486f70..33d53ab 100644 --- a/node_modules/through2-filter/package.json +++ b/node_modules/through2-filter/package.json @@ -2,7 +2,7 @@ "_args": [ [ "through2-filter@3.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -30,7 +30,7 @@ ], "_resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", "_spec": "3.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Bryce B. Baril" }, diff --git a/node_modules/through2/package.json b/node_modules/through2/package.json index 273794c..95754fb 100644 --- a/node_modules/through2/package.json +++ b/node_modules/through2/package.json @@ -2,7 +2,7 @@ "_args": [ [ "through2@3.0.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", "_spec": "3.0.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Rod Vagg", "email": "r@va.gg", diff --git a/node_modules/to-absolute-glob/package.json b/node_modules/to-absolute-glob/package.json index 0496448..8fbd9e7 100644 --- a/node_modules/to-absolute-glob/package.json +++ b/node_modules/to-absolute-glob/package.json @@ -2,7 +2,7 @@ "_args": [ [ "to-absolute-glob@2.0.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", "_spec": "2.0.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/node_modules/to-through/node_modules/through2/package.json b/node_modules/to-through/node_modules/through2/package.json index 5e395e1..01bf5fd 100644 --- a/node_modules/to-through/node_modules/through2/package.json +++ b/node_modules/to-through/node_modules/through2/package.json @@ -2,7 +2,7 @@ "_args": [ [ "through2@2.0.5", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "_spec": "2.0.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Rod Vagg", "email": "r@va.gg", diff --git a/node_modules/to-through/package.json b/node_modules/to-through/package.json index c7ed908..9be3767 100644 --- a/node_modules/to-through/package.json +++ b/node_modules/to-through/package.json @@ -2,7 +2,7 @@ "_args": [ [ "to-through@2.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -30,7 +30,7 @@ ], "_resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", "_spec": "2.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gulp Team", "email": "team@gulpjs.com", diff --git a/node_modules/tough-cookie/package.json b/node_modules/tough-cookie/package.json index fa5b424..9feea52 100644 --- a/node_modules/tough-cookie/package.json +++ b/node_modules/tough-cookie/package.json @@ -2,7 +2,7 @@ "_args": [ [ "tough-cookie@2.5.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -24,11 +24,12 @@ }, "_requiredBy": [ "/jsdom", + "/request", "/request-promise-native" ], "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "_spec": "2.5.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jeremy Stashewsky", "email": "jstash@gmail.com" diff --git a/node_modules/tr46/package.json b/node_modules/tr46/package.json index 12c2dd0..be4638d 100644 --- a/node_modules/tr46/package.json +++ b/node_modules/tr46/package.json @@ -2,7 +2,7 @@ "_args": [ [ "tr46@1.0.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "_spec": "1.0.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Sebastian Mayr", "email": "npm@smayr.name" diff --git a/node_modules/try-catch/package.json b/node_modules/try-catch/package.json index 396cc65..679f3cc 100644 --- a/node_modules/try-catch/package.json +++ b/node_modules/try-catch/package.json @@ -1,27 +1,33 @@ { - "_from": "try-catch@^3.0.0", + "_args": [ + [ + "try-catch@3.0.0", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "try-catch@3.0.0", "_id": "try-catch@3.0.0", "_inBundle": false, "_integrity": "sha512-3uAqUnoemzca1ENvZ72EVimR+E8lqBbzwZ9v4CEbLjkaV3Q+FtdmPUt7jRtoSoTiYjyIMxEkf6YgUpe/voJ1ng==", "_location": "/try-catch", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "try-catch@^3.0.0", + "raw": "try-catch@3.0.0", "name": "try-catch", "escapedName": "try-catch", - "rawSpec": "^3.0.0", + "rawSpec": "3.0.0", "saveSpec": null, - "fetchSpec": "^3.0.0" + "fetchSpec": "3.0.0" }, "_requiredBy": [ "/minify" ], "_resolved": "https://registry.npmjs.org/try-catch/-/try-catch-3.0.0.tgz", - "_shasum": "7996d8b89895e2e8ae62cbdbeb4fe17470f8131b", - "_spec": "try-catch@^3.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\minify", + "_spec": "3.0.0", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "coderaiser", "email": "mnemonic.enemy@gmail.com", @@ -30,9 +36,7 @@ "bugs": { "url": "https://github.com/coderaiser/try-catch/issues" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, "description": "functional try-catch wrapper", "devDependencies": { "coveralls": "^3.0.0", diff --git a/node_modules/try-to-catch/legacy/index.js b/node_modules/try-to-catch/legacy/index.js deleted file mode 100644 index 8ea9a50..0000000 --- a/node_modules/try-to-catch/legacy/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./try-to-catch') diff --git a/node_modules/try-to-catch/legacy/try-to-catch.js b/node_modules/try-to-catch/legacy/try-to-catch.js deleted file mode 100644 index 28866b6..0000000 --- a/node_modules/try-to-catch/legacy/try-to-catch.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -var success = function success(a) { - return [null, a]; -}; - -var fail = function fail(a) { - return [a]; -}; - -var noArg = function noArg(f, a) { - return function () { - return f.apply(void 0, _toConsumableArray(a)); - }; -}; - -module.exports = function (fn) { - check(fn); - - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return Promise.resolve().then(noArg(fn, args)).then(success).catch(fail); -}; - -function check(fn) { - if (typeof fn !== 'function') throw Error('fn should be a function!'); -} \ No newline at end of file diff --git a/node_modules/try-to-catch/package.json b/node_modules/try-to-catch/package.json index 38d5c86..faea83a 100644 --- a/node_modules/try-to-catch/package.json +++ b/node_modules/try-to-catch/package.json @@ -1,27 +1,33 @@ { - "_from": "try-to-catch@^3.0.0", + "_args": [ + [ + "try-to-catch@3.0.0", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "try-to-catch@3.0.0", "_id": "try-to-catch@3.0.0", "_inBundle": false, "_integrity": "sha512-eIm6ZXwR35jVF8By/HdbbkcaCDTBI5PpCPkejRKrYp0jyf/DbCCcRhHD7/O9jtFI3ewsqo9WctFEiJTS6i+CQA==", "_location": "/try-to-catch", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "try-to-catch@^3.0.0", + "raw": "try-to-catch@3.0.0", "name": "try-to-catch", "escapedName": "try-to-catch", - "rawSpec": "^3.0.0", + "rawSpec": "3.0.0", "saveSpec": null, - "fetchSpec": "^3.0.0" + "fetchSpec": "3.0.0" }, "_requiredBy": [ "/minify" ], "_resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-3.0.0.tgz", - "_shasum": "a1903b44d13d5124c54d14a461d22ec1f52ea14b", - "_spec": "try-to-catch@^3.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\minify", + "_spec": "3.0.0", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "coderaiser", "email": "mnemonic.enemy@gmail.com", @@ -30,9 +36,7 @@ "bugs": { "url": "https://github.com/coderaiser/try-to-catch/issues" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, "description": "function try-catch wrapper for promises", "devDependencies": { "coveralls": "^3.0.0", diff --git a/node_modules/tunnel-agent/package.json b/node_modules/tunnel-agent/package.json index 8a2e929..66cf8aa 100644 --- a/node_modules/tunnel-agent/package.json +++ b/node_modules/tunnel-agent/package.json @@ -2,7 +2,7 @@ "_args": [ [ "tunnel-agent@0.6.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "_spec": "0.6.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Mikeal Rogers", "email": "mikeal.rogers@gmail.com", diff --git a/node_modules/tweetnacl/package.json b/node_modules/tweetnacl/package.json index 6e3e041..82b46fe 100644 --- a/node_modules/tweetnacl/package.json +++ b/node_modules/tweetnacl/package.json @@ -2,7 +2,7 @@ "_args": [ [ "tweetnacl@0.14.5", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "_spec": "0.14.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "TweetNaCl-js contributors" }, diff --git a/node_modules/type-check/package.json b/node_modules/type-check/package.json index d1b5ca4..c64d490 100644 --- a/node_modules/type-check/package.json +++ b/node_modules/type-check/package.json @@ -2,7 +2,7 @@ "_args": [ [ "type-check@0.3.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "_spec": "0.3.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "George Zahariev", "email": "z@georgezahariev.com" diff --git a/node_modules/uglify-js/package.json b/node_modules/uglify-js/package.json index 47722e9..041b84f 100644 --- a/node_modules/uglify-js/package.json +++ b/node_modules/uglify-js/package.json @@ -1,27 +1,33 @@ { - "_from": "uglify-js@^3.5.1", + "_args": [ + [ + "uglify-js@3.9.3", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "uglify-js@3.9.3", "_id": "uglify-js@3.9.3", "_inBundle": false, "_integrity": "sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==", "_location": "/uglify-js", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "uglify-js@^3.5.1", + "raw": "uglify-js@3.9.3", "name": "uglify-js", "escapedName": "uglify-js", - "rawSpec": "^3.5.1", + "rawSpec": "3.9.3", "saveSpec": null, - "fetchSpec": "^3.5.1" + "fetchSpec": "3.9.3" }, "_requiredBy": [ "/html-minifier" ], "_resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz", - "_shasum": "4a285d1658b8a2ebaef9e51366b3a0f7acd79ec2", - "_spec": "uglify-js@^3.5.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\html-minifier", + "_spec": "3.9.3", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Mihai Bazon", "email": "mihai.bazon@gmail.com", @@ -33,11 +39,9 @@ "bugs": { "url": "https://github.com/mishoo/UglifyJS/issues" }, - "bundleDependencies": false, "dependencies": { "commander": "~2.20.3" }, - "deprecated": false, "description": "JavaScript parser, mangler/compressor and beautifier toolkit", "devDependencies": { "acorn": "~7.1.0", diff --git a/node_modules/unc-path-regex/package.json b/node_modules/unc-path-regex/package.json index 542f7b1..64739c3 100644 --- a/node_modules/unc-path-regex/package.json +++ b/node_modules/unc-path-regex/package.json @@ -2,7 +2,7 @@ "_args": [ [ "unc-path-regex@0.1.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "_spec": "0.1.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/node_modules/unique-stream/package.json b/node_modules/unique-stream/package.json index 412c7af..c0e218c 100644 --- a/node_modules/unique-stream/package.json +++ b/node_modules/unique-stream/package.json @@ -2,7 +2,7 @@ "_args": [ [ "unique-stream@2.3.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", "_spec": "2.3.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Eugene Ware", "email": "eugene@noblesamurai.com" diff --git a/node_modules/upper-case/package.json b/node_modules/upper-case/package.json index a01b8b4..ac6fecf 100644 --- a/node_modules/upper-case/package.json +++ b/node_modules/upper-case/package.json @@ -2,7 +2,7 @@ "_args": [ [ "upper-case@1.1.3", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", "_spec": "1.1.3", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Blake Embrey", "email": "hello@blakeembrey.com", diff --git a/node_modules/uri-js/package.json b/node_modules/uri-js/package.json index 3af745c..abe65ee 100644 --- a/node_modules/uri-js/package.json +++ b/node_modules/uri-js/package.json @@ -2,7 +2,7 @@ "_args": [ [ "uri-js@4.2.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "_spec": "4.2.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gary Court", "email": "gary.court@gmail.com" diff --git a/node_modules/util-deprecate/package.json b/node_modules/util-deprecate/package.json index c64eb6e..3a1a135 100644 --- a/node_modules/util-deprecate/package.json +++ b/node_modules/util-deprecate/package.json @@ -2,7 +2,7 @@ "_args": [ [ "util-deprecate@1.0.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "_spec": "1.0.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Nathan Rajlich", "email": "nathan@tootallnate.net", diff --git a/node_modules/uuid/package.json b/node_modules/uuid/package.json index 694c6fe..570aceb 100644 --- a/node_modules/uuid/package.json +++ b/node_modules/uuid/package.json @@ -1,27 +1,33 @@ { - "_from": "uuid@^3.3.2", + "_args": [ + [ + "uuid@3.4.0", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "uuid@3.4.0", "_id": "uuid@3.4.0", "_inBundle": false, "_integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "_location": "/uuid", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "uuid@^3.3.2", + "raw": "uuid@3.4.0", "name": "uuid", "escapedName": "uuid", - "rawSpec": "^3.3.2", + "rawSpec": "3.4.0", "saveSpec": null, - "fetchSpec": "^3.3.2" + "fetchSpec": "3.4.0" }, "_requiredBy": [ "/request" ], "_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "_shasum": "b23e4358afa8a202fe7a100af1f5f883f02007ee", - "_spec": "uuid@^3.3.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\request", + "_spec": "3.4.0", + "_where": "D:\\Projects\\vanillajs-seed", "bin": { "uuid": "bin/uuid" }, @@ -33,7 +39,6 @@ "bugs": { "url": "https://github.com/uuidjs/uuid/issues" }, - "bundleDependencies": false, "commitlint": { "extends": [ "@commitlint/config-conventional" @@ -61,7 +66,6 @@ "email": "shtylman@gmail.com" } ], - "deprecated": false, "description": "RFC4122 (v1, v4, and v5) UUIDs", "devDependencies": { "@commitlint/cli": "~8.2.0", diff --git a/node_modules/value-or-function/package.json b/node_modules/value-or-function/package.json index 420a203..97ac19a 100644 --- a/node_modules/value-or-function/package.json +++ b/node_modules/value-or-function/package.json @@ -2,7 +2,7 @@ "_args": [ [ "value-or-function@3.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", "_spec": "3.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gulp Team", "email": "team@gulpjs.com", diff --git a/node_modules/verror/package.json b/node_modules/verror/package.json index b56323f..340bf5f 100644 --- a/node_modules/verror/package.json +++ b/node_modules/verror/package.json @@ -2,7 +2,7 @@ "_args": [ [ "verror@1.10.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "_spec": "1.10.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/davepacheco/node-verror/issues" }, diff --git a/node_modules/vinyl-fs/node_modules/through2/package.json b/node_modules/vinyl-fs/node_modules/through2/package.json index f477721..c5ad4e9 100644 --- a/node_modules/vinyl-fs/node_modules/through2/package.json +++ b/node_modules/vinyl-fs/node_modules/through2/package.json @@ -2,7 +2,7 @@ "_args": [ [ "through2@2.0.5", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "_spec": "2.0.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Rod Vagg", "email": "r@va.gg", diff --git a/node_modules/vinyl-fs/package.json b/node_modules/vinyl-fs/package.json index 71ce800..b7f9acc 100644 --- a/node_modules/vinyl-fs/package.json +++ b/node_modules/vinyl-fs/package.json @@ -2,7 +2,7 @@ "_args": [ [ "vinyl-fs@3.0.3", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -30,7 +30,7 @@ ], "_resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", "_spec": "3.0.3", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gulp Team", "email": "team@gulpjs.com", diff --git a/node_modules/vinyl-sourcemap/package.json b/node_modules/vinyl-sourcemap/package.json index 2a56bcd..853859c 100644 --- a/node_modules/vinyl-sourcemap/package.json +++ b/node_modules/vinyl-sourcemap/package.json @@ -2,7 +2,7 @@ "_args": [ [ "vinyl-sourcemap@1.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", "_spec": "1.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gulp Team", "email": "team@gulpjs.com", diff --git a/node_modules/vinyl/package.json b/node_modules/vinyl/package.json index 1071701..c2d4316 100644 --- a/node_modules/vinyl/package.json +++ b/node_modules/vinyl/package.json @@ -2,7 +2,7 @@ "_args": [ [ "vinyl@2.2.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -29,7 +29,7 @@ ], "_resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", "_spec": "2.2.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Gulp Team", "email": "team@gulpjs.com", diff --git a/node_modules/w3c-hr-time/package.json b/node_modules/w3c-hr-time/package.json index 8b3f63d..15aa8e4 100644 --- a/node_modules/w3c-hr-time/package.json +++ b/node_modules/w3c-hr-time/package.json @@ -1,27 +1,33 @@ { - "_from": "w3c-hr-time@^1.0.1", + "_args": [ + [ + "w3c-hr-time@1.0.2", + "D:\\Projects\\vanillajs-seed" + ] + ], + "_development": true, + "_from": "w3c-hr-time@1.0.2", "_id": "w3c-hr-time@1.0.2", "_inBundle": false, "_integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "_location": "/w3c-hr-time", "_phantomChildren": {}, "_requested": { - "type": "range", + "type": "version", "registry": true, - "raw": "w3c-hr-time@^1.0.1", + "raw": "w3c-hr-time@1.0.2", "name": "w3c-hr-time", "escapedName": "w3c-hr-time", - "rawSpec": "^1.0.1", + "rawSpec": "1.0.2", "saveSpec": null, - "fetchSpec": "^1.0.1" + "fetchSpec": "1.0.2" }, "_requiredBy": [ "/jsdom" ], "_resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "_shasum": "0a89cdf5cc15822df9c360543676963e0cc308cd", - "_spec": "w3c-hr-time@^1.0.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed\\node_modules\\jsdom", + "_spec": "1.0.2", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Timothy Gu", "email": "timothygu99@gmail.com" @@ -29,11 +35,9 @@ "bugs": { "url": "https://github.com/jsdom/w3c-hr-time/issues" }, - "bundleDependencies": false, "dependencies": { "browser-process-hrtime": "^1.0.0" }, - "deprecated": false, "description": "An implementation of the W3C High Resolution Time Level 2 specification.", "devDependencies": { "eslint": "^4.14.0", diff --git a/node_modules/w3c-xmlserializer/package.json b/node_modules/w3c-xmlserializer/package.json index 4e44ee9..3b6c4b1 100644 --- a/node_modules/w3c-xmlserializer/package.json +++ b/node_modules/w3c-xmlserializer/package.json @@ -2,7 +2,7 @@ "_args": [ [ "w3c-xmlserializer@1.1.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", "_spec": "1.1.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "bugs": { "url": "https://github.com/jsdom/w3c-xmlserializer/issues" }, diff --git a/node_modules/webidl-conversions/package.json b/node_modules/webidl-conversions/package.json index a49aa04..2815399 100644 --- a/node_modules/webidl-conversions/package.json +++ b/node_modules/webidl-conversions/package.json @@ -2,7 +2,7 @@ "_args": [ [ "webidl-conversions@4.0.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -30,7 +30,7 @@ ], "_resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", "_spec": "4.0.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Domenic Denicola", "email": "d@domenic.me", diff --git a/node_modules/whatwg-encoding/package.json b/node_modules/whatwg-encoding/package.json index e8e0e3c..b16fa58 100644 --- a/node_modules/whatwg-encoding/package.json +++ b/node_modules/whatwg-encoding/package.json @@ -2,7 +2,7 @@ "_args": [ [ "whatwg-encoding@1.0.5", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "_spec": "1.0.5", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Domenic Denicola", "email": "d@domenic.me", diff --git a/node_modules/whatwg-mimetype/package.json b/node_modules/whatwg-mimetype/package.json index 30b17d5..b0da56e 100644 --- a/node_modules/whatwg-mimetype/package.json +++ b/node_modules/whatwg-mimetype/package.json @@ -2,7 +2,7 @@ "_args": [ [ "whatwg-mimetype@2.3.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "_spec": "2.3.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Domenic Denicola", "email": "d@domenic.me", diff --git a/node_modules/whatwg-url/package.json b/node_modules/whatwg-url/package.json index 77dfaae..5011e14 100644 --- a/node_modules/whatwg-url/package.json +++ b/node_modules/whatwg-url/package.json @@ -2,7 +2,7 @@ "_args": [ [ "whatwg-url@7.1.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "_spec": "7.1.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Sebastian Mayr", "email": "github@smayr.name" diff --git a/node_modules/word-wrap/package.json b/node_modules/word-wrap/package.json index 0a662c1..2ced77a 100644 --- a/node_modules/word-wrap/package.json +++ b/node_modules/word-wrap/package.json @@ -2,7 +2,7 @@ "_args": [ [ "word-wrap@1.2.3", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "_spec": "1.2.3", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/node_modules/wrappy/package.json b/node_modules/wrappy/package.json index e56bbf3..a1d83da 100644 --- a/node_modules/wrappy/package.json +++ b/node_modules/wrappy/package.json @@ -2,7 +2,7 @@ "_args": [ [ "wrappy@1.0.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "_spec": "1.0.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/node_modules/ws/package.json b/node_modules/ws/package.json index 1e5acc1..2d79400 100644 --- a/node_modules/ws/package.json +++ b/node_modules/ws/package.json @@ -2,7 +2,7 @@ "_args": [ [ "ws@6.2.1", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", "_spec": "6.2.1", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Einar Otto Stangvik", "email": "einaros@gmail.com", diff --git a/node_modules/xml-name-validator/package.json b/node_modules/xml-name-validator/package.json index 6e6b517..6d7a89b 100644 --- a/node_modules/xml-name-validator/package.json +++ b/node_modules/xml-name-validator/package.json @@ -2,7 +2,7 @@ "_args": [ [ "xml-name-validator@3.0.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "_spec": "3.0.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Domenic Denicola", "email": "d@domenic.me", diff --git a/node_modules/xmlchars/package.json b/node_modules/xmlchars/package.json index eb49e00..58cffe5 100644 --- a/node_modules/xmlchars/package.json +++ b/node_modules/xmlchars/package.json @@ -2,7 +2,7 @@ "_args": [ [ "xmlchars@2.2.0", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "_spec": "2.2.0", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Louis-Dominique Dubeau", "email": "ldd@lddubeau.com" diff --git a/node_modules/xtend/package.json b/node_modules/xtend/package.json index 705d90a..538ecfa 100644 --- a/node_modules/xtend/package.json +++ b/node_modules/xtend/package.json @@ -2,7 +2,7 @@ "_args": [ [ "xtend@4.0.2", - "D:\\Projects\\siag\\vanillajs-seed" + "D:\\Projects\\vanillajs-seed" ] ], "_development": true, @@ -33,7 +33,7 @@ ], "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "_spec": "4.0.2", - "_where": "D:\\Projects\\siag\\vanillajs-seed", + "_where": "D:\\Projects\\vanillajs-seed", "author": { "name": "Raynos", "email": "raynos2@gmail.com" diff --git a/package-lock.json b/package-lock.json index 0ee9ea3..73f9865 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,17 +5,17 @@ "requires": true, "dependencies": { "@babel/runtime": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz", - "integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", "requires": { - "regenerator-runtime": "^0.13.2" + "regenerator-runtime": "^0.13.4" } }, "@ungap/url-search-params": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.1.4.tgz", - "integrity": "sha512-RLwrxCTDNiNev9hpr9rDq8NyeQ8Nn0X1we4Wu7Tlf368I8r+7hBj3uObhifhuLk74egaYaSX5nUsBlWz6kjj+A==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.2.0.tgz", + "integrity": "sha512-KVPTXfdofx9g/1OnO4js0Sos/ITghfNxw+DHJUyXG+X83KEMyJV+fQ6zyd2jTUwqall/SCJlV7p/HDqJbbF5WQ==" }, "abab": { "version": "2.0.3", @@ -153,7 +153,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -188,6 +187,11 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", @@ -215,8 +219,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -236,7 +239,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -280,7 +282,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -340,7 +341,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -348,8 +348,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "combined-stream": { "version": "1.0.8", @@ -369,8 +368,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "convert-source-map": { "version": "1.7.0", @@ -514,9 +512,12 @@ } }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz", + "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==", + "requires": { + "jake": "^10.6.1" + } }, "ejs-render-remote": { "version": "1.0.13", @@ -558,8 +559,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.14.1", @@ -622,6 +622,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "filelist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", + "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", + "requires": { + "minimatch": "^3.0.4" + } + }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -780,8 +788,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.1", @@ -831,17 +838,20 @@ } }, "i18next": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-15.1.3.tgz", - "integrity": "sha512-hN2DZLoRSY2h/RYeNqth5XxV4N1ekKGSJDCGhFmmuXkOCAfK5CkUG4VBv9OBXrvf93xApv0KKBVrb0zJP31EKg==", + "version": "19.4.5", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.4.5.tgz", + "integrity": "sha512-aLvSsURoupi3x9IndmV6+m3IGhzLzhYv7Gw+//K3ovdliyGcFRV0I1MuddI0Bk/zR7BG1U+kJOjeHFUcUIdEgg==", "requires": { "@babel/runtime": "^7.3.1" } }, "i18next-browser-languagedetector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-3.1.1.tgz", - "integrity": "sha512-JBgFWijjI1t6as4WgGvDdX4GLJPZwC/SMHzLQQ3ef7XaJsEkomlXFqXifKvOVJg09Hj2BVWe6strDdIF4J/0ng==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.2.0.tgz", + "integrity": "sha512-qRSCBWgDUSqVQb3sTxkDC+ImYLhF+wB387Y1RpOcJvyex+V3abi+W83n4Awy+dx719AOBbKTy97FjrUGrAhbyw==", + "requires": { + "@babel/runtime": "^7.5.5" + } }, "i18next-scanner": { "version": "2.11.0", @@ -886,9 +896,12 @@ } }, "i18next-xhr-backend": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/i18next-xhr-backend/-/i18next-xhr-backend-2.0.1.tgz", - "integrity": "sha512-CP0XPjJsTE4hY1rM1KXFYo63Ib61EBLEcTvMDyJwr0vs9p/UTuA3ENCmzSs9+ghZgWSjdOigc0oUERHaxctbsQ==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/i18next-xhr-backend/-/i18next-xhr-backend-3.2.2.tgz", + "integrity": "sha512-OtRf2Vo3IqAxsttQbpjYnmMML12IMB5e0fc5B7qKJFLScitYaXa1OhMX0n0X/3vrfFlpHL9Ro/H+ps4Ej2j7QQ==", + "requires": { + "@babel/runtime": "^7.5.5" + } }, "iconv-lite": { "version": "0.4.24", @@ -1020,6 +1033,17 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jake": { + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.1.tgz", + "integrity": "sha512-eSp5h9S7UFzKdQERTyF+KuPLjDZa1Tbw8gCVUn98n4PbIkLEDGe4zl7vF4Qge9kQj06HcymnksPk8jznPZeKsA==", + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + } + }, "jquery": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", @@ -1198,7 +1222,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -1450,9 +1473,9 @@ } }, "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" }, "relateurl": { "version": "0.2.7", @@ -1673,7 +1696,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } diff --git a/package.json b/package.json index 6802a8d..5201ba5 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,14 @@ "author": "", "license": "ISC", "dependencies": { - "@ungap/url-search-params": "^0.1.4", + "@ungap/url-search-params": "^0.2.0", "bootstrap": "^4.5.0", - "ejs": "^2.6.1", + "ejs": "^3.1.3", "ejs-render-remote": "^1.0.13", "es6-promise": "^4.2.6", - "i18next": "^15.0.9", - "i18next-browser-languagedetector": "^3.0.1", - "i18next-xhr-backend": "^2.0.1", + "i18next": "^19.4.5", + "i18next-browser-languagedetector": "^4.2.0", + "i18next-xhr-backend": "^3.2.2", "jquery": "^3.5.1", "page": "^1.11.6", "pnotify": "^4.0.1",