@grnsft/if 0.7.2 → 1.0.0

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 (251) hide show
  1. package/.env +5 -0
  2. package/CONTRIBUTING.md +19 -6
  3. package/ENABLEMENT.md +115 -0
  4. package/README.md +1 -7
  5. package/SECURITY.md +100 -0
  6. package/adopters.md +12 -0
  7. package/build/common/config/strings.js +3 -4
  8. package/build/common/util/helpers.d.ts +5 -0
  9. package/build/common/util/helpers.js +24 -2
  10. package/build/common/util/logger.js +3 -3
  11. package/build/common/util/yaml.js +19 -7
  12. package/build/if-check/config/config.js +7 -1
  13. package/build/if-check/util/args.js +3 -2
  14. package/build/if-check/util/npm.js +55 -9
  15. package/build/if-csv/config/config.js +7 -1
  16. package/build/if-csv/util/args.js +3 -2
  17. package/build/if-diff/config/config.js +7 -1
  18. package/build/if-diff/util/args.js +3 -2
  19. package/build/if-env/config/config.js +7 -1
  20. package/build/if-env/util/args.js +3 -2
  21. package/build/if-merge/config/config.js +7 -1
  22. package/build/if-merge/util/args.js +3 -2
  23. package/build/if-merge/util/helpers.js +4 -1
  24. package/build/if-run/builtins/csv-import/index.d.ts +16 -0
  25. package/build/if-run/builtins/csv-import/index.js +69 -0
  26. package/build/if-run/builtins/csv-lookup/index.js +10 -87
  27. package/build/if-run/builtins/divide/index.js +2 -4
  28. package/build/if-run/builtins/exponent/index.js +3 -5
  29. package/build/if-run/builtins/index.d.ts +1 -0
  30. package/build/if-run/builtins/index.js +4 -2
  31. package/build/if-run/builtins/shell/index.js +2 -2
  32. package/build/if-run/builtins/util/csv-helpers.d.ts +26 -0
  33. package/build/if-run/builtins/util/csv-helpers.js +92 -0
  34. package/build/if-run/config/config.js +1 -7
  35. package/build/if-run/config/strings.d.ts +1 -0
  36. package/build/if-run/config/strings.js +2 -1
  37. package/build/if-run/lib/compute.js +23 -16
  38. package/build/if-run/lib/regroup.d.ts +5 -0
  39. package/build/if-run/lib/regroup.js +14 -2
  40. package/build/if-run/util/args.d.ts +1 -1
  41. package/build/if-run/util/args.js +5 -4
  42. package/coverage/clover.xml +2062 -0
  43. package/coverage/coverage-final.json +58 -0
  44. package/coverage/lcov-report/base.css +224 -0
  45. package/coverage/lcov-report/block-navigation.js +87 -0
  46. package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
  47. package/coverage/lcov-report/builtins/coefficient/index.ts.html +298 -0
  48. package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
  49. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +826 -0
  50. package/coverage/lcov-report/builtins/divide/index.html +116 -0
  51. package/coverage/lcov-report/builtins/divide/index.ts.html +358 -0
  52. package/coverage/lcov-report/builtins/exponent/index.html +116 -0
  53. package/coverage/lcov-report/builtins/exponent/index.ts.html +361 -0
  54. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
  55. package/coverage/lcov-report/builtins/export-csv.ts.html +436 -0
  56. package/coverage/lcov-report/builtins/export-log.ts.html +148 -0
  57. package/coverage/lcov-report/builtins/export-yaml.ts.html +193 -0
  58. package/coverage/lcov-report/builtins/group-by.ts.html +370 -0
  59. package/coverage/lcov-report/builtins/index.html +206 -0
  60. package/coverage/lcov-report/builtins/index.ts.html +130 -0
  61. package/coverage/lcov-report/builtins/interpolation/index.html +116 -0
  62. package/coverage/lcov-report/builtins/interpolation/index.ts.html +676 -0
  63. package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
  64. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
  65. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
  66. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
  67. package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
  68. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +619 -0
  69. package/coverage/lcov-report/builtins/multiply/index.html +116 -0
  70. package/coverage/lcov-report/builtins/multiply/index.ts.html +343 -0
  71. package/coverage/lcov-report/builtins/regex/index.html +116 -0
  72. package/coverage/lcov-report/builtins/regex/index.ts.html +373 -0
  73. package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
  74. package/coverage/lcov-report/builtins/sci/index.html +116 -0
  75. package/coverage/lcov-report/builtins/sci/index.ts.html +325 -0
  76. package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
  77. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +478 -0
  78. package/coverage/lcov-report/builtins/shell/index.html +116 -0
  79. package/coverage/lcov-report/builtins/shell/index.ts.html +280 -0
  80. package/coverage/lcov-report/builtins/subtract/index.html +116 -0
  81. package/coverage/lcov-report/builtins/subtract/index.ts.html +379 -0
  82. package/coverage/lcov-report/builtins/sum/index.html +116 -0
  83. package/coverage/lcov-report/builtins/sum/index.ts.html +334 -0
  84. package/coverage/lcov-report/builtins/time-sync.ts.html +1462 -0
  85. package/coverage/lcov-report/common/config/index.html +131 -0
  86. package/coverage/lcov-report/common/config/index.ts.html +88 -0
  87. package/coverage/lcov-report/common/config/strings.ts.html +121 -0
  88. package/coverage/lcov-report/common/lib/index.html +116 -0
  89. package/coverage/lcov-report/common/lib/load.ts.html +139 -0
  90. package/coverage/lcov-report/common/util/debug-logger.ts.html +514 -0
  91. package/coverage/lcov-report/common/util/fs.ts.html +289 -0
  92. package/coverage/lcov-report/common/util/helpers.ts.html +355 -0
  93. package/coverage/lcov-report/common/util/index.html +191 -0
  94. package/coverage/lcov-report/common/util/logger.ts.html +151 -0
  95. package/coverage/lcov-report/common/util/validations.ts.html +628 -0
  96. package/coverage/lcov-report/common/util/yaml.ts.html +226 -0
  97. package/coverage/lcov-report/config/config.ts.html +463 -0
  98. package/coverage/lcov-report/config/index.html +161 -0
  99. package/coverage/lcov-report/config/index.ts.html +94 -0
  100. package/coverage/lcov-report/config/params.ts.html +697 -0
  101. package/coverage/lcov-report/config/strings.ts.html +490 -0
  102. package/coverage/lcov-report/favicon.png +0 -0
  103. package/coverage/lcov-report/if-check/config/config.ts.html +184 -0
  104. package/coverage/lcov-report/if-check/config/index.html +146 -0
  105. package/coverage/lcov-report/if-check/config/index.ts.html +91 -0
  106. package/coverage/lcov-report/if-check/config/strings.ts.html +142 -0
  107. package/coverage/lcov-report/if-check/util/args.ts.html +310 -0
  108. package/coverage/lcov-report/if-check/util/helpers.ts.html +136 -0
  109. package/coverage/lcov-report/if-check/util/index.html +146 -0
  110. package/coverage/lcov-report/if-check/util/npm.ts.html +376 -0
  111. package/coverage/lcov-report/if-csv/util/args.ts.html +256 -0
  112. package/coverage/lcov-report/if-csv/util/helpers.ts.html +346 -0
  113. package/coverage/lcov-report/if-csv/util/index.html +131 -0
  114. package/coverage/lcov-report/if-diff/config/config.ts.html +184 -0
  115. package/coverage/lcov-report/if-diff/config/index.html +146 -0
  116. package/coverage/lcov-report/if-diff/config/index.ts.html +91 -0
  117. package/coverage/lcov-report/if-diff/config/strings.ts.html +100 -0
  118. package/coverage/lcov-report/if-diff/lib/compare.ts.html +286 -0
  119. package/coverage/lcov-report/if-diff/lib/index.html +131 -0
  120. package/coverage/lcov-report/if-diff/lib/load.ts.html +199 -0
  121. package/coverage/lcov-report/if-diff/util/args.ts.html +274 -0
  122. package/coverage/lcov-report/if-diff/util/helpers.ts.html +337 -0
  123. package/coverage/lcov-report/if-diff/util/index.html +131 -0
  124. package/coverage/lcov-report/if-env/config/config.ts.html +211 -0
  125. package/coverage/lcov-report/if-env/config/index.html +146 -0
  126. package/coverage/lcov-report/if-env/config/index.ts.html +91 -0
  127. package/coverage/lcov-report/if-env/config/strings.ts.html +109 -0
  128. package/coverage/lcov-report/if-env/util/args.ts.html +256 -0
  129. package/coverage/lcov-report/if-env/util/index.html +131 -0
  130. package/coverage/lcov-report/if-env/util/npm.ts.html +526 -0
  131. package/coverage/lcov-report/if-merge/util/args.ts.html +301 -0
  132. package/coverage/lcov-report/if-merge/util/helpers.ts.html +313 -0
  133. package/coverage/lcov-report/if-merge/util/index.html +131 -0
  134. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +116 -0
  135. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +286 -0
  136. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +116 -0
  137. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +301 -0
  138. package/coverage/lcov-report/if-run/builtins/csv-import/index.html +116 -0
  139. package/coverage/lcov-report/if-run/builtins/csv-import/index.ts.html +364 -0
  140. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +116 -0
  141. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +478 -0
  142. package/coverage/lcov-report/if-run/builtins/divide/index.html +116 -0
  143. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +346 -0
  144. package/coverage/lcov-report/if-run/builtins/exponent/index.html +116 -0
  145. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +319 -0
  146. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +553 -0
  147. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +436 -0
  148. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +148 -0
  149. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +193 -0
  150. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +370 -0
  151. package/coverage/lcov-report/if-run/builtins/index.html +146 -0
  152. package/coverage/lcov-report/if-run/builtins/index.ts.html +136 -0
  153. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +116 -0
  154. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +643 -0
  155. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
  156. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +131 -0
  157. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
  158. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +116 -0
  159. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +607 -0
  160. package/coverage/lcov-report/if-run/builtins/multiply/index.html +116 -0
  161. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +289 -0
  162. package/coverage/lcov-report/if-run/builtins/regex/index.html +116 -0
  163. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +298 -0
  164. package/coverage/lcov-report/if-run/builtins/sci/index.html +116 -0
  165. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +418 -0
  166. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +116 -0
  167. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +664 -0
  168. package/coverage/lcov-report/if-run/builtins/shell/index.html +116 -0
  169. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +256 -0
  170. package/coverage/lcov-report/if-run/builtins/subtract/index.html +116 -0
  171. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +298 -0
  172. package/coverage/lcov-report/if-run/builtins/sum/index.html +116 -0
  173. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +238 -0
  174. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +205 -0
  175. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +131 -0
  176. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +328 -0
  177. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +116 -0
  178. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +1804 -0
  179. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +1462 -0
  180. package/coverage/lcov-report/if-run/builtins/util/csv-helpers.ts.html +376 -0
  181. package/coverage/lcov-report/if-run/builtins/util/index.html +116 -0
  182. package/coverage/lcov-report/if-run/config/config.ts.html +271 -0
  183. package/coverage/lcov-report/if-run/config/index.html +161 -0
  184. package/coverage/lcov-report/if-run/config/index.ts.html +94 -0
  185. package/coverage/lcov-report/if-run/config/params.ts.html +679 -0
  186. package/coverage/lcov-report/if-run/config/strings.ts.html +460 -0
  187. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +577 -0
  188. package/coverage/lcov-report/if-run/lib/compute.ts.html +733 -0
  189. package/coverage/lcov-report/if-run/lib/environment.ts.html +373 -0
  190. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +193 -0
  191. package/coverage/lcov-report/if-run/lib/explain.ts.html +484 -0
  192. package/coverage/lcov-report/if-run/lib/index.html +206 -0
  193. package/coverage/lcov-report/if-run/lib/initialize.ts.html +490 -0
  194. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +322 -0
  195. package/coverage/lcov-report/if-run/lib/regroup.ts.html +349 -0
  196. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +1510 -0
  197. package/coverage/lcov-report/if-run/types/aggregation.ts.html +94 -0
  198. package/coverage/lcov-report/if-run/types/index.html +146 -0
  199. package/coverage/lcov-report/if-run/types/interface.ts.html +112 -0
  200. package/coverage/lcov-report/if-run/types/parameters.ts.html +106 -0
  201. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +277 -0
  202. package/coverage/lcov-report/if-run/util/args.ts.html +325 -0
  203. package/coverage/lcov-report/if-run/util/helpers.ts.html +208 -0
  204. package/coverage/lcov-report/if-run/util/index.html +191 -0
  205. package/coverage/lcov-report/if-run/util/json.ts.html +115 -0
  206. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +145 -0
  207. package/coverage/lcov-report/if-run/util/os-checker.ts.html +421 -0
  208. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +202 -0
  209. package/coverage/lcov-report/index.html +551 -0
  210. package/coverage/lcov-report/lib/aggregate.ts.html +358 -0
  211. package/coverage/lcov-report/lib/compare.ts.html +286 -0
  212. package/coverage/lcov-report/lib/compute.ts.html +436 -0
  213. package/coverage/lcov-report/lib/environment.ts.html +376 -0
  214. package/coverage/lcov-report/lib/exhaust.ts.html +289 -0
  215. package/coverage/lcov-report/lib/index.html +221 -0
  216. package/coverage/lcov-report/lib/initialize.ts.html +430 -0
  217. package/coverage/lcov-report/lib/load.ts.html +268 -0
  218. package/coverage/lcov-report/lib/parameterize.ts.html +316 -0
  219. package/coverage/lcov-report/prettify.css +1 -0
  220. package/coverage/lcov-report/prettify.js +2 -0
  221. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  222. package/coverage/lcov-report/sorter.js +196 -0
  223. package/coverage/lcov-report/types/aggregation.ts.html +94 -0
  224. package/coverage/lcov-report/types/index.html +146 -0
  225. package/coverage/lcov-report/types/interface.ts.html +112 -0
  226. package/coverage/lcov-report/types/parameters.ts.html +106 -0
  227. package/coverage/lcov-report/util/aggregation-helper.ts.html +289 -0
  228. package/coverage/lcov-report/util/args.ts.html +649 -0
  229. package/coverage/lcov-report/util/debug-logger.ts.html +481 -0
  230. package/coverage/lcov-report/util/errors.ts.html +232 -0
  231. package/coverage/lcov-report/util/fs.ts.html +124 -0
  232. package/coverage/lcov-report/util/helpers.ts.html +895 -0
  233. package/coverage/lcov-report/util/index.html +296 -0
  234. package/coverage/lcov-report/util/json.ts.html +115 -0
  235. package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
  236. package/coverage/lcov-report/util/logger.ts.html +151 -0
  237. package/coverage/lcov-report/util/npm.ts.html +499 -0
  238. package/coverage/lcov-report/util/os-checker.ts.html +421 -0
  239. package/coverage/lcov-report/util/plugin-storage.ts.html +202 -0
  240. package/coverage/lcov-report/util/validations.ts.html +544 -0
  241. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  242. package/coverage/lcov.info +3548 -0
  243. package/manifests/examples/builtins/csv-import/success.yaml +22 -0
  244. package/manifests/examples/builtins/csv-import/test.csv +4 -0
  245. package/manifests/outputs/builtins/csv-import/success.yaml +84 -0
  246. package/manifests/regroup.yml +49 -0
  247. package/manifests/test.yml +524 -0
  248. package/okrs.md +14 -0
  249. package/package.json +1 -1
  250. package/src/if-run/builtins/csv-import/README.md +190 -0
  251. package/src/if-run/builtins/csv-lookup/README.md +7 -7
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.CSVLookup = void 0;
7
4
  /* eslint-disable eqeqeq */
8
- const promises_1 = require("fs/promises");
9
- const axios_1 = __importDefault(require("axios"));
10
5
  const zod_1 = require("zod");
11
- const sync_1 = require("csv-parse/sync");
12
6
  const interfaces_1 = require("@grnsft/if-core/interfaces");
13
7
  const utils_1 = require("@grnsft/if-core/utils");
14
8
  const config_1 = require("../../config");
15
- const { FILE_FETCH_FAILED, FILE_READ_FAILED, MISSING_CSV_COLUMN, MISSING_CONFIG, NO_QUERY_DATA, } = config_1.STRINGS;
16
- const { FetchingFileError, ReadFileError, MissingCSVColumnError, QueryDataNotFoundError, ConfigError, CSVParseError, } = utils_1.ERRORS;
9
+ const csv_helpers_1 = require("../util/csv-helpers");
10
+ const { MISSING_CONFIG, NO_QUERY_DATA } = config_1.STRINGS;
11
+ const { QueryDataNotFoundError, ConfigError } = utils_1.ERRORS;
17
12
  exports.CSVLookup = (0, interfaces_1.PluginFactory)({
18
13
  configValidation: (config) => {
19
14
  if (!config || !Object.keys(config)?.length) {
@@ -36,8 +31,8 @@ exports.CSVLookup = (0, interfaces_1.PluginFactory)({
36
31
  * 3. Filters requested information from CSV.
37
32
  */
38
33
  const { filepath, query, output } = config;
39
- const file = await retrieveFile(filepath);
40
- const parsedCSV = parseCSVFile(file);
34
+ const file = await (0, csv_helpers_1.retrieveFile)(filepath);
35
+ const parsedCSV = (0, csv_helpers_1.parseCSVFile)(file);
41
36
  return inputs.map(input => {
42
37
  /** Collects query values from input. */
43
38
  const queryData = {};
@@ -58,61 +53,6 @@ exports.CSVLookup = (0, interfaces_1.PluginFactory)({
58
53
  });
59
54
  },
60
55
  });
61
- /**
62
- * Checks if given string is URL.
63
- */
64
- const isURL = (filepath) => {
65
- try {
66
- new URL(filepath);
67
- return true;
68
- }
69
- catch (error) {
70
- return false;
71
- }
72
- };
73
- /**
74
- * Checks if given `filepath` is url, then tries to fetch it.
75
- * Otherwise tries to read file.
76
- */
77
- const retrieveFile = async (filepath) => {
78
- if (isURL(filepath)) {
79
- const { data } = await axios_1.default.get(filepath).catch(error => {
80
- throw new FetchingFileError(FILE_FETCH_FAILED(filepath, error.response.message));
81
- });
82
- return data;
83
- }
84
- return (0, promises_1.readFile)(filepath).catch(error => {
85
- throw new ReadFileError(FILE_READ_FAILED(filepath, error));
86
- });
87
- };
88
- /**
89
- * Checks if value is invalid: `undefined`, `null` or an empty string, then sets `nan` instead.
90
- */
91
- const setNanValue = (value) => value == null || value === '' ? 'nan' : value;
92
- /**
93
- * Converts empty values to `nan`.
94
- */
95
- const nanifyEmptyValues = (object) => {
96
- if (typeof object === 'object') {
97
- const keys = Object.keys(object);
98
- keys.forEach(key => {
99
- const value = object[key];
100
- object[key] = setNanValue(value);
101
- });
102
- return object;
103
- }
104
- return setNanValue(object);
105
- };
106
- /**
107
- * If `field` is missing from `object`, then reject with error.
108
- * Otherwise nanify empty values and return data.
109
- */
110
- const fieldAccessor = (field, object) => {
111
- if (!(`${field}` in object)) {
112
- throw new MissingCSVColumnError(MISSING_CSV_COLUMN(field));
113
- }
114
- return nanifyEmptyValues(object[field]);
115
- };
116
56
  /**
117
57
  * 1. If output is anything, then removes query data from csv record to escape duplicates.
118
58
  * 2. Otherwise checks if it's a miltidimensional array, then grabs multiple fields ().
@@ -126,7 +66,7 @@ const filterOutput = (dataFromCSV, params) => {
126
66
  keys.forEach(key => {
127
67
  delete dataFromCSV[key];
128
68
  });
129
- return nanifyEmptyValues(dataFromCSV);
69
+ return (0, csv_helpers_1.nanifyEmptyValues)(dataFromCSV);
130
70
  }
131
71
  if (Array.isArray(output)) {
132
72
  /** Check if it's a multidimensional array. */
@@ -135,17 +75,17 @@ const filterOutput = (dataFromCSV, params) => {
135
75
  output.forEach(outputField => {
136
76
  /** Check if there is no renaming request, then export as is */
137
77
  const outputTitle = outputField[1] || outputField[0];
138
- result[outputTitle] = fieldAccessor(outputField[0], dataFromCSV);
78
+ result[outputTitle] = (0, csv_helpers_1.fieldAccessor)(outputField[0], dataFromCSV);
139
79
  });
140
80
  return result;
141
81
  }
142
82
  const outputTitle = output[1] || output[0];
143
83
  return {
144
- [outputTitle]: fieldAccessor(output[0], dataFromCSV),
84
+ [outputTitle]: (0, csv_helpers_1.fieldAccessor)(output[0], dataFromCSV),
145
85
  };
146
86
  }
147
87
  return {
148
- [output]: fieldAccessor(output, dataFromCSV),
88
+ [output]: (0, csv_helpers_1.fieldAccessor)(output, dataFromCSV),
149
89
  };
150
90
  };
151
91
  /**
@@ -155,21 +95,4 @@ const withCriteria = (queryData) => (csvRecord) => {
155
95
  const ifMatchesCriteria = Object.keys(queryData).map((key) => csvRecord[key] == queryData[key]);
156
96
  return ifMatchesCriteria.every(value => value === true);
157
97
  };
158
- /**
159
- * Parses CSV file.
160
- */
161
- const parseCSVFile = (file) => {
162
- try {
163
- const parsedCSV = (0, sync_1.parse)(file, {
164
- columns: true,
165
- skip_empty_lines: true,
166
- cast: true,
167
- });
168
- return parsedCSV;
169
- }
170
- catch (error) {
171
- console.error(error);
172
- throw new CSVParseError(error);
173
- }
174
- };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2Nzdi1sb29rdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkJBQTJCO0FBQzNCLDBDQUFxQztBQUNyQyxrREFBMEI7QUFDMUIsNkJBQXNCO0FBQ3RCLHlDQUFxQztBQUdyQywyREFBeUQ7QUFDekQsaURBQXVEO0FBRXZELHlDQUFxQztBQUVyQyxNQUFNLEVBQ0osaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGFBQWEsR0FDZCxHQUFHLGdCQUFPLENBQUM7QUFFWixNQUFNLEVBQ0osaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxhQUFhLEdBQ2QsR0FBRyxjQUFNLENBQUM7QUFFRSxRQUFBLFNBQVMsR0FBRyxJQUFBLDBCQUFhLEVBQUM7SUFDckMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDdkM7UUFFRCxNQUFNLFlBQVksR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQzVCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3BCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsTUFBTSxFQUFFLE9BQUM7aUJBQ04sTUFBTSxFQUFFO2lCQUNSLEVBQUUsQ0FBQyxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lC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LENBQUMsR0FBRyxDQUNsRCxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FDbEQsQ0FBQztJQUVGLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQzFELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7SUFDN0MsSUFBSTtRQUNGLE1BQU0sU0FBUyxHQUFVLElBQUEsWUFBSyxFQUFDLElBQUksRUFBRTtZQUNuQyxPQUFPLEVBQUUsSUFBSTtZQUNiLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUFDLE9BQU8sS0FBVSxFQUFFO1FBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGVxZXFlcSAqL1xuaW1wb3J0IHtyZWFkRmlsZX0gZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcbmltcG9ydCB7cGFyc2V9IGZyb20gJ2Nzdi1wYXJzZS9zeW5jJztcblxuaW1wb3J0IHtDb25maWdQYXJhbXMsIFBsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcbmltcG9ydCB7UGx1Z2luRmFjdG9yeX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtFUlJPUlMsIHZhbGlkYXRlfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtcbiAgRklMRV9GRVRDSF9GQUlMRUQsXG4gIEZJTEVfUkVBRF9GQUlMRUQsXG4gIE1JU1NJTkdfQ1NWX0NPTFVNTixcbiAgTUlTU0lOR19DT05GSUcsXG4gIE5PX1FVRVJZX0RBVEEsXG59ID0gU1RSSU5HUztcblxuY29uc3Qge1xuICBGZXRjaGluZ0ZpbGVFcnJvcixcbiAgUmVhZEZpbGVFcnJvcixcbiAgTWlzc2luZ0NTVkNvbHVtbkVycm9yLFxuICBRdWVyeURhdGFOb3RGb3VuZEVycm9yLFxuICBDb25maWdFcnJvcixcbiAgQ1NWUGFyc2VFcnJvcixcbn0gPSBFUlJPUlM7XG5cbmV4cG9ydCBjb25zdCBDU1ZMb29rdXAgPSBQbHVnaW5GYWN0b3J5KHtcbiAgY29uZmlnVmFsaWRhdGlvbjogKGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgaWYgKCFjb25maWcgfHwgIU9iamVjdC5rZXlzKGNvbmZpZyk/Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKE1JU1NJTkdfQ09ORklHKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICBmaWxlcGF0aDogei5zdHJpbmcoKSxcbiAgICAgIHF1ZXJ5OiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKSxcbiAgICAgIG91dHB1dDogelxuICAgICAgICAuc3RyaW5nKClcbiAgICAgICAgLm9yKHouYXJyYXkoei5zdHJpbmcoKSkpXG4gICAgICAgIC5vcih6LmFycmF5KHouYXJyYXkoei5zdHJpbmcoKSkpKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBjb25maWdTY2hlbWE+Pihjb25maWdTY2hlbWEsIGNvbmZpZyk7XG4gIH0sXG4gIGltcGxlbWVudGF0aW9uOiBhc3luYyAoaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSwgY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICAvKipcbiAgICAgKiAxLiBUcmllcyB0byByZXRyaWV2ZSBnaXZlbiBmaWxlICh3aXRoIHVybCBvciBsb2NhbCBwYXRoKS5cbiAgICAgKiAyLiBQYXJzZXMgZ2l2ZW4gQ1NWLlxuICAgICAqIDMuIEZpbHRlcnMgcmVxdWVzdGVkIGluZm9ybWF0aW9uIGZyb20gQ1NWLlxuICAgICAqL1xuICAgIGNvbnN0IHtmaWxlcGF0aCwgcXVlcnksIG91dHB1dH0gPSBjb25maWc7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHJldHJpZXZlRmlsZShmaWxlcGF0aCk7XG4gICAgY29uc3QgcGFyc2VkQ1NWID0gcGFyc2VDU1ZGaWxlKGZpbGUpO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgLyoqIENvbGxlY3RzIHF1ZXJ5IHZhbHVlcyBmcm9tIGlucHV0LiAqL1xuICAgICAgY29uc3QgcXVlcnlEYXRhOiBhbnkgPSB7fTtcbiAgICAgIGNvbnN0IHF1ZXJ5S2V5cyA9IE9iamVjdC5rZXlzKHF1ZXJ5KTtcbiAgICAgIHF1ZXJ5S2V5cy5mb3JFYWNoKHF1ZXJ5S2V5ID0+IHtcbiAgICAgICAgY29uc3QgcXVlcnlWYWx1ZSA9IHF1ZXJ5W3F1ZXJ5S2V5XTtcbiAgICAgICAgcXVlcnlEYXRhW3F1ZXJ5S2V5XSA9IGlucHV0W3F1ZXJ5VmFsdWVdO1xuICAgICAgfSk7XG5cbiAgICAgIC8qKiBHZXRzIHJlbGF0ZWQgZGF0YSBmcm9tIENTVi4gKi9cbiAgICAgIGNvbnN0IHJlbGF0ZWREYXRhID0gcGFyc2VkQ1NWLmZpbmQod2l0aENyaXRlcmlhKHF1ZXJ5RGF0YSkpO1xuXG4gICAgICBpZiAoIXJlbGF0ZWREYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBRdWVyeURhdGFOb3RGb3VuZEVycm9yKE5PX1FVRVJZX0RBVEEpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgLi4uZmlsdGVyT3V0cHV0KHJlbGF0ZWREYXRhLCB7b3V0cHV0LCBxdWVyeX0pLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIENoZWNrcyBpZiBnaXZlbiBzdHJpbmcgaXMgVVJMLlxuICovXG5jb25zdCBpc1VSTCA9IChmaWxlcGF0aDogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgbmV3IFVSTChmaWxlcGF0aCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBnaXZlbiBgZmlsZXBhdGhgIGlzIHVybCwgdGhlbiB0cmllcyB0byBmZXRjaCBpdC5cbiAqIE90aGVyd2lzZSB0cmllcyB0byByZWFkIGZpbGUuXG4gKi9cbmNvbnN0IHJldHJpZXZlRmlsZSA9IGFzeW5jIChmaWxlcGF0aDogc3RyaW5nKSA9PiB7XG4gIGlmIChpc1VSTChmaWxlcGF0aCkpIHtcbiAgICBjb25zdCB7ZGF0YX0gPSBhd2FpdCBheGlvcy5nZXQoZmlsZXBhdGgpLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIHRocm93IG5ldyBGZXRjaGluZ0ZpbGVFcnJvcihcbiAgICAgICAgRklMRV9GRVRDSF9GQUlMRUQoZmlsZXBhdGgsIGVycm9yLnJlc3BvbnNlLm1lc3NhZ2UpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICByZXR1cm4gcmVhZEZpbGUoZmlsZXBhdGgpLmNhdGNoKGVycm9yID0+IHtcbiAgICB0aHJvdyBuZXcgUmVhZEZpbGVFcnJvcihGSUxFX1JFQURfRkFJTEVEKGZpbGVwYXRoLCBlcnJvcikpO1xuICB9KTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHZhbHVlIGlzIGludmFsaWQ6IGB1bmRlZmluZWRgLCBgbnVsbGAgb3IgYW4gZW1wdHkgc3RyaW5nLCB0aGVuIHNldHMgYG5hbmAgaW5zdGVhZC5cbiAqL1xuY29uc3Qgc2V0TmFuVmFsdWUgPSAodmFsdWU6IGFueSkgPT5cbiAgdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgPyAnbmFuJyA6IHZhbHVlO1xuXG4vKipcbiAqIENvbnZlcnRzIGVtcHR5IHZhbHVlcyB0byBgbmFuYC5cbiAqL1xuY29uc3QgbmFuaWZ5RW1wdHlWYWx1ZXMgPSAob2JqZWN0OiBhbnkpID0+IHtcbiAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG5cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICBvYmplY3Rba2V5XSA9IHNldE5hblZhbHVlKHZhbHVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICByZXR1cm4gc2V0TmFuVmFsdWUob2JqZWN0KTtcbn07XG5cbi8qKlxuICogSWYgYGZpZWxkYCBpcyBtaXNzaW5nIGZyb20gYG9iamVjdGAsIHRoZW4gcmVqZWN0IHdpdGggZXJyb3IuXG4gKiBPdGhlcndpc2UgbmFuaWZ5IGVtcHR5IHZhbHVlcyBhbmQgcmV0dXJuIGRhdGEuXG4gKi9cbmNvbnN0IGZpZWxkQWNjZXNzb3IgPSAoZmllbGQ6IHN0cmluZywgb2JqZWN0OiBhbnkpID0+IHtcbiAgaWYgKCEoYCR7ZmllbGR9YCBpbiBvYmplY3QpKSB7XG4gICAgdGhyb3cgbmV3IE1pc3NpbmdDU1ZDb2x1bW5FcnJvcihNSVNTSU5HX0NTVl9DT0xVTU4oZmllbGQpKTtcbiAgfVxuXG4gIHJldHVybiBuYW5pZnlFbXB0eVZhbHVlcyhvYmplY3RbZmllbGRdKTtcbn07XG5cbi8qKlxuICogMS4gSWYgb3V0cHV0IGlzIGFueXRoaW5nLCB0aGVuIHJlbW92ZXMgcXVlcnkgZGF0YSBmcm9tIGNzdiByZWNvcmQgdG8gZXNjYXBlIGR1cGxpY2F0ZXMuXG4gKiAyLiBPdGhlcndpc2UgY2hlY2tzIGlmIGl0J3MgYSBtaWx0aWRpbWVuc2lvbmFsIGFycmF5LCB0aGVuIGdyYWJzIG11bHRpcGxlIGZpZWxkcyAoKS5cbiAqIDMuIElmIG5vdCwgdGhlbiByZXR1cm5zIHNpbmdsZSBmaWVsZC5cbiAqIDQuIEluIGNhc2UgaWYgaXQncyBzdHJpbmcsIHRoZW5cbiAqL1xuY29uc3QgZmlsdGVyT3V0cHV0ID0gKFxuICBkYXRhRnJvbUNTVjogYW55LFxuICBwYXJhbXM6IHtcbiAgICBvdXRwdXQ6IHN0cmluZyB8IHN0cmluZ1tdIHwgc3RyaW5nW11bXTtcbiAgICBxdWVyeTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgfVxuKSA9PiB7XG4gIGNvbnN0IHtvdXRwdXQsIHF1ZXJ5fSA9IHBhcmFtcztcblxuICBpZiAob3V0cHV0ID09PSAnKicpIHtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocXVlcnkpO1xuXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBkZWxldGUgZGF0YUZyb21DU1Zba2V5XTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuYW5pZnlFbXB0eVZhbHVlcyhkYXRhRnJvbUNTVik7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvdXRwdXQpKSB7XG4gICAgLyoqIENoZWNrIGlmIGl0J3MgYSBtdWx0aWRpbWVuc2lvbmFsIGFycmF5LiAqL1xuICAgIGlmIChBcnJheS5pc0FycmF5KG91dHB1dFswXSkpIHtcbiAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG5cbiAgICAgIG91dHB1dC5mb3JFYWNoKG91dHB1dEZpZWxkID0+IHtcbiAgICAgICAgLyoqIENoZWNrIGlmIHRoZXJlIGlzIG5vIHJlbmFtaW5nIHJlcXVlc3QsIHRoZW4gZXhwb3J0IGFzIGlzICovXG4gICAgICAgIGNvbnN0IG91dHB1dFRpdGxlID0gb3V0cHV0RmllbGRbMV0gfHwgb3V0cHV0RmllbGRbMF07XG4gICAgICAgIHJlc3VsdFtvdXRwdXRUaXRsZV0gPSBmaWVsZEFjY2Vzc29yKG91dHB1dEZpZWxkWzBdLCBkYXRhRnJvbUNTVik7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjb25zdCBvdXRwdXRUaXRsZSA9IG91dHB1dFsxXSB8fCBvdXRwdXRbMF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgW291dHB1dFRpdGxlIGFzIHN0cmluZ106IGZpZWxkQWNjZXNzb3Iob3V0cHV0WzBdLCBkYXRhRnJvbUNTViksXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgW291dHB1dF06IGZpZWxkQWNjZXNzb3Iob3V0cHV0LCBkYXRhRnJvbUNTViksXG4gIH07XG59O1xuXG4vKipcbiAqIEFzc2VydHMgQ1NWIHJlY29yZCB3aXRoIHF1ZXJ5IGRhdGEuXG4gKi9cbmNvbnN0IHdpdGhDcml0ZXJpYSA9IChxdWVyeURhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IChjc3ZSZWNvcmQ6IGFueSkgPT4ge1xuICBjb25zdCBpZk1hdGNoZXNDcml0ZXJpYSA9IE9iamVjdC5rZXlzKHF1ZXJ5RGF0YSkubWFwKFxuICAgIChrZXk6IHN0cmluZykgPT4gY3N2UmVjb3JkW2tleV0gPT0gcXVlcnlEYXRhW2tleV1cbiAgKTtcblxuICByZXR1cm4gaWZNYXRjaGVzQ3JpdGVyaWEuZXZlcnkodmFsdWUgPT4gdmFsdWUgPT09IHRydWUpO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgQ1NWIGZpbGUuXG4gKi9cbmNvbnN0IHBhcnNlQ1NWRmlsZSA9IChmaWxlOiBzdHJpbmcgfCBCdWZmZXIpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWRDU1Y6IGFueVtdID0gcGFyc2UoZmlsZSwge1xuICAgICAgY29sdW1uczogdHJ1ZSxcbiAgICAgIHNraXBfZW1wdHlfbGluZXM6IHRydWUsXG4gICAgICBjYXN0OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcnNlZENTVjtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIHRocm93IG5ldyBDU1ZQYXJzZUVycm9yKGVycm9yKTtcbiAgfVxufTtcbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2Nzdi1sb29rdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQTJCO0FBQzNCLDZCQUFzQjtBQUd0QiwyREFBeUQ7QUFDekQsaURBQXVEO0FBRXZELHlDQUFxQztBQUNyQyxxREFLNkI7QUFFN0IsTUFBTSxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRWhELE1BQU0sRUFBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFeEMsUUFBQSxTQUFTLEdBQUcsSUFBQSwwQkFBYSxFQUFDO0lBQ3JDLGdCQUFnQixFQUFFLENBQUMsTUFBb0IsRUFBRSxFQUFFO1FBQ3pDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRTtZQUMzQyxNQUFNLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsTUFBTSxZQUFZLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNwQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxPQUFDO2lCQUNOLE1BQU0sRUFBRTtpQkFDUixFQUFFLENBQUMsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztpQkFDdkIsRUFBRSxDQUFDLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILE9B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QUFDLENBQUMsRUFBRSxXQUFXLENBQUM7U0FDL0QsQ0FBQztLQUNIO0lBRUQsT0FBTztRQUNMLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBQSwyQkFBYSxFQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7S0FDN0MsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFO0lBQzFFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQ2xELENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUNsRCxDQUFDO0lBRUYsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7Q29uZmlnUGFyYW1zLCBQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5pbXBvcnQge1BsdWdpbkZhY3Rvcnl9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVJST1JTLCB2YWxpZGF0ZX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHtcbiAgZmllbGRBY2Nlc3NvcixcbiAgbmFuaWZ5RW1wdHlWYWx1ZXMsXG4gIHBhcnNlQ1NWRmlsZSxcbiAgcmV0cmlldmVGaWxlLFxufSBmcm9tICcuLi91dGlsL2Nzdi1oZWxwZXJzJztcblxuY29uc3Qge01JU1NJTkdfQ09ORklHLCBOT19RVUVSWV9EQVRBfSA9IFNUUklOR1M7XG5cbmNvbnN0IHtRdWVyeURhdGFOb3RGb3VuZEVycm9yLCBDb25maWdFcnJvcn0gPSBFUlJPUlM7XG5cbmV4cG9ydCBjb25zdCBDU1ZMb29rdXAgPSBQbHVnaW5GYWN0b3J5KHtcbiAgY29uZmlnVmFsaWRhdGlvbjogKGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgaWYgKCFjb25maWcgfHwgIU9iamVjdC5rZXlzKGNvbmZpZyk/Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKE1JU1NJTkdfQ09ORklHKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICBmaWxlcGF0aDogei5zdHJpbmcoKSxcbiAgICAgIHF1ZXJ5OiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKSxcbiAgICAgIG91dHB1dDogelxuICAgICAgICAuc3RyaW5nKClcbiAgICAgICAgLm9yKHouYXJyYXkoei5zdHJpbmcoKSkpXG4gICAgICAgIC5vcih6LmFycmF5KHouYXJyYXkoei5zdHJpbmcoKSkpKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBjb25maWdTY2hlbWE+Pihjb25maWdTY2hlbWEsIGNvbmZpZyk7XG4gIH0sXG4gIGltcGxlbWVudGF0aW9uOiBhc3luYyAoaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSwgY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICAvKipcbiAgICAgKiAxLiBUcmllcyB0byByZXRyaWV2ZSBnaXZlbiBmaWxlICh3aXRoIHVybCBvciBsb2NhbCBwYXRoKS5cbiAgICAgKiAyLiBQYXJzZXMgZ2l2ZW4gQ1NWLlxuICAgICAqIDMuIEZpbHRlcnMgcmVxdWVzdGVkIGluZm9ybWF0aW9uIGZyb20gQ1NWLlxuICAgICAqL1xuICAgIGNvbnN0IHtmaWxlcGF0aCwgcXVlcnksIG91dHB1dH0gPSBjb25maWc7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHJldHJpZXZlRmlsZShmaWxlcGF0aCk7XG4gICAgY29uc3QgcGFyc2VkQ1NWID0gcGFyc2VDU1ZGaWxlKGZpbGUpO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgLyoqIENvbGxlY3RzIHF1ZXJ5IHZhbHVlcyBmcm9tIGlucHV0LiAqL1xuICAgICAgY29uc3QgcXVlcnlEYXRhOiBhbnkgPSB7fTtcbiAgICAgIGNvbnN0IHF1ZXJ5S2V5cyA9IE9iamVjdC5rZXlzKHF1ZXJ5KTtcbiAgICAgIHF1ZXJ5S2V5cy5mb3JFYWNoKHF1ZXJ5S2V5ID0+IHtcbiAgICAgICAgY29uc3QgcXVlcnlWYWx1ZSA9IHF1ZXJ5W3F1ZXJ5S2V5XTtcbiAgICAgICAgcXVlcnlEYXRhW3F1ZXJ5S2V5XSA9IGlucHV0W3F1ZXJ5VmFsdWVdO1xuICAgICAgfSk7XG5cbiAgICAgIC8qKiBHZXRzIHJlbGF0ZWQgZGF0YSBmcm9tIENTVi4gKi9cbiAgICAgIGNvbnN0IHJlbGF0ZWREYXRhID0gcGFyc2VkQ1NWLmZpbmQod2l0aENyaXRlcmlhKHF1ZXJ5RGF0YSkpO1xuXG4gICAgICBpZiAoIXJlbGF0ZWREYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBRdWVyeURhdGFOb3RGb3VuZEVycm9yKE5PX1FVRVJZX0RBVEEpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgLi4uZmlsdGVyT3V0cHV0KHJlbGF0ZWREYXRhLCB7b3V0cHV0LCBxdWVyeX0pLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIDEuIElmIG91dHB1dCBpcyBhbnl0aGluZywgdGhlbiByZW1vdmVzIHF1ZXJ5IGRhdGEgZnJvbSBjc3YgcmVjb3JkIHRvIGVzY2FwZSBkdXBsaWNhdGVzLlxuICogMi4gT3RoZXJ3aXNlIGNoZWNrcyBpZiBpdCdzIGEgbWlsdGlkaW1lbnNpb25hbCBhcnJheSwgdGhlbiBncmFicyBtdWx0aXBsZSBmaWVsZHMgKCkuXG4gKiAzLiBJZiBub3QsIHRoZW4gcmV0dXJucyBzaW5nbGUgZmllbGQuXG4gKiA0LiBJbiBjYXNlIGlmIGl0J3Mgc3RyaW5nLCB0aGVuXG4gKi9cbmNvbnN0IGZpbHRlck91dHB1dCA9IChcbiAgZGF0YUZyb21DU1Y6IGFueSxcbiAgcGFyYW1zOiB7XG4gICAgb3V0cHV0OiBzdHJpbmcgfCBzdHJpbmdbXSB8IHN0cmluZ1tdW107XG4gICAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH1cbikgPT4ge1xuICBjb25zdCB7b3V0cHV0LCBxdWVyeX0gPSBwYXJhbXM7XG5cbiAgaWYgKG91dHB1dCA9PT0gJyonKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHF1ZXJ5KTtcblxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgZGVsZXRlIGRhdGFGcm9tQ1NWW2tleV07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmFuaWZ5RW1wdHlWYWx1ZXMoZGF0YUZyb21DU1YpO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob3V0cHV0KSkge1xuICAgIC8qKiBDaGVjayBpZiBpdCdzIGEgbXVsdGlkaW1lbnNpb25hbCBhcnJheS4gKi9cbiAgICBpZiAoQXJyYXkuaXNBcnJheShvdXRwdXRbMF0pKSB7XG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuXG4gICAgICBvdXRwdXQuZm9yRWFjaChvdXRwdXRGaWVsZCA9PiB7XG4gICAgICAgIC8qKiBDaGVjayBpZiB0aGVyZSBpcyBubyByZW5hbWluZyByZXF1ZXN0LCB0aGVuIGV4cG9ydCBhcyBpcyAqL1xuICAgICAgICBjb25zdCBvdXRwdXRUaXRsZSA9IG91dHB1dEZpZWxkWzFdIHx8IG91dHB1dEZpZWxkWzBdO1xuICAgICAgICByZXN1bHRbb3V0cHV0VGl0bGVdID0gZmllbGRBY2Nlc3NvcihvdXRwdXRGaWVsZFswXSwgZGF0YUZyb21DU1YpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0VGl0bGUgPSBvdXRwdXRbMV0gfHwgb3V0cHV0WzBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIFtvdXRwdXRUaXRsZSBhcyBzdHJpbmddOiBmaWVsZEFjY2Vzc29yKG91dHB1dFswXSwgZGF0YUZyb21DU1YpLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIFtvdXRwdXRdOiBmaWVsZEFjY2Vzc29yKG91dHB1dCwgZGF0YUZyb21DU1YpLFxuICB9O1xufTtcblxuLyoqXG4gKiBBc3NlcnRzIENTViByZWNvcmQgd2l0aCBxdWVyeSBkYXRhLlxuICovXG5jb25zdCB3aXRoQ3JpdGVyaWEgPSAocXVlcnlEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiAoY3N2UmVjb3JkOiBhbnkpID0+IHtcbiAgY29uc3QgaWZNYXRjaGVzQ3JpdGVyaWEgPSBPYmplY3Qua2V5cyhxdWVyeURhdGEpLm1hcChcbiAgICAoa2V5OiBzdHJpbmcpID0+IGNzdlJlY29yZFtrZXldID09IHF1ZXJ5RGF0YVtrZXldXG4gICk7XG5cbiAgcmV0dXJuIGlmTWF0Y2hlc0NyaXRlcmlhLmV2ZXJ5KHZhbHVlID0+IHZhbHVlID09PSB0cnVlKTtcbn07XG4iXX0=
@@ -55,9 +55,7 @@ exports.Divide = (0, interfaces_1.PluginFactory)({
55
55
  */
56
56
  const calculateDivide = (input, index, params) => {
57
57
  const { denominator, numerator } = params;
58
- const finalDenominator = typeof denominator === 'number'
59
- ? denominator
60
- : input[denominator] || denominator;
58
+ const finalDenominator = typeof denominator === 'number' ? denominator : input[denominator];
61
59
  const finalNumerator = typeof numerator === 'number' ? numerator : input[numerator];
62
60
  if (finalDenominator === 0) {
63
61
  console.warn(ZERO_DIVISION(exports.Divide.name, index));
@@ -65,4 +63,4 @@ const calculateDivide = (input, index, params) => {
65
63
  }
66
64
  return finalNumerator / finalDenominator;
67
65
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2RpdmlkZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBc0I7QUFHdEIsMkRBQXlEO0FBQ3pELGlEQUE2QztBQUU3QyxrRUFBMEQ7QUFFMUQseUNBQXFDO0FBRXJDLE1BQU0sRUFBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDcEQsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXZELFFBQUEsTUFBTSxHQUFHLElBQUEsMEJBQWEsRUFBQztJQUNsQyxnQkFBZ0IsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDM0MsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sTUFBTSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtTQUNuQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsc0JBQVEsRUFBeUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxlQUFlLEVBQUUsQ0FBQyxLQUFtQixFQUFFLE1BQW9CLEVBQUUsRUFBRTtRQUM3RCxNQUFNLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUV4QyxNQUFNLE1BQU0sR0FBRyxPQUFDO2FBQ2IsTUFBTSxDQUFDO1lBQ04sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNyQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUMxRCxNQUFNLElBQUkscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzthQUNsRTtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLElBQUEsc0JBQVEsRUFBeUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQXNCLEVBQUUsTUFBb0IsRUFBRSxFQUFFO1FBQ3JFLE1BQU0sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUVoRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDckQsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksU0FBUztnQkFDdkMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksV0FBVzthQUM5QyxDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixDQUFDLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQjthQUMzQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsMEJBQTBCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO0NBQ3pELENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBbUIsRUFDbkIsS0FBYSxFQUNiLE1BR0MsRUFDRCxFQUFFO0lBQ0YsTUFBTSxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFDeEMsTUFBTSxnQkFBZ0IsR0FDcEIsT0FBTyxXQUFXLEtBQUssUUFBUTtRQUM3QixDQUFDLENBQUMsV0FBVztRQUNiLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDO0lBQ3hDLE1BQU0sY0FBYyxHQUNsQixPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9ELElBQUksZ0JBQWdCLEtBQUssQ0FBQyxFQUFFO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRCxPQUFPLGNBQWMsQ0FBQztLQUN2QjtJQUVELE9BQU8sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBQzNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtDb25maWdQYXJhbXMsIFBsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcbmltcG9ydCB7UGx1Z2luRmFjdG9yeX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5jb25zdCB7TWlzc2luZ0lucHV0RGF0YUVycm9yLCBDb25maWdFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7TUlTU0lOR19JTlBVVF9EQVRBLCBaRVJPX0RJVklTSU9OLCBNSVNTSU5HX0NPTkZJR30gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlID0gUGx1Z2luRmFjdG9yeSh7XG4gIGNvbmZpZ1ZhbGlkYXRpb246IChjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGlmICghY29uZmlnIHx8ICFPYmplY3Qua2V5cyhjb25maWcpPy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBDb25maWdFcnJvcihNSVNTSU5HX0NPTkZJRyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZW1hID0gei5vYmplY3Qoe1xuICAgICAgbnVtZXJhdG9yOiB6LnN0cmluZygpLm1pbigxKSxcbiAgICAgIGRlbm9taW5hdG9yOiB6LnN0cmluZygpLm9yKHoubnVtYmVyKCkpLFxuICAgICAgb3V0cHV0OiB6LnN0cmluZygpLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIHNjaGVtYT4+KHNjaGVtYSwgY29uZmlnKTtcbiAgfSxcbiAgaW5wdXRWYWxpZGF0aW9uOiAoaW5wdXQ6IFBsdWdpblBhcmFtcywgY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICBjb25zdCB7bnVtZXJhdG9yLCBkZW5vbWluYXRvcn0gPSBjb25maWc7XG5cbiAgICBjb25zdCBzY2hlbWEgPSB6XG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgW251bWVyYXRvcl06IHoubnVtYmVyKCksXG4gICAgICAgIFtkZW5vbWluYXRvcl06IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKCgpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBkZW5vbWluYXRvciA9PT0gJ3N0cmluZycgJiYgIWlucHV0W2Rlbm9taW5hdG9yXSkge1xuICAgICAgICAgIHRocm93IG5ldyBNaXNzaW5nSW5wdXREYXRhRXJyb3IoTUlTU0lOR19JTlBVVF9EQVRBKGRlbm9taW5hdG9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIHNjaGVtYT4+KHNjaGVtYSwgaW5wdXQpO1xuICB9LFxuICBpbXBsZW1lbnRhdGlvbjogYXN5bmMgKGlucHV0czogUGx1Z2luUGFyYW1zW10sIGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgY29uc3Qge251bWVyYXRvciwgZGVub21pbmF0b3IsIG91dHB1dH0gPSBjb25maWc7XG5cbiAgICByZXR1cm4gaW5wdXRzLm1hcCgoaW5wdXQsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjYWxjdWxhdGVkUmVzdWx0ID0gY2FsY3VsYXRlRGl2aWRlKGlucHV0LCBpbmRleCwge1xuICAgICAgICBudW1lcmF0b3I6IGlucHV0Lm51bWVyYXRvciB8fCBudW1lcmF0b3IsXG4gICAgICAgIGRlbm9taW5hdG9yOiBpbnB1dC5kZW5vbWluYXRvciB8fCBkZW5vbWluYXRvcixcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgW291dHB1dF06IGNhbGN1bGF0ZWRSZXN1bHQsXG4gICAgICB9O1xuICAgIH0pO1xuICB9LFxuICBhbGxvd0FyaXRobWV0aWNFeHByZXNzaW9uczogWydudW1lcmF0b3InLCAnZGVub21pbmF0b3InXSxcbn0pO1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGRpdmlzaW9uIG9mIHRoZSBnaXZlbiBwYXJhbWV0ZXIuXG4gKi9cbmNvbnN0IGNhbGN1bGF0ZURpdmlkZSA9IChcbiAgaW5wdXQ6IFBsdWdpblBhcmFtcyxcbiAgaW5kZXg6IG51bWJlcixcbiAgcGFyYW1zOiB7XG4gICAgbnVtZXJhdG9yOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgZGVub21pbmF0b3I6IG51bWJlciB8IHN0cmluZztcbiAgfVxuKSA9PiB7XG4gIGNvbnN0IHtkZW5vbWluYXRvciwgbnVtZXJhdG9yfSA9IHBhcmFtcztcbiAgY29uc3QgZmluYWxEZW5vbWluYXRvciA9XG4gICAgdHlwZW9mIGRlbm9taW5hdG9yID09PSAnbnVtYmVyJ1xuICAgICAgPyBkZW5vbWluYXRvclxuICAgICAgOiBpbnB1dFtkZW5vbWluYXRvcl0gfHwgZGVub21pbmF0b3I7XG4gIGNvbnN0IGZpbmFsTnVtZXJhdG9yID1cbiAgICB0eXBlb2YgbnVtZXJhdG9yID09PSAnbnVtYmVyJyA/IG51bWVyYXRvciA6IGlucHV0W251bWVyYXRvcl07XG5cbiAgaWYgKGZpbmFsRGVub21pbmF0b3IgPT09IDApIHtcbiAgICBjb25zb2xlLndhcm4oWkVST19ESVZJU0lPTihEaXZpZGUubmFtZSwgaW5kZXgpKTtcbiAgICByZXR1cm4gZmluYWxOdW1lcmF0b3I7XG4gIH1cblxuICByZXR1cm4gZmluYWxOdW1lcmF0b3IgLyBmaW5hbERlbm9taW5hdG9yO1xufTtcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2RpdmlkZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBc0I7QUFHdEIsMkRBQXlEO0FBQ3pELGlEQUE2QztBQUU3QyxrRUFBMEQ7QUFFMUQseUNBQXFDO0FBRXJDLE1BQU0sRUFBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDcEQsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXZELFFBQUEsTUFBTSxHQUFHLElBQUEsMEJBQWEsRUFBQztJQUNsQyxnQkFBZ0IsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDM0MsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sTUFBTSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtTQUNuQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsc0JBQVEsRUFBeUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxlQUFlLEVBQUUsQ0FBQyxLQUFtQixFQUFFLE1BQW9CLEVBQUUsRUFBRTtRQUM3RCxNQUFNLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUV4QyxNQUFNLE1BQU0sR0FBRyxPQUFDO2FBQ2IsTUFBTSxDQUFDO1lBQ04sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNyQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUMxRCxNQUFNLElBQUkscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzthQUNsRTtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLElBQUEsc0JBQVEsRUFBeUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQXNCLEVBQUUsTUFBb0IsRUFBRSxFQUFFO1FBQ3JFLE1BQU0sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUVoRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDckQsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksU0FBUztnQkFDdkMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksV0FBVzthQUM5QyxDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixDQUFDLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQjthQUMzQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsMEJBQTBCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO0NBQ3pELENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBbUIsRUFDbkIsS0FBYSxFQUNiLE1BR0MsRUFDRCxFQUFFO0lBQ0YsTUFBTSxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFDeEMsTUFBTSxnQkFBZ0IsR0FDcEIsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRSxNQUFNLGNBQWMsR0FDbEIsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvRCxJQUFJLGdCQUFnQixLQUFLLENBQUMsRUFBRTtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxjQUFjLENBQUM7S0FDdkI7SUFFRCxPQUFPLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7Q29uZmlnUGFyYW1zLCBQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5pbXBvcnQge1BsdWdpbkZhY3Rvcnl9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuY29uc3Qge01pc3NpbmdJbnB1dERhdGFFcnJvciwgQ29uZmlnRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge01JU1NJTkdfSU5QVVRfREFUQSwgWkVST19ESVZJU0lPTiwgTUlTU0lOR19DT05GSUd9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IERpdmlkZSA9IFBsdWdpbkZhY3Rvcnkoe1xuICBjb25maWdWYWxpZGF0aW9uOiAoY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICBpZiAoIWNvbmZpZyB8fCAhT2JqZWN0LmtleXMoY29uZmlnKT8ubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoTUlTU0lOR19DT05GSUcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIG51bWVyYXRvcjogei5zdHJpbmcoKS5taW4oMSksXG4gICAgICBkZW5vbWluYXRvcjogei5zdHJpbmcoKS5vcih6Lm51bWJlcigpKSxcbiAgICAgIG91dHB1dDogei5zdHJpbmcoKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIGNvbmZpZyk7XG4gIH0sXG4gIGlucHV0VmFsaWRhdGlvbjogKGlucHV0OiBQbHVnaW5QYXJhbXMsIGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgY29uc3Qge251bWVyYXRvciwgZGVub21pbmF0b3J9ID0gY29uZmlnO1xuXG4gICAgY29uc3Qgc2NoZW1hID0gelxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIFtudW1lcmF0b3JdOiB6Lm51bWJlcigpLFxuICAgICAgICBbZGVub21pbmF0b3JdOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgICB9KVxuICAgICAgLnJlZmluZSgoKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVub21pbmF0b3IgPT09ICdzdHJpbmcnICYmICFpbnB1dFtkZW5vbWluYXRvcl0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTWlzc2luZ0lucHV0RGF0YUVycm9yKE1JU1NJTkdfSU5QVVRfREFUQShkZW5vbWluYXRvcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIGlucHV0KTtcbiAgfSxcbiAgaW1wbGVtZW50YXRpb246IGFzeW5jIChpbnB1dHM6IFBsdWdpblBhcmFtc1tdLCBjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGNvbnN0IHtudW1lcmF0b3IsIGRlbm9taW5hdG9yLCBvdXRwdXR9ID0gY29uZmlnO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoKGlucHV0LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY2FsY3VsYXRlZFJlc3VsdCA9IGNhbGN1bGF0ZURpdmlkZShpbnB1dCwgaW5kZXgsIHtcbiAgICAgICAgbnVtZXJhdG9yOiBpbnB1dC5udW1lcmF0b3IgfHwgbnVtZXJhdG9yLFxuICAgICAgICBkZW5vbWluYXRvcjogaW5wdXQuZGVub21pbmF0b3IgfHwgZGVub21pbmF0b3IsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXQsXG4gICAgICAgIFtvdXRwdXRdOiBjYWxjdWxhdGVkUmVzdWx0LFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSxcbiAgYWxsb3dBcml0aG1ldGljRXhwcmVzc2lvbnM6IFsnbnVtZXJhdG9yJywgJ2Rlbm9taW5hdG9yJ10sXG59KTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBkaXZpc2lvbiBvZiB0aGUgZ2l2ZW4gcGFyYW1ldGVyLlxuICovXG5jb25zdCBjYWxjdWxhdGVEaXZpZGUgPSAoXG4gIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gIGluZGV4OiBudW1iZXIsXG4gIHBhcmFtczoge1xuICAgIG51bWVyYXRvcjogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGRlbm9taW5hdG9yOiBudW1iZXIgfCBzdHJpbmc7XG4gIH1cbikgPT4ge1xuICBjb25zdCB7ZGVub21pbmF0b3IsIG51bWVyYXRvcn0gPSBwYXJhbXM7XG4gIGNvbnN0IGZpbmFsRGVub21pbmF0b3IgPVxuICAgIHR5cGVvZiBkZW5vbWluYXRvciA9PT0gJ251bWJlcicgPyBkZW5vbWluYXRvciA6IGlucHV0W2Rlbm9taW5hdG9yXTtcbiAgY29uc3QgZmluYWxOdW1lcmF0b3IgPVxuICAgIHR5cGVvZiBudW1lcmF0b3IgPT09ICdudW1iZXInID8gbnVtZXJhdG9yIDogaW5wdXRbbnVtZXJhdG9yXTtcblxuICBpZiAoZmluYWxEZW5vbWluYXRvciA9PT0gMCkge1xuICAgIGNvbnNvbGUud2FybihaRVJPX0RJVklTSU9OKERpdmlkZS5uYW1lLCBpbmRleCkpO1xuICAgIHJldHVybiBmaW5hbE51bWVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBmaW5hbE51bWVyYXRvciAvIGZpbmFsRGVub21pbmF0b3I7XG59O1xuIl19
@@ -23,14 +23,12 @@ exports.Exponent = (0, interfaces_1.PluginFactory)({
23
23
  inputValidation: (input, config) => {
24
24
  const inputParameter = config['input-parameter'];
25
25
  const inputData = {
26
- [inputParameter]: typeof inputParameter === 'number'
27
- ? inputParameter
28
- : input[inputParameter],
26
+ [inputParameter]: input[inputParameter],
29
27
  };
30
28
  const validationSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.number());
31
29
  return (0, validations_1.validate)(validationSchema, inputData);
32
30
  },
33
- implementation: async (inputs, config = {}) => {
31
+ implementation: async (inputs, config) => {
34
32
  const { 'input-parameter': inputParameter, exponent, 'output-parameter': outputParameter, } = config;
35
33
  return inputs.map(input => {
36
34
  const calculatedResult = calculateExponent(input, inputParameter, exponent);
@@ -49,4 +47,4 @@ const calculateExponent = (input, inputParameter, exponent) => {
49
47
  const base = typeof inputParameter === 'number' ? inputParameter : input[inputParameter];
50
48
  return Math.pow(base, exponent);
51
49
  };
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2V4cG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUErQjtBQUcvQiwyREFBeUQ7QUFDekQsaURBQTZDO0FBRTdDLGtFQUEwRDtBQUUxRCx5Q0FBcUM7QUFFckMsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUM3QixNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVwQixRQUFBLFFBQVEsR0FBRyxJQUFBLDBCQUFhLEVBQUM7SUFDcEMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDdkM7UUFFRCxNQUFNLFlBQVksR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQzVCLGlCQUFpQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3BCLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxzQkFBUSxFQUNiLFlBQTRCLEVBQzVCLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUNELGVBQWUsRUFBRSxDQUFDLEtBQW1CLEVBQUUsTUFBb0IsRUFBRSxFQUFFO1FBQzdELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLENBQUMsY0FBYyxDQUFDLEVBQ2QsT0FBTyxjQUFjLEtBQUssUUFBUTtnQkFDaEMsQ0FBQyxDQUFDLGNBQWM7Z0JBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1NBQzVCLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTFELE9BQU8sSUFBQSxzQkFBUSxFQUNiLGdCQUFnQixFQUNoQixTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFDRCxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQXNCLEVBQUUsU0FBdUIsRUFBRSxFQUFFLEVBQUU7UUFDMUUsTUFBTSxFQUNKLGlCQUFpQixFQUFFLGNBQWMsRUFDakMsUUFBUSxFQUNSLGtCQUFrQixFQUFFLGVBQWUsR0FDcEMsR0FBRyxNQUFNLENBQUM7UUFFWCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FDeEMsS0FBSyxFQUNMLGNBQWMsRUFDZCxRQUFRLENBQ1QsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLENBQUMsZUFBZSxDQUFDLEVBQUUsZ0JBQWdCO2FBQ3BDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCwwQkFBMEIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQztDQUM1RCxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FDeEIsS0FBbUIsRUFDbkIsY0FBK0IsRUFDL0IsUUFBZ0IsRUFDaEIsRUFBRTtJQUNGLE1BQU0sSUFBSSxHQUNSLE9BQU8sY0FBYyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFOUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3osIFpvZFR5cGV9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7UGx1Z2luUGFyYW1zLCBDb25maWdQYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5pbXBvcnQge1BsdWdpbkZhY3Rvcnl9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuY29uc3Qge0NvbmZpZ0Vycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtNSVNTSU5HX0NPTkZJR30gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgRXhwb25lbnQgPSBQbHVnaW5GYWN0b3J5KHtcbiAgY29uZmlnVmFsaWRhdGlvbjogKGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgaWYgKCFjb25maWcgfHwgIU9iamVjdC5rZXlzKGNvbmZpZyk/Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKE1JU1NJTkdfQ09ORklHKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICAnaW5wdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKS5taW4oMSksXG4gICAgICBleHBvbmVudDogei5udW1iZXIoKSxcbiAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKS5taW4oMSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2YgY29uZmlnU2NoZW1hPj4oXG4gICAgICBjb25maWdTY2hlbWEgYXMgWm9kVHlwZTxhbnk+LFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgfSxcbiAgaW5wdXRWYWxpZGF0aW9uOiAoaW5wdXQ6IFBsdWdpblBhcmFtcywgY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICBjb25zdCBpbnB1dFBhcmFtZXRlciA9IGNvbmZpZ1snaW5wdXQtcGFyYW1ldGVyJ107XG4gICAgY29uc3QgaW5wdXREYXRhID0ge1xuICAgICAgW2lucHV0UGFyYW1ldGVyXTpcbiAgICAgICAgdHlwZW9mIGlucHV0UGFyYW1ldGVyID09PSAnbnVtYmVyJ1xuICAgICAgICAgID8gaW5wdXRQYXJhbWV0ZXJcbiAgICAgICAgICA6IGlucHV0W2lucHV0UGFyYW1ldGVyXSxcbiAgICB9O1xuICAgIGNvbnN0IHZhbGlkYXRpb25TY2hlbWEgPSB6LnJlY29yZCh6LnN0cmluZygpLCB6Lm51bWJlcigpKTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiB2YWxpZGF0aW9uU2NoZW1hPj4oXG4gICAgICB2YWxpZGF0aW9uU2NoZW1hLFxuICAgICAgaW5wdXREYXRhXG4gICAgKTtcbiAgfSxcbiAgaW1wbGVtZW50YXRpb246IGFzeW5jIChpbnB1dHM6IFBsdWdpblBhcmFtc1tdLCBjb25maWc6IENvbmZpZ1BhcmFtcyA9IHt9KSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgJ2lucHV0LXBhcmFtZXRlcic6IGlucHV0UGFyYW1ldGVyLFxuICAgICAgZXhwb25lbnQsXG4gICAgICAnb3V0cHV0LXBhcmFtZXRlcic6IG91dHB1dFBhcmFtZXRlcixcbiAgICB9ID0gY29uZmlnO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgY29uc3QgY2FsY3VsYXRlZFJlc3VsdCA9IGNhbGN1bGF0ZUV4cG9uZW50KFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgaW5wdXRQYXJhbWV0ZXIsXG4gICAgICAgIGV4cG9uZW50XG4gICAgICApO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgW291dHB1dFBhcmFtZXRlcl06IGNhbGN1bGF0ZWRSZXN1bHQsXG4gICAgICB9O1xuICAgIH0pO1xuICB9LFxuICBhbGxvd0FyaXRobWV0aWNFeHByZXNzaW9uczogWydpbnB1dC1wYXJhbWV0ZXInLCAnZXhwb25lbnQnXSxcbn0pO1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGlucHV0IHBhcmFtIHJhaXNlZCBieSB0aGUgcG93ZXIgb2YgYSBnaXZlbiBleHBvbmVudC5cbiAqL1xuY29uc3QgY2FsY3VsYXRlRXhwb25lbnQgPSAoXG4gIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gIGlucHV0UGFyYW1ldGVyOiBzdHJpbmcgfCBudW1iZXIsXG4gIGV4cG9uZW50OiBudW1iZXJcbikgPT4ge1xuICBjb25zdCBiYXNlID1cbiAgICB0eXBlb2YgaW5wdXRQYXJhbWV0ZXIgPT09ICdudW1iZXInID8gaW5wdXRQYXJhbWV0ZXIgOiBpbnB1dFtpbnB1dFBhcmFtZXRlcl07XG5cbiAgcmV0dXJuIE1hdGgucG93KGJhc2UsIGV4cG9uZW50KTtcbn07XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2V4cG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUErQjtBQUcvQiwyREFBeUQ7QUFDekQsaURBQTZDO0FBRTdDLGtFQUEwRDtBQUUxRCx5Q0FBcUM7QUFFckMsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUM3QixNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVwQixRQUFBLFFBQVEsR0FBRyxJQUFBLDBCQUFhLEVBQUM7SUFDcEMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDdkM7UUFFRCxNQUFNLFlBQVksR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQzVCLGlCQUFpQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3BCLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxzQkFBUSxFQUNiLFlBQTRCLEVBQzVCLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUNELGVBQWUsRUFBRSxDQUFDLEtBQW1CLEVBQUUsTUFBb0IsRUFBRSxFQUFFO1FBQzdELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQztTQUN4QyxDQUFDO1FBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUUxRCxPQUFPLElBQUEsc0JBQVEsRUFDYixnQkFBZ0IsRUFDaEIsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0lBQ0QsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFzQixFQUFFLE1BQW9CLEVBQUUsRUFBRTtRQUNyRSxNQUFNLEVBQ0osaUJBQWlCLEVBQUUsY0FBYyxFQUNqQyxRQUFRLEVBQ1Isa0JBQWtCLEVBQUUsZUFBZSxHQUNwQyxHQUFHLE1BQU0sQ0FBQztRQUVYLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixDQUN4QyxLQUFLLEVBQ0wsY0FBYyxFQUNkLFFBQVEsQ0FDVCxDQUFDO1lBRUYsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsQ0FBQyxlQUFlLENBQUMsRUFBRSxnQkFBZ0I7YUFDcEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELDBCQUEwQixFQUFFLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0NBQzVELENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUN4QixLQUFtQixFQUNuQixjQUErQixFQUMvQixRQUFnQixFQUNoQixFQUFFO0lBQ0YsTUFBTSxJQUFJLEdBQ1IsT0FBTyxjQUFjLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU5RSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7eiwgWm9kVHlwZX0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtQbHVnaW5QYXJhbXMsIENvbmZpZ1BhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcbmltcG9ydCB7UGx1Z2luRmFjdG9yeX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5jb25zdCB7Q29uZmlnRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge01JU1NJTkdfQ09ORklHfSA9IFNUUklOR1M7XG5cbmV4cG9ydCBjb25zdCBFeHBvbmVudCA9IFBsdWdpbkZhY3Rvcnkoe1xuICBjb25maWdWYWxpZGF0aW9uOiAoY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICBpZiAoIWNvbmZpZyB8fCAhT2JqZWN0LmtleXMoY29uZmlnKT8ubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoTUlTU0lOR19DT05GSUcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZ1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgICdpbnB1dC1wYXJhbWV0ZXInOiB6LnN0cmluZygpLm1pbigxKSxcbiAgICAgIGV4cG9uZW50OiB6Lm51bWJlcigpLFxuICAgICAgJ291dHB1dC1wYXJhbWV0ZXInOiB6LnN0cmluZygpLm1pbigxKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBjb25maWdTY2hlbWE+PihcbiAgICAgIGNvbmZpZ1NjaGVtYSBhcyBab2RUeXBlPGFueT4sXG4gICAgICBjb25maWdcbiAgICApO1xuICB9LFxuICBpbnB1dFZhbGlkYXRpb246IChpbnB1dDogUGx1Z2luUGFyYW1zLCBjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGNvbnN0IGlucHV0UGFyYW1ldGVyID0gY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXTtcbiAgICBjb25zdCBpbnB1dERhdGEgPSB7XG4gICAgICBbaW5wdXRQYXJhbWV0ZXJdOiBpbnB1dFtpbnB1dFBhcmFtZXRlcl0sXG4gICAgfTtcbiAgICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gei5yZWNvcmQoei5zdHJpbmcoKSwgei5udW1iZXIoKSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2YgdmFsaWRhdGlvblNjaGVtYT4+KFxuICAgICAgdmFsaWRhdGlvblNjaGVtYSxcbiAgICAgIGlucHV0RGF0YVxuICAgICk7XG4gIH0sXG4gIGltcGxlbWVudGF0aW9uOiBhc3luYyAoaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSwgY29uZmlnOiBDb25maWdQYXJhbXMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAnaW5wdXQtcGFyYW1ldGVyJzogaW5wdXRQYXJhbWV0ZXIsXG4gICAgICBleHBvbmVudCxcbiAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogb3V0cHV0UGFyYW1ldGVyLFxuICAgIH0gPSBjb25maWc7XG5cbiAgICByZXR1cm4gaW5wdXRzLm1hcChpbnB1dCA9PiB7XG4gICAgICBjb25zdCBjYWxjdWxhdGVkUmVzdWx0ID0gY2FsY3VsYXRlRXhwb25lbnQoXG4gICAgICAgIGlucHV0LFxuICAgICAgICBpbnB1dFBhcmFtZXRlcixcbiAgICAgICAgZXhwb25lbnRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0LFxuICAgICAgICBbb3V0cHV0UGFyYW1ldGVyXTogY2FsY3VsYXRlZFJlc3VsdCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH0sXG4gIGFsbG93QXJpdGhtZXRpY0V4cHJlc3Npb25zOiBbJ2lucHV0LXBhcmFtZXRlcicsICdleHBvbmVudCddLFxufSk7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgaW5wdXQgcGFyYW0gcmFpc2VkIGJ5IHRoZSBwb3dlciBvZiBhIGdpdmVuIGV4cG9uZW50LlxuICovXG5jb25zdCBjYWxjdWxhdGVFeHBvbmVudCA9IChcbiAgaW5wdXQ6IFBsdWdpblBhcmFtcyxcbiAgaW5wdXRQYXJhbWV0ZXI6IHN0cmluZyB8IG51bWJlcixcbiAgZXhwb25lbnQ6IG51bWJlclxuKSA9PiB7XG4gIGNvbnN0IGJhc2UgPVxuICAgIHR5cGVvZiBpbnB1dFBhcmFtZXRlciA9PT0gJ251bWJlcicgPyBpbnB1dFBhcmFtZXRlciA6IGlucHV0W2lucHV0UGFyYW1ldGVyXTtcblxuICByZXR1cm4gTWF0aC5wb3coYmFzZSwgZXhwb25lbnQpO1xufTtcbiJdfQ==
@@ -9,6 +9,7 @@ export { SciEmbodied } from './sci-embodied';
9
9
  export { Sci } from './sci';
10
10
  export { Exponent } from './exponent';
11
11
  export { CSVLookup } from './csv-lookup';
12
+ export { CSVImport } from './csv-import';
12
13
  export { Shell } from './shell';
13
14
  export { Regex } from './regex';
14
15
  export { Copy } from './copy-param';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TimeSync = exports.TimeConverter = exports.Copy = exports.Regex = exports.Shell = exports.CSVLookup = exports.Exponent = exports.Sci = exports.SciEmbodied = exports.Sum = exports.Multiply = exports.Coefficient = exports.Subtract = exports.Divide = exports.MockObservations = exports.Interpolation = void 0;
3
+ exports.TimeSync = exports.TimeConverter = exports.Copy = exports.Regex = exports.Shell = exports.CSVImport = exports.CSVLookup = exports.Exponent = exports.Sci = exports.SciEmbodied = exports.Sum = exports.Multiply = exports.Coefficient = exports.Subtract = exports.Divide = exports.MockObservations = exports.Interpolation = void 0;
4
4
  var interpolation_1 = require("./interpolation");
5
5
  Object.defineProperty(exports, "Interpolation", { enumerable: true, get: function () { return interpolation_1.Interpolation; } });
6
6
  var mock_observations_1 = require("./mock-observations");
@@ -23,6 +23,8 @@ var exponent_1 = require("./exponent");
23
23
  Object.defineProperty(exports, "Exponent", { enumerable: true, get: function () { return exponent_1.Exponent; } });
24
24
  var csv_lookup_1 = require("./csv-lookup");
25
25
  Object.defineProperty(exports, "CSVLookup", { enumerable: true, get: function () { return csv_lookup_1.CSVLookup; } });
26
+ var csv_import_1 = require("./csv-import");
27
+ Object.defineProperty(exports, "CSVImport", { enumerable: true, get: function () { return csv_import_1.CSVImport; } });
26
28
  var shell_1 = require("./shell");
27
29
  Object.defineProperty(exports, "Shell", { enumerable: true, get: function () { return shell_1.Shell; } });
28
30
  var regex_1 = require("./regex");
@@ -33,4 +35,4 @@ var time_converter_1 = require("./time-converter");
33
35
  Object.defineProperty(exports, "TimeConverter", { enumerable: true, get: function () { return time_converter_1.TimeConverter; } });
34
36
  var time_sync_1 = require("./time-sync");
35
37
  Object.defineProperty(exports, "TimeSync", { enumerable: true, get: function () { return time_sync_1.TimeSync; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE4QztBQUF0Qyw4R0FBQSxhQUFhLE9BQUE7QUFDckIseURBQXFEO0FBQTdDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3hCLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCx1Q0FBb0M7QUFBNUIsb0dBQUEsUUFBUSxPQUFBO0FBQ2hCLDZDQUEwQztBQUFsQywwR0FBQSxXQUFXLE9BQUE7QUFDbkIsdUNBQW9DO0FBQTVCLG9HQUFBLFFBQVEsT0FBQTtBQUNoQiw2QkFBMEI7QUFBbEIsMEZBQUEsR0FBRyxPQUFBO0FBQ1gsK0NBQTJDO0FBQW5DLDJHQUFBLFdBQVcsT0FBQTtBQUNuQiw2QkFBMEI7QUFBbEIsMEZBQUEsR0FBRyxPQUFBO0FBQ1gsdUNBQW9DO0FBQTVCLG9HQUFBLFFBQVEsT0FBQTtBQUNoQiwyQ0FBdUM7QUFBL0IsdUdBQUEsU0FBUyxPQUFBO0FBQ2pCLGlDQUE4QjtBQUF0Qiw4RkFBQSxLQUFLLE9BQUE7QUFDYixpQ0FBOEI7QUFBdEIsOEZBQUEsS0FBSyxPQUFBO0FBQ2IsMkNBQWtDO0FBQTFCLGtHQUFBLElBQUksT0FBQTtBQUNaLG1EQUErQztBQUF2QywrR0FBQSxhQUFhLE9BQUE7QUFDckIseUNBQXFDO0FBQTdCLHFHQUFBLFFBQVEsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7SW50ZXJwb2xhdGlvbn0gZnJvbSAnLi9pbnRlcnBvbGF0aW9uJztcbmV4cG9ydCB7TW9ja09ic2VydmF0aW9uc30gZnJvbSAnLi9tb2NrLW9ic2VydmF0aW9ucyc7XG5leHBvcnQge0RpdmlkZX0gZnJvbSAnLi9kaXZpZGUnO1xuZXhwb3J0IHtTdWJ0cmFjdH0gZnJvbSAnLi9zdWJ0cmFjdCc7XG5leHBvcnQge0NvZWZmaWNpZW50fSBmcm9tICcuL2NvZWZmaWNpZW50JztcbmV4cG9ydCB7TXVsdGlwbHl9IGZyb20gJy4vbXVsdGlwbHknO1xuZXhwb3J0IHtTdW19IGZyb20gJy4vc3VtJztcbmV4cG9ydCB7U2NpRW1ib2RpZWR9IGZyb20gJy4vc2NpLWVtYm9kaWVkJztcbmV4cG9ydCB7U2NpfSBmcm9tICcuL3NjaSc7XG5leHBvcnQge0V4cG9uZW50fSBmcm9tICcuL2V4cG9uZW50JztcbmV4cG9ydCB7Q1NWTG9va3VwfSBmcm9tICcuL2Nzdi1sb29rdXAnO1xuZXhwb3J0IHtTaGVsbH0gZnJvbSAnLi9zaGVsbCc7XG5leHBvcnQge1JlZ2V4fSBmcm9tICcuL3JlZ2V4JztcbmV4cG9ydCB7Q29weX0gZnJvbSAnLi9jb3B5LXBhcmFtJztcbmV4cG9ydCB7VGltZUNvbnZlcnRlcn0gZnJvbSAnLi90aW1lLWNvbnZlcnRlcic7XG5leHBvcnQge1RpbWVTeW5jfSBmcm9tICcuL3RpbWUtc3luYyc7XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE4QztBQUF0Qyw4R0FBQSxhQUFhLE9BQUE7QUFDckIseURBQXFEO0FBQTdDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3hCLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCx1Q0FBb0M7QUFBNUIsb0dBQUEsUUFBUSxPQUFBO0FBQ2hCLDZDQUEwQztBQUFsQywwR0FBQSxXQUFXLE9BQUE7QUFDbkIsdUNBQW9DO0FBQTVCLG9HQUFBLFFBQVEsT0FBQTtBQUNoQiw2QkFBMEI7QUFBbEIsMEZBQUEsR0FBRyxPQUFBO0FBQ1gsK0NBQTJDO0FBQW5DLDJHQUFBLFdBQVcsT0FBQTtBQUNuQiw2QkFBMEI7QUFBbEIsMEZBQUEsR0FBRyxPQUFBO0FBQ1gsdUNBQW9DO0FBQTVCLG9HQUFBLFFBQVEsT0FBQTtBQUNoQiwyQ0FBdUM7QUFBL0IsdUdBQUEsU0FBUyxPQUFBO0FBQ2pCLDJDQUF1QztBQUEvQix1R0FBQSxTQUFTLE9BQUE7QUFDakIsaUNBQThCO0FBQXRCLDhGQUFBLEtBQUssT0FBQTtBQUNiLGlDQUE4QjtBQUF0Qiw4RkFBQSxLQUFLLE9BQUE7QUFDYiwyQ0FBa0M7QUFBMUIsa0dBQUEsSUFBSSxPQUFBO0FBQ1osbURBQStDO0FBQXZDLCtHQUFBLGFBQWEsT0FBQTtBQUNyQix5Q0FBcUM7QUFBN0IscUdBQUEsUUFBUSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtJbnRlcnBvbGF0aW9ufSBmcm9tICcuL2ludGVycG9sYXRpb24nO1xuZXhwb3J0IHtNb2NrT2JzZXJ2YXRpb25zfSBmcm9tICcuL21vY2stb2JzZXJ2YXRpb25zJztcbmV4cG9ydCB7RGl2aWRlfSBmcm9tICcuL2RpdmlkZSc7XG5leHBvcnQge1N1YnRyYWN0fSBmcm9tICcuL3N1YnRyYWN0JztcbmV4cG9ydCB7Q29lZmZpY2llbnR9IGZyb20gJy4vY29lZmZpY2llbnQnO1xuZXhwb3J0IHtNdWx0aXBseX0gZnJvbSAnLi9tdWx0aXBseSc7XG5leHBvcnQge1N1bX0gZnJvbSAnLi9zdW0nO1xuZXhwb3J0IHtTY2lFbWJvZGllZH0gZnJvbSAnLi9zY2ktZW1ib2RpZWQnO1xuZXhwb3J0IHtTY2l9IGZyb20gJy4vc2NpJztcbmV4cG9ydCB7RXhwb25lbnR9IGZyb20gJy4vZXhwb25lbnQnO1xuZXhwb3J0IHtDU1ZMb29rdXB9IGZyb20gJy4vY3N2LWxvb2t1cCc7XG5leHBvcnQge0NTVkltcG9ydH0gZnJvbSAnLi9jc3YtaW1wb3J0JztcbmV4cG9ydCB7U2hlbGx9IGZyb20gJy4vc2hlbGwnO1xuZXhwb3J0IHtSZWdleH0gZnJvbSAnLi9yZWdleCc7XG5leHBvcnQge0NvcHl9IGZyb20gJy4vY29weS1wYXJhbSc7XG5leHBvcnQge1RpbWVDb252ZXJ0ZXJ9IGZyb20gJy4vdGltZS1jb252ZXJ0ZXInO1xuZXhwb3J0IHtUaW1lU3luY30gZnJvbSAnLi90aW1lLXN5bmMnO1xuIl19
@@ -12,7 +12,7 @@ const { ProcessExecutionError, ConfigError } = utils_1.ERRORS;
12
12
  const { MISSING_CONFIG } = config_1.STRINGS;
13
13
  exports.Shell = (0, interfaces_1.PluginFactory)({
14
14
  configValidation: (config) => {
15
- if (!config) {
15
+ if (!config || !Object.keys(config)?.length) {
16
16
  throw new ConfigError(MISSING_CONFIG);
17
17
  }
18
18
  const schema = zod_1.z.object({
@@ -47,4 +47,4 @@ const runModelInShell = (input, command) => {
47
47
  throw new ProcessExecutionError(error.message);
48
48
  }
49
49
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL3NoZWxsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUEwRDtBQUUxRCxxQ0FBc0M7QUFDdEMsNkJBQXNCO0FBQ3RCLDJEQUF5RDtBQUN6RCxpREFBNkM7QUFHN0Msa0VBQTBEO0FBRTFELHlDQUFxQztBQUVyQyxNQUFNLEVBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFDLEdBQUcsY0FBTSxDQUFDO0FBQ3BELE1BQU0sRUFBQyxjQUFjLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXBCLFFBQUEsS0FBSyxHQUFHLElBQUEsMEJBQWEsRUFBQztJQUNqQyxnQkFBZ0IsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sTUFBTSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHNCQUFRLEVBQXlCLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDdkMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTSxhQUFhLEdBQVcsSUFBQSxjQUFJLEVBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4RCxPQUFPLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFvQixDQUFDO0lBQ3BELENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLEVBQUU7SUFDekQsSUFBSTtRQUNGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpELE1BQU0sTUFBTSxHQUE2QixJQUFBLHlCQUFTLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRTtZQUNuRSxLQUFLO1lBQ0wsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBQSxpQkFBTyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxPQUFPLEVBQUMsT0FBTyxFQUFDLENBQUM7S0FDbEI7SUFBQyxPQUFPLEtBQVUsRUFBRTtRQUNuQixNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ2hEO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzcGF3blN5bmMsIFNwYXduU3luY1JldHVybnN9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuXG5pbXBvcnQge2xvYWRBbGwsIGR1bXB9IGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuaW1wb3J0IHtQbHVnaW5GYWN0b3J5fSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7Q29uZmlnUGFyYW1zLCBQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5jb25zdCB7UHJvY2Vzc0V4ZWN1dGlvbkVycm9yLCBDb25maWdFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7TUlTU0lOR19DT05GSUd9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IFNoZWxsID0gUGx1Z2luRmFjdG9yeSh7XG4gIGNvbmZpZ1ZhbGlkYXRpb246IChjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoTUlTU0lOR19DT05GSUcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIGNvbW1hbmQ6IHouc3RyaW5nKCksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCBjb25maWcpO1xuICB9LFxuICBpbXBsZW1lbnRhdGlvbjogYXN5bmMgKGlucHV0cywgY29uZmlnKSA9PiB7XG4gICAgY29uc3QgaW5wdXRXaXRoQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgaW5wdXRzWzBdLCBjb25maWcpO1xuICAgIGNvbnN0IGNvbW1hbmQgPSBpbnB1dFdpdGhDb25maWcuY29tbWFuZDtcbiAgICBjb25zdCBpbnB1dEFzU3RyaW5nOiBzdHJpbmcgPSBkdW1wKGlucHV0cywge2luZGVudDogMn0pO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBydW5Nb2RlbEluU2hlbGwoaW5wdXRBc1N0cmluZywgY29tbWFuZCk7XG5cbiAgICByZXR1cm4gcmVzdWx0cz8ub3V0cHV0cz8uZmxhdCgpIGFzIFBsdWdpblBhcmFtc1tdO1xuICB9LFxufSk7XG5cbi8qKlxuICogUnVucyB0aGUgbW9kZWwgaW4gYSBzaGVsbC4gU3Bhd25zIGEgY2hpbGQgcHJvY2VzcyB0byBydW4gYW4gZXh0ZXJuYWwgSU1QLFxuICogYW4gZXhlY3V0YWJsZSB3aXRoIGEgQ0xJIGV4cG9zaW5nIHR3byBtZXRob2RzOiBgLS1leGVjdXRlYCBhbmQgYC0tbWFuaWZlc3RgLlxuICogVGhlIHNoZWxsIGNvbW1hbmQgdGhlbiBjYWxscyB0aGUgYC0tY29tbWFuZGAgbWV0aG9kIHBhc3NpbmcgdmFyIG1hbmlmZXN0IGFzIHRoZSBwYXRoIHRvIHRoZSBkZXNpcmVkIG1hbmlmZXN0IGZpbGUuXG4gKi9cbmNvbnN0IHJ1bk1vZGVsSW5TaGVsbCA9IChpbnB1dDogc3RyaW5nLCBjb21tYW5kOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBbZXhlY3V0YWJsZSwgLi4uYXJnc10gPSBjb21tYW5kLnNwbGl0KCcgJyk7XG5cbiAgICBjb25zdCByZXN1bHQ6IFNwYXduU3luY1JldHVybnM8c3RyaW5nPiA9IHNwYXduU3luYyhleGVjdXRhYmxlLCBhcmdzLCB7XG4gICAgICBpbnB1dCxcbiAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgfSk7XG4gICAgY29uc3Qgb3V0cHV0cyA9IGxvYWRBbGwocmVzdWx0LnN0ZG91dCk7XG5cbiAgICByZXR1cm4ge291dHB1dHN9O1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgdGhyb3cgbmV3IFByb2Nlc3NFeGVjdXRpb25FcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgfVxufTtcbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL3NoZWxsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUEwRDtBQUUxRCxxQ0FBc0M7QUFDdEMsNkJBQXNCO0FBQ3RCLDJEQUF5RDtBQUN6RCxpREFBNkM7QUFHN0Msa0VBQTBEO0FBRTFELHlDQUFxQztBQUVyQyxNQUFNLEVBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFDLEdBQUcsY0FBTSxDQUFDO0FBQ3BELE1BQU0sRUFBQyxjQUFjLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXBCLFFBQUEsS0FBSyxHQUFHLElBQUEsMEJBQWEsRUFBQztJQUNqQyxnQkFBZ0IsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDM0MsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sTUFBTSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHNCQUFRLEVBQXlCLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDdkMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTSxhQUFhLEdBQVcsSUFBQSxjQUFJLEVBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4RCxPQUFPLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFvQixDQUFDO0lBQ3BELENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLEVBQUU7SUFDekQsSUFBSTtRQUNGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpELE1BQU0sTUFBTSxHQUE2QixJQUFBLHlCQUFTLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRTtZQUNuRSxLQUFLO1lBQ0wsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBQSxpQkFBTyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxPQUFPLEVBQUMsT0FBTyxFQUFDLENBQUM7S0FDbEI7SUFBQyxPQUFPLEtBQVUsRUFBRTtRQUNuQixNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ2hEO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzcGF3blN5bmMsIFNwYXduU3luY1JldHVybnN9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuXG5pbXBvcnQge2xvYWRBbGwsIGR1bXB9IGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuaW1wb3J0IHtQbHVnaW5GYWN0b3J5fSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7Q29uZmlnUGFyYW1zLCBQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5jb25zdCB7UHJvY2Vzc0V4ZWN1dGlvbkVycm9yLCBDb25maWdFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7TUlTU0lOR19DT05GSUd9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IFNoZWxsID0gUGx1Z2luRmFjdG9yeSh7XG4gIGNvbmZpZ1ZhbGlkYXRpb246IChjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGlmICghY29uZmlnIHx8ICFPYmplY3Qua2V5cyhjb25maWcpPy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBDb25maWdFcnJvcihNSVNTSU5HX0NPTkZJRyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZW1hID0gei5vYmplY3Qoe1xuICAgICAgY29tbWFuZDogei5zdHJpbmcoKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIGNvbmZpZyk7XG4gIH0sXG4gIGltcGxlbWVudGF0aW9uOiBhc3luYyAoaW5wdXRzLCBjb25maWcpID0+IHtcbiAgICBjb25zdCBpbnB1dFdpdGhDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dHNbMF0sIGNvbmZpZyk7XG4gICAgY29uc3QgY29tbWFuZCA9IGlucHV0V2l0aENvbmZpZy5jb21tYW5kO1xuICAgIGNvbnN0IGlucHV0QXNTdHJpbmc6IHN0cmluZyA9IGR1bXAoaW5wdXRzLCB7aW5kZW50OiAyfSk7XG4gICAgY29uc3QgcmVzdWx0cyA9IHJ1bk1vZGVsSW5TaGVsbChpbnB1dEFzU3RyaW5nLCBjb21tYW5kKTtcblxuICAgIHJldHVybiByZXN1bHRzPy5vdXRwdXRzPy5mbGF0KCkgYXMgUGx1Z2luUGFyYW1zW107XG4gIH0sXG59KTtcblxuLyoqXG4gKiBSdW5zIHRoZSBtb2RlbCBpbiBhIHNoZWxsLiBTcGF3bnMgYSBjaGlsZCBwcm9jZXNzIHRvIHJ1biBhbiBleHRlcm5hbCBJTVAsXG4gKiBhbiBleGVjdXRhYmxlIHdpdGggYSBDTEkgZXhwb3NpbmcgdHdvIG1ldGhvZHM6IGAtLWV4ZWN1dGVgIGFuZCBgLS1tYW5pZmVzdGAuXG4gKiBUaGUgc2hlbGwgY29tbWFuZCB0aGVuIGNhbGxzIHRoZSBgLS1jb21tYW5kYCBtZXRob2QgcGFzc2luZyB2YXIgbWFuaWZlc3QgYXMgdGhlIHBhdGggdG8gdGhlIGRlc2lyZWQgbWFuaWZlc3QgZmlsZS5cbiAqL1xuY29uc3QgcnVuTW9kZWxJblNoZWxsID0gKGlucHV0OiBzdHJpbmcsIGNvbW1hbmQ6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IFtleGVjdXRhYmxlLCAuLi5hcmdzXSA9IGNvbW1hbmQuc3BsaXQoJyAnKTtcblxuICAgIGNvbnN0IHJlc3VsdDogU3Bhd25TeW5jUmV0dXJuczxzdHJpbmc+ID0gc3Bhd25TeW5jKGV4ZWN1dGFibGUsIGFyZ3MsIHtcbiAgICAgIGlucHV0LFxuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICB9KTtcbiAgICBjb25zdCBvdXRwdXRzID0gbG9hZEFsbChyZXN1bHQuc3Rkb3V0KTtcblxuICAgIHJldHVybiB7b3V0cHV0c307XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgUHJvY2Vzc0V4ZWN1dGlvbkVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICB9XG59O1xuIl19
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Checks if given string is URL.
3
+ */
4
+ export declare const isURL: (filepath: string) => boolean;
5
+ /**
6
+ * Checks if given `filepath` is url, then tries to fetch it.
7
+ * Otherwise tries to read file.
8
+ */
9
+ export declare const retrieveFile: (filepath: string) => Promise<any>;
10
+ /**
11
+ * Checks if value is invalid: `undefined`, `null` or an empty string, then sets `nan` instead.
12
+ */
13
+ export declare const setNanValue: (value: any) => any;
14
+ /**
15
+ * Converts empty values to `nan`.
16
+ */
17
+ export declare const nanifyEmptyValues: (object: any) => any;
18
+ /**
19
+ * If `field` is missing from `object`, then reject with error.
20
+ * Otherwise nanify empty values and return data.
21
+ */
22
+ export declare const fieldAccessor: (field: string, object: any) => any;
23
+ /**
24
+ * Parses CSV file.
25
+ */
26
+ export declare const parseCSVFile: (file: string | Buffer) => any[];
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseCSVFile = exports.fieldAccessor = exports.nanifyEmptyValues = exports.setNanValue = exports.retrieveFile = exports.isURL = void 0;
7
+ const promises_1 = require("fs/promises");
8
+ const axios_1 = __importDefault(require("axios"));
9
+ const sync_1 = require("csv-parse/sync");
10
+ const utils_1 = require("@grnsft/if-core/utils");
11
+ const config_1 = require("../../config");
12
+ const { FILE_FETCH_FAILED, FILE_READ_FAILED, MISSING_CSV_COLUMN } = config_1.STRINGS;
13
+ const { FetchingFileError, ReadFileError, MissingCSVColumnError, CSVParseError } = utils_1.ERRORS;
14
+ /**
15
+ * Checks if given string is URL.
16
+ */
17
+ const isURL = (filepath) => {
18
+ try {
19
+ new URL(filepath);
20
+ return true;
21
+ }
22
+ catch (error) {
23
+ return false;
24
+ }
25
+ };
26
+ exports.isURL = isURL;
27
+ /**
28
+ * Checks if given `filepath` is url, then tries to fetch it.
29
+ * Otherwise tries to read file.
30
+ */
31
+ const retrieveFile = async (filepath) => {
32
+ if ((0, exports.isURL)(filepath)) {
33
+ const { data } = await axios_1.default.get(filepath).catch(error => {
34
+ throw new FetchingFileError(FILE_FETCH_FAILED(filepath, error.response.message));
35
+ });
36
+ return data;
37
+ }
38
+ return (0, promises_1.readFile)(filepath).catch(error => {
39
+ throw new ReadFileError(FILE_READ_FAILED(filepath, error));
40
+ });
41
+ };
42
+ exports.retrieveFile = retrieveFile;
43
+ /**
44
+ * Checks if value is invalid: `undefined`, `null` or an empty string, then sets `nan` instead.
45
+ */
46
+ const setNanValue = (value) => value === null || value === '' ? 'nan' : value;
47
+ exports.setNanValue = setNanValue;
48
+ /**
49
+ * Converts empty values to `nan`.
50
+ */
51
+ const nanifyEmptyValues = (object) => {
52
+ if (typeof object === 'object') {
53
+ const keys = Object.keys(object);
54
+ keys.forEach(key => {
55
+ const value = object[key];
56
+ object[key] = (0, exports.setNanValue)(value);
57
+ });
58
+ return object;
59
+ }
60
+ return (0, exports.setNanValue)(object);
61
+ };
62
+ exports.nanifyEmptyValues = nanifyEmptyValues;
63
+ /**
64
+ * If `field` is missing from `object`, then reject with error.
65
+ * Otherwise nanify empty values and return data.
66
+ */
67
+ const fieldAccessor = (field, object) => {
68
+ if (!(`${field}` in object)) {
69
+ throw new MissingCSVColumnError(MISSING_CSV_COLUMN(field));
70
+ }
71
+ return (0, exports.nanifyEmptyValues)(object[field]);
72
+ };
73
+ exports.fieldAccessor = fieldAccessor;
74
+ /**
75
+ * Parses CSV file.
76
+ */
77
+ const parseCSVFile = (file) => {
78
+ try {
79
+ const parsedCSV = (0, sync_1.parse)(file, {
80
+ columns: true,
81
+ skip_empty_lines: true,
82
+ cast: true,
83
+ });
84
+ return parsedCSV;
85
+ }
86
+ catch (error) {
87
+ console.error(error);
88
+ throw new CSVParseError(error);
89
+ }
90
+ };
91
+ exports.parseCSVFile = parseCSVFile;
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL3V0aWwvY3N2LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMENBQXFDO0FBQ3JDLGtEQUEwQjtBQUMxQix5Q0FBcUM7QUFDckMsaURBQTZDO0FBRTdDLHlDQUFxQztBQUVyQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRTFFLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFDLEdBQzVFLGNBQU0sQ0FBQztBQUVUOztHQUVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDeEMsSUFBSTtRQUNGLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFQVyxRQUFBLEtBQUssU0FPaEI7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ3JELElBQUksSUFBQSxhQUFLLEVBQUMsUUFBUSxDQUFDLEVBQUU7UUFDbkIsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckQsTUFBTSxJQUFJLGlCQUFpQixDQUN6QixpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FDcEQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sSUFBQSxtQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QyxNQUFNLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBZFcsUUFBQSxZQUFZLGdCQWN2QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUN4QyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBRHBDLFFBQUEsV0FBVyxlQUN5QjtBQUVqRDs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtJQUMvQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFBLG1CQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsT0FBTyxJQUFBLG1CQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBYlcsUUFBQSxpQkFBaUIscUJBYTVCO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFhLEVBQUUsTUFBVyxFQUFFLEVBQUU7SUFDMUQsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRTtRQUMzQixNQUFNLElBQUkscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUM1RDtJQUVELE9BQU8sSUFBQSx5QkFBaUIsRUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFOVyxRQUFBLGFBQWEsaUJBTXhCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFlBQVksR0FBRyxDQUFDLElBQXFCLEVBQUUsRUFBRTtJQUNwRCxJQUFJO1FBQ0YsTUFBTSxTQUFTLEdBQVUsSUFBQSxZQUFLLEVBQUMsSUFBSSxFQUFFO1lBQ25DLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUVILE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBQUMsT0FBTyxLQUFVLEVBQUU7UUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2hDO0FBQ0gsQ0FBQyxDQUFDO0FBYlcsUUFBQSxZQUFZLGdCQWF2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmVhZEZpbGV9IGZyb20gJ2ZzL3Byb21pc2VzJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQge3BhcnNlfSBmcm9tICdjc3YtcGFyc2Uvc3luYyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5jb25zdCB7RklMRV9GRVRDSF9GQUlMRUQsIEZJTEVfUkVBRF9GQUlMRUQsIE1JU1NJTkdfQ1NWX0NPTFVNTn0gPSBTVFJJTkdTO1xuXG5jb25zdCB7RmV0Y2hpbmdGaWxlRXJyb3IsIFJlYWRGaWxlRXJyb3IsIE1pc3NpbmdDU1ZDb2x1bW5FcnJvciwgQ1NWUGFyc2VFcnJvcn0gPVxuICBFUlJPUlM7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGdpdmVuIHN0cmluZyBpcyBVUkwuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1VSTCA9IChmaWxlcGF0aDogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgbmV3IFVSTChmaWxlcGF0aCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBnaXZlbiBgZmlsZXBhdGhgIGlzIHVybCwgdGhlbiB0cmllcyB0byBmZXRjaCBpdC5cbiAqIE90aGVyd2lzZSB0cmllcyB0byByZWFkIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCByZXRyaWV2ZUZpbGUgPSBhc3luYyAoZmlsZXBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAoaXNVUkwoZmlsZXBhdGgpKSB7XG4gICAgY29uc3Qge2RhdGF9ID0gYXdhaXQgYXhpb3MuZ2V0KGZpbGVwYXRoKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICB0aHJvdyBuZXcgRmV0Y2hpbmdGaWxlRXJyb3IoXG4gICAgICAgIEZJTEVfRkVUQ0hfRkFJTEVEKGZpbGVwYXRoLCBlcnJvci5yZXNwb25zZS5tZXNzYWdlKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcmV0dXJuIHJlYWRGaWxlKGZpbGVwYXRoKS5jYXRjaChlcnJvciA9PiB7XG4gICAgdGhyb3cgbmV3IFJlYWRGaWxlRXJyb3IoRklMRV9SRUFEX0ZBSUxFRChmaWxlcGF0aCwgZXJyb3IpKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB2YWx1ZSBpcyBpbnZhbGlkOiBgdW5kZWZpbmVkYCwgYG51bGxgIG9yIGFuIGVtcHR5IHN0cmluZywgdGhlbiBzZXRzIGBuYW5gIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXROYW5WYWx1ZSA9ICh2YWx1ZTogYW55KSA9PlxuICB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgPyAnbmFuJyA6IHZhbHVlO1xuXG4vKipcbiAqIENvbnZlcnRzIGVtcHR5IHZhbHVlcyB0byBgbmFuYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5hbmlmeUVtcHR5VmFsdWVzID0gKG9iamVjdDogYW55KSA9PiB7XG4gIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuICAgICAgb2JqZWN0W2tleV0gPSBzZXROYW5WYWx1ZSh2YWx1ZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbiAgcmV0dXJuIHNldE5hblZhbHVlKG9iamVjdCk7XG59O1xuXG4vKipcbiAqIElmIGBmaWVsZGAgaXMgbWlzc2luZyBmcm9tIGBvYmplY3RgLCB0aGVuIHJlamVjdCB3aXRoIGVycm9yLlxuICogT3RoZXJ3aXNlIG5hbmlmeSBlbXB0eSB2YWx1ZXMgYW5kIHJldHVybiBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgZmllbGRBY2Nlc3NvciA9IChmaWVsZDogc3RyaW5nLCBvYmplY3Q6IGFueSkgPT4ge1xuICBpZiAoIShgJHtmaWVsZH1gIGluIG9iamVjdCkpIHtcbiAgICB0aHJvdyBuZXcgTWlzc2luZ0NTVkNvbHVtbkVycm9yKE1JU1NJTkdfQ1NWX0NPTFVNTihmaWVsZCkpO1xuICB9XG5cbiAgcmV0dXJuIG5hbmlmeUVtcHR5VmFsdWVzKG9iamVjdFtmaWVsZF0pO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgQ1NWIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUNTVkZpbGUgPSAoZmlsZTogc3RyaW5nIHwgQnVmZmVyKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkQ1NWOiBhbnlbXSA9IHBhcnNlKGZpbGUsIHtcbiAgICAgIGNvbHVtbnM6IHRydWUsXG4gICAgICBza2lwX2VtcHR5X2xpbmVzOiB0cnVlLFxuICAgICAgY2FzdDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJzZWRDU1Y7XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB0aHJvdyBuZXcgQ1NWUGFyc2VFcnJvcihlcnJvcik7XG4gIH1cbn07XG4iXX0=
@@ -17,12 +17,6 @@ exports.CONFIG = {
17
17
  alias: 'o',
18
18
  description: '[path to the output file]',
19
19
  },
20
- 'override-params': {
21
- type: String,
22
- optional: true,
23
- alias: 'p',
24
- description: '[path to a parameter file that overrides our defaults]',
25
- },
26
20
  'no-output': {
27
21
  type: Boolean,
28
22
  optional: true,
@@ -76,4 +70,4 @@ exports.CONFIG = {
76
70
  NATIVE_PLUGIN: 'if-plugins',
77
71
  AGGREGATION_TIME_METRICS: ['timestamp', 'duration'],
78
72
  };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGdEQUE0QztBQUk1QyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhCLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSwwQkFBMEI7U0FDeEM7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsMkJBQTJCO1NBQ3pDO1FBQ0QsaUJBQWlCLEVBQUU7WUFDakIsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLHdEQUF3RDtTQUN0RTtRQUNELFdBQVcsRUFBRTtZQUNYLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSxpQ0FBaUM7U0FDL0M7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUseUNBQXlDO1NBQ3ZEO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLDZDQUE2QztTQUMzRDtRQUNELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSx3Q0FBd0M7U0FDdEQ7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsV0FBVyxFQUFFLGtEQUFrRDtTQUNoRTtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsa0RBQWtEO1NBQ2hFO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxrREFBa0Q7U0FDaEU7S0FDMkI7SUFDOUIsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLE1BQU07UUFDZixxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUM7U0FDM0Q7UUFDRCxxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUM7U0FDbkU7S0FDbUI7SUFDdEIsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxhQUFhLEVBQUUsWUFBWTtJQUMzQix3QkFBd0IsRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRDb25maWcsIFBhcnNlT3B0aW9uc30gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lmUnVuQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0RJU0NMQUlNRVJfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgQ09ORklHID0ge1xuICBBUkdTOiB7XG4gICAgbWFuaWZlc3Q6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdtJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIGlucHV0IGZpbGVdJyxcbiAgICB9LFxuICAgIG91dHB1dDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ28nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgb3V0cHV0IGZpbGVdJyxcbiAgICB9LFxuICAgICdvdmVycmlkZS1wYXJhbXMnOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGFsaWFzOiAncCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIGEgcGFyYW1ldGVyIGZpbGUgdGhhdCBvdmVycmlkZXMgb3VyIGRlZmF1bHRzXScsXG4gICAgfSxcbiAgICAnbm8tb3V0cHV0Jzoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICduJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3ByZXZlbnQgb3V0cHV0IHRvIHRoZSBjb25zb2xlXScsXG4gICAgfSxcbiAgICBoZWxwOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ2gnLFxuICAgICAgZGVzY3JpcHRpb246ICdbcHJpbnRzIG91dCB0aGUgYWJvdmUgaGVscCBpbnN0cnVjdGlvbl0nLFxuICAgIH0sXG4gICAgYXBwZW5kOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ2EnLFxuICAgICAgZGVzY3JpcHRpb246ICdbYXBwZW5kIHRvIG91dHB1dHMsIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmddJyxcbiAgICB9LFxuICAgIGRlYnVnOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ2QnLFxuICAgICAgZGVzY3JpcHRpb246ICdbcHJpbnRzIG91dCBkZWJ1ZyBsb2dzIHRvIHRoZSBjb25zb2xlXScsXG4gICAgfSxcbiAgICBvYnNlcnZlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1tleGVjdXRlcyBvbmx5IG9ic2VydmUgcGlwZWxpbmUgb2YgdGhlIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgICByZWdyb3VwOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1tleGVjdXRlcyBvbmx5IHJlZ3JvdXAgcGlwZWxpbmUgb2YgdGhlIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgICBjb21wdXRlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1tleGVjdXRlcyBvbmx5IGNvbXB1dGUgcGlwZWxpbmUgb2YgdGhlIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgfSBhcyBBcmd1bWVudENvbmZpZzxJZlJ1bkFyZ3M+LFxuICBIRUxQOiB7XG4gICAgaGVscEFyZzogJ2hlbHAnLFxuICAgIGhlYWRlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAge2hlYWRlcjogJ0ltcGFjdCBGcmFtZXdvcmsnLCBjb250ZW50OiAnSGVscGZ1bCBrZXl3b3JkczonfSxcbiAgICBdLFxuICAgIGZvb3RlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAge2hlYWRlcjogJ0dyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb24nLCBjb250ZW50OiBESVNDTEFJTUVSX01FU1NBR0V9LFxuICAgIF0sXG4gIH0gYXMgUGFyc2VPcHRpb25zPGFueT4sXG4gIEdJVEhVQl9QQVRIOiAnaHR0cHM6Ly9naXRodWIuY29tJyxcbiAgTkFUSVZFX1BMVUdJTjogJ2lmLXBsdWdpbnMnLFxuICBBR0dSRUdBVElPTl9USU1FX01FVFJJQ1M6IFsndGltZXN0YW1wJywgJ2R1cmF0aW9uJ10sXG59O1xuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGdEQUE0QztBQUk1QyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhCLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSwwQkFBMEI7U0FDeEM7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsMkJBQTJCO1NBQ3pDO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLGlDQUFpQztTQUMvQztRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSx5Q0FBeUM7U0FDdkQ7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsNkNBQTZDO1NBQzNEO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLHdDQUF3QztTQUN0RDtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsa0RBQWtEO1NBQ2hFO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxrREFBa0Q7U0FDaEU7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsV0FBVyxFQUFFLGtEQUFrRDtTQUNoRTtLQUMyQjtJQUM5QixJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsTUFBTTtRQUNmLHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBQztTQUMzRDtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBQztTQUNuRTtLQUNtQjtJQUN0QixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLGFBQWEsRUFBRSxZQUFZO0lBQzNCLHdCQUF3QixFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztDQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudENvbmZpZywgUGFyc2VPcHRpb25zfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SWZSdW5BcmdzfSBmcm9tICcuLi90eXBlcy9wcm9jZXNzLWFyZ3MnO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFfSA9IFNUUklOR1M7XG5cbmV4cG9ydCBjb25zdCBDT05GSUcgPSB7XG4gIEFSR1M6IHtcbiAgICBtYW5pZmVzdDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ20nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgaW5wdXQgZmlsZV0nLFxuICAgIH0sXG4gICAgb3V0cHV0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGFsaWFzOiAnbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSBvdXRwdXQgZmlsZV0nLFxuICAgIH0sXG4gICAgJ25vLW91dHB1dCc6IHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGFsaWFzOiAnbicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twcmV2ZW50IG91dHB1dCB0byB0aGUgY29uc29sZV0nLFxuICAgIH0sXG4gICAgaGVscDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdoJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3ByaW50cyBvdXQgdGhlIGFib3ZlIGhlbHAgaW5zdHJ1Y3Rpb25dJyxcbiAgICB9LFxuICAgIGFwcGVuZDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW2FwcGVuZCB0byBvdXRwdXRzLCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nXScsXG4gICAgfSxcbiAgICBkZWJ1Zzoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3ByaW50cyBvdXQgZGVidWcgbG9ncyB0byB0aGUgY29uc29sZV0nLFxuICAgIH0sXG4gICAgb2JzZXJ2ZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246ICdbZXhlY3V0ZXMgb25seSBvYnNlcnZlIHBpcGVsaW5lIG9mIHRoZSBtYW5pZmVzdF0nLFxuICAgIH0sXG4gICAgcmVncm91cDoge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246ICdbZXhlY3V0ZXMgb25seSByZWdyb3VwIHBpcGVsaW5lIG9mIHRoZSBtYW5pZmVzdF0nLFxuICAgIH0sXG4gICAgY29tcHV0ZToge1xuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246ICdbZXhlY3V0ZXMgb25seSBjb21wdXRlIHBpcGVsaW5lIG9mIHRoZSBtYW5pZmVzdF0nLFxuICAgIH0sXG4gIH0gYXMgQXJndW1lbnRDb25maWc8SWZSdW5BcmdzPixcbiAgSEVMUDoge1xuICAgIGhlbHBBcmc6ICdoZWxwJyxcbiAgICBoZWFkZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdJbXBhY3QgRnJhbWV3b3JrJywgY29udGVudDogJ0hlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxuICBHSVRIVUJfUEFUSDogJ2h0dHBzOi8vZ2l0aHViLmNvbScsXG4gIE5BVElWRV9QTFVHSU46ICdpZi1wbHVnaW5zJyxcbiAgQUdHUkVHQVRJT05fVElNRV9NRVRSSUNTOiBbJ3RpbWVzdGFtcCcsICdkdXJhdGlvbiddLFxufTtcbiJdfQ==
@@ -28,6 +28,7 @@ export declare const STRINGS: {
28
28
  COMPUTING_PIPELINE_FOR_NODE: (nodeName: string) => string;
29
29
  COMPUTING_COMPONENT_PIPELINE: (component: string) => string;
30
30
  REGROUPING: string;
31
+ SKIPPING_REGROUP: string;
31
32
  OBSERVING: (nodeName: string) => string;
32
33
  MERGING_DEFAULTS_WITH_INPUT_DATA: string;
33
34
  AGGREGATING_OUTPUTS: string;
@@ -36,6 +36,7 @@ Note that for the '--output' option you also need to define the output type in y
36
36
  COMPUTING_PIPELINE_FOR_NODE: (nodeName) => `Running compute pipeline: \`${nodeName}\` plugin`,
37
37
  COMPUTING_COMPONENT_PIPELINE: (component) => `**Computing \`${component}\` pipeline**`,
38
38
  REGROUPING: 'Regrouping',
39
+ SKIPPING_REGROUP: 'Already correctly grouped - skipping regrouping.',
39
40
  OBSERVING: (nodeName) => `Running observe pipeline: \`${nodeName}\` plugin`,
40
41
  MERGING_DEFAULTS_WITH_INPUT_DATA: 'Merging defaults with input data',
41
42
  AGGREGATING_OUTPUTS: 'Aggregating outputs',
@@ -78,4 +79,4 @@ ${error}`,
78
79
  return plugins.length ? withPlugins : withoutPlugins;
79
80
  },
80
81
  };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsY0FBYyxFQUFFLDBDQUEwQztJQUMxRCxZQUFZLEVBQUUsd0NBQXdDO0lBQ3RELGlCQUFpQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDbEM7eUJBQ3FCLElBQUksc0xBQXNMO0lBQ2pOLG1CQUFtQixFQUFFLENBQUMsSUFBWSxFQUFFLEtBQVcsRUFBRSxFQUFFLENBQ2pELHFCQUFxQixJQUFJLCtCQUErQixLQUFLLElBQUksRUFBRTtDQUN0RTtJQUNDLHFDQUFxQyxFQUNuQywySEFBMkg7SUFDN0gsbUNBQW1DLEVBQ2pDLDRIQUE0SDtJQUM5SCxpQ0FBaUMsRUFDL0IsNElBQTRJO0lBQzlJLHNCQUFzQixFQUNwQiw2REFBNkQ7SUFDL0QseUJBQXlCLEVBQUUsQ0FBQyxLQUFjLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FDMUQsdUJBQ0UsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FDckQsRUFBRTtJQUNKLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGlCQUFpQixFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxHQUFHO0lBQzNELGFBQWEsRUFBRSxpREFBaUQ7SUFDaEUsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksNkJBQTZCO0lBQ3pELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJ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RUFBRSxFQUFFLENBQ25ELDBFQUEwRSxVQUFVLG9CQUFvQixLQUFLLEtBQUs7SUFDcEgsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxrQkFBa0IsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQ3BDLEdBQUcsS0FBSyx5REFBeUQ7SUFDbkUsV0FBVyxFQUFFLENBQUMsT0FBZSxFQUFFLE1BQWUsRUFBRSxFQUFFO1FBQ2hELE1BQU0sY0FBYyxHQUNsQixpTUFBaU0sQ0FBQztRQUNwTSxNQUFNLFdBQVcsR0FBRyxxRUFBcUUsT0FBTyxZQUM5RixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDakIsZ0RBQWdELE9BQU8sWUFDckQsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLDJFQUEyRSxDQUFDO1FBRTVFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDdkQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgTUlTU0lOR19NRVRIT0Q6IFwiSW5pdGFsaXphdGlvbiBwYXJhbSAnbWV0aG9kJyBpcyBtaXNzaW5nLlwiLFxuICBNSVNTSU5HX1BBVEg6IFwiSW5pdGFsaXphdGlvbiBwYXJhbSAncGF0aCcgaXMgbWlzc2luZy5cIixcbiAgTk9UX05BVElWRV9QTFVHSU46IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFxuICBZb3UgYXJlIHVzaW5nIHBsdWdpbiAke3BhdGh9IHdoaWNoIGlzIG5vdCBwYXJ0IG9mIHRoZSBJbXBhY3QgRnJhbWV3b3JrIHN0YW5kYXJkIGxpYnJhcnkuIFlvdSBzaG91bGQgZG8geW91ciBvd24gcmVzZWFyY2ggdG8gZW5zdXJlIHRoZSBwbHVnaW5zIGFyZSB1cCB0byBkYXRlIGFuZCBhY2N1cmF0ZS4gVGhleSBtYXkgbm90IGJlIGFjdGl2ZWx5IG1haW50YWluZWQuYCxcbiAgSU5WQUxJRF9NT0RVTEVfUEFUSDogKHBhdGg6IHN0cmluZywgZXJyb3I/OiBhbnkpID0+XG4gICAgYFByb3ZpZGVkIG1vZHVsZSBcXGAke3BhdGh9XFxgIGlzIGludmFsaWQgb3Igbm90IGZvdW5kLiAke2Vycm9yID8/ICcnfVxuYCxcbiAgSU5DT01QQVRJQkxFX1JFU09MVVRJT05fV0lUSF9JTlRFUlZBTDpcbiAgICAnVGhlIHVwc2FtcGxpbmcgcmVzb2x1dGlvbiBtdXN0IGJlIGEgZGl2aXNvciBvZiB0aGUgZ2l2ZW4gaW50ZXJ2YWwsIGJ1dCB0aGUgcHJvdmlkZWQgdmFsdWUgZG9lcyBub3Qgc2F0aXNmeSB0aGlzIGNyaXRlcmlhLicsXG4gIElOQ09NUEFUSUJMRV9SRVNPTFVUSU9OX1dJVEhfSU5QVVRTOlxuICAgICdUaGUgdXBzYW1wbGluZyByZXNvbHV0aW9uIG11c3QgYmUgYSBkaXZpc29yIG9mIGFsbCBpbnB1dHMgZHVyYXRpb25zLCBidXQgdGhlIHByb3ZpZGVkIHZhbHVlcyBkbyBub3Qgc2F0aXNmeSB0aGlzIGNyaXRlcmlhLicsXG4gIElOQ09NUEFUSUJMRV9SRVNPTFVUSU9OX1dJVEhfR0FQUzpcbiAgICAnVGhlIHVwc2FtcGxpbmcgcmVzb2x1dGlvbiBtdXN0IGJlIGEgZGl2aXNvciBvZiBnYXBzIGFuZCBwYWRkaW5ncyBpbiB0aGUgdGltZS1zZXJpZXMsIGJ1dCB0aGUgcHJvdmlkZWQgdmFsdWVzIGRvIG5vdCBzYXRpc2Z5IHRoaXMgY3JpdGVyaWEuJyxcbiAgVU5FWFBFQ1RFRF9USU1FX0NPTkZJRzpcbiAgICAnVW5leHBlY3RlZCBub2RlLWxldmVsIGNvbmZpZyBwcm92aWRlZCBmb3IgdGltZS1zeW5jIHBsdWdpbi4nLFxuICBBVk9JRElOR19QQURESU5HX0JZX0VER0VTOiAoc3RhcnQ6IGJvb2xlYW4sIGVuZDogYm9vbGVhbikgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke1xuICAgICAgc3RhcnQgJiYgZW5kID8gJ3N0YXJ0IGFuZCBlbmQnIDogc3RhcnQgPyAnc3RhcnQnIDogJ2VuZCdcbiAgICB9YCxcbiAgTUVUUklDX01JU1NJTkc6IChtZXRyaWM6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT5cbiAgICBgQWdncmVnYXRpb24gbWV0cmljICR7bWV0cmljfSBpcyBub3QgZm91bmQgaW4gaW5wdXRzWyR7aW5kZXh9XS5gLFxuICBJTlZBTElEX0dST1VQX0tFWTogKGtleTogc3RyaW5nKSA9PiBgSW52YWxpZCBncm91cCAke2tleX0uYCxcbiAgUkVHUk9VUF9FUlJPUjogJ25vdCBhbiBhcnJheSBvciBzaG91bGQgY29udGFpbiBhdCBsZWFzdCBvbmUga2V5JyxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIE9taXR0aW5nIGZyb20gdGhlIG91dHB1dC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG4gIE5PX09VVFBVVDogYFxuWW91IGhhdmUgbm90IGFkZGVkIGFuIG91dHB1dCBjb21tYW5kOiBcbi0tb3V0cHV0IDxzYXZlcGF0aD46IHdpbGwgc2F2ZSB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBnaXZlbiBmaWxlcGF0aCAoZG8gbm90IHByb3ZpZGUgZmlsZSBleHRlbnNpb24pXG5Ob3RlIHRoYXQgZm9yIHRoZSAnLS1vdXRwdXQnIG9wdGlvbiB5b3UgYWxzbyBuZWVkIHRvIGRlZmluZSB0aGUgb3V0cHV0IHR5cGUgaW4geW91ciBtYW5pZmVzdCBmaWxlLiBTZWUgaHR0cHM6Ly9pZi5ncmVlbnNvZnR3YXJlLmZvdW5kYXRpb24vbWFqb3ItY29uY2VwdHMvbWFuaWZlc3QtZmlsZSNpbml0aWFsaXplYCxcbiAgVU5TVVBQT1JURURfRVJST1I6IChlcnJvck5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5zdXBwb3J0ZWRFcnJvckNsYXNzOiBwbHVnaW4gdGhyZXcgZXJyb3IgY2xhc3M6ICR7ZXJyb3JOYW1lfSB0aGF0IGlzIG5vdCByZWNvZ25pemVkIGJ5IEltcGFjdCBGcmFtZXdvcmtgLFxuICAvKiogRGVidWdnaW5nIGxvZ3MgKi9cbiAgU1RBUlRJTkdfSUY6ICdTdGFydGluZyBJRicsXG4gIEVYSVRJTkdfSUY6ICdFeGl0aW5nIElGJyxcbiAgTE9BRElOR19NQU5JRkVTVDogJ0xvYWRpbmcgbWFuaWZlc3QnLFxuICBWQUxJREFUSU5HX01BTklGRVNUOiAnVmFsaWRhdGluZyBtYW5pZmVzdCcsXG4gIENBUFRVUklOR19SVU5USU1FX0VOVklST05NRU5UX0RBVEE6ICdDYXB0dXJpbmcgcnVudGltZSBlbnZpcm9ubWVudCBkYXRhJyxcbiAgQ0hFQ0tJTkdfQUdHUkVHQVRJT05fTUVUSE9EOiAodW5pdE5hbWU6IHN0cmluZykgPT5cbiAgICBgQ2hlY2tpbmcgYWdncmVnYXRpb24gbWV0aG9kIGZvciAke3VuaXROYW1lfWAsXG4gIElOSVRJQUxJWklOR19QTFVHSU5TOiAnSW5pdGlhbGl6aW5nIHBsdWdpbnMnLFxuICBJTklUSUFMSVpJTkdfUExVR0lOOiAocGx1Z2luTmFtZTogc3RyaW5nKSA9PlxuICAgIGBJbml0aWFsaXppbmcgXFxgJHtwbHVnaW5OYW1lfVxcYCBpbnN0YW5jZWAsXG4gIExPQURJTkdfUExVR0lOX0ZST01fUEFUSDogKHBsdWdpbk5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PlxuICAgIGBMb2FkaW5nICR7cGx1Z2luTmFtZX0gZnJvbSAke3BhdGh9YCxcbiAgQ09NUFVUSU5HX1BJUEVMSU5FX0ZPUl9OT0RFOiAobm9kZU5hbWU6IHN0cmluZykgPT5cbiAgICBgUnVubmluZyBjb21wdXRlIHBpcGVsaW5lOiBcXGAke25vZGVOYW1lfVxcYCBwbHVnaW5gLFxuICBDT01QVVRJTkdfQ09NUE9ORU5UX1BJUEVMSU5FOiAoY29tcG9uZW50OiBzdHJpbmcpID0+XG4gICAgYCoqQ29tcHV0aW5nIFxcYCR7Y29tcG9uZW50fVxcYCBwaXBlbGluZSoqYCxcbiAgUkVHUk9VUElORzogJ1JlZ3JvdXBpbmcnLFxuICBPQlNFUlZJTkc6IChub2RlTmFtZTogc3RyaW5nKSA9PlxuICAgIGBSdW5uaW5nIG9ic2VydmUgcGlwZWxpbmU6IFxcYCR7bm9kZU5hbWV9XFxgIHBsdWdpbmAsXG4gIE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBOiAnTWVyZ2luZyBkZWZhdWx0cyB3aXRoIGlucHV0IGRhdGEnLFxuICBBR0dSRUdBVElOR19PVVRQVVRTOiAnQWdncmVnYXRpbmcgb3V0cHV0cycsXG4gIEFHR1JFR0FUSU5HX05PREU6IChub2RlTmFtZTogc3RyaW5nKSA9PiBgQWdncmVnYXRpbmcgbm9kZSAke25vZGVOYW1lfWAsXG4gIFBSRVBBUklOR19PVVRQVVRfREFUQTogKCkgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1xcbicpO1xuICAgIHJldHVybiAnUHJlcGFyaW5nIG91dHB1dCBkYXRhJztcbiAgfSxcbiAgRVhQT1JUSU5HX1RPX1lBTUxfRklMRTogKHNhdmVwYXRoOiBzdHJpbmcpID0+XG4gICAgYEV4cG9ydGluZyB0byB5YW1sIGZpbGU6ICR7c2F2ZXBhdGh9YCxcbiAgRU1QVFlfUElQRUxJTkU6IGBZb3UncmUgdXNpbmcgYW4gb2xkIHN0eWxlIG1hbmlmZXN0LiBQbGVhc2UgdXBkYXRlIGZvciBwaGFzZWQgZXhlY3V0aW9uLiBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBoZXJlOiBcbmh0dHBzOi8vaWYuZ3JlZW5zb2Z0d2FyZS5mb3VuZGF0aW9uL21ham9yLWNvbmNlcHRzL21hbmlmZXN0LWZpbGVgLFxuICAvKiogRXhoYXVzdCBtZXNzYWdlcyAqL1xuICBPVVRQVVRfUkVRVUlSRUQ6XG4gICAgJ091dHB1dCBwYXRoIGlzIHJlcXVpcmVkLCBwbGVhc2UgbWFrZSBzdXJlIG91dHB1dCBpcyBjb25maWd1cmVkIHByb3Blcmx5LicsXG4gIC8qKiBQbHVnaW5zIG1lc3NhZ2VzICovXG4gIElOVkFMSURfTkFNRTogJ2BuYW1lYCBjb25maWcgcGFyYW1ldGVyIGlzIGVtcHR5IG9yIGNvbnRhaW5zIGFsbCBzcGFjZXMnLFxuICBTVEFSVF9MT1dFUl9FTkQ6ICdgc3RhcnQtdGltZWAgc2hvdWxkIGJlIGxvd2VyIHRoYW4gYGVuZC10aW1lYCcsXG4gIFhfWV9FUVVBTDogJ1RoZSBsZW5ndGggb2YgYHhgIGFuZCBgeWAgc2hvdWxkIGJlIGVxdWFsJyxcbiAgQVJSQVlfTEVOR1RIX05PTl9FTVBUWTpcbiAgICAndGhlIGxlbmd0aCBvZiB0aGUgaW5wdXQgYXJyYXlzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnLFxuICBXSVRISU5fVEhFX1JBTkdFOlxuICAgICdUaGUgdGFyZ2V0IHggdmFsdWUgbXVzdCBiZSB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBnaXZlbiB4IHZhbHVlcycsXG4gIE1JU1NJTkdfQ1NWX0NPTFVNTjogKGNvbHVtbk5hbWU6IHN0cmluZykgPT5cbiAgICBgVGhlcmUgaXMgbm8gY29sdW1uIHdpdGggdGhlIG5hbWU6ICR7Y29sdW1uTmFtZX0uYCxcbiAgTk9fUVVFUllfREFUQTpcbiAgICAnT25lIG9yIG1vcmUgb2YgdGhlIGdpdmVuIHF1ZXJ5IHBhcmFtZXRlcnMgYXJlIG5vdCBmb3VuZCBpbiB0aGUgdGFyZ2V0IENTViBmaWxlIGNvbHVtbiBoZWFkZXJzLicsXG4gIElOVkFMSURfREFURV9UWVBFOiAoZGF0ZTogYW55KSA9PlxuICAgIGBVbmV4cGVjdGVkIGRhdGUgZGF0YXR5cGU6ICR7dHlwZW9mIGRhdGV9OiAke2RhdGV9YCxcbiAgSU5WQUxJRF9PQlNFUlZBVElPTl9PVkVSTEFQOlxuICAgICdPYnNlcnZhdGlvbiB0aW1lc3RhbXBzIG92ZXJsYXAsIHBsZWFzZSBjaGVjayBpbnB1dHMuJyxcbiAgU0NJX01JU1NJTkdfRk5fVU5JVDogKGZ1bmN0aW9uYWxVbml0OiBzdHJpbmcpID0+XG4gICAgYCdjYXJib24nIGFuZCAke2Z1bmN0aW9uYWxVbml0fSBzaG91bGQgYmUgcHJlc2VudCBpbiB5b3VyIGlucHV0IGRhdGEuYCxcbiAgTUlTU0lOR19GVU5DVElPTkFMX1VOSVRfQ09ORklHOlxuICAgICdgZnVuY3Rpb25hbC11bml0YCBzaG91bGQgYmUgcHJvdmlkZWQgaW4geW91ciBjb25maWcnLFxuICBNSVNTSU5HX0ZVTkNUSU9OQUxfVU5JVF9JTlBVVDpcbiAgICAnYGZ1bmN0aW9uYWwtdW5pdGAgdmFsdWUgaXMgbWlzc2luZyBmcm9tIGlucHV0IGRhdGEgb3IgaXQgaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlcicsXG4gIFJFR0VYX01JU01BVENIOiAoaW5wdXQ6IGFueSwgbWF0Y2g6IHN0cmluZykgPT5cbiAgICBgXFxgJHtpbnB1dH1cXGAgZG9lcyBub3QgbWF0Y2ggdGhlICR7bWF0Y2h9IHJlZ2V4IGV4cHJlc3Npb25gLFxuICBNSVNTSU5HX01JTl9NQVg6ICdDb25maWcgaXMgbWlzc2luZyBtaW4gb3IgbWF4IHZhbHVlJyxcbiAgSU5WQUxJRF9NSU5fTUFYOiAobmFtZTogc3RyaW5nKSA9PlxuICAgIGBNaW4gdmFsdWUgc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gbWF4IHZhbHVlIG9mICR7bmFtZX1gLFxuICBGSUxFX0ZFVENIX0ZBSUxFRDogKFxuICAgIGZpbGVwYXRoOiBzdHJpbmcsXG4gICAgbWVzc2FnZTogc3RyaW5nXG4gICkgPT4gYEZhaWxlZCBmZXRjaGluZyB0aGUgZmlsZTogJHtmaWxlcGF0aH0uXG4ke21lc3NhZ2V9YCxcbiAgRklMRV9SRUFEX0ZBSUxFRDogKFxuICAgIGZpbGVwYXRoOiBzdHJpbmcsXG4gICAgZXJyb3I6IHN0cmluZ1xuICApID0+IGBGYWlsZWQgcmVhZGluZyB0aGUgZmlsZTogJHtmaWxlcGF0aH0uIFxuJHtlcnJvcn1gLFxuICBaRVJPX0RJVklTSU9OOiAobW9kdWxlTmFtZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGAtLSBTS0lQUElORyAtLSBEaXZpc2lvbkJ5WmVybzogeW91IGFyZSBhdHRlbXB0aW5nIHRvIGRpdmlkZSBieSB6ZXJvIGluICR7bW9kdWxlTmFtZX0gcGx1Z2luIDogaW5wdXRzWyR7aW5kZXh9XVxcbmAsXG4gIE1JU1NJTkdfQ09ORklHOiAnQ29uZmlnIGlzIG5vdCBwcm92aWRlZC4nLFxuICBNSVNTSU5HX0lOUFVUX0RBVEE6IChwYXJhbTogc3RyaW5nKSA9PlxuICAgIGAke3BhcmFtfSBpcyBtaXNzaW5nIGZyb20gdGhlIGlucHV0IGFycmF5LCBvciBoYXMgbnVsbGlzaCB2YWx1ZS5gLFxuICBDT05GSUdfV0FSTjogKHBsdWdpbnM6IHN0cmluZywgaXNNb3JlOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3Qgd2l0aG91dFBsdWdpbnMgPVxuICAgICAgJ1lvdSBoYXZlIGluY2x1ZGVkIG5vZGUtbGV2ZWwgY29uZmlnIGluIHlvdXIgbWFuaWZlc3QuIElGIG5vIGxvbmdlciBzdXBwb3J0cyBub2RlLWxldmVsIGNvbmZpZy4gVGhlIG1hbmlmZXN0IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIGFjY2VwdCBhbGwgaXRzIG5vZGUtbGV2ZWwgY29uZmlnIGZyb20gY29uZmlnIG9yIGlucHV0IGRhdGEuJztcbiAgICBjb25zdCB3aXRoUGx1Z2lucyA9IGBZb3UgaGF2ZSBpbmNsdWRlZCBub2RlLWxldmVsIGNvbmZpZyBpbiB5b3VyIG1hbmlmZXN0IHRvIHN1cHBvcnQgXFxgJHtwbHVnaW5zfVxcYCBwbHVnaW4ke1xuICAgICAgaXNNb3JlID8gJ3MnIDogJydcbiAgICB9LiBJRiBubyBsb25nZXIgc3VwcG9ydHMgbm9kZS1sZXZlbCBjb25maWcuIFxcYCR7cGx1Z2luc31cXGAgcGx1Z2luJHtcbiAgICAgIGlzTW9yZSA/ICdzJyA6ICcnXG4gICAgfSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byBhY2NlcHQgYWxsIGl0cyBjb25maWcgZnJvbSBjb25maWcgb3IgaW5wdXQgZGF0YS5gO1xuXG4gICAgcmV0dXJuIHBsdWdpbnMubGVuZ3RoID8gd2l0aFBsdWdpbnMgOiB3aXRob3V0UGx1Z2lucztcbiAgfSxcbn07XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsY0FBYyxFQUFFLDBDQUEwQztJQUMxRCxZQUFZLEVBQUUsd0NBQXdDO0lBQ3RELGlCQUFpQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDbEM7eUJBQ3FCLElBQUksc0xBQXNMO0lBQ2pOLG1CQUFtQixFQUFFLENBQUMsSUFBWSxFQUFFLEtBQVcsRUFBRSxFQUFFLENBQ2pELHFCQUFxQixJQUFJLCtCQUErQixLQUFLLElBQUksRUFBRTtDQUN0RTtJQUNDLHFDQUFxQyxFQUNuQywySEFBMkg7SUFDN0gsbUNBQW1DLEVBQ2pDLDRIQUE0SDtJQUM5SCxpQ0FBaUMsRUFDL0IsNElBQTRJO0lBQzlJLHNCQUFzQixFQUNwQiw2REFBNkQ7SUFDL0QseUJBQXlCLEVBQUUsQ0FBQyxLQUFjLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FDMUQsdUJBQ0UsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FDckQsRUFBRTtJQUNKLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGlCQUFpQixFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxHQUFHO0lBQzNELGFBQWEsRUFBRSxpREFBaUQ7SUFDaEUsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksNkJBQTZCO0lBQ3pELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJ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QUFFLENBQUMsVUFBa0IsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNuRCwwRUFBMEUsVUFBVSxvQkFBb0IsS0FBSyxLQUFLO0lBQ3BILGNBQWMsRUFBRSx5QkFBeUI7SUFDekMsa0JBQWtCLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUNwQyxHQUFHLEtBQUsseURBQXlEO0lBQ25FLFdBQVcsRUFBRSxDQUFDLE9BQWUsRUFBRSxNQUFlLEVBQUUsRUFBRTtRQUNoRCxNQUFNLGNBQWMsR0FDbEIsaU1BQWlNLENBQUM7UUFDcE0sTUFBTSxXQUFXLEdBQUcscUVBQXFFLE9BQU8sWUFDOUYsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLGdEQUFnRCxPQUFPLFlBQ3JELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUNqQiwyRUFBMkUsQ0FBQztRQUU1RSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQ3ZELENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIE1JU1NJTkdfTUVUSE9EOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ21ldGhvZCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIE5PVF9OQVRJVkVfUExVR0lOOiAocGF0aDogc3RyaW5nKSA9PlxuICAgIGBcbiAgWW91IGFyZSB1c2luZyBwbHVnaW4gJHtwYXRofSB3aGljaCBpcyBub3QgcGFydCBvZiB0aGUgSW1wYWN0IEZyYW1ld29yayBzdGFuZGFyZCBsaWJyYXJ5LiBZb3Ugc2hvdWxkIGRvIHlvdXIgb3duIHJlc2VhcmNoIHRvIGVuc3VyZSB0aGUgcGx1Z2lucyBhcmUgdXAgdG8gZGF0ZSBhbmQgYWNjdXJhdGUuIFRoZXkgbWF5IG5vdCBiZSBhY3RpdmVseSBtYWludGFpbmVkLmAsXG4gIElOVkFMSURfTU9EVUxFX1BBVEg6IChwYXRoOiBzdHJpbmcsIGVycm9yPzogYW55KSA9PlxuICAgIGBQcm92aWRlZCBtb2R1bGUgXFxgJHtwYXRofVxcYCBpcyBpbnZhbGlkIG9yIG5vdCBmb3VuZC4gJHtlcnJvciA/PyAnJ31cbmAsXG4gIElOQ09NUEFUSUJMRV9SRVNPTFVUSU9OX1dJVEhfSU5URVJWQUw6XG4gICAgJ1RoZSB1cHNhbXBsaW5nIHJlc29sdXRpb24gbXVzdCBiZSBhIGRpdmlzb3Igb2YgdGhlIGdpdmVuIGludGVydmFsLCBidXQgdGhlIHByb3ZpZGVkIHZhbHVlIGRvZXMgbm90IHNhdGlzZnkgdGhpcyBjcml0ZXJpYS4nLFxuICBJTkNPTVBBVElCTEVfUkVTT0xVVElPTl9XSVRIX0lOUFVUUzpcbiAgICAnVGhlIHVwc2FtcGxpbmcgcmVzb2x1dGlvbiBtdXN0IGJlIGEgZGl2aXNvciBvZiBhbGwgaW5wdXRzIGR1cmF0aW9ucywgYnV0IHRoZSBwcm92aWRlZCB2YWx1ZXMgZG8gbm90IHNhdGlzZnkgdGhpcyBjcml0ZXJpYS4nLFxuICBJTkNPTVBBVElCTEVfUkVTT0xVVElPTl9XSVRIX0dBUFM6XG4gICAgJ1RoZSB1cHNhbXBsaW5nIHJlc29sdXRpb24gbXVzdCBiZSBhIGRpdmlzb3Igb2YgZ2FwcyBhbmQgcGFkZGluZ3MgaW4gdGhlIHRpbWUtc2VyaWVzLCBidXQgdGhlIHByb3ZpZGVkIHZhbHVlcyBkbyBub3Qgc2F0aXNmeSB0aGlzIGNyaXRlcmlhLicsXG4gIFVORVhQRUNURURfVElNRV9DT05GSUc6XG4gICAgJ1VuZXhwZWN0ZWQgbm9kZS1sZXZlbCBjb25maWcgcHJvdmlkZWQgZm9yIHRpbWUtc3luYyBwbHVnaW4uJyxcbiAgQVZPSURJTkdfUEFERElOR19CWV9FREdFUzogKHN0YXJ0OiBib29sZWFuLCBlbmQ6IGJvb2xlYW4pID0+XG4gICAgYEF2b2lkaW5nIHBhZGRpbmcgYXQgJHtcbiAgICAgIHN0YXJ0ICYmIGVuZCA/ICdzdGFydCBhbmQgZW5kJyA6IHN0YXJ0ID8gJ3N0YXJ0JyA6ICdlbmQnXG4gICAgfWAsXG4gIE1FVFJJQ19NSVNTSU5HOiAobWV0cmljOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYEFnZ3JlZ2F0aW9uIG1ldHJpYyAke21ldHJpY30gaXMgbm90IGZvdW5kIGluIGlucHV0c1ske2luZGV4fV0uYCxcbiAgSU5WQUxJRF9HUk9VUF9LRVk6IChrZXk6IHN0cmluZykgPT4gYEludmFsaWQgZ3JvdXAgJHtrZXl9LmAsXG4gIFJFR1JPVVBfRVJST1I6ICdub3QgYW4gYXJyYXkgb3Igc2hvdWxkIGNvbnRhaW4gYXQgbGVhc3Qgb25lIGtleScsXG4gIFVOS05PV05fUEFSQU06IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYFVua25vd24gcGFyYW1ldGVyOiAke25hbWV9LiBPbWl0dGluZyBmcm9tIHRoZSBvdXRwdXQuYCxcbiAgTk9UX0lOSVRBTElaRURfUExVR0lOOiAobmFtZTogc3RyaW5nKSA9PlxuICAgIGBOb3QgaW5pdGFsaXplZCBwbHVnaW46ICR7bmFtZX0uIENoZWNrIGlmICR7bmFtZX0gaXMgaW4gJ21hbmlmZXN0LmluaXRhbGl6ZS5wbHVnaW5zJy5gLFxuICBOT19PVVRQVVQ6IGBcbllvdSBoYXZlIG5vdCBhZGRlZCBhbiBvdXRwdXQgY29tbWFuZDogXG4tLW91dHB1dCA8c2F2ZXBhdGg+OiB3aWxsIHNhdmUgeW91ciBvdXRwdXQgZGF0YSB0byB0aGUgZ2l2ZW4gZmlsZXBhdGggKGRvIG5vdCBwcm92aWRlIGZpbGUgZXh0ZW5zaW9uKVxuTm90ZSB0aGF0IGZvciB0aGUgJy0tb3V0cHV0JyBvcHRpb24geW91IGFsc28gbmVlZCB0byBkZWZpbmUgdGhlIG91dHB1dCB0eXBlIGluIHlvdXIgbWFuaWZlc3QgZmlsZS4gU2VlIGh0dHBzOi8vaWYuZ3JlZW5zb2Z0d2FyZS5mb3VuZGF0aW9uL21ham9yLWNvbmNlcHRzL21hbmlmZXN0LWZpbGUjaW5pdGlhbGl6ZWAsXG4gIFVOU1VQUE9SVEVEX0VSUk9SOiAoZXJyb3JOYW1lOiBzdHJpbmcpID0+XG4gICAgYFVuc3VwcG9ydGVkRXJyb3JDbGFzczogcGx1Z2luIHRocmV3IGVycm9yIGNsYXNzOiAke2Vycm9yTmFtZX0gdGhhdCBpcyBub3QgcmVjb2duaXplZCBieSBJbXBhY3QgRnJhbWV3b3JrYCxcbiAgLyoqIERlYnVnZ2luZyBsb2dzICovXG4gIFNUQVJUSU5HX0lGOiAnU3RhcnRpbmcgSUYnLFxuICBFWElUSU5HX0lGOiAnRXhpdGluZyBJRicsXG4gIExPQURJTkdfTUFOSUZFU1Q6ICdMb2FkaW5nIG1hbmlmZXN0JyxcbiAgVkFMSURBVElOR19NQU5JRkVTVDogJ1ZhbGlkYXRpbmcgbWFuaWZlc3QnLFxuICBDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBOiAnQ2FwdHVyaW5nIHJ1bnRpbWUgZW52aXJvbm1lbnQgZGF0YScsXG4gIENIRUNLSU5HX0FHR1JFR0FUSU9OX01FVEhPRDogKHVuaXROYW1lOiBzdHJpbmcpID0+XG4gICAgYENoZWNraW5nIGFnZ3JlZ2F0aW9uIG1ldGhvZCBmb3IgJHt1bml0TmFtZX1gLFxuICBJTklUSUFMSVpJTkdfUExVR0lOUzogJ0luaXRpYWxpemluZyBwbHVnaW5zJyxcbiAgSU5JVElBTElaSU5HX1BMVUdJTjogKHBsdWdpbk5hbWU6IHN0cmluZykgPT5cbiAgICBgSW5pdGlhbGl6aW5nIFxcYCR7cGx1Z2luTmFtZX1cXGAgaW5zdGFuY2VgLFxuICBMT0FESU5HX1BMVUdJTl9GUk9NX1BBVEg6IChwbHVnaW5OYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT5cbiAgICBgTG9hZGluZyAke3BsdWdpbk5hbWV9IGZyb20gJHtwYXRofWAsXG4gIENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERTogKG5vZGVOYW1lOiBzdHJpbmcpID0+XG4gICAgYFJ1bm5pbmcgY29tcHV0ZSBwaXBlbGluZTogXFxgJHtub2RlTmFtZX1cXGAgcGx1Z2luYCxcbiAgQ09NUFVUSU5HX0NPTVBPTkVOVF9QSVBFTElORTogKGNvbXBvbmVudDogc3RyaW5nKSA9PlxuICAgIGAqKkNvbXB1dGluZyBcXGAke2NvbXBvbmVudH1cXGAgcGlwZWxpbmUqKmAsXG4gIFJFR1JPVVBJTkc6ICdSZWdyb3VwaW5nJyxcbiAgU0tJUFBJTkdfUkVHUk9VUDogJ0FscmVhZHkgY29ycmVjdGx5IGdyb3VwZWQgLSBza2lwcGluZyByZWdyb3VwaW5nLicsXG4gIE9CU0VSVklORzogKG5vZGVOYW1lOiBzdHJpbmcpID0+XG4gICAgYFJ1bm5pbmcgb2JzZXJ2ZSBwaXBlbGluZTogXFxgJHtub2RlTmFtZX1cXGAgcGx1Z2luYCxcbiAgTUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEE6ICdNZXJnaW5nIGRlZmF1bHRzIHdpdGggaW5wdXQgZGF0YScsXG4gIEFHR1JFR0FUSU5HX09VVFBVVFM6ICdBZ2dyZWdhdGluZyBvdXRwdXRzJyxcbiAgQUdHUkVHQVRJTkdfTk9ERTogKG5vZGVOYW1lOiBzdHJpbmcpID0+IGBBZ2dyZWdhdGluZyBub2RlICR7bm9kZU5hbWV9YCxcbiAgUFJFUEFSSU5HX09VVFBVVF9EQVRBOiAoKSA9PiB7XG4gICAgY29uc29sZS5kZWJ1ZygnXFxuJyk7XG4gICAgcmV0dXJuICdQcmVwYXJpbmcgb3V0cHV0IGRhdGEnO1xuICB9LFxuICBFWFBPUlRJTkdfVE9fWUFNTF9GSUxFOiAoc2F2ZXBhdGg6IHN0cmluZykgPT5cbiAgICBgRXhwb3J0aW5nIHRvIHlhbWwgZmlsZTogJHtzYXZlcGF0aH1gLFxuICBFTVBUWV9QSVBFTElORTogYFlvdSdyZSB1c2luZyBhbiBvbGQgc3R5bGUgbWFuaWZlc3QuIFBsZWFzZSB1cGRhdGUgZm9yIHBoYXNlZCBleGVjdXRpb24uIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGhlcmU6IFxuaHR0cHM6Ly9pZi5ncmVlbnNvZnR3YXJlLmZvdW5kYXRpb24vbWFqb3ItY29uY2VwdHMvbWFuaWZlc3QtZmlsZWAsXG4gIC8qKiBFeGhhdXN0IG1lc3NhZ2VzICovXG4gIE9VVFBVVF9SRVFVSVJFRDpcbiAgICAnT3V0cHV0IHBhdGggaXMgcmVxdWlyZWQsIHBsZWFzZSBtYWtlIHN1cmUgb3V0cHV0IGlzIGNvbmZpZ3VyZWQgcHJvcGVybHkuJyxcbiAgLyoqIFBsdWdpbnMgbWVzc2FnZXMgKi9cbiAgSU5WQUxJRF9OQU1FOiAnYG5hbWVgIGNvbmZpZyBwYXJhbWV0ZXIgaXMgZW1wdHkgb3IgY29udGFpbnMgYWxsIHNwYWNlcycsXG4gIFNUQVJUX0xPV0VSX0VORDogJ2BzdGFydC10aW1lYCBzaG91bGQgYmUgbG93ZXIgdGhhbiBgZW5kLXRpbWVgJyxcbiAgWF9ZX0VRVUFMOiAnVGhlIGxlbmd0aCBvZiBgeGAgYW5kIGB5YCBzaG91bGQgYmUgZXF1YWwnLFxuICBBUlJBWV9MRU5HVEhfTk9OX0VNUFRZOlxuICAgICd0aGUgbGVuZ3RoIG9mIHRoZSBpbnB1dCBhcnJheXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMScsXG4gIFdJVEhJTl9USEVfUkFOR0U6XG4gICAgJ1RoZSB0YXJnZXQgeCB2YWx1ZSBtdXN0IGJlIHdpdGhpbiB0aGUgcmFuZ2Ugb2YgdGhlIGdpdmVuIHggdmFsdWVzJyxcbiAgTUlTU0lOR19DU1ZfQ09MVU1OOiAoY29sdW1uTmFtZTogc3RyaW5nKSA9PlxuICAgIGBUaGVyZSBpcyBubyBjb2x1bW4gd2l0aCB0aGUgbmFtZTogJHtjb2x1bW5OYW1lfS5gLFxuICBOT19RVUVSWV9EQVRBOlxuICAgICdPbmUgb3IgbW9yZSBvZiB0aGUgZ2l2ZW4gcXVlcnkgcGFyYW1ldGVycyBhcmUgbm90IGZvdW5kIGluIHRoZSB0YXJnZXQgQ1NWIGZpbGUgY29sdW1uIGhlYWRlcnMuJyxcbiAgSU5WQUxJRF9EQVRFX1RZUEU6IChkYXRlOiBhbnkpID0+XG4gICAgYFVuZXhwZWN0ZWQgZGF0ZSBkYXRhdHlwZTogJHt0eXBlb2YgZGF0ZX06ICR7ZGF0ZX1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6XG4gICAgJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcCwgcGxlYXNlIGNoZWNrIGlucHV0cy4nLFxuICBTQ0lfTUlTU0lOR19GTl9VTklUOiAoZnVuY3Rpb25hbFVuaXQ6IHN0cmluZykgPT5cbiAgICBgJ2NhcmJvbicgYW5kICR7ZnVuY3Rpb25hbFVuaXR9IHNob3VsZCBiZSBwcmVzZW50IGluIHlvdXIgaW5wdXQgZGF0YS5gLFxuICBNSVNTSU5HX0ZVTkNUSU9OQUxfVU5JVF9DT05GSUc6XG4gICAgJ2BmdW5jdGlvbmFsLXVuaXRgIHNob3VsZCBiZSBwcm92aWRlZCBpbiB5b3VyIGNvbmZpZycsXG4gIE1JU1NJTkdfRlVOQ1RJT05BTF9VTklUX0lOUFVUOlxuICAgICdgZnVuY3Rpb25hbC11bml0YCB2YWx1ZSBpcyBtaXNzaW5nIGZyb20gaW5wdXQgZGF0YSBvciBpdCBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyJyxcbiAgUkVHRVhfTUlTTUFUQ0g6IChpbnB1dDogYW55LCBtYXRjaDogc3RyaW5nKSA9PlxuICAgIGBcXGAke2lucHV0fVxcYCBkb2VzIG5vdCBtYXRjaCB0aGUgJHttYXRjaH0gcmVnZXggZXhwcmVzc2lvbmAsXG4gIE1JU1NJTkdfTUlOX01BWDogJ0NvbmZpZyBpcyBtaXNzaW5nIG1pbiBvciBtYXggdmFsdWUnLFxuICBJTlZBTElEX01JTl9NQVg6IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE1pbiB2YWx1ZSBzaG91bGQgbm90IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBtYXggdmFsdWUgb2YgJHtuYW1lfWAsXG4gIEZJTEVfRkVUQ0hfRkFJTEVEOiAoXG4gICAgZmlsZXBhdGg6IHN0cmluZyxcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgKSA9PiBgRmFpbGVkIGZldGNoaW5nIHRoZSBmaWxlOiAke2ZpbGVwYXRofS5cbiR7bWVzc2FnZX1gLFxuICBGSUxFX1JFQURfRkFJTEVEOiAoXG4gICAgZmlsZXBhdGg6IHN0cmluZyxcbiAgICBlcnJvcjogc3RyaW5nXG4gICkgPT4gYEZhaWxlZCByZWFkaW5nIHRoZSBmaWxlOiAke2ZpbGVwYXRofS4gXG4ke2Vycm9yfWAsXG4gIFpFUk9fRElWSVNJT046IChtb2R1bGVOYW1lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYC0tIFNLSVBQSU5HIC0tIERpdmlzaW9uQnlaZXJvOiB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gZGl2aWRlIGJ5IHplcm8gaW4gJHttb2R1bGVOYW1lfSBwbHVnaW4gOiBpbnB1dHNbJHtpbmRleH1dXFxuYCxcbiAgTUlTU0lOR19DT05GSUc6ICdDb25maWcgaXMgbm90IHByb3ZpZGVkLicsXG4gIE1JU1NJTkdfSU5QVVRfREFUQTogKHBhcmFtOiBzdHJpbmcpID0+XG4gICAgYCR7cGFyYW19IGlzIG1pc3NpbmcgZnJvbSB0aGUgaW5wdXQgYXJyYXksIG9yIGhhcyBudWxsaXNoIHZhbHVlLmAsXG4gIENPTkZJR19XQVJOOiAocGx1Z2luczogc3RyaW5nLCBpc01vcmU6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB3aXRob3V0UGx1Z2lucyA9XG4gICAgICAnWW91IGhhdmUgaW5jbHVkZWQgbm9kZS1sZXZlbCBjb25maWcgaW4geW91ciBtYW5pZmVzdC4gSUYgbm8gbG9uZ2VyIHN1cHBvcnRzIG5vZGUtbGV2ZWwgY29uZmlnLiBUaGUgbWFuaWZlc3Qgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gYWNjZXB0IGFsbCBpdHMgbm9kZS1sZXZlbCBjb25maWcgZnJvbSBjb25maWcgb3IgaW5wdXQgZGF0YS4nO1xuICAgIGNvbnN0IHdpdGhQbHVnaW5zID0gYFlvdSBoYXZlIGluY2x1ZGVkIG5vZGUtbGV2ZWwgY29uZmlnIGluIHlvdXIgbWFuaWZlc3QgdG8gc3VwcG9ydCBcXGAke3BsdWdpbnN9XFxgIHBsdWdpbiR7XG4gICAgICBpc01vcmUgPyAncycgOiAnJ1xuICAgIH0uIElGIG5vIGxvbmdlciBzdXBwb3J0cyBub2RlLWxldmVsIGNvbmZpZy4gXFxgJHtwbHVnaW5zfVxcYCBwbHVnaW4ke1xuICAgICAgaXNNb3JlID8gJ3MnIDogJydcbiAgICB9IHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIGFjY2VwdCBhbGwgaXRzIGNvbmZpZyBmcm9tIGNvbmZpZyBvciBpbnB1dCBkYXRhLmA7XG5cbiAgICByZXR1cm4gcGx1Z2lucy5sZW5ndGggPyB3aXRoUGx1Z2lucyA6IHdpdGhvdXRQbHVnaW5zO1xuICB9LFxufTtcbiJdfQ==