@o3r/rules-engine 10.0.0-next.9 → 11.0.0-next.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/README.md +16 -17
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts +1 -1
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts.map +1 -1
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts +2 -0
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts.map +1 -1
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js +10 -2
- package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js.map +1 -1
- package/builders/rules-engine-extractor/index.js.map +1 -1
- package/builders/rules-engine-extractor/schema.json +1 -1
- package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts +2 -2
- package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts.map +1 -1
- package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts +1 -1
- package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts.map +1 -1
- package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts +1 -3
- package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts.map +1 -1
- package/components/rules-engine/shared/ruleset-history.helper.d.ts +0 -2
- package/components/rules-engine/shared/ruleset-history.helper.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.console.service.d.ts +0 -7
- package/devkit/rules-engine-devtools.console.service.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.message.service.d.ts +4 -6
- package/devkit/rules-engine-devtools.message.service.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.module.d.ts +0 -1
- package/devkit/rules-engine-devtools.module.d.ts.map +1 -1
- package/devkit/rules-engine-devtools.service.d.ts +3 -10
- package/devkit/rules-engine-devtools.service.d.ts.map +1 -1
- package/engine/debug/engine.debug.d.ts +4 -12
- package/engine/debug/engine.debug.d.ts.map +1 -1
- package/engine/debug/helpers.d.ts +2 -4
- package/engine/debug/helpers.d.ts.map +1 -1
- package/engine/engine.d.ts +4 -13
- package/engine/engine.d.ts.map +1 -1
- package/engine/engine.interface.d.ts +2 -6
- package/engine/engine.interface.d.ts.map +1 -1
- package/engine/fact/fact.interfaces.d.ts +2 -0
- package/engine/fact/fact.interfaces.d.ts.map +1 -1
- package/engine/helpers/filter-ruleset-event.operator.d.ts +0 -1
- package/engine/helpers/filter-ruleset-event.operator.d.ts.map +1 -1
- package/engine/operator/operator.helpers.d.ts +10 -9
- package/engine/operator/operator.helpers.d.ts.map +1 -1
- package/engine/operator/operator.interface.d.ts +4 -1
- package/engine/operator/operator.interface.d.ts.map +1 -1
- package/engine/operator/operators/array-based.operators.d.ts +0 -23
- package/engine/operator/operators/array-based.operators.d.ts.map +1 -1
- package/engine/operator/operators/basic.operators.d.ts +5 -8
- package/engine/operator/operators/basic.operators.d.ts.map +1 -1
- package/engine/operator/operators/date-based.operators.d.ts +13 -6
- package/engine/operator/operators/date-based.operators.d.ts.map +1 -1
- package/engine/operator/operators/index.d.ts +1 -1
- package/engine/operator/operators/index.d.ts.map +1 -1
- package/engine/operator/operators/number-based.operators.d.ts +0 -4
- package/engine/operator/operators/number-based.operators.d.ts.map +1 -1
- package/engine/rule/rule.helpers.d.ts +0 -7
- package/engine/rule/rule.helpers.d.ts.map +1 -1
- package/engine/ruleset-executor.d.ts +15 -13
- package/engine/ruleset-executor.d.ts.map +1 -1
- package/engine/structure.d.ts +9 -5
- package/engine/structure.d.ts.map +1 -1
- package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +4 -4
- package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +8 -13
- package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +5 -5
- package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +5 -5
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +6 -8
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +4 -4
- package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +3 -3
- package/esm2022/components/rules-engine/shared/ruleset-history.helper.mjs +1 -3
- package/esm2022/devkit/rules-engine-devtools.console.service.mjs +6 -13
- package/esm2022/devkit/rules-engine-devtools.message.service.mjs +6 -8
- package/esm2022/devkit/rules-engine-devtools.module.mjs +5 -6
- package/esm2022/devkit/rules-engine-devtools.service.mjs +7 -14
- package/esm2022/engine/debug/engine.debug.mjs +2 -10
- package/esm2022/engine/debug/helpers.mjs +1 -4
- package/esm2022/engine/engine.interface.mjs +1 -1
- package/esm2022/engine/engine.mjs +1 -9
- package/esm2022/engine/fact/fact.interfaces.mjs +1 -1
- package/esm2022/engine/helpers/filter-ruleset-event.operator.mjs +1 -2
- package/esm2022/engine/operator/index.mjs +1 -1
- package/esm2022/engine/operator/operator.helpers.mjs +33 -13
- package/esm2022/engine/operator/operator.interface.mjs +1 -1
- package/esm2022/engine/operator/operators/array-based.operators.mjs +6 -29
- package/esm2022/engine/operator/operators/basic.operators.mjs +16 -11
- package/esm2022/engine/operator/operators/date-based.operators.mjs +48 -8
- package/esm2022/engine/operator/operators/number-based.operators.mjs +1 -5
- package/esm2022/engine/rule/rule.helpers.mjs +1 -8
- package/esm2022/engine/ruleset-executor.mjs +58 -32
- package/esm2022/engine/structure.mjs +1 -1
- package/esm2022/fact/fact.abstract-service.mjs +1 -1
- package/esm2022/facts/current-time/current-time.facts.mjs +2 -0
- package/esm2022/facts/current-time/index.mjs +2 -0
- package/esm2022/facts/index.mjs +2 -0
- package/esm2022/fixtures/jasmine/index.mjs +2 -2
- package/esm2022/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.mjs +14 -0
- package/esm2022/fixtures/jest/index.mjs +2 -2
- package/esm2022/fixtures/jest/rules-engine.runner.service.fixture.jest.mjs +14 -0
- package/esm2022/interfaces/action.interfaces.mjs +1 -1
- package/esm2022/public_api.mjs +2 -1
- package/esm2022/services/index.mjs +2 -3
- package/esm2022/services/rules-engine.token.mjs +2 -1
- package/esm2022/services/runner/index.mjs +3 -0
- package/esm2022/services/runner/rules-engine.runner.module.mjs +37 -0
- package/esm2022/services/runner/rules-engine.runner.service.mjs +119 -0
- package/esm2022/stores/rulesets/rulesets.effect.mjs +4 -4
- package/esm2022/stores/rulesets/rulesets.module.mjs +4 -4
- package/esm2022/stores/rulesets/rulesets.selectors.mjs +3 -4
- package/fact/fact.abstract-service.d.ts +3 -3
- package/fact/fact.abstract-service.d.ts.map +1 -1
- package/facts/current-time/current-time.facts.d.ts +11 -0
- package/facts/current-time/current-time.facts.d.ts.map +1 -0
- package/facts/current-time/index.d.ts +2 -0
- package/facts/current-time/index.d.ts.map +1 -0
- package/facts/index.d.ts +2 -0
- package/facts/index.d.ts.map +1 -0
- package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs +3 -6
- package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs.map +1 -1
- package/fesm2022/o3r-rules-engine-fixtures-jest.mjs +3 -6
- package/fesm2022/o3r-rules-engine-fixtures-jest.mjs.map +1 -1
- package/fesm2022/o3r-rules-engine.mjs +264 -560
- package/fesm2022/o3r-rules-engine.mjs.map +1 -1
- package/fixtures/jasmine/index.d.ts +1 -1
- package/fixtures/jasmine/index.d.ts.map +1 -1
- package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts +14 -0
- package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts.map +1 -0
- package/fixtures/jest/index.d.ts +1 -1
- package/fixtures/jest/index.d.ts.map +1 -1
- package/fixtures/jest/index.js +1 -1
- package/fixtures/jest/index.js.map +1 -1
- package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts +14 -0
- package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts.map +1 -0
- package/fixtures/jest/{rules-engine.service.fixture.jest.js → rules-engine.runner.service.fixture.jest.js} +3 -6
- package/fixtures/jest/rules-engine.runner.service.fixture.jest.js.map +1 -0
- package/interfaces/action.interfaces.d.ts +5 -0
- package/interfaces/action.interfaces.d.ts.map +1 -1
- package/migration.json +10 -0
- package/package.json +57 -46
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
- package/rules.facts.metadata.json +7 -1
- package/rules.operators.metadata.json +61 -0
- package/schemas/rulesets.schema.json +6 -110
- package/schematics/cms-adapter/index.d.ts +0 -1
- package/schematics/cms-adapter/index.d.ts.map +1 -1
- package/schematics/cms-adapter/index.js +5 -9
- package/schematics/cms-adapter/index.js.map +1 -1
- package/schematics/facts-service/schema.json +1 -1
- package/schematics/ng-add/helpers/devtools-registration.d.ts +11 -0
- package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
- package/schematics/ng-add/helpers/devtools-registration.js +36 -0
- package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
- package/schematics/ng-add/index.d.ts +1 -0
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +8 -4
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.json +1 -1
- package/schematics/ng-update/index.d.ts +6 -0
- package/schematics/ng-update/index.d.ts.map +1 -0
- package/schematics/ng-update/index.js +22 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/v10.0/action-module-split.d.ts +6 -0
- package/schematics/ng-update/v10.0/action-module-split.d.ts.map +1 -0
- package/schematics/ng-update/v10.0/action-module-split.js +21 -0
- package/schematics/ng-update/v10.0/action-module-split.js.map +1 -0
- package/schematics/operator/schema.json +1 -1
- package/schematics/rules-engine-to-component/index.d.ts +0 -1
- package/schematics/rules-engine-to-component/index.d.ts.map +1 -1
- package/schematics/rules-engine-to-component/index.js +7 -8
- package/schematics/rules-engine-to-component/index.js.map +1 -1
- package/schematics/rules-engine-to-component/schema.json +1 -1
- package/services/index.d.ts +1 -2
- package/services/index.d.ts.map +1 -1
- package/services/rules-engine.token.d.ts +1 -0
- package/services/rules-engine.token.d.ts.map +1 -1
- package/services/runner/index.d.ts +3 -0
- package/services/runner/index.d.ts.map +1 -0
- package/services/runner/rules-engine.runner.module.d.ts +13 -0
- package/services/runner/rules-engine.runner.module.d.ts.map +1 -0
- package/services/runner/rules-engine.runner.service.d.ts +60 -0
- package/services/runner/rules-engine.runner.service.d.ts.map +1 -0
- package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
- package/builders/package.json +0 -3
- package/esm2022/fixtures/jasmine/rules-engine.service.fixture.jasmine.mjs +0 -17
- package/esm2022/fixtures/jest/rules-engine.service.fixture.jest.mjs +0 -17
- package/esm2022/services/rules-engine.effect.mjs +0 -162
- package/esm2022/services/rules-engine.module.mjs +0 -50
- package/esm2022/services/rules-engine.service.mjs +0 -272
- package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts +0 -17
- package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts.map +0 -1
- package/fixtures/jest/rules-engine.service.fixture.jest.d.ts +0 -18
- package/fixtures/jest/rules-engine.service.fixture.jest.d.ts.map +0 -1
- package/fixtures/jest/rules-engine.service.fixture.jest.js.map +0 -1
- package/schematics/package.json +0 -3
- package/services/rules-engine.effect.d.ts +0 -53
- package/services/rules-engine.effect.d.ts.map +0 -1
- package/services/rules-engine.module.d.ts +0 -16
- package/services/rules-engine.module.d.ts.map +0 -1
- package/services/rules-engine.service.d.ts +0 -90
- package/services/rules-engine.service.d.ts.map +0 -1
|
@@ -13,7 +13,6 @@ export class RulesEngine {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Rules engine
|
|
16
|
-
*
|
|
17
16
|
* @param options rules engine options
|
|
18
17
|
* @param logger
|
|
19
18
|
*/
|
|
@@ -46,7 +45,6 @@ export class RulesEngine {
|
|
|
46
45
|
}
|
|
47
46
|
/**
|
|
48
47
|
* Attach debug events to actions stream if debug engine is activated
|
|
49
|
-
*
|
|
50
48
|
* @param actionsStream
|
|
51
49
|
*/
|
|
52
50
|
handleActionsStreamOutput() {
|
|
@@ -54,7 +52,6 @@ export class RulesEngine {
|
|
|
54
52
|
}
|
|
55
53
|
/**
|
|
56
54
|
* Create the actions stream event based on provided active rulesets ids; Handle debug too
|
|
57
|
-
*
|
|
58
55
|
* @param ruleSets
|
|
59
56
|
*/
|
|
60
57
|
prepareActionsStream(ruleSets) {
|
|
@@ -65,7 +62,6 @@ export class RulesEngine {
|
|
|
65
62
|
/**
|
|
66
63
|
* Create or retrieve a fact stream
|
|
67
64
|
* The fact stream created will be registered in the engine
|
|
68
|
-
*
|
|
69
65
|
* @param id ID of the fact to retrieve
|
|
70
66
|
* @param factValue$ Value stream for the fact
|
|
71
67
|
*/
|
|
@@ -92,7 +88,6 @@ export class RulesEngine {
|
|
|
92
88
|
/**
|
|
93
89
|
* Retrieve the promise of the latest value of a fact.
|
|
94
90
|
* Return undefined if the fact is not defined.
|
|
95
|
-
*
|
|
96
91
|
* @param id ID of the fact to retrieve
|
|
97
92
|
*/
|
|
98
93
|
retrieveFactValue(id) {
|
|
@@ -100,7 +95,6 @@ export class RulesEngine {
|
|
|
100
95
|
}
|
|
101
96
|
/**
|
|
102
97
|
* Update or insert fact in rules engine
|
|
103
|
-
*
|
|
104
98
|
* @param facts fact list to add / update
|
|
105
99
|
*/
|
|
106
100
|
upsertFacts(facts) {
|
|
@@ -108,7 +102,6 @@ export class RulesEngine {
|
|
|
108
102
|
}
|
|
109
103
|
/**
|
|
110
104
|
* Update or insert rule in rules engine
|
|
111
|
-
*
|
|
112
105
|
* @param rules rule list to add / update
|
|
113
106
|
* @param rulesets
|
|
114
107
|
*/
|
|
@@ -121,7 +114,6 @@ export class RulesEngine {
|
|
|
121
114
|
}
|
|
122
115
|
/**
|
|
123
116
|
* Update or insert operator in rules engine
|
|
124
|
-
*
|
|
125
117
|
* @param operators operator list to add / update
|
|
126
118
|
*/
|
|
127
119
|
upsertOperators(operators) {
|
|
@@ -142,4 +134,4 @@ export class RulesEngine {
|
|
|
142
134
|
return Object.keys(this.factMap);
|
|
143
135
|
}
|
|
144
136
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBWSxZQUFZLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXJELG1CQUFtQjtBQUNuQixNQUFNLE9BQU8sV0FBVztJQW9DdEI7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLE9BQTRCO1FBL0N4QyxrRkFBa0Y7UUFDMUUsWUFBTyxHQUFvQyxFQUFFLENBQUM7UUFFdEQsNERBQTREO1FBQzNDLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFrQyxFQUFFLENBQUMsQ0FBQztRQTRDNUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxJQUFJLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE9BQU8sRUFBRSx1QkFBdUIsSUFBSSxhQUFhLENBQUM7UUFDakYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztRQUNsRCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFxQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUN6RixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUM5QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDeEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQzNCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUNqQyxDQUFDO1FBQ0YsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyx5QkFBeUI7UUFDL0IsT0FBTyxDQUFDLGNBQStCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBWSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQzNLLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CLENBQXNDLFFBQW1CO1FBQ25GLE9BQU8sQ0FBQyxrQkFBK0QsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0Ysa0JBQWtCLENBQUMsSUFBSSxDQUNyQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUNqRyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQW9CLENBQUM7SUFDdkYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDBCQUEwQixDQUFZLEVBQVUsRUFBRSxVQUEwQjtRQUNqRixnR0FBZ0c7UUFDaEcsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLFVBQVUsQ0FBQztRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtZQUNELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN2QjtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUF3QyxJQUFJLENBQUMsQ0FBQztRQUNqRixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDNUMsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHO1lBQ2pCLE9BQU87WUFDUCxNQUFNO1NBQ1AsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGlCQUFpQixDQUFjLEVBQVU7UUFDOUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEgsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQWMsS0FBMEI7UUFDeEQsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUMsRUFBRSxFQUFFLENBQ2hFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxjQUFjLENBQUMsUUFBbUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN6QixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBQyxDQUFDLENBQ3RDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxTQUF1QztRQUM1RCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDbEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDOUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxjQUFjO1FBQ25CLE9BQU8sQ0FBQyxZQUE4QyxFQUFFLEVBQUUsQ0FDeEQsWUFBWSxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDNUYsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsNkNBQTZDO0lBQ3RDLHVCQUF1QjtRQUM1QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHsgRmFjdE9iamVjdCwgRmFjdHMsIFJ1bGVzRW5naW5lT3B0aW9ucyB9IGZyb20gJy4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGYWN0IH0gZnJvbSAnLi9mYWN0L2luZGV4JztcbmltcG9ydCB7IGZpbHRlclJ1bGVzZXRzRXZlbnRTdHJlYW0gfSBmcm9tICcuL2hlbHBlcnMvZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3InO1xuaW1wb3J0IHsgT3BlcmF0b3IsIG9wZXJhdG9yTGlzdCwgVW5hcnlPcGVyYXRvciB9IGZyb20gJy4vb3BlcmF0b3IvaW5kZXgnO1xuaW1wb3J0IHsgUnVsZXNldEV4ZWN1dG9yIH0gZnJvbSAnLi9ydWxlc2V0LWV4ZWN1dG9yJztcbmltcG9ydCB7IEFjdGlvbkJsb2NrLCBSdWxlc2V0IH0gZnJvbSAnLi9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXJ9IGZyb20gJ0BvM3IvbG9nZ2VyJztcblxuLyoqIFJ1bGVzIGVuZ2luZSAqL1xuZXhwb3J0IGNsYXNzIFJ1bGVzRW5naW5lIHtcblxuICAvKiogTWFwIG9mIHJlZ2lzdGVyZWQgZmFjdCBzdHJlYW0sIHRoaXMgbWFwIGlzIG11dGF0ZWQgYnkgdGhlIHJ1bGVzZXQgZXhlY3V0b3JzICovXG4gIHByaXZhdGUgZmFjdE1hcDogUmVjb3JkPHN0cmluZywgRmFjdE9iamVjdDxhbnk+PiA9IHt9O1xuXG4gIC8qKiBTdWJqZWN0IGNvbnRhaW5pbmcgdGhlIHJ1bGVzZXRzIGFuZCB0aGUgcmVzdWx0cyBzdHJlYW0qL1xuICBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzZXRNYXBTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+Pih7fSk7XG5cbiAgLyoqIE1hcCBvZiBhdmFpbGFibGUgb3BlcmF0b3JzICovXG4gIHB1YmxpYyBvcGVyYXRvcnM6IFJlY29yZDxzdHJpbmcsIE9wZXJhdG9yPHVua25vd24sIHVua25vd24+PjtcblxuICAvKiogTGlzdCBvZiBldmVudHMgZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBydWxlcyBlbmdpbmUgKi9cbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50cyQ6IE9ic2VydmFibGU8QWN0aW9uQmxvY2tbXT47XG5cbiAgLyoqIERlbGF5IGJlZm9yZSBmYWN0IHN0cmVhbSBkZWZhdWx0aW5nIHZhbHVlICovXG4gIHB1YmxpYyBmYWN0RGVmYXVsdERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBvZiBlbmdpbmUgZGVidWcgb2JqZWN0OyBVbmRlZmluZWQgaWYgZGVidWdNb2RlIGlzIG5vdCBhY3RpdmVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmVEZWJ1Zz86IEVuZ2luZURlYnVnZ2VyO1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBydWxlcyBlbmdpbmUgaW5zdGFuY2UgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1hbmNlIHJlcG9ydGVyIHRvIHVzZSBmb3IgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB3aW5kb3cucGVyZm9ybWFuY2Ugb24gYnJvd3NlciBvbmx5LCB1bmRlZmluZWQgb24gbm9kZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBlcmZvcm1hbmNlO1xuXG4gIC8qKlxuICAgKiBMb2cgdGhlIGVuZ2luZSBlcnJvcnNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2dnZXI/OiBMb2dnZXI7XG4gIC8qKlxuICAgKiBGbGFnIHRvIGNoZWNrIGlmIHRoZSBydW4gaXMgaW4gZGVidWcgbW9kZSBvciBub3RcbiAgICovXG4gIHB1YmxpYyBnZXQgZGVidWdNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZW5naW5lRGVidWc7XG4gIH1cblxuICAvKipcbiAgICogUnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIHJ1bGVzIGVuZ2luZSBvcHRpb25zXG4gICAqIEBwYXJhbSBsb2dnZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBSdWxlc0VuZ2luZU9wdGlvbnMpIHtcbiAgICB0aGlzLnBlcmZvcm1hbmNlID0gb3B0aW9ucz8ucGVyZm9ybWFuY2UgfHwgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LnBlcmZvcm1hbmNlIDogdW5kZWZpbmVkKTtcbiAgICB0aGlzLmVuZ2luZURlYnVnID0gb3B0aW9ucz8uZGVidWdnZXI7XG4gICAgdGhpcy5lbmdpbmVEZWJ1Zz8ucmVnaXN0ZXJSdWxlRW5naW5lKHRoaXMpO1xuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucz8ubG9nZ2VyO1xuICAgIHRoaXMucnVsZXNFbmdpbmVJbnN0YW5jZU5hbWUgPSBvcHRpb25zPy5ydWxlc0VuZ2luZUluc3RhbmNlTmFtZSB8fCAnUnVsZXNFbmdpbmUnO1xuICAgIHRoaXMuZmFjdERlZmF1bHREZWxheSA9IG9wdGlvbnM/LmZhY3REZWZhdWx0RGVsYXk7XG4gICAgLy8gTG9hZCBkZWZhdWx0IG9wZXJhdG9yc1xuICAgIHRoaXMub3BlcmF0b3JzID0gb3BlcmF0b3JMaXN0LnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBPcGVyYXRvcjxhbnksIGFueT4+PigoYWNjLCBvcGVyYXRvcikgPT4ge1xuICAgICAgYWNjW29wZXJhdG9yLm5hbWVdID0gb3BlcmF0b3I7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgICB0aGlzLmV2ZW50cyQgPSB0aGlzLnJ1bGVzZXRNYXBTdWJqZWN0LnBpcGUoXG4gICAgICB0aGlzLnByZXBhcmVBY3Rpb25zU3RyZWFtKCksXG4gICAgICB0aGlzLmhhbmRsZUFjdGlvbnNTdHJlYW1PdXRwdXQoKVxuICAgICk7XG4gICAgaWYgKG9wdGlvbnM/LmZhY3RzKSB7XG4gICAgICB0aGlzLnVwc2VydEZhY3RzKG9wdGlvbnMuZmFjdHMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ucnVsZXMpIHtcbiAgICAgIHRoaXMudXBzZXJ0UnVsZXNldHMob3B0aW9ucy5ydWxlcyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5vcGVyYXRvcnMpIHtcbiAgICAgIHRoaXMudXBzZXJ0T3BlcmF0b3JzKG9wdGlvbnMub3BlcmF0b3JzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoIGRlYnVnIGV2ZW50cyB0byBhY3Rpb25zIHN0cmVhbSBpZiBkZWJ1ZyBlbmdpbmUgaXMgYWN0aXZhdGVkXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25zU3RyZWFtXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUFjdGlvbnNTdHJlYW1PdXRwdXQ8VCBleHRlbmRzIEFjdGlvbkJsb2NrID0gQWN0aW9uQmxvY2s+KCk6IChhY3Rpb25zU3RyZWFtJDogT2JzZXJ2YWJsZTxUW10+KSA9PiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiAoYWN0aW9uc1N0cmVhbSQ6IE9ic2VydmFibGU8VFtdPikgPT4gdGhpcy5lbmdpbmVEZWJ1ZyA/IGFjdGlvbnNTdHJlYW0kLnBpcGUodGFwKChhbGxBY3Rpb25zKSA9PiB0aGlzLmVuZ2luZURlYnVnIS5hbGxBY3Rpb25zQ2hhbmdlKGFsbEFjdGlvbnMpKSkgOiBhY3Rpb25zU3RyZWFtJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGFjdGlvbnMgc3RyZWFtIGV2ZW50IGJhc2VkIG9uIHByb3ZpZGVkIGFjdGl2ZSBydWxlc2V0cyBpZHM7IEhhbmRsZSBkZWJ1ZyB0b29cbiAgICpcbiAgICogQHBhcmFtIHJ1bGVTZXRzXG4gICAqL1xuICBwcml2YXRlIHByZXBhcmVBY3Rpb25zU3RyZWFtPFQgZXh0ZW5kcyBBY3Rpb25CbG9jayA9IEFjdGlvbkJsb2NrPihydWxlU2V0cz86IHN0cmluZ1tdKTogKHJ1bGVzZXRNYXBTdWJqZWN0JDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+PikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gKHJ1bGVzZXRNYXBTdWJqZWN0JDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+PikgPT4gKHRoaXMuZW5naW5lRGVidWcgP1xuICAgICAgcnVsZXNldE1hcFN1YmplY3QkLnBpcGUoXG4gICAgICAgIHRhcCgocnVsZVNldEV4ZWN1dG9yTWFwKSA9PiB0aGlzLmVuZ2luZURlYnVnIS5hY3RpdmVSdWxlc2V0c0NoYW5nZShydWxlU2V0RXhlY3V0b3JNYXAsIHJ1bGVTZXRzKSksXG4gICAgICAgIGZpbHRlclJ1bGVzZXRzRXZlbnRTdHJlYW0ocnVsZVNldHMpKVxuICAgICAgOiBydWxlc2V0TWFwU3ViamVjdCQucGlwZShmaWx0ZXJSdWxlc2V0c0V2ZW50U3RyZWFtKHJ1bGVTZXRzKSkpIGFzIE9ic2VydmFibGU8VFtdPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3IgcmV0cmlldmUgYSBmYWN0IHN0cmVhbVxuICAgKiBUaGUgZmFjdCBzdHJlYW0gY3JlYXRlZCB3aWxsIGJlIHJlZ2lzdGVyZWQgaW4gdGhlIGVuZ2luZVxuICAgKlxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIGZhY3QgdG8gcmV0cmlldmVcbiAgICogQHBhcmFtIGZhY3RWYWx1ZSQgVmFsdWUgc3RyZWFtIGZvciB0aGUgZmFjdFxuICAgKi9cbiAgcHVibGljIHJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtPFQgPSBGYWN0cz4oaWQ6IHN0cmluZywgZmFjdFZhbHVlJD86IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICAvLyB0cmljayB0byBlbWl0IHVuZGVmaW5lZCBpZiB0aGUgb2JzZXJ2YWJsZSBpcyBub3QgaW1tZWRpYXRlbHkgZW1pdHRpbmcgKHRvIG5vdCBibG9jIGV4ZWN1dGlvbilcbiAgICBjb25zdCBvYnMkID0gZmFjdFZhbHVlJCA/XG4gICAgICBtZXJnZShmYWN0VmFsdWUkLCBvZih1bmRlZmluZWQpLnBpcGUoZGVsYXkodGhpcy5mYWN0RGVmYXVsdERlbGF5IHx8IDApLCB0YWtlVW50aWwoZmFjdFZhbHVlJCkpKSA6XG4gICAgICBmYWN0VmFsdWUkO1xuICAgIGNvbnN0IGZhY3RPYmogPSB0aGlzLmZhY3RNYXBbaWRdO1xuICAgIGlmIChmYWN0T2JqKSB7XG4gICAgICBpZiAoZmFjdFZhbHVlJCkge1xuICAgICAgICBmYWN0T2JqLnN1YmplY3QubmV4dChvYnMkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWN0T2JqLnZhbHVlJDtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkPihvYnMkKTtcbiAgICBjb25zdCB2YWx1ZSQgPSBzdWJqZWN0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB2YWx1ZSB8fCBvZih1bmRlZmluZWQpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICB0aGlzLmZhY3RNYXBbaWRdID0ge1xuICAgICAgc3ViamVjdCxcbiAgICAgIHZhbHVlJFxuICAgIH07XG5cbiAgICByZXR1cm4gdmFsdWUkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBwcm9taXNlIG9mIHRoZSBsYXRlc3QgdmFsdWUgb2YgYSBmYWN0LlxuICAgKiBSZXR1cm4gdW5kZWZpbmVkIGlmIHRoZSBmYWN0IGlzIG5vdCBkZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIGZhY3QgdG8gcmV0cmlldmVcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2ZUZhY3RWYWx1ZTxUID0gdW5rbm93bj4oaWQ6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZhY3RNYXBbaWRdLnZhbHVlJCAmJiBmaXJzdFZhbHVlRnJvbSh0aGlzLnJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtPFQ+KGlkKSwgeyBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IGZhY3QgaW4gcnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBmYWN0cyBmYWN0IGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0RmFjdHM8VCA9IHVua25vd24+KGZhY3RzOiBGYWN0PFQ+IHwgRmFjdDxUPltdKSB7XG4gICAgKEFycmF5LmlzQXJyYXkoZmFjdHMpID8gZmFjdHMgOiBbZmFjdHNdKS5mb3JFYWNoKCh7aWQsIHZhbHVlJH0pID0+XG4gICAgICB0aGlzLnJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtKGlkLCB2YWx1ZSQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IHJ1bGUgaW4gcnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBydWxlcyBydWxlIGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqIEBwYXJhbSBydWxlc2V0c1xuICAgKi9cbiAgcHVibGljIHVwc2VydFJ1bGVzZXRzKHJ1bGVzZXRzOiBSdWxlc2V0W10pIHtcbiAgICB0aGlzLmVuZ2luZURlYnVnPy5hZGRBdmFpbGFibGVSdWxlc2V0cyhydWxlc2V0cyk7XG5cbiAgICB0aGlzLnJ1bGVzZXRNYXBTdWJqZWN0Lm5leHQoXG4gICAgICBydWxlc2V0cy5yZWR1Y2UoKGFjY1J1bGVzZXQsIHJ1bGVzZXQpID0+IHtcbiAgICAgICAgYWNjUnVsZXNldFtydWxlc2V0LmlkXSA9IG5ldyBSdWxlc2V0RXhlY3V0b3IocnVsZXNldCwgdGhpcyk7XG4gICAgICAgIHJldHVybiBhY2NSdWxlc2V0O1xuICAgICAgfSwgey4uLnRoaXMucnVsZXNldE1hcFN1YmplY3QudmFsdWV9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBvcGVyYXRvciBpbiBydWxlcyBlbmdpbmVcbiAgICpcbiAgICogQHBhcmFtIG9wZXJhdG9ycyBvcGVyYXRvciBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnM6IChPcGVyYXRvciB8IFVuYXJ5T3BlcmF0b3IpW10pIHtcbiAgICB0aGlzLm9wZXJhdG9ycyA9IG9wZXJhdG9ycy5yZWR1Y2UoKGFjYywgb3BlcmF0b3IpID0+IHtcbiAgICAgIGFjY1tvcGVyYXRvci5uYW1lXSA9IG9wZXJhdG9yO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7Li4udGhpcy5vcGVyYXRvcnN9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVyYXRvciB0byBhcHBseSBvbiBhIHN0cmVhbSBvZiBydWxlc2V0cyBpZHNcbiAgICogUmV0dXJucyBhIHN0cmVhbSBvZiBhY3Rpb25zIG91dHB1dHRlZCBieSB0aGUgcnVsZXMgZW5naW5lLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBydWxlc2V0c0lkc1xuICAgKi9cbiAgcHVibGljIGdldEV2ZW50U3RyZWFtPFQgZXh0ZW5kcyBBY3Rpb25CbG9jayA9IEFjdGlvbkJsb2NrPigpOiAocnVsZXNldHNJZHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gKHJ1bGVzZXRzSWRzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IHVuZGVmaW5lZD4pID0+XG4gICAgICBydWxlc2V0c0lkcyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChydWxlU2V0cykgPT4gdGhpcy5ydWxlc2V0TWFwU3ViamVjdC5waXBlKHRoaXMucHJlcGFyZUFjdGlvbnNTdHJlYW08VD4ocnVsZVNldHMpKSksXG4gICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uc1N0cmVhbU91dHB1dCgpXG4gICAgICApO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIGZhY3RzIG5hbWVzICovXG4gIHB1YmxpYyBnZXRSZWdpc3RlcmVkRmFjdHNOYW1lcygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5mYWN0TWFwKTtcbiAgfVxuXG59XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBWSxZQUFZLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELG1CQUFtQjtBQUNuQixNQUFNLE9BQU8sV0FBVztJQW1DdEI7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksT0FBNEI7UUE3Q3hDLGtGQUFrRjtRQUNqRSxZQUFPLEdBQW9DLEVBQUUsQ0FBQztRQUUvRCw0REFBNEQ7UUFDM0Msc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBMEM1RixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUks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VSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUQsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBdUM7UUFDNUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2xELEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNuQixPQUFPLENBQUMsWUFBOEMsRUFBRSxFQUFFLENBQ3hELFlBQVksQ0FBQyxJQUFJLENBQ2YsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQzVGLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELDZDQUE2QztJQUN0Qyx1QkFBdUI7UUFDNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHsgRmFjdE9iamVjdCwgUnVsZXNFbmdpbmVPcHRpb25zIH0gZnJvbSAnLi9lbmdpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHsgRmFjdCwgRmFjdHMgfSBmcm9tICcuL2ZhY3QvaW5kZXgnO1xuaW1wb3J0IHsgZmlsdGVyUnVsZXNldHNFdmVudFN0cmVhbSB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItcnVsZXNldC1ldmVudC5vcGVyYXRvcic7XG5pbXBvcnQgeyBPcGVyYXRvciwgb3BlcmF0b3JMaXN0LCBVbmFyeU9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvci9pbmRleCc7XG5pbXBvcnQgeyBSdWxlc2V0RXhlY3V0b3IgfSBmcm9tICcuL3J1bGVzZXQtZXhlY3V0b3InO1xuaW1wb3J0IHsgQWN0aW9uQmxvY2ssIFJ1bGVzZXQgfSBmcm9tICcuL3N0cnVjdHVyZSc7XG5cbi8qKiBSdWxlcyBlbmdpbmUgKi9cbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZSB7XG5cbiAgLyoqIE1hcCBvZiByZWdpc3RlcmVkIGZhY3Qgc3RyZWFtLCB0aGlzIG1hcCBpcyBtdXRhdGVkIGJ5IHRoZSBydWxlc2V0IGV4ZWN1dG9ycyAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZhY3RNYXA6IFJlY29yZDxzdHJpbmcsIEZhY3RPYmplY3Q8YW55Pj4gPSB7fTtcblxuICAvKiogU3ViamVjdCBjb250YWluaW5nIHRoZSBydWxlc2V0cyBhbmQgdGhlIHJlc3VsdHMgc3RyZWFtKi9cbiAgcHJpdmF0ZSByZWFkb25seSBydWxlc2V0TWFwU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPj4oe30pO1xuXG4gIC8qKiBNYXAgb2YgYXZhaWxhYmxlIG9wZXJhdG9ycyAqL1xuICBwdWJsaWMgb3BlcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRvcjx1bmtub3duLCB1bmtub3duPj47XG5cbiAgLyoqIExpc3Qgb2YgZXZlbnRzIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcnVsZXMgZW5naW5lICovXG4gIHB1YmxpYyByZWFkb25seSBldmVudHMkOiBPYnNlcnZhYmxlPEFjdGlvbkJsb2NrW10+O1xuXG4gIC8qKiBEZWxheSBiZWZvcmUgZmFjdCBzdHJlYW0gZGVmYXVsdGluZyB2YWx1ZSAqL1xuICBwdWJsaWMgZmFjdERlZmF1bHREZWxheT86IG51bWJlcjtcblxuICAvKipcbiAgICogSW5zdGFuY2Ugb2YgZW5naW5lIGRlYnVnIG9iamVjdDsgVW5kZWZpbmVkIGlmIGRlYnVnTW9kZSBpcyBub3QgYWN0aXZlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5naW5lRGVidWc/OiBFbmdpbmVEZWJ1Z2dlcjtcblxuICAvKiogTmFtZSBvZiB0aGUgcnVsZXMgZW5naW5lIGluc3RhbmNlICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc0VuZ2luZUluc3RhbmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQZXJmb3JtYW5jZSByZXBvcnRlciB0byB1c2UgZm9yIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cy5cbiAgICogQGRlZmF1bHQgd2luZG93LnBlcmZvcm1hbmNlIG9uIGJyb3dzZXIgb25seSwgdW5kZWZpbmVkIG9uIG5vZGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwZXJmb3JtYW5jZTtcblxuICAvKipcbiAgICogTG9nIHRoZSBlbmdpbmUgZXJyb3JzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VyPzogTG9nZ2VyO1xuICAvKipcbiAgICogRmxhZyB0byBjaGVjayBpZiB0aGUgcnVuIGlzIGluIGRlYnVnIG1vZGUgb3Igbm90XG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlYnVnTW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmVuZ2luZURlYnVnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBydWxlcyBlbmdpbmUgb3B0aW9uc1xuICAgKiBAcGFyYW0gbG9nZ2VyXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogUnVsZXNFbmdpbmVPcHRpb25zKSB7XG4gICAgdGhpcy5wZXJmb3JtYW5jZSA9IG9wdGlvbnM/LnBlcmZvcm1hbmNlIHx8ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5wZXJmb3JtYW5jZSA6IHVuZGVmaW5lZCk7XG4gICAgdGhpcy5lbmdpbmVEZWJ1ZyA9IG9wdGlvbnM/LmRlYnVnZ2VyO1xuICAgIHRoaXMuZW5naW5lRGVidWc/LnJlZ2lzdGVyUnVsZUVuZ2luZSh0aGlzKTtcbiAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnM/LmxvZ2dlcjtcbiAgICB0aGlzLnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lID0gb3B0aW9ucz8ucnVsZXNFbmdpbmVJbnN0YW5jZU5hbWUgfHwgJ1J1bGVzRW5naW5lJztcbiAgICB0aGlzLmZhY3REZWZhdWx0RGVsYXkgPSBvcHRpb25zPy5mYWN0RGVmYXVsdERlbGF5O1xuICAgIC8vIExvYWQgZGVmYXVsdCBvcGVyYXRvcnNcbiAgICB0aGlzLm9wZXJhdG9ycyA9IG9wZXJhdG9yTGlzdC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgT3BlcmF0b3I8YW55LCBhbnk+Pj4oKGFjYywgb3BlcmF0b3IpID0+IHtcbiAgICAgIGFjY1tvcGVyYXRvci5uYW1lXSA9IG9wZXJhdG9yO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgdGhpcy5ldmVudHMkID0gdGhpcy5ydWxlc2V0TWFwU3ViamVjdC5waXBlKFxuICAgICAgdGhpcy5wcmVwYXJlQWN0aW9uc1N0cmVhbSgpLFxuICAgICAgdGhpcy5oYW5kbGVBY3Rpb25zU3RyZWFtT3V0cHV0KClcbiAgICApO1xuICAgIGlmIChvcHRpb25zPy5mYWN0cykge1xuICAgICAgdGhpcy51cHNlcnRGYWN0cyhvcHRpb25zLmZhY3RzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnJ1bGVzKSB7XG4gICAgICB0aGlzLnVwc2VydFJ1bGVzZXRzKG9wdGlvbnMucnVsZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ub3BlcmF0b3JzKSB7XG4gICAgICB0aGlzLnVwc2VydE9wZXJhdG9ycyhvcHRpb25zLm9wZXJhdG9ycyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBkZWJ1ZyBldmVudHMgdG8gYWN0aW9ucyBzdHJlYW0gaWYgZGVidWcgZW5naW5lIGlzIGFjdGl2YXRlZFxuICAgKiBAcGFyYW0gYWN0aW9uc1N0cmVhbVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVBY3Rpb25zU3RyZWFtT3V0cHV0PFQgZXh0ZW5kcyBBY3Rpb25CbG9jayA9IEFjdGlvbkJsb2NrPigpOiAoYWN0aW9uc1N0cmVhbSQ6IE9ic2VydmFibGU8VFtdPikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gKGFjdGlvbnNTdHJlYW0kOiBPYnNlcnZhYmxlPFRbXT4pID0+IHRoaXMuZW5naW5lRGVidWcgPyBhY3Rpb25zU3RyZWFtJC5waXBlKHRhcCgoYWxsQWN0aW9ucykgPT4gdGhpcy5lbmdpbmVEZWJ1ZyEuYWxsQWN0aW9uc0NoYW5nZShhbGxBY3Rpb25zKSkpIDogYWN0aW9uc1N0cmVhbSQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBhY3Rpb25zIHN0cmVhbSBldmVudCBiYXNlZCBvbiBwcm92aWRlZCBhY3RpdmUgcnVsZXNldHMgaWRzOyBIYW5kbGUgZGVidWcgdG9vXG4gICAqIEBwYXJhbSBydWxlU2V0c1xuICAgKi9cbiAgcHJpdmF0ZSBwcmVwYXJlQWN0aW9uc1N0cmVhbTxUIGV4dGVuZHMgQWN0aW9uQmxvY2sgPSBBY3Rpb25CbG9jaz4ocnVsZVNldHM/OiBzdHJpbmdbXSk6IChydWxlc2V0TWFwU3ViamVjdCQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPj4pID0+IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIChydWxlc2V0TWFwU3ViamVjdCQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPj4pID0+ICh0aGlzLmVuZ2luZURlYnVnID9cbiAgICAgIHJ1bGVzZXRNYXBTdWJqZWN0JC5waXBlKFxuICAgICAgICB0YXAoKHJ1bGVTZXRFeGVjdXRvck1hcCkgPT4gdGhpcy5lbmdpbmVEZWJ1ZyEuYWN0aXZlUnVsZXNldHNDaGFuZ2UocnVsZVNldEV4ZWN1dG9yTWFwLCBydWxlU2V0cykpLFxuICAgICAgICBmaWx0ZXJSdWxlc2V0c0V2ZW50U3RyZWFtKHJ1bGVTZXRzKSlcbiAgICAgIDogcnVsZXNldE1hcFN1YmplY3QkLnBpcGUoZmlsdGVyUnVsZXNldHNFdmVudFN0cmVhbShydWxlU2V0cykpKSBhcyBPYnNlcnZhYmxlPFRbXT47XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG9yIHJldHJpZXZlIGEgZmFjdCBzdHJlYW1cbiAgICogVGhlIGZhY3Qgc3RyZWFtIGNyZWF0ZWQgd2lsbCBiZSByZWdpc3RlcmVkIGluIHRoZSBlbmdpbmVcbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBmYWN0IHRvIHJldHJpZXZlXG4gICAqIEBwYXJhbSBmYWN0VmFsdWUkIFZhbHVlIHN0cmVhbSBmb3IgdGhlIGZhY3RcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbTxUID0gRmFjdHM+KGlkOiBzdHJpbmcsIGZhY3RWYWx1ZSQ/OiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgLy8gdHJpY2sgdG8gZW1pdCB1bmRlZmluZWQgaWYgdGhlIG9ic2VydmFibGUgaXMgbm90IGltbWVkaWF0ZWx5IGVtaXR0aW5nICh0byBub3QgYmxvYyBleGVjdXRpb24pXG4gICAgY29uc3Qgb2JzJCA9IGZhY3RWYWx1ZSQgP1xuICAgICAgbWVyZ2UoZmFjdFZhbHVlJCwgb2YodW5kZWZpbmVkKS5waXBlKGRlbGF5KHRoaXMuZmFjdERlZmF1bHREZWxheSB8fCAwKSwgdGFrZVVudGlsKGZhY3RWYWx1ZSQpKSkgOlxuICAgICAgZmFjdFZhbHVlJDtcbiAgICBjb25zdCBmYWN0T2JqID0gdGhpcy5mYWN0TWFwW2lkXTtcbiAgICBpZiAoZmFjdE9iaikge1xuICAgICAgaWYgKGZhY3RWYWx1ZSQpIHtcbiAgICAgICAgZmFjdE9iai5zdWJqZWN0Lm5leHQob2JzJCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFjdE9iai52YWx1ZSQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB8IHVuZGVmaW5lZD4ob2JzJCk7XG4gICAgY29uc3QgdmFsdWUkID0gc3ViamVjdC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gdmFsdWUgfHwgb2YodW5kZWZpbmVkKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgdGhpcy5mYWN0TWFwW2lkXSA9IHtcbiAgICAgIHN1YmplY3QsXG4gICAgICB2YWx1ZSRcbiAgICB9O1xuXG4gICAgcmV0dXJuIHZhbHVlJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcHJvbWlzZSBvZiB0aGUgbGF0ZXN0IHZhbHVlIG9mIGEgZmFjdC5cbiAgICogUmV0dXJuIHVuZGVmaW5lZCBpZiB0aGUgZmFjdCBpcyBub3QgZGVmaW5lZC5cbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBmYWN0IHRvIHJldHJpZXZlXG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmVGYWN0VmFsdWU8VCA9IHVua25vd24+KGlkOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mYWN0TWFwW2lkXS52YWx1ZSQgJiYgZmlyc3RWYWx1ZUZyb20odGhpcy5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbTxUPihpZCksIHsgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBmYWN0IGluIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gZmFjdHMgZmFjdCBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydEZhY3RzPFQgPSB1bmtub3duPihmYWN0czogRmFjdDxUPiB8IEZhY3Q8VD5bXSkge1xuICAgIChBcnJheS5pc0FycmF5KGZhY3RzKSA/IGZhY3RzIDogW2ZhY3RzXSkuZm9yRWFjaCgoe2lkLCB2YWx1ZSR9KSA9PlxuICAgICAgdGhpcy5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShpZCwgdmFsdWUkKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBydWxlIGluIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gcnVsZXMgcnVsZSBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKiBAcGFyYW0gcnVsZXNldHNcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRSdWxlc2V0cyhydWxlc2V0czogUnVsZXNldFtdKSB7XG4gICAgdGhpcy5lbmdpbmVEZWJ1Zz8uYWRkQXZhaWxhYmxlUnVsZXNldHMocnVsZXNldHMpO1xuXG4gICAgdGhpcy5ydWxlc2V0TWFwU3ViamVjdC5uZXh0KFxuICAgICAgcnVsZXNldHMucmVkdWNlKChhY2NSdWxlc2V0LCBydWxlc2V0KSA9PiB7XG4gICAgICAgIGFjY1J1bGVzZXRbcnVsZXNldC5pZF0gPSBuZXcgUnVsZXNldEV4ZWN1dG9yKHJ1bGVzZXQsIHRoaXMpO1xuICAgICAgICByZXR1cm4gYWNjUnVsZXNldDtcbiAgICAgIH0sIHsuLi50aGlzLnJ1bGVzZXRNYXBTdWJqZWN0LnZhbHVlfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgb3BlcmF0b3IgaW4gcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBvcGVyYXRvcnMgb3BlcmF0b3IgbGlzdCB0byBhZGQgLyB1cGRhdGVcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JzOiAoT3BlcmF0b3IgfCBVbmFyeU9wZXJhdG9yKVtdKSB7XG4gICAgdGhpcy5vcGVyYXRvcnMgPSBvcGVyYXRvcnMucmVkdWNlKChhY2MsIG9wZXJhdG9yKSA9PiB7XG4gICAgICBhY2Nbb3BlcmF0b3IubmFtZV0gPSBvcGVyYXRvcjtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgey4uLnRoaXMub3BlcmF0b3JzfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlcmF0b3IgdG8gYXBwbHkgb24gYSBzdHJlYW0gb2YgcnVsZXNldHMgaWRzXG4gICAqIFJldHVybnMgYSBzdHJlYW0gb2YgYWN0aW9ucyBvdXRwdXR0ZWQgYnkgdGhlIHJ1bGVzIGVuZ2luZSwgY29ycmVzcG9uZGluZyB0byB0aGUgcnVsZXNldHNJZHNcbiAgICovXG4gIHB1YmxpYyBnZXRFdmVudFN0cmVhbTxUIGV4dGVuZHMgQWN0aW9uQmxvY2sgPSBBY3Rpb25CbG9jaz4oKTogKHJ1bGVzZXRzSWRzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IHVuZGVmaW5lZD4pID0+IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIChydWxlc2V0c0lkcyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCB1bmRlZmluZWQ+KSA9PlxuICAgICAgcnVsZXNldHNJZHMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocnVsZVNldHMpID0+IHRoaXMucnVsZXNldE1hcFN1YmplY3QucGlwZSh0aGlzLnByZXBhcmVBY3Rpb25zU3RyZWFtPFQ+KHJ1bGVTZXRzKSkpLFxuICAgICAgICB0aGlzLmhhbmRsZUFjdGlvbnNTdHJlYW1PdXRwdXQoKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCBmYWN0cyBuYW1lcyAqL1xuICBwdWJsaWMgZ2V0UmVnaXN0ZXJlZEZhY3RzTmFtZXMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZmFjdE1hcCk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9mYWN0L2ZhY3QuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKiogUmVwcmVzZW50cyBhbGwgdGhlIHN1cHBvcnRlZCBmYWN0cyB0eXBlcyBUT0NIRUNLIHV0aWxzLkRhdGUgdnMgRGF0ZSAqL1xuZXhwb3J0IHR5cGUgRmFjdHMgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IERhdGUgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVua25vd25bXTtcblxuLyoqIEZhY3QgYmFzaWMgdmFsdWUgdHlwZSAqL1xuZXhwb3J0IHR5cGUgRmFjdEJhc2ljVmFsdWVzID0gbnVtYmVyIHwgYm9vbGVhbiB8IHN0cmluZyB8IHN0cmluZ1tdIHwgYm9vbGVhbltdIHwgbnVtYmVyIFtdIHwgdW5kZWZpbmVkO1xuXG4vKiogTWFwIG9mIGZhY3QgbmFtZSAvIHR5cGUgcGFpcnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdERlZmluaXRpb25zIHtcbiAgW2ZhY3ROYW1lOiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vKiogUmV0dXJuIHR5cGUgb2YgYSBmYWN0IGZhY3RvcnkgKi9cbmV4cG9ydCB0eXBlIEZhY3RGYWN0b3J5UmV0dXJuPFQ+ID0gT2JzZXJ2YWJsZTxUPiB8IFByb21pc2U8VD4gfCBUO1xuXG4vKiogU2V0IG9mIGZhY3RzICovXG5leHBvcnQgdHlwZSBGYWN0U2V0PFQgZXh0ZW5kcyBGYWN0RGVmaW5pdGlvbnM+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogRmFjdEZhY3RvcnlSZXR1cm48VFtQXSB8IHVuZGVmaW5lZCB8IG51bGw+O1xufTtcblxuLyoqIEZhY3Qgc3RyZWFtIHR5cGUgKi9cbmV4cG9ydCB0eXBlIEZhY3RWYWx1ZVN0cmVhbTxUID0gdW5rbm93bj4gPSBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+O1xuXG4vKiogRmFjdCBzdHJlYW0gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdDxUID0gdW5rbm93bj4ge1xuICAvKiogRmFjdCBJRCAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKiBTdHJlYW0gb2YgdGhlIGZhY3QgZmFjdCB2YWx1ZSAqL1xuICB2YWx1ZSQ6IEZhY3RWYWx1ZVN0cmVhbTxUPjtcbn1cbiJdfQ==
|
|
@@ -2,7 +2,6 @@ import { combineLatest } from 'rxjs';
|
|
|
2
2
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
|
3
3
|
/**
|
|
4
4
|
* Filter the actions outputted by the rules engine, based on active rulesets
|
|
5
|
-
*
|
|
6
5
|
* @param restrictiveRuleSets list of rules sets to get the event stream for
|
|
7
6
|
*/
|
|
8
7
|
export function filterRulesetsEventStream(restrictiveRuleSets) {
|
|
@@ -17,4 +16,4 @@ export function filterRulesetsEventStream(restrictiveRuleSets) {
|
|
|
17
16
|
}, [])));
|
|
18
17
|
}), shareReplay(1));
|
|
19
18
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL2hlbHBlcnMvZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsbUJBQThCO0lBQ3RFLE9BQU8sQ0FBQyxPQUFvRCxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMzRSxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1FBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pILE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLENBQUM7WUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUIsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFDMUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUnVsZXNldEV4ZWN1dG9yIH0gZnJvbSAnLi4vcnVsZXNldC1leGVjdXRvcic7XG5cbi8qKlxuICogRmlsdGVyIHRoZSBhY3Rpb25zIG91dHB1dHRlZCBieSB0aGUgcnVsZXMgZW5naW5lLCBiYXNlZCBvbiBhY3RpdmUgcnVsZXNldHNcbiAqIEBwYXJhbSByZXN0cmljdGl2ZVJ1bGVTZXRzIGxpc3Qgb2YgcnVsZXMgc2V0cyB0byBnZXQgdGhlIGV2ZW50IHN0cmVhbSBmb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclJ1bGVzZXRzRXZlbnRTdHJlYW0ocmVzdHJpY3RpdmVSdWxlU2V0cz86IHN0cmluZ1tdKSB7XG4gIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+PikgPT4gc291cmNlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgocnVsZVNldEV4ZWN1dG9yTWFwKSA9PiB7XG4gICAgICBjb25zdCBydWxlc2V0cyA9IE9iamVjdC5rZXlzKHJ1bGVTZXRFeGVjdXRvck1hcCkubWFwKChydWxlc2V0SWQpID0+IHJ1bGVTZXRFeGVjdXRvck1hcFtydWxlc2V0SWRdLmVuZ2luZVJ1bGVzZXQpO1xuICAgICAgY29uc3QgYWN0aXZlUnVsZXNldHMgPSByZXN0cmljdGl2ZVJ1bGVTZXRzID9cbiAgICAgICAgT2JqZWN0LnZhbHVlcyhydWxlc2V0cykuZmlsdGVyKChydWxlU2V0KSA9PiByZXN0cmljdGl2ZVJ1bGVTZXRzLmluZGV4T2YocnVsZVNldC5pZCkgPiAtMSkgOlxuICAgICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoYWN0aXZlUnVsZXNldHMubWFwKChydWxlc2V0KSA9PiBydWxlc2V0LnJ1bGVzUmVzdWx0c1N1YmplY3QkKSkucGlwZShcbiAgICAgICAgbWFwKChpdGVtKSA9PiBpdGVtLnJlZHVjZSgoYWNjLCBjdXJyZW50VmFsdWUpID0+IHtcbiAgICAgICAgICBhY2MucHVzaCguLi5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIFtdKSkpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './operator.helpers';
|
|
2
2
|
export * from './operator.interface';
|
|
3
3
|
export * from './operators/index';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL29wZXJhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRvci5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3IuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzL2luZGV4JztcbiJdfQ==
|
|
@@ -1,25 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Execute Operator
|
|
3
|
-
*
|
|
4
3
|
* @param lhs Left hand side
|
|
5
4
|
* @param rhs Right hand side
|
|
6
5
|
* @param operator Operator to compare values
|
|
6
|
+
* @param operatorFacts Facts that operator can depend on
|
|
7
7
|
*/
|
|
8
|
-
export function executeOperator(lhs, rhs, operator) {
|
|
8
|
+
export function executeOperator(lhs, rhs, operator, operatorFacts) {
|
|
9
9
|
const validLhs = (!operator.validateLhs || operator.validateLhs(lhs));
|
|
10
10
|
const validRhs = (!operator.validateRhs || operator.validateRhs(rhs));
|
|
11
|
+
let operatorFactValues;
|
|
12
|
+
if (operatorFacts && operator.factImplicitDependencies) {
|
|
13
|
+
operatorFactValues = operator.factImplicitDependencies.reduce((acc, dep) => {
|
|
14
|
+
if (operatorFacts[dep]) {
|
|
15
|
+
acc[dep] = operatorFacts[dep];
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throw new Error(`The fact "${dep}" requested by ${operator.name} cannot be found.`);
|
|
19
|
+
}
|
|
20
|
+
return acc;
|
|
21
|
+
}, {});
|
|
22
|
+
}
|
|
11
23
|
if (!validLhs) {
|
|
12
|
-
throw new Error(`Invalid left operand
|
|
24
|
+
throw new Error(`Invalid left operand: ${JSON.stringify(lhs)}`);
|
|
13
25
|
}
|
|
14
26
|
if (!validRhs) {
|
|
15
|
-
throw new Error(`Invalid right operand
|
|
27
|
+
throw new Error(`Invalid right operand: ${JSON.stringify(rhs)}`);
|
|
16
28
|
}
|
|
17
|
-
const obs = operator.evaluator(lhs, rhs);
|
|
29
|
+
const obs = operator.evaluator(lhs, rhs, operatorFactValues);
|
|
18
30
|
return obs;
|
|
19
31
|
}
|
|
20
32
|
/**
|
|
21
33
|
* Validate a number operand
|
|
22
|
-
*
|
|
23
34
|
* @param operand value of one of the operands
|
|
24
35
|
*/
|
|
25
36
|
export function numberValidator(operand) {
|
|
@@ -28,7 +39,6 @@ export function numberValidator(operand) {
|
|
|
28
39
|
}
|
|
29
40
|
/**
|
|
30
41
|
* Validate an operand is a range of numbers
|
|
31
|
-
*
|
|
32
42
|
* @param operatorInput value of one of the operands
|
|
33
43
|
*/
|
|
34
44
|
export function isRangeNumber(operatorInput) {
|
|
@@ -40,7 +50,6 @@ export function isRangeNumber(operatorInput) {
|
|
|
40
50
|
}
|
|
41
51
|
/**
|
|
42
52
|
* Verifies if the parameter is a valid date for the operator (getTime function available returning a number)
|
|
43
|
-
*
|
|
44
53
|
* @param operatorInput
|
|
45
54
|
*/
|
|
46
55
|
export const isValidDate = (operatorInput) => {
|
|
@@ -52,7 +61,6 @@ export const isValidDate = (operatorInput) => {
|
|
|
52
61
|
};
|
|
53
62
|
/**
|
|
54
63
|
* Verifies if the parameter is a valid input for Date constructor (new Date returns a valid date)
|
|
55
|
-
*
|
|
56
64
|
* @param operatorInput
|
|
57
65
|
*/
|
|
58
66
|
export const isValidDateInput = (operatorInput) => {
|
|
@@ -60,7 +68,6 @@ export const isValidDateInput = (operatorInput) => {
|
|
|
60
68
|
};
|
|
61
69
|
/**
|
|
62
70
|
* Verifies if the parameter is a valid date range
|
|
63
|
-
*
|
|
64
71
|
* @param operatorInput
|
|
65
72
|
*/
|
|
66
73
|
export const isValidDateRange = (operatorInput) => {
|
|
@@ -72,7 +79,6 @@ export const isValidDateRange = (operatorInput) => {
|
|
|
72
79
|
};
|
|
73
80
|
/**
|
|
74
81
|
* Validate that a value is a supported simple type
|
|
75
|
-
*
|
|
76
82
|
* @param value value to validate
|
|
77
83
|
*/
|
|
78
84
|
export function isSupportedSimpleTypes(value) {
|
|
@@ -80,10 +86,24 @@ export function isSupportedSimpleTypes(value) {
|
|
|
80
86
|
}
|
|
81
87
|
/**
|
|
82
88
|
* Validate that a value is a string
|
|
83
|
-
*
|
|
84
89
|
* @param value
|
|
85
90
|
*/
|
|
86
91
|
export function isString(value) {
|
|
87
92
|
return typeof value === 'string';
|
|
88
93
|
}
|
|
89
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Parse input to return RegExp
|
|
96
|
+
* @param value value to test whether pattern exists (can be string or array of strings)
|
|
97
|
+
* @param inputString regexp pattern
|
|
98
|
+
* @param inputRegExp
|
|
99
|
+
*/
|
|
100
|
+
export function parseRegExp(inputRegExp) {
|
|
101
|
+
if (inputRegExp.startsWith('/')) {
|
|
102
|
+
const finalSlash = inputRegExp.lastIndexOf('/');
|
|
103
|
+
const regexpPattern = inputRegExp.slice(1, finalSlash);
|
|
104
|
+
const regexpFlags = inputRegExp.slice(finalSlash + 1);
|
|
105
|
+
return new RegExp(regexpPattern, regexpFlags);
|
|
106
|
+
}
|
|
107
|
+
return new RegExp(inputRegExp);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvb3BlcmF0b3Ivb3BlcmF0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUEyQixHQUFNLEVBQUUsR0FBTSxFQUFFLFFBQXdCLEVBQUUsYUFBaUQ7SUFDbkosTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLGtCQUFxRCxDQUFDO0lBQzFELElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtRQUN0RCxrQkFBa0IsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3pFLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBRSxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxHQUFHLGtCQUFrQixRQUFRLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3JGO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBMkIsQ0FBQyxDQUFDO0tBQ2pDO0lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tB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Q0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RCxPQUFPLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUMvQztJQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZUlucHV0LCBPcGVyYXRvciwgU3VwcG9ydGVkU2ltcGxlVHlwZXN9IGZyb20gJy4vb3BlcmF0b3IuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHtGYWN0c30gZnJvbSAnLi4vZmFjdCc7XG5cbi8qKlxuICogRXhlY3V0ZSBPcGVyYXRvclxuICogQHBhcmFtIGxocyBMZWZ0IGhhbmQgc2lkZVxuICogQHBhcmFtIHJocyBSaWdodCBoYW5kIHNpZGVcbiAqIEBwYXJhbSBvcGVyYXRvciBPcGVyYXRvciB0byBjb21wYXJlIHZhbHVlc1xuICogQHBhcmFtIG9wZXJhdG9yRmFjdHMgRmFjdHMgdGhhdCBvcGVyYXRvciBjYW4gZGVwZW5kIG9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleGVjdXRlT3BlcmF0b3I8TCA9IHVua25vd24sIFIgPSB1bmtub3duPihsaHM6IEwsIHJoczogUiwgb3BlcmF0b3I6IE9wZXJhdG9yPEwsIFI+LCBvcGVyYXRvckZhY3RzPzogUmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+KSB7XG4gIGNvbnN0IHZhbGlkTGhzID0gKCFvcGVyYXRvci52YWxpZGF0ZUxocyB8fCBvcGVyYXRvci52YWxpZGF0ZUxocyhsaHMpKTtcbiAgY29uc3QgdmFsaWRSaHMgPSAoIW9wZXJhdG9yLnZhbGlkYXRlUmhzIHx8IG9wZXJhdG9yLnZhbGlkYXRlUmhzKHJocykpO1xuICBsZXQgb3BlcmF0b3JGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4gfCB1bmRlZmluZWQ7XG4gIGlmIChvcGVyYXRvckZhY3RzICYmIG9wZXJhdG9yLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcykge1xuICAgIG9wZXJhdG9yRmFjdFZhbHVlcyA9IG9wZXJhdG9yLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcy5yZWR1Y2UoKGFjYywgZGVwKSA9PiB7XG4gICAgICBpZiAob3BlcmF0b3JGYWN0c1tkZXBdKSB7XG4gICAgICAgIGFjY1tkZXBdID0gb3BlcmF0b3JGYWN0c1tkZXBdITtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZhY3QgXCIke2RlcH1cIiByZXF1ZXN0ZWQgYnkgJHtvcGVyYXRvci5uYW1lfSBjYW5ub3QgYmUgZm91bmQuYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIEZhY3RzPik7XG4gIH1cbiAgaWYgKCF2YWxpZExocykge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsZWZ0IG9wZXJhbmQ6ICR7SlNPTi5zdHJpbmdpZnkobGhzKX1gKTtcbiAgfVxuICBpZiAoIXZhbGlkUmhzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJpZ2h0IG9wZXJhbmQ6ICR7SlNPTi5zdHJpbmdpZnkocmhzKX1gKTtcbiAgfVxuICBjb25zdCBvYnMgPSBvcGVyYXRvci5ldmFsdWF0b3IobGhzLCByaHMsIG9wZXJhdG9yRmFjdFZhbHVlcyk7XG4gIHJldHVybiBvYnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYSBudW1iZXIgb3BlcmFuZFxuICogQHBhcmFtIG9wZXJhbmQgdmFsdWUgb2Ygb25lIG9mIHRoZSBvcGVyYW5kc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVmFsaWRhdG9yKG9wZXJhbmQ6IHVua25vd24pOiBvcGVyYW5kIGlzIG51bWJlciB8IHN0cmluZyB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgcmV0dXJuIG9wZXJhbmQgIT09ICcnICYmICFBcnJheS5pc0FycmF5KG9wZXJhbmQpICYmICFpc05hTigrYCR7b3BlcmFuZH1gKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbiBvcGVyYW5kIGlzIGEgcmFuZ2Ugb2YgbnVtYmVyc1xuICogQHBhcmFtIG9wZXJhdG9ySW5wdXQgdmFsdWUgb2Ygb25lIG9mIHRoZSBvcGVyYW5kc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNSYW5nZU51bWJlcihvcGVyYXRvcklucHV0OiB1bmtub3duKTogb3BlcmF0b3JJbnB1dCBpcyBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3BlcmF0b3JJbnB1dCkgJiZcbiAgICBvcGVyYXRvcklucHV0Lmxlbmd0aCA9PT0gMiAmJlxuICAgIG51bWJlclZhbGlkYXRvcihvcGVyYXRvcklucHV0WzBdKSAmJlxuICAgIG51bWJlclZhbGlkYXRvcihvcGVyYXRvcklucHV0WzFdKSAmJlxuICAgIG9wZXJhdG9ySW5wdXRbMF0gPD0gb3BlcmF0b3JJbnB1dFsxXTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBpZiB0aGUgcGFyYW1ldGVyIGlzIGEgdmFsaWQgZGF0ZSBmb3IgdGhlIG9wZXJhdG9yIChnZXRUaW1lIGZ1bmN0aW9uIGF2YWlsYWJsZSByZXR1cm5pbmcgYSBudW1iZXIpXG4gKiBAcGFyYW0gb3BlcmF0b3JJbnB1dFxuICovXG5leHBvcnQgY29uc3QgaXNWYWxpZERhdGUgPSAob3BlcmF0b3JJbnB1dDogYW55KTogb3BlcmF0b3JJbnB1dCBpcyBEYXRlID0+IHtcbiAgaWYgKCFvcGVyYXRvcklucHV0IHx8IHR5cGVvZiBvcGVyYXRvcklucHV0LmdldFRpbWUgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgZ2V0VGltZVJlc3VsdCA9IG9wZXJhdG9ySW5wdXQuZ2V0VGltZSgpO1xuICByZXR1cm4gdHlwZW9mIGdldFRpbWVSZXN1bHQgPT09ICdudW1iZXInICYmICFpc05hTihnZXRUaW1lUmVzdWx0KTtcbn07XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgdGhlIHBhcmFtZXRlciBpcyBhIHZhbGlkIGlucHV0IGZvciBEYXRlIGNvbnN0cnVjdG9yIChuZXcgRGF0ZSByZXR1cm5zIGEgdmFsaWQgZGF0ZSlcbiAqIEBwYXJhbSBvcGVyYXRvcklucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkRGF0ZUlucHV0ID0gKG9wZXJhdG9ySW5wdXQ6IGFueSk6IG9wZXJhdG9ySW5wdXQgaXMgRGF0ZUlucHV0ID0+IHtcbiAgcmV0dXJuIG9wZXJhdG9ySW5wdXQgPT09IDAgfHwgISFvcGVyYXRvcklucHV0ICYmIGlzVmFsaWREYXRlKG5ldyBEYXRlKG9wZXJhdG9ySW5wdXQpKTtcbn07XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgdGhlIHBhcmFtZXRlciBpcyBhIHZhbGlkIGRhdGUgcmFuZ2VcbiAqIEBwYXJhbSBvcGVyYXRvcklucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkRGF0ZVJhbmdlID0gKG9wZXJhdG9ySW5wdXQ6IGFueSk6IG9wZXJhdG9ySW5wdXQgaXMgW0RhdGVJbnB1dCwgRGF0ZUlucHV0XSA9PiB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KG9wZXJhdG9ySW5wdXQpICYmXG4gICAgb3BlcmF0b3JJbnB1dC5sZW5ndGggPT09IDIgJiZcbiAgICBpc1ZhbGlkRGF0ZUlucHV0KG9wZXJhdG9ySW5wdXRbMF0pICYmXG4gICAgaXNWYWxpZERhdGVJbnB1dChvcGVyYXRvcklucHV0WzFdKSAmJlxuICAgIG5ldyBEYXRlKG9wZXJhdG9ySW5wdXRbMF0pIDw9IG5ldyBEYXRlKG9wZXJhdG9ySW5wdXRbMV0pO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgdmFsdWUgaXMgYSBzdXBwb3J0ZWQgc2ltcGxlIHR5cGVcbiAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdXBwb3J0ZWRTaW1wbGVUeXBlcyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFN1cHBvcnRlZFNpbXBsZVR5cGVzIHtcbiAgcmV0dXJuIFsnc3RyaW5nJywgJ2Jvb2xlYW4nLCAnbnVtYmVyJywgJ3VuZGVmaW5lZCddLmluY2x1ZGVzKHR5cGVvZiB2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwgfHwgaXNWYWxpZERhdGUodmFsdWUpO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgYSB2YWx1ZSBpcyBhIHN0cmluZ1xuICogQHBhcmFtIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xufVxuXG4vKipcbiAqIFBhcnNlIGlucHV0IHRvIHJldHVybiBSZWdFeHBcbiAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB0ZXN0IHdoZXRoZXIgcGF0dGVybiBleGlzdHMgKGNhbiBiZSBzdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncylcbiAqIEBwYXJhbSBpbnB1dFN0cmluZyByZWdleHAgcGF0dGVyblxuICogQHBhcmFtIGlucHV0UmVnRXhwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlZ0V4cChpbnB1dFJlZ0V4cDogc3RyaW5nKSB7XG4gIGlmIChpbnB1dFJlZ0V4cC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICBjb25zdCBmaW5hbFNsYXNoID0gaW5wdXRSZWdFeHAubGFzdEluZGV4T2YoJy8nKTtcbiAgICBjb25zdCByZWdleHBQYXR0ZXJuID0gaW5wdXRSZWdFeHAuc2xpY2UoMSwgZmluYWxTbGFzaCk7XG4gICAgY29uc3QgcmVnZXhwRmxhZ3MgPSBpbnB1dFJlZ0V4cC5zbGljZShmaW5hbFNsYXNoICsgMSk7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXhwUGF0dGVybiwgcmVnZXhwRmxhZ3MpO1xuICB9XG4gIHJldHVybiBuZXcgUmVnRXhwKGlucHV0UmVnRXhwKTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmFjdHMgfSBmcm9tICcuLi9mYWN0L2ZhY3QuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogUnVsZSBFbmdpbmUgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRvcjxMZWZ0RXhwb3NlZCA9IHVua25vd24sIFJpZ2h0RXhwb3NlZCA9IHVua25vd24sIExlZnRTdXBwb3J0ZWQgPSBMZWZ0RXhwb3NlZCwgUmlnaHRTdXBwb3J0ZWQgPSBSaWdodEV4cG9zZWQ+IHtcbiAgLyoqIE9wZXJhdG9yIG5hbWUgdG8gdXNlIGluIGNvbmRpdGlvbiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBQcmlvcml0eSBpbiB0aGUgZHJvcGRvd24gZGlzcGxheSAqL1xuICBvcmRlcmluZ1dlaWdodD86IG51bWJlcjtcbiAgLyoqIExlZnQgSGFuZCBWYWx1ZSB2YWxpZGF0b3IgZnVuY3Rpb24gKi9cbiAgdmFsaWRhdGVMaHM/OiB1bmtub3duIGV4dGVuZHMgTGVmdFN1cHBvcnRlZCA/IChvcGVyYW5kOiB1bmtub3duKSA9PiBib29sZWFuIDogKG9wZXJhbmQ6IHVua25vd24pID0+IG9wZXJhbmQgaXMgTGVmdFN1cHBvcnRlZDtcbiAgLyoqIFJpZ2h0IEhhbmQgVmFsdWUgdmFsaWRhdG9yIGZ1bmN0aW9uICovXG4gIHZhbGlkYXRlUmhzPzogdW5rbm93biBleHRlbmRzIFJpZ2h0U3VwcG9ydGVkID8gKG9wZXJhbmQ6IHVua25vd24pID0+IGJvb2xlYW4gOiAob3BlcmFuZDogdW5rbm93bikgPT4gb3BlcmFuZCBpcyBSaWdodFN1cHBvcnRlZDtcbiAgLyoqIEV2YWx1YXRlIHRoZSB2YWx1ZXMgKi9cbiAgZXZhbHVhdG9yOiAobGhzOiBMZWZ0U3VwcG9ydGVkLCByaHM6IFJpZ2h0U3VwcG9ydGVkLCBvcGVyYXRvckZhY3RWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pID0+IGJvb2xlYW47XG4gIC8qKiBMaXN0IG9mIGZhY3RzIG5hbWVzIHRoYXQgdGhlIG9wZXJhdG9yIGNhbiBkZXBlbmQgb24gKi9cbiAgZmFjdEltcGxpY2l0RGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUnVsZSBFbmdpbmUgdW5hcnkgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmFyeU9wZXJhdG9yPEwgPSB1bmtub3duPiB7XG4gIC8qKiBPcGVyYXRvciBuYW1lIHRvIHVzZSBpbiBjb25kaXRpb24gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogTGVmdCBIYW5kIFZhbHVlIHZhbGlkYXRvciBmdW5jdGlvbiAqL1xuICB2YWxpZGF0ZUxocz86IHVua25vd24gZXh0ZW5kcyBMID8gKG9wZXJhbmQ6IHVua25vd24pID0+IGJvb2xlYW4gOiAob3BlcmFuZDogdW5rbm93bikgPT4gb3BlcmFuZCBpcyBMO1xuICAvKiogRXZhbHVhdGUgdGhlIHZhbHVlcyAqL1xuICBldmFsdWF0b3I6IChsaHM6IEwpID0+IGJvb2xlYW47XG59XG5cbi8qKlxuICogQWxpYXMgZm9yIHN1cHBvcnRlZCBzaW1wbGUgdHlwZXMgaW4gQUVNIHRvIGJlIHVzZWQgaW4gdGhlIG9wZXJhdG9ycyB0byBhdm9pZCByZXBldGl0aW9uIG9mIHRoZVxuICogKHN0cmluZyB8IGJvb2xlYW4gfCBEYXRlIHwgbnVtYmVyKVxuICogVGhpcyB0eXBlIHJlZmVyZW5jZSBpcyBzcGVjaWZpY2FsbHkgaGFuZGxlZCBieSB0aGUgcnVsZSBvcGVyYXRvciBleHRyYWN0b3IuXG4gKi9cbmV4cG9ydCB0eXBlIFN1cHBvcnRlZFNpbXBsZVR5cGVzID0gc3RyaW5nIHwgYm9vbGVhbiB8IERhdGUgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIEFueSBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGFzIHNpbmdsZSBwYXJhbWV0ZXIgZm9yIERhdGUgY29uc3RydWN0b3IgKERhdGUsIHN0cmluZywgbnVtYmVyKVxuICovXG5leHBvcnQgdHlwZSBEYXRlSW5wdXQgPSBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { isRangeNumber, isString, isSupportedSimpleTypes, numberValidator } from '../operator.helpers';
|
|
1
|
+
import { isRangeNumber, isString, isSupportedSimpleTypes, numberValidator, parseRegExp } from '../operator.helpers';
|
|
2
2
|
/**
|
|
3
3
|
* Check if any of the variable's value is equal to a specific value
|
|
4
|
-
*
|
|
5
4
|
* @title contains
|
|
6
5
|
*/
|
|
7
6
|
export const arrayContains = {
|
|
@@ -12,7 +11,6 @@ export const arrayContains = {
|
|
|
12
11
|
};
|
|
13
12
|
/**
|
|
14
13
|
* Check if the specified text value is included in the text variable
|
|
15
|
-
*
|
|
16
14
|
* @title contains
|
|
17
15
|
*/
|
|
18
16
|
export const stringContains = {
|
|
@@ -23,7 +21,6 @@ export const stringContains = {
|
|
|
23
21
|
};
|
|
24
22
|
/**
|
|
25
23
|
* Check if every value of the variable is different from a specific value
|
|
26
|
-
*
|
|
27
24
|
* @title does not contain
|
|
28
25
|
*/
|
|
29
26
|
export const notArrayContains = {
|
|
@@ -34,7 +31,6 @@ export const notArrayContains = {
|
|
|
34
31
|
};
|
|
35
32
|
/**
|
|
36
33
|
* Check if the specified text value is not included in the text variable
|
|
37
|
-
*
|
|
38
34
|
* @title does not contain
|
|
39
35
|
*/
|
|
40
36
|
export const notStringContains = {
|
|
@@ -45,7 +41,6 @@ export const notStringContains = {
|
|
|
45
41
|
};
|
|
46
42
|
/**
|
|
47
43
|
* Check if every value of the variable equals a specific value
|
|
48
|
-
*
|
|
49
44
|
* @title all equal to
|
|
50
45
|
*/
|
|
51
46
|
export const allEqual = {
|
|
@@ -57,7 +52,6 @@ export const allEqual = {
|
|
|
57
52
|
};
|
|
58
53
|
/**
|
|
59
54
|
* Check if every numerical value of the variable is greater than a specific value
|
|
60
|
-
*
|
|
61
55
|
* @title all >
|
|
62
56
|
*/
|
|
63
57
|
export const allGreater = {
|
|
@@ -68,7 +62,6 @@ export const allGreater = {
|
|
|
68
62
|
};
|
|
69
63
|
/**
|
|
70
64
|
* Check if every value of the variable is in a specific list
|
|
71
|
-
*
|
|
72
65
|
* @title all in
|
|
73
66
|
*/
|
|
74
67
|
export const allIn = {
|
|
@@ -79,7 +72,6 @@ export const allIn = {
|
|
|
79
72
|
};
|
|
80
73
|
/**
|
|
81
74
|
* Check if every value of the variable is not in a specific list
|
|
82
|
-
*
|
|
83
75
|
* @title none in
|
|
84
76
|
*/
|
|
85
77
|
export const allNotIn = {
|
|
@@ -90,7 +82,6 @@ export const allNotIn = {
|
|
|
90
82
|
};
|
|
91
83
|
/**
|
|
92
84
|
* Check if every numerical value of the variable is lower than a specific value
|
|
93
|
-
*
|
|
94
85
|
* @title all <
|
|
95
86
|
*/
|
|
96
87
|
export const allLower = {
|
|
@@ -101,13 +92,12 @@ export const allLower = {
|
|
|
101
92
|
};
|
|
102
93
|
/**
|
|
103
94
|
* Check if every string value of the variable matches a specific pattern
|
|
104
|
-
*
|
|
105
95
|
* @title all match
|
|
106
96
|
*/
|
|
107
97
|
export const allMatch = {
|
|
108
98
|
name: 'allMatch',
|
|
109
|
-
evaluator: (array,
|
|
110
|
-
const regExp =
|
|
99
|
+
evaluator: (array, inputRegExp) => {
|
|
100
|
+
const regExp = parseRegExp(inputRegExp);
|
|
111
101
|
return array.every((elementValue) => regExp.test(elementValue));
|
|
112
102
|
},
|
|
113
103
|
validateLhs: Array.isArray,
|
|
@@ -115,7 +105,6 @@ export const allMatch = {
|
|
|
115
105
|
};
|
|
116
106
|
/**
|
|
117
107
|
* Check if every value of the variable is included in a specified range
|
|
118
|
-
*
|
|
119
108
|
* @title all between
|
|
120
109
|
*/
|
|
121
110
|
export const allRangeNumber = {
|
|
@@ -126,7 +115,6 @@ export const allRangeNumber = {
|
|
|
126
115
|
};
|
|
127
116
|
/**
|
|
128
117
|
* Check if at least one of the values of the variable equals a specific value
|
|
129
|
-
*
|
|
130
118
|
* @title one equal to
|
|
131
119
|
*/
|
|
132
120
|
export const oneEquals = {
|
|
@@ -138,7 +126,6 @@ export const oneEquals = {
|
|
|
138
126
|
};
|
|
139
127
|
/**
|
|
140
128
|
* Check if one of the values of the variable is greater than a specific value
|
|
141
|
-
*
|
|
142
129
|
* @title one >
|
|
143
130
|
*/
|
|
144
131
|
export const oneGreater = {
|
|
@@ -149,7 +136,6 @@ export const oneGreater = {
|
|
|
149
136
|
};
|
|
150
137
|
/**
|
|
151
138
|
* Check if at least one of the values of the variable is equal to one in a specified list
|
|
152
|
-
*
|
|
153
139
|
* @title one in
|
|
154
140
|
*/
|
|
155
141
|
export const oneIn = {
|
|
@@ -160,7 +146,6 @@ export const oneIn = {
|
|
|
160
146
|
};
|
|
161
147
|
/**
|
|
162
148
|
* Check if one of the values of the variable is lower than a specific value
|
|
163
|
-
*
|
|
164
149
|
* @title one <
|
|
165
150
|
*/
|
|
166
151
|
export const oneLower = {
|
|
@@ -171,13 +156,12 @@ export const oneLower = {
|
|
|
171
156
|
};
|
|
172
157
|
/**
|
|
173
158
|
* Check if one of the values of the variable matches a specific pattern
|
|
174
|
-
*
|
|
175
159
|
* @title one matches
|
|
176
160
|
*/
|
|
177
161
|
export const oneMatches = {
|
|
178
162
|
name: 'oneMatches',
|
|
179
|
-
evaluator: (arrayString,
|
|
180
|
-
const regExp =
|
|
163
|
+
evaluator: (arrayString, inputRegExp) => {
|
|
164
|
+
const regExp = parseRegExp(inputRegExp);
|
|
181
165
|
return arrayString.some((elementValue) => regExp.test(elementValue));
|
|
182
166
|
},
|
|
183
167
|
validateLhs: Array.isArray,
|
|
@@ -185,7 +169,6 @@ export const oneMatches = {
|
|
|
185
169
|
};
|
|
186
170
|
/**
|
|
187
171
|
* Check if one of the values of the variable is included in a specified range
|
|
188
|
-
*
|
|
189
172
|
* @title one between
|
|
190
173
|
*/
|
|
191
174
|
export const oneRangeNumber = {
|
|
@@ -196,7 +179,6 @@ export const oneRangeNumber = {
|
|
|
196
179
|
};
|
|
197
180
|
/**
|
|
198
181
|
* Check if the number of values of the variable is equal to a specific value
|
|
199
|
-
*
|
|
200
182
|
* @title number of =
|
|
201
183
|
*/
|
|
202
184
|
export const lengthEquals = {
|
|
@@ -207,7 +189,6 @@ export const lengthEquals = {
|
|
|
207
189
|
};
|
|
208
190
|
/**
|
|
209
191
|
* Check if the number of values of the variable is different from a specific value
|
|
210
|
-
*
|
|
211
192
|
* @title number of ≠
|
|
212
193
|
*/
|
|
213
194
|
export const lengthNotEquals = {
|
|
@@ -218,7 +199,6 @@ export const lengthNotEquals = {
|
|
|
218
199
|
};
|
|
219
200
|
/**
|
|
220
201
|
* Check if the number of values of the variable is lower or equal to a specific value
|
|
221
|
-
*
|
|
222
202
|
* @title number of ≤
|
|
223
203
|
*/
|
|
224
204
|
export const lengthLessThanOrEquals = {
|
|
@@ -229,7 +209,6 @@ export const lengthLessThanOrEquals = {
|
|
|
229
209
|
};
|
|
230
210
|
/**
|
|
231
211
|
* Check if the number of values of the variable is lower than a specific value
|
|
232
|
-
*
|
|
233
212
|
* @title number of <
|
|
234
213
|
*/
|
|
235
214
|
export const lengthLessThan = {
|
|
@@ -240,7 +219,6 @@ export const lengthLessThan = {
|
|
|
240
219
|
};
|
|
241
220
|
/**
|
|
242
221
|
* Check if the number of values of the variable is greater or equal to a specific value
|
|
243
|
-
*
|
|
244
222
|
* @title number of ≥
|
|
245
223
|
*/
|
|
246
224
|
export const lengthGreaterThanOrEquals = {
|
|
@@ -251,7 +229,6 @@ export const lengthGreaterThanOrEquals = {
|
|
|
251
229
|
};
|
|
252
230
|
/**
|
|
253
231
|
* Check if the number of values of the variable is greater than a specific value
|
|
254
|
-
*
|
|
255
232
|
* @title number of >
|
|
256
233
|
*/
|
|
257
234
|
export const lengthGreaterThan = {
|
|
@@ -286,4 +263,4 @@ export const arrayBasedOperators = [
|
|
|
286
263
|
oneRangeNumber,
|
|
287
264
|
stringContains
|
|
288
265
|
];
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktYmFzZWQub3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvcnMvYXJyYXktYmFzZWQub3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3JHOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJEO0lBQ25GLElBQUksRUFBRSxlQUFlO0lBQ3JCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztJQUMxQixXQUFXLEVBQUUsc0JBQXNCO0NBQ3BDLENBQUM7QUFHRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE2QjtJQUN0RCxJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFdBQVcsRUFBRSxRQUFRO0NBQ3RCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQTJEO0lBQ3RGLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPO0lBQzFCLFdBQVcsRUFBRSxz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O0lBQ2pCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsS0FBSztJQUNMLFFBQVE7SUFDUixVQUFVO0lBQ1YsY0FBYztJQUNkLGNBQWM7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1JhbmdlTnVtYmVyLCBpc1N0cmluZywgaXNTdXBwb3J0ZWRTaW1wbGVUeXBlcywgbnVtYmVyVmFsaWRhdG9yfSBmcm9tICcuLi9vcGVyYXRvci5oZWxwZXJzJztcbmltcG9ydCB7IE9wZXJhdG9yLCBTdXBwb3J0ZWRTaW1wbGVUeXBlcyB9IGZyb20gJy4uL29wZXJhdG9yLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ2hlY2sgaWYgYW55IG9mIHRoZSB2YXJpYWJsZSdzIHZhbHVlIGlzIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgY29udGFpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGFycmF5Q29udGFpbnM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ2FycmF5Q29udGFpbnMnLFxuICBldmFsdWF0b3I6ICh2YWx1ZSwgYikgPT4gdmFsdWUuaW5kZXhPZihiKSA+IC0xLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzU3VwcG9ydGVkU2ltcGxlVHlwZXNcbn07XG5cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgc3BlY2lmaWVkIHRleHQgdmFsdWUgaXMgaW5jbHVkZWQgaW4gdGhlIHRleHQgdmFyaWFibGVcbiAqXG4gKiBAdGl0bGUgY29udGFpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZ0NvbnRhaW5zOiBPcGVyYXRvcjxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdzdHJpbmdDb250YWlucycsXG4gIGV2YWx1YXRvcjogKGlucHV0U3RyaW5nLCBzdWJzdHJpbmcpID0+IGlucHV0U3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nKSA+IC0xLFxuICB2YWxpZGF0ZUxoczogaXNTdHJpbmcsXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgZGlmZmVyZW50IGZyb20gYSBzcGVjaWZpYyB2YWx1ZVxuICpcbiAqIEB0aXRsZSBkb2VzIG5vdCBjb250YWluXG4gKi9cbmV4cG9ydCBjb25zdCBub3RBcnJheUNvbnRhaW5zOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBTdXBwb3J0ZWRTaW1wbGVUeXBlcz4gPSB7XG4gIG5hbWU6ICdub3RBcnJheUNvbnRhaW5zJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5pbmRleE9mKHZhbHVlKSA9PT0gLTEsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgc3BlY2lmaWVkIHRleHQgdmFsdWUgaXMgbm90IGluY2x1ZGVkIGluIHRoZSB0ZXh0IHZhcmlhYmxlXG4gKlxuICogQHRpdGxlIGRvZXMgbm90IGNvbnRhaW5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vdFN0cmluZ0NvbnRhaW5zOiBPcGVyYXRvcjxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdub3RTdHJpbmdDb250YWlucycsXG4gIGV2YWx1YXRvcjogKGlucHV0U3RyaW5nLCBzdWJzdHJpbmc6IGFueSkgPT4gaW5wdXRTdHJpbmcuaW5kZXhPZihzdWJzdHJpbmcpID09PSAtMSxcbiAgdmFsaWRhdGVMaHM6IGlzU3RyaW5nLFxuICB2YWxpZGF0ZVJoczogaXNTdHJpbmdcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGVxdWFscyBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIGFsbCBlcXVhbCB0b1xuICovXG5leHBvcnQgY29uc3QgYWxsRXF1YWw6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ2FsbEVxdWFsJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSBudW1lcmljYWwgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIGFsbCA+XG4gKi9cbmV4cG9ydCBjb25zdCBhbGxHcmVhdGVyOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnYWxsR3JlYXRlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCB2YWx1ZSkgPT4gYXJyYXkuZXZlcnkoKGVsZW1lbnRWYWx1ZSkgPT4gbnVtYmVyVmFsaWRhdG9yKGVsZW1lbnRWYWx1ZSkgJiYgK2VsZW1lbnRWYWx1ZSA+ICt2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBpbiBhIHNwZWNpZmljIGxpc3RcbiAqXG4gKiBAdGl0bGUgYWxsIGluXG4gKi9cbmV4cG9ydCBjb25zdCBhbGxJbjogT3BlcmF0b3I8U3VwcG9ydGVkU2ltcGxlVHlwZXNbXSwgU3VwcG9ydGVkU2ltcGxlVHlwZXNbXT4gPSB7XG4gIG5hbWU6ICdhbGxJbicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCB2YWx1ZSkgPT4gYXJyYXkuZXZlcnkoKGVsZW1lbnRWYWx1ZSkgPT4gdmFsdWUuaW5kZXhPZihlbGVtZW50VmFsdWUpID4gLTEpLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IEFycmF5LmlzQXJyYXlcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIG5vdCBpbiBhIHNwZWNpZmljIGxpc3RcbiAqXG4gKiBAdGl0bGUgbm9uZSBpblxuICovXG5leHBvcnQgY29uc3QgYWxsTm90SW46IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzW10+ID0ge1xuICBuYW1lOiAnYWxsTm90SW4nLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+ICFhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IHZhbHVlLmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IG51bWVyaWNhbCB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgbG93ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIGFsbCA8XG4gKi9cbmV4cG9ydCBjb25zdCBhbGxMb3dlcjogT3BlcmF0b3I8bnVtYmVyW10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdhbGxMb3dlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5TnVtYmVyLCBudW1iZXIpID0+IGFycmF5TnVtYmVyLmV2ZXJ5KChlbGVtZW50TnVtYmVyKSA9PiBlbGVtZW50TnVtYmVyIDwgK251bWJlciksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHN0cmluZyB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgbWF0Y2hlcyBhIHNwZWNpZmljIHBhdHRlcm5cbiAqXG4gKiBAdGl0bGUgYWxsIG1hdGNoXG4gKi9cbmV4cG9ydCBjb25zdCBhbGxNYXRjaDogT3BlcmF0b3I8c3RyaW5nW10sIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdhbGxNYXRjaCcsXG4gIGV2YWx1YXRvcjogKGFycmF5LCBpbnB1dFN0cmluZykgPT4ge1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoaW5wdXRTdHJpbmcpO1xuICAgIHJldHVybiBhcnJheS5ldmVyeSgoZWxlbWVudFZhbHVlKSA9PiByZWdFeHAudGVzdChlbGVtZW50VmFsdWUpKTtcbiAgfSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgaW5jbHVkZWQgaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqXG4gKiBAdGl0bGUgYWxsIGJldHdlZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGFsbFJhbmdlTnVtYmVyOiBPcGVyYXRvcjxudW1iZXJbXSwgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXT4gPSB7XG4gIG5hbWU6ICdhbGxSYW5nZU51bWJlcicsXG4gIGV2YWx1YXRvcjogKHJhbmdlQXJyYXksIFtmcm9tLCB0b10pID0+XG4gICAgcmFuZ2VBcnJheS5ldmVyeSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPj0gK2Zyb20gJiYgZWxlbWVudFZhbHVlIDw9ICt0byksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNSYW5nZU51bWJlclxufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhdCBsZWFzdCBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgZXF1YWxzIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgb25lIGVxdWFsIHRvXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVFcXVhbHM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ29uZUVxdWFscycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZ3JlYXRlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgb25lID5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUdyZWF0ZXI6IE9wZXJhdG9yPG51bWJlcltdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnb25lR3JlYXRlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5TnVtYmVyLCBudW1iZXIpID0+IGFycmF5TnVtYmVyLnNvbWUoKGVsZW1lbnRWYWx1ZSkgPT4gZWxlbWVudFZhbHVlID4gK251bWJlciksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGUgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBlcXVhbCB0byBvbmUgaW4gYSBzcGVjaWZpZWQgbGlzdFxuICpcbiAqIEB0aXRsZSBvbmUgaW5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUluOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdPiA9IHtcbiAgbmFtZTogJ29uZUluJyxcbiAgZXZhbHVhdG9yOiAoZmlyc3RBcnJheSwgc2Vjb25kQXJyYXkpID0+XG4gICAgZmlyc3RBcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IHNlY29uZEFycmF5LmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIG9uZSBvZiB0aGUgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBsb3dlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgb25lIDxcbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUxvd2VyOiBPcGVyYXRvcjxudW1iZXJbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ29uZUxvd2VyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPCArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIG1hdGNoZXMgYSBzcGVjaWZpYyBwYXR0ZXJuXG4gKlxuICogQHRpdGxlIG9uZSBtYXRjaGVzXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVNYXRjaGVzOiBPcGVyYXRvcjxzdHJpbmdbXSwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ29uZU1hdGNoZXMnLFxuICBldmFsdWF0b3I6IChhcnJheVN0cmluZywgdmFsdWUpID0+IHtcbiAgICBjb25zdCByZWdFeHAgPSBuZXcgUmVnRXhwKHZhbHVlKTtcbiAgICByZXR1cm4gYXJyYXlTdHJpbmcuc29tZSgoZWxlbWVudFZhbHVlKSA9PiByZWdFeHAudGVzdChlbGVtZW50VmFsdWUpKTtcbiAgfSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgaW5jbHVkZWQgaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqXG4gKiBAdGl0bGUgb25lIGJldHdlZW5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZVJhbmdlTnVtYmVyOiBPcGVyYXRvcjxudW1iZXJbXSwgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXT4gPSB7XG4gIG5hbWU6ICdvbmVSYW5nZU51bWJlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5TnVtYmVyLCBbZnJvbSwgdG9dKSA9PlxuICAgIGFycmF5TnVtYmVyLnNvbWUoKGVsZW1lbnRWYWx1ZSkgPT4gZWxlbWVudFZhbHVlID49ICtmcm9tICYmIGVsZW1lbnRWYWx1ZSA8PSArdG8pLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzUmFuZ2VOdW1iZXJcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgbnVtYmVyIG9mID1cbiAqL1xuZXhwb3J0IGNvbnN0IGxlbmd0aEVxdWFsczogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPT09IE51bWJlcihsZW5ndGgpLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IG51bWJlclZhbGlkYXRvclxufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgbnVtYmVyIG9mIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZGlmZmVyZW50IGZyb20gYSBzcGVjaWZpYyB2YWx1ZVxuICpcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omgXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhOb3RFcXVhbHM6IE9wZXJhdG9yPGFueVtdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbGVuZ3RoTm90RXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoICE9PSBOdW1iZXIobGVuZ3RoKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGxvd2VyIG9yIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgbnVtYmVyIG9mIOKJpFxuICovXG5leHBvcnQgY29uc3QgbGVuZ3RoTGVzc1RoYW5PckVxdWFsczogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhMZXNzVGhhbk9yRXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoIDw9ICtsZW5ndGgsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBudW1iZXIgb2YgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBsb3dlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgbnVtYmVyIG9mIDxcbiAqL1xuZXhwb3J0IGNvbnN0IGxlbmd0aExlc3NUaGFuOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aExlc3NUaGFuJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoIDwgK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgb3IgZXF1YWwgdG8gYSBzcGVjaWZpYyB2YWx1ZVxuICpcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omlXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhHcmVhdGVyVGhhbk9yRXF1YWxzOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aEdyZWF0ZXJUaGFuT3JFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPj0gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIG51bWJlciBvZiA+XG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhHcmVhdGVyVGhhbjogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhHcmVhdGVyVGhhbicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCBsZW5ndGgpID0+IGFycmF5Lmxlbmd0aCA+ICtsZW5ndGgsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKiogTGlzdCBvZiBhbGwgZGVmYXVsdCBhcnJheSBvcGVyYXRvcnMgKi9cbmV4cG9ydCBjb25zdCBhcnJheUJhc2VkT3BlcmF0b3JzID0gW1xuICBhbGxFcXVhbCxcbiAgYWxsR3JlYXRlcixcbiAgYWxsSW4sXG4gIGFsbExvd2VyLFxuICBhbGxNYXRjaCxcbiAgYWxsTm90SW4sXG4gIGFsbFJhbmdlTnVtYmVyLFxuICBhcnJheUNvbnRhaW5zLFxuICBsZW5ndGhFcXVhbHMsXG4gIGxlbmd0aE5vdEVxdWFscyxcbiAgbGVuZ3RoR3JlYXRlclRoYW4sXG4gIGxlbmd0aEdyZWF0ZXJUaGFuT3JFcXVhbHMsXG4gIGxlbmd0aExlc3NUaGFuLFxuICBsZW5ndGhMZXNzVGhhbk9yRXF1YWxzLFxuICBub3RBcnJheUNvbnRhaW5zLFxuICBub3RTdHJpbmdDb250YWlucyxcbiAgb25lRXF1YWxzLFxuICBvbmVHcmVhdGVyLFxuICBvbmVJbixcbiAgb25lTG93ZXIsXG4gIG9uZU1hdGNoZXMsXG4gIG9uZVJhbmdlTnVtYmVyLFxuICBzdHJpbmdDb250YWluc1xuXTtcbiJdfQ==
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktYmFzZWQub3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvcnMvYXJyYXktYmFzZWQub3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdsSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJEO0lBQ25GLElBQUksRUFBRSxlQUFlO0lBQ3JCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztJQUMxQixXQUFXLEVBQUUsc0JBQXNCO0NBQ3BDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQTZCO0lBQ3RELElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUUsV0FBVyxFQUFFLFFBQVE7SUFDckIsV0FBVyxFQUFFLFFBQVE7Q0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUEyRDtJQUN0RixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztJQUMxQixXQUFX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QUNWLEtBQUs7SUFDTCxRQUFRO0lBQ1IsVUFBVTtJQUNWLGNBQWM7SUFDZCxjQUFjO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNSYW5nZU51bWJlciwgaXNTdHJpbmcsIGlzU3VwcG9ydGVkU2ltcGxlVHlwZXMsIG51bWJlclZhbGlkYXRvciwgcGFyc2VSZWdFeHB9IGZyb20gJy4uL29wZXJhdG9yLmhlbHBlcnMnO1xuaW1wb3J0IHsgT3BlcmF0b3IsIFN1cHBvcnRlZFNpbXBsZVR5cGVzIH0gZnJvbSAnLi4vb3BlcmF0b3IuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBDaGVjayBpZiBhbnkgb2YgdGhlIHZhcmlhYmxlJ3MgdmFsdWUgaXMgZXF1YWwgdG8gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIGNvbnRhaW5zXG4gKi9cbmV4cG9ydCBjb25zdCBhcnJheUNvbnRhaW5zOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBTdXBwb3J0ZWRTaW1wbGVUeXBlcz4gPSB7XG4gIG5hbWU6ICdhcnJheUNvbnRhaW5zJyxcbiAgZXZhbHVhdG9yOiAodmFsdWUsIGIpID0+IHZhbHVlLmluZGV4T2YoYikgPiAtMSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N1cHBvcnRlZFNpbXBsZVR5cGVzXG59O1xuXG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHNwZWNpZmllZCB0ZXh0IHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSB0ZXh0IHZhcmlhYmxlXG4gKiBAdGl0bGUgY29udGFpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZ0NvbnRhaW5zOiBPcGVyYXRvcjxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdzdHJpbmdDb250YWlucycsXG4gIGV2YWx1YXRvcjogKGlucHV0U3RyaW5nLCBzdWJzdHJpbmcpID0+IGlucHV0U3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nKSA+IC0xLFxuICB2YWxpZGF0ZUxoczogaXNTdHJpbmcsXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgZGlmZmVyZW50IGZyb20gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIGRvZXMgbm90IGNvbnRhaW5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vdEFycmF5Q29udGFpbnM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ25vdEFycmF5Q29udGFpbnMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmluZGV4T2YodmFsdWUpID09PSAtMSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N1cHBvcnRlZFNpbXBsZVR5cGVzXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBzcGVjaWZpZWQgdGV4dCB2YWx1ZSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHRleHQgdmFyaWFibGVcbiAqIEB0aXRsZSBkb2VzIG5vdCBjb250YWluXG4gKi9cbmV4cG9ydCBjb25zdCBub3RTdHJpbmdDb250YWluczogT3BlcmF0b3I8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbm90U3RyaW5nQ29udGFpbnMnLFxuICBldmFsdWF0b3I6IChpbnB1dFN0cmluZywgc3Vic3RyaW5nOiBhbnkpID0+IGlucHV0U3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nKSA9PT0gLTEsXG4gIHZhbGlkYXRlTGhzOiBpc1N0cmluZyxcbiAgdmFsaWRhdGVSaHM6IGlzU3RyaW5nXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBlcXVhbHMgYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIGFsbCBlcXVhbCB0b1xuICovXG5leHBvcnQgY29uc3QgYWxsRXF1YWw6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ2FsbEVxdWFsJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSBudW1lcmljYWwgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgYWxsID5cbiAqL1xuZXhwb3J0IGNvbnN0IGFsbEdyZWF0ZXI6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdhbGxHcmVhdGVyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5ldmVyeSgoZWxlbWVudFZhbHVlKSA9PiBudW1iZXJWYWxpZGF0b3IoZWxlbWVudFZhbHVlKSAmJiArZWxlbWVudFZhbHVlID4gK3ZhbHVlKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGluIGEgc3BlY2lmaWMgbGlzdFxuICogQHRpdGxlIGFsbCBpblxuICovXG5leHBvcnQgY29uc3QgYWxsSW46IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzW10+ID0ge1xuICBuYW1lOiAnYWxsSW4nLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IHZhbHVlLmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBub3QgaW4gYSBzcGVjaWZpYyBsaXN0XG4gKiBAdGl0bGUgbm9uZSBpblxuICovXG5leHBvcnQgY29uc3QgYWxsTm90SW46IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzW10+ID0ge1xuICBuYW1lOiAnYWxsTm90SW4nLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+ICFhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IHZhbHVlLmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IG51bWVyaWNhbCB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgbG93ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgYWxsIDxcbiAqL1xuZXhwb3J0IGNvbnN0IGFsbExvd2VyOiBPcGVyYXRvcjxudW1iZXJbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2FsbExvd2VyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuZXZlcnkoKGVsZW1lbnROdW1iZXIpID0+IGVsZW1lbnROdW1iZXIgPCArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgc3RyaW5nIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBtYXRjaGVzIGEgc3BlY2lmaWMgcGF0dGVyblxuICogQHRpdGxlIGFsbCBtYXRjaFxuICovXG5leHBvcnQgY29uc3QgYWxsTWF0Y2g6IE9wZXJhdG9yPHN0cmluZ1tdLCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnYWxsTWF0Y2gnLFxuICBldmFsdWF0b3I6IChhcnJheSwgaW5wdXRSZWdFeHApID0+IHtcbiAgICBjb25zdCByZWdFeHAgPSBwYXJzZVJlZ0V4cChpbnB1dFJlZ0V4cCk7XG4gICAgcmV0dXJuIGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IHJlZ0V4cC50ZXN0KGVsZW1lbnRWYWx1ZSkpO1xuICB9LFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzU3RyaW5nXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBpbmNsdWRlZCBpbiBhIHNwZWNpZmllZCByYW5nZVxuICogQHRpdGxlIGFsbCBiZXR3ZWVuXG4gKi9cbmV4cG9ydCBjb25zdCBhbGxSYW5nZU51bWJlcjogT3BlcmF0b3I8bnVtYmVyW10sIFtudW1iZXIgfCBzdHJpbmcsIG51bWJlciB8IHN0cmluZ10+ID0ge1xuICBuYW1lOiAnYWxsUmFuZ2VOdW1iZXInLFxuICBldmFsdWF0b3I6IChyYW5nZUFycmF5LCBbZnJvbSwgdG9dKSA9PlxuICAgIHJhbmdlQXJyYXkuZXZlcnkoKGVsZW1lbnRWYWx1ZSkgPT4gZWxlbWVudFZhbHVlID49ICtmcm9tICYmIGVsZW1lbnRWYWx1ZSA8PSArdG8pLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzUmFuZ2VOdW1iZXJcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYXQgbGVhc3Qgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGVxdWFscyBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgb25lIGVxdWFsIHRvXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVFcXVhbHM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ29uZUVxdWFscycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZ3JlYXRlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBvbmUgPlxuICovXG5leHBvcnQgY29uc3Qgb25lR3JlYXRlcjogT3BlcmF0b3I8bnVtYmVyW10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdvbmVHcmVhdGVyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPiArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYXQgbGVhc3Qgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGVxdWFsIHRvIG9uZSBpbiBhIHNwZWNpZmllZCBsaXN0XG4gKiBAdGl0bGUgb25lIGluXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVJbjogT3BlcmF0b3I8U3VwcG9ydGVkU2ltcGxlVHlwZXNbXSwgU3VwcG9ydGVkU2ltcGxlVHlwZXNbXT4gPSB7XG4gIG5hbWU6ICdvbmVJbicsXG4gIGV2YWx1YXRvcjogKGZpcnN0QXJyYXksIHNlY29uZEFycmF5KSA9PlxuICAgIGZpcnN0QXJyYXkuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBzZWNvbmRBcnJheS5pbmRleE9mKGVsZW1lbnRWYWx1ZSkgPiAtMSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogQXJyYXkuaXNBcnJheVxufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgbG93ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgb25lIDxcbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUxvd2VyOiBPcGVyYXRvcjxudW1iZXJbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ29uZUxvd2VyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPCArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIG1hdGNoZXMgYSBzcGVjaWZpYyBwYXR0ZXJuXG4gKiBAdGl0bGUgb25lIG1hdGNoZXNcbiAqL1xuZXhwb3J0IGNvbnN0IG9uZU1hdGNoZXM6IE9wZXJhdG9yPHN0cmluZ1tdLCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnb25lTWF0Y2hlcycsXG4gIGV2YWx1YXRvcjogKGFycmF5U3RyaW5nLCBpbnB1dFJlZ0V4cCkgPT4ge1xuICAgIGNvbnN0IHJlZ0V4cCA9IHBhcnNlUmVnRXhwKGlucHV0UmVnRXhwKTtcbiAgICByZXR1cm4gYXJyYXlTdHJpbmcuc29tZSgoZWxlbWVudFZhbHVlKSA9PiByZWdFeHAudGVzdChlbGVtZW50VmFsdWUpKTtcbiAgfSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgaW5jbHVkZWQgaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqIEB0aXRsZSBvbmUgYmV0d2VlblxuICovXG5leHBvcnQgY29uc3Qgb25lUmFuZ2VOdW1iZXI6IE9wZXJhdG9yPG51bWJlcltdLCBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddPiA9IHtcbiAgbmFtZTogJ29uZVJhbmdlTnVtYmVyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIFtmcm9tLCB0b10pID0+XG4gICAgYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPj0gK2Zyb20gJiYgZWxlbWVudFZhbHVlIDw9ICt0byksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNSYW5nZU51bWJlclxufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgbnVtYmVyIG9mIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZXF1YWwgdG8gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIG51bWJlciBvZiA9XG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhFcXVhbHM6IE9wZXJhdG9yPGFueVtdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbGVuZ3RoRXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoID09PSBOdW1iZXIobGVuZ3RoKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGRpZmZlcmVudCBmcm9tIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omgXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhOb3RFcXVhbHM6IE9wZXJhdG9yPGFueVtdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbGVuZ3RoTm90RXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoICE9PSBOdW1iZXIobGVuZ3RoKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGxvd2VyIG9yIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omkXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhMZXNzVGhhbk9yRXF1YWxzOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aExlc3NUaGFuT3JFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPD0gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGxvd2VyIHRoYW4gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIG51bWJlciBvZiA8XG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhMZXNzVGhhbjogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhMZXNzVGhhbicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCBsZW5ndGgpID0+IGFycmF5Lmxlbmd0aCA8ICtsZW5ndGgsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBudW1iZXIgb2YgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBncmVhdGVyIG9yIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omlXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhHcmVhdGVyVGhhbk9yRXF1YWxzOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aEdyZWF0ZXJUaGFuT3JFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPj0gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgbnVtYmVyIG9mID5cbiAqL1xuZXhwb3J0IGNvbnN0IGxlbmd0aEdyZWF0ZXJUaGFuOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aEdyZWF0ZXJUaGFuJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoID4gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKiBMaXN0IG9mIGFsbCBkZWZhdWx0IGFycmF5IG9wZXJhdG9ycyAqL1xuZXhwb3J0IGNvbnN0IGFycmF5QmFzZWRPcGVyYXRvcnMgPSBbXG4gIGFsbEVxdWFsLFxuICBhbGxHcmVhdGVyLFxuICBhbGxJbixcbiAgYWxsTG93ZXIsXG4gIGFsbE1hdGNoLFxuICBhbGxOb3RJbixcbiAgYWxsUmFuZ2VOdW1iZXIsXG4gIGFycmF5Q29udGFpbnMsXG4gIGxlbmd0aEVxdWFscyxcbiAgbGVuZ3RoTm90RXF1YWxzLFxuICBsZW5ndGhHcmVhdGVyVGhhbixcbiAgbGVuZ3RoR3JlYXRlclRoYW5PckVxdWFscyxcbiAgbGVuZ3RoTGVzc1RoYW4sXG4gIGxlbmd0aExlc3NUaGFuT3JFcXVhbHMsXG4gIG5vdEFycmF5Q29udGFpbnMsXG4gIG5vdFN0cmluZ0NvbnRhaW5zLFxuICBvbmVFcXVhbHMsXG4gIG9uZUdyZWF0ZXIsXG4gIG9uZUluLFxuICBvbmVMb3dlcixcbiAgb25lTWF0Y2hlcyxcbiAgb25lUmFuZ2VOdW1iZXIsXG4gIHN0cmluZ0NvbnRhaW5zXG5dO1xuIl19
|