header-generator 2.1.8 → 2.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/data_files/browser-helper-file.json +1 -0
  2. package/dist/data_files/header-network-definition.zip +0 -0
  3. package/dist/data_files/input-network-definition.zip +0 -0
  4. package/dist/package.json +45 -0
  5. package/{tsconfig.build.tsbuildinfo → dist/tsconfig.build.tsbuildinfo} +1 -1
  6. package/package.json +11 -12
  7. package/src/constants.ts +28 -0
  8. package/src/data_files/browser-helper-file.json +1 -0
  9. package/src/data_files/header-network-definition.zip +0 -0
  10. package/src/data_files/headers-order.json +124 -0
  11. package/src/data_files/input-network-definition.zip +0 -0
  12. package/src/header-generator.ts +481 -0
  13. package/src/index.ts +2 -0
  14. package/src/presets.ts +59 -0
  15. package/src/utils.ts +91 -0
  16. package/tsconfig.build.json +7 -0
  17. package/tsconfig.json +4 -0
  18. package/data_files/browser-helper-file.json +0 -1
  19. package/data_files/header-network-definition.zip +0 -0
  20. package/data_files/input-network-definition.zip +0 -0
  21. /package/{LICENSE.md → dist/LICENSE.md} +0 -0
  22. /package/{README.md → dist/README.md} +0 -0
  23. /package/{constants.d.ts → dist/constants.d.ts} +0 -0
  24. /package/{constants.d.ts.map → dist/constants.d.ts.map} +0 -0
  25. /package/{constants.js → dist/constants.js} +0 -0
  26. /package/{constants.js.map → dist/constants.js.map} +0 -0
  27. /package/{data_files → dist/data_files}/headers-order.json +0 -0
  28. /package/{header-generator.d.ts → dist/header-generator.d.ts} +0 -0
  29. /package/{header-generator.d.ts.map → dist/header-generator.d.ts.map} +0 -0
  30. /package/{header-generator.js → dist/header-generator.js} +0 -0
  31. /package/{header-generator.js.map → dist/header-generator.js.map} +0 -0
  32. /package/{index.d.ts → dist/index.d.ts} +0 -0
  33. /package/{index.d.ts.map → dist/index.d.ts.map} +0 -0
  34. /package/{index.js → dist/index.js} +0 -0
  35. /package/{index.js.map → dist/index.js.map} +0 -0
  36. /package/{index.mjs → dist/index.mjs} +0 -0
  37. /package/{presets.d.ts → dist/presets.d.ts} +0 -0
  38. /package/{presets.d.ts.map → dist/presets.d.ts.map} +0 -0
  39. /package/{presets.js → dist/presets.js} +0 -0
  40. /package/{presets.js.map → dist/presets.js.map} +0 -0
  41. /package/{utils.d.ts → dist/utils.d.ts} +0 -0
  42. /package/{utils.d.ts.map → dist/utils.d.ts.map} +0 -0
  43. /package/{utils.js → dist/utils.js} +0 -0
  44. /package/{utils.js.map → dist/utils.js.map} +0 -0
@@ -0,0 +1 @@
1
+ ["edge/109.0.1518.70|2","edge/109.0.1518.78|2","safari/604.1|1","chrome/110.0.0.0|2","chrome/110.0.5481.77|2","chrome/109.0.0.0|2","edge/110.0.1587.41|2","*MISSING_VALUE*|1","chrome/107.0.0.0|1","chrome/109.0.0.0|1","chrome/79.0.3945.130|2","chrome/72.0.3626.121|2","chrome/110.0.0.0|1","chrome/108.0.0.0|2","chrome/102.0.5005.125|1","chrome/100.0.4896.127|2","chrome/80.0.3987.122|2","chrome/88.0.4324.150|1","chrome/80.0.3987.116|2","firefox/109.0|2","safari/604.1|2","firefox/110.0|2","safari/605.1.15|2","chrome/103.0.0.0|2","edge/108.0.1462.77|2","chrome/83.0.4103.116|2","firefox/102.0|2","chrome/106.0.0.0|2","firefox/109.0|1","safari/534.30|2","chrome/90.0.4430.210|2","*MISSING_VALUE*|2","chrome/92.0.4515.107|2","chrome/109.0.5414.117|2","edge/108.0.1462.54|2","firefox/111.0|2","firefox/106.0|2","chrome/107.0.0.0|2","chrome/80.0.3987.99|2","chrome/91.0.4472.114|2","chrome/104.0.0.0|2","chrome/75.0.3770.142|2","chrome/91.0.4472.120|2","firefox/107.0|2","chrome/112.0.0.0|2","chrome/103.0.5060.134|2","edge/109.0.1518.80|2","chrome/107.0.5304.141|2","chrome/94.0.4606.85|2","chrome/90.0.4430.212|2","chrome/109.0.5414.120|2","chrome/102.0.5005.125|2","chrome/102.0.0.0|2","firefox/108.0|2","chrome/98.0.4758.101|2","chrome/91.0.4472.164|2","edge/111.0.0.0|2","chrome/93.0.4577.82|2","edge/111.0.1660.9|2","firefox/72.0|2","chrome/86.0.4239.0|2","chrome/89.0.4389.82|2","chrome/94.0.4606.71|2","chrome/99.0.4844.88|2","edge/108.0.1462.76|2","chrome/111.0.0.0|2","chrome/108.0.0.0|1","chrome/101.0.0.0|2","chrome/100.0.4861.0|2","chrome/96.0.4664.104|2","chrome/107.0.4664.104|2","edge/111.0.1660.7|2","edge/110.0.0.0|2","edge/109.0.1518.52|2","edge/109.0.1518.78|1","chrome/108.0.5351.0|2","edge/110.0.1587.40|2","chrome/93.0.4577.63|2","edge/106.0.1370.52|2","chrome/96.0.4664.45|2","chrome/99.0.4844.51|2","chrome/108.0.5163.147|2","edge/108.0.1462.46|2","chrome/101.0.4951.26|2","chrome/100.0.4896.60|2","chrome/110.0.5478.0|2","chrome/105.0.0.0|2","chrome/77.0.3865.90|2","firefox/31.0|2","firefox/67.0|2","chrome/95.0.4638.69|2","firefox/87.0|2","chrome/92.0.4515.159|2","chrome/97.0.4692.98|2","chrome/108.0.5359.128|2","chrome/101.0.4951.15|2"]
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "header-generator",
3
+ "version": "2.1.12",
4
+ "description": "NodeJS package for generating realistic browser-like HTTP headers.",
5
+ "author": {
6
+ "name": "Apify",
7
+ "email": "support@apify.com",
8
+ "url": "https://apify.com"
9
+ },
10
+ "homepage": "https://github.com/apify/fingeprint-suite",
11
+ "license": "Apache-2.0",
12
+ "engines": {
13
+ "node": ">=16.0.0"
14
+ },
15
+ "main": "index.js",
16
+ "module": "index.mjs",
17
+ "types": "index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "import": "./index.mjs",
21
+ "require": "./index.js",
22
+ "types": "./index.d.ts"
23
+ }
24
+ },
25
+ "dependencies": {
26
+ "browserslist": "^4.21.1",
27
+ "generative-bayesian-network": "^2.1.10",
28
+ "ow": "^0.28.1",
29
+ "tslib": "^2.4.0"
30
+ },
31
+ "scripts": {
32
+ "build": "npm run clean && npm run compile",
33
+ "postbuild": "cp -r src/data_files/ && cp ../../README.md ",
34
+ "clean": "rimraf ./dist",
35
+ "compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./index.js ./index.mjs",
36
+ "copy": "ts-node -T ../../scripts/copy.ts"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/apify/header-generator/issues"
40
+ },
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "git+https://github.com/apify/header-generator.git"
44
+ }
45
+ }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/constants.ts","../../generative-bayesian-network/dist/bayesian-network.d.ts","../../generative-bayesian-network/dist/utils.d.ts","../../generative-bayesian-network/dist/index.d.ts","../../../node_modules/ow/dist/predicates/base-predicate.d.ts","../../../node_modules/ow/dist/predicates/predicate.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/ow/dist/typed-array.d.ts","../../../node_modules/ow/dist/predicates/string.d.ts","../../../node_modules/ow/dist/predicates/number.d.ts","../../../node_modules/ow/dist/predicates/bigint.d.ts","../../../node_modules/ow/dist/predicates/boolean.d.ts","../../../node_modules/ow/dist/predicates/array.d.ts","../../../node_modules/ow/dist/utils/match-shape.d.ts","../../../node_modules/ow/dist/predicates/object.d.ts","../../../node_modules/ow/dist/predicates/date.d.ts","../../../node_modules/ow/dist/predicates/error.d.ts","../../../node_modules/ow/dist/predicates/map.d.ts","../../../node_modules/ow/dist/predicates/weak-map.d.ts","../../../node_modules/ow/dist/predicates/set.d.ts","../../../node_modules/ow/dist/predicates/weak-set.d.ts","../../../node_modules/ow/dist/predicates/typed-array.d.ts","../../../node_modules/ow/dist/predicates/array-buffer.d.ts","../../../node_modules/ow/dist/predicates/data-view.d.ts","../../../node_modules/ow/dist/predicates/any.d.ts","../../../node_modules/ow/dist/predicates.d.ts","../../../node_modules/ow/dist/modifiers.d.ts","../../../node_modules/ow/dist/argument-error.d.ts","../../../node_modules/ow/dist/index.d.ts","../../../node_modules/browserslist/index.d.ts","../src/utils.ts","../src/header-generator.ts","../src/presets.ts","../src/index.ts","../../../node_modules/@types/adm-zip/util.d.ts","../../../node_modules/@types/adm-zip/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/puppeteer/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/useragent/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"5fc457c26e06846ba2378f52c9e2ef2999f624c56359019dabf6ba4b32b12497","signature":"f2bd2ac923e340878bbaf38d32e41be19dcfcf723c667933d67c31b4057128a8"},"a2f82b147c67d6846fac7e793680c5ff72359aad5f67f2a984d3cc42dc70d794","0e6dde5846f4d53f9873a91fbb83b8c3049aac418a5abd727ad4cfbb6138dcdd","934a05c5812223d19c2b2104f3d4ce35ab7cc0b135892b6eac12d82c5269c33a","7664bc39c9085e161f5f6f8f647ceffe26418a98a3f2a4c381fdc755be4b9e64","2cfbeb3885b75d97160fee31a23f4e5d1508cb2af1ce34ad98741b38a4b253b9","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","b2dfd89e02ac598aae6dec025ed75316412de59423e7a2345b951d33d72f4581","acf43834501c92da619d35679372c53d08a135fce5de10cc04e2f54c07134ae1","bc8f5e3c72bcb2e68e2feb272c8312b81fd0ba7417e2993eb569aa9aba05661d","ef275855066eb67627a2e8e388226fd510824d27d2a8f5555251fe096a9def3e","3b8ab6d861339b4c45682219429441534c00abd7f23fc0714e9326213669d35a","74ff64ddbb6c72565b2ffc98652f78c3895cc40c8264ed0881ec1221e759de18","83cf78cb96cbe2cf84d7acbb777345919e79d1357bf051bd5c1da1e7d85b755a","40c1a3ed908790d2d173914c88721ea4182cac8a6b1e5e13ef268a82404828c4","8b27c6ae71f8849874f800e49d14a98c92bb0ae54e0a79d6ae617063ba2a6e5c","ce6fbdceac62521a6f474355eb2a0b85446f7dd7437ce59eed9ac9ced059d4a0","466e0434af11422a1621060ca2745a4b94067076065b6e0c0aeb874c6eaa9a63","2b1177d4681eade2485edf0433bcd0037fbd2a7e6851c9fa7d3285056d30193e","323c2d2acc276d554fff791a55433159d117aa9662ac861090a2426fa1d01ab2","ecb626a33e299fc633fdab872d726f7de7abe01e7dade946a7d0b2572854aa0a","a5f9d6671ab55c6acf3117c592a5d84b46254d3f15cc66de0a308b2633b0cf75","9de2b351d62216e6b894c2e8ccb9b1a44ba320afca185d071ae1e63e608b8d8d","6a1a11860069ab718960e14c936567b39e4c66d8e650e94ba4d8da60415f0a33","84f576c5d9942a70efa2b4d14c8a805134f0bb3364535964b6d9eddf94219408","63d143c76b01b5bf6f591dba553cd0840b1d528200c89d5c4acc6e9fb237eeb5","cf49d08267c66f93e5e86e2e0137f85220e525f57fa93da5b3510dae11e6ba6d","0f988bd62f9188817239c3f2793995f642aa24f6e676296777e817fae7e8a5e3","6e2ea43283fbf89bc6c98a3171a817f3163b9fb77ef16411c7f44b72e25e3bfe",{"version":"45f5b8f72fc0a42e0e0cdde1390334d5e752a6d0be6ad6a84283fe9f7eeed87c","affectsGlobalScope":true},{"version":"e4982797f54beb9680b644655c6dd4c4a48688dffb634970209f6b10072418c0","signature":"f34255c43f2fd558c090437165dd8dabfab9ac5aeb7d4cf8f1d1a040c421221a"},{"version":"356ee0ff262d74f7f56847c3733c21c1a1c5b508270207347a082a53bb7f0127","signature":"3b3ee494d1712287d6befa02a1574ca9b39527dd16d88105e247702fe584b048"},{"version":"9b059a32ce37dbec06cd81c1e4499eb604b55624d39a83455e76cb59c39005a9","signature":"e15bb1842f43487e53a7fa286108062683b79605a8598de32cb1932484d92aa8"},"5425d93619916e17da6fd90ecddb6eecee916eba9d2f4aed281b2e874a3c119e","0e0b0baaf6e3845418c2741c9b47478cf6fc086ef8dd5ad4b9ab91499e51de28","ca6e8a62a3e4f5cc3fea6ab45c2e5e128db4d90d81d70547a65047e3f13996f1","f4617bbd5403ec5b058db53b242dcb1421952e2652bd5c80abf6a1c4ea5656d6","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","230d323ef7f2ffadfc0ceae494492c4d2faa2b4eaec07a4b71424d084b97ebb8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","331dd4fb49f27df3e88bcd1361a063de1e9bcc7d463d6dc386b0c0d690c1a66f","bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","3898e3dbe94b6fe529fbe8f0faee1309c1923100516d7a014b301955e52ece77","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","d81d85c49cb39a0cbe2ba467864076c88675a883be767a08b0595bf4cdf4eeda","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","48220b3395376205a0938f3f23c363a1084e86534caaec82b885efb1e0407408","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","b7b0003c5404c9cae2d7caf5d6b469b190cea06cce7815ba0e479a4457875290","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"importsNotUsedAsValues":0,"module":1,"newLine":1,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","preserveConstEnums":true,"removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[106,143],[106],[79,106,113,141],[106,143,144,145,146,147],[106,143,145],[79,106,113],[106,150],[106,151],[106,156,161],[81,105,106,113,167,168],[63,106],[66,106],[67,72,106],[68,78,79,86,95,105,106],[68,69,78,86,106],[70,106],[71,72,79,87,106],[72,95,102,106],[73,75,78,86,106],[74,106],[75,76,106],[77,78,106],[78,106],[78,79,80,95,105,106],[78,79,80,95,106],[106,110],[81,86,95,105,106],[78,79,81,82,86,95,102,105,106],[81,83,95,102,105,106],[63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],[78,84,106],[85,105,106],[75,78,86,95,106],[87,106],[88,106],[66,89,106],[90,104,106,110],[91,106],[92,106],[78,93,106],[93,94,106,108],[78,95,96,97,106],[95,97,106],[95,96,106],[98,106],[99,106],[78,100,101,106],[100,101,106],[72,86,95,102,106],[103,106],[86,104,106],[67,81,92,105,106],[72,106],[95,106,107],[106,108],[106,109],[67,72,78,80,89,95,105,106,108,110],[95,106,111],[68,106,113],[106,174,213],[106,174,198,213],[106,213],[106,174],[106,174,199,213],[106,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[106,199,213],[106,216],[78,95,106,113],[81,95,106,113],[106,154,157],[106,154,157,158,159],[106,156],[106,153,160],[61,62,106,132,133,134],[106,132,135],[61,62,106,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131],[61,62,106,135],[62,106],[61,62,106],[106,135],[61,62,106,120],[61,106,135],[62,106,114],[106,155],[58,59,106],[58,106],[56,106],[56,57,60,79,106,135,137],[56,106,138,139],[56,57,106,136,138],[57,135],[138]],"referencedMap":[[145,1],[143,2],[142,3],[141,2],[148,4],[144,1],[146,5],[147,1],[149,6],[150,2],[151,7],[152,8],[162,9],[163,2],[164,2],[165,2],[166,2],[168,2],[169,10],[63,11],[64,11],[66,12],[67,13],[68,14],[69,15],[70,16],[71,17],[72,18],[73,19],[74,20],[75,21],[76,21],[77,22],[78,23],[79,24],[80,25],[65,26],[112,2],[81,27],[82,28],[83,29],[113,30],[84,31],[85,32],[86,33],[87,34],[88,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[97,43],[96,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[170,2],[171,2],[172,2],[173,59],[198,60],[199,61],[174,62],[177,62],[196,60],[197,60],[187,60],[186,63],[184,60],[179,60],[192,60],[190,60],[194,60],[178,60],[191,60],[195,60],[180,60],[181,60],[193,60],[175,60],[182,60],[183,60],[185,60],[189,60],[200,64],[188,60],[176,60],[213,65],[212,2],[207,64],[209,66],[208,64],[201,64],[202,64],[204,64],[206,64],[210,66],[211,66],[203,66],[205,66],[214,2],[215,2],[216,2],[217,67],[218,68],[136,2],[153,2],[167,69],[154,2],[158,70],[160,71],[159,70],[157,72],[161,73],[134,2],[135,74],[133,75],[132,76],[131,77],[129,78],[119,79],[61,80],[117,78],[118,78],[130,78],[122,78],[123,78],[124,78],[116,78],[121,81],[62,82],[126,78],[115,78],[128,83],[125,78],[127,78],[114,2],[120,80],[156,84],[155,2],[56,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[58,2],[60,85],[59,86],[57,87],[138,88],[140,89],[139,87],[137,90]],"exportedModulesMap":[[145,1],[143,2],[142,3],[141,2],[148,4],[144,1],[146,5],[147,1],[149,6],[150,2],[151,7],[152,8],[162,9],[163,2],[164,2],[165,2],[166,2],[168,2],[169,10],[63,11],[64,11],[66,12],[67,13],[68,14],[69,15],[70,16],[71,17],[72,18],[73,19],[74,20],[75,21],[76,21],[77,22],[78,23],[79,24],[80,25],[65,26],[112,2],[81,27],[82,28],[83,29],[113,30],[84,31],[85,32],[86,33],[87,34],[88,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[97,43],[96,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[170,2],[171,2],[172,2],[173,59],[198,60],[199,61],[174,62],[177,62],[196,60],[197,60],[187,60],[186,63],[184,60],[179,60],[192,60],[190,60],[194,60],[178,60],[191,60],[195,60],[180,60],[181,60],[193,60],[175,60],[182,60],[183,60],[185,60],[189,60],[200,64],[188,60],[176,60],[213,65],[212,2],[207,64],[209,66],[208,64],[201,64],[202,64],[204,64],[206,64],[210,66],[211,66],[203,66],[205,66],[214,2],[215,2],[216,2],[217,67],[218,68],[136,2],[153,2],[167,69],[154,2],[158,70],[160,71],[159,70],[157,72],[161,73],[134,2],[135,74],[133,75],[132,76],[131,77],[129,78],[119,79],[61,80],[117,78],[118,78],[130,78],[122,78],[123,78],[124,78],[116,78],[121,81],[62,82],[126,78],[115,78],[128,83],[125,78],[127,78],[114,2],[120,80],[156,84],[155,2],[56,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[58,2],[60,85],[59,86],[138,91],[140,89],[137,92]],"semanticDiagnosticsPerFile":[145,143,142,141,148,144,146,147,149,150,151,152,162,163,164,165,166,168,169,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,65,112,81,82,83,113,84,85,86,87,88,89,90,91,92,93,94,95,97,96,98,99,100,101,102,103,104,105,106,107,108,109,110,111,170,171,172,173,198,199,174,177,196,197,187,186,184,179,192,190,194,178,191,195,180,181,193,175,182,183,185,189,200,188,176,213,212,207,209,208,201,202,204,206,210,211,203,205,214,215,216,217,218,136,153,167,154,158,160,159,157,161,134,135,133,132,131,129,119,61,117,118,130,122,123,124,116,121,62,126,115,128,125,127,114,120,156,155,56,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,58,60,59,57,138,140,139,137]},"version":"4.9.4"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/constants.ts","../../generative-bayesian-network/dist/bayesian-network.d.ts","../../generative-bayesian-network/dist/utils.d.ts","../../generative-bayesian-network/dist/index.d.ts","../../../node_modules/ow/dist/predicates/base-predicate.d.ts","../../../node_modules/ow/dist/predicates/predicate.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/ow/dist/typed-array.d.ts","../../../node_modules/ow/dist/predicates/string.d.ts","../../../node_modules/ow/dist/predicates/number.d.ts","../../../node_modules/ow/dist/predicates/bigint.d.ts","../../../node_modules/ow/dist/predicates/boolean.d.ts","../../../node_modules/ow/dist/predicates/array.d.ts","../../../node_modules/ow/dist/utils/match-shape.d.ts","../../../node_modules/ow/dist/predicates/object.d.ts","../../../node_modules/ow/dist/predicates/date.d.ts","../../../node_modules/ow/dist/predicates/error.d.ts","../../../node_modules/ow/dist/predicates/map.d.ts","../../../node_modules/ow/dist/predicates/weak-map.d.ts","../../../node_modules/ow/dist/predicates/set.d.ts","../../../node_modules/ow/dist/predicates/weak-set.d.ts","../../../node_modules/ow/dist/predicates/typed-array.d.ts","../../../node_modules/ow/dist/predicates/array-buffer.d.ts","../../../node_modules/ow/dist/predicates/data-view.d.ts","../../../node_modules/ow/dist/predicates/any.d.ts","../../../node_modules/ow/dist/predicates.d.ts","../../../node_modules/ow/dist/modifiers.d.ts","../../../node_modules/ow/dist/argument-error.d.ts","../../../node_modules/ow/dist/index.d.ts","../../../node_modules/browserslist/index.d.ts","../src/utils.ts","../src/header-generator.ts","../src/presets.ts","../src/index.ts","../../../node_modules/@types/adm-zip/util.d.ts","../../../node_modules/@types/adm-zip/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/puppeteer/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/useragent/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"f1c9fe42b65437a61104e601eb298c5c859fb522b483f1bdb700eed67a16f980",{"version":"5fc457c26e06846ba2378f52c9e2ef2999f624c56359019dabf6ba4b32b12497","signature":"f2bd2ac923e340878bbaf38d32e41be19dcfcf723c667933d67c31b4057128a8"},"a2f82b147c67d6846fac7e793680c5ff72359aad5f67f2a984d3cc42dc70d794","0e6dde5846f4d53f9873a91fbb83b8c3049aac418a5abd727ad4cfbb6138dcdd","934a05c5812223d19c2b2104f3d4ce35ab7cc0b135892b6eac12d82c5269c33a","7664bc39c9085e161f5f6f8f647ceffe26418a98a3f2a4c381fdc755be4b9e64","2cfbeb3885b75d97160fee31a23f4e5d1508cb2af1ce34ad98741b38a4b253b9","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","b2dfd89e02ac598aae6dec025ed75316412de59423e7a2345b951d33d72f4581","acf43834501c92da619d35679372c53d08a135fce5de10cc04e2f54c07134ae1","bc8f5e3c72bcb2e68e2feb272c8312b81fd0ba7417e2993eb569aa9aba05661d","ef275855066eb67627a2e8e388226fd510824d27d2a8f5555251fe096a9def3e","3b8ab6d861339b4c45682219429441534c00abd7f23fc0714e9326213669d35a","74ff64ddbb6c72565b2ffc98652f78c3895cc40c8264ed0881ec1221e759de18","83cf78cb96cbe2cf84d7acbb777345919e79d1357bf051bd5c1da1e7d85b755a","40c1a3ed908790d2d173914c88721ea4182cac8a6b1e5e13ef268a82404828c4","8b27c6ae71f8849874f800e49d14a98c92bb0ae54e0a79d6ae617063ba2a6e5c","ce6fbdceac62521a6f474355eb2a0b85446f7dd7437ce59eed9ac9ced059d4a0","466e0434af11422a1621060ca2745a4b94067076065b6e0c0aeb874c6eaa9a63","2b1177d4681eade2485edf0433bcd0037fbd2a7e6851c9fa7d3285056d30193e","323c2d2acc276d554fff791a55433159d117aa9662ac861090a2426fa1d01ab2","ecb626a33e299fc633fdab872d726f7de7abe01e7dade946a7d0b2572854aa0a","a5f9d6671ab55c6acf3117c592a5d84b46254d3f15cc66de0a308b2633b0cf75","9de2b351d62216e6b894c2e8ccb9b1a44ba320afca185d071ae1e63e608b8d8d","6a1a11860069ab718960e14c936567b39e4c66d8e650e94ba4d8da60415f0a33","84f576c5d9942a70efa2b4d14c8a805134f0bb3364535964b6d9eddf94219408","63d143c76b01b5bf6f591dba553cd0840b1d528200c89d5c4acc6e9fb237eeb5","cf49d08267c66f93e5e86e2e0137f85220e525f57fa93da5b3510dae11e6ba6d","0f988bd62f9188817239c3f2793995f642aa24f6e676296777e817fae7e8a5e3","6e2ea43283fbf89bc6c98a3171a817f3163b9fb77ef16411c7f44b72e25e3bfe",{"version":"45f5b8f72fc0a42e0e0cdde1390334d5e752a6d0be6ad6a84283fe9f7eeed87c","affectsGlobalScope":true},{"version":"e4982797f54beb9680b644655c6dd4c4a48688dffb634970209f6b10072418c0","signature":"f34255c43f2fd558c090437165dd8dabfab9ac5aeb7d4cf8f1d1a040c421221a"},{"version":"356ee0ff262d74f7f56847c3733c21c1a1c5b508270207347a082a53bb7f0127","signature":"3b3ee494d1712287d6befa02a1574ca9b39527dd16d88105e247702fe584b048"},{"version":"9b059a32ce37dbec06cd81c1e4499eb604b55624d39a83455e76cb59c39005a9","signature":"e15bb1842f43487e53a7fa286108062683b79605a8598de32cb1932484d92aa8"},"5425d93619916e17da6fd90ecddb6eecee916eba9d2f4aed281b2e874a3c119e","0e0b0baaf6e3845418c2741c9b47478cf6fc086ef8dd5ad4b9ab91499e51de28","ca6e8a62a3e4f5cc3fea6ab45c2e5e128db4d90d81d70547a65047e3f13996f1","e5b5f7e524f2619d48c5700a0a545864dee0555dc587c3d96c7cc40ddaf6aa8f","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","b6ddf3a46ccfa4441d8be84d2e9bf3087573c48804196faedbd4a25b60631beb","bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","3898e3dbe94b6fe529fbe8f0faee1309c1923100516d7a014b301955e52ece77","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","d81d85c49cb39a0cbe2ba467864076c88675a883be767a08b0595bf4cdf4eeda","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","48220b3395376205a0938f3f23c363a1084e86534caaec82b885efb1e0407408","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","ae84439d1ae42b30ced3df38c4285f35b805be40dfc95b0647d0e59c70b11f97","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"importsNotUsedAsValues":0,"module":1,"newLine":1,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","preserveConstEnums":true,"removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[106,143],[106],[79,106,113,141],[106,143,144,145,146,147],[106,143,145],[79,106,113],[106,150],[106,151],[106,156,161],[81,105,106,113,167,168],[63,106],[66,106],[67,72,106],[68,78,79,86,95,105,106],[68,69,78,86,106],[70,106],[71,72,79,87,106],[72,95,102,106],[73,75,78,86,106],[74,106],[75,76,106],[77,78,106],[78,106],[78,79,80,95,105,106],[78,79,80,95,106],[106,110],[81,86,95,105,106],[78,79,81,82,86,95,102,105,106],[81,83,95,102,105,106],[63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],[78,84,106],[85,105,106],[75,78,86,95,106],[87,106],[88,106],[66,89,106],[90,104,106,110],[91,106],[92,106],[78,93,106],[93,94,106,108],[78,95,96,97,106],[95,97,106],[95,96,106],[98,106],[99,106],[78,100,101,106],[100,101,106],[72,86,95,102,106],[103,106],[86,104,106],[67,81,92,105,106],[72,106],[95,106,107],[106,108],[106,109],[67,72,78,80,89,95,105,106,108,110],[95,106,111],[68,106,113],[106,174,213],[106,174,198,213],[106,213],[106,174],[106,174,199,213],[106,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[106,199,213],[106,216],[78,95,106,113],[81,95,106,113],[106,154,157],[106,154,157,158,159],[106,156],[106,153,160],[61,62,106,132,133,134],[106,132,135],[61,62,106,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131],[61,62,106,135],[62,106],[61,62,106],[106,135],[61,62,106,120],[61,106,135],[62,106,114],[106,155],[58,59,106],[58,106],[56,106],[56,57,60,79,106,135,137],[56,106,138,139],[56,57,106,136,138],[57,135],[138]],"referencedMap":[[145,1],[143,2],[142,3],[141,2],[148,4],[144,1],[146,5],[147,1],[149,6],[150,2],[151,7],[152,8],[162,9],[163,2],[164,2],[165,2],[166,2],[168,2],[169,10],[63,11],[64,11],[66,12],[67,13],[68,14],[69,15],[70,16],[71,17],[72,18],[73,19],[74,20],[75,21],[76,21],[77,22],[78,23],[79,24],[80,25],[65,26],[112,2],[81,27],[82,28],[83,29],[113,30],[84,31],[85,32],[86,33],[87,34],[88,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[97,43],[96,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[170,2],[171,2],[172,2],[173,59],[198,60],[199,61],[174,62],[177,62],[196,60],[197,60],[187,60],[186,63],[184,60],[179,60],[192,60],[190,60],[194,60],[178,60],[191,60],[195,60],[180,60],[181,60],[193,60],[175,60],[182,60],[183,60],[185,60],[189,60],[200,64],[188,60],[176,60],[213,65],[212,2],[207,64],[209,66],[208,64],[201,64],[202,64],[204,64],[206,64],[210,66],[211,66],[203,66],[205,66],[214,2],[215,2],[216,2],[217,67],[218,68],[136,2],[153,2],[167,69],[154,2],[158,70],[160,71],[159,70],[157,72],[161,73],[134,2],[135,74],[133,75],[132,76],[131,77],[129,78],[119,79],[61,80],[117,78],[118,78],[130,78],[122,78],[123,78],[124,78],[116,78],[121,81],[62,82],[126,78],[115,78],[128,83],[125,78],[127,78],[114,2],[120,80],[156,84],[155,2],[56,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[58,2],[60,85],[59,86],[57,87],[138,88],[140,89],[139,87],[137,90]],"exportedModulesMap":[[145,1],[143,2],[142,3],[141,2],[148,4],[144,1],[146,5],[147,1],[149,6],[150,2],[151,7],[152,8],[162,9],[163,2],[164,2],[165,2],[166,2],[168,2],[169,10],[63,11],[64,11],[66,12],[67,13],[68,14],[69,15],[70,16],[71,17],[72,18],[73,19],[74,20],[75,21],[76,21],[77,22],[78,23],[79,24],[80,25],[65,26],[112,2],[81,27],[82,28],[83,29],[113,30],[84,31],[85,32],[86,33],[87,34],[88,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[97,43],[96,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[170,2],[171,2],[172,2],[173,59],[198,60],[199,61],[174,62],[177,62],[196,60],[197,60],[187,60],[186,63],[184,60],[179,60],[192,60],[190,60],[194,60],[178,60],[191,60],[195,60],[180,60],[181,60],[193,60],[175,60],[182,60],[183,60],[185,60],[189,60],[200,64],[188,60],[176,60],[213,65],[212,2],[207,64],[209,66],[208,64],[201,64],[202,64],[204,64],[206,64],[210,66],[211,66],[203,66],[205,66],[214,2],[215,2],[216,2],[217,67],[218,68],[136,2],[153,2],[167,69],[154,2],[158,70],[160,71],[159,70],[157,72],[161,73],[134,2],[135,74],[133,75],[132,76],[131,77],[129,78],[119,79],[61,80],[117,78],[118,78],[130,78],[122,78],[123,78],[124,78],[116,78],[121,81],[62,82],[126,78],[115,78],[128,83],[125,78],[127,78],[114,2],[120,80],[156,84],[155,2],[56,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[58,2],[60,85],[59,86],[138,91],[140,89],[137,92]],"semanticDiagnosticsPerFile":[145,143,142,141,148,144,146,147,149,150,151,152,162,163,164,165,166,168,169,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,65,112,81,82,83,113,84,85,86,87,88,89,90,91,92,93,94,95,97,96,98,99,100,101,102,103,104,105,106,107,108,109,110,111,170,171,172,173,198,199,174,177,196,197,187,186,184,179,192,190,194,178,191,195,180,181,193,175,182,183,185,189,200,188,176,213,212,207,209,208,201,202,204,206,210,211,203,205,214,215,216,217,218,136,153,167,154,158,160,159,157,161,134,135,133,132,131,129,119,61,117,118,130,122,123,124,116,121,62,126,115,128,125,127,114,120,156,155,56,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,58,60,59,57,138,140,139,137]},"version":"4.9.5"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "header-generator",
3
- "version": "2.1.8",
3
+ "version": "2.1.12",
4
4
  "description": "NodeJS package for generating realistic browser-like HTTP headers.",
5
5
  "author": {
6
6
  "name": "Apify",
@@ -12,27 +12,27 @@
12
12
  "engines": {
13
13
  "node": ">=16.0.0"
14
14
  },
15
- "main": "index.js",
16
- "module": "index.mjs",
17
- "types": "index.d.ts",
15
+ "main": "dist/index.js",
16
+ "module": "dist/index.mjs",
17
+ "types": "dist/index.d.ts",
18
18
  "exports": {
19
19
  ".": {
20
- "import": "./index.mjs",
21
- "require": "./index.js",
22
- "types": "./index.d.ts"
20
+ "import": "./dist/index.mjs",
21
+ "require": "./dist/index.js",
22
+ "types": "./dist/index.d.ts"
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
26
  "browserslist": "^4.21.1",
27
- "generative-bayesian-network": "^2.1.8",
27
+ "generative-bayesian-network": "^2.1.10",
28
28
  "ow": "^0.28.1",
29
29
  "tslib": "^2.4.0"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "npm run clean && npm run compile",
33
- "postbuild": "cp -r src/data_files/ && cp ../../README.md ",
33
+ "postbuild": "cp -r src/data_files/ dist/ && cp ../../README.md dist/",
34
34
  "clean": "rimraf ./dist",
35
- "compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./index.js ./index.mjs",
35
+ "compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./dist/index.js ./dist/index.mjs",
36
36
  "copy": "ts-node -T ../../scripts/copy.ts"
37
37
  },
38
38
  "bugs": {
@@ -41,6 +41,5 @@
41
41
  "repository": {
42
42
  "type": "git",
43
43
  "url": "git+https://github.com/apify/header-generator.git"
44
- },
45
- "gitHead": "2f5842dc0b652f245a3be3073767e9a8669afae9"
44
+ }
46
45
  }
@@ -0,0 +1,28 @@
1
+ export const SUPPORTED_BROWSERS = [
2
+ 'chrome',
3
+ 'firefox',
4
+ 'safari',
5
+ 'edge',
6
+ ] as const;
7
+ export const SUPPORTED_OPERATING_SYSTEMS = ['windows', 'macos', 'linux', 'android', 'ios'] as const;
8
+ export const SUPPORTED_DEVICES = ['desktop', 'mobile'] as const;
9
+ export const SUPPORTED_HTTP_VERSIONS = ['1', '2'] as const;
10
+
11
+ export const BROWSER_HTTP_NODE_NAME = '*BROWSER_HTTP' as const;
12
+ export const OPERATING_SYSTEM_NODE_NAME = '*OPERATING_SYSTEM' as const;
13
+ export const DEVICE_NODE_NAME = '*DEVICE' as const;
14
+ export const MISSING_VALUE_DATASET_TOKEN = '*MISSING_VALUE*' as const;
15
+
16
+ export const HTTP1_SEC_FETCH_ATTRIBUTES = {
17
+ mode: 'Sec-Fetch-Mode',
18
+ dest: 'Sec-Fetch-Dest',
19
+ site: 'Sec-Fetch-Site',
20
+ user: 'Sec-Fetch-User',
21
+ } as const;
22
+
23
+ export const HTTP2_SEC_FETCH_ATTRIBUTES = {
24
+ mode: 'sec-fetch-mode',
25
+ dest: 'sec-fetch-dest',
26
+ site: 'sec-fetch-site',
27
+ user: 'sec-fetch-user',
28
+ } as const;
@@ -0,0 +1 @@
1
+ ["edge/109.0.1518.70|2","edge/109.0.1518.78|2","safari/604.1|1","chrome/110.0.0.0|2","chrome/110.0.5481.77|2","chrome/109.0.0.0|2","edge/110.0.1587.41|2","*MISSING_VALUE*|1","chrome/107.0.0.0|1","chrome/109.0.0.0|1","chrome/79.0.3945.130|2","chrome/72.0.3626.121|2","chrome/110.0.0.0|1","chrome/108.0.0.0|2","chrome/102.0.5005.125|1","chrome/100.0.4896.127|2","chrome/80.0.3987.122|2","chrome/88.0.4324.150|1","chrome/80.0.3987.116|2","firefox/109.0|2","safari/604.1|2","firefox/110.0|2","safari/605.1.15|2","chrome/103.0.0.0|2","edge/108.0.1462.77|2","chrome/83.0.4103.116|2","firefox/102.0|2","chrome/106.0.0.0|2","firefox/109.0|1","safari/534.30|2","chrome/90.0.4430.210|2","*MISSING_VALUE*|2","chrome/92.0.4515.107|2","chrome/109.0.5414.117|2","edge/108.0.1462.54|2","firefox/111.0|2","firefox/106.0|2","chrome/107.0.0.0|2","chrome/80.0.3987.99|2","chrome/91.0.4472.114|2","chrome/104.0.0.0|2","chrome/75.0.3770.142|2","chrome/91.0.4472.120|2","firefox/107.0|2","chrome/112.0.0.0|2","chrome/103.0.5060.134|2","edge/109.0.1518.80|2","chrome/107.0.5304.141|2","chrome/94.0.4606.85|2","chrome/90.0.4430.212|2","chrome/109.0.5414.120|2","chrome/102.0.5005.125|2","chrome/102.0.0.0|2","firefox/108.0|2","chrome/98.0.4758.101|2","chrome/91.0.4472.164|2","edge/111.0.0.0|2","chrome/93.0.4577.82|2","edge/111.0.1660.9|2","firefox/72.0|2","chrome/86.0.4239.0|2","chrome/89.0.4389.82|2","chrome/94.0.4606.71|2","chrome/99.0.4844.88|2","edge/108.0.1462.76|2","chrome/111.0.0.0|2","chrome/108.0.0.0|1","chrome/101.0.0.0|2","chrome/100.0.4861.0|2","chrome/96.0.4664.104|2","chrome/107.0.4664.104|2","edge/111.0.1660.7|2","edge/110.0.0.0|2","edge/109.0.1518.52|2","edge/109.0.1518.78|1","chrome/108.0.5351.0|2","edge/110.0.1587.40|2","chrome/93.0.4577.63|2","edge/106.0.1370.52|2","chrome/96.0.4664.45|2","chrome/99.0.4844.51|2","chrome/108.0.5163.147|2","edge/108.0.1462.46|2","chrome/101.0.4951.26|2","chrome/100.0.4896.60|2","chrome/110.0.5478.0|2","chrome/105.0.0.0|2","chrome/77.0.3865.90|2","firefox/31.0|2","firefox/67.0|2","chrome/95.0.4638.69|2","firefox/87.0|2","chrome/92.0.4515.159|2","chrome/97.0.4692.98|2","chrome/108.0.5359.128|2","chrome/101.0.4951.15|2"]
@@ -0,0 +1,124 @@
1
+ {
2
+ "safari": [
3
+ "cookie",
4
+ "Cookie",
5
+ "Connection",
6
+ "sec-ch-ua",
7
+ "sec-ch-ua-mobile",
8
+ "upgrade-insecure-requests",
9
+ "Upgrade-Insecure-Requests",
10
+ "accept",
11
+ "Accept",
12
+ "accept-encoding",
13
+ "Accept-Encoding",
14
+ "user-agent",
15
+ "User-Agent",
16
+ "accept-language",
17
+ "Accept-Language",
18
+ "referer",
19
+ "Referer",
20
+ "sec-fetch-site",
21
+ "sec-fetch-mode",
22
+ "sec-fetch-user",
23
+ "sec-fetch-dest",
24
+ "Sec-Fetch-Mode",
25
+ "Sec-Fetch-Dest",
26
+ "Sec-Fetch-Site",
27
+ "Sec-Fetch-User",
28
+ "dnt",
29
+ "DNT",
30
+ "te"
31
+ ],
32
+ "chrome": [
33
+ "Connection",
34
+ "sec-ch-ua",
35
+ "sec-ch-ua-mobile",
36
+ "sec-ch-ua-platform",
37
+ "upgrade-insecure-requests",
38
+ "Upgrade-Insecure-Requests",
39
+ "dnt",
40
+ "DNT",
41
+ "user-agent",
42
+ "User-Agent",
43
+ "accept",
44
+ "Accept",
45
+ "sec-fetch-site",
46
+ "sec-fetch-mode",
47
+ "sec-fetch-user",
48
+ "sec-fetch-dest",
49
+ "Sec-Fetch-Mode",
50
+ "Sec-Fetch-Dest",
51
+ "Sec-Fetch-Site",
52
+ "Sec-Fetch-User",
53
+ "referer",
54
+ "Referer",
55
+ "accept-encoding",
56
+ "Accept-Encoding",
57
+ "accept-language",
58
+ "Accept-Language",
59
+ "te",
60
+ "cookie",
61
+ "Cookie"
62
+ ],
63
+ "firefox": [
64
+ "sec-ch-ua",
65
+ "sec-ch-ua-mobile",
66
+ "user-agent",
67
+ "User-Agent",
68
+ "accept",
69
+ "Accept",
70
+ "accept-language",
71
+ "Accept-Language",
72
+ "accept-encoding",
73
+ "Accept-Encoding",
74
+ "dnt",
75
+ "DNT",
76
+ "referer",
77
+ "Referer",
78
+ "cookie",
79
+ "Cookie",
80
+ "Connection",
81
+ "upgrade-insecure-requests",
82
+ "Upgrade-Insecure-Requests",
83
+ "te",
84
+ "sec-fetch-site",
85
+ "sec-fetch-mode",
86
+ "sec-fetch-user",
87
+ "sec-fetch-dest",
88
+ "Sec-Fetch-Mode",
89
+ "Sec-Fetch-Dest",
90
+ "Sec-Fetch-Site",
91
+ "Sec-Fetch-User"
92
+ ],
93
+ "edge": [
94
+ "Connection",
95
+ "sec-ch-ua",
96
+ "sec-ch-ua-mobile",
97
+ "sec-ch-ua-platform",
98
+ "upgrade-insecure-requests",
99
+ "Upgrade-Insecure-Requests",
100
+ "dnt",
101
+ "DNT",
102
+ "user-agent",
103
+ "User-Agent",
104
+ "accept",
105
+ "Accept",
106
+ "sec-fetch-site",
107
+ "sec-fetch-mode",
108
+ "sec-fetch-user",
109
+ "sec-fetch-dest",
110
+ "Sec-Fetch-Mode",
111
+ "Sec-Fetch-Dest",
112
+ "Sec-Fetch-Site",
113
+ "Sec-Fetch-User",
114
+ "referer",
115
+ "Referer",
116
+ "accept-encoding",
117
+ "Accept-Encoding",
118
+ "accept-language",
119
+ "Accept-Language",
120
+ "cookie",
121
+ "Cookie",
122
+ "te"
123
+ ]
124
+ }
@@ -0,0 +1,481 @@
1
+ import { BayesianNetwork, utils } from 'generative-bayesian-network';
2
+ import ow from 'ow';
3
+ import { readFileSync } from 'fs';
4
+ import {
5
+ getBrowser,
6
+ getUserAgent,
7
+ getBrowsersFromQuery,
8
+ shuffleArray,
9
+ } from './utils';
10
+
11
+ import {
12
+ SUPPORTED_BROWSERS,
13
+ BROWSER_HTTP_NODE_NAME,
14
+ MISSING_VALUE_DATASET_TOKEN,
15
+ OPERATING_SYSTEM_NODE_NAME,
16
+ DEVICE_NODE_NAME,
17
+ SUPPORTED_OPERATING_SYSTEMS,
18
+ SUPPORTED_DEVICES,
19
+ SUPPORTED_HTTP_VERSIONS,
20
+ HTTP1_SEC_FETCH_ATTRIBUTES,
21
+ HTTP2_SEC_FETCH_ATTRIBUTES,
22
+ } from './constants';
23
+
24
+ const browserSpecificationShape = {
25
+ name: ow.string,
26
+ minVersion: ow.optional.number,
27
+ maxVersion: ow.optional.number,
28
+ httpVersion: ow.optional.string,
29
+ };
30
+
31
+ export const headerGeneratorOptionsShape = {
32
+ browsers: ow.optional.array.ofType(ow.any(ow.object.exactShape(browserSpecificationShape), ow.string.oneOf(SUPPORTED_BROWSERS))),
33
+ operatingSystems: ow.optional.array.ofType(ow.string.oneOf(SUPPORTED_OPERATING_SYSTEMS)),
34
+ devices: ow.optional.array.ofType(ow.string.oneOf(SUPPORTED_DEVICES)),
35
+ locales: ow.optional.array.ofType(ow.string),
36
+ httpVersion: ow.optional.string.oneOf(SUPPORTED_HTTP_VERSIONS),
37
+ browserListQuery: ow.optional.string,
38
+ };
39
+
40
+ /**
41
+ * String specifying the HTTP version to use.
42
+ */
43
+ export type HttpVersion = typeof SUPPORTED_HTTP_VERSIONS[number];
44
+
45
+ /**
46
+ * String specifying the device type to use.
47
+ */
48
+ export type Device = typeof SUPPORTED_DEVICES[number];
49
+
50
+ /**
51
+ * String specifying the operating system to use.
52
+ */
53
+ export type OperatingSystem = typeof SUPPORTED_OPERATING_SYSTEMS[number];
54
+
55
+ /**
56
+ * String specifying the browser to use.
57
+ */
58
+ export type BrowserName = typeof SUPPORTED_BROWSERS[number];
59
+
60
+ export interface BrowserSpecification {
61
+ /**
62
+ * String representing the browser name.
63
+ */
64
+ name: BrowserName;
65
+ /**
66
+ * Minimum version of browser used.
67
+ */
68
+ minVersion?: number;
69
+ /**
70
+ * Maximum version of browser used.
71
+ */
72
+ maxVersion?: number;
73
+ /**
74
+ * HTTP version to be used for header generation (the headers differ depending on the version).
75
+ * If not specified, the `httpVersion` specified in `HeaderGeneratorOptions` is used.
76
+ */
77
+ httpVersion?: HttpVersion;
78
+ }
79
+
80
+ export type BrowsersType = BrowserSpecification[] | BrowserName[];
81
+
82
+ /**
83
+ * Options for the `HeaderGenerator` class constructor.
84
+ */
85
+ export interface HeaderGeneratorOptions {
86
+ /**
87
+ * List of BrowserSpecifications to generate the headers for,
88
+ * or one of `chrome`, `edge`, `firefox` and `safari`.
89
+ */
90
+ browsers: BrowsersType;
91
+ /**
92
+ * Browser generation query based on the real world data.
93
+ * For more info see the [query docs](https://github.com/browserslist/browserslist#full-list).
94
+ * If `browserListQuery` is passed the `browsers` array is ignored.
95
+ */
96
+ browserListQuery: string;
97
+ /**
98
+ * List of operating systems to generate the headers for.
99
+ */
100
+ operatingSystems: OperatingSystem[];
101
+ /**
102
+ * List of devices to generate the headers for.
103
+ */
104
+ devices: Device[];
105
+ /**
106
+ * List of at most 10 languages to include in the
107
+ * [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language) request header
108
+ * in the language format accepted by that header, for example `en`, `en-US` or `de`.
109
+ */
110
+ locales: string[];
111
+ /**
112
+ * Http version to be used to generate headers (the headers differ depending on the version).
113
+ * Can be either 1 or 2. Default value is 2.
114
+ */
115
+ httpVersion: HttpVersion;
116
+ }
117
+
118
+ /**
119
+ * Structured information about a browser and HTTP version used.
120
+ */
121
+ export interface HttpBrowserObject {
122
+ /**
123
+ * Name of the browser used.
124
+ */
125
+ name: BrowserName | typeof MISSING_VALUE_DATASET_TOKEN;
126
+ /**
127
+ * Browser version split into parts of the semantic version number.
128
+ */
129
+ version: number[];
130
+ /**
131
+ * String containing the browser name, browser version and HTTP version (e.g. `chrome/88.0.4324.182|2`).
132
+ */
133
+ completeString: string;
134
+ /**
135
+ * HTTP version as a string ("1" or "2").
136
+ */
137
+ httpVersion: HttpVersion;
138
+ };
139
+
140
+ export type Headers = Record<string, string>;
141
+
142
+ /**
143
+ * Randomly generates realistic HTTP headers based on specified options.
144
+ */
145
+ export class HeaderGenerator {
146
+ globalOptions: HeaderGeneratorOptions;
147
+
148
+ browserListQuery: string | undefined;
149
+
150
+ private inputGeneratorNetwork: any;
151
+
152
+ private headerGeneratorNetwork: any;
153
+
154
+ private uniqueBrowsers: HttpBrowserObject[];
155
+
156
+ private headersOrder: string[];
157
+
158
+ /**
159
+ * @param options Default header generation options used - unless overridden.
160
+ */
161
+ constructor(options: Partial<HeaderGeneratorOptions> = {}) {
162
+ ow(options, 'HeaderGeneratorOptions', ow.object.partialShape(headerGeneratorOptionsShape));
163
+ // Use a default setup when the necessary values are not provided
164
+ const {
165
+ browsers = SUPPORTED_BROWSERS,
166
+ operatingSystems = SUPPORTED_OPERATING_SYSTEMS as unknown as OperatingSystem[],
167
+ devices = ['desktop'],
168
+ locales = ['en-US'],
169
+ httpVersion = '2',
170
+ browserListQuery = '',
171
+ } = options;
172
+ this.globalOptions = {
173
+ browsers: this._prepareBrowsersConfig(browsers as BrowsersType, browserListQuery, httpVersion),
174
+ operatingSystems,
175
+ devices,
176
+ locales,
177
+ httpVersion,
178
+ browserListQuery,
179
+ };
180
+ this.uniqueBrowsers = [];
181
+
182
+ this.headersOrder = JSON.parse(readFileSync(`${__dirname}/data_files/headers-order.json`).toString());
183
+ const uniqueBrowserStrings = JSON.parse(readFileSync(`${__dirname}/data_files/browser-helper-file.json`, 'utf8').toString());
184
+
185
+ for (const browserString of uniqueBrowserStrings) {
186
+ // There are headers without user agents in the datasets we used to configure the generator. They should be disregarded.
187
+ if (browserString !== MISSING_VALUE_DATASET_TOKEN) {
188
+ this.uniqueBrowsers.push(this.prepareHttpBrowserObject(browserString));
189
+ }
190
+ }
191
+
192
+ this.inputGeneratorNetwork = new BayesianNetwork({ path: `${__dirname}/data_files/input-network-definition.zip` });
193
+ this.headerGeneratorNetwork = new BayesianNetwork({ path: `${__dirname}/data_files/header-network-definition.zip` });
194
+ }
195
+
196
+ /**
197
+ * Generates a single set of ordered headers using a combination of the default options specified in the constructor
198
+ * and their possible overrides provided here.
199
+ * @param options Specifies options that should be overridden for this one call.
200
+ * @param requestDependentHeaders Specifies known values of headers dependent on the particular request.
201
+ */
202
+ getHeaders(options: Partial<HeaderGeneratorOptions> = {}, requestDependentHeaders: Headers = {}, userAgentValues?: string[]): Headers {
203
+ ow(options, 'HeaderGeneratorOptions', ow.object.partialShape(headerGeneratorOptionsShape));
204
+ const headerOptions = { ...this.globalOptions, ...options };
205
+ const possibleAttributeValues = this._getPossibleAttributeValues(headerOptions);
206
+
207
+ const [http1Values, http2Values] = userAgentValues ? [
208
+ utils.getPossibleValues(this.headerGeneratorNetwork, { 'User-Agent': userAgentValues }),
209
+ utils.getPossibleValues(this.headerGeneratorNetwork, { 'user-agent': userAgentValues }),
210
+ ] : [null, null];
211
+
212
+ // Generate a sample of input attributes consistent with the data used to create the definition files if possible.
213
+ const inputSample = this.inputGeneratorNetwork.generateConsistentSampleWhenPossible(
214
+ Object.entries(possibleAttributeValues).reduce((acc, [key, value]) => {
215
+ if (key === '*BROWSER_HTTP') {
216
+ acc[key] = value.filter((x: string) => {
217
+ const [browserName, httpVersion] = x.split('|');
218
+ return (httpVersion === '1' ? http1Values : http2Values)?.['*BROWSER'].includes(browserName) ?? true;
219
+ });
220
+ return acc;
221
+ }
222
+ acc[key] = value.filter((x: string) => (http1Values?.[key]?.includes(x) || http2Values?.[key]?.includes(x)) ?? true);
223
+ return acc;
224
+ }, {} as typeof possibleAttributeValues));
225
+
226
+ if (Object.keys(inputSample).length === 0) {
227
+ // Try to convert HTTP/2 headers to HTTP/1 headers
228
+ if (headerOptions.httpVersion === '1') {
229
+ const headers2 = this.getHeaders({
230
+ ...options,
231
+ httpVersion: '2',
232
+ }, requestDependentHeaders, userAgentValues);
233
+
234
+ const pascalize = (name: string) => {
235
+ return name.split('-').map((part) => {
236
+ return part[0]!.toUpperCase() + part.slice(1).toLowerCase();
237
+ }).join('-');
238
+ };
239
+
240
+ const converted2to1 = Object.fromEntries(
241
+ Object.entries(headers2).map(([name, value]) => {
242
+ if (name.startsWith('sec-ch-ua')) {
243
+ return [name, value];
244
+ }
245
+ if (['dnt', 'rtt', 'ect'].includes(name)) {
246
+ return [name.toUpperCase(), value];
247
+ }
248
+ return [pascalize(name), value];
249
+ },
250
+ ));
251
+
252
+ return this.orderHeaders(converted2to1);
253
+ }
254
+ throw new Error('No headers based on this input can be generated. Please relax or change some of the requirements you specified.');
255
+ }
256
+
257
+ // Generate the actual headers
258
+ const generatedSample = this.headerGeneratorNetwork.generateSample(inputSample);
259
+
260
+ // Manually fill the accept-language header with random ordering of the locales from input
261
+ const generatedHttpAndBrowser = this.prepareHttpBrowserObject(generatedSample[BROWSER_HTTP_NODE_NAME]);
262
+ let secFetchAttributeNames: typeof HTTP2_SEC_FETCH_ATTRIBUTES | typeof HTTP1_SEC_FETCH_ATTRIBUTES = HTTP2_SEC_FETCH_ATTRIBUTES;
263
+ let acceptLanguageFieldName = 'accept-language';
264
+ if (generatedHttpAndBrowser.httpVersion !== '2') {
265
+ acceptLanguageFieldName = 'Accept-Language';
266
+ secFetchAttributeNames = HTTP1_SEC_FETCH_ATTRIBUTES;
267
+ }
268
+
269
+ generatedSample[acceptLanguageFieldName] = this._getAcceptLanguageField(headerOptions.locales);
270
+
271
+ const isChrome = generatedHttpAndBrowser.name === 'chrome';
272
+ const isFirefox = generatedHttpAndBrowser.name === 'firefox';
273
+ const isEdge = generatedHttpAndBrowser.name === 'edge';
274
+
275
+ const hasSecFetch = (isChrome && generatedHttpAndBrowser.version[0] >= 76)
276
+ || (isFirefox && generatedHttpAndBrowser.version[0] >= 90)
277
+ || (isEdge && generatedHttpAndBrowser.version[0] >= 79);
278
+
279
+ // Add fixed headers if needed
280
+ if (hasSecFetch) {
281
+ generatedSample[secFetchAttributeNames.site] = 'same-site';
282
+ generatedSample[secFetchAttributeNames.mode] = 'navigate';
283
+ generatedSample[secFetchAttributeNames.user] = '?1';
284
+ generatedSample[secFetchAttributeNames.dest] = 'document';
285
+ }
286
+
287
+ for (const attribute of Object.keys(generatedSample)) {
288
+ if (attribute.startsWith('*') || generatedSample[attribute] === MISSING_VALUE_DATASET_TOKEN) delete generatedSample[attribute];
289
+ }
290
+
291
+ // Order the headers in an order depending on the browser
292
+ return this.orderHeaders({
293
+ ...generatedSample,
294
+ ...requestDependentHeaders,
295
+ }, (this.headersOrder as Record<string, any>)[generatedHttpAndBrowser.name]);
296
+ }
297
+
298
+ /**
299
+ * Returns a new object that contains ordered headers.
300
+ * @param headers Specifies known values of headers dependent on the particular request.
301
+ * @param order An array of ordered header names, optional (will be deducted from `user-agent`).
302
+ */
303
+ orderHeaders(headers: Headers, order = this.getOrderFromUserAgent(headers)): Headers {
304
+ const orderedSample: Headers = {};
305
+
306
+ for (const attribute of order) {
307
+ if (attribute in headers) {
308
+ orderedSample[attribute] = headers[attribute];
309
+ }
310
+ }
311
+
312
+ for (const attribute of Object.keys(headers)) {
313
+ if (!order.includes(attribute)) {
314
+ orderedSample[attribute] = headers[attribute];
315
+ }
316
+ }
317
+
318
+ return orderedSample;
319
+ }
320
+
321
+ private _prepareBrowsersConfig(
322
+ browsers?: BrowsersType,
323
+ browserListQuery?: string,
324
+ httpVersion?: HttpVersion,
325
+ ): BrowserSpecification[] {
326
+ let finalBrowsers = browsers;
327
+
328
+ if (browserListQuery) {
329
+ finalBrowsers = getBrowsersFromQuery(browserListQuery);
330
+ }
331
+
332
+ return finalBrowsers!.map((browser) => {
333
+ if (typeof browser === 'string') {
334
+ return { name: browser, httpVersion };
335
+ }
336
+
337
+ browser.httpVersion = httpVersion;
338
+ return browser;
339
+ });
340
+ }
341
+
342
+ private _getBrowserHttpOptions(browsers: BrowserSpecification[]): string[] {
343
+ const browserHttpOptions = [];
344
+ for (const browser of browsers) {
345
+ for (const browserOption of this.uniqueBrowsers) {
346
+ if (browser.name === browserOption.name) {
347
+ if ((!browser.minVersion || this._browserVersionIsLesserOrEquals([browser.minVersion], browserOption.version))
348
+ && (!browser.maxVersion || this._browserVersionIsLesserOrEquals(browserOption.version, [browser.maxVersion]))
349
+ && browser.httpVersion === browserOption.httpVersion) {
350
+ browserHttpOptions.push(browserOption.completeString);
351
+ }
352
+ }
353
+ }
354
+ }
355
+
356
+ return browserHttpOptions;
357
+ }
358
+
359
+ private _getPossibleAttributeValues(headerOptions: Partial<HeaderGeneratorOptions>): Record<string, any> {
360
+ const { browsers: optionsBrowser, browserListQuery, httpVersion, operatingSystems } = headerOptions;
361
+ const browsers = this._prepareBrowsersConfig(optionsBrowser, browserListQuery, httpVersion);
362
+
363
+ // Find known browsers compatible with the input
364
+ const browserHttpOptions = this._getBrowserHttpOptions(browsers);
365
+ const possibleAttributeValues: Record<string, any> = {};
366
+
367
+ possibleAttributeValues[BROWSER_HTTP_NODE_NAME] = browserHttpOptions;
368
+
369
+ possibleAttributeValues[OPERATING_SYSTEM_NODE_NAME] = operatingSystems;
370
+
371
+ if (headerOptions.devices) {
372
+ possibleAttributeValues[DEVICE_NODE_NAME] = headerOptions.devices;
373
+ }
374
+
375
+ return possibleAttributeValues;
376
+ }
377
+
378
+ private _getAcceptLanguageField(localesFromOptions: HeaderGeneratorOptions['locales']): string {
379
+ let locales = localesFromOptions;
380
+ let highLevelLocales = [];
381
+ for (const locale of locales) {
382
+ if (!locale.includes('-')) {
383
+ highLevelLocales.push(locale);
384
+ }
385
+ }
386
+
387
+ for (const locale of locales) {
388
+ if (!highLevelLocales.includes(locale)) {
389
+ let highLevelEquivalentPresent = false;
390
+ for (const highLevelLocale of highLevelLocales) {
391
+ if (locale.includes(highLevelLocale)) {
392
+ highLevelEquivalentPresent = true;
393
+ break;
394
+ }
395
+ }
396
+ if (!highLevelEquivalentPresent) highLevelLocales.push(locale);
397
+ }
398
+ }
399
+
400
+ highLevelLocales = shuffleArray(highLevelLocales);
401
+ locales = shuffleArray(locales);
402
+
403
+ const localesInAddingOrder = [];
404
+
405
+ for (const highLevelLocale of highLevelLocales) {
406
+ for (const locale of locales) {
407
+ if (locale.includes(highLevelLocale) && !highLevelLocales.includes(locale)) {
408
+ localesInAddingOrder.push(locale);
409
+ }
410
+ }
411
+ localesInAddingOrder.push(highLevelLocale);
412
+ }
413
+
414
+ let acceptLanguageFieldValue = localesInAddingOrder[0];
415
+
416
+ for (let x = 1; x < localesInAddingOrder.length; x++) {
417
+ acceptLanguageFieldValue += `,${localesInAddingOrder[x]};q=${1 - x * 0.1}`;
418
+ }
419
+ return acceptLanguageFieldValue;
420
+ }
421
+
422
+ /**
423
+ * Extract structured information about a browser and http version in the form of an object from httpBrowserString.
424
+ * @param httpBrowserString A string containing the browser name, version and http version, such as `chrome/88.0.4324.182|2`.
425
+ */
426
+ private prepareHttpBrowserObject(httpBrowserString: string): HttpBrowserObject {
427
+ const [browserString, httpVersion] = httpBrowserString.split('|');
428
+ let browserObject;
429
+
430
+ if (browserString === MISSING_VALUE_DATASET_TOKEN) {
431
+ browserObject = { name: MISSING_VALUE_DATASET_TOKEN };
432
+ } else {
433
+ browserObject = this.prepareBrowserObject(browserString);
434
+ }
435
+
436
+ return {
437
+ ...browserObject,
438
+ httpVersion: httpVersion as HeaderGeneratorOptions['httpVersion'],
439
+ completeString: httpBrowserString,
440
+ } as HttpBrowserObject;
441
+ }
442
+
443
+ /**
444
+ * Extract structured information about a browser in the form of an object from browserString.
445
+ * @param browserString A string containing the browser name and version, e.g. `chrome/88.0.4324.182`.
446
+ */
447
+ private prepareBrowserObject(browserString: string): HttpBrowserObject {
448
+ const nameVersionSplit = browserString.split('/');
449
+ const versionSplit = nameVersionSplit[1].split('.');
450
+ const preparedVersion = [];
451
+ for (const versionPart of versionSplit) {
452
+ preparedVersion.push(parseInt(versionPart, 10));
453
+ }
454
+
455
+ return {
456
+ name: nameVersionSplit[0],
457
+ version: preparedVersion,
458
+ completeString: browserString,
459
+ } as HttpBrowserObject;
460
+ }
461
+
462
+ /**
463
+ * Returns a new object containing header names ordered by their appearance in the given browser.
464
+ * @param headers Non-normalized request headers
465
+ * @returns Correct header order for the given browser.
466
+ */
467
+ private getOrderFromUserAgent(headers: Record<string, string>) : string[] {
468
+ const userAgent = getUserAgent(headers);
469
+ const browser = getBrowser(userAgent);
470
+
471
+ if (!browser) {
472
+ return [];
473
+ }
474
+
475
+ return (this.headersOrder as Record<string, any>)[browser];
476
+ }
477
+
478
+ private _browserVersionIsLesserOrEquals(browserVersionL: number[], browserVersionR: number[]) {
479
+ return browserVersionL[0] <= browserVersionR[0];
480
+ }
481
+ }
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './header-generator';
2
+ export * as PRESETS from './presets';
package/src/presets.ts ADDED
@@ -0,0 +1,59 @@
1
+ export const MODERN_DESKTOP = {
2
+ browserListQuery: 'last 5 versions',
3
+ };
4
+
5
+ export const MODERN_MOBILE = {
6
+ ...MODERN_DESKTOP,
7
+ devices: ['mobile'],
8
+ };
9
+
10
+ export const MODERN_LINUX = {
11
+ ...MODERN_DESKTOP,
12
+ operatingSystems: ['linux'],
13
+ };
14
+
15
+ export const MODERN_LINUX_FIREFOX = {
16
+ browserListQuery: 'last 5 firefox versions',
17
+ operatingSystems: ['linux'],
18
+ };
19
+
20
+ export const MODERN_LINUX_CHROME = {
21
+ browserListQuery: 'last 5 chrome versions',
22
+ operatingSystems: ['linux'],
23
+ };
24
+
25
+ export const MODERN_WINDOWS = {
26
+ ...MODERN_DESKTOP,
27
+ operatingSystems: ['windows'],
28
+ };
29
+
30
+ export const MODERN_WINDOWS_FIREFOX = {
31
+ browserListQuery: 'last 5 firefox versions',
32
+ operatingSystems: ['windows'],
33
+ };
34
+
35
+ export const MODERN_WINDOWS_CHROME = {
36
+ browserListQuery: 'last 5 chrome versions',
37
+ operatingSystems: ['windows'],
38
+ };
39
+
40
+ export const MODERN_MACOS = {
41
+ ...MODERN_DESKTOP,
42
+ operatingSystems: ['macos'],
43
+ };
44
+
45
+ export const MODERN_MACOS_FIREFOX = {
46
+ browserListQuery: 'last 5 firefox versions',
47
+ operatingSystems: ['macos'],
48
+ };
49
+
50
+ export const MODERN_MACOS_CHROME = {
51
+ browserListQuery: 'last 5 chrome versions',
52
+ operatingSystems: ['macos'],
53
+ };
54
+
55
+ export const MODERN_ANDROID = {
56
+ ...MODERN_MOBILE,
57
+ operatingSystems: ['android'],
58
+
59
+ };
package/src/utils.ts ADDED
@@ -0,0 +1,91 @@
1
+ import browsersList from 'browserslist';
2
+ import { SUPPORTED_BROWSERS } from './constants';
3
+ import { BrowserName, BrowserSpecification } from './header-generator';
4
+
5
+ export const getUserAgent = (headers: Record<string, string>): string | undefined => {
6
+ for (const [header, value] of Object.entries(headers)) {
7
+ if (header.toLowerCase() === 'user-agent') {
8
+ return value;
9
+ }
10
+ }
11
+ return undefined;
12
+ };
13
+
14
+ export const getBrowser = (userAgent?: string): BrowserName | undefined => {
15
+ if (!userAgent) {
16
+ return undefined;
17
+ }
18
+
19
+ let browser;
20
+ if (userAgent.includes('Firefox')) {
21
+ browser = 'firefox';
22
+ } else if (userAgent.includes('Chrome')) {
23
+ browser = 'chrome';
24
+ } else {
25
+ browser = 'safari';
26
+ }
27
+
28
+ return browser as BrowserName;
29
+ };
30
+
31
+ const getBrowsersWithVersions = (browserList: string[]): Record<BrowserName, number[]> => {
32
+ const browsersWithVersions: Record<string, number[]> = {};
33
+
34
+ for (const browserDefinition of browserList) {
35
+ const [browserSplit, versionString] = browserDefinition.split(' ');
36
+ const browser = browserSplit as BrowserName;
37
+ const version = parseInt(versionString, 10);
38
+ if (!SUPPORTED_BROWSERS.includes(browser)) {
39
+ // eslint-disable-next-line no-continue
40
+ continue;
41
+ }
42
+
43
+ if (browsersWithVersions[browser]) {
44
+ browsersWithVersions[browser].push(version);
45
+ } else {
46
+ browsersWithVersions[browser] = [version];
47
+ }
48
+ }
49
+
50
+ return browsersWithVersions;
51
+ };
52
+
53
+ const getOptimizedVersionDistribution = (browsersWithVersions: Record<BrowserName, number[]>): BrowserSpecification[] => {
54
+ const finalOptimizedBrowsers: BrowserSpecification[] = [];
55
+
56
+ Object.entries(browsersWithVersions).forEach(([browser, versions]) => {
57
+ const sortedVersions = versions.sort((a, b) => a - b);
58
+ let lowestVersionSoFar = sortedVersions[0];
59
+
60
+ sortedVersions.forEach((version, index) => {
61
+ const nextVersion = sortedVersions[index + 1];
62
+ const isLast = index === sortedVersions.length - 1;
63
+ const isNextVersionGap = nextVersion - version > 1;
64
+
65
+ if (isNextVersionGap || isLast) {
66
+ finalOptimizedBrowsers.push({
67
+ name: browser as BrowserName,
68
+ minVersion: lowestVersionSoFar,
69
+ maxVersion: version,
70
+ });
71
+ lowestVersionSoFar = nextVersion;
72
+ }
73
+ });
74
+ });
75
+ return finalOptimizedBrowsers;
76
+ };
77
+
78
+ export const getBrowsersFromQuery = (browserListQuery: string): BrowserSpecification[] => {
79
+ const browserList = browsersList(browserListQuery);
80
+ const browsersWithVersions = getBrowsersWithVersions(browserList);
81
+ return getOptimizedVersionDistribution(browsersWithVersions);
82
+ };
83
+
84
+ export const shuffleArray = (array: any[]): any[] => {
85
+ for (let i = array.length - 1; i > 0; i--) {
86
+ const j = Math.floor(Math.random() * (i + 1));
87
+ [array[i], array[j]] = [array[j], array[i]];
88
+ }
89
+
90
+ return array;
91
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../tsconfig.build.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist"
5
+ },
6
+ "include": ["src/**/*"]
7
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": ["src/**/*"]
4
+ }
@@ -1 +0,0 @@
1
- ["firefox/88.0|2","chrome/108.0.0.0|2","chrome/109.0.0.0|2","firefox/108.0|2","chrome/107.0.0.0|2","chrome/106.0.0.0|2","edge/109.0.1518.55|2","chrome/96.0.4664.93|2","chrome/88.0.4324.93|2","chrome/110.0.0.0|2","edge/109.0.1518.52|2","safari/605.1.15|2","chrome/105.0.0.0|2","chrome/103.0.0.0|2","firefox/109.0|2","safari/604.1|2","chrome/88.0.4324.192|2","chrome/108.0.0.0|1","firefox/106.0|2","chrome/94.0.4590.2|2","chrome/111.0.0.0|2","edge/108.0.1462.54|2","safari/604.1|1","chrome/104.0.0.0|2","chrome/101.0.0.0|2","chrome/109.0.0.0|1","chrome/102.0.5005.125|2","chrome/75.0.3770.156|2","chrome/102.0.0.0|2","chrome/90.0.4430.72|1","edge/108.0.1462.76|2","firefox/105.0|2","chrome/106.0.5249.126|2","chrome/109.0.5414.85|2","firefox/108.0|1","edge/107.0.1418.62|2","chrome/100.0.4861.0|2","firefox/102.0|2","edge/109.0.1518.52|1","chrome/95.0.4638.74|2","firefox/100.0|2","chrome/89.0.4389.72|2","chrome/101.0.4951.15|2","firefox/87.0|2","firefox/107.0|2","chrome/75.0.3770.142|2","edge/108.0.1462.76|1","chrome/101.0.4951.41|2","chrome/84.0.4147.135|2","chrome/108.0.5359.98|2","chrome/100.0.4896.88|2","chrome/80.0.3987.99|2","chrome/88.0.4324.150|2","chrome/90.0.4430.85|2","chrome/90.0.4430.72|2","chrome/100.0.4896.127|2","chrome/94.0.4606.85|2","chrome/97.0.4692.71|2","chrome/89.0.4389.114|2","chrome/107.0.0.0|1","chrome/108.0.5359.128|2","chrome/106.0.7475.1242|2","firefox/103.0|2","chrome/108.0.5359.125|2","*MISSING_VALUE*|2","chrome/97.0.4692.98|2","firefox/90.0|2","edge/109.0.1518.49|2","chrome/87.0.4280.88|2","firefox/81.0|2","chrome/74.0.3729.169|2","chrome/102.0.5005.167|2","chrome/102.0.5005.125|1","firefox/106.0|1","chrome/86.0.4240.198|2","edge/108.0.1462.46|2","chrome/99.0.4844.82|2","chrome/103.0.5060.53|2"]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes