@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.
- package/.env +5 -0
- package/CONTRIBUTING.md +19 -6
- package/ENABLEMENT.md +115 -0
- package/README.md +1 -7
- package/SECURITY.md +100 -0
- package/adopters.md +12 -0
- package/build/common/config/strings.js +3 -4
- package/build/common/util/helpers.d.ts +5 -0
- package/build/common/util/helpers.js +24 -2
- package/build/common/util/logger.js +3 -3
- package/build/common/util/yaml.js +19 -7
- package/build/if-check/config/config.js +7 -1
- package/build/if-check/util/args.js +3 -2
- package/build/if-check/util/npm.js +55 -9
- package/build/if-csv/config/config.js +7 -1
- package/build/if-csv/util/args.js +3 -2
- package/build/if-diff/config/config.js +7 -1
- package/build/if-diff/util/args.js +3 -2
- package/build/if-env/config/config.js +7 -1
- package/build/if-env/util/args.js +3 -2
- package/build/if-merge/config/config.js +7 -1
- package/build/if-merge/util/args.js +3 -2
- package/build/if-merge/util/helpers.js +4 -1
- package/build/if-run/builtins/csv-import/index.d.ts +16 -0
- package/build/if-run/builtins/csv-import/index.js +69 -0
- package/build/if-run/builtins/csv-lookup/index.js +10 -87
- package/build/if-run/builtins/divide/index.js +2 -4
- package/build/if-run/builtins/exponent/index.js +3 -5
- package/build/if-run/builtins/index.d.ts +1 -0
- package/build/if-run/builtins/index.js +4 -2
- package/build/if-run/builtins/shell/index.js +2 -2
- package/build/if-run/builtins/util/csv-helpers.d.ts +26 -0
- package/build/if-run/builtins/util/csv-helpers.js +92 -0
- package/build/if-run/config/config.js +1 -7
- package/build/if-run/config/strings.d.ts +1 -0
- package/build/if-run/config/strings.js +2 -1
- package/build/if-run/lib/compute.js +23 -16
- package/build/if-run/lib/regroup.d.ts +5 -0
- package/build/if-run/lib/regroup.js +14 -2
- package/build/if-run/util/args.d.ts +1 -1
- package/build/if-run/util/args.js +5 -4
- package/coverage/clover.xml +2062 -0
- package/coverage/coverage-final.json +58 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
- package/coverage/lcov-report/builtins/coefficient/index.ts.html +298 -0
- package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
- package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +826 -0
- package/coverage/lcov-report/builtins/divide/index.html +116 -0
- package/coverage/lcov-report/builtins/divide/index.ts.html +358 -0
- package/coverage/lcov-report/builtins/exponent/index.html +116 -0
- package/coverage/lcov-report/builtins/exponent/index.ts.html +361 -0
- package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
- package/coverage/lcov-report/builtins/export-csv.ts.html +436 -0
- package/coverage/lcov-report/builtins/export-log.ts.html +148 -0
- package/coverage/lcov-report/builtins/export-yaml.ts.html +193 -0
- package/coverage/lcov-report/builtins/group-by.ts.html +370 -0
- package/coverage/lcov-report/builtins/index.html +206 -0
- package/coverage/lcov-report/builtins/index.ts.html +130 -0
- package/coverage/lcov-report/builtins/interpolation/index.html +116 -0
- package/coverage/lcov-report/builtins/interpolation/index.ts.html +676 -0
- package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
- package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
- package/coverage/lcov-report/builtins/mock-observations/index.ts.html +619 -0
- package/coverage/lcov-report/builtins/multiply/index.html +116 -0
- package/coverage/lcov-report/builtins/multiply/index.ts.html +343 -0
- package/coverage/lcov-report/builtins/regex/index.html +116 -0
- package/coverage/lcov-report/builtins/regex/index.ts.html +373 -0
- package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
- package/coverage/lcov-report/builtins/sci/index.html +116 -0
- package/coverage/lcov-report/builtins/sci/index.ts.html +325 -0
- package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
- package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +478 -0
- package/coverage/lcov-report/builtins/shell/index.html +116 -0
- package/coverage/lcov-report/builtins/shell/index.ts.html +280 -0
- package/coverage/lcov-report/builtins/subtract/index.html +116 -0
- package/coverage/lcov-report/builtins/subtract/index.ts.html +379 -0
- package/coverage/lcov-report/builtins/sum/index.html +116 -0
- package/coverage/lcov-report/builtins/sum/index.ts.html +334 -0
- package/coverage/lcov-report/builtins/time-sync.ts.html +1462 -0
- package/coverage/lcov-report/common/config/index.html +131 -0
- package/coverage/lcov-report/common/config/index.ts.html +88 -0
- package/coverage/lcov-report/common/config/strings.ts.html +121 -0
- package/coverage/lcov-report/common/lib/index.html +116 -0
- package/coverage/lcov-report/common/lib/load.ts.html +139 -0
- package/coverage/lcov-report/common/util/debug-logger.ts.html +514 -0
- package/coverage/lcov-report/common/util/fs.ts.html +289 -0
- package/coverage/lcov-report/common/util/helpers.ts.html +355 -0
- package/coverage/lcov-report/common/util/index.html +191 -0
- package/coverage/lcov-report/common/util/logger.ts.html +151 -0
- package/coverage/lcov-report/common/util/validations.ts.html +628 -0
- package/coverage/lcov-report/common/util/yaml.ts.html +226 -0
- package/coverage/lcov-report/config/config.ts.html +463 -0
- package/coverage/lcov-report/config/index.html +161 -0
- package/coverage/lcov-report/config/index.ts.html +94 -0
- package/coverage/lcov-report/config/params.ts.html +697 -0
- package/coverage/lcov-report/config/strings.ts.html +490 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/if-check/config/config.ts.html +184 -0
- package/coverage/lcov-report/if-check/config/index.html +146 -0
- package/coverage/lcov-report/if-check/config/index.ts.html +91 -0
- package/coverage/lcov-report/if-check/config/strings.ts.html +142 -0
- package/coverage/lcov-report/if-check/util/args.ts.html +310 -0
- package/coverage/lcov-report/if-check/util/helpers.ts.html +136 -0
- package/coverage/lcov-report/if-check/util/index.html +146 -0
- package/coverage/lcov-report/if-check/util/npm.ts.html +376 -0
- package/coverage/lcov-report/if-csv/util/args.ts.html +256 -0
- package/coverage/lcov-report/if-csv/util/helpers.ts.html +346 -0
- package/coverage/lcov-report/if-csv/util/index.html +131 -0
- package/coverage/lcov-report/if-diff/config/config.ts.html +184 -0
- package/coverage/lcov-report/if-diff/config/index.html +146 -0
- package/coverage/lcov-report/if-diff/config/index.ts.html +91 -0
- package/coverage/lcov-report/if-diff/config/strings.ts.html +100 -0
- package/coverage/lcov-report/if-diff/lib/compare.ts.html +286 -0
- package/coverage/lcov-report/if-diff/lib/index.html +131 -0
- package/coverage/lcov-report/if-diff/lib/load.ts.html +199 -0
- package/coverage/lcov-report/if-diff/util/args.ts.html +274 -0
- package/coverage/lcov-report/if-diff/util/helpers.ts.html +337 -0
- package/coverage/lcov-report/if-diff/util/index.html +131 -0
- package/coverage/lcov-report/if-env/config/config.ts.html +211 -0
- package/coverage/lcov-report/if-env/config/index.html +146 -0
- package/coverage/lcov-report/if-env/config/index.ts.html +91 -0
- package/coverage/lcov-report/if-env/config/strings.ts.html +109 -0
- package/coverage/lcov-report/if-env/util/args.ts.html +256 -0
- package/coverage/lcov-report/if-env/util/index.html +131 -0
- package/coverage/lcov-report/if-env/util/npm.ts.html +526 -0
- package/coverage/lcov-report/if-merge/util/args.ts.html +301 -0
- package/coverage/lcov-report/if-merge/util/helpers.ts.html +313 -0
- package/coverage/lcov-report/if-merge/util/index.html +131 -0
- package/coverage/lcov-report/if-run/builtins/coefficient/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +286 -0
- package/coverage/lcov-report/if-run/builtins/copy-param/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +301 -0
- package/coverage/lcov-report/if-run/builtins/csv-import/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/csv-import/index.ts.html +364 -0
- package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +478 -0
- package/coverage/lcov-report/if-run/builtins/divide/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +346 -0
- package/coverage/lcov-report/if-run/builtins/exponent/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +319 -0
- package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +553 -0
- package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +436 -0
- package/coverage/lcov-report/if-run/builtins/export-log.ts.html +148 -0
- package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +193 -0
- package/coverage/lcov-report/if-run/builtins/group-by.ts.html +370 -0
- package/coverage/lcov-report/if-run/builtins/index.html +146 -0
- package/coverage/lcov-report/if-run/builtins/index.ts.html +136 -0
- package/coverage/lcov-report/if-run/builtins/interpolation/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +643 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +131 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +607 -0
- package/coverage/lcov-report/if-run/builtins/multiply/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +289 -0
- package/coverage/lcov-report/if-run/builtins/regex/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +298 -0
- package/coverage/lcov-report/if-run/builtins/sci/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +418 -0
- package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +664 -0
- package/coverage/lcov-report/if-run/builtins/shell/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +256 -0
- package/coverage/lcov-report/if-run/builtins/subtract/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +298 -0
- package/coverage/lcov-report/if-run/builtins/sum/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +238 -0
- package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +205 -0
- package/coverage/lcov-report/if-run/builtins/time-converter/index.html +131 -0
- package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +328 -0
- package/coverage/lcov-report/if-run/builtins/time-sync/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +1804 -0
- package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +1462 -0
- package/coverage/lcov-report/if-run/builtins/util/csv-helpers.ts.html +376 -0
- package/coverage/lcov-report/if-run/builtins/util/index.html +116 -0
- package/coverage/lcov-report/if-run/config/config.ts.html +271 -0
- package/coverage/lcov-report/if-run/config/index.html +161 -0
- package/coverage/lcov-report/if-run/config/index.ts.html +94 -0
- package/coverage/lcov-report/if-run/config/params.ts.html +679 -0
- package/coverage/lcov-report/if-run/config/strings.ts.html +460 -0
- package/coverage/lcov-report/if-run/lib/aggregate.ts.html +577 -0
- package/coverage/lcov-report/if-run/lib/compute.ts.html +733 -0
- package/coverage/lcov-report/if-run/lib/environment.ts.html +373 -0
- package/coverage/lcov-report/if-run/lib/exhaust.ts.html +193 -0
- package/coverage/lcov-report/if-run/lib/explain.ts.html +484 -0
- package/coverage/lcov-report/if-run/lib/index.html +206 -0
- package/coverage/lcov-report/if-run/lib/initialize.ts.html +490 -0
- package/coverage/lcov-report/if-run/lib/parameterize.ts.html +322 -0
- package/coverage/lcov-report/if-run/lib/regroup.ts.html +349 -0
- package/coverage/lcov-report/if-run/lib/time-sync.ts.html +1510 -0
- package/coverage/lcov-report/if-run/types/aggregation.ts.html +94 -0
- package/coverage/lcov-report/if-run/types/index.html +146 -0
- package/coverage/lcov-report/if-run/types/interface.ts.html +112 -0
- package/coverage/lcov-report/if-run/types/parameters.ts.html +106 -0
- package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +277 -0
- package/coverage/lcov-report/if-run/util/args.ts.html +325 -0
- package/coverage/lcov-report/if-run/util/helpers.ts.html +208 -0
- package/coverage/lcov-report/if-run/util/index.html +191 -0
- package/coverage/lcov-report/if-run/util/json.ts.html +115 -0
- package/coverage/lcov-report/if-run/util/log-memoize.ts.html +145 -0
- package/coverage/lcov-report/if-run/util/os-checker.ts.html +421 -0
- package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +202 -0
- package/coverage/lcov-report/index.html +551 -0
- package/coverage/lcov-report/lib/aggregate.ts.html +358 -0
- package/coverage/lcov-report/lib/compare.ts.html +286 -0
- package/coverage/lcov-report/lib/compute.ts.html +436 -0
- package/coverage/lcov-report/lib/environment.ts.html +376 -0
- package/coverage/lcov-report/lib/exhaust.ts.html +289 -0
- package/coverage/lcov-report/lib/index.html +221 -0
- package/coverage/lcov-report/lib/initialize.ts.html +430 -0
- package/coverage/lcov-report/lib/load.ts.html +268 -0
- package/coverage/lcov-report/lib/parameterize.ts.html +316 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/types/aggregation.ts.html +94 -0
- package/coverage/lcov-report/types/index.html +146 -0
- package/coverage/lcov-report/types/interface.ts.html +112 -0
- package/coverage/lcov-report/types/parameters.ts.html +106 -0
- package/coverage/lcov-report/util/aggregation-helper.ts.html +289 -0
- package/coverage/lcov-report/util/args.ts.html +649 -0
- package/coverage/lcov-report/util/debug-logger.ts.html +481 -0
- package/coverage/lcov-report/util/errors.ts.html +232 -0
- package/coverage/lcov-report/util/fs.ts.html +124 -0
- package/coverage/lcov-report/util/helpers.ts.html +895 -0
- package/coverage/lcov-report/util/index.html +296 -0
- package/coverage/lcov-report/util/json.ts.html +115 -0
- package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
- package/coverage/lcov-report/util/logger.ts.html +151 -0
- package/coverage/lcov-report/util/npm.ts.html +499 -0
- package/coverage/lcov-report/util/os-checker.ts.html +421 -0
- package/coverage/lcov-report/util/plugin-storage.ts.html +202 -0
- package/coverage/lcov-report/util/validations.ts.html +544 -0
- package/coverage/lcov-report/util/yaml.ts.html +193 -0
- package/coverage/lcov.info +3548 -0
- package/manifests/examples/builtins/csv-import/success.yaml +22 -0
- package/manifests/examples/builtins/csv-import/test.csv +4 -0
- package/manifests/outputs/builtins/csv-import/success.yaml +84 -0
- package/manifests/regroup.yml +49 -0
- package/manifests/test.yml +524 -0
- package/okrs.md +14 -0
- package/package.json +1 -1
- package/src/if-run/builtins/csv-import/README.md +190 -0
- 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
|
|
16
|
-
const {
|
|
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,
|
|
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]:
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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==
|