@o3r/rules-engine 10.3.0-prerelease.50 → 10.3.0-prerelease.51
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/devkit/rules-engine-devtools.console.service.d.ts +1 -1
- package/devkit/rules-engine-devtools.service.d.ts +1 -1
- package/engine/engine.interface.d.ts +15 -1
- package/engine/engine.interface.d.ts.map +1 -1
- package/engine/ruleset-executor.d.ts.map +1 -1
- package/engine/structure.d.ts +15 -1
- package/engine/structure.d.ts.map +1 -1
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +3 -3
- package/esm2022/devkit/rules-engine-devtools.console.service.mjs +2 -2
- package/esm2022/devkit/rules-engine-devtools.service.mjs +2 -2
- package/esm2022/engine/engine.interface.mjs +1 -1
- package/esm2022/engine/ruleset-executor.mjs +2 -1
- package/esm2022/engine/structure.mjs +1 -1
- package/esm2022/services/runner/rules-engine.runner.service.mjs +3 -8
- package/esm2022/stores/rulesets/rulesets.selectors.mjs +47 -6
- package/fesm2022/o3r-rules-engine.mjs +53 -16
- package/fesm2022/o3r-rules-engine.mjs.map +1 -1
- package/package.json +5 -5
- package/services/runner/rules-engine.runner.service.d.ts.map +1 -1
- package/stores/rulesets/rulesets.selectors.d.ts +13 -0
- package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
|
@@ -244,8 +244,9 @@ export class RulesetExecutor {
|
|
|
244
244
|
id: this.ruleset.id,
|
|
245
245
|
validityRange: this.ruleset.validityRange,
|
|
246
246
|
linkedComponent: this.ruleset.linkedComponent,
|
|
247
|
+
linkedComponents: this.ruleset.linkedComponents,
|
|
247
248
|
rulesResultsSubject$: result$
|
|
248
249
|
};
|
|
249
250
|
}
|
|
250
251
|
}
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvcnVsZXNldC1leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3JCLE1BQU0scUJBQXFCLENBQUM7QUFlN0IsTUFBTSxPQUFPLGVBQWU7SUFtQjFCOzs7O09BSUc7SUFDSCxZQUFZLE9BQWdCLEVBQUUsV0FBd0I7UUFQOUMscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBUTNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FBQyxhQUE2RCxFQUFFLGNBQTJCO1FBQ3RILElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxD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QyxzQkFBdUIsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUVELE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FDN0UsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxFQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ3pDLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDN0Msb0JBQW9CLEVBQUUsT0FBTztTQUNiLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJ1bGVzZXQgZXhlY3V0b3IgKi9cbmltcG9ydCB7IEpTT05QYXRoIH0gZnJvbSAnanNvbnBhdGgtcGx1cyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgcGFpcndpc2UsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1ZyB9IGZyb20gJy4vZGVidWcvaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lIH0gZnJvbSAnLi9lbmdpbmUnO1xuaW1wb3J0IHR5cGUgeyBGYWN0cyB9IGZyb20gJy4vZmFjdCc7XG5pbXBvcnQgeyBFbmdpbmVSdWxlc2V0LCBFdmFsdWF0aW9uUmVhc29uLCBSdWxlRXZhbHVhdGlvbiwgUnVsZUV2YWx1YXRpb25PdXRwdXQgfSBmcm9tICcuL2VuZ2luZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZXhlY3V0ZU9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvci9vcGVyYXRvci5oZWxwZXJzJztcbmltcG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvci9vcGVyYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgaXNBbGxDb25kaXRpb25zLFxuICBpc0NvbmRpdGlvblByb3BlcnRpZXMsXG4gIGlzTm90Q29uZGl0aW9uLFxuICBpc09wZXJhbmRGYWN0LFxuICBpc09wZXJhbmRMaXRlcmFsLFxuICBpc09wZXJhbmRSdW50aW1lRmFjdFxufSBmcm9tICcuL3J1bGUvcnVsZS5oZWxwZXJzJztcbmltcG9ydCB7XG4gIEFjdGlvbkJsb2NrLFxuICBBY3Rpb25TZXRUZW1wb3JhcnlGYWN0QmxvY2ssXG4gIEFsbEJsb2NrLFxuICBHZW5lcmljT3BlcmFuZCxcbiAgSWZFbHNlQmxvY2ssXG4gIE5lc3RlZENvbmRpdGlvbixcbiAgUnVsZSxcbiAgUnVsZXNldFxufSBmcm9tICcuL3N0cnVjdHVyZSc7XG5cbi8qKiBUeXBlIG9mIHRoZSByZXRyaWV2ZSBmYWN0IGZ1bmN0aW9uICovXG5leHBvcnQgdHlwZSBSZXRyaWV2ZUZhY3RGdW5jVHlwZSA9IDxUID0gdW5rbm93bj4gKGlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD47XG5cbmV4cG9ydCBjbGFzcyBSdWxlc2V0RXhlY3V0b3Ige1xuXG4gIC8qKiByZXRyaWV2ZUZhY3RGdW5jICovXG4gIHByb3RlY3RlZCByZWFkb25seSBydWxlc0VuZ2luZTogUnVsZXNFbmdpbmU7XG5cbiAgLyoqIE1hcCBvZiBhdmFpbGFibGUgb3BlcmF0b3JzICovXG4gIHByb3RlY3RlZCByZWFkb25seSBvcGVyYXRvcnM6IFJlY29yZDxzdHJpbmcsIE9wZXJhdG9yPHVua25vd24sIHVua25vd24+PjtcblxuICAvKiogRGVsYXkgYmVmb3JlIGZhY3Qgc3RyZWFtIGRlZmF1bHRpbmcgdmFsdWUgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZhY3REZWZhdWx0RGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqIFJ1bGVzZXQgYXNzb2NpYXRlZCB0byB0aGUgY3VycmVudCBleGVjdXRvciovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc2V0OiBSdWxlc2V0O1xuXG4gIC8qKiBSdWxlc2V0IHBsdWdnZWQgdG8gdGhlIGZhY3Qgc3RyZWFtLCB0aGF0IGNvbnRhaW5zIGFjdGlvbnMgc3RyZWFtIHJlc3VsdCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5naW5lUnVsZXNldDogRW5naW5lUnVsZXNldDtcblxuICBwcml2YXRlIGV4ZWN1dGlvbkNvdW50ZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgcnVsZXNldCBleGVjdXRvclxuICAgKiBAcGFyYW0gcnVsZXNldCBSdWxlc2V0IHRvIGV2YWx1YXRlXG4gICAqIEBwYXJhbSBydWxlc0VuZ2luZSBJbnN0YW5jZSBvZiB0aGUgcnVsZXMgZW5naW5lXG4gICAqL1xuICBjb25zdHJ1Y3RvcihydWxlc2V0OiBSdWxlc2V0LCBydWxlc0VuZ2luZTogUnVsZXNFbmdpbmUpIHtcbiAgICB0aGlzLnJ1bGVzZXQgPSBydWxlc2V0O1xuICAgIHRoaXMucnVsZXNFbmdpbmUgPSBydWxlc0VuZ2luZTtcbiAgICB0aGlzLm9wZXJhdG9ycyA9IHJ1bGVzRW5naW5lLm9wZXJhdG9ycztcbiAgICB0aGlzLmVuZ2luZVJ1bGVzZXQgPSB0aGlzLnBsdWdSdWxlc2V0KCk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgZXhwbG9yZXMgYSBydWxlIHRvIGlkZW50aWZ5IGFuZCBjb2xsZWN0IGlucHV0IGZhY3RzLlxuICAgKiBJbnB1dCBmYWN0cyBhcmUgaWRlbnRpZmllZCBiYXNlZCBvbiB0aGUgJ0ZBQ1QnIHR5cGUgYW5kIG9wZXJhdG9yLXNwZWNpZmljIGltcGxpY2l0IGRlcGVuZGVuY2llcy5cbiAgICogQHBhcmFtIGN1cnJlbnRPYmplY3QgVGhlIGN1cnJlbnQgb2JqZWN0IGJlaW5nIGV4cGxvcmVkLlxuICAgKiBAcGFyYW0gcnVsZUlucHV0RmFjdHMgQSBzZXQgdG8gc3RvcmUgdGhlIGlkZW50aWZpZWQgaW5wdXQgZmFjdHMgZm9yIHRoZSBydWxlLlxuICAgKi9cbiAgcHJpdmF0ZSBjb2xsZWN0UnVsZUlucHV0RmFjdHMoY3VycmVudE9iamVjdDogQWxsQmxvY2sgfCBOZXN0ZWRDb25kaXRpb24gfCBOZXN0ZWRDb25kaXRpb25bXSwgcnVsZUlucHV0RmFjdHM6IFNldDxzdHJpbmc+KSB7XG4gICAgaWYgKGN1cnJlbnRPYmplY3QgJiYgaXNPcGVyYW5kRmFjdChjdXJyZW50T2JqZWN0KSkge1xuICAgICAgcnVsZUlucHV0RmFjdHMuYWRkKGN1cnJlbnRPYmplY3QudmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50T2JqZWN0KSkge1xuICAgICAgY3VycmVudE9iamVjdC5mb3JFYWNoKChlbGVtKSA9PiB0aGlzLmNvbGxlY3RSdWxlSW5wdXRGYWN0cyhlbGVtLCBydWxlSW5wdXRGYWN0cykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBjdXJyZW50T2JqZWN0KSB7XG4gICAgICAgIGlmICgoa2V5ID09PSAnb3BlcmF0b3InKSAmJiBpc0NvbmRpdGlvblByb3BlcnRpZXMoY3VycmVudE9iamVjdCkpIHtcbiAgICAgICAgICBjb25zdCBvcCA9IHRoaXMub3BlcmF0b3JzW2N1cnJlbnRPYmplY3Rba2V5XV07XG4gICAgICAgICAgaWYgKG9wICYmIG9wLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcykge1xuICAgICAgICAgICAgb3AuZmFjdEltcGxpY2l0RGVwZW5kZW5jaWVzLmZvckVhY2goZGVwID0+IHJ1bGVJbnB1dEZhY3RzLmFkZChkZXApKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGN1cnJlbnRPYmplY3Rba2V5IGFzIGtleW9mIChBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbildID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuY29sbGVjdFJ1bGVJbnB1dEZhY3RzKGN1cnJlbnRPYmplY3Rba2V5IGFzIGtleW9mIChBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbildLCBydWxlSW5wdXRGYWN0cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVwb3J0IHBlcmZvcm1hbmNlIG1hcmsgZm9yIGEgcnVsZSBydW5cbiAgICogQHBhcmFtIHJ1bGUgUnVsZSB0byBtZWFzdXJlXG4gICAqIEBwYXJhbSBzdGF0dXMgc3RhdHVzIG9mIHRoZSBydWxlIGV2YWx1YXRpb25cbiAgICovXG4gIHByb3RlY3RlZCBwZXJmb3JtYW5jZU1hcmsocnVsZTogUnVsZSwgc3RhdHVzOiAnc3RhcnQnIHwgJ2VuZCcpIHtcbiAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5wZXJmb3JtYW5jZSkge1xuICAgICAgY29uc3QgbWFya05hbWUgPSBgcnVsZXMtZW5naW5lOiR7dGhpcy5ydWxlc0VuZ2luZS5ydWxlc0VuZ2luZUluc3RhbmNlTmFtZX06JHt0aGlzLnJ1bGVzZXQubmFtZX06JHtydWxlLm5hbWV9YDtcbiAgICAgIHRoaXMucnVsZXNFbmdpbmUucGVyZm9ybWFuY2UubWFyayhgJHttYXJrTmFtZX06JHtzdGF0dXN9YCk7XG4gICAgICBpZiAoc3RhdHVzID09PSAnZW5kJykge1xuICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLnBlcmZvcm1hbmNlLm1lYXN1cmUobWFya05hbWUsIGAke21hcmtOYW1lfTpzdGFydGAsIGAke21hcmtOYW1lfTplbmRgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IG9wZXJhbmQgdmFsdWUgc3RyZWFtIGFjY29yZGluZyB0byBpdHMgdHlwZVxuICAgKiBAcGFyYW0gb3BlcmFuZCBvcGVyYW5kIG9mIHRoZSBjb25kaXRpb25cbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0T3BlcmFuZFZhbHVlKG9wZXJhbmQ6IEdlbmVyaWNPcGVyYW5kIHwgdW5kZWZpbmVkLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pOiB1bmtub3duIHtcbiAgICBpZiAodHlwZW9mIG9wZXJhbmQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kRmFjdChvcGVyYW5kKSkge1xuICAgICAgY29uc3QgZmFjdFZhbHVlID0gZmFjdHNWYWx1ZVtvcGVyYW5kLnZhbHVlXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICByZXR1cm4gb3BlcmFuZC5wYXRoID8gZmFjdFZhbHVlICYmIEpTT05QYXRoKHt3cmFwOiBmYWxzZSwganNvbjogZmFjdFZhbHVlLCBwYXRoOiBvcGVyYW5kLnBhdGh9KSA6IGZhY3RWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzT3BlcmFuZExpdGVyYWwob3BlcmFuZCkpIHtcbiAgICAgIHJldHVybiBvcGVyYW5kLnZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kUnVudGltZUZhY3Qob3BlcmFuZCkpIHtcbiAgICAgIHJldHVybiBydW50aW1lRmFjdFZhbHVlc1tvcGVyYW5kLnZhbHVlXTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIGEgcm9vdCBydWxlIGZyb20gYSBydWxlc2V0LCBhbmQgcmV0dXJuIHRoZSBhc3NvY2lhdGVkIGFjdGlvbnMgdG8gYmUgcHJvY2Vzc2VkXG4gICAqIFdpbGwgYWxzbyB1cGRhdGUgdGhlIHJ1bnRpbWVGYWN0VmFsdWVzIG1hcCB0aGF0IGlzIHJ1bGVzZXQgd2lzZVxuICAgKiBOb3RlIHRoYXQgcnVudGltZUZhY3RWYWx1ZXMgd2lsbCBiZSBtdXRhdGVkIGJ5IGFsbCB0aGUgcnVudGltZSBmYWN0cyBhY3Rpb25zIGV4ZWN1dGVkXG4gICAqIEBwYXJhbSBydWxlXG4gICAqIEBwYXJhbSBmYWN0c1ZhbHVlXG4gICAqIEBwYXJhbSBydW50aW1lRmFjdFZhbHVlc1xuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZXZhbHVhdGVSdWxlKHJ1bGU6IFJ1bGUsIGZhY3RzVmFsdWU6IFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPiwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPikge1xuICAgIHJldHVybiB0aGlzLmV2YWx1YXRlQmxvY2socnVsZS5yb290RWxlbWVudCwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IHByb2Nlc3MgYSBibG9jayB0byBleHRyYWN0IGFsbCB0aGUgYWN0aW9ucyBrZWVwaW5nIHRoZSBvcmRlclxuICAgKiBOb3RlIHRoYXQgcnVudGltZUZhY3RWYWx1ZXMgd2lsbCBiZSBtdXRhdGVkIGJ5IGFsbCB0aGUgcnVudGltZSBmYWN0cyBhY3Rpb25zIGV4ZWN1dGVkXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwYXJhbSBhY3Rpb25zXG4gICAqIEBwYXJhbSBmYWN0c1ZhbHVlXG4gICAqIEBwYXJhbSBydW50aW1lRmFjdFZhbHVlcyBUaGlzIHJ1bnRpbWUgZmFjdCBtYXAgd2lsbCBiZSBtdXRhdGVkIGJ5IGFsbCB0aGUgcnVudGltZSBmYWN0cyBhY3Rpb25zIGV4ZWN1dGVkXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBldmFsdWF0ZUJsb2NrKGVsZW1lbnQ6IEFsbEJsb2NrLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sIGFjdGlvbnM6IEFjdGlvbkJsb2NrW10gPSBbXSkge1xuICAgIGlmICh0aGlzLmlzSWZFbHNlQmxvY2soZWxlbWVudCkpIHtcbiAgICAgICghZWxlbWVudC5jb25kaXRpb24gfHwgdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihlbGVtZW50LmNvbmRpdGlvbiwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpID8gZWxlbWVudC5zdWNjZXNzRWxlbWVudHMgOiBlbGVtZW50LmZhaWx1cmVFbGVtZW50cylcbiAgICAgICAgLmZvckVhY2goKGVsZW1lbnRSZXN1bHQpID0+IHRoaXMuZXZhbHVhdGVCbG9jayhlbGVtZW50UmVzdWx0LCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcywgYWN0aW9ucykpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0FjdGlvbkJsb2NrKGVsZW1lbnQpKSB7XG4gICAgICBpZiAodGhpcy5pc0FjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayhlbGVtZW50KSkge1xuICAgICAgICBydW50aW1lRmFjdFZhbHVlc1tlbGVtZW50LmZhY3RdID0gZWxlbWVudC52YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjdGlvbnMucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBlbGVtZW50IGlzIGEgSWZFbHNlIGJsb2NrXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0lmRWxzZUJsb2NrKGVsZW1lbnQ6IEFsbEJsb2NrKTogZWxlbWVudCBpcyBJZkVsc2VCbG9jayB7XG4gICAgcmV0dXJuIGVsZW1lbnQuYmxvY2tUeXBlID09PSAnSUZfRUxTRSc7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBlbGVtZW50IGlzIGFuIGFjdGlvbiBibG9ja1xuICAgKiBAcGFyYW0gZWxlbWVudFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNBY3Rpb25CbG9jayhlbGVtZW50OiBBbGxCbG9jayk6IGVsZW1lbnQgaXMgQWN0aW9uQmxvY2sge1xuICAgIHJldHVybiAnZWxlbWVudFR5cGUnIGluIGVsZW1lbnQgJiYgZWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0FDVElPTic7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBhY3Rpb24gc2V0cyBhIHRlbXBvcmFyeSBmYWN0XG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0FjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayhlbGVtZW50OiBBY3Rpb25CbG9jayk6IGVsZW1lbnQgaXMgQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrIHtcbiAgICByZXR1cm4gJ2FjdGlvblR5cGUnIGluIGVsZW1lbnQgJiYgZWxlbWVudC5hY3Rpb25UeXBlID09PSAnU0VUX0ZBQ1QnO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIGEgY29uZGl0aW9uIGJsb2NrXG4gICAqIEBwYXJhbSBuZXN0ZWRDb25kaXRpb25cbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBldmFsdWF0ZUNvbmRpdGlvbihuZXN0ZWRDb25kaXRpb246IE5lc3RlZENvbmRpdGlvbiwgZmFjdHNWYWx1ZTogUmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+LCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+KTogYm9vbGVhbiB7XG4gICAgaWYgKGlzQ29uZGl0aW9uUHJvcGVydGllcyhuZXN0ZWRDb25kaXRpb24pKSB7XG4gICAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMub3BlcmF0b3JzW25lc3RlZENvbmRpdGlvbi5vcGVyYXRvcl07XG4gICAgICBpZiAob3BlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gb3BlcmF0b3IgOiAke25lc3RlZENvbmRpdGlvbi5vcGVyYXRvcn0sIHNraXBwaW5nIHRoZSBydWxlIGV4ZWN1dGlvbi4uLmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4ZWN1dGVPcGVyYXRvcih0aGlzLmdldE9wZXJhbmRWYWx1ZShuZXN0ZWRDb25kaXRpb24ubGhzLCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcyksXG4gICAgICAgIHRoaXMuZ2V0T3BlcmFuZFZhbHVlKCdyaHMnIGluIG5lc3RlZENvbmRpdGlvbiA/IG5lc3RlZENvbmRpdGlvbi5yaHMgOiB1bmRlZmluZWQsIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzKSwgb3BlcmF0b3IsIGZhY3RzVmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChpc05vdENvbmRpdGlvbihuZXN0ZWRDb25kaXRpb24pKSB7XG4gICAgICByZXR1cm4gIXRoaXMuZXZhbHVhdGVDb25kaXRpb24obmVzdGVkQ29uZGl0aW9uLm5vdCwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICAgIH1cbiAgICBpZiAobmVzdGVkQ29uZGl0aW9uLmFsbCB8fCBuZXN0ZWRDb25kaXRpb24uYW55KSB7XG4gICAgICBjb25zdCBldmFsdWF0ZSA9IChjb25kaXRpb246IE5lc3RlZENvbmRpdGlvbikgPT4gdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb24sIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzKTtcbiAgICAgIHJldHVybiBpc0FsbENvbmRpdGlvbnMobmVzdGVkQ29uZGl0aW9uKSA/IG5lc3RlZENvbmRpdGlvbi5hbGwuZXZlcnkoZXZhbHVhdGUpIDogbmVzdGVkQ29uZGl0aW9uLmFueS5zb21lKGV2YWx1YXRlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbmRpdGlvbiBibG9jayBtZXQgOiAke0pTT04uc3RyaW5naWZ5KG5lc3RlZENvbmRpdGlvbil9YCk7XG4gIH1cblxuICAvKipcbiAgICogUGx1ZyBydWxlc2V0IHRvIGZhY3Qgc3RyZWFtcyBhbmQgdHJpZ2dlciBhIGZpcnN0IGV2YWx1YXRpb25cbiAgICovXG4gIHByb3RlY3RlZCBwbHVnUnVsZXNldCgpIHtcbiAgICBjb25zdCBpbnB1dEZhY3RzRm9yUnVsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gICAgY29uc3QgZmluZFJ1bGVJbnB1dEZhY3RzID0gKG9iajogQWxsQmxvY2spOiBzdHJpbmdbXSA9PiB7XG4gICAgICBjb25zdCBydWxlSW5wdXRGYWN0cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgdGhpcy5jb2xsZWN0UnVsZUlucHV0RmFjdHMob2JqLCBydWxlSW5wdXRGYWN0cyk7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbShydWxlSW5wdXRGYWN0cyk7XG4gICAgfTtcbiAgICB0aGlzLnJ1bGVzZXQucnVsZXMuZm9yRWFjaCgocnVsZSkgPT4gaW5wdXRGYWN0c0ZvclJ1bGVbcnVsZS5pZF0gPSBmaW5kUnVsZUlucHV0RmFjdHMocnVsZS5yb290RWxlbWVudCkpO1xuICAgIGNvbnN0IGZhY3RzVGhhdFJlcnVuRXZlcnl0aGluZzogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnJ1bGVzZXQucnVsZXMuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgICAgaWYgKHJ1bGUub3V0cHV0UnVudGltZUZhY3RzLmxlbmd0aCA+IDAgfHwgcnVsZS5pbnB1dFJ1bnRpbWVGYWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZhY3RzVGhhdFJlcnVuRXZlcnl0aGluZy5wdXNoKC4uLmlucHV0RmFjdHNGb3JSdWxlW3J1bGUuaWRdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlckZ1bGwkOiBPYnNlcnZhYmxlPHVua25vd25bXT4gPSBmYWN0c1RoYXRSZXJ1bkV2ZXJ5dGhpbmcubGVuZ3RoID09PSAwID8gb2YoW10pIDpcbiAgICAgIGNvbWJpbmVMYXRlc3QoZmFjdHNUaGF0UmVydW5FdmVyeXRoaW5nLm1hcCgoZmFjdCkgPT4gdGhpcy5ydWxlc0VuZ2luZS5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShmYWN0KSkpO1xuICAgIGNvbnN0IHJlc3VsdCQgPSB0cmlnZ2VyRnVsbCQucGlwZShzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgY29uc3QgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPiA9IHt9O1xuXG4gICAgICBsZXQgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdO1xuICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZGVidWdNb2RlKSB7XG4gICAgICAgIHJ1bGVzZXRJbnB1dEZhY3RzID0gQXJyYXkuZnJvbSh0aGlzLnJ1bGVzZXQucnVsZXMucmVkdWNlKChhY2MsIHJ1bGUpID0+IHtcbiAgICAgICAgICBpbnB1dEZhY3RzRm9yUnVsZVtydWxlLmlkXS5mb3JFYWNoKChmYWN0TmFtZSkgPT4gYWNjLmFkZChmYWN0TmFtZSkpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIG5ldyBTZXQ8c3RyaW5nPigpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMucnVsZXNldC5ydWxlcy5tYXAoKHJ1bGUpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRGYWN0cyA9IGlucHV0RmFjdHNGb3JSdWxlW3J1bGUuaWRdO1xuICAgICAgICBjb25zdCB2YWx1ZXMkID0gaW5wdXRGYWN0cy5tYXAoKGZhY3QpID0+IHRoaXMucnVsZXNFbmdpbmUucmV0cmlldmVPckNyZWF0ZUZhY3RTdHJlYW0oZmFjdCkpO1xuICAgICAgICByZXR1cm4gKHZhbHVlcyQubGVuZ3RoID8gY29tYmluZUxhdGVzdCh2YWx1ZXMkKSA6IG9mKFtbXV0gYXMgKEZhY3RzIHwgdW5kZWZpbmVkKVtdKSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnBlcmZvcm1hbmNlTWFyayhydWxlLCAnc3RhcnQnKSksXG4gICAgICAgICAgICBtYXAoKFtvbGRGYWN0VmFsdWVzLCBmYWN0VmFsdWVzXSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBvdXRwdXQ6IFJ1bGVFdmFsdWF0aW9uT3V0cHV0ID0ge2FjdGlvbnM6IHVuZGVmaW5lZH07XG5cbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWN0aW9ucyA9IHRoaXMuZXZhbHVhdGVSdWxlKHJ1bGUsIGlucHV0RmFjdHMucmVkdWNlPFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPj4oKGFjYywgaWQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBhY2NbaWRdID0gZmFjdFZhbHVlcyFbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LCB7fSksIHJ1bnRpbWVGYWN0VmFsdWVzKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWN0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBvdXRwdXQuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0aGlzLnJ1bGVzRW5naW5lLmRlYnVnTW9kZSkge1xuICAgICAgICAgICAgICAgIG91dHB1dC5ldmFsdWF0aW9uID0gaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1Zyh7IC4uLnJ1bGUsIGlucHV0RmFjdHMgfSwgdGhpcy5ydWxlc2V0Lm5hbWUsIG91dHB1dC5hY3Rpb25zLCBvdXRwdXQuZXJyb3IsIHJ1bnRpbWVGYWN0VmFsdWVzLCBmYWN0VmFsdWVzLCBvbGRGYWN0VmFsdWVzKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChvdXRwdXQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmxvZ2dlcj8uZXJyb3Iob3V0cHV0LmVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmxvZ2dlcj8ud2FybihgU2tpcHBpbmcgcnVsZSAke3J1bGUubmFtZX0sIGFuZCB0aGUgYXNzb2NpYXRlZCBydWxlc2V0YCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMucGVyZm9ybWFuY2VNYXJrKHJ1bGUsICdlbmQnKSlcbiAgICAgICAgICApO1xuICAgICAgfSkpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICBtYXAoKFtwcmV2UmVzLCBjdXJyUmVzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFjdGlvbnNMaXN0cyA9IGN1cnJSZXMhLm1hcChyID0+IHIuYWN0aW9ucyk7XG4gICAgICAgICAgY29uc3QgYWxsRXhlY3V0aW9uc1ZhbGlkID0gYWN0aW9uc0xpc3RzLmV2ZXJ5KChhY3Rpb25zKSA9PiAhIWFjdGlvbnMpO1xuXG4gICAgICAgICAgbGV0IGV4ZWNJbmZvOiB7XG4gICAgICAgICAgICBleGVjdXRpb25Db3VudGVyPzogbnVtYmVyO1xuICAgICAgICAgICAgYWN0aW9uc0xpc3RzOiBBY3Rpb25CbG9ja1tdW107XG4gICAgICAgICAgICBydWxlc2V0T3V0cHV0RXhlY3V0aW9uPzogUnVsZUV2YWx1YXRpb25bXTtcbiAgICAgICAgICAgIGFsbEV4ZWN1dGlvbnNWYWxpZD86IGJvb2xlYW47XG4gICAgICAgICAgICBydWxlc2V0VHJpZ2dlcnM/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj47XG4gICAgICAgICAgfSA9IHthY3Rpb25zTGlzdHM6IChhbGxFeGVjdXRpb25zVmFsaWQgPyBhY3Rpb25zTGlzdHMgOiBbW11dKSBhcyBBY3Rpb25CbG9ja1tdW119O1xuXG4gICAgICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZW5naW5lRGVidWcpIHtcbiAgICAgICAgICAgIGV4ZWNJbmZvID0ge1xuICAgICAgICAgICAgICAuLi5leGVjSW5mbyxcbiAgICAgICAgICAgICAgLi4udGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1Zy5oYW5kbGVEZWJ1Z1J1bGVzZXRFeGVjdXRpb25JbmZvKFxuICAgICAgICAgICAgICAgIGN1cnJSZXMhLCBwcmV2UmVzLCBhbGxFeGVjdXRpb25zVmFsaWQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgKyt0aGlzLmV4ZWN1dGlvbkNvdW50ZXIsIHRoaXMucnVsZXNldClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBleGVjSW5mbztcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgob3V0cHV0KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3V0cHV0QWN0aW9ucyA9IChbXSBhcyBBY3Rpb25CbG9ja1tdKS5jb25jYXQoLi4ub3V0cHV0LmFjdGlvbnNMaXN0cyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1ZyAmJiBvdXRwdXQuYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmVuZ2luZURlYnVnLmFkZFJ1bGVzZXRFeGVjdXRpb25FdmVudCh0aGlzLnJ1bGVzZXQsIG91dHB1dC5leGVjdXRpb25Db3VudGVyISxcbiAgICAgICAgICAgICAgcnVsZXNldElucHV0RmFjdHMsIG91dHB1dEFjdGlvbnMsIHJ1bnRpbWVGYWN0VmFsdWVzLCBvdXRwdXQucnVsZXNldFRyaWdnZXJzISxcbiAgICAgICAgICAgICAgb3V0cHV0LnJ1bGVzZXRPdXRwdXRFeGVjdXRpb24hKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb3V0cHV0QWN0aW9ucztcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBwcmV2Lmxlbmd0aCA9PT0gMCAmJiBjdXJyLmxlbmd0aCA9PT0gMClcbiAgICAgICk7XG4gICAgfSksIHNoYXJlUmVwbGF5KHtidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZX0pKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5ydWxlc2V0LmlkLFxuICAgICAgdmFsaWRpdHlSYW5nZTogdGhpcy5ydWxlc2V0LnZhbGlkaXR5UmFuZ2UsXG4gICAgICBsaW5rZWRDb21wb25lbnQ6IHRoaXMucnVsZXNldC5saW5rZWRDb21wb25lbnQsXG4gICAgICBydWxlc1Jlc3VsdHNTdWJqZWN0JDogcmVzdWx0JFxuICAgIH0gYXMgRW5naW5lUnVsZXNldDtcbiAgfVxufVxuIl19
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvcnVsZXNldC1leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3JCLE1BQU0scUJBQXFCLENBQUM7QUFlN0IsTUFBTSxPQUFPLGVBQWU7SUFtQjFCOzs7O09BSUc7SUFDSCxZQUFZLE9BQWdCLEVBQUUsV0FBd0I7UUFQOUMscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBUTNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FBQyxhQUE2RCxFQUFFLGNBQTJCO1FBQ3RILElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxD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QyxzQkFBdUIsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUVELE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FDN0UsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxFQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ3pDLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDN0MsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0I7WUFDL0Msb0JBQW9CLEVBQUUsT0FBTztTQUNiLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJ1bGVzZXQgZXhlY3V0b3IgKi9cbmltcG9ydCB7IEpTT05QYXRoIH0gZnJvbSAnanNvbnBhdGgtcGx1cyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgcGFpcndpc2UsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1ZyB9IGZyb20gJy4vZGVidWcvaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lIH0gZnJvbSAnLi9lbmdpbmUnO1xuaW1wb3J0IHR5cGUgeyBGYWN0cyB9IGZyb20gJy4vZmFjdCc7XG5pbXBvcnQgeyBFbmdpbmVSdWxlc2V0LCBFdmFsdWF0aW9uUmVhc29uLCBSdWxlRXZhbHVhdGlvbiwgUnVsZUV2YWx1YXRpb25PdXRwdXQgfSBmcm9tICcuL2VuZ2luZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZXhlY3V0ZU9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvci9vcGVyYXRvci5oZWxwZXJzJztcbmltcG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvci9vcGVyYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgaXNBbGxDb25kaXRpb25zLFxuICBpc0NvbmRpdGlvblByb3BlcnRpZXMsXG4gIGlzTm90Q29uZGl0aW9uLFxuICBpc09wZXJhbmRGYWN0LFxuICBpc09wZXJhbmRMaXRlcmFsLFxuICBpc09wZXJhbmRSdW50aW1lRmFjdFxufSBmcm9tICcuL3J1bGUvcnVsZS5oZWxwZXJzJztcbmltcG9ydCB7XG4gIEFjdGlvbkJsb2NrLFxuICBBY3Rpb25TZXRUZW1wb3JhcnlGYWN0QmxvY2ssXG4gIEFsbEJsb2NrLFxuICBHZW5lcmljT3BlcmFuZCxcbiAgSWZFbHNlQmxvY2ssXG4gIE5lc3RlZENvbmRpdGlvbixcbiAgUnVsZSxcbiAgUnVsZXNldFxufSBmcm9tICcuL3N0cnVjdHVyZSc7XG5cbi8qKiBUeXBlIG9mIHRoZSByZXRyaWV2ZSBmYWN0IGZ1bmN0aW9uICovXG5leHBvcnQgdHlwZSBSZXRyaWV2ZUZhY3RGdW5jVHlwZSA9IDxUID0gdW5rbm93bj4gKGlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD47XG5cbmV4cG9ydCBjbGFzcyBSdWxlc2V0RXhlY3V0b3Ige1xuXG4gIC8qKiByZXRyaWV2ZUZhY3RGdW5jICovXG4gIHByb3RlY3RlZCByZWFkb25seSBydWxlc0VuZ2luZTogUnVsZXNFbmdpbmU7XG5cbiAgLyoqIE1hcCBvZiBhdmFpbGFibGUgb3BlcmF0b3JzICovXG4gIHByb3RlY3RlZCByZWFkb25seSBvcGVyYXRvcnM6IFJlY29yZDxzdHJpbmcsIE9wZXJhdG9yPHVua25vd24sIHVua25vd24+PjtcblxuICAvKiogRGVsYXkgYmVmb3JlIGZhY3Qgc3RyZWFtIGRlZmF1bHRpbmcgdmFsdWUgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZhY3REZWZhdWx0RGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqIFJ1bGVzZXQgYXNzb2NpYXRlZCB0byB0aGUgY3VycmVudCBleGVjdXRvciovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc2V0OiBSdWxlc2V0O1xuXG4gIC8qKiBSdWxlc2V0IHBsdWdnZWQgdG8gdGhlIGZhY3Qgc3RyZWFtLCB0aGF0IGNvbnRhaW5zIGFjdGlvbnMgc3RyZWFtIHJlc3VsdCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5naW5lUnVsZXNldDogRW5naW5lUnVsZXNldDtcblxuICBwcml2YXRlIGV4ZWN1dGlvbkNvdW50ZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgcnVsZXNldCBleGVjdXRvclxuICAgKiBAcGFyYW0gcnVsZXNldCBSdWxlc2V0IHRvIGV2YWx1YXRlXG4gICAqIEBwYXJhbSBydWxlc0VuZ2luZSBJbnN0YW5jZSBvZiB0aGUgcnVsZXMgZW5naW5lXG4gICAqL1xuICBjb25zdHJ1Y3RvcihydWxlc2V0OiBSdWxlc2V0LCBydWxlc0VuZ2luZTogUnVsZXNFbmdpbmUpIHtcbiAgICB0aGlzLnJ1bGVzZXQgPSBydWxlc2V0O1xuICAgIHRoaXMucnVsZXNFbmdpbmUgPSBydWxlc0VuZ2luZTtcbiAgICB0aGlzLm9wZXJhdG9ycyA9IHJ1bGVzRW5naW5lLm9wZXJhdG9ycztcbiAgICB0aGlzLmVuZ2luZVJ1bGVzZXQgPSB0aGlzLnBsdWdSdWxlc2V0KCk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgZXhwbG9yZXMgYSBydWxlIHRvIGlkZW50aWZ5IGFuZCBjb2xsZWN0IGlucHV0IGZhY3RzLlxuICAgKiBJbnB1dCBmYWN0cyBhcmUgaWRlbnRpZmllZCBiYXNlZCBvbiB0aGUgJ0ZBQ1QnIHR5cGUgYW5kIG9wZXJhdG9yLXNwZWNpZmljIGltcGxpY2l0IGRlcGVuZGVuY2llcy5cbiAgICogQHBhcmFtIGN1cnJlbnRPYmplY3QgVGhlIGN1cnJlbnQgb2JqZWN0IGJlaW5nIGV4cGxvcmVkLlxuICAgKiBAcGFyYW0gcnVsZUlucHV0RmFjdHMgQSBzZXQgdG8gc3RvcmUgdGhlIGlkZW50aWZpZWQgaW5wdXQgZmFjdHMgZm9yIHRoZSBydWxlLlxuICAgKi9cbiAgcHJpdmF0ZSBjb2xsZWN0UnVsZUlucHV0RmFjdHMoY3VycmVudE9iamVjdDogQWxsQmxvY2sgfCBOZXN0ZWRDb25kaXRpb24gfCBOZXN0ZWRDb25kaXRpb25bXSwgcnVsZUlucHV0RmFjdHM6IFNldDxzdHJpbmc+KSB7XG4gICAgaWYgKGN1cnJlbnRPYmplY3QgJiYgaXNPcGVyYW5kRmFjdChjdXJyZW50T2JqZWN0KSkge1xuICAgICAgcnVsZUlucHV0RmFjdHMuYWRkKGN1cnJlbnRPYmplY3QudmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50T2JqZWN0KSkge1xuICAgICAgY3VycmVudE9iamVjdC5mb3JFYWNoKChlbGVtKSA9PiB0aGlzLmNvbGxlY3RSdWxlSW5wdXRGYWN0cyhlbGVtLCBydWxlSW5wdXRGYWN0cykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBjdXJyZW50T2JqZWN0KSB7XG4gICAgICAgIGlmICgoa2V5ID09PSAnb3BlcmF0b3InKSAmJiBpc0NvbmRpdGlvblByb3BlcnRpZXMoY3VycmVudE9iamVjdCkpIHtcbiAgICAgICAgICBjb25zdCBvcCA9IHRoaXMub3BlcmF0b3JzW2N1cnJlbnRPYmplY3Rba2V5XV07XG4gICAgICAgICAgaWYgKG9wICYmIG9wLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcykge1xuICAgICAgICAgICAgb3AuZmFjdEltcGxpY2l0RGVwZW5kZW5jaWVzLmZvckVhY2goZGVwID0+IHJ1bGVJbnB1dEZhY3RzLmFkZChkZXApKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGN1cnJlbnRPYmplY3Rba2V5IGFzIGtleW9mIChBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbildID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuY29sbGVjdFJ1bGVJbnB1dEZhY3RzKGN1cnJlbnRPYmplY3Rba2V5IGFzIGtleW9mIChBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbildLCBydWxlSW5wdXRGYWN0cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVwb3J0IHBlcmZvcm1hbmNlIG1hcmsgZm9yIGEgcnVsZSBydW5cbiAgICogQHBhcmFtIHJ1bGUgUnVsZSB0byBtZWFzdXJlXG4gICAqIEBwYXJhbSBzdGF0dXMgc3RhdHVzIG9mIHRoZSBydWxlIGV2YWx1YXRpb25cbiAgICovXG4gIHByb3RlY3RlZCBwZXJmb3JtYW5jZU1hcmsocnVsZTogUnVsZSwgc3RhdHVzOiAnc3RhcnQnIHwgJ2VuZCcpIHtcbiAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5wZXJmb3JtYW5jZSkge1xuICAgICAgY29uc3QgbWFya05hbWUgPSBgcnVsZXMtZW5naW5lOiR7dGhpcy5ydWxlc0VuZ2luZS5ydWxlc0VuZ2luZUluc3RhbmNlTmFtZX06JHt0aGlzLnJ1bGVzZXQubmFtZX06JHtydWxlLm5hbWV9YDtcbiAgICAgIHRoaXMucnVsZXNFbmdpbmUucGVyZm9ybWFuY2UubWFyayhgJHttYXJrTmFtZX06JHtzdGF0dXN9YCk7XG4gICAgICBpZiAoc3RhdHVzID09PSAnZW5kJykge1xuICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLnBlcmZvcm1hbmNlLm1lYXN1cmUobWFya05hbWUsIGAke21hcmtOYW1lfTpzdGFydGAsIGAke21hcmtOYW1lfTplbmRgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IG9wZXJhbmQgdmFsdWUgc3RyZWFtIGFjY29yZGluZyB0byBpdHMgdHlwZVxuICAgKiBAcGFyYW0gb3BlcmFuZCBvcGVyYW5kIG9mIHRoZSBjb25kaXRpb25cbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0T3BlcmFuZFZhbHVlKG9wZXJhbmQ6IEdlbmVyaWNPcGVyYW5kIHwgdW5kZWZpbmVkLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pOiB1bmtub3duIHtcbiAgICBpZiAodHlwZW9mIG9wZXJhbmQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kRmFjdChvcGVyYW5kKSkge1xuICAgICAgY29uc3QgZmFjdFZhbHVlID0gZmFjdHNWYWx1ZVtvcGVyYW5kLnZhbHVlXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICByZXR1cm4gb3BlcmFuZC5wYXRoID8gZmFjdFZhbHVlICYmIEpTT05QYXRoKHt3cmFwOiBmYWxzZSwganNvbjogZmFjdFZhbHVlLCBwYXRoOiBvcGVyYW5kLnBhdGh9KSA6IGZhY3RWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzT3BlcmFuZExpdGVyYWwob3BlcmFuZCkpIHtcbiAgICAgIHJldHVybiBvcGVyYW5kLnZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kUnVudGltZUZhY3Qob3BlcmFuZCkpIHtcbiAgICAgIHJldHVybiBydW50aW1lRmFjdFZhbHVlc1tvcGVyYW5kLnZhbHVlXTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIGEgcm9vdCBydWxlIGZyb20gYSBydWxlc2V0LCBhbmQgcmV0dXJuIHRoZSBhc3NvY2lhdGVkIGFjdGlvbnMgdG8gYmUgcHJvY2Vzc2VkXG4gICAqIFdpbGwgYWxzbyB1cGRhdGUgdGhlIHJ1bnRpbWVGYWN0VmFsdWVzIG1hcCB0aGF0IGlzIHJ1bGVzZXQgd2lzZVxuICAgKiBOb3RlIHRoYXQgcnVudGltZUZhY3RWYWx1ZXMgd2lsbCBiZSBtdXRhdGVkIGJ5IGFsbCB0aGUgcnVudGltZSBmYWN0cyBhY3Rpb25zIGV4ZWN1dGVkXG4gICAqIEBwYXJhbSBydWxlXG4gICAqIEBwYXJhbSBmYWN0c1ZhbHVlXG4gICAqIEBwYXJhbSBydW50aW1lRmFjdFZhbHVlc1xuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZXZhbHVhdGVSdWxlKHJ1bGU6IFJ1bGUsIGZhY3RzVmFsdWU6IFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPiwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPikge1xuICAgIHJldHVybiB0aGlzLmV2YWx1YXRlQmxvY2socnVsZS5yb290RWxlbWVudCwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IHByb2Nlc3MgYSBibG9jayB0byBleHRyYWN0IGFsbCB0aGUgYWN0aW9ucyBrZWVwaW5nIHRoZSBvcmRlclxuICAgKiBOb3RlIHRoYXQgcnVudGltZUZhY3RWYWx1ZXMgd2lsbCBiZSBtdXRhdGVkIGJ5IGFsbCB0aGUgcnVudGltZSBmYWN0cyBhY3Rpb25zIGV4ZWN1dGVkXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwYXJhbSBhY3Rpb25zXG4gICAqIEBwYXJhbSBmYWN0c1ZhbHVlXG4gICAqIEBwYXJhbSBydW50aW1lRmFjdFZhbHVlcyBUaGlzIHJ1bnRpbWUgZmFjdCBtYXAgd2lsbCBiZSBtdXRhdGVkIGJ5IGFsbCB0aGUgcnVudGltZSBmYWN0cyBhY3Rpb25zIGV4ZWN1dGVkXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBldmFsdWF0ZUJsb2NrKGVsZW1lbnQ6IEFsbEJsb2NrLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sIGFjdGlvbnM6IEFjdGlvbkJsb2NrW10gPSBbXSkge1xuICAgIGlmICh0aGlzLmlzSWZFbHNlQmxvY2soZWxlbWVudCkpIHtcbiAgICAgICghZWxlbWVudC5jb25kaXRpb24gfHwgdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihlbGVtZW50LmNvbmRpdGlvbiwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpID8gZWxlbWVudC5zdWNjZXNzRWxlbWVudHMgOiBlbGVtZW50LmZhaWx1cmVFbGVtZW50cylcbiAgICAgICAgLmZvckVhY2goKGVsZW1lbnRSZXN1bHQpID0+IHRoaXMuZXZhbHVhdGVCbG9jayhlbGVtZW50UmVzdWx0LCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcywgYWN0aW9ucykpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0FjdGlvbkJsb2NrKGVsZW1lbnQpKSB7XG4gICAgICBpZiAodGhpcy5pc0FjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayhlbGVtZW50KSkge1xuICAgICAgICBydW50aW1lRmFjdFZhbHVlc1tlbGVtZW50LmZhY3RdID0gZWxlbWVudC52YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjdGlvbnMucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBlbGVtZW50IGlzIGEgSWZFbHNlIGJsb2NrXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0lmRWxzZUJsb2NrKGVsZW1lbnQ6IEFsbEJsb2NrKTogZWxlbWVudCBpcyBJZkVsc2VCbG9jayB7XG4gICAgcmV0dXJuIGVsZW1lbnQuYmxvY2tUeXBlID09PSAnSUZfRUxTRSc7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBlbGVtZW50IGlzIGFuIGFjdGlvbiBibG9ja1xuICAgKiBAcGFyYW0gZWxlbWVudFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNBY3Rpb25CbG9jayhlbGVtZW50OiBBbGxCbG9jayk6IGVsZW1lbnQgaXMgQWN0aW9uQmxvY2sge1xuICAgIHJldHVybiAnZWxlbWVudFR5cGUnIGluIGVsZW1lbnQgJiYgZWxlbWVudC5lbGVtZW50VHlwZSA9PT0gJ0FDVElPTic7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBhY3Rpb24gc2V0cyBhIHRlbXBvcmFyeSBmYWN0XG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0FjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayhlbGVtZW50OiBBY3Rpb25CbG9jayk6IGVsZW1lbnQgaXMgQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrIHtcbiAgICByZXR1cm4gJ2FjdGlvblR5cGUnIGluIGVsZW1lbnQgJiYgZWxlbWVudC5hY3Rpb25UeXBlID09PSAnU0VUX0ZBQ1QnO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIGEgY29uZGl0aW9uIGJsb2NrXG4gICAqIEBwYXJhbSBuZXN0ZWRDb25kaXRpb25cbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBldmFsdWF0ZUNvbmRpdGlvbihuZXN0ZWRDb25kaXRpb246IE5lc3RlZENvbmRpdGlvbiwgZmFjdHNWYWx1ZTogUmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+LCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+KTogYm9vbGVhbiB7XG4gICAgaWYgKGlzQ29uZGl0aW9uUHJvcGVydGllcyhuZXN0ZWRDb25kaXRpb24pKSB7XG4gICAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMub3BlcmF0b3JzW25lc3RlZENvbmRpdGlvbi5vcGVyYXRvcl07XG4gICAgICBpZiAob3BlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gb3BlcmF0b3IgOiAke25lc3RlZENvbmRpdGlvbi5vcGVyYXRvcn0sIHNraXBwaW5nIHRoZSBydWxlIGV4ZWN1dGlvbi4uLmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4ZWN1dGVPcGVyYXRvcih0aGlzLmdldE9wZXJhbmRWYWx1ZShuZXN0ZWRDb25kaXRpb24ubGhzLCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcyksXG4gICAgICAgIHRoaXMuZ2V0T3BlcmFuZFZhbHVlKCdyaHMnIGluIG5lc3RlZENvbmRpdGlvbiA/IG5lc3RlZENvbmRpdGlvbi5yaHMgOiB1bmRlZmluZWQsIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzKSwgb3BlcmF0b3IsIGZhY3RzVmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChpc05vdENvbmRpdGlvbihuZXN0ZWRDb25kaXRpb24pKSB7XG4gICAgICByZXR1cm4gIXRoaXMuZXZhbHVhdGVDb25kaXRpb24obmVzdGVkQ29uZGl0aW9uLm5vdCwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICAgIH1cbiAgICBpZiAobmVzdGVkQ29uZGl0aW9uLmFsbCB8fCBuZXN0ZWRDb25kaXRpb24uYW55KSB7XG4gICAgICBjb25zdCBldmFsdWF0ZSA9IChjb25kaXRpb246IE5lc3RlZENvbmRpdGlvbikgPT4gdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb24sIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzKTtcbiAgICAgIHJldHVybiBpc0FsbENvbmRpdGlvbnMobmVzdGVkQ29uZGl0aW9uKSA/IG5lc3RlZENvbmRpdGlvbi5hbGwuZXZlcnkoZXZhbHVhdGUpIDogbmVzdGVkQ29uZGl0aW9uLmFueS5zb21lKGV2YWx1YXRlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbmRpdGlvbiBibG9jayBtZXQgOiAke0pTT04uc3RyaW5naWZ5KG5lc3RlZENvbmRpdGlvbil9YCk7XG4gIH1cblxuICAvKipcbiAgICogUGx1ZyBydWxlc2V0IHRvIGZhY3Qgc3RyZWFtcyBhbmQgdHJpZ2dlciBhIGZpcnN0IGV2YWx1YXRpb25cbiAgICovXG4gIHByb3RlY3RlZCBwbHVnUnVsZXNldCgpIHtcbiAgICBjb25zdCBpbnB1dEZhY3RzRm9yUnVsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gICAgY29uc3QgZmluZFJ1bGVJbnB1dEZhY3RzID0gKG9iajogQWxsQmxvY2spOiBzdHJpbmdbXSA9PiB7XG4gICAgICBjb25zdCBydWxlSW5wdXRGYWN0cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgdGhpcy5jb2xsZWN0UnVsZUlucHV0RmFjdHMob2JqLCBydWxlSW5wdXRGYWN0cyk7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbShydWxlSW5wdXRGYWN0cyk7XG4gICAgfTtcbiAgICB0aGlzLnJ1bGVzZXQucnVsZXMuZm9yRWFjaCgocnVsZSkgPT4gaW5wdXRGYWN0c0ZvclJ1bGVbcnVsZS5pZF0gPSBmaW5kUnVsZUlucHV0RmFjdHMocnVsZS5yb290RWxlbWVudCkpO1xuICAgIGNvbnN0IGZhY3RzVGhhdFJlcnVuRXZlcnl0aGluZzogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnJ1bGVzZXQucnVsZXMuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgICAgaWYgKHJ1bGUub3V0cHV0UnVudGltZUZhY3RzLmxlbmd0aCA+IDAgfHwgcnVsZS5pbnB1dFJ1bnRpbWVGYWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZhY3RzVGhhdFJlcnVuRXZlcnl0aGluZy5wdXNoKC4uLmlucHV0RmFjdHNGb3JSdWxlW3J1bGUuaWRdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlckZ1bGwkOiBPYnNlcnZhYmxlPHVua25vd25bXT4gPSBmYWN0c1RoYXRSZXJ1bkV2ZXJ5dGhpbmcubGVuZ3RoID09PSAwID8gb2YoW10pIDpcbiAgICAgIGNvbWJpbmVMYXRlc3QoZmFjdHNUaGF0UmVydW5FdmVyeXRoaW5nLm1hcCgoZmFjdCkgPT4gdGhpcy5ydWxlc0VuZ2luZS5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShmYWN0KSkpO1xuICAgIGNvbnN0IHJlc3VsdCQgPSB0cmlnZ2VyRnVsbCQucGlwZShzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgY29uc3QgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPiA9IHt9O1xuXG4gICAgICBsZXQgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdO1xuICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZGVidWdNb2RlKSB7XG4gICAgICAgIHJ1bGVzZXRJbnB1dEZhY3RzID0gQXJyYXkuZnJvbSh0aGlzLnJ1bGVzZXQucnVsZXMucmVkdWNlKChhY2MsIHJ1bGUpID0+IHtcbiAgICAgICAgICBpbnB1dEZhY3RzRm9yUnVsZVtydWxlLmlkXS5mb3JFYWNoKChmYWN0TmFtZSkgPT4gYWNjLmFkZChmYWN0TmFtZSkpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIG5ldyBTZXQ8c3RyaW5nPigpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMucnVsZXNldC5ydWxlcy5tYXAoKHJ1bGUpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRGYWN0cyA9IGlucHV0RmFjdHNGb3JSdWxlW3J1bGUuaWRdO1xuICAgICAgICBjb25zdCB2YWx1ZXMkID0gaW5wdXRGYWN0cy5tYXAoKGZhY3QpID0+IHRoaXMucnVsZXNFbmdpbmUucmV0cmlldmVPckNyZWF0ZUZhY3RTdHJlYW0oZmFjdCkpO1xuICAgICAgICByZXR1cm4gKHZhbHVlcyQubGVuZ3RoID8gY29tYmluZUxhdGVzdCh2YWx1ZXMkKSA6IG9mKFtbXV0gYXMgKEZhY3RzIHwgdW5kZWZpbmVkKVtdKSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnBlcmZvcm1hbmNlTWFyayhydWxlLCAnc3RhcnQnKSksXG4gICAgICAgICAgICBtYXAoKFtvbGRGYWN0VmFsdWVzLCBmYWN0VmFsdWVzXSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBvdXRwdXQ6IFJ1bGVFdmFsdWF0aW9uT3V0cHV0ID0ge2FjdGlvbnM6IHVuZGVmaW5lZH07XG5cbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWN0aW9ucyA9IHRoaXMuZXZhbHVhdGVSdWxlKHJ1bGUsIGlucHV0RmFjdHMucmVkdWNlPFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPj4oKGFjYywgaWQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBhY2NbaWRdID0gZmFjdFZhbHVlcyFbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LCB7fSksIHJ1bnRpbWVGYWN0VmFsdWVzKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWN0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBvdXRwdXQuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0aGlzLnJ1bGVzRW5naW5lLmRlYnVnTW9kZSkge1xuICAgICAgICAgICAgICAgIG91dHB1dC5ldmFsdWF0aW9uID0gaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1Zyh7IC4uLnJ1bGUsIGlucHV0RmFjdHMgfSwgdGhpcy5ydWxlc2V0Lm5hbWUsIG91dHB1dC5hY3Rpb25zLCBvdXRwdXQuZXJyb3IsIHJ1bnRpbWVGYWN0VmFsdWVzLCBmYWN0VmFsdWVzLCBvbGRGYWN0VmFsdWVzKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChvdXRwdXQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmxvZ2dlcj8uZXJyb3Iob3V0cHV0LmVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmxvZ2dlcj8ud2FybihgU2tpcHBpbmcgcnVsZSAke3J1bGUubmFtZX0sIGFuZCB0aGUgYXNzb2NpYXRlZCBydWxlc2V0YCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMucGVyZm9ybWFuY2VNYXJrKHJ1bGUsICdlbmQnKSlcbiAgICAgICAgICApO1xuICAgICAgfSkpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICBtYXAoKFtwcmV2UmVzLCBjdXJyUmVzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFjdGlvbnNMaXN0cyA9IGN1cnJSZXMhLm1hcChyID0+IHIuYWN0aW9ucyk7XG4gICAgICAgICAgY29uc3QgYWxsRXhlY3V0aW9uc1ZhbGlkID0gYWN0aW9uc0xpc3RzLmV2ZXJ5KChhY3Rpb25zKSA9PiAhIWFjdGlvbnMpO1xuXG4gICAgICAgICAgbGV0IGV4ZWNJbmZvOiB7XG4gICAgICAgICAgICBleGVjdXRpb25Db3VudGVyPzogbnVtYmVyO1xuICAgICAgICAgICAgYWN0aW9uc0xpc3RzOiBBY3Rpb25CbG9ja1tdW107XG4gICAgICAgICAgICBydWxlc2V0T3V0cHV0RXhlY3V0aW9uPzogUnVsZUV2YWx1YXRpb25bXTtcbiAgICAgICAgICAgIGFsbEV4ZWN1dGlvbnNWYWxpZD86IGJvb2xlYW47XG4gICAgICAgICAgICBydWxlc2V0VHJpZ2dlcnM/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj47XG4gICAgICAgICAgfSA9IHthY3Rpb25zTGlzdHM6IChhbGxFeGVjdXRpb25zVmFsaWQgPyBhY3Rpb25zTGlzdHMgOiBbW11dKSBhcyBBY3Rpb25CbG9ja1tdW119O1xuXG4gICAgICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZW5naW5lRGVidWcpIHtcbiAgICAgICAgICAgIGV4ZWNJbmZvID0ge1xuICAgICAgICAgICAgICAuLi5leGVjSW5mbyxcbiAgICAgICAgICAgICAgLi4udGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1Zy5oYW5kbGVEZWJ1Z1J1bGVzZXRFeGVjdXRpb25JbmZvKFxuICAgICAgICAgICAgICAgIGN1cnJSZXMhLCBwcmV2UmVzLCBhbGxFeGVjdXRpb25zVmFsaWQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgKyt0aGlzLmV4ZWN1dGlvbkNvdW50ZXIsIHRoaXMucnVsZXNldClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBleGVjSW5mbztcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgob3V0cHV0KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3V0cHV0QWN0aW9ucyA9IChbXSBhcyBBY3Rpb25CbG9ja1tdKS5jb25jYXQoLi4ub3V0cHV0LmFjdGlvbnNMaXN0cyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1ZyAmJiBvdXRwdXQuYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmVuZ2luZURlYnVnLmFkZFJ1bGVzZXRFeGVjdXRpb25FdmVudCh0aGlzLnJ1bGVzZXQsIG91dHB1dC5leGVjdXRpb25Db3VudGVyISxcbiAgICAgICAgICAgICAgcnVsZXNldElucHV0RmFjdHMsIG91dHB1dEFjdGlvbnMsIHJ1bnRpbWVGYWN0VmFsdWVzLCBvdXRwdXQucnVsZXNldFRyaWdnZXJzISxcbiAgICAgICAgICAgICAgb3V0cHV0LnJ1bGVzZXRPdXRwdXRFeGVjdXRpb24hKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb3V0cHV0QWN0aW9ucztcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBwcmV2Lmxlbmd0aCA9PT0gMCAmJiBjdXJyLmxlbmd0aCA9PT0gMClcbiAgICAgICk7XG4gICAgfSksIHNoYXJlUmVwbGF5KHtidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZX0pKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5ydWxlc2V0LmlkLFxuICAgICAgdmFsaWRpdHlSYW5nZTogdGhpcy5ydWxlc2V0LnZhbGlkaXR5UmFuZ2UsXG4gICAgICBsaW5rZWRDb21wb25lbnQ6IHRoaXMucnVsZXNldC5saW5rZWRDb21wb25lbnQsXG4gICAgICBsaW5rZWRDb21wb25lbnRzOiB0aGlzLnJ1bGVzZXQubGlua2VkQ29tcG9uZW50cyxcbiAgICAgIHJ1bGVzUmVzdWx0c1N1YmplY3QkOiByZXN1bHQkXG4gICAgfSBhcyBFbmdpbmVSdWxlc2V0O1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9zdHJ1Y3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmVBY3Rpb24gfSBmcm9tICdAbzNyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBOYXRpdmVUeXBlcyA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG4vKiogR2VuZXJpYyBvcGVyYW5kICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmQ8VCBleHRlbmRzIHN0cmluZywgVSBleHRlbmRzIE5hdGl2ZVR5cGVzID0gTmF0aXZlVHlwZXM+IHtcbiAgLyoqIE9wZXJhbmQgdHlwZSAqL1xuICB0eXBlOiBUO1xuICAvKiogU3RhdGljIHZhbHVlICovXG4gIHZhbHVlOiBVO1xufVxuXG4vKiogT3BlcmFuZCBiYXNlZCBvbiBmYWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmRGYWN0IGV4dGVuZHMgT3BlcmFuZDwnRkFDVCcsIHN0cmluZz4ge1xuICAvKiogSlNPTlBhdGggdG8gZGVlcCByZWFkIHRoZSBmYWN0IHZhbHVlICovXG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKiBDb25kaXRpb24gYXZhaWxhYmxlIG9wZXJhbmQgdHlwZXMgKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNPcGVyYW5kID0gT3BlcmFuZEZhY3QgfCBPcGVyYW5kPCdSVU5USU1FX0ZBQ1QnLCBzdHJpbmc+IHwgT3BlcmFuZDwnTElURVJBTCc+O1xuXG4vKiogQ29uZGl0aW9uIG9iamVjdCBpbnRlcmZhY2Ugd2l0aCB1bmFyeSBvcGVyYXRvciAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmFyeU9wZXJhdGlvbiB7XG4gIC8qKiBMZWZ0IEhhbmQgU2lkZSAqL1xuICBsaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogT3BlcmF0b3IgKi9cbiAgb3BlcmF0b3I6IHN0cmluZztcbn1cblxuLyoqIENvbmRpdGlvbiBvYmplY3QgaW50ZXJmYWNlICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmFyeU9wZXJhdGlvbiB7XG4gIC8qKiBMZWZ0IEhhbmQgU2lkZSAqL1xuICBsaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogUmlnaHQgSGFuZCBTaWRlICovXG4gIHJoczogR2VuZXJpY09wZXJhbmQ7XG4gIC8qKiBPcGVyYXRvciAqL1xuICBvcGVyYXRvcjogc3RyaW5nO1xufVxuXG4vKiogTmVzdGVkIENvbmRpdGlvbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG5leHBvcnQgdHlwZSBOZXN0ZWRDb25kaXRpb24gPSBVbmFyeU9wZXJhdGlvbiB8IEJpbmFyeU9wZXJhdGlvbiB8IFRvcExldmVsQ29uZGl0aW9uO1xuLyoqIEFsbCBDb25kaXRpb24gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbmV4cG9ydCB0eXBlIEFsbENvbmRpdGlvbnMgPSB7YWxsOiBOZXN0ZWRDb25kaXRpb25bXTsgYW55PzogbmV2ZXI7IG5vdD86IG5ldmVyfTtcbi8qKiBBbnkgQ29uZGl0aW9uICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaWQtYmxhY2tsaXN0XG5leHBvcnQgdHlwZSBBbnlDb25kaXRpb25zID0ge2FueTogTmVzdGVkQ29uZGl0aW9uW107IGFsbD86IG5ldmVyOyBub3Q/OiBuZXZlcn07XG4vKiogTm90IENvbmRpdGlvbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuZXhwb3J0IHR5cGUgTm90Q29uZGl0aW9uID0ge25vdDogTmVzdGVkQ29uZGl0aW9uOyBhbGw/OiBuZXZlcjsgYW55PzogbmV2ZXJ9O1xuLyoqIFRvcCBsZXZlbCBDb25kaXRpb24gaW4gdGhlIHJ1bGUgZGVmaW5pdGlvbiAqL1xuZXhwb3J0IHR5cGUgVG9wTGV2ZWxDb25kaXRpb24gPSBBbGxDb25kaXRpb25zIHwgQW55Q29uZGl0aW9ucyB8IE5vdENvbmRpdGlvbiB8IFVuYXJ5T3BlcmF0aW9uIHwgQmluYXJ5T3BlcmF0aW9uO1xuXG4vKiogRXZlbnQgZW1pdHRlZCBpbiBjYXNlIHRoZSBydWxlIGNvbmRpdGlvbiBpcyBwYXNzZWQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUV2ZW50IHtcbiAgLyoqIFR5cGUgKG9yIG5hbWUpIG9mIHRoZSBldmVudCAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiBsaXN0IG9mIHBhcmFtZXRlciBhc3NvY2lhdGVkIHRvIHRoZSBldmVudCAqL1xuICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKiogQmFzZSBmb3IgdGhlIFJ1bGUgZGVmaW5pdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlIHtcbiAgLyoqIFVuaXF1ZSBpZCBhc3NvY2lhdGVkIHRvIGEgcnVsZSovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBSdW50aW1lIGZhY3RzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIHJ1bGUgZXhlY3V0aW9uIChzZW50IGJ5IHRoZSBDTVMpICovXG4gIGlucHV0UnVudGltZUZhY3RzOiBzdHJpbmdbXTtcbiAgLyoqIEBkZXByZWNhdGVkIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTIuIEZhY3RzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIHJ1bGUgZXhlY3V0aW9uIChzZW50IGJ5IHRoZSBDTVMpICovXG4gIGlucHV0RmFjdHM6IHN0cmluZ1tdO1xuICAvKiogUnVudGltZSBmYWN0cyB0aGF0IGFyZSBjcmVhdGVkL3VwZGF0ZWQgYnkgdGhlIHJ1bGUqL1xuICBvdXRwdXRSdW50aW1lRmFjdHM6IHN0cmluZ1tdO1xuICAvKiogTmFtZSBvZiB0aGUgcnVsZSovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIHJvb3RFbGVtZW50IG9mIHRoZSBydWxlLCB0aGF0IGNvbnRhaW5zIGVpdGhlciBhIGJsb2NrLCBlaXRoZXIgYW4gYWN0aW9uIGxpc3QgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHJvb3RFbGVtZW50OiBBbGxCbG9jaztcbn1cblxuLyoqXG4gKiBMaXN0IG9mIHBvc3NpYmxlIHR5cGVzIG9mIGFjdGlvbnMgcmVzdWx0ZWQgYXMgb3V0cHV0IG9mIGEgcnVsZSBleGVjdXRpb25cbiAqIEBkZXByZWNhdGVkIHRoZSBhY3Rpb25zIGFyZSBub3cgZGVwZW5kaW5nIG9mIGV4ZWN1dGluZyBtb2R1bGVzXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gJ1NFVF9GQUNUJyB8ICdVUERBVEVfQ09ORklHJyB8ICdVUERBVEVfQVNTRVQnIHwgJ1VQREFURV9MT0NBTElTQVRJT04nIHwgJ1VQREFURV9QTEFDRUhPTERFUic7XG5cbi8qKiBUeXBlcyBhc3NvY2lhdGVkIHRvIHRoZSBjb25kaXRpb24gYmxvY2tzIHRoYXQgYXJlIHN1cHBvcnRlZCAqL1xuZXhwb3J0IHR5cGUgQ29uZGl0aW9uQmxvY2tUeXBlcyA9ICdJRl9FTFNFJztcblxuLyoqIEludGVyZmFjZSBjb21tb24gdG8gYWxsIGVsZW1lbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVFbGVtZW50IHtcbiAgLyoqIFR5cGUgb2YgdGhlIGVsZW1lbnQqL1xuICBlbGVtZW50VHlwZTogc3RyaW5nO1xufVxuXG4vKiogSW50ZXJmYWNlIGNvbW1vbiB0byBhbGwgYWN0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CbG9jayBleHRlbmRzIFJ1bGVFbGVtZW50LCBSdWxlc0VuZ2luZUFjdGlvbiB7XG4gIGVsZW1lbnRUeXBlOiAnQUNUSU9OJztcbiAgYWN0aW9uVHlwZTogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xufVxuXG4vKiogSW50ZXJmYWNlIG9mIGFjdGlvbiB0aGF0IHNldHMgb3IgdXBkYXRlcyBhIHRlbXBvcmFyeSBmYWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayBleHRlbmRzIEFjdGlvbkJsb2NrIHtcbiAgYWN0aW9uVHlwZTogJ1NFVF9GQUNUJztcbiAgZmFjdDogc3RyaW5nO1xufVxuXG4vKiogSW50ZXJmYWNlIG9mIGJsb2NrIFJ1bGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUJsb2NrIGV4dGVuZHMgUnVsZUVsZW1lbnQge1xuICBlbGVtZW50VHlwZTogJ1JVTEVfQkxPQ0snO1xuICBibG9ja1R5cGU6IENvbmRpdGlvbkJsb2NrVHlwZXM7XG59XG5cbi8qKiBBbGwgc3VwcG9ydGVkIGJsb2NrcyAoc3VwcG9ydGluZyBuZXN0ZWQgc3RydWN0dXJlKSAqL1xuZXhwb3J0IHR5cGUgQWxsQmxvY2sgPVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIElmRWxzZUJsb2NrXG4gIHwgKEFjdGlvbkJsb2NrICYgUmVjb3JkPHN0cmluZywgYW55Pik7XG5cbi8qKiBCbG9jayByZXByZXNlbnRpbmcgYW4gJ2lmIGVsc2UnIGNvbmRpdGlvbi4gSWYgbm8gY29uZGl0aW9uIHNwZWNpZmllZCBpdCB3aWxsIGV4ZWN1dGUgc3VjY2VzcyBlbGVtZW50cyBvbmx5ICovXG5leHBvcnQgaW50ZXJmYWNlIElmRWxzZUJsb2NrIGV4dGVuZHMgUnVsZUJsb2NrIHtcbiAgYmxvY2tUeXBlOiAnSUZfRUxTRSc7XG4gIHN1Y2Nlc3NFbGVtZW50czogQWxsQmxvY2tbXTtcbiAgZmFpbHVyZUVsZW1lbnRzOiBBbGxCbG9ja1tdO1xuICBjb25kaXRpb24/OiBUb3BMZXZlbENvbmRpdGlvbjtcbn1cblxuLyoqIEludGVyZmFjZSBvZiBhIHJ1bGVzZXQgYXMgaXQncyBzcGVjaWZpZWQgaW4gdGhlIGpzb24gZmlsZSAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc2V0IHtcbiAgLyoqIFVuaXF1ZSBpZCBvZiB0aGUgcnVsZXNldCovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOYW1lIG9mIHRoZSBydWxlc2V0ICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJ1bGVzZXQgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBMaXN0IG9mIHJ1bGVzIGFzc29jaWF0ZWQgdG8gdGhlIHJ1bGVzZXQgKi9cbiAgcnVsZXM6IFJ1bGVbXTtcbiAgLyoqIE9wdGlvbmFsIGRhdGUgcmFuZ2Ugd2hlcmUgdGhlIHJ1bGVzZXQgd2lsbCBiZSBleGVjdXRlZCovXG4gIHZhbGlkaXR5UmFuZ2U/OiB7ZnJvbT86IHN0cmluZzsgdG8/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9zdHJ1Y3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmVBY3Rpb24gfSBmcm9tICdAbzNyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBOYXRpdmVUeXBlcyA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG4vKiogR2VuZXJpYyBvcGVyYW5kICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmQ8VCBleHRlbmRzIHN0cmluZywgVSBleHRlbmRzIE5hdGl2ZVR5cGVzID0gTmF0aXZlVHlwZXM+IHtcbiAgLyoqIE9wZXJhbmQgdHlwZSAqL1xuICB0eXBlOiBUO1xuICAvKiogU3RhdGljIHZhbHVlICovXG4gIHZhbHVlOiBVO1xufVxuXG4vKiogT3BlcmFuZCBiYXNlZCBvbiBmYWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmRGYWN0IGV4dGVuZHMgT3BlcmFuZDwnRkFDVCcsIHN0cmluZz4ge1xuICAvKiogSlNPTlBhdGggdG8gZGVlcCByZWFkIHRoZSBmYWN0IHZhbHVlICovXG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKiBDb25kaXRpb24gYXZhaWxhYmxlIG9wZXJhbmQgdHlwZXMgKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNPcGVyYW5kID0gT3BlcmFuZEZhY3QgfCBPcGVyYW5kPCdSVU5USU1FX0ZBQ1QnLCBzdHJpbmc+IHwgT3BlcmFuZDwnTElURVJBTCc+O1xuXG4vKiogQ29uZGl0aW9uIG9iamVjdCBpbnRlcmZhY2Ugd2l0aCB1bmFyeSBvcGVyYXRvciAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmFyeU9wZXJhdGlvbiB7XG4gIC8qKiBMZWZ0IEhhbmQgU2lkZSAqL1xuICBsaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogT3BlcmF0b3IgKi9cbiAgb3BlcmF0b3I6IHN0cmluZztcbn1cblxuLyoqIENvbmRpdGlvbiBvYmplY3QgaW50ZXJmYWNlICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmFyeU9wZXJhdGlvbiB7XG4gIC8qKiBMZWZ0IEhhbmQgU2lkZSAqL1xuICBsaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogUmlnaHQgSGFuZCBTaWRlICovXG4gIHJoczogR2VuZXJpY09wZXJhbmQ7XG4gIC8qKiBPcGVyYXRvciAqL1xuICBvcGVyYXRvcjogc3RyaW5nO1xufVxuXG4vKiogTmVzdGVkIENvbmRpdGlvbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG5leHBvcnQgdHlwZSBOZXN0ZWRDb25kaXRpb24gPSBVbmFyeU9wZXJhdGlvbiB8IEJpbmFyeU9wZXJhdGlvbiB8IFRvcExldmVsQ29uZGl0aW9uO1xuLyoqIEFsbCBDb25kaXRpb24gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbmV4cG9ydCB0eXBlIEFsbENvbmRpdGlvbnMgPSB7YWxsOiBOZXN0ZWRDb25kaXRpb25bXTsgYW55PzogbmV2ZXI7IG5vdD86IG5ldmVyfTtcbi8qKiBBbnkgQ29uZGl0aW9uICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaWQtYmxhY2tsaXN0XG5leHBvcnQgdHlwZSBBbnlDb25kaXRpb25zID0ge2FueTogTmVzdGVkQ29uZGl0aW9uW107IGFsbD86IG5ldmVyOyBub3Q/OiBuZXZlcn07XG4vKiogTm90IENvbmRpdGlvbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuZXhwb3J0IHR5cGUgTm90Q29uZGl0aW9uID0ge25vdDogTmVzdGVkQ29uZGl0aW9uOyBhbGw/OiBuZXZlcjsgYW55PzogbmV2ZXJ9O1xuLyoqIFRvcCBsZXZlbCBDb25kaXRpb24gaW4gdGhlIHJ1bGUgZGVmaW5pdGlvbiAqL1xuZXhwb3J0IHR5cGUgVG9wTGV2ZWxDb25kaXRpb24gPSBBbGxDb25kaXRpb25zIHwgQW55Q29uZGl0aW9ucyB8IE5vdENvbmRpdGlvbiB8IFVuYXJ5T3BlcmF0aW9uIHwgQmluYXJ5T3BlcmF0aW9uO1xuXG4vKiogRXZlbnQgZW1pdHRlZCBpbiBjYXNlIHRoZSBydWxlIGNvbmRpdGlvbiBpcyBwYXNzZWQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUV2ZW50IHtcbiAgLyoqIFR5cGUgKG9yIG5hbWUpIG9mIHRoZSBldmVudCAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiBsaXN0IG9mIHBhcmFtZXRlciBhc3NvY2lhdGVkIHRvIHRoZSBldmVudCAqL1xuICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKiogQmFzZSBmb3IgdGhlIFJ1bGUgZGVmaW5pdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlIHtcbiAgLyoqIFVuaXF1ZSBpZCBhc3NvY2lhdGVkIHRvIGEgcnVsZSovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBSdW50aW1lIGZhY3RzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIHJ1bGUgZXhlY3V0aW9uIChzZW50IGJ5IHRoZSBDTVMpICovXG4gIGlucHV0UnVudGltZUZhY3RzOiBzdHJpbmdbXTtcbiAgLyoqIEBkZXByZWNhdGVkIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTIuIEZhY3RzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIHJ1bGUgZXhlY3V0aW9uIChzZW50IGJ5IHRoZSBDTVMpICovXG4gIGlucHV0RmFjdHM6IHN0cmluZ1tdO1xuICAvKiogUnVudGltZSBmYWN0cyB0aGF0IGFyZSBjcmVhdGVkL3VwZGF0ZWQgYnkgdGhlIHJ1bGUqL1xuICBvdXRwdXRSdW50aW1lRmFjdHM6IHN0cmluZ1tdO1xuICAvKiogTmFtZSBvZiB0aGUgcnVsZSovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIHJvb3RFbGVtZW50IG9mIHRoZSBydWxlLCB0aGF0IGNvbnRhaW5zIGVpdGhlciBhIGJsb2NrLCBlaXRoZXIgYW4gYWN0aW9uIGxpc3QgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHJvb3RFbGVtZW50OiBBbGxCbG9jaztcbn1cblxuLyoqXG4gKiBMaXN0IG9mIHBvc3NpYmxlIHR5cGVzIG9mIGFjdGlvbnMgcmVzdWx0ZWQgYXMgb3V0cHV0IG9mIGEgcnVsZSBleGVjdXRpb25cbiAqIEBkZXByZWNhdGVkIHRoZSBhY3Rpb25zIGFyZSBub3cgZGVwZW5kaW5nIG9mIGV4ZWN1dGluZyBtb2R1bGVzXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gJ1NFVF9GQUNUJyB8ICdVUERBVEVfQ09ORklHJyB8ICdVUERBVEVfQVNTRVQnIHwgJ1VQREFURV9MT0NBTElTQVRJT04nIHwgJ1VQREFURV9QTEFDRUhPTERFUic7XG5cbi8qKiBUeXBlcyBhc3NvY2lhdGVkIHRvIHRoZSBjb25kaXRpb24gYmxvY2tzIHRoYXQgYXJlIHN1cHBvcnRlZCAqL1xuZXhwb3J0IHR5cGUgQ29uZGl0aW9uQmxvY2tUeXBlcyA9ICdJRl9FTFNFJztcblxuLyoqIEludGVyZmFjZSBjb21tb24gdG8gYWxsIGVsZW1lbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVFbGVtZW50IHtcbiAgLyoqIFR5cGUgb2YgdGhlIGVsZW1lbnQqL1xuICBlbGVtZW50VHlwZTogc3RyaW5nO1xufVxuXG4vKiogSW50ZXJmYWNlIGNvbW1vbiB0byBhbGwgYWN0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CbG9jayBleHRlbmRzIFJ1bGVFbGVtZW50LCBSdWxlc0VuZ2luZUFjdGlvbiB7XG4gIGVsZW1lbnRUeXBlOiAnQUNUSU9OJztcbiAgYWN0aW9uVHlwZTogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xufVxuXG4vKiogSW50ZXJmYWNlIG9mIGFjdGlvbiB0aGF0IHNldHMgb3IgdXBkYXRlcyBhIHRlbXBvcmFyeSBmYWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayBleHRlbmRzIEFjdGlvbkJsb2NrIHtcbiAgYWN0aW9uVHlwZTogJ1NFVF9GQUNUJztcbiAgZmFjdDogc3RyaW5nO1xufVxuXG4vKiogSW50ZXJmYWNlIG9mIGJsb2NrIFJ1bGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUJsb2NrIGV4dGVuZHMgUnVsZUVsZW1lbnQge1xuICBlbGVtZW50VHlwZTogJ1JVTEVfQkxPQ0snO1xuICBibG9ja1R5cGU6IENvbmRpdGlvbkJsb2NrVHlwZXM7XG59XG5cbi8qKiBBbGwgc3VwcG9ydGVkIGJsb2NrcyAoc3VwcG9ydGluZyBuZXN0ZWQgc3RydWN0dXJlKSAqL1xuZXhwb3J0IHR5cGUgQWxsQmxvY2sgPVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIElmRWxzZUJsb2NrXG4gIHwgKEFjdGlvbkJsb2NrICYgUmVjb3JkPHN0cmluZywgYW55Pik7XG5cbi8qKiBCbG9jayByZXByZXNlbnRpbmcgYW4gJ2lmIGVsc2UnIGNvbmRpdGlvbi4gSWYgbm8gY29uZGl0aW9uIHNwZWNpZmllZCBpdCB3aWxsIGV4ZWN1dGUgc3VjY2VzcyBlbGVtZW50cyBvbmx5ICovXG5leHBvcnQgaW50ZXJmYWNlIElmRWxzZUJsb2NrIGV4dGVuZHMgUnVsZUJsb2NrIHtcbiAgYmxvY2tUeXBlOiAnSUZfRUxTRSc7XG4gIHN1Y2Nlc3NFbGVtZW50czogQWxsQmxvY2tbXTtcbiAgZmFpbHVyZUVsZW1lbnRzOiBBbGxCbG9ja1tdO1xuICBjb25kaXRpb24/OiBUb3BMZXZlbENvbmRpdGlvbjtcbn1cblxuLyoqIEludGVyZmFjZSBvZiBhIHJ1bGVzZXQgYXMgaXQncyBzcGVjaWZpZWQgaW4gdGhlIGpzb24gZmlsZSAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc2V0IHtcbiAgLyoqIFVuaXF1ZSBpZCBvZiB0aGUgcnVsZXNldCovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOYW1lIG9mIHRoZSBydWxlc2V0ICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJ1bGVzZXQgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBMaXN0IG9mIHJ1bGVzIGFzc29jaWF0ZWQgdG8gdGhlIHJ1bGVzZXQgKi9cbiAgcnVsZXM6IFJ1bGVbXTtcbiAgLyoqIE9wdGlvbmFsIGRhdGUgcmFuZ2Ugd2hlcmUgdGhlIHJ1bGVzZXQgd2lsbCBiZSBleGVjdXRlZCovXG4gIHZhbGlkaXR5UmFuZ2U/OiB7ZnJvbT86IHN0cmluZzsgdG8/OiBzdHJpbmd9O1xuICAvKipcbiAgICogQ29tcG9uZW50cyBsaW5rZWQgdG8gdGhlIHJ1bGVzZXQuIElmIHByZXNlbnQgdGhlIHJ1bGVzZXQgd2lsbCBub3QgYmUgYWN0aXZlIGJ5IGRlZmF1bHQuXG4gICAqICdvcicgY29uZGl0aW9uOiBJZiBhdCBsZWFzdCBvbmUgY29tcG9uZW50IGhhcyBzdWJzY3JpYmVkLCB0aGUgcnVsZXNldCB3aWxsIGJlY29tZSBhY3RpdmUuXG4gICAqIElmIHByb3ZpZGVkLCB0aGUge0BsaW5rIGxpbmtlZENvbXBvbmVudH0gcHJvcGVydHkgd2lsbCBub3QgYmUgdGFrZW4gaW50byBjb25zaWRlcmF0aW9uXG4gICAqL1xuICBsaW5rZWRDb21wb25lbnRzPzoge29yOiB7bGlicmFyeTogc3RyaW5nOyBuYW1lOiBzdHJpbmd9W119O1xuICAvKipcbiAgICogQ29tcG9uZW50IGxpbmtlZCB0byB0aGUgcnVsZXNldCwgaWYgc2V0IGl0IHdpbGwgZGlzYWJsZSB0aGUgcnVsZXNldCBleGVjdXRpb24gcGVyIGRlZmF1bHQsIHdhaXRpbmcgdG8gYSBzdWJzY3JpcHRpb25cbiAgICogQGRlcHJlY2F0ZWQgSXQgd2lsbCBiZSByZW1vdmVkIGluIHYxMiwgdXNlIHtAbGluayBsaW5rZWRDb21wb25lbnRzfSBpbnN0ZWFkXG4gICAqL1xuICBsaW5rZWRDb21wb25lbnQ/OiB7bGlicmFyeTogc3RyaW5nOyBuYW1lOiBzdHJpbmd9O1xufVxuIl19
|
|
@@ -3,7 +3,7 @@ import { select, Store } from '@ngrx/store';
|
|
|
3
3
|
import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
|
|
4
4
|
import { filter, map, shareReplay, switchMap } from 'rxjs/operators';
|
|
5
5
|
import { EngineDebugger, operatorList, RulesEngine } from '../../engine/index';
|
|
6
|
-
import { selectActiveRuleSets, selectAllRulesets,
|
|
6
|
+
import { selectActiveRuleSets, selectAllRulesets, selectComponentsLinkedToRuleset } from '../../stores';
|
|
7
7
|
import { RULES_ENGINE_OPTIONS } from '../rules-engine.token';
|
|
8
8
|
import { LoggerService } from '@o3r/logger';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
@@ -25,12 +25,7 @@ export class RulesEngineRunnerService {
|
|
|
25
25
|
});
|
|
26
26
|
this.ruleSets$ = combineLatest([
|
|
27
27
|
this.store.pipe(select(selectActiveRuleSets)),
|
|
28
|
-
this.linkedComponents$.pipe(switchMap((linkedComponentsNamesMap) => this.store.pipe(select(
|
|
29
|
-
.filter((linkedComponentsName) => linkedComponentsNamesMap[linkedComponentsName] > 0)
|
|
30
|
-
.reduce((acc, compName) => {
|
|
31
|
-
acc.push(...(linkComponentMap[compName] || []));
|
|
32
|
-
return acc;
|
|
33
|
-
}, [])))))
|
|
28
|
+
this.linkedComponents$.pipe(switchMap((linkedComponentsNamesMap) => this.store.pipe(select(selectComponentsLinkedToRuleset), map((rulesetsWithLinkedComponentsMap) => Object.keys(rulesetsWithLinkedComponentsMap.or).filter((rulesetId) => rulesetsWithLinkedComponentsMap.or[rulesetId].some((componentId) => linkedComponentsNamesMap[componentId] > 0))))))
|
|
34
29
|
]).pipe(map(([activeRulesets, linkedComponentsRulesetsIds]) => ([...activeRulesets, ...linkedComponentsRulesetsIds])));
|
|
35
30
|
this.events$ = this.ruleSets$.pipe(this.engine.getEventStream(), shareReplay(1));
|
|
36
31
|
this.upsertOperators(operatorList);
|
|
@@ -116,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
116
111
|
type: Inject,
|
|
117
112
|
args: [RULES_ENGINE_OPTIONS]
|
|
118
113
|
}] }] });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bm5lci9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEIsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DLFlBQ21CLEtBQTJCLEVBQzNCLE1BQXFCLEVBQ0ksWUFBd0M7UUFGakUsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXRCOUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzVDLHNEQUFzRDtRQUM1QyxzQkFBaUIsR0FBK0MsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFXbEcsOEJBQThCO1FBQ2QsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FB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QXpCL0Isd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkEwQk4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3NlbGVjdCwgU3RvcmV9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHR5cGUge0FjdGlvbkJsb2NrLCBGYWN0LCBPcGVyYXRvciwgUnVsZXNldCwgVW5hcnlPcGVyYXRvcn0gZnJvbSAnLi4vLi4vZW5naW5lL2luZGV4JztcbmltcG9ydCB7RW5naW5lRGVidWdnZXIsIG9wZXJhdG9yTGlzdCwgUnVsZXNFbmdpbmV9IGZyb20gJy4uLy4uL2VuZ2luZS9pbmRleCc7XG5pbXBvcnQgdHlwZSB7UnVsZXNldHNTdG9yZX0gZnJvbSAnLi4vLi4vc3RvcmVzJztcbmltcG9ydCB7c2VsZWN0QWN0aXZlUnVsZVNldHMsIHNlbGVjdEFsbFJ1bGVzZXRzLCBzZWxlY3RSdWxlU2V0TGlua0NvbXBvbmVudHN9IGZyb20gJy4uLy4uL3N0b3Jlcyc7XG5pbXBvcnQge1JVTEVTX0VOR0lORV9PUFRJT05TLCBSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zfSBmcm9tICcuLi9ydWxlcy1lbmdpbmUudG9rZW4nO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciB9IGZyb20gJ0BvM3IvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgLyoqIFJ1bGVzZXRzIHRvIHJlc3RyaWN0IHRoZSBleGVjdXRpb24gb2YgdGhlIGVuZ2luZSAqL1xuICBwcm90ZWN0ZWQgcnVsZVNldHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiBjb21wb25lbnQgbGlua2VkIHRvIHRoZSBjb21wb25lbnQgKi9cbiAgcHJvdGVjdGVkIGxpbmtlZENvbXBvbmVudHMkOiBCZWhhdmlvclN1YmplY3Q8eyBba2V5OiBzdHJpbmddOiBudW1iZXIgfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcblxuICAvKiogTWFwIG9mIGVuZ2luZXMgZGVkaWNhdGVkIHRvIGVhY2ggcnVsZSBzZXRzICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmU6IFJ1bGVzRW5naW5lO1xuXG4gIC8qKiBzdHJlYW0gb2YgdGhlIHdob2xlIHJ1bGVzZXQgcmVzdWx0cyAqL1xuICBwdWJsaWMgZXZlbnRzJDogT2JzZXJ2YWJsZTxBY3Rpb25CbG9ja1tdPjtcblxuICAvKiogRW5hYmxlIGFjdGlvbiBleGVjdXRpb24gb24gbmV3IHN0YXRlIGNoYW5nZSAqL1xuICBwdWJsaWMgZW5hYmxlZDogYm9vbGVhbjtcblxuICAvKiogTGlzdCBvZiBhY3Rpb24gaGFuZGxlcnMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbkhhbmRsZXJzID0gbmV3IFNldDxSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8UnVsZXNldHNTdG9yZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSVUxFU19FTkdJTkVfT1BUSU9OUykgZW5naW5lQ29uZmlnPzogUnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucykge1xuICAgIHRoaXMuZW5hYmxlZCA9ICFlbmdpbmVDb25maWc/LmRyeVJ1bjtcbiAgICB0aGlzLmVuZ2luZSA9IG5ldyBSdWxlc0VuZ2luZSh7XG4gICAgICBkZWJ1Z2dlcjogZW5naW5lQ29uZmlnPy5kZWJ1ZyA/IG5ldyBFbmdpbmVEZWJ1Z2dlcih7ZXZlbnRzU3RhY2tMaW1pdDogZW5naW5lQ29uZmlnPy5kZWJ1Z0V2ZW50c1N0YWNrTGltaXR9KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxvZ2dlcjogdGhpcy5sb2dnZXJcbiAgICB9KTtcbiAgICB0aGlzLnJ1bGVTZXRzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RBY3RpdmVSdWxlU2V0cykpLFxuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGxpbmtlZENvbXBvbmVudHNOYW1lc01hcCkgPT4gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RSdWxlU2V0TGlua0NvbXBvbmVudHMpLFxuICAgICAgICAgIG1hcCgobGlua0NvbXBvbmVudE1hcCkgPT4gT2JqZWN0LmtleXMobGlua2VkQ29tcG9uZW50c05hbWVzTWFwKVxuICAgICAgICAgICAgLmZpbHRlcigobGlua2VkQ29tcG9uZW50c05hbWUpID0+IGxpbmtlZENvbXBvbmVudHNOYW1lc01hcFtsaW5rZWRDb21wb25lbnRzTmFtZV0gPiAwKVxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjb21wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICBhY2MucHVzaCguLi4obGlua0NvbXBvbmVudE1hcFtjb21wTmFtZV0gfHwgW10pKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sIFtdIGFzIHN0cmluZ1tdKSlcbiAgICAgICAgKSlcbiAgICAgIClcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbYWN0aXZlUnVsZXNldHMsIGxpbmtlZENvbXBvbmVudHNSdWxlc2V0c0lkc10pID0+IChbLi4uYWN0aXZlUnVsZXNldHMsIC4uLmxpbmtlZENvbXBvbmVudHNSdWxlc2V0c0lkc10pKVxuICAgICk7XG5cbiAgICB0aGlzLmV2ZW50cyQgPSB0aGlzLnJ1bGVTZXRzJC5waXBlKFxuICAgICAgdGhpcy5lbmdpbmUuZ2V0RXZlbnRTdHJlYW08QWN0aW9uQmxvY2s+KCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICB0aGlzLnVwc2VydE9wZXJhdG9ycyhvcGVyYXRvckxpc3QpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3Qoc2VsZWN0QWxsUnVsZXNldHMpXG4gICAgICApLnN1YnNjcmliZSgocnVsZXNldHM6IFJ1bGVzZXRbXSkgPT4gdGhpcy5lbmdpbmUudXBzZXJ0UnVsZXNldHMocnVsZXNldHMpKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmV2ZW50cyQucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5lbmFibGVkKSkuc3Vic2NyaWJlKGFzeW5jIChldmVudHMpID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1N0YXJ0IFJ1bGVzIEVuZ2luZSBhY3Rpb24gZXhlY3V0ZWQnKTtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjdXRlQWN0aW9ucyhldmVudHMpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQWxsIFJ1bGVzIEVuZ2luZSBhY3Rpb25zIGV4ZWN1dGVkJyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgbGlzdCBvZiBhY3Rpb25zXG4gICAqIEBwYXJhbSBhY3Rpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZUFjdGlvbnMoYWN0aW9uczogQWN0aW9uQmxvY2tbXSkge1xuICAgIGNvbnN0IGFjdGlvbkhhbmRsZXJzID0gWy4uLnRoaXMuYWN0aW9uSGFuZGxlcnNdO1xuXG4gICAgY29uc3Qgc3VwcG9ydGVkQWN0aW9ucyA9IG5ldyBTZXQoYWN0aW9uSGFuZGxlcnMubWFwKChoYW5kbGVyKSA9PiBoYW5kbGVyLnN1cHBvcnRpbmdBY3Rpb25zKS5mbGF0KCkpO1xuXG4gICAgY29uc3QgYWN0aW9uTWFwcyA9IGFjdGlvbnNcbiAgICAgIC5maWx0ZXIoKGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBpc0tub3duID0gc3VwcG9ydGVkQWN0aW9ucy5oYXMoYWN0aW9uLmFjdGlvblR5cGUpO1xuICAgICAgICBpZiAoIWlzS25vd24pIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBUaGUgYWN0aW9uICR7YWN0aW9uLmFjdGlvblR5cGV9IGRvZXMgbm90IGhhdmUgcmVnaXN0ZXJlZCBoYW5kbGVyYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzS25vd247XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+IHtcbiAgICAgICAgYWNjW2FjdGlvbi5hY3Rpb25UeXBlXSB8fD0gW107XG4gICAgICAgIGFjY1thY3Rpb24uYWN0aW9uVHlwZV0ucHVzaChhY3Rpb24pO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgQWN0aW9uQmxvY2tbXT4pO1xuXG4gICAgY29uc3QgaGFuZGxpbmcgPSBhY3Rpb25IYW5kbGVyc1xuICAgICAgLm1hcCgoaGFuZGxlcikgPT5cbiAgICAgICAgaGFuZGxlci5leGVjdXRlQWN0aW9ucyhcbiAgICAgICAgICBoYW5kbGVyLnN1cHBvcnRpbmdBY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKChzdXBwb3J0ZWRBY3Rpb24pID0+IGFjdGlvbk1hcHNbc3VwcG9ydGVkQWN0aW9uXSlcbiAgICAgICAgICAgIC5yZWR1Y2U8QWN0aW9uQmxvY2tbXT4oKGFjYywgc3VwcG9ydGVkQWN0aW9uKSA9PiBhY2MuY29uY2F0KGFjdGlvbk1hcHNbc3VwcG9ydGVkQWN0aW9uXSksIFtdKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoaGFuZGxpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgZmFjdCBpbiBydWxlcyBlbmdpbmVcbiAgICogQHBhcmFtIGZhY3RzIGZhY3QgbGlzdCB0byBhZGQgLyB1cGRhdGVcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRGYWN0cyhmYWN0czogRmFjdDx1bmtub3duPiB8IEZhY3Q8dW5rbm93bj5bXSkge1xuICAgIHRoaXMuZW5naW5lLnVwc2VydEZhY3RzKGZhY3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IG9wZXJhdG9yIGluIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gb3BlcmF0b3JzIG9wZXJhdG9yIGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0T3BlcmF0b3JzKG9wZXJhdG9yczogKE9wZXJhdG9yPGFueSwgYW55PiB8IFVuYXJ5T3BlcmF0b3I8YW55PilbXSkge1xuICAgIHRoaXMuZW5naW5lLnVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSB0ZW1wb3JhcnkgYSBydWxlIHNldFxuICAgKiBAcGFyYW0gY29tcG9uZW50Q29tcHV0ZWROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBlbmFibGUgdGhlIHJ1bGVzZXQgZm9yXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlUnVsZVNldEZvcihjb21wb25lbnRDb21wdXRlZE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld01hcCA9IHRoaXMubGlua2VkQ29tcG9uZW50cyQudmFsdWU7XG4gICAgbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPSBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXSA/IG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdICsgMSA6IDE7XG4gICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5uZXh0KG5ld01hcCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSB0ZW1wb3JhcnkgYSBydWxlIHNldFxuICAgKiBAcGFyYW0gY29tcG9uZW50Q29tcHV0ZWROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBkaXNhYmxlIHRoZSBydWxlc2V0IGZvclxuICAgKi9cbiAgcHVibGljIGRpc2FibGVSdWxlU2V0Rm9yKGNvbXBvbmVudENvbXB1dGVkTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV3TWFwID0gdGhpcy5saW5rZWRDb21wb25lbnRzJC52YWx1ZTtcbiAgICBpZiAobmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPiAwKSB7XG4gICAgICBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXS0tO1xuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5uZXh0KG5ld01hcCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bm5lci9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLCtCQUErQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEIsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DLFlBQ21CLEtBQTJCLEVBQzNCLE1BQXFCLEVBQ0ksWUFBd0M7UUFGakUsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXRCOUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzVDLHNEQUFzRDtRQUM1QyxzQkFBaUIsR0FBK0MsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFXbEcsOEJBQThCO1FBQ2QsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FB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OlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtzZWxlY3QsIFN0b3JlfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB0eXBlIHtBY3Rpb25CbG9jaywgRmFjdCwgT3BlcmF0b3IsIFJ1bGVzZXQsIFVuYXJ5T3BlcmF0b3J9IGZyb20gJy4uLy4uL2VuZ2luZS9pbmRleCc7XG5pbXBvcnQge0VuZ2luZURlYnVnZ2VyLCBvcGVyYXRvckxpc3QsIFJ1bGVzRW5naW5lfSBmcm9tICcuLi8uLi9lbmdpbmUvaW5kZXgnO1xuaW1wb3J0IHR5cGUge1J1bGVzZXRzU3RvcmV9IGZyb20gJy4uLy4uL3N0b3Jlcyc7XG5pbXBvcnQge3NlbGVjdEFjdGl2ZVJ1bGVTZXRzLCBzZWxlY3RBbGxSdWxlc2V0cywgc2VsZWN0Q29tcG9uZW50c0xpbmtlZFRvUnVsZXNldH0gZnJvbSAnLi4vLi4vc3RvcmVzJztcbmltcG9ydCB7UlVMRVNfRU5HSU5FX09QVElPTlMsIFJ1bGVzRW5naW5lU2VydmljZU9wdGlvbnN9IGZyb20gJy4uL3J1bGVzLWVuZ2luZS50b2tlbic7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB0eXBlIHtSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXJ9IGZyb20gJ0BvM3IvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgLyoqIFJ1bGVzZXRzIHRvIHJlc3RyaWN0IHRoZSBleGVjdXRpb24gb2YgdGhlIGVuZ2luZSAqL1xuICBwcm90ZWN0ZWQgcnVsZVNldHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiBjb21wb25lbnQgbGlua2VkIHRvIHRoZSBjb21wb25lbnQgKi9cbiAgcHJvdGVjdGVkIGxpbmtlZENvbXBvbmVudHMkOiBCZWhhdmlvclN1YmplY3Q8eyBba2V5OiBzdHJpbmddOiBudW1iZXIgfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcblxuICAvKiogTWFwIG9mIGVuZ2luZXMgZGVkaWNhdGVkIHRvIGVhY2ggcnVsZSBzZXRzICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmU6IFJ1bGVzRW5naW5lO1xuXG4gIC8qKiBzdHJlYW0gb2YgdGhlIHdob2xlIHJ1bGVzZXQgcmVzdWx0cyAqL1xuICBwdWJsaWMgZXZlbnRzJDogT2JzZXJ2YWJsZTxBY3Rpb25CbG9ja1tdPjtcblxuICAvKiogRW5hYmxlIGFjdGlvbiBleGVjdXRpb24gb24gbmV3IHN0YXRlIGNoYW5nZSAqL1xuICBwdWJsaWMgZW5hYmxlZDogYm9vbGVhbjtcblxuICAvKiogTGlzdCBvZiBhY3Rpb24gaGFuZGxlcnMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbkhhbmRsZXJzID0gbmV3IFNldDxSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8UnVsZXNldHNTdG9yZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSVUxFU19FTkdJTkVfT1BUSU9OUykgZW5naW5lQ29uZmlnPzogUnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucykge1xuICAgIHRoaXMuZW5hYmxlZCA9ICFlbmdpbmVDb25maWc/LmRyeVJ1bjtcbiAgICB0aGlzLmVuZ2luZSA9IG5ldyBSdWxlc0VuZ2luZSh7XG4gICAgICBkZWJ1Z2dlcjogZW5naW5lQ29uZmlnPy5kZWJ1ZyA/IG5ldyBFbmdpbmVEZWJ1Z2dlcih7ZXZlbnRzU3RhY2tMaW1pdDogZW5naW5lQ29uZmlnPy5kZWJ1Z0V2ZW50c1N0YWNrTGltaXR9KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxvZ2dlcjogdGhpcy5sb2dnZXJcbiAgICB9KTtcbiAgICB0aGlzLnJ1bGVTZXRzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RBY3RpdmVSdWxlU2V0cykpLFxuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGxpbmtlZENvbXBvbmVudHNOYW1lc01hcCkgPT4gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0KSxcbiAgICAgICAgICBtYXAoKHJ1bGVzZXRzV2l0aExpbmtlZENvbXBvbmVudHNNYXApID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhydWxlc2V0c1dpdGhMaW5rZWRDb21wb25lbnRzTWFwLm9yKS5maWx0ZXIoKHJ1bGVzZXRJZCkgPT5cbiAgICAgICAgICAgICAgcnVsZXNldHNXaXRoTGlua2VkQ29tcG9uZW50c01hcC5vcltydWxlc2V0SWRdLnNvbWUoKGNvbXBvbmVudElkKSA9PiBsaW5rZWRDb21wb25lbnRzTmFtZXNNYXBbY29tcG9uZW50SWRdID4gMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICkpXG4gICAgICApXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2FjdGl2ZVJ1bGVzZXRzLCBsaW5rZWRDb21wb25lbnRzUnVsZXNldHNJZHNdKSA9PiAoWy4uLmFjdGl2ZVJ1bGVzZXRzLCAuLi5saW5rZWRDb21wb25lbnRzUnVsZXNldHNJZHNdKSlcbiAgICApO1xuXG4gICAgdGhpcy5ldmVudHMkID0gdGhpcy5ydWxlU2V0cyQucGlwZShcbiAgICAgIHRoaXMuZW5naW5lLmdldEV2ZW50U3RyZWFtPEFjdGlvbkJsb2NrPigpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgdGhpcy51cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JMaXN0KTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KHNlbGVjdEFsbFJ1bGVzZXRzKVxuICAgICAgKS5zdWJzY3JpYmUoKHJ1bGVzZXRzOiBSdWxlc2V0W10pID0+IHRoaXMuZW5naW5lLnVwc2VydFJ1bGVzZXRzKHJ1bGVzZXRzKSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5ldmVudHMkLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMuZW5hYmxlZCkpLnN1YnNjcmliZShhc3luYyAoZXZlbnRzKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTdGFydCBSdWxlcyBFbmdpbmUgYWN0aW9uIGV4ZWN1dGVkJyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUFjdGlvbnMoZXZlbnRzKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FsbCBSdWxlcyBFbmdpbmUgYWN0aW9ucyBleGVjdXRlZCcpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIGxpc3Qgb2YgYWN0aW9uc1xuICAgKiBAcGFyYW0gYWN0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGVBY3Rpb25zKGFjdGlvbnM6IEFjdGlvbkJsb2NrW10pIHtcbiAgICBjb25zdCBhY3Rpb25IYW5kbGVycyA9IFsuLi50aGlzLmFjdGlvbkhhbmRsZXJzXTtcblxuICAgIGNvbnN0IHN1cHBvcnRlZEFjdGlvbnMgPSBuZXcgU2V0KGFjdGlvbkhhbmRsZXJzLm1hcCgoaGFuZGxlcikgPT4gaGFuZGxlci5zdXBwb3J0aW5nQWN0aW9ucykuZmxhdCgpKTtcblxuICAgIGNvbnN0IGFjdGlvbk1hcHMgPSBhY3Rpb25zXG4gICAgICAuZmlsdGVyKChhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgaXNLbm93biA9IHN1cHBvcnRlZEFjdGlvbnMuaGFzKGFjdGlvbi5hY3Rpb25UeXBlKTtcbiAgICAgICAgaWYgKCFpc0tub3duKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihgVGhlIGFjdGlvbiAke2FjdGlvbi5hY3Rpb25UeXBlfSBkb2VzIG5vdCBoYXZlIHJlZ2lzdGVyZWQgaGFuZGxlcmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0tub3duO1xuICAgICAgfSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgYWN0aW9uKSA9PiB7XG4gICAgICAgIGFjY1thY3Rpb24uYWN0aW9uVHlwZV0gfHw9IFtdO1xuICAgICAgICBhY2NbYWN0aW9uLmFjdGlvblR5cGVdLnB1c2goYWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIEFjdGlvbkJsb2NrW10+KTtcblxuICAgIGNvbnN0IGhhbmRsaW5nID0gYWN0aW9uSGFuZGxlcnNcbiAgICAgIC5tYXAoKGhhbmRsZXIpID0+XG4gICAgICAgIGhhbmRsZXIuZXhlY3V0ZUFjdGlvbnMoXG4gICAgICAgICAgaGFuZGxlci5zdXBwb3J0aW5nQWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigoc3VwcG9ydGVkQWN0aW9uKSA9PiBhY3Rpb25NYXBzW3N1cHBvcnRlZEFjdGlvbl0pXG4gICAgICAgICAgICAucmVkdWNlPEFjdGlvbkJsb2NrW10+KChhY2MsIHN1cHBvcnRlZEFjdGlvbikgPT4gYWNjLmNvbmNhdChhY3Rpb25NYXBzW3N1cHBvcnRlZEFjdGlvbl0pLCBbXSlcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGhhbmRsaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IGZhY3QgaW4gcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBmYWN0cyBmYWN0IGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0RmFjdHMoZmFjdHM6IEZhY3Q8dW5rbm93bj4gfCBGYWN0PHVua25vd24+W10pIHtcbiAgICB0aGlzLmVuZ2luZS51cHNlcnRGYWN0cyhmYWN0cyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBvcGVyYXRvciBpbiBydWxlcyBlbmdpbmVcbiAgICogQHBhcmFtIG9wZXJhdG9ycyBvcGVyYXRvciBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnM6IChPcGVyYXRvcjxhbnksIGFueT4gfCBVbmFyeU9wZXJhdG9yPGFueT4pW10pIHtcbiAgICB0aGlzLmVuZ2luZS51cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgdGVtcG9yYXJ5IGEgcnVsZSBzZXRcbiAgICogQHBhcmFtIGNvbXBvbmVudENvbXB1dGVkTmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgdG8gZW5hYmxlIHRoZSBydWxlc2V0IGZvclxuICAgKi9cbiAgcHVibGljIGVuYWJsZVJ1bGVTZXRGb3IoY29tcG9uZW50Q29tcHV0ZWROYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuZXdNYXAgPSB0aGlzLmxpbmtlZENvbXBvbmVudHMkLnZhbHVlO1xuICAgIG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdID0gbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPyBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXSArIDEgOiAxO1xuICAgIHRoaXMubGlua2VkQ29tcG9uZW50cyQubmV4dChuZXdNYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGVtcG9yYXJ5IGEgcnVsZSBzZXRcbiAgICogQHBhcmFtIGNvbXBvbmVudENvbXB1dGVkTmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgdG8gZGlzYWJsZSB0aGUgcnVsZXNldCBmb3JcbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlUnVsZVNldEZvcihjb21wb25lbnRDb21wdXRlZE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld01hcCA9IHRoaXMubGlua2VkQ29tcG9uZW50cyQudmFsdWU7XG4gICAgaWYgKG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdID4gMCkge1xuICAgICAgbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0tLTtcbiAgICAgIHRoaXMubGlua2VkQ29tcG9uZW50cyQubmV4dChuZXdNYXApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -26,7 +26,7 @@ const isValidDate = (d) => !isNaN(d) && d instanceof Date;
|
|
|
26
26
|
* Only if the ruleset is NOT onDemand (this means it is taken into consideration for the runs), the validity is checked
|
|
27
27
|
*/
|
|
28
28
|
export const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
|
|
29
|
-
if (ruleSet.linkedComponent) {
|
|
29
|
+
if (ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent) {
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
const validity = ruleSet.validityRange;
|
|
@@ -47,17 +47,58 @@ export const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets)
|
|
|
47
47
|
}
|
|
48
48
|
return to && to.getTime() >= time;
|
|
49
49
|
}).map((ruleSet) => ruleSet.id));
|
|
50
|
+
/*
|
|
51
|
+
* Assign rulesetId to a component
|
|
52
|
+
* @deprecated; It will be rmeoved in v12 with the selector using it
|
|
53
|
+
*/
|
|
54
|
+
function linkRulesetToComponent(compName, library, ruleSetId, acc = {}) {
|
|
55
|
+
const configName = computeItemIdentifier(compName, library);
|
|
56
|
+
acc[configName] ||= [];
|
|
57
|
+
acc[configName].push(ruleSetId);
|
|
58
|
+
}
|
|
59
|
+
/* Assign component to RulesetIds Map */
|
|
60
|
+
function linkComponentToRuleset(compName, library, ruleSetId, acc = {}) {
|
|
61
|
+
const configName = computeItemIdentifier(compName, library);
|
|
62
|
+
acc[ruleSetId] ||= [];
|
|
63
|
+
acc[ruleSetId].push(configName);
|
|
64
|
+
}
|
|
50
65
|
/**
|
|
51
66
|
* Select the map of ruleSet to activate based on the component computed name
|
|
67
|
+
* @deprecated use {@link selectComponentsLinkedToRuleset} instead. It will be removed in v12
|
|
52
68
|
*/
|
|
53
69
|
export const selectRuleSetLinkComponents = createSelector(selectAllRulesets, (ruleSets) => ruleSets
|
|
54
70
|
.reduce((acc, ruleSet) => {
|
|
55
|
-
if (!ruleSet.linkedComponent) {
|
|
71
|
+
if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
|
|
56
72
|
return acc;
|
|
57
73
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
if (ruleSet.linkedComponents?.or?.length) {
|
|
75
|
+
ruleSet.linkedComponents.or.forEach(linkComp => {
|
|
76
|
+
linkRulesetToComponent(linkComp.name, linkComp.library, ruleSet.id, acc);
|
|
77
|
+
});
|
|
78
|
+
return acc;
|
|
79
|
+
}
|
|
80
|
+
if (ruleSet.linkedComponent) {
|
|
81
|
+
linkRulesetToComponent(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library, ruleSet.id, acc);
|
|
82
|
+
}
|
|
61
83
|
return acc;
|
|
62
84
|
}, {}));
|
|
63
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Select the map of ruleSets to activate based on linked components
|
|
87
|
+
*/
|
|
88
|
+
export const selectComponentsLinkedToRuleset = createSelector(selectAllRulesets, (ruleSets) => ruleSets
|
|
89
|
+
.reduce((acc, ruleSet) => {
|
|
90
|
+
if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
|
|
91
|
+
return acc;
|
|
92
|
+
}
|
|
93
|
+
if (ruleSet.linkedComponents?.or?.length) {
|
|
94
|
+
ruleSet.linkedComponents.or.forEach(linkComp => {
|
|
95
|
+
linkComponentToRuleset(linkComp.name, linkComp.library, ruleSet.id, acc.or);
|
|
96
|
+
});
|
|
97
|
+
return acc;
|
|
98
|
+
}
|
|
99
|
+
if (ruleSet.linkedComponent) {
|
|
100
|
+
linkComponentToRuleset(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library, ruleSet.id, acc.or);
|
|
101
|
+
}
|
|
102
|
+
return acc;
|
|
103
|
+
}, { or: {} }));
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RSxNQUFNLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTNGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBZ0IsbUJBQW1CLENBQUMsQ0FBQztBQUU3Rix1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEYsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUUxRixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBGLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FB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QyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUcsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbXB1dGVJdGVtSWRlbnRpZmllciB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzZXQgfSBmcm9tICcuLi8uLi9lbmdpbmUnO1xuaW1wb3J0IHsgcnVsZXNldHNBZGFwdGVyIH0gZnJvbSAnLi9ydWxlc2V0cy5yZWR1Y2VyJztcbmltcG9ydCB7IFJVTEVTRVRTX1NUT1JFX05BTUUsIFJ1bGVzZXRzU3RhdGUgfSBmcm9tICcuL3J1bGVzZXRzLnN0YXRlJztcblxuY29uc3Qge3NlbGVjdElkcywgc2VsZWN0RW50aXRpZXMsIHNlbGVjdEFsbCwgc2VsZWN0VG90YWx9ID0gcnVsZXNldHNBZGFwdGVyLmdldFNlbGVjdG9ycygpO1xuXG4vKiogU2VsZWN0IFJ1bGVzZXRzIFN0YXRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxSdWxlc2V0c1N0YXRlPihSVUxFU0VUU19TVE9SRV9OQU1FKTtcblxuLyoqIFNlbGVjdCB0aGUgYXJyYXkgb2YgUnVsZXNldHMgaWRzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNJZHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RJZHMpO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBSdWxlc2V0cyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFsbFJ1bGVzZXRzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0QWxsKTtcblxuLyoqIFNlbGVjdCB0aGUgZGljdGlvbmFyeSBvZiBSdWxlc2V0cyBlbnRpdGllcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RFbnRpdGllcyk7XG5cbi8qKiBTZWxlY3QgdGhlIHRvdGFsIFJ1bGVzZXRzIGNvdW50ICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdFRvdGFsKTtcblxuLyoqIFNlbGVjdCB0aGUgc3RvcmUgcGVuZGluZyBzdGF0dXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c1N0b3JlUGVuZGluZ1N0YXR1cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIChzdGF0ZSkgPT4gc3RhdGUuaXNQZW5kaW5nIHx8IGZhbHNlKTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCBkYXRlXG4gKiBAcGFyYW0gZFxuICovXG5jb25zdCBpc1ZhbGlkRGF0ZSA9IChkOiBhbnkpID0+ICFpc05hTihkKSAmJiBkIGluc3RhbmNlb2YgRGF0ZTtcblxuLyoqXG4gKiBSZXR1cm5zIG9ubHkgdGhlIHJ1bGVzZXRzIGlkcyB3aGljaCBhcmUgbm90IG9uRGVtYW5kIGFuZCBpbiB0aGUgdmFsaWRpdHkgcmFuZ2VcbiAqIE9uRGVtYW5kIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB2YWxpZGl0eSByYW5nZS5cbiAqIE9ubHkgaWYgdGhlIHJ1bGVzZXQgaXMgTk9UIG9uRGVtYW5kICh0aGlzIG1lYW5zIGl0IGlzIHRha2VuIGludG8gY29uc2lkZXJhdGlvbiBmb3IgdGhlIHJ1bnMpLCB0aGUgdmFsaWRpdHkgaXMgY2hlY2tlZFxuICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QWN0aXZlUnVsZVNldHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0QWxsUnVsZXNldHMsXG4gIChydWxlU2V0cykgPT4gcnVsZVNldHMuZmlsdGVyKChydWxlU2V0OiBSdWxlc2V0KSA9PiB7XG5cbiAgICBpZiAocnVsZVNldC5saW5rZWRDb21wb25lbnRzPy5vcj8ubGVuZ3RoIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRpdHkgPSBydWxlU2V0LnZhbGlkaXR5UmFuZ2U7XG4gICAgaWYgKCF2YWxpZGl0eSB8fCAhdmFsaWRpdHkuZnJvbSAmJiAhdmFsaWRpdHkudG8pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb20gPSB2YWxpZGl0eS5mcm9tICYmIG5ldyBEYXRlKHZhbGlkaXR5LmZyb20pO1xuICAgIGNvbnN0IHRvID0gdmFsaWRpdHkudG8gJiYgbmV3IERhdGUodmFsaWRpdHkudG8pO1xuXG4gICAgaWYgKHRvICYmICFpc1ZhbGlkRGF0ZSh0bykgfHwgZnJvbSAmJiAhaXNWYWxpZERhdGUoZnJvbSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gICAgaWYgKHRvICYmIGZyb20pIHtcbiAgICAgIHJldHVybiBmcm9tLmdldFRpbWUoKSA8PSB0aW1lICYmIHRvLmdldFRpbWUoKSA+PSB0aW1lO1xuICAgIH1cblxuICAgIGlmIChmcm9tKSB7XG4gICAgICByZXR1cm4gZnJvbS5nZXRUaW1lKCkgPD0gdGltZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG8gJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gIH0pLm1hcCgocnVsZVNldDogUnVsZXNldCkgPT4gcnVsZVNldC5pZCkpO1xuXG4vKlxuICogQXNzaWduIHJ1bGVzZXRJZCB0byBhIGNvbXBvbmVudFxuICogQGRlcHJlY2F0ZWQ7IEl0IHdpbGwgYmUgcm1lb3ZlZCBpbiB2MTIgd2l0aCB0aGUgc2VsZWN0b3IgdXNpbmcgaXRcbiAqL1xuZnVuY3Rpb24gbGlua1J1bGVzZXRUb0NvbXBvbmVudChjb21wTmFtZTogc3RyaW5nLCBsaWJyYXJ5OiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nLCBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZ05hbWUgPSBjb21wdXRlSXRlbUlkZW50aWZpZXIoY29tcE5hbWUsIGxpYnJhcnkpO1xuICBhY2NbY29uZmlnTmFtZV0gfHw9IFtdO1xuICBhY2NbY29uZmlnTmFtZV0ucHVzaChydWxlU2V0SWQpO1xufVxuXG4vKiBBc3NpZ24gY29tcG9uZW50IHRvIFJ1bGVzZXRJZHMgTWFwICovXG5mdW5jdGlvbiBsaW5rQ29tcG9uZW50VG9SdWxlc2V0KGNvbXBOYW1lOiBzdHJpbmcsIGxpYnJhcnk6IHN0cmluZywgcnVsZVNldElkOiBzdHJpbmcsIGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge30pIHtcbiAgY29uc3QgY29uZmlnTmFtZSA9IGNvbXB1dGVJdGVtSWRlbnRpZmllcihjb21wTmFtZSwgbGlicmFyeSk7XG4gIGFjY1tydWxlU2V0SWRdIHx8PSBbXTtcbiAgYWNjW3J1bGVTZXRJZF0ucHVzaChjb25maWdOYW1lKTtcbn1cblxuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXQgdG8gYWN0aXZhdGUgYmFzZWQgb24gdGhlIGNvbXBvbmVudCBjb21wdXRlZCBuYW1lXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIHNlbGVjdENvbXBvbmVudHNMaW5rZWRUb1J1bGVzZXR9IGluc3RlYWQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTJcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVTZXRMaW5rQ29tcG9uZW50cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxSdWxlc2V0cyxcbiAgKHJ1bGVTZXRzKSA9PlxuICAgIHJ1bGVTZXRzXG4gICAgICAucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pXG4pO1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXRzIHRvIGFjdGl2YXRlIGJhc2VkIG9uIGxpbmtlZCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEFsbFJ1bGVzZXRzLFxuICAocnVsZVNldHMpID0+XG4gICAgcnVsZVNldHNcbiAgICAgIC5yZWR1Y2UoKGFjYzoge29yOiB7W2tleTogc3RyaW5nXTogc3RyaW5nW119fSwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge29yOiB7fX0pXG4pO1xuXG4iXX0=
|