tuain-ng-forms-lib 12.0.28 → 12.0.32

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.
@@ -180,7 +180,7 @@ export class FormStructureAndData {
180
180
  getField(code) { var _a; return (code && ((_a = this._fields) === null || _a === void 0 ? void 0 : _a[code])) ? this._fields[code] : null; }
181
181
  enableField(code) { var _a; (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.enable(); }
182
182
  disableField(code) { var _a; (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.disable(); }
183
- getFieldValue(code) { var _a; (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.getValue(); }
183
+ getFieldValue(code) { var _a; return (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.getValue(); }
184
184
  getFieldOptions(code) { var _a; (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.getFieldOptions(); }
185
185
  setFieldValue(code, value) { var _a; (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.setValue(value); }
186
186
  setFieldError(code, message, type = 'error') { var _a; (_a = this.getField(code)) === null || _a === void 0 ? void 0 : _a.setError(code, message, type); }
@@ -421,4 +421,4 @@ export class FormStructureAndData {
421
421
  return formData;
422
422
  }
423
423
  }
424
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUN4QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQ3BCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUN4QixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDMUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBc0N0QixNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixZQUFZLGtCQUFrQixFQUFFLFVBQVU7UUFYbEMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBR3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZC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LE9BQU87Z0JBQ3BCLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVztnQkFDNUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO2dCQUNoQyxjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7Z0JBQ2xDLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYTtnQkFDaEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVTtnQkFDckMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTO2FBQ3hDLENBQUM7WUFDRixPQUFPLFlBQVksQ0FBQTtRQUNyQixDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1BY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBGaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuL2ZpZWxkJztcbmltcG9ydCB7IFJlY29yZFRhYmxlIH0gZnJvbSAnLi90YWJsZS90YWJsZSc7XG5pbXBvcnQgeyBSZWNvcmRGb3JtU2VjdGlvbiB9IGZyb20gJy4vc2VjdGlvbic7XG5pbXBvcnQgeyBSZWNvcmRGb3JtU3ViU2VjdGlvbiB9IGZyb20gJy4vc3Vic2VjdGlvbic7XG5pbXBvcnQgeyBOT19FUlJPUiwgSEVBREVSIH0gZnJvbSAnLi9mb3JtLmNvbnN0YW50cyc7XG5cbmNvbnN0IEFDVElWRSA9ICdhY3RpdmUnO1xuY29uc3QgU0hPVyA9ICdzaG93JztcbmNvbnN0IEhJREUgPSAnaGlkZSc7XG5jb25zdCBFTkFCTEUgPSAnZW5hYmxlJztcbmNvbnN0IERJU0FCTEUgPSAnZGlzYWJsZSc7XG5jb25zdCBDTEVBTiA9ICdjbGVhbic7XG5pbnRlcmZhY2UgVHJhbnNpdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTdGF0ZUZsb3cge1xuICBkZWZhdWx0U3RhdGU6IHN0cmluZztcbiAgc3RhdGVzOiBzdHJpbmdbXTtcbiAgdHJhbnNpdGlvbnM6IFRyYW5zaXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFBheWxvYWQge1xuICBmaWVsZENvZGU6IHN0cmluZztcbiAgZmllbGRWYWx1ZTogYW55O1xuICBlZGl0YWJsZTogYm9vbGVhbjtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIGZpZWxkT3B0aW9uczogc3RyaW5nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUGF5bG9hZCB7XG4gIHRhYmxlQ29kZTogc3RyaW5nO1xuICB2aXNpYmxlOiBib29sZWFuO1xuICBjdXJyZW50UGFnZTogbnVtYmVyO1xuICByZXF1ZXN0ZWRQYWdlOiBudW1iZXI7XG4gIHJlY29yZHNQZXJQYWdlOiBudW1iZXI7XG4gIGN1cnJlbnRGaWx0ZXI6IGFueSxcbiAgc29ydGluZ0NvbHVtbjogc3RyaW5nO1xuICBzb3J0aW5nRGlyZWN0aW9uOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGb3JtUGF5bG9hZCB7XG4gIGZpZWxkczogRmllbGRQYXlsb2FkW10sXG4gIHRhYmxlczogVGFibGVQYXlsb2FkW10sXG59XG5cbmV4cG9ydCBjbGFzcyBGb3JtU3RydWN0dXJlQW5kRGF0YSB7XG4gIHN0YXRlOiBzdHJpbmc7XG4gIF9uYW1lOiBzdHJpbmc7XG4gIF9mb3JtQ29uZmlnOiBhbnk7XG4gIHByaXZhdGUgX3RpdGxlOiBzdHJpbmc7XG4gIHByaXZhdGUgX3N0YXRlRmxvdzogU3RhdGVGbG93O1xuICBwcml2YXRlIF9maWVsZEFycmF5OiBGaWVsZERlc2NyaXB0b3JbXTtcbiAgcHJpdmF0ZSBfZmllbGRzID0ge307XG4gIHByaXZhdGUgX2FjdGlvbkFycmF5OiBGb3JtQWN0aW9uW107XG4gIHByaXZhdGUgX2FjdGlvbnMgPSB7fTtcbiAgcHJpdmF0ZSBfdGFibGVBcnJheTogUmVjb3JkVGFibGVbXTtcbiAgcHJpdmF0ZSBfdGFibGVzID0ge307XG4gIHByaXZhdGUgX3NlY3Rpb25BcnJheTogUmVjb3JkRm9ybVNlY3Rpb25bXTtcbiAgcHJpdmF0ZSBfc2VjdGlvbnMgPSB7fTtcbiAgcHJpdmF0ZSBfaW1tdXRhYmxlRGF0YSA9IHt9O1xuICBwcml2YXRlIF9leHRyYUluZm8gPSB7fTtcbiAgcHJpdmF0ZSBfZXhjbHVzaXZlU2VjdGlvbnNCeUF0dHIgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihkZWZpbml0aW9uUmVjZWl2ZWQsIGZvcm1Db25maWcpIHtcbiAgICB0aGlzLl9mb3JtQ29uZmlnID0gZm9ybUNvbmZpZztcbiAgICB0aGlzLnN0YXRlID0gJyc7XG4gICAgdGhpcy5fYWN0aW9uQXJyYXkgPSBbXTtcbiAgICB0aGlzLl9maWVsZEFycmF5ID0gW107XG4gICAgdGhpcy5fdGFibGVBcnJheSA9IFtdO1xuICAgIHRoaXMuX3NlY3Rpb25BcnJheSA9IFtdO1xuICAgIHRoaXMuX3N0YXRlRmxvdyA9IHtcbiAgICAgIGRlZmF1bHRTdGF0ZTogJycsXG4gICAgICBzdGF0ZXM6IFtdLFxuICAgICAgdHJhbnNpdGlvbnM6IFtdLFxuICAgIH07XG4gICAgaWYgKCFkZWZpbml0aW9uUmVjZWl2ZWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fbmFtZSA9IChkZWZpbml0aW9uUmVjZWl2ZWQuZm9ybSAmJiBkZWZpbml0aW9uUmVjZWl2ZWQuZm9ybS5mb3JtQ29kZSlcbiAgICAgID8gZGVmaW5pdGlvblJlY2VpdmVkLmZvcm0uZm9ybUNvZGUgOiB0aGlzLl9uYW1lO1xuICAgIHRoaXMuX3RpdGxlID0gKGRlZmluaXRpb25SZWNlaXZlZC5mb3JtICYmIGRlZmluaXRpb25SZWNlaXZlZC5mb3JtLmZvcm1UaXRsZSlcbiAgICAgID8gZGVmaW5pdGlvblJlY2VpdmVkLmZvcm0uZm9ybVRpdGxlIDogJyc7XG4gICAgdGhpcy5zZXRTdGF0ZUZsb3coZGVmaW5pdGlvblJlY2VpdmVkPy5zdGF0ZXMsIGRlZmluaXRpb25SZWNlaXZlZD8udHJhbnNpdGlvbnMsXG4gICAgICBkZWZpbml0aW9uUmVjZWl2ZWQ/LmRlZmF1bHRTdGF0ZSk7XG4gICAgdGhpcy5pbW11dGFibGVEYXRhID0gZGVmaW5pdGlvblJlY2VpdmVkLmltbXV0YWJsZURhdGE7XG4gICAgdGhpcy5leHRyYUluZm8gPSBkZWZpbml0aW9uUmVjZWl2ZWQuZXh0cmFJbmZvO1xuXG4gICAgaWYgKGRlZmluaXRpb25SZWNlaXZlZC5hY3Rpb25zKSB7XG4gICAgICBjb25zdCBmb3JtQWN0aW9ucyA9IGRlZmluaXRpb25SZWNlaXZlZC5hY3Rpb25zLm1hcChvYmpEZWYgPT4ge1xuICAgICAgICBsZXQgdmlzaWJsZVN0YXRlcyA9IG9iakRlZi52aXNpYmxlU3RhdGVzO1xuICAgICAgICBsZXQgZW5hYmxlZFN0YXRlcyA9IG9iakRlZi5lbmFibGVkU3RhdGVzO1xuICAgICAgICBpZiAoIXZpc2libGVTdGF0ZXMpIHtcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzID0gKG9iakRlZi5hY3Rpb25Nb2RlcyB8fCAnJykuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApIHx8IFtdO1xuICAgICAgICAgIGVuYWJsZWRTdGF0ZXMgPSBbLi4udmlzaWJsZVN0YXRlc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgLi4ub2JqRGVmLCB2aXNpYmxlU3RhdGVzLCBlbmFibGVkU3RhdGVzIH07XG4gICAgICB9KTtcbiAgICAgIGZvciAoY29uc3QgYWN0aW9uUmVjZWl2ZWQgb2YgZm9ybUFjdGlvbnMpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsQWN0aW9uID0gbmV3IEZvcm1BY3Rpb24oYWN0aW9uUmVjZWl2ZWQsIHRoaXMuX2Zvcm1Db25maWcpO1xuICAgICAgICBjb25zdCBnbG9iYWxBY3Rpb25Db2RlID0gZ2xvYmFsQWN0aW9uLmFjdGlvbkNvZGU7XG4gICAgICAgIGlmIChnbG9iYWxBY3Rpb25Db2RlKSB7XG4gICAgICAgICAgdGhpcy5fYWN0aW9uQXJyYXkucHVzaChnbG9iYWxBY3Rpb24pO1xuICAgICAgICAgIHRoaXMuX2FjdGlvbnNbZ2xvYmFsQWN0aW9uQ29kZV0gPSBnbG9iYWxBY3Rpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmaW5pdGlvblJlY2VpdmVkLmZpZWxkcykge1xuICAgICAgY29uc3QgZm9ybUZpZWxkcyA9IGRlZmluaXRpb25SZWNlaXZlZC5maWVsZHMubWFwKG9iakRlZiA9PiB7XG4gICAgICAgIGxldCB2aXNpYmxlU3RhdGVzID0gb2JqRGVmLnZpc2libGVTdGF0ZXM7XG4gICAgICAgIGxldCBlbmFibGVkU3RhdGVzID0gb2JqRGVmLmVuYWJsZWRTdGF0ZXMgfHwgb2JqRGVmLmVkaXRhYmxlU3RhdGVzO1xuICAgICAgICBpZiAoIXZpc2libGVTdGF0ZXMpIHtcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzID0gKG9iakRlZi5maWVsZE1vZGVzIHx8ICcnKS5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMCkgfHwgW107XG4gICAgICAgICAgZW5hYmxlZFN0YXRlcyA9IFsuLi52aXNpYmxlU3RhdGVzXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5vYmpEZWYsIHZpc2libGVTdGF0ZXMsIGVuYWJsZWRTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBmaWVsZFJlY2VpdmVkIG9mIGZvcm1GaWVsZHMpIHtcbiAgICAgICAgY29uc3QgZmllbGRUb0FkZCA9IG5ldyBGaWVsZERlc2NyaXB0b3IoZmllbGRSZWNlaXZlZCwgdGhpcy5fZm9ybUNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGZpZWxkQ29kZSA9IGZpZWxkVG9BZGQuZmllbGRDb2RlO1xuICAgICAgICBpZiAoZmllbGRDb2RlKSB7XG4gICAgICAgICAgdGhpcy5fZmllbGRBcnJheS5wdXNoKGZpZWxkVG9BZGQpO1xuICAgICAgICAgIHRoaXMuX2ZpZWxkc1tmaWVsZENvZGVdID0gZmllbGRUb0FkZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZpbml0aW9uUmVjZWl2ZWQudGFibGVzKSB7XG4gICAgICBjb25zdCB0YWJsZXMgPSBkZWZpbml0aW9uUmVjZWl2ZWQudGFibGVzLm1hcChvYmpEZWYgPT4ge1xuICAgICAgICBsZXQgdmlzaWJsZVN0YXRlcyA9IG9iakRlZi52aXNpYmxlU3RhdGVzO1xuICAgICAgICBsZXQgZW5hYmxlZFN0YXRlcyA9IG9iakRlZi5lbmFibGVkU3RhdGVzIHx8IG9iakRlZi5lZGl0YWJsZVN0YXRlcztcbiAgICAgICAgaWYgKCF2aXNpYmxlU3RhdGVzKSB7XG4gICAgICAgICAgdmlzaWJsZVN0YXRlcyA9IChvYmpEZWYudGFibGVNb2RlcyB8fCAnJykuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApIHx8IFtdO1xuICAgICAgICAgIGVuYWJsZWRTdGF0ZXMgPSBbLi4udmlzaWJsZVN0YXRlc107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2aXNpYmxlU3RhdGVzIHx8IHZpc2libGVTdGF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdmlzaWJsZVN0YXRlcyA9IHRoaXMuX2Zvcm1Db25maWcuZGVmYXVsdFN0YXRlRmxvdy5zdGF0ZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgLi4ub2JqRGVmLCB2aXNpYmxlU3RhdGVzLCBlbmFibGVkU3RhdGVzIH07XG4gICAgICB9KTtcbiAgICAgIGZvciAoY29uc3QgdGFibGVSZWNlaXZlZCBvZiB0YWJsZXMpIHtcbiAgICAgICAgY29uc3QgdGFibGVUb0FkZCA9IG5ldyBSZWNvcmRUYWJsZSh0YWJsZVJlY2VpdmVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgY29uc3QgdGFibGVDb2RlID0gdGFibGVUb0FkZC50YWJsZUNvZGU7XG4gICAgICAgIGlmICh0YWJsZUNvZGUpIHtcbiAgICAgICAgICB0aGlzLl90YWJsZUFycmF5LnB1c2godGFibGVUb0FkZCk7XG4gICAgICAgICAgdGhpcy5fdGFibGVzW3RhYmxlQ29kZV0gPSB0YWJsZVRvQWRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlZmluaXRpb25SZWNlaXZlZC5zZWN0aW9ucykge1xuICAgICAgY29uc3QgZm9ybVNlY3Rpb25zID0gZGVmaW5pdGlvblJlY2VpdmVkLnNlY3Rpb25zLm1hcChvYmpEZWYgPT4ge1xuICAgICAgICBsZXQgdmlzaWJsZVN0YXRlcyA9IG9iakRlZi52aXNpYmxlU3RhdGVzO1xuICAgICAgICBpZiAoIXZpc2libGVTdGF0ZXMpIHtcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzID0gKG9iakRlZi5zZWN0aW9uTW9kZXMgfHwgJycpLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKSB8fCBbXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5vYmpEZWYsIHZpc2libGVTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBzZWN0aW9uUmVjZWl2ZWQgb2YgZm9ybVNlY3Rpb25zKSB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb25Ub0FkZCA9IG5ldyBSZWNvcmRGb3JtU2VjdGlvbihzZWN0aW9uUmVjZWl2ZWQsIHRoaXMpO1xuICAgICAgICBjb25zdCBzZWN0aW9uQ29kZSA9IHNlY3Rpb25Ub0FkZC5zZWN0aW9uQ29kZTtcbiAgICAgICAgaWYgKHNlY3Rpb25Db2RlKSB7XG4gICAgICAgICAgdGhpcy5fc2VjdGlvbkFycmF5LnB1c2goc2VjdGlvblRvQWRkKTtcbiAgICAgICAgICB0aGlzLl9zZWN0aW9uc1tzZWN0aW9uQ29kZV0gPSBzZWN0aW9uVG9BZGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRUaXRsZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdGl0bGU7IH1cbiAgc2V0VGl0bGUodGl0bGU6IHN0cmluZykgeyB0aGlzLl90aXRsZSA9IHRpdGxlOyB9XG4gIGdldCBuYW1lKCkgeyByZXR1cm4gdGhpcy5fbmFtZTsgfVxuICBzZXQgbmFtZShuYW1lKSB7IHRoaXMuX25hbWUgPSBuYW1lOyB9XG5cbiAgLy8gRXN0YWRvc1xuICBnZXQgZGVmYXVsdFN0YXRlKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9zdGF0ZUZsb3cuZGVmYXVsdFN0YXRlOyB9XG4gIHN1cHBvcnRTdGF0ZShzdGF0ZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLl9zdGF0ZUZsb3cuc3RhdGVzPy5pbmNsdWRlcyhzdGF0ZSk7IH1cbiAgc3VwcG9ydE1vZGUoc3RhdGU6IHN0cmluZykgeyByZXR1cm4gdGhpcy5zdXBwb3J0U3RhdGUoc3RhdGUpOyB9XG4gIGdldCBzdGF0ZXMoKTogYW55W10geyByZXR1cm4gdGhpcy5fc3RhdGVGbG93LnN0YXRlczsgfVxuXG4gIGdldEN1cnJlbnRTdGF0ZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5zdGF0ZTsgfVxuXG4gIGNoYW5nZVN0YXRlKG5ld1N0YXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIW5ld1N0YXRlIHx8ICF0aGlzLnN1cHBvcnRTdGF0ZShuZXdTdGF0ZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnN0YXRlKSB7XG4gICAgICB0aGlzLnN0YXRlID0gbmV3U3RhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRyYW5zaXRpb25Ub0NoYW5nZSA9IHRoaXMuX3N0YXRlRmxvdy50cmFuc2l0aW9ucy5maW5kKHRybnMgPT5cbiAgICAgICAgdHJucy5zb3VyY2UgPT09IHRoaXMuc3RhdGUgJiYgdHJucy5kZXN0aW5hdGlvbiA9PT0gbmV3U3RhdGUpO1xuICAgICAgaWYgKHRyYW5zaXRpb25Ub0NoYW5nZSkge1xuICAgICAgICB0aGlzLnN0YXRlID0gbmV3U3RhdGU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5zdGF0ZSA9PT0gbmV3U3RhdGUpO1xuICB9XG5cbiAgc2V0U3RhdGVGbG93KHN0YXRlcz8sIHRyYW5zaXRpb25zPywgZGVmYXVsdFN0YXRlPzogc3RyaW5nKSB7XG4gICAgaWYgKCFzdGF0ZXMgfHwgIXRyYW5zaXRpb25zKSB7XG4gICAgICB0aGlzLl9zdGF0ZUZsb3cgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuX2Zvcm1Db25maWcuZGVmYXVsdFN0YXRlRmxvdykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUZsb3cuc3RhdGVzID0gc3RhdGVzO1xuICAgIHRoaXMuX3N0YXRlRmxvdy5kZWZhdWx0U3RhdGUgPSBkZWZhdWx0U3RhdGUgfHwgdGhpcy5fc3RhdGVGbG93LnN0YXRlc1swXTtcbiAgICB0aGlzLl9zdGF0ZUZsb3cudHJhbnNpdGlvbnMgPSB0cmFuc2l0aW9ucy5tYXAodHJhbnNpdGlvbiA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gdHJhbnNpdGlvbi5uYW1lO1xuICAgICAgY29uc3Qgc291cmNlID0gKHRoaXMuX3N0YXRlRmxvdy5zdGF0ZXMuaW5jbHVkZXModHJhbnNpdGlvbi5zb3VyY2UpKSA/IHRyYW5zaXRpb24uc291cmNlIDogJyc7XG4gICAgICBjb25zdCBkZXN0aW5hdGlvbiA9ICh0aGlzLl9zdGF0ZUZsb3cuc3RhdGVzLmluY2x1ZGVzKHRyYW5zaXRpb24uZGVzdGluYXRpb24pKSA/IHRyYW5zaXRpb24uZGVzdGluYXRpb24gOiAnJztcbiAgICAgIHJldHVybiB7IG5hbWUsIHNvdXJjZSwgZGVzdGluYXRpb24gfTtcbiAgICB9KS5maWx0ZXIoaXRlbSA9PiBpdGVtLm5hbWUgJiYgaXRlbS5zb3VyY2UgJiYgaXRlbS5kZXN0aW5hdGlvbik7XG4gIH1cblxuICAvLyBpbW11dGFibGUgRGF0YVxuICBnZXRJbW11dGFibGVFbGVtZW50KG5hbWU6IHN0cmluZykgeyByZXR1cm4gdGhpcy5faW1tdXRhYmxlRGF0YT8uW25hbWVdPy52YWx1ZSA/PyBudWxsOyB9XG4gIHNldCBpbW11dGFibGVEYXRhKGltbXV0YWJsZURhdGEpIHsgT2JqZWN0LmFzc2lnbih0aGlzLl9pbW11dGFibGVEYXRhLCBpbW11dGFibGVEYXRhKTsgfVxuICBnZXQgaW1tdXRhYmxlRGF0YSgpIHsgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5faW1tdXRhYmxlRGF0YSkpOyB9XG5cbiAgLy8gZXh0cmEgSW5mb1xuICBnZXRFeHRyYUluZm8obmFtZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLl9leHRyYUluZm8/LltuYW1lXT8udmFsdWUgPz8gbnVsbDsgfVxuICBzZXQgZXh0cmFJbmZvKGV4dHJhSW5mbykgeyBPYmplY3QuYXNzaWduKHRoaXMuX2V4dHJhSW5mbywgZXh0cmFJbmZvKTsgfVxuICBnZXQgZXh0cmFJbmZvKCkgeyByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLl9leHRyYUluZm8pKTsgfVxuXG4gIC8vIEZpZWxkc1xuICBnZXQgZmllbGRzKCkgeyByZXR1cm4gdGhpcy5fZmllbGRzOyB9XG4gIGdldCBmaWVsZE5hbWVzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuZ2V0RmllbGROYW1lcygpOyB9XG4gIGdldEZpZWxkcygpOiBGaWVsZERlc2NyaXB0b3JbXSB7IHJldHVybiB0aGlzLl9maWVsZEFycmF5OyB9XG4gIGdldEZpZWxkTmFtZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5fZmllbGRBcnJheS5tYXAoZmllbGQgPT4gZmllbGQuZmllbGRDb2RlKTsgfVxuICBnZXRGaWVsZChjb2RlOiBzdHJpbmcpOiBGaWVsZERlc2NyaXB0b3IgeyByZXR1cm4gKGNvZGUgJiYgdGhpcy5fZmllbGRzPy5bY29kZV0pID8gdGhpcy5fZmllbGRzW2NvZGVdIDogbnVsbDsgfVxuICBlbmFibGVGaWVsZChjb2RlOiBzdHJpbmcpOiB2b2lkIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uZW5hYmxlKCk7IH1cbiAgZGlzYWJsZUZpZWxkKGNvZGU6IHN0cmluZykgeyB0aGlzLmdldEZpZWxkKGNvZGUpPy5kaXNhYmxlKCk7IH1cbiAgZ2V0RmllbGRWYWx1ZShjb2RlOiBzdHJpbmcpOiBhbnkgeyB0aGlzLmdldEZpZWxkKGNvZGUpPy5nZXRWYWx1ZSgpOyB9XG4gIGdldEZpZWxkT3B0aW9ucyhjb2RlOiBzdHJpbmcpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uZ2V0RmllbGRPcHRpb25zKCk7IH1cbiAgc2V0RmllbGRWYWx1ZShjb2RlOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0VmFsdWUodmFsdWUpOyB9XG4gIHNldEZpZWxkRXJyb3IoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIHR5cGU6IHN0cmluZyA9ICdlcnJvcicpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0RXJyb3IoY29kZSwgbWVzc2FnZSwgdHlwZSk7IH1cbiAgc2V0RmllbGRJbnRyaW5zaWNFcnJvck1lc3NhZ2UoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0SW50cmluc2ljRXJyb3JNZXNzYWdlKG1lc3NhZ2UpOyB9XG4gIHNldEZpZWxkUmVxdWlyZWQoY29kZTogc3RyaW5nLCByZXF1aXJlZDogYm9vbGVhbikgeyB0aGlzLmdldEZpZWxkKGNvZGUpPy5zZXRSZXF1aXJlZChyZXF1aXJlZCk7IH1cbiAgc2V0RmllbGRFcnJvck1lc3NhZ2UoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0RXJyb3JNZXNzYWdlKG1lc3NhZ2UpOyB9XG5cbiAgc2V0RmllbGRPcHRpb25zKGNvZGU6IHN0cmluZywgb3B0aW9uc0FycmF5OiBhbnlbXSwgaWRBdHRyaWJ1dGU6IHN0cmluZywgbmFtZUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkKGNvZGUpO1xuICAgIGlmIChmaWVsZCAmJiBvcHRpb25zQXJyYXk/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpZWxkT3B0aW9ucyA9IG9wdGlvbnNBcnJheS5tYXAoaXRlbSA9PiAoe1xuICAgICAgICBmaWVsZE9wdGlvbklkOiBpdGVtW2lkQXR0cmlidXRlXSxcbiAgICAgICAgZmllbGRPcHRpb25WYWx1ZTogaXRlbVtuYW1lQXR0cmlidXRlXVxuICAgICAgfSkpO1xuICAgICAgZmllbGQuc2V0RmllbGRPcHRpb25zKGZpZWxkT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmllbGRTZXQoZmlsdGVyLCBpbnB1dENvZGVzOiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIGxldCBjb2RlcyA9IG51bGw7XG4gICAgaWYgKHR5cGVvZiBpbnB1dENvZGVzID09PSAnc3RyaW5nJyAmJiBpbnB1dENvZGVzKSB7XG4gICAgICBjb2RlcyA9IFtpbnB1dENvZGVzXTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXRDb2RlcykgJiYgaW5wdXRDb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb2RlcyA9IGlucHV0Q29kZXM7XG4gICAgfSBlbHNlIGlmIChzZWNDb2RlICYmICFzdWJDb2RlKSB7XG4gICAgICBjb2RlcyA9IHRoaXMuZ2V0U2VjdGlvbihzZWNDb2RlKT8uZ2V0RmllbGROYW1lcygpID8/IFtdO1xuICAgIH0gZWxzZSBpZiAoc2VjQ29kZSAmJiBzdWJDb2RlKSB7XG4gICAgICBjb2RlcyA9IHRoaXMuZ2V0U3ViU2VjdGlvbihzZWNDb2RlLCBzdWJDb2RlKT8uZ2V0RmllbGROYW1lcygpID8/IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2RlcyA9IHRoaXMuZ2V0RmllbGROYW1lcygpO1xuICAgIH1cbiAgICByZXR1cm4gKGZpbHRlcikgPyBjb2Rlcy5maWx0ZXIoZmxkID0+IGZpbHRlcih0aGlzLmdldEZpZWxkKGZsZCkpKSA6IGNvZGVzO1xuICB9XG5cbiAgYXBwbHlPbkZpZWxkcyhwcm9jZXNzRnVuYywgaW5wdXRDb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAoIXByb2Nlc3NGdW5jKSB7IHJldHVybiAwOyB9XG4gICAgY29uc3QgY29kZXMgPSB0aGlzLmdldEZpZWxkU2V0KG51bGwsIGlucHV0Q29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICAgIGxldCBwcm9jZXNzZWRGaWVsZHMgPSAwO1xuICAgIGZvciAoY29uc3QgY29kZSBvZiBjb2Rlcykge1xuICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkKGNvZGUpO1xuICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcHJvY2Vzc0Z1bmMoZmllbGQpO1xuICAgICAgICAgIHByb2Nlc3NlZEZpZWxkcyArPSAxO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYEVycm9yIHByb2Nlc2FuZG8gZnVuY2lvbiBlbiBjYW1wbyAke2ZpZWxkfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9jZXNzZWRGaWVsZHM7XG4gIH1cblxuICBlbmFibGVGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5lbmFibGUoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgc2hvd0ZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbHlPbkZpZWxkcyhmbGQgPT4gZmxkLnNob3coKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgaGlkZUZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbHlPbkZpZWxkcyhmbGQgPT4gZmxkLmhpZGUoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgc2hvd0xhYmVsRmllbGRzKGNvZGVzPzogc3RyaW5nW10gfCBzdHJpbmcsIHNlY0NvZGU/OiBzdHJpbmcsIHN1YkNvZGU/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcHBseU9uRmllbGRzKGZsZCA9PiBmbGQuc2hvd0xhYmxlbCgpLCBjb2Rlcywgc2VjQ29kZSwgc3ViQ29kZSk7XG4gIH1cblxuICBoaWRlTGFiZWxGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5oaWRlTGFiZWwoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZGlzYWJsZUZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbHlPbkZpZWxkcyhmbGQgPT4gZmxkLmRpc2FibGUoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgY2xlYW5GaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5jbGVhbigpLCBjb2Rlcywgc2VjQ29kZSwgc3ViQ29kZSk7XG4gIH1cblxuICB0YWdGaWVsZHNXaXRoRXJyb3IobWVzc2FnZSwgY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5zZXRFcnJvck1lc3NhZ2UobWVzc2FnZSksIGNvZGVzLCBzZWNDb2RlLCBzdWJDb2RlKTtcbiAgfVxuXG4gIGNsZWFuRXJyb3JGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHRoaXMudGFnRmllbGRzV2l0aEVycm9yKCcnLCBjb2Rlcywgc2VjQ29kZSwgc3ViQ29kZSk7XG4gIH1cblxuICB0YWdFbXB0eVJlcXVpcmVkRmllbGRzKG1lc3NhZ2UsIGNvZGVzID0gbnVsbCwgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRhZ0ZpZWxkc1dpdGhFcnJvcihtZXNzYWdlLCB0aGlzLmdldFJlcXVpcmVkRW1wdHlGaWVsZHMoY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpKSA+IDA7XG4gIH1cblxuICBnZXRSZXF1aXJlZEZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRTZXQoZmxkID0+IGZsZC5yZXF1aXJlZCwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZ2V0UmVxdWlyZWRFbXB0eUZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRTZXQoZmxkID0+IGZsZC5yZXF1aXJlZCAmJiBmbGQuZW1wdHksIGNvZGVzLCBzZWNDb2RlLCBzdWJDb2RlKTtcbiAgfVxuXG4gIGdldENoYW5nZWRGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEZpZWxkU2V0KGZsZCA9PiAhZmxkLm91dHB1dE9ubHkgJiYgZmxkLmhhc0NoYW5nZWQoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZ2V0RmllbGRzV2l0aFZhbGlkYXRpb25Jc3N1ZXMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEZpZWxkU2V0KGZsZCA9PiBmbGQuZXJyb3JDb2RlICE9PSBOT19FUlJPUiwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZ2V0RmllbGRzVmFsdWVzKGlucHV0Q29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IGNvZGVzID0gdGhpcy5nZXRGaWVsZFNldChudWxsLCBpbnB1dENvZGVzLCBzZWNDb2RlLCBzdWJDb2RlKTtcbiAgICBjb25zdCByZXN1bHRPYmplY3QgPSB7fTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29kZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBjb2RlID0gY29kZXNbaW5kZXhdO1xuICAgICAgaWYgKGNvZGUpIHtcbiAgICAgICAgcmVzdWx0T2JqZWN0W2NvZGVdID0gdGhpcy5fZmllbGRzPy5bY29kZV0/LmdldFZhbHVlKCkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdE9iamVjdDtcbiAgfVxuXG4gIC8vIEFjY2lvbmVzXG4gIGdldCBhY3Rpb25zKCkgeyByZXR1cm4gdGhpcy5fYWN0aW9uczsgfVxuXG4gIGdldEFjdGlvbnNCeUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlKSB7IHJldHVybiB0aGlzLl9hY3Rpb25BcnJheS5maWx0ZXIoYWN0aW9uSXRlbSA9PiBhY3Rpb25JdGVtLm1hdGNoQXR0cmlidXRlKG5hbWUsIHZhbHVlKSk7IH1cbiAgZ2V0QWN0aW9ucygpIHsgcmV0dXJuIHRoaXMuX2FjdGlvbkFycmF5OyB9XG4gIGdldEFjdGlvbihjb2RlOiBzdHJpbmcpIHsgcmV0dXJuIChjb2RlICYmIHRoaXMuX2FjdGlvbnM/Lltjb2RlXSkgPyB0aGlzLl9hY3Rpb25zW2NvZGVdIDogbnVsbDsgfVxuICBzaG93QWN0aW9ucyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuZXhlY09uQWN0aW9ucyhjb2RlcywgU0hPVyk7IH1cbiAgaGlkZUFjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPbkFjdGlvbnMoY29kZXMsIEhJREUpOyB9XG4gIGVuYWJsZUFjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPbkFjdGlvbnMoY29kZXMsIEVOQUJMRSk7IH1cbiAgZGlzYWJsZUFjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPbkFjdGlvbnMoY29kZXMsIERJU0FCTEUpOyB9XG5cbiAgZXhlY09uQWN0aW9ucyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcsIGZ1bmN0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWN0aW9uQ29kZXMgPSAoQXJyYXkuaXNBcnJheShjb2RlcykpID8gY29kZXMgOiAoY29kZXMgPyBbY29kZXNdIDogW10pO1xuICAgIGlmICghZnVuY3Rpb25OYW1lIHx8IGFjdGlvbkNvZGVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cbiAgICBhY3Rpb25Db2Rlcy5mb3JFYWNoKGNvZGUgPT4ge1xuICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oY29kZSk7XG4gICAgICBhY3Rpb24/LltmdW5jdGlvbk5hbWVdPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFRhYmxhc1xuICBnZXQgdGFibGVzKCkgeyByZXR1cm4gdGhpcy50YWJsZXM7IH1cbiAgZ2V0VGFibGVzKCkgeyByZXR1cm4gdGhpcy5fdGFibGVBcnJheTsgfVxuICBnZXRUYWJsZShjb2RlOiBzdHJpbmcpIHsgcmV0dXJuIChjb2RlICYmIHRoaXMuX3RhYmxlcz8uW2NvZGVdKSA/IHRoaXMuX3RhYmxlc1tjb2RlXSA6IG51bGw7IH1cbiAgZ2V0VGFibGVSZWNvcmQoY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7IHJldHVybiB0aGlzLmdldFRhYmxlKGNvZGUpPy5nZXRUYWJsZVJlY29yZChpZCkgfVxuXG4gIGVuYWJsZVRhYmxlcyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuZXhlY09uVGFibGVzKGNvZGVzLCBFTkFCTEUpOyB9XG4gIGRpc2FibGVUYWJsZXMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPblRhYmxlcyhjb2RlcywgRElTQUJMRSk7IH1cbiAgc2hvd1RhYmxlcyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuZXhlY09uVGFibGVzKGNvZGVzLCBTSE9XKTsgfVxuICBoaWRlVGFibGVzKGNvZGVzOiBzdHJpbmdbXSB8IHN0cmluZykgeyByZXR1cm4gdGhpcy5leGVjT25UYWJsZXMoY29kZXMsIEhJREUpOyB9XG4gIGNsZWFuVGFibGVzKGNvZGVzOiBzdHJpbmdbXSB8IHN0cmluZykgeyByZXR1cm4gdGhpcy5leGVjT25UYWJsZXMoY29kZXMsIENMRUFOKTsgfVxuXG4gIGV4ZWNPblRhYmxlcyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcsIGZ1bmN0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdGFibGVDb2RlcyA9IChBcnJheS5pc0FycmF5KGNvZGVzKSkgPyBjb2RlcyA6IChjb2RlcyA/IFtjb2Rlc10gOiBbXSk7XG4gICAgaWYgKCFmdW5jdGlvbk5hbWUgfHwgdGFibGVDb2Rlcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgdGFibGVDb2Rlcy5mb3JFYWNoKGNvZGUgPT4ge1xuICAgICAgY29uc3QgdGFibGUgPSB0aGlzLmdldFRhYmxlKGNvZGUpO1xuICAgICAgdGFibGU/LltmdW5jdGlvbk5hbWVdPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFNlY2Npb25lc1xuICBnZXQgc2VjdGlvbnMoKTogUmVjb3JkRm9ybVNlY3Rpb25bXSB7IHJldHVybiB0aGlzLl9zZWN0aW9uQXJyYXk7IH1cbiAgZ2V0U2VjdGlvbnMoKTogUmVjb3JkRm9ybVNlY3Rpb25bXSB7IHJldHVybiB0aGlzLnNlY3Rpb25zOyB9XG4gIGdldFNlY3Rpb25zQnlBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOiBSZWNvcmRGb3JtU2VjdGlvbltdIHsgcmV0dXJuIHRoaXMuX3NlY3Rpb25BcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLm1hdGNoQXR0cmlidXRlKG5hbWUsIHZhbHVlKSk7IH1cbiAgZ2V0IHNlY3Rpb25UaXRsZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5fc2VjdGlvbkFycmF5Lm1hcChmb3JtU2VjdGlvbiA9PiBmb3JtU2VjdGlvbi5zZWN0aW9uVGl0bGUpOyB9XG4gIGdldCB2aXNpYmxlU2VjdGlvbnMoKTogUmVjb3JkRm9ybVNlY3Rpb25bXSB7IHJldHVybiB0aGlzLl9zZWN0aW9uQXJyYXkuZmlsdGVyKHNlYyA9PiBzZWMudmlzaWJsZSk7IH1cbiAgZ2V0U2VjdGlvbihjb2RlOiBzdHJpbmcpOiBSZWNvcmRGb3JtU2VjdGlvbiB7IHJldHVybiAoY29kZSAmJiB0aGlzLl9zZWN0aW9ucz8uW2NvZGVdKSA/IHRoaXMuX3NlY3Rpb25zW2NvZGVdIDogbnVsbDsgfVxuICBzaG93U2VjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogdm9pZCB7IHRoaXMuZXhlY09uU2VjdGlvbnMoY29kZXMsIFNIT1cpOyB9XG4gIGhpZGVTZWN0aW9ucyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpOiB2b2lkIHsgdGhpcy5leGVjT25TZWN0aW9ucyhjb2RlcywgSElERSk7IH1cbiAgYWN0aXZlU2VjdGlvbigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZXhjbHVzaXZlU2VjdGlvbnNCeUF0dHJbQUNUSVZFXTsgfVxuICBnZXRTdWJTZWN0aW9uKGNvZGU6IHN0cmluZywgc3ViQ29kZSk6IFJlY29yZEZvcm1TdWJTZWN0aW9uIHsgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbihjb2RlKT8uZ2V0U3Vic2VjdGlvbihzdWJDb2RlKSA/PyBudWxsOyB9XG4gIHNob3dTdWJTZWN0aW9ucyhjb2RlOiBzdHJpbmcsIHN1YkNvZGVzOiBzdHJpbmdbXSB8IHN0cmluZyk6IHZvaWQgeyByZXR1cm4gdGhpcy5leGVjT25TdWJTZWN0aW9ucyhjb2RlLCBzdWJDb2RlcywgU0hPVyk7IH1cbiAgaGlkZVN1YlNlY3Rpb25zKGNvZGU6IHN0cmluZywgc3ViQ29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogdm9pZCB7IHJldHVybiB0aGlzLmV4ZWNPblN1YlNlY3Rpb25zKGNvZGUsIHN1YkNvZGVzLCBISURFKTsgfVxuXG4gIGFjdGl2YXRlU2VjdGlvbihjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29kZSA9PT0gdGhpcy5fZXhjbHVzaXZlU2VjdGlvbnNCeUF0dHJbQUNUSVZFXSkgeyByZXR1cm47IH1cbiAgICB0aGlzLmdldFNlY3Rpb24odGhpcy5hY3RpdmVTZWN0aW9uKCkpPy5pbmFjdGl2YXRlKCk7XG4gICAgdGhpcy5nZXRTZWN0aW9uKGNvZGUpPy5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuX2V4Y2x1c2l2ZVNlY3Rpb25zQnlBdHRyW0FDVElWRV0gPSBjb2RlO1xuICB9XG5cbiAgZXhlY09uU2VjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nLCBmdW5jdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlY3Rpb25Db2RlcyA9IChBcnJheS5pc0FycmF5KGNvZGVzKSkgPyBjb2RlcyA6IChjb2RlcyA/IFtjb2Rlc10gOiBbXSk7XG4gICAgaWYgKCFmdW5jdGlvbk5hbWUgfHwgc2VjdGlvbkNvZGVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cbiAgICBzZWN0aW9uQ29kZXMuZm9yRWFjaChjb2RlID0+IHtcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmdldFNlY3Rpb24oY29kZSk7XG4gICAgICBzZWN0aW9uPy5bZnVuY3Rpb25OYW1lXT8uKCk7XG4gICAgfSk7XG4gIH1cblxuICBleGVjT25TdWJTZWN0aW9ucyhjb2RlOiBzdHJpbmcsIHN1Yk5hbWVzOiBzdHJpbmdbXSB8IHN0cmluZywgZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzdWJDb2RlcyA9IChBcnJheS5pc0FycmF5KHN1Yk5hbWVzKSkgPyBzdWJOYW1lcyA6IChzdWJOYW1lcyA/IFtzdWJOYW1lc10gOiBbXSk7XG4gICAgY29uc3Qgc2VjdGlvbiA9IHRoaXMuZ2V0U2VjdGlvbihjb2RlKTtcbiAgICBpZiAoIWZ1bmN0aW9uTmFtZSB8fCAhc2VjdGlvbiB8fCBzdWJDb2Rlcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgZm9yIChjb25zdCBzdWJDb2RlIG9mIHN1YkNvZGVzKSB7XG4gICAgICBjb25zdCBzdWJTZWN0aW9uID0gdGhpcy5nZXRTdWJTZWN0aW9uKGNvZGUsIHN1YkNvZGUpO1xuICAgICAgc3ViU2VjdGlvbj8uW2Z1bmN0aW9uTmFtZV0/LigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvcyBwcm9waW9zIGRlIGdlc3Rpw7NuIGRlbCBmb3JtdWxhcmlvXG4gICAqL1xuXG4gIGNsZWFuRGF0YSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuX2ZpZWxkQXJyYXkpIHtcbiAgICAgIGZpZWxkLnNldFZhbHVlKGZpZWxkLmRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGhpcy5fdGFibGVBcnJheSkge1xuICAgICAgdGFibGUuY2xlYW4oKTtcbiAgICB9XG4gIH1cblxuICBnZXRQYXlsb2FkKCk6IGFueSB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1QYXlsb2FkID0ge1xuICAgICAgZmllbGRzOiBbXSxcbiAgICAgIHRhYmxlczogW10sXG4gICAgfTtcbiAgICBmb3JtRGF0YS5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpLmZpbHRlcihmbGQgPT4gIWZsZC5vdXRwdXRPbmx5KVxuICAgICAgLm1hcChmbGQgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFBheWxvYWQ6IEZpZWxkUGF5bG9hZCA9IHtcbiAgICAgICAgICBmaWVsZENvZGU6IGZsZC5maWVsZENvZGUsXG4gICAgICAgICAgZmllbGRWYWx1ZTogZmxkLmdldFZhbHVlKCksXG4gICAgICAgICAgZWRpdGFibGU6ICFmbGQuZGlzYWJsZWQsXG4gICAgICAgICAgdmlzaWJsZTogZmxkLnZpc2libGUsXG4gICAgICAgICAgcmVxdWlyZWQ6IGZsZC5yZXF1aXJlZCxcbiAgICAgICAgICBmaWVsZE9wdGlvbnM6ICcnLFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZFBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIGZvcm1EYXRhLnRhYmxlcyA9IHRoaXMuZ2V0VGFibGVzKCkubWFwKHRibCA9PiB7XG4gICAgICBjb25zdCB0YWJsZVBheWxvYWQ6IFRhYmxlUGF5bG9hZCA9IHtcbiAgICAgICAgdGFibGVDb2RlOiB0YmwudGFibGVDb2RlLFxuICAgICAgICB2aXNpYmxlOiB0YmwudmlzaWJsZSxcbiAgICAgICAgY3VycmVudFBhZ2U6IHRibC5jdXJyZW50UGFnZSxcbiAgICAgICAgcmVxdWVzdGVkUGFnZTogdGJsLnJlcXVlc3RlZFBhZ2UsXG4gICAgICAgIHJlY29yZHNQZXJQYWdlOiB0YmwucmVjb3Jkc1BlclBhZ2UsXG4gICAgICAgIGN1cnJlbnRGaWx0ZXI6IHRibC5jdXJyZW50RmlsdGVyLFxuICAgICAgICBzb3J0aW5nQ29sdW1uOiB0Ymwuc29ydGluZy5jb2x1bW5OYW1lLFxuICAgICAgICBzb3J0aW5nRGlyZWN0aW9uOiB0Ymwuc29ydGluZy5kaXJlY3Rpb24sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRhYmxlUGF5bG9hZFxuICAgIH0pXG4gICAgcmV0dXJuIGZvcm1EYXRhO1xuICB9XG59XG4iXX0=
424
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUN4QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQ3BCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUN4QixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDMUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBc0N0QixNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixZQUFZLGtCQUFrQixFQUFFLFVBQVU7UUFYbEMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBR3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZC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LENBQUMsT0FBTztnQkFDcEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO2dCQUM1QixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7Z0JBQ2hDLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztnQkFDbEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO2dCQUNoQyxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVO2dCQUNyQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVM7YUFDeEMsQ0FBQztZQUNGLE9BQU8sWUFBWSxDQUFBO1FBQ3JCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgUmVjb3JkVGFibGUgfSBmcm9tICcuL3RhYmxlL3RhYmxlJztcbmltcG9ydCB7IFJlY29yZEZvcm1TZWN0aW9uIH0gZnJvbSAnLi9zZWN0aW9uJztcbmltcG9ydCB7IFJlY29yZEZvcm1TdWJTZWN0aW9uIH0gZnJvbSAnLi9zdWJzZWN0aW9uJztcbmltcG9ydCB7IE5PX0VSUk9SLCBIRUFERVIgfSBmcm9tICcuL2Zvcm0uY29uc3RhbnRzJztcblxuY29uc3QgQUNUSVZFID0gJ2FjdGl2ZSc7XG5jb25zdCBTSE9XID0gJ3Nob3cnO1xuY29uc3QgSElERSA9ICdoaWRlJztcbmNvbnN0IEVOQUJMRSA9ICdlbmFibGUnO1xuY29uc3QgRElTQUJMRSA9ICdkaXNhYmxlJztcbmNvbnN0IENMRUFOID0gJ2NsZWFuJztcbmludGVyZmFjZSBUcmFuc2l0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFN0YXRlRmxvdyB7XG4gIGRlZmF1bHRTdGF0ZTogc3RyaW5nO1xuICBzdGF0ZXM6IHN0cmluZ1tdO1xuICB0cmFuc2l0aW9uczogVHJhbnNpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkUGF5bG9hZCB7XG4gIGZpZWxkQ29kZTogc3RyaW5nO1xuICBmaWVsZFZhbHVlOiBhbnk7XG4gIGVkaXRhYmxlOiBib29sZWFuO1xuICB2aXNpYmxlOiBib29sZWFuO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgZmllbGRPcHRpb25zOiBzdHJpbmcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVQYXlsb2FkIHtcbiAgdGFibGVDb2RlOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG4gIHJlcXVlc3RlZFBhZ2U6IG51bWJlcjtcbiAgcmVjb3Jkc1BlclBhZ2U6IG51bWJlcjtcbiAgY3VycmVudEZpbHRlcjogYW55LFxuICBzb3J0aW5nQ29sdW1uOiBzdHJpbmc7XG4gIHNvcnRpbmdEaXJlY3Rpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZvcm1QYXlsb2FkIHtcbiAgZmllbGRzOiBGaWVsZFBheWxvYWRbXSxcbiAgdGFibGVzOiBUYWJsZVBheWxvYWRbXSxcbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1TdHJ1Y3R1cmVBbmREYXRhIHtcbiAgc3RhdGU6IHN0cmluZztcbiAgX25hbWU6IHN0cmluZztcbiAgX2Zvcm1Db25maWc6IGFueTtcbiAgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBfc3RhdGVGbG93OiBTdGF0ZUZsb3c7XG4gIHByaXZhdGUgX2ZpZWxkQXJyYXk6IEZpZWxkRGVzY3JpcHRvcltdO1xuICBwcml2YXRlIF9maWVsZHMgPSB7fTtcbiAgcHJpdmF0ZSBfYWN0aW9uQXJyYXk6IEZvcm1BY3Rpb25bXTtcbiAgcHJpdmF0ZSBfYWN0aW9ucyA9IHt9O1xuICBwcml2YXRlIF90YWJsZUFycmF5OiBSZWNvcmRUYWJsZVtdO1xuICBwcml2YXRlIF90YWJsZXMgPSB7fTtcbiAgcHJpdmF0ZSBfc2VjdGlvbkFycmF5OiBSZWNvcmRGb3JtU2VjdGlvbltdO1xuICBwcml2YXRlIF9zZWN0aW9ucyA9IHt9O1xuICBwcml2YXRlIF9pbW11dGFibGVEYXRhID0ge307XG4gIHByaXZhdGUgX2V4dHJhSW5mbyA9IHt9O1xuICBwcml2YXRlIF9leGNsdXNpdmVTZWN0aW9uc0J5QXR0ciA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKGRlZmluaXRpb25SZWNlaXZlZCwgZm9ybUNvbmZpZykge1xuICAgIHRoaXMuX2Zvcm1Db25maWcgPSBmb3JtQ29uZmlnO1xuICAgIHRoaXMuc3RhdGUgPSAnJztcbiAgICB0aGlzLl9hY3Rpb25BcnJheSA9IFtdO1xuICAgIHRoaXMuX2ZpZWxkQXJyYXkgPSBbXTtcbiAgICB0aGlzLl90YWJsZUFycmF5ID0gW107XG4gICAgdGhpcy5fc2VjdGlvbkFycmF5ID0gW107XG4gICAgdGhpcy5fc3RhdGVGbG93ID0ge1xuICAgICAgZGVmYXVsdFN0YXRlOiAnJyxcbiAgICAgIHN0YXRlczogW10sXG4gICAgICB0cmFuc2l0aW9uczogW10sXG4gICAgfTtcbiAgICBpZiAoIWRlZmluaXRpb25SZWNlaXZlZCkgeyByZXR1cm47IH1cbiAgICB0aGlzLl9uYW1lID0gKGRlZmluaXRpb25SZWNlaXZlZC5mb3JtICYmIGRlZmluaXRpb25SZWNlaXZlZC5mb3JtLmZvcm1Db2RlKVxuICAgICAgPyBkZWZpbml0aW9uUmVjZWl2ZWQuZm9ybS5mb3JtQ29kZSA6IHRoaXMuX25hbWU7XG4gICAgdGhpcy5fdGl0bGUgPSAoZGVmaW5pdGlvblJlY2VpdmVkLmZvcm0gJiYgZGVmaW5pdGlvblJlY2VpdmVkLmZvcm0uZm9ybVRpdGxlKVxuICAgICAgPyBkZWZpbml0aW9uUmVjZWl2ZWQuZm9ybS5mb3JtVGl0bGUgOiAnJztcbiAgICB0aGlzLnNldFN0YXRlRmxvdyhkZWZpbml0aW9uUmVjZWl2ZWQ/LnN0YXRlcywgZGVmaW5pdGlvblJlY2VpdmVkPy50cmFuc2l0aW9ucyxcbiAgICAgIGRlZmluaXRpb25SZWNlaXZlZD8uZGVmYXVsdFN0YXRlKTtcbiAgICB0aGlzLmltbXV0YWJsZURhdGEgPSBkZWZpbml0aW9uUmVjZWl2ZWQuaW1tdXRhYmxlRGF0YTtcbiAgICB0aGlzLmV4dHJhSW5mbyA9IGRlZmluaXRpb25SZWNlaXZlZC5leHRyYUluZm87XG5cbiAgICBpZiAoZGVmaW5pdGlvblJlY2VpdmVkLmFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IGZvcm1BY3Rpb25zID0gZGVmaW5pdGlvblJlY2VpdmVkLmFjdGlvbnMubWFwKG9iakRlZiA9PiB7XG4gICAgICAgIGxldCB2aXNpYmxlU3RhdGVzID0gb2JqRGVmLnZpc2libGVTdGF0ZXM7XG4gICAgICAgIGxldCBlbmFibGVkU3RhdGVzID0gb2JqRGVmLmVuYWJsZWRTdGF0ZXM7XG4gICAgICAgIGlmICghdmlzaWJsZVN0YXRlcykge1xuICAgICAgICAgIHZpc2libGVTdGF0ZXMgPSAob2JqRGVmLmFjdGlvbk1vZGVzIHx8ICcnKS5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMCkgfHwgW107XG4gICAgICAgICAgZW5hYmxlZFN0YXRlcyA9IFsuLi52aXNpYmxlU3RhdGVzXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5vYmpEZWYsIHZpc2libGVTdGF0ZXMsIGVuYWJsZWRTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBhY3Rpb25SZWNlaXZlZCBvZiBmb3JtQWN0aW9ucykge1xuICAgICAgICBjb25zdCBnbG9iYWxBY3Rpb24gPSBuZXcgRm9ybUFjdGlvbihhY3Rpb25SZWNlaXZlZCwgdGhpcy5fZm9ybUNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGdsb2JhbEFjdGlvbkNvZGUgPSBnbG9iYWxBY3Rpb24uYWN0aW9uQ29kZTtcbiAgICAgICAgaWYgKGdsb2JhbEFjdGlvbkNvZGUpIHtcbiAgICAgICAgICB0aGlzLl9hY3Rpb25BcnJheS5wdXNoKGdsb2JhbEFjdGlvbik7XG4gICAgICAgICAgdGhpcy5fYWN0aW9uc1tnbG9iYWxBY3Rpb25Db2RlXSA9IGdsb2JhbEFjdGlvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZWZpbml0aW9uUmVjZWl2ZWQuZmllbGRzKSB7XG4gICAgICBjb25zdCBmb3JtRmllbGRzID0gZGVmaW5pdGlvblJlY2VpdmVkLmZpZWxkcy5tYXAob2JqRGVmID0+IHtcbiAgICAgICAgbGV0IHZpc2libGVTdGF0ZXMgPSBvYmpEZWYudmlzaWJsZVN0YXRlcztcbiAgICAgICAgbGV0IGVuYWJsZWRTdGF0ZXMgPSBvYmpEZWYuZW5hYmxlZFN0YXRlcyB8fCBvYmpEZWYuZWRpdGFibGVTdGF0ZXM7XG4gICAgICAgIGlmICghdmlzaWJsZVN0YXRlcykge1xuICAgICAgICAgIHZpc2libGVTdGF0ZXMgPSAob2JqRGVmLmZpZWxkTW9kZXMgfHwgJycpLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoc3RhdGUgPT4gc3RhdGUudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5sZW5ndGggPiAwKSB8fCBbXTtcbiAgICAgICAgICBlbmFibGVkU3RhdGVzID0gWy4uLnZpc2libGVTdGF0ZXNdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLm9iakRlZiwgdmlzaWJsZVN0YXRlcywgZW5hYmxlZFN0YXRlcyB9O1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IGZpZWxkUmVjZWl2ZWQgb2YgZm9ybUZpZWxkcykge1xuICAgICAgICBjb25zdCBmaWVsZFRvQWRkID0gbmV3IEZpZWxkRGVzY3JpcHRvcihmaWVsZFJlY2VpdmVkLCB0aGlzLl9mb3JtQ29uZmlnKTtcbiAgICAgICAgY29uc3QgZmllbGRDb2RlID0gZmllbGRUb0FkZC5maWVsZENvZGU7XG4gICAgICAgIGlmIChmaWVsZENvZGUpIHtcbiAgICAgICAgICB0aGlzLl9maWVsZEFycmF5LnB1c2goZmllbGRUb0FkZCk7XG4gICAgICAgICAgdGhpcy5fZmllbGRzW2ZpZWxkQ29kZV0gPSBmaWVsZFRvQWRkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlZmluaXRpb25SZWNlaXZlZC50YWJsZXMpIHtcbiAgICAgIGNvbnN0IHRhYmxlcyA9IGRlZmluaXRpb25SZWNlaXZlZC50YWJsZXMubWFwKG9iakRlZiA9PiB7XG4gICAgICAgIGxldCB2aXNpYmxlU3RhdGVzID0gb2JqRGVmLnZpc2libGVTdGF0ZXM7XG4gICAgICAgIGxldCBlbmFibGVkU3RhdGVzID0gb2JqRGVmLmVuYWJsZWRTdGF0ZXMgfHwgb2JqRGVmLmVkaXRhYmxlU3RhdGVzO1xuICAgICAgICBpZiAoIXZpc2libGVTdGF0ZXMpIHtcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzID0gKG9iakRlZi50YWJsZU1vZGVzIHx8ICcnKS5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHN0YXRlID0+IHN0YXRlLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoc3RhdGUgPT4gc3RhdGUubGVuZ3RoID4gMCkgfHwgW107XG4gICAgICAgICAgZW5hYmxlZFN0YXRlcyA9IFsuLi52aXNpYmxlU3RhdGVzXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZpc2libGVTdGF0ZXMgfHwgdmlzaWJsZVN0YXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB2aXNpYmxlU3RhdGVzID0gdGhpcy5fZm9ybUNvbmZpZy5kZWZhdWx0U3RhdGVGbG93LnN0YXRlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5vYmpEZWYsIHZpc2libGVTdGF0ZXMsIGVuYWJsZWRTdGF0ZXMgfTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCB0YWJsZVJlY2VpdmVkIG9mIHRhYmxlcykge1xuICAgICAgICBjb25zdCB0YWJsZVRvQWRkID0gbmV3IFJlY29yZFRhYmxlKHRhYmxlUmVjZWl2ZWQsIHRoaXMuX2Zvcm1Db25maWcpO1xuICAgICAgICBjb25zdCB0YWJsZUNvZGUgPSB0YWJsZVRvQWRkLnRhYmxlQ29kZTtcbiAgICAgICAgaWYgKHRhYmxlQ29kZSkge1xuICAgICAgICAgIHRoaXMuX3RhYmxlQXJyYXkucHVzaCh0YWJsZVRvQWRkKTtcbiAgICAgICAgICB0aGlzLl90YWJsZXNbdGFibGVDb2RlXSA9IHRhYmxlVG9BZGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmaW5pdGlvblJlY2VpdmVkLnNlY3Rpb25zKSB7XG4gICAgICBjb25zdCBmb3JtU2VjdGlvbnMgPSBkZWZpbml0aW9uUmVjZWl2ZWQuc2VjdGlvbnMubWFwKG9iakRlZiA9PiB7XG4gICAgICAgIGxldCB2aXNpYmxlU3RhdGVzID0gb2JqRGVmLnZpc2libGVTdGF0ZXM7XG4gICAgICAgIGlmICghdmlzaWJsZVN0YXRlcykge1xuICAgICAgICAgIHZpc2libGVTdGF0ZXMgPSAob2JqRGVmLnNlY3Rpb25Nb2RlcyB8fCAnJykuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcChzdGF0ZSA9PiBzdGF0ZS50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKHN0YXRlID0+IHN0YXRlLmxlbmd0aCA+IDApIHx8IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLm9iakRlZiwgdmlzaWJsZVN0YXRlcyB9O1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IHNlY3Rpb25SZWNlaXZlZCBvZiBmb3JtU2VjdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvblRvQWRkID0gbmV3IFJlY29yZEZvcm1TZWN0aW9uKHNlY3Rpb25SZWNlaXZlZCwgdGhpcyk7XG4gICAgICAgIGNvbnN0IHNlY3Rpb25Db2RlID0gc2VjdGlvblRvQWRkLnNlY3Rpb25Db2RlO1xuICAgICAgICBpZiAoc2VjdGlvbkNvZGUpIHtcbiAgICAgICAgICB0aGlzLl9zZWN0aW9uQXJyYXkucHVzaChzZWN0aW9uVG9BZGQpO1xuICAgICAgICAgIHRoaXMuX3NlY3Rpb25zW3NlY3Rpb25Db2RlXSA9IHNlY3Rpb25Ub0FkZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl90aXRsZTsgfVxuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nKSB7IHRoaXMuX3RpdGxlID0gdGl0bGU7IH1cbiAgZ2V0IG5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9XG4gIHNldCBuYW1lKG5hbWUpIHsgdGhpcy5fbmFtZSA9IG5hbWU7IH1cblxuICAvLyBFc3RhZG9zXG4gIGdldCBkZWZhdWx0U3RhdGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3N0YXRlRmxvdy5kZWZhdWx0U3RhdGU7IH1cbiAgc3VwcG9ydFN0YXRlKHN0YXRlOiBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuX3N0YXRlRmxvdy5zdGF0ZXM/LmluY2x1ZGVzKHN0YXRlKTsgfVxuICBzdXBwb3J0TW9kZShzdGF0ZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLnN1cHBvcnRTdGF0ZShzdGF0ZSk7IH1cbiAgZ2V0IHN0YXRlcygpOiBhbnlbXSB7IHJldHVybiB0aGlzLl9zdGF0ZUZsb3cuc3RhdGVzOyB9XG5cbiAgZ2V0Q3VycmVudFN0YXRlKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLnN0YXRlOyB9XG5cbiAgY2hhbmdlU3RhdGUobmV3U3RhdGU6IHN0cmluZykge1xuICAgIGlmICghbmV3U3RhdGUgfHwgIXRoaXMuc3VwcG9ydFN0YXRlKG5ld1N0YXRlKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3RhdGUpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHJhbnNpdGlvblRvQ2hhbmdlID0gdGhpcy5fc3RhdGVGbG93LnRyYW5zaXRpb25zLmZpbmQodHJucyA9PlxuICAgICAgICB0cm5zLnNvdXJjZSA9PT0gdGhpcy5zdGF0ZSAmJiB0cm5zLmRlc3RpbmF0aW9uID09PSBuZXdTdGF0ZSk7XG4gICAgICBpZiAodHJhbnNpdGlvblRvQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICh0aGlzLnN0YXRlID09PSBuZXdTdGF0ZSk7XG4gIH1cblxuICBzZXRTdGF0ZUZsb3coc3RhdGVzPywgdHJhbnNpdGlvbnM/LCBkZWZhdWx0U3RhdGU/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXN0YXRlcyB8fCAhdHJhbnNpdGlvbnMpIHtcbiAgICAgIHRoaXMuX3N0YXRlRmxvdyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZm9ybUNvbmZpZy5kZWZhdWx0U3RhdGVGbG93KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlRmxvdy5zdGF0ZXMgPSBzdGF0ZXM7XG4gICAgdGhpcy5fc3RhdGVGbG93LmRlZmF1bHRTdGF0ZSA9IGRlZmF1bHRTdGF0ZSB8fCB0aGlzLl9zdGF0ZUZsb3cuc3RhdGVzWzBdO1xuICAgIHRoaXMuX3N0YXRlRmxvdy50cmFuc2l0aW9ucyA9IHRyYW5zaXRpb25zLm1hcCh0cmFuc2l0aW9uID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSB0cmFuc2l0aW9uLm5hbWU7XG4gICAgICBjb25zdCBzb3VyY2UgPSAodGhpcy5fc3RhdGVGbG93LnN0YXRlcy5pbmNsdWRlcyh0cmFuc2l0aW9uLnNvdXJjZSkpID8gdHJhbnNpdGlvbi5zb3VyY2UgOiAnJztcbiAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gKHRoaXMuX3N0YXRlRmxvdy5zdGF0ZXMuaW5jbHVkZXModHJhbnNpdGlvbi5kZXN0aW5hdGlvbikpID8gdHJhbnNpdGlvbi5kZXN0aW5hdGlvbiA6ICcnO1xuICAgICAgcmV0dXJuIHsgbmFtZSwgc291cmNlLCBkZXN0aW5hdGlvbiB9O1xuICAgIH0pLmZpbHRlcihpdGVtID0+IGl0ZW0ubmFtZSAmJiBpdGVtLnNvdXJjZSAmJiBpdGVtLmRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIC8vIGltbXV0YWJsZSBEYXRhXG4gIGdldEltbXV0YWJsZUVsZW1lbnQobmFtZTogc3RyaW5nKSB7IHJldHVybiB0aGlzLl9pbW11dGFibGVEYXRhPy5bbmFtZV0/LnZhbHVlID8/IG51bGw7IH1cbiAgc2V0IGltbXV0YWJsZURhdGEoaW1tdXRhYmxlRGF0YSkgeyBPYmplY3QuYXNzaWduKHRoaXMuX2ltbXV0YWJsZURhdGEsIGltbXV0YWJsZURhdGEpOyB9XG4gIGdldCBpbW11dGFibGVEYXRhKCkgeyByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLl9pbW11dGFibGVEYXRhKSk7IH1cblxuICAvLyBleHRyYSBJbmZvXG4gIGdldEV4dHJhSW5mbyhuYW1lOiBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuX2V4dHJhSW5mbz8uW25hbWVdPy52YWx1ZSA/PyBudWxsOyB9XG4gIHNldCBleHRyYUluZm8oZXh0cmFJbmZvKSB7IE9iamVjdC5hc3NpZ24odGhpcy5fZXh0cmFJbmZvLCBleHRyYUluZm8pOyB9XG4gIGdldCBleHRyYUluZm8oKSB7IHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuX2V4dHJhSW5mbykpOyB9XG5cbiAgLy8gRmllbGRzXG4gIGdldCBmaWVsZHMoKSB7IHJldHVybiB0aGlzLl9maWVsZHM7IH1cbiAgZ2V0IGZpZWxkTmFtZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5nZXRGaWVsZE5hbWVzKCk7IH1cbiAgZ2V0RmllbGRzKCk6IEZpZWxkRGVzY3JpcHRvcltdIHsgcmV0dXJuIHRoaXMuX2ZpZWxkQXJyYXk7IH1cbiAgZ2V0RmllbGROYW1lcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9maWVsZEFycmF5Lm1hcChmaWVsZCA9PiBmaWVsZC5maWVsZENvZGUpOyB9XG4gIGdldEZpZWxkKGNvZGU6IHN0cmluZyk6IEZpZWxkRGVzY3JpcHRvciB7IHJldHVybiAoY29kZSAmJiB0aGlzLl9maWVsZHM/Lltjb2RlXSkgPyB0aGlzLl9maWVsZHNbY29kZV0gOiBudWxsOyB9XG4gIGVuYWJsZUZpZWxkKGNvZGU6IHN0cmluZyk6IHZvaWQgeyB0aGlzLmdldEZpZWxkKGNvZGUpPy5lbmFibGUoKTsgfVxuICBkaXNhYmxlRmllbGQoY29kZTogc3RyaW5nKSB7IHRoaXMuZ2V0RmllbGQoY29kZSk/LmRpc2FibGUoKTsgfVxuICBnZXRGaWVsZFZhbHVlKGNvZGU6IHN0cmluZyk6IGFueSB7IHJldHVybiB0aGlzLmdldEZpZWxkKGNvZGUpPy5nZXRWYWx1ZSgpOyB9XG4gIGdldEZpZWxkT3B0aW9ucyhjb2RlOiBzdHJpbmcpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uZ2V0RmllbGRPcHRpb25zKCk7IH1cbiAgc2V0RmllbGRWYWx1ZShjb2RlOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0VmFsdWUodmFsdWUpOyB9XG4gIHNldEZpZWxkRXJyb3IoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIHR5cGU6IHN0cmluZyA9ICdlcnJvcicpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0RXJyb3IoY29kZSwgbWVzc2FnZSwgdHlwZSk7IH1cbiAgc2V0RmllbGRJbnRyaW5zaWNFcnJvck1lc3NhZ2UoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0SW50cmluc2ljRXJyb3JNZXNzYWdlKG1lc3NhZ2UpOyB9XG4gIHNldEZpZWxkUmVxdWlyZWQoY29kZTogc3RyaW5nLCByZXF1aXJlZDogYm9vbGVhbikgeyB0aGlzLmdldEZpZWxkKGNvZGUpPy5zZXRSZXF1aXJlZChyZXF1aXJlZCk7IH1cbiAgc2V0RmllbGRFcnJvck1lc3NhZ2UoY29kZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHsgdGhpcy5nZXRGaWVsZChjb2RlKT8uc2V0RXJyb3JNZXNzYWdlKG1lc3NhZ2UpOyB9XG5cbiAgc2V0RmllbGRPcHRpb25zKGNvZGU6IHN0cmluZywgb3B0aW9uc0FycmF5OiBhbnlbXSwgaWRBdHRyaWJ1dGU6IHN0cmluZywgbmFtZUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkKGNvZGUpO1xuICAgIGlmIChmaWVsZCAmJiBvcHRpb25zQXJyYXk/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpZWxkT3B0aW9ucyA9IG9wdGlvbnNBcnJheS5tYXAoaXRlbSA9PiAoe1xuICAgICAgICBmaWVsZE9wdGlvbklkOiBpdGVtW2lkQXR0cmlidXRlXSxcbiAgICAgICAgZmllbGRPcHRpb25WYWx1ZTogaXRlbVtuYW1lQXR0cmlidXRlXVxuICAgICAgfSkpO1xuICAgICAgZmllbGQuc2V0RmllbGRPcHRpb25zKGZpZWxkT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmllbGRTZXQoZmlsdGVyLCBpbnB1dENvZGVzOiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIGxldCBjb2RlcyA9IG51bGw7XG4gICAgaWYgKHR5cGVvZiBpbnB1dENvZGVzID09PSAnc3RyaW5nJyAmJiBpbnB1dENvZGVzKSB7XG4gICAgICBjb2RlcyA9IFtpbnB1dENvZGVzXTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXRDb2RlcykgJiYgaW5wdXRDb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb2RlcyA9IGlucHV0Q29kZXM7XG4gICAgfSBlbHNlIGlmIChzZWNDb2RlICYmICFzdWJDb2RlKSB7XG4gICAgICBjb2RlcyA9IHRoaXMuZ2V0U2VjdGlvbihzZWNDb2RlKT8uZ2V0RmllbGROYW1lcygpID8/IFtdO1xuICAgIH0gZWxzZSBpZiAoc2VjQ29kZSAmJiBzdWJDb2RlKSB7XG4gICAgICBjb2RlcyA9IHRoaXMuZ2V0U3ViU2VjdGlvbihzZWNDb2RlLCBzdWJDb2RlKT8uZ2V0RmllbGROYW1lcygpID8/IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2RlcyA9IHRoaXMuZ2V0RmllbGROYW1lcygpO1xuICAgIH1cbiAgICByZXR1cm4gKGZpbHRlcikgPyBjb2Rlcy5maWx0ZXIoZmxkID0+IGZpbHRlcih0aGlzLmdldEZpZWxkKGZsZCkpKSA6IGNvZGVzO1xuICB9XG5cbiAgYXBwbHlPbkZpZWxkcyhwcm9jZXNzRnVuYywgaW5wdXRDb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAoIXByb2Nlc3NGdW5jKSB7IHJldHVybiAwOyB9XG4gICAgY29uc3QgY29kZXMgPSB0aGlzLmdldEZpZWxkU2V0KG51bGwsIGlucHV0Q29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICAgIGxldCBwcm9jZXNzZWRGaWVsZHMgPSAwO1xuICAgIGZvciAoY29uc3QgY29kZSBvZiBjb2Rlcykge1xuICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkKGNvZGUpO1xuICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcHJvY2Vzc0Z1bmMoZmllbGQpO1xuICAgICAgICAgIHByb2Nlc3NlZEZpZWxkcyArPSAxO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYEVycm9yIHByb2Nlc2FuZG8gZnVuY2lvbiBlbiBjYW1wbyAke2ZpZWxkfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9jZXNzZWRGaWVsZHM7XG4gIH1cblxuICBlbmFibGVGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5lbmFibGUoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgc2hvd0ZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbHlPbkZpZWxkcyhmbGQgPT4gZmxkLnNob3coKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgaGlkZUZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbHlPbkZpZWxkcyhmbGQgPT4gZmxkLmhpZGUoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgc2hvd0xhYmVsRmllbGRzKGNvZGVzPzogc3RyaW5nW10gfCBzdHJpbmcsIHNlY0NvZGU/OiBzdHJpbmcsIHN1YkNvZGU/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcHBseU9uRmllbGRzKGZsZCA9PiBmbGQuc2hvd0xhYmxlbCgpLCBjb2Rlcywgc2VjQ29kZSwgc3ViQ29kZSk7XG4gIH1cblxuICBoaWRlTGFiZWxGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5oaWRlTGFiZWwoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZGlzYWJsZUZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbHlPbkZpZWxkcyhmbGQgPT4gZmxkLmRpc2FibGUoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgY2xlYW5GaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5jbGVhbigpLCBjb2Rlcywgc2VjQ29kZSwgc3ViQ29kZSk7XG4gIH1cblxuICB0YWdGaWVsZHNXaXRoRXJyb3IobWVzc2FnZSwgY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5T25GaWVsZHMoZmxkID0+IGZsZC5zZXRFcnJvck1lc3NhZ2UobWVzc2FnZSksIGNvZGVzLCBzZWNDb2RlLCBzdWJDb2RlKTtcbiAgfVxuXG4gIGNsZWFuRXJyb3JGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHRoaXMudGFnRmllbGRzV2l0aEVycm9yKCcnLCBjb2Rlcywgc2VjQ29kZSwgc3ViQ29kZSk7XG4gIH1cblxuICB0YWdFbXB0eVJlcXVpcmVkRmllbGRzKG1lc3NhZ2UsIGNvZGVzID0gbnVsbCwgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRhZ0ZpZWxkc1dpdGhFcnJvcihtZXNzYWdlLCB0aGlzLmdldFJlcXVpcmVkRW1wdHlGaWVsZHMoY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpKSA+IDA7XG4gIH1cblxuICBnZXRSZXF1aXJlZEZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRTZXQoZmxkID0+IGZsZC5yZXF1aXJlZCwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZ2V0UmVxdWlyZWRFbXB0eUZpZWxkcyhjb2Rlcz86IHN0cmluZ1tdIHwgc3RyaW5nLCBzZWNDb2RlPzogc3RyaW5nLCBzdWJDb2RlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmllbGRTZXQoZmxkID0+IGZsZC5yZXF1aXJlZCAmJiBmbGQuZW1wdHksIGNvZGVzLCBzZWNDb2RlLCBzdWJDb2RlKTtcbiAgfVxuXG4gIGdldENoYW5nZWRGaWVsZHMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEZpZWxkU2V0KGZsZCA9PiAhZmxkLm91dHB1dE9ubHkgJiYgZmxkLmhhc0NoYW5nZWQoKSwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZ2V0RmllbGRzV2l0aFZhbGlkYXRpb25Jc3N1ZXMoY29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEZpZWxkU2V0KGZsZCA9PiBmbGQuZXJyb3JDb2RlICE9PSBOT19FUlJPUiwgY29kZXMsIHNlY0NvZGUsIHN1YkNvZGUpO1xuICB9XG5cbiAgZ2V0RmllbGRzVmFsdWVzKGlucHV0Q29kZXM/OiBzdHJpbmdbXSB8IHN0cmluZywgc2VjQ29kZT86IHN0cmluZywgc3ViQ29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IGNvZGVzID0gdGhpcy5nZXRGaWVsZFNldChudWxsLCBpbnB1dENvZGVzLCBzZWNDb2RlLCBzdWJDb2RlKTtcbiAgICBjb25zdCByZXN1bHRPYmplY3QgPSB7fTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29kZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBjb2RlID0gY29kZXNbaW5kZXhdO1xuICAgICAgaWYgKGNvZGUpIHtcbiAgICAgICAgcmVzdWx0T2JqZWN0W2NvZGVdID0gdGhpcy5fZmllbGRzPy5bY29kZV0/LmdldFZhbHVlKCkgPz8gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdE9iamVjdDtcbiAgfVxuXG4gIC8vIEFjY2lvbmVzXG4gIGdldCBhY3Rpb25zKCkgeyByZXR1cm4gdGhpcy5fYWN0aW9uczsgfVxuXG4gIGdldEFjdGlvbnNCeUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlKSB7IHJldHVybiB0aGlzLl9hY3Rpb25BcnJheS5maWx0ZXIoYWN0aW9uSXRlbSA9PiBhY3Rpb25JdGVtLm1hdGNoQXR0cmlidXRlKG5hbWUsIHZhbHVlKSk7IH1cbiAgZ2V0QWN0aW9ucygpIHsgcmV0dXJuIHRoaXMuX2FjdGlvbkFycmF5OyB9XG4gIGdldEFjdGlvbihjb2RlOiBzdHJpbmcpIHsgcmV0dXJuIChjb2RlICYmIHRoaXMuX2FjdGlvbnM/Lltjb2RlXSkgPyB0aGlzLl9hY3Rpb25zW2NvZGVdIDogbnVsbDsgfVxuICBzaG93QWN0aW9ucyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuZXhlY09uQWN0aW9ucyhjb2RlcywgU0hPVyk7IH1cbiAgaGlkZUFjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPbkFjdGlvbnMoY29kZXMsIEhJREUpOyB9XG4gIGVuYWJsZUFjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPbkFjdGlvbnMoY29kZXMsIEVOQUJMRSk7IH1cbiAgZGlzYWJsZUFjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPbkFjdGlvbnMoY29kZXMsIERJU0FCTEUpOyB9XG5cbiAgZXhlY09uQWN0aW9ucyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcsIGZ1bmN0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWN0aW9uQ29kZXMgPSAoQXJyYXkuaXNBcnJheShjb2RlcykpID8gY29kZXMgOiAoY29kZXMgPyBbY29kZXNdIDogW10pO1xuICAgIGlmICghZnVuY3Rpb25OYW1lIHx8IGFjdGlvbkNvZGVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cbiAgICBhY3Rpb25Db2Rlcy5mb3JFYWNoKGNvZGUgPT4ge1xuICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oY29kZSk7XG4gICAgICBhY3Rpb24/LltmdW5jdGlvbk5hbWVdPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFRhYmxhc1xuICBnZXQgdGFibGVzKCkgeyByZXR1cm4gdGhpcy50YWJsZXM7IH1cbiAgZ2V0VGFibGVzKCkgeyByZXR1cm4gdGhpcy5fdGFibGVBcnJheTsgfVxuICBnZXRUYWJsZShjb2RlOiBzdHJpbmcpIHsgcmV0dXJuIChjb2RlICYmIHRoaXMuX3RhYmxlcz8uW2NvZGVdKSA/IHRoaXMuX3RhYmxlc1tjb2RlXSA6IG51bGw7IH1cbiAgZ2V0VGFibGVSZWNvcmQoY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7IHJldHVybiB0aGlzLmdldFRhYmxlKGNvZGUpPy5nZXRUYWJsZVJlY29yZChpZCkgfVxuXG4gIGVuYWJsZVRhYmxlcyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuZXhlY09uVGFibGVzKGNvZGVzLCBFTkFCTEUpOyB9XG4gIGRpc2FibGVUYWJsZXMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7IHJldHVybiB0aGlzLmV4ZWNPblRhYmxlcyhjb2RlcywgRElTQUJMRSk7IH1cbiAgc2hvd1RhYmxlcyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpIHsgcmV0dXJuIHRoaXMuZXhlY09uVGFibGVzKGNvZGVzLCBTSE9XKTsgfVxuICBoaWRlVGFibGVzKGNvZGVzOiBzdHJpbmdbXSB8IHN0cmluZykgeyByZXR1cm4gdGhpcy5leGVjT25UYWJsZXMoY29kZXMsIEhJREUpOyB9XG4gIGNsZWFuVGFibGVzKGNvZGVzOiBzdHJpbmdbXSB8IHN0cmluZykgeyByZXR1cm4gdGhpcy5leGVjT25UYWJsZXMoY29kZXMsIENMRUFOKTsgfVxuXG4gIGV4ZWNPblRhYmxlcyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcsIGZ1bmN0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdGFibGVDb2RlcyA9IChBcnJheS5pc0FycmF5KGNvZGVzKSkgPyBjb2RlcyA6IChjb2RlcyA/IFtjb2Rlc10gOiBbXSk7XG4gICAgaWYgKCFmdW5jdGlvbk5hbWUgfHwgdGFibGVDb2Rlcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgdGFibGVDb2Rlcy5mb3JFYWNoKGNvZGUgPT4ge1xuICAgICAgY29uc3QgdGFibGUgPSB0aGlzLmdldFRhYmxlKGNvZGUpO1xuICAgICAgdGFibGU/LltmdW5jdGlvbk5hbWVdPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFNlY2Npb25lc1xuICBnZXQgc2VjdGlvbnMoKTogUmVjb3JkRm9ybVNlY3Rpb25bXSB7IHJldHVybiB0aGlzLl9zZWN0aW9uQXJyYXk7IH1cbiAgZ2V0U2VjdGlvbnMoKTogUmVjb3JkRm9ybVNlY3Rpb25bXSB7IHJldHVybiB0aGlzLnNlY3Rpb25zOyB9XG4gIGdldFNlY3Rpb25zQnlBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOiBSZWNvcmRGb3JtU2VjdGlvbltdIHsgcmV0dXJuIHRoaXMuX3NlY3Rpb25BcnJheS5maWx0ZXIoaXRlbSA9PiBpdGVtLm1hdGNoQXR0cmlidXRlKG5hbWUsIHZhbHVlKSk7IH1cbiAgZ2V0IHNlY3Rpb25UaXRsZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5fc2VjdGlvbkFycmF5Lm1hcChmb3JtU2VjdGlvbiA9PiBmb3JtU2VjdGlvbi5zZWN0aW9uVGl0bGUpOyB9XG4gIGdldCB2aXNpYmxlU2VjdGlvbnMoKTogUmVjb3JkRm9ybVNlY3Rpb25bXSB7IHJldHVybiB0aGlzLl9zZWN0aW9uQXJyYXkuZmlsdGVyKHNlYyA9PiBzZWMudmlzaWJsZSk7IH1cbiAgZ2V0U2VjdGlvbihjb2RlOiBzdHJpbmcpOiBSZWNvcmRGb3JtU2VjdGlvbiB7IHJldHVybiAoY29kZSAmJiB0aGlzLl9zZWN0aW9ucz8uW2NvZGVdKSA/IHRoaXMuX3NlY3Rpb25zW2NvZGVdIDogbnVsbDsgfVxuICBzaG93U2VjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogdm9pZCB7IHRoaXMuZXhlY09uU2VjdGlvbnMoY29kZXMsIFNIT1cpOyB9XG4gIGhpZGVTZWN0aW9ucyhjb2Rlczogc3RyaW5nW10gfCBzdHJpbmcpOiB2b2lkIHsgdGhpcy5leGVjT25TZWN0aW9ucyhjb2RlcywgSElERSk7IH1cbiAgYWN0aXZlU2VjdGlvbigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZXhjbHVzaXZlU2VjdGlvbnNCeUF0dHJbQUNUSVZFXTsgfVxuICBnZXRTdWJTZWN0aW9uKGNvZGU6IHN0cmluZywgc3ViQ29kZSk6IFJlY29yZEZvcm1TdWJTZWN0aW9uIHsgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbihjb2RlKT8uZ2V0U3Vic2VjdGlvbihzdWJDb2RlKSA/PyBudWxsOyB9XG4gIHNob3dTdWJTZWN0aW9ucyhjb2RlOiBzdHJpbmcsIHN1YkNvZGVzOiBzdHJpbmdbXSB8IHN0cmluZyk6IHZvaWQgeyByZXR1cm4gdGhpcy5leGVjT25TdWJTZWN0aW9ucyhjb2RlLCBzdWJDb2RlcywgU0hPVyk7IH1cbiAgaGlkZVN1YlNlY3Rpb25zKGNvZGU6IHN0cmluZywgc3ViQ29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogdm9pZCB7IHJldHVybiB0aGlzLmV4ZWNPblN1YlNlY3Rpb25zKGNvZGUsIHN1YkNvZGVzLCBISURFKTsgfVxuXG4gIGFjdGl2YXRlU2VjdGlvbihjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29kZSA9PT0gdGhpcy5fZXhjbHVzaXZlU2VjdGlvbnNCeUF0dHJbQUNUSVZFXSkgeyByZXR1cm47IH1cbiAgICB0aGlzLmdldFNlY3Rpb24odGhpcy5hY3RpdmVTZWN0aW9uKCkpPy5pbmFjdGl2YXRlKCk7XG4gICAgdGhpcy5nZXRTZWN0aW9uKGNvZGUpPy5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuX2V4Y2x1c2l2ZVNlY3Rpb25zQnlBdHRyW0FDVElWRV0gPSBjb2RlO1xuICB9XG5cbiAgZXhlY09uU2VjdGlvbnMoY29kZXM6IHN0cmluZ1tdIHwgc3RyaW5nLCBmdW5jdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlY3Rpb25Db2RlcyA9IChBcnJheS5pc0FycmF5KGNvZGVzKSkgPyBjb2RlcyA6IChjb2RlcyA/IFtjb2Rlc10gOiBbXSk7XG4gICAgaWYgKCFmdW5jdGlvbk5hbWUgfHwgc2VjdGlvbkNvZGVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cbiAgICBzZWN0aW9uQ29kZXMuZm9yRWFjaChjb2RlID0+IHtcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmdldFNlY3Rpb24oY29kZSk7XG4gICAgICBzZWN0aW9uPy5bZnVuY3Rpb25OYW1lXT8uKCk7XG4gICAgfSk7XG4gIH1cblxuICBleGVjT25TdWJTZWN0aW9ucyhjb2RlOiBzdHJpbmcsIHN1Yk5hbWVzOiBzdHJpbmdbXSB8IHN0cmluZywgZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzdWJDb2RlcyA9IChBcnJheS5pc0FycmF5KHN1Yk5hbWVzKSkgPyBzdWJOYW1lcyA6IChzdWJOYW1lcyA/IFtzdWJOYW1lc10gOiBbXSk7XG4gICAgY29uc3Qgc2VjdGlvbiA9IHRoaXMuZ2V0U2VjdGlvbihjb2RlKTtcbiAgICBpZiAoIWZ1bmN0aW9uTmFtZSB8fCAhc2VjdGlvbiB8fCBzdWJDb2Rlcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgZm9yIChjb25zdCBzdWJDb2RlIG9mIHN1YkNvZGVzKSB7XG4gICAgICBjb25zdCBzdWJTZWN0aW9uID0gdGhpcy5nZXRTdWJTZWN0aW9uKGNvZGUsIHN1YkNvZGUpO1xuICAgICAgc3ViU2VjdGlvbj8uW2Z1bmN0aW9uTmFtZV0/LigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvcyBwcm9waW9zIGRlIGdlc3Rpw7NuIGRlbCBmb3JtdWxhcmlvXG4gICAqL1xuXG4gIGNsZWFuRGF0YSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuX2ZpZWxkQXJyYXkpIHtcbiAgICAgIGZpZWxkLnNldFZhbHVlKGZpZWxkLmRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGhpcy5fdGFibGVBcnJheSkge1xuICAgICAgdGFibGUuY2xlYW4oKTtcbiAgICB9XG4gIH1cblxuICBnZXRQYXlsb2FkKCk6IGFueSB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1QYXlsb2FkID0ge1xuICAgICAgZmllbGRzOiBbXSxcbiAgICAgIHRhYmxlczogW10sXG4gICAgfTtcbiAgICBmb3JtRGF0YS5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpLmZpbHRlcihmbGQgPT4gIWZsZC5vdXRwdXRPbmx5KVxuICAgICAgLm1hcChmbGQgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFBheWxvYWQ6IEZpZWxkUGF5bG9hZCA9IHtcbiAgICAgICAgICBmaWVsZENvZGU6IGZsZC5maWVsZENvZGUsXG4gICAgICAgICAgZmllbGRWYWx1ZTogZmxkLmdldFZhbHVlKCksXG4gICAgICAgICAgZWRpdGFibGU6ICFmbGQuZGlzYWJsZWQsXG4gICAgICAgICAgdmlzaWJsZTogZmxkLnZpc2libGUsXG4gICAgICAgICAgcmVxdWlyZWQ6IGZsZC5yZXF1aXJlZCxcbiAgICAgICAgICBmaWVsZE9wdGlvbnM6ICcnLFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZFBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIGZvcm1EYXRhLnRhYmxlcyA9IHRoaXMuZ2V0VGFibGVzKCkubWFwKHRibCA9PiB7XG4gICAgICBjb25zdCB0YWJsZVBheWxvYWQ6IFRhYmxlUGF5bG9hZCA9IHtcbiAgICAgICAgdGFibGVDb2RlOiB0YmwudGFibGVDb2RlLFxuICAgICAgICB2aXNpYmxlOiB0YmwudmlzaWJsZSxcbiAgICAgICAgY3VycmVudFBhZ2U6IHRibC5jdXJyZW50UGFnZSxcbiAgICAgICAgcmVxdWVzdGVkUGFnZTogdGJsLnJlcXVlc3RlZFBhZ2UsXG4gICAgICAgIHJlY29yZHNQZXJQYWdlOiB0YmwucmVjb3Jkc1BlclBhZ2UsXG4gICAgICAgIGN1cnJlbnRGaWx0ZXI6IHRibC5jdXJyZW50RmlsdGVyLFxuICAgICAgICBzb3J0aW5nQ29sdW1uOiB0Ymwuc29ydGluZy5jb2x1bW5OYW1lLFxuICAgICAgICBzb3J0aW5nRGlyZWN0aW9uOiB0Ymwuc29ydGluZy5kaXJlY3Rpb24sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRhYmxlUGF5bG9hZFxuICAgIH0pXG4gICAgcmV0dXJuIGZvcm1EYXRhO1xuICB9XG59XG4iXX0=
@@ -22,15 +22,15 @@ export class RecordFormSubSection {
22
22
  const { type, code } = receivedElement;
23
23
  switch (type) {
24
24
  case elementTypes.field:
25
- elementObject = formObject.getFieldObject(code);
25
+ elementObject = formObject.getField(code);
26
26
  arrayToAdd = this.subSectionFields;
27
27
  break;
28
28
  case elementTypes.table:
29
- elementObject = formObject.getTableObject(code);
29
+ elementObject = formObject.getTable(code);
30
30
  arrayToAdd = this.subSectionTables;
31
31
  break;
32
32
  case elementTypes.action:
33
- elementObject = formObject.getActionObject(code);
33
+ elementObject = formObject.getAction(code);
34
34
  arrayToAdd = this.subSectionActions;
35
35
  break;
36
36
  }
@@ -61,4 +61,4 @@ export class RecordFormSubSection {
61
61
  }
62
62
  supportMode(state) { return this.viewOnState(state); }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFvQjtJQWMvQixZQUFZLGtCQUFrQixFQUFFLFVBQVU7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQzVELElBQUksa0JBQWtCLENBQUMsUUFBUSxFQUFFO1lBQy9CLEtBQUssTUFBTSxlQUFlLElBQUksa0JBQWtCLENBQUMsUUFBUSxFQUFFO2dCQUN6RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUM7Z0JBQ3ZDLFFBQVEsSUFBSSxFQUFFO29CQUNaLEtBQUssWUFBWSxDQUFDLEtBQUs7d0JBQ3JCLGFBQWEsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNoRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO3dCQUNuQyxNQUFNO29CQUNSLEtBQUssWUFBWSxDQUFDLEtBQUs7d0JBQ3JCLGFBQWEsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNoRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO3dCQUNuQyxNQUFNO29CQUNSLEtBQUssWUFBWSxDQUFDLE1BQU07d0JBQ3RCLGFBQWEsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNqRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO3dCQUNwQyxNQUFNO2lCQUNUO2dCQUNELElBQUksYUFBYSxFQUFFO29CQUNqQixhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztvQkFDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUM7aUJBQzFDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9CLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFaEMsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUU3RSxRQUFRLENBQUMsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbGVtZW50VHlwZXMgfSBmcm9tICcuL2Zvcm0uY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TdWJTZWN0aW9uIHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgX2N1c3RvbVJlbmRlcjogc3RyaW5nO1xuICBzdWJzZWN0aW9uSWQ6IHN0cmluZztcbiAgc3Vic2VjdGlvbkNvZGU6IHN0cmluZztcbiAgc3Vic2VjdGlvblRpdGxlOiBzdHJpbmc7XG4gIHZpc2libGVTdGF0ZXM6IHN0cmluZ1tdO1xuXG4gIHN1YlNlY3Rpb25FbGVtZW50czogYW55W107XG4gIHN1YlNlY3Rpb25GaWVsZHM6IGFueVtdO1xuICBzdWJTZWN0aW9uVGFibGVzOiBhbnlbXTtcbiAgc3ViU2VjdGlvbkFjdGlvbnM6IGFueVtdO1xuICBlbGVtZW50c0FycmF5OiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc3Vic2VjdGlvblJlY2VpdmVkLCBmb3JtT2JqZWN0KSB7XG4gICAgaWYgKCFzdWJzZWN0aW9uUmVjZWl2ZWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fY3VzdG9tUmVuZGVyID0gbnVsbDtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuc3ViU2VjdGlvbkVsZW1lbnRzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uRmllbGRzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uVGFibGVzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uQWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuZWxlbWVudHNBcnJheSA9IHt9O1xuICAgIHRoaXMuc3Vic2VjdGlvbklkID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uSWQpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uQ29kZSA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uVGl0bGUgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvblRpdGxlIDogJyc7XG4gICAgdGhpcy52aXNpYmxlU3RhdGVzID0gc3Vic2VjdGlvblJlY2VpdmVkLnZpc2libGVTdGF0ZXMgfHwgW107XG4gICAgaWYgKHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgZm9yIChjb25zdCByZWNlaXZlZEVsZW1lbnQgb2Ygc3Vic2VjdGlvblJlY2VpdmVkLmVsZW1lbnRzKSB7XG4gICAgICAgIGxldCBlbGVtZW50T2JqZWN0ID0gbnVsbDtcbiAgICAgICAgbGV0IGFycmF5VG9BZGQgPSBudWxsO1xuICAgICAgICBjb25zdCB7IHR5cGUsIGNvZGUgfSA9IHJlY2VpdmVkRWxlbWVudDtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBlbGVtZW50VHlwZXMuZmllbGQ6XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRGaWVsZE9iamVjdChjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25GaWVsZHM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGVsZW1lbnRUeXBlcy50YWJsZTpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldFRhYmxlT2JqZWN0KGNvZGUpO1xuICAgICAgICAgICAgYXJyYXlUb0FkZCA9IHRoaXMuc3ViU2VjdGlvblRhYmxlcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmFjdGlvbjpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldEFjdGlvbk9iamVjdChjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25BY3Rpb25zO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnRPYmplY3QpIHtcbiAgICAgICAgICBlbGVtZW50T2JqZWN0LmVsZW1lbnRUeXBlID0gdHlwZTtcbiAgICAgICAgICBhcnJheVRvQWRkLnB1c2goZWxlbWVudE9iamVjdCk7XG4gICAgICAgICAgdGhpcy5zdWJTZWN0aW9uRWxlbWVudHMucHVzaChlbGVtZW50T2JqZWN0KTtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRzQXJyYXlbY29kZV0gPSBlbGVtZW50T2JqZWN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHsgdGhpcy52aXNpYmxlID0gdHJ1ZTsgfVxuICBoaWRlKCkgeyB0aGlzLnZpc2libGUgPSBmYWxzZTsgfVxuXG4gIGdldCBjdXN0b21SZW5kZXIoKSB7IHJldHVybiB0aGlzLl9jdXN0b21SZW5kZXI7IH1cbiAgc2V0IGN1c3RvbVJlbmRlcihjdXN0b21SZW5kZXJOYW1lKSB7IHRoaXMuX2N1c3RvbVJlbmRlciA9IGN1c3RvbVJlbmRlck5hbWU7IH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5maW5kKGZsZCA9PiBmbGQubmFtZSA9PT0gbmFtZSk7XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcztcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuZmllbGRDb2RlKTtcbiAgfVxuXG4gIHZpZXdPblN0YXRlKHN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZVN0YXRlcy5pbmNsdWRlcyhzdGF0ZSk7XG4gIH1cblxuICBzdXBwb3J0TW9kZShzdGF0ZSkgeyByZXR1cm4gdGhpcy52aWV3T25TdGF0ZShzdGF0ZSk7IH1cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NsYXNzZXMvZm9ybXMvc3Vic2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFvQjtJQWMvQixZQUFZLGtCQUFrQixFQUFFLFVBQVU7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQzVELElBQUksa0JBQWtCLENBQUMsUUFBUSxFQUFFO1lBQy9CLEtBQUssTUFBTSxlQUFlLElBQUksa0JBQWtCLENBQUMsUUFBUSxFQUFFO2dCQUN6RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUM7Z0JBQ3ZDLFFBQVEsSUFBSSxFQUFFO29CQUNaLEtBQUssWUFBWSxDQUFDLEtBQUs7d0JBQ3JCLGFBQWEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO3dCQUNuQyxNQUFNO29CQUNSLEtBQUssWUFBWSxDQUFDLEtBQUs7d0JBQ3JCLGFBQWEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO3dCQUNuQyxNQUFNO29CQUNSLEtBQUssWUFBWSxDQUFDLE1BQU07d0JBQ3RCLGFBQWEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMzQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO3dCQUNwQyxNQUFNO2lCQUNUO2dCQUNELElBQUksYUFBYSxFQUFFO29CQUNqQixhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztvQkFDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUM7aUJBQzFDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9CLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFaEMsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUU3RSxRQUFRLENBQUMsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbGVtZW50VHlwZXMgfSBmcm9tICcuL2Zvcm0uY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1TdWJTZWN0aW9uIHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgX2N1c3RvbVJlbmRlcjogc3RyaW5nO1xuICBzdWJzZWN0aW9uSWQ6IHN0cmluZztcbiAgc3Vic2VjdGlvbkNvZGU6IHN0cmluZztcbiAgc3Vic2VjdGlvblRpdGxlOiBzdHJpbmc7XG4gIHZpc2libGVTdGF0ZXM6IHN0cmluZ1tdO1xuXG4gIHN1YlNlY3Rpb25FbGVtZW50czogYW55W107XG4gIHN1YlNlY3Rpb25GaWVsZHM6IGFueVtdO1xuICBzdWJTZWN0aW9uVGFibGVzOiBhbnlbXTtcbiAgc3ViU2VjdGlvbkFjdGlvbnM6IGFueVtdO1xuICBlbGVtZW50c0FycmF5OiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc3Vic2VjdGlvblJlY2VpdmVkLCBmb3JtT2JqZWN0KSB7XG4gICAgaWYgKCFzdWJzZWN0aW9uUmVjZWl2ZWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5fY3VzdG9tUmVuZGVyID0gbnVsbDtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuc3ViU2VjdGlvbkVsZW1lbnRzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uRmllbGRzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uVGFibGVzID0gW107XG4gICAgdGhpcy5zdWJTZWN0aW9uQWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuZWxlbWVudHNBcnJheSA9IHt9O1xuICAgIHRoaXMuc3Vic2VjdGlvbklkID0gKHN1YnNlY3Rpb25SZWNlaXZlZC5zdWJzZWN0aW9uSWQpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25JZC50b1N0cmluZygpIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uQ29kZSA9IChzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvbkNvZGUpID8gc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25Db2RlIDogJyc7XG4gICAgdGhpcy5zdWJzZWN0aW9uVGl0bGUgPSAoc3Vic2VjdGlvblJlY2VpdmVkLnN1YnNlY3Rpb25UaXRsZSkgPyBzdWJzZWN0aW9uUmVjZWl2ZWQuc3Vic2VjdGlvblRpdGxlIDogJyc7XG4gICAgdGhpcy52aXNpYmxlU3RhdGVzID0gc3Vic2VjdGlvblJlY2VpdmVkLnZpc2libGVTdGF0ZXMgfHwgW107XG4gICAgaWYgKHN1YnNlY3Rpb25SZWNlaXZlZC5lbGVtZW50cykge1xuICAgICAgZm9yIChjb25zdCByZWNlaXZlZEVsZW1lbnQgb2Ygc3Vic2VjdGlvblJlY2VpdmVkLmVsZW1lbnRzKSB7XG4gICAgICAgIGxldCBlbGVtZW50T2JqZWN0ID0gbnVsbDtcbiAgICAgICAgbGV0IGFycmF5VG9BZGQgPSBudWxsO1xuICAgICAgICBjb25zdCB7IHR5cGUsIGNvZGUgfSA9IHJlY2VpdmVkRWxlbWVudDtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBlbGVtZW50VHlwZXMuZmllbGQ6XG4gICAgICAgICAgICBlbGVtZW50T2JqZWN0ID0gZm9ybU9iamVjdC5nZXRGaWVsZChjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25GaWVsZHM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGVsZW1lbnRUeXBlcy50YWJsZTpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldFRhYmxlKGNvZGUpO1xuICAgICAgICAgICAgYXJyYXlUb0FkZCA9IHRoaXMuc3ViU2VjdGlvblRhYmxlcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgZWxlbWVudFR5cGVzLmFjdGlvbjpcbiAgICAgICAgICAgIGVsZW1lbnRPYmplY3QgPSBmb3JtT2JqZWN0LmdldEFjdGlvbihjb2RlKTtcbiAgICAgICAgICAgIGFycmF5VG9BZGQgPSB0aGlzLnN1YlNlY3Rpb25BY3Rpb25zO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnRPYmplY3QpIHtcbiAgICAgICAgICBlbGVtZW50T2JqZWN0LmVsZW1lbnRUeXBlID0gdHlwZTtcbiAgICAgICAgICBhcnJheVRvQWRkLnB1c2goZWxlbWVudE9iamVjdCk7XG4gICAgICAgICAgdGhpcy5zdWJTZWN0aW9uRWxlbWVudHMucHVzaChlbGVtZW50T2JqZWN0KTtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRzQXJyYXlbY29kZV0gPSBlbGVtZW50T2JqZWN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHsgdGhpcy52aXNpYmxlID0gdHJ1ZTsgfVxuICBoaWRlKCkgeyB0aGlzLnZpc2libGUgPSBmYWxzZTsgfVxuXG4gIGdldCBjdXN0b21SZW5kZXIoKSB7IHJldHVybiB0aGlzLl9jdXN0b21SZW5kZXI7IH1cbiAgc2V0IGN1c3RvbVJlbmRlcihjdXN0b21SZW5kZXJOYW1lKSB7IHRoaXMuX2N1c3RvbVJlbmRlciA9IGN1c3RvbVJlbmRlck5hbWU7IH1cblxuICBnZXRGaWVsZChuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5maW5kKGZsZCA9PiBmbGQubmFtZSA9PT0gbmFtZSk7XG4gIH1cblxuICBnZXRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcztcbiAgfVxuXG4gIGdldEZpZWxkTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViU2VjdGlvbkZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQuZmllbGRDb2RlKTtcbiAgfVxuXG4gIHZpZXdPblN0YXRlKHN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZVN0YXRlcy5pbmNsdWRlcyhzdGF0ZSk7XG4gIH1cblxuICBzdXBwb3J0TW9kZShzdGF0ZSkgeyByZXR1cm4gdGhpcy52aWV3T25TdGF0ZShzdGF0ZSk7IH1cbn1cbiJdfQ==
@@ -30,11 +30,11 @@ export class ActionComponent {
30
30
  }
31
31
  get visible() {
32
32
  var _a;
33
- return ((_a = this.action) === null || _a === void 0 ? void 0 : _a.visibleOn(this.currentState)) && this.visibleOnRestriction();
33
+ return ((_a = this.action) === null || _a === void 0 ? void 0 : _a.visibleOn(this.state)) && this.visibleOnRestriction();
34
34
  }
35
35
  get disabled() {
36
36
  var _a;
37
- return !((_a = this.action) === null || _a === void 0 ? void 0 : _a.enabledOn(this.currentState));
37
+ return !((_a = this.action) === null || _a === void 0 ? void 0 : _a.enabledOn(this.state));
38
38
  }
39
39
  }
40
40
  ActionComponent.decorators = [
@@ -47,8 +47,8 @@ ActionComponent.propDecorators = {
47
47
  action: [{ type: Input }],
48
48
  busy: [{ type: Input }],
49
49
  relatedField: [{ type: Input }],
50
- currentState: [{ type: Input }],
50
+ state: [{ type: Input }],
51
51
  style: [{ type: Input }],
52
52
  showLabel: [{ type: Input }]
53
53
  };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQVF6RCxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQWFXLFVBQUssR0FBRyxTQUFTLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQWtDNUIsQ0FBQztJQWhDQyxRQUFROztRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDO0lBRVgsUUFBUTs7UUFDTixJQUFJLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsZ0JBQWdCLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjs7UUFDbEIsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxpQkFBaUIsQ0FBQSxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLG9CQUFvQixNQUFLLElBQUk7ZUFDMUMsSUFBSSxDQUFDLFlBQVksTUFBSyxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLGlCQUFpQixDQUFBLENBQUM7ZUFDckQsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsb0JBQW9CLE1BQUssSUFBSTttQkFDekMsSUFBSSxDQUFDLFlBQVksTUFBSyxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLGlCQUFpQixDQUFBLENBQUMsRUFBRTtZQUM1RCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTzs7UUFDVCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xGLENBQUM7SUFFRCxJQUFJLFFBQVE7O1FBQ1YsT0FBTyxDQUFDLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7O1lBL0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs7O3FCQUtFLEtBQUs7bUJBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7b0JBRUwsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3Jtcy9hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db25maWc6IGFueTtcbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgQElucHV0KCkgYWN0aW9uOiBGb3JtQWN0aW9uO1xuICBASW5wdXQoKSBidXN5OiBhbnk7XG4gIEBJbnB1dCgpIHJlbGF0ZWRGaWVsZDogYW55O1xuICBASW5wdXQoKSBjdXJyZW50U3RhdGU6IGFueTtcblxuICBASW5wdXQoKSBzdHlsZSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2hvd0xhYmVsID0gdHJ1ZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLmFjdGlvbj8uX2Zvcm1Db25maWc7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICBhY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5hY3Rpb24/Lm5vdGlmeUFjdGl2YXRpb24pIHtcbiAgICAgIHRoaXMuYWN0aW9uLm5vdGlmeUFjdGl2YXRpb24oKTtcbiAgICB9XG4gIH1cblxuICB2aXNpYmxlT25SZXN0cmljdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuYWN0aW9uPy5yZXN0cmljdGVkT25GaWVsZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICgodGhpcy5hY3Rpb24/LnJlc3RyaWN0ZWRPbk9wZXJhdG9yID09PSAnPT0nXG4gICAgICAmJiB0aGlzLnJlbGF0ZWRGaWVsZCA9PT0gdGhpcy5hY3Rpb24/LnJlc3RyaWN0ZWRPblZhbHVlKVxuICAgICAgfHwgKHRoaXMuYWN0aW9uPy5yZXN0cmljdGVkT25PcGVyYXRvciA9PT0gJyE9J1xuICAgICAgICAmJiB0aGlzLnJlbGF0ZWRGaWVsZCAhPT0gdGhpcy5hY3Rpb24/LnJlc3RyaWN0ZWRPblZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uPy52aXNpYmxlT24odGhpcy5jdXJyZW50U3RhdGUpICYmIHRoaXMudmlzaWJsZU9uUmVzdHJpY3Rpb24oKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gISh0aGlzLmFjdGlvbj8uZW5hYmxlZE9uKHRoaXMuY3VycmVudFN0YXRlKSk7XG4gIH1cbn0iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQVF6RCxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQWFXLFVBQUssR0FBRyxTQUFTLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQWtDNUIsQ0FBQztJQWhDQyxRQUFROztRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDO0lBRVgsUUFBUTs7UUFDTixJQUFJLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsZ0JBQWdCLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjs7UUFDbEIsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxpQkFBaUIsQ0FBQSxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLG9CQUFvQixNQUFLLElBQUk7ZUFDMUMsSUFBSSxDQUFDLFlBQVksTUFBSyxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLGlCQUFpQixDQUFBLENBQUM7ZUFDckQsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsb0JBQW9CLE1BQUssSUFBSTttQkFDekMsSUFBSSxDQUFDLFlBQVksTUFBSyxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLGlCQUFpQixDQUFBLENBQUMsRUFBRTtZQUM1RCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTzs7UUFDVCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLFFBQVE7O1FBQ1YsT0FBTyxDQUFDLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O1lBL0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs7O3FCQUtFLEtBQUs7bUJBQ0wsS0FBSzsyQkFDTCxLQUFLO29CQUNMLEtBQUs7b0JBRUwsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3Jtcy9hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db25maWc6IGFueTtcbiAgaW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgQElucHV0KCkgYWN0aW9uOiBGb3JtQWN0aW9uO1xuICBASW5wdXQoKSBidXN5OiBhbnk7XG4gIEBJbnB1dCgpIHJlbGF0ZWRGaWVsZDogYW55O1xuICBASW5wdXQoKSBzdGF0ZTogYW55O1xuXG4gIEBJbnB1dCgpIHN0eWxlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuYWN0aW9uPy5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHsgfVxuXG4gIGFjdGl2YXRlKCkge1xuICAgIGlmICh0aGlzLmFjdGlvbj8ubm90aWZ5QWN0aXZhdGlvbikge1xuICAgICAgdGhpcy5hY3Rpb24ubm90aWZ5QWN0aXZhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHZpc2libGVPblJlc3RyaWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5hY3Rpb24/LnJlc3RyaWN0ZWRPbkZpZWxkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCh0aGlzLmFjdGlvbj8ucmVzdHJpY3RlZE9uT3BlcmF0b3IgPT09ICc9PSdcbiAgICAgICYmIHRoaXMucmVsYXRlZEZpZWxkID09PSB0aGlzLmFjdGlvbj8ucmVzdHJpY3RlZE9uVmFsdWUpXG4gICAgICB8fCAodGhpcy5hY3Rpb24/LnJlc3RyaWN0ZWRPbk9wZXJhdG9yID09PSAnIT0nXG4gICAgICAgICYmIHRoaXMucmVsYXRlZEZpZWxkICE9PSB0aGlzLmFjdGlvbj8ucmVzdHJpY3RlZE9uVmFsdWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24/LnZpc2libGVPbih0aGlzLnN0YXRlKSAmJiB0aGlzLnZpc2libGVPblJlc3RyaWN0aW9uKCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuICEodGhpcy5hY3Rpb24/LmVuYWJsZWRPbih0aGlzLnN0YXRlKSk7XG4gIH1cbn0iXX0=
@@ -62,11 +62,11 @@ export class FieldComponent {
62
62
  }
63
63
  get visible() {
64
64
  var _a;
65
- return (_a = this.field) === null || _a === void 0 ? void 0 : _a.visibleOn(this.currentState);
65
+ return (_a = this.field) === null || _a === void 0 ? void 0 : _a.visibleOn(this.state);
66
66
  }
67
67
  get disabled() {
68
68
  var _a;
69
- return !((_a = this.field) === null || _a === void 0 ? void 0 : _a.enabledOn(this.currentState));
69
+ return !((_a = this.field) === null || _a === void 0 ? void 0 : _a.enabledOn(this.state));
70
70
  }
71
71
  }
72
72
  FieldComponent.decorators = [
@@ -77,6 +77,6 @@ FieldComponent.decorators = [
77
77
  ];
78
78
  FieldComponent.propDecorators = {
79
79
  field: [{ type: Input }],
80
- currentState: [{ type: Input }]
80
+ state: [{ type: Input }]
81
81
  };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFBO0FBS2hCLE1BQU0sT0FBTyxjQUFjO0lBMEJ6QixRQUFROztRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxXQUFXLENBQUM7WUFDMUMsaUJBQWlCO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuRCxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLFFBQVEsS0FBSyxLQUFLLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3JEO2FBQ0Y7WUFDRCxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xFLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFBO2lCQUN2QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxLQUFLLEtBQUssQ0FBQztJQUVYLFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWE7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNSLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksT0FBTzs7UUFDVCxPQUFPLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxRQUFROztRQUNWLE9BQU8sQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQSxDQUFDO0lBQ25ELENBQUM7OztZQXZHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7OztvQkF3QkUsS0FBSzsyQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm1zL2ZpZWxkJztcblxuY29uc3QgVkFMVUUgPSAnJ1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpZWxkJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db25maWc6IGFueTtcbiAgLy8gQXRyaWJ1dG9zIG9idGVuaWRvcyBlc3TDoXRpY2FtZW50ZVxuICBjb2RlOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG4gIGZpZWxkSW5mbzogc3RyaW5nO1xuICBmaWVsZEFsaWdubWVudDogc3RyaW5nO1xuICB0b29sdGlwVGV4dDogc3RyaW5nO1xuXG4gIC8vIEF0cmlidXRvcyBhY3R1YWxpemFkb3MgcG9yIHN1YnNjcmlwY2nDs25cbiAgbWF4TGVuZ3RoOiBhbnk7XG4gIG9uVmFsaWRhdGlvbjogYW55O1xuICBjYXB0dXJlVHlwZTogYW55O1xuICB0aXRsZTogYW55O1xuICB0eXBlOiBhbnk7XG4gIHZpc2libGVMYWJlbDogYW55O1xuICByZXF1aXJlZDogYW55O1xuICBvcHRpb25zOiBhbnk7XG5cbiAgZXJyb3JUeXBlOiBhbnk7XG4gIGVycm9yQ29kZTogYW55O1xuICBlcnJvck1lc3NhZ2U6IGFueTtcblxuICBASW5wdXQoKSBmaWVsZDogRmllbGREZXNjcmlwdG9yO1xuICBASW5wdXQoKSBjdXJyZW50U3RhdGU6IGFueTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWVsZCkge1xuICAgICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5maWVsZD8uX2Zvcm1Db25maWc7XG4gICAgICAvLyBJbmljaWFsaXphY2nDs25cbiAgICAgIGNvbnN0IG1hcHBpbmcgPSBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1Db25maWcuY29tcG9uZW50RmllbGRBdHRyTWFwKTtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBbZmllbGRBdHRyLCBjb21wQXR0cjFdID0gbWFwcGluZ1tpbmRleF07XG4gICAgICAgIGNvbnN0IGNvbXBBdHRyID0gY29tcEF0dHIxLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChjb21wQXR0ciA9PT0gVkFMVUUpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpc1tjb21wQXR0cl0gPSB0aGlzLmZpZWxkPy5bZmllbGRBdHRyLnRvU3RyaW5nKCldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBTdWJzY3JpcGNpw7NuIGEgY2FtYmlvcyBlbiBhdHJpYnV0b3NcbiAgICAgIHRoaXMuZmllbGQuYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZTogZmllbGRBdHRyLCB2YWx1ZSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IGNvbXBBdHRyID0gdGhpcy5mb3JtQ29uZmlnLmNvbXBvbmVudEZpZWxkQXR0ck1hcFtmaWVsZEF0dHJdO1xuICAgICAgICBpZiAoY29tcEF0dHIgPT09IFZBTFVFKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXNbY29tcEF0dHJdID0gdmFsdWVcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG5cbiAgZm9jdXMoKSB7IH1cblxuICB1cGRhdGVPYmplY3QoKSB7XG4gICAgdGhpcy5maWVsZC5fZmllbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gIH1cblxuICBpbnB1dENoYW5nZWQoKSB7XG4gICAgdGhpcy5maWVsZC5fZmllbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUNvbnRlbnQoKTtcbiAgfVxuXG4gIGlucHV0VHlwZWQoKSB7XG4gICAgdGhpcy5maWVsZC5fZmllbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5vbklucHV0Q2hhbmdlKCk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSgpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5maWVsZC5fZmllbGRWYWx1ZTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkLm5vdGlmeUVkaXRpb25QYXJ0aWFsKCksIDUwKTtcbiAgfVxuXG4gIG9uQ2hhbmdlQ29udGVudCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGQubm90aWZ5RWRpdGlvbkZpbmlzaCgpLCA1MCk7XG4gIH1cblxuICBvblNob3dJbmZvKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZC5ub3RpZnlFZGl0aW9uRGV0YWlsUmVxdWVzdCgpLCA1MCk7XG4gIH1cblxuICBudW1iZXJJbnB1dFZhbGlkYXRpb24oZXZlbnQpIHtcbiAgICBjb25zdCBrID0gZXZlbnQuY2hhckNvZGU7XG4gICAgcmV0dXJuIChrID4gNDcgJiYgayA8IDU4KTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkPy52aXNpYmxlT24odGhpcy5jdXJyZW50U3RhdGUpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5maWVsZD8uZW5hYmxlZE9uKHRoaXMuY3VycmVudFN0YXRlKTtcbiAgfVxufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFBO0FBS2hCLE1BQU0sT0FBTyxjQUFjO0lBMEJ6QixRQUFROztRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxXQUFXLENBQUM7WUFDMUMsaUJBQWlCO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuRCxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLFFBQVEsS0FBSyxLQUFLLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3JEO2FBQ0Y7WUFDRCxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xFLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFBO2lCQUN2QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxLQUFLLEtBQUssQ0FBQztJQUVYLFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWE7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNSLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksT0FBTzs7UUFDVCxPQUFPLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxRQUFROztRQUNWLE9BQU8sQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDO0lBQzVDLENBQUM7OztZQXZHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7OztvQkF3QkUsS0FBSztvQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm1zL2ZpZWxkJztcblxuY29uc3QgVkFMVUUgPSAnJ1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpZWxkJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db25maWc6IGFueTtcbiAgLy8gQXRyaWJ1dG9zIG9idGVuaWRvcyBlc3TDoXRpY2FtZW50ZVxuICBjb2RlOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG4gIGZpZWxkSW5mbzogc3RyaW5nO1xuICBmaWVsZEFsaWdubWVudDogc3RyaW5nO1xuICB0b29sdGlwVGV4dDogc3RyaW5nO1xuXG4gIC8vIEF0cmlidXRvcyBhY3R1YWxpemFkb3MgcG9yIHN1YnNjcmlwY2nDs25cbiAgbWF4TGVuZ3RoOiBhbnk7XG4gIG9uVmFsaWRhdGlvbjogYW55O1xuICBjYXB0dXJlVHlwZTogYW55O1xuICB0aXRsZTogYW55O1xuICB0eXBlOiBhbnk7XG4gIHZpc2libGVMYWJlbDogYW55O1xuICByZXF1aXJlZDogYW55O1xuICBvcHRpb25zOiBhbnk7XG5cbiAgZXJyb3JUeXBlOiBhbnk7XG4gIGVycm9yQ29kZTogYW55O1xuICBlcnJvck1lc3NhZ2U6IGFueTtcblxuICBASW5wdXQoKSBmaWVsZDogRmllbGREZXNjcmlwdG9yO1xuICBASW5wdXQoKSBzdGF0ZTogYW55O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLmZpZWxkPy5fZm9ybUNvbmZpZztcbiAgICAgIC8vIEluaWNpYWxpemFjacOzblxuICAgICAgY29uc3QgbWFwcGluZyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZm9ybUNvbmZpZy5jb21wb25lbnRGaWVsZEF0dHJNYXApO1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IFtmaWVsZEF0dHIsIGNvbXBBdHRyMV0gPSBtYXBwaW5nW2luZGV4XTtcbiAgICAgICAgY29uc3QgY29tcEF0dHIgPSBjb21wQXR0cjEudG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKGNvbXBBdHRyID09PSBWQUxVRSkge1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzW2NvbXBBdHRyXSA9IHRoaXMuZmllbGQ/LltmaWVsZEF0dHIudG9TdHJpbmcoKV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIFN1YnNjcmlwY2nDs24gYSBjYW1iaW9zIGVuIGF0cmlidXRvc1xuICAgICAgdGhpcy5maWVsZC5hdHRyaWJ1dGVDaGFuZ2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgY29uc3QgeyBuYW1lOiBmaWVsZEF0dHIsIHZhbHVlIH0gPSBldmVudDtcbiAgICAgICAgY29uc3QgY29tcEF0dHIgPSB0aGlzLmZvcm1Db25maWcuY29tcG9uZW50RmllbGRBdHRyTWFwW2ZpZWxkQXR0cl07XG4gICAgICAgIGlmIChjb21wQXR0ciA9PT0gVkFMVUUpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpc1tjb21wQXR0cl0gPSB2YWx1ZVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICBmb2N1cygpIHsgfVxuXG4gIHVwZGF0ZU9iamVjdCgpIHtcbiAgICB0aGlzLmZpZWxkLl9maWVsZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIGlucHV0Q2hhbmdlZCgpIHtcbiAgICB0aGlzLmZpZWxkLl9maWVsZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlQ29udGVudCgpO1xuICB9XG5cbiAgaW5wdXRUeXBlZCgpIHtcbiAgICB0aGlzLmZpZWxkLl9maWVsZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpZWxkLl9maWVsZFZhbHVlO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmllbGQubm90aWZ5RWRpdGlvblBhcnRpYWwoKSwgNTApO1xuICB9XG5cbiAgb25DaGFuZ2VDb250ZW50KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWVsZC5ub3RpZnlFZGl0aW9uRmluaXNoKCksIDUwKTtcbiAgfVxuXG4gIG9uU2hvd0luZm8oKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpZWxkLm5vdGlmeUVkaXRpb25EZXRhaWxSZXF1ZXN0KCksIDUwKTtcbiAgfVxuXG4gIG51bWJlcklucHV0VmFsaWRhdGlvbihldmVudCkge1xuICAgIGNvbnN0IGsgPSBldmVudC5jaGFyQ29kZTtcbiAgICByZXR1cm4gKGsgPiA0NyAmJiBrIDwgNTgpO1xuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQ/LnZpc2libGVPbih0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuZmllbGQ/LmVuYWJsZWRPbih0aGlzLnN0YXRlKTtcbiAgfVxufVxuIl19
@@ -8,11 +8,11 @@ export class ElementComponent {
8
8
  start() { }
9
9
  get visible() {
10
10
  var _a;
11
- return (_a = this.element) === null || _a === void 0 ? void 0 : _a.visibleOn(this.currentState);
11
+ return (_a = this.element) === null || _a === void 0 ? void 0 : _a.visibleOn(this.state);
12
12
  }
13
13
  get disabled() {
14
14
  var _a;
15
- return !((_a = this.element) === null || _a === void 0 ? void 0 : _a.enabledOn(this.currentState));
15
+ return !((_a = this.element) === null || _a === void 0 ? void 0 : _a.enabledOn(this.state));
16
16
  }
17
17
  }
18
18
  ElementComponent.decorators = [
@@ -24,6 +24,6 @@ ElementComponent.decorators = [
24
24
  ElementComponent.propDecorators = {
25
25
  element: [{ type: Input }],
26
26
  form: [{ type: Input }],
27
- currentState: [{ type: Input }]
27
+ state: [{ type: Input }]
28
28
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFFBQVE7O1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxJQUFJLE9BQU87O1FBQ1QsT0FBTyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksUUFBUTs7UUFDVixPQUFPLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUEsQ0FBQztJQUNyRCxDQUFDOzs7WUF4QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7c0JBSUUsS0FBSzttQkFDTCxLQUFLOzJCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVsZW1lbnQnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG5cbiAgQElucHV0KCkgZWxlbWVudDogYW55O1xuICBASW5wdXQoKSBmb3JtOiBhbnk7XG4gIEBJbnB1dCgpIGN1cnJlbnRTdGF0ZTogYW55O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuZWxlbWVudD8uX2Zvcm1Db25maWc7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICBnZXQgdmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Py52aXNpYmxlT24odGhpcy5jdXJyZW50U3RhdGUpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5lbGVtZW50Py5lbmFibGVkT24odGhpcy5jdXJyZW50U3RhdGUpO1xuICB9XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFFBQVE7O1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxJQUFJLE9BQU87O1FBQ1QsT0FBTyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksUUFBUTs7UUFDVixPQUFPLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQztJQUM5QyxDQUFDOzs7WUF4QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7c0JBSUUsS0FBSzttQkFDTCxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVsZW1lbnQnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG5cbiAgQElucHV0KCkgZWxlbWVudDogYW55O1xuICBASW5wdXQoKSBmb3JtOiBhbnk7XG4gIEBJbnB1dCgpIHN0YXRlOiBhbnk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5lbGVtZW50Py5fZm9ybUNvbmZpZztcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHsgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/LnZpc2libGVPbih0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuZWxlbWVudD8uZW5hYmxlZE9uKHRoaXMuc3RhdGUpO1xuICB9XG59XG4iXX0=
@@ -119,7 +119,7 @@ LibTableComponent.propDecorators = {
119
119
  table: [{ type: Input }],
120
120
  tableRecords: [{ type: Input }],
121
121
  disabled: [{ type: Input }],
122
- currentState: [{ type: Input }],
122
+ state: [{ type: Input }],
123
123
  waiting: [{ type: Input }]
124
124
  };
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdGLE9BQU8sRUFBNkMsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVFuSCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBMkJFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7SUEwSHJCLENBQUM7SUEvR0MsUUFBUTs7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1lBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFD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QUFpQixFQUFFO1lBQ3JCLE1BQU0saUJBQWlCLEdBQUc7Z0JBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQy9CLGFBQWEsRUFBRSxDQUFDO2FBQ2pCLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBUTtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxDQUFDOzs7WUF0SkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs7O29CQThCRSxLQUFLOzJCQUNMLEtBQUs7dUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuXG5pbXBvcnQgeyBSZWNvcmRUYWJsZSwgVGFibGVFdmVudCwgVGFibGVGaWx0ZXJFdmVudCwgVEFCTEVfRklMVEVSX1RZUEVTIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG5cbiAgLy8gQXRyaWJ1dG9zIHNpbmNyb25pemFkb3MgZGVsIG9iamV0b1xuICBjb2RlOiBhbnk7XG4gIHNlbGVjdGlvbkJhY2tlbmQ6IGFueTtcbiAgc2ltcGxlRmlsdGVyOiBhbnk7XG4gIGNvbXBsZXhGaWx0ZXI6IGFueTtcbiAgYWxsU2VsZWN0ZWQ6IGFueTtcbiAgY3VycmVudFBhZ2U6IGFueTtcbiAgdmlzaWJsZVJlY29yZHM6IGFueTtcbiAgcmVjb3Jkc1BlclBhZ2U6IGFueTtcbiAgY2xpZW50UGFnaW5nOiBhbnk7XG4gIGNvbHVtbnM6IGFueTtcbiAgc29ydGFibGU6IGFueTtcbiAgc29ydGluZzogYW55O1xuICB0b3RhbFJlY29yZHNOdW1iZXI6IGFueTtcbiAgZmlsdGVyQ29uZmlnOiBhbnk7XG4gIGZpbHRlck9iamVjdDogYW55O1xuXG4gIHRhYmxlRmllbGRTdHlsZXM6IGFueTtcbiAgbG9hZGVkID0gZmFsc2U7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgaGFzQWN0aW9ucyA9IGZhbHNlO1xuICBpbmxpbmVBY3Rpb25zOiBhbnk7XG4gIGdsb2JhbEFjdGlvbnM6IGFueTtcbiAgc2VsZWN0aW9uQWN0aW9uczogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmxlOiBSZWNvcmRUYWJsZTtcbiAgQElucHV0KCkgdGFibGVSZWNvcmRzOiBUYWJsZVJlY29yZERhdGFbXTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1cnJlbnRTdGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKSB3YWl0aW5nOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRhYmxlKSB7XG4gICAgICB0aGlzLmZvcm1Db25maWcgPSB0aGlzLnRhYmxlPy5fZm9ybUNvbmZpZztcbiAgICAgIHRoaXMudGFibGVGaWVsZFN0eWxlcyA9IHRoaXMuZm9ybUNvbmZpZy50YWJsZUZpZWxkU3R5bGVzO1xuICAgICAgdGhpcy5zZWxlY3RhYmxlID0gdGhpcy50YWJsZS5zZWxlY3RhYmxlO1xuICAgICAgdGhpcy5oYXNBY3Rpb25zID0gdGhpcy50YWJsZS5oYXNBY3Rpb25zO1xuICAgICAgdGhpcy50YWJsZS53aWRnZXQgPSB0aGlzO1xuICAgICAgdGhpcy5pbmxpbmVBY3Rpb25zID0gdGhpcy50YWJsZS5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZy50YWJsZUFjdGlvbnMuaW5saW5lKTtcbiAgICAgIHRoaXMuZ2xvYmFsQWN0aW9ucyA9IHRoaXMudGFibGUuZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWcudGFibGVBY3Rpb25zLmdsb2JhbCk7XG4gICAgICB0aGlzLnNlbGVjdGlvbkFjdGlvbnMgPSB0aGlzLnRhYmxlLmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnLnRhYmxlQWN0aW9ucy5zZWxlY3Rpb24pO1xuICAgICAgLy8gSW5pY2lhbGl6YWNpw7NuIGRlIGNhbXBvcyBtYXBlYWRvcyBkZWwgb2JqZXRvXG4gICAgICBjb25zdCBtYXBwaW5nID0gT2JqZWN0LmVudHJpZXModGhpcy5mb3JtQ29uZmlnLmNvbXBvbmVudFRhYmxlQXR0ck1hcCk7XG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWFwcGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgW3RhYmxlQXR0ciwgY29tcEF0dHJdID0gbWFwcGluZ1tpbmRleF07XG4gICAgICAgIHRoaXNbY29tcEF0dHIudG9TdHJpbmcoKV0gPSB0aGlzLnRhYmxlPy5bdGFibGVBdHRyLnRvU3RyaW5nKCldO1xuICAgICAgfVxuICAgICAgLy8gU3Vic2NyaXBjacOzbiBhIGNhbWJpb3MgZW4gYXRyaWJ1dG9zXG4gICAgICB0aGlzLnRhYmxlLmF0dHJpYnV0ZUNoYW5nZS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCB7IG5hbWU6IHRhYmxlQXR0ciwgdmFsdWUgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBjb21wQXR0ciA9IHRoaXMuZm9ybUNvbmZpZy5jb21wb25lbnRUYWJsZUF0dHJNYXBbdGFibGVBdHRyXTtcbiAgICAgICAgdGhpcy5oYXNPd25Qcm9wZXJ0eShjb21wQXR0cikgJiYgKHRoaXNbY29tcEF0dHJdID0gdmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG5cbiAgdGFibGVHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7XG4gICAgdGhpcy50YWJsZS5ub3RpZnlHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZSk7XG4gIH1cblxuICB0YWJsZVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRhYmxlLm5vdGlmeVNlbGVjdGlvbkFjdGlvbihhY3Rpb25Db2RlKTtcbiAgfVxuXG4gIHRhYmxlQWN0aW9uU2VsZWN0ZWQoYWN0aW9uRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQpIHtcbiAgICB0aGlzLnRhYmxlLm5vdGlmeUlubGluZUFjdGlvbihhY3Rpb25FdmVudCk7XG4gIH1cblxuICB0YWJsZUNvbHVtblNvcnQoY29sdW1uRmllbGRDb2RlKSB7XG4gICAgdGhpcy50YWJsZS5zZXRSZXF1aXJlZE9yZGVyKGNvbHVtbkZpZWxkQ29kZSk7XG4gICAgaWYgKHRoaXMuY2xpZW50UGFnaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJsZS5sb2NhbFNvcnREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMudGFibGUubm90aWZ5R2V0RGF0YUFjdGlvbigpO1xuICB9XG5cbiAgY2hhbmdlUGFnZShyZXF1ZXN0ZWRQYWdlKSB7XG4gICAgaWYgKCF0aGlzLmNsaWVudFBhZ2luZykge1xuICAgICAgdGhpcy50YWJsZS5ub3RpZnlHZXREYXRhQWN0aW9uKHJlcXVlc3RlZFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZWNvcmRzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlUmVjb3JkcyA9IHRoaXMudmlzaWJsZVJlY29yZHM7XG4gICAgaWYgKHRoaXMuY2xpZW50UGFnaW5nICYmIGN1cnJlbnRQYWdlUmVjb3JkcyAmJiBjdXJyZW50UGFnZVJlY29yZHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50b3RhbFJlY29yZHNOdW1iZXIgPSBjdXJyZW50UGFnZVJlY29yZHMubGVuZ3RoO1xuICAgICAgcmV0dXJuIGN1cnJlbnRQYWdlUmVjb3Jkcy5tYXAoKHJlY29yZCwgaSkgPT4gKHsgaWQ6IGkgKyAxLCAuLi5yZWNvcmQgfSkpXG4gICAgICAgIC5zbGljZSgodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5yZWNvcmRzUGVyUGFnZSxcbiAgICAgICAgICAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5yZWNvcmRzUGVyUGFnZSArIHRoaXMucmVjb3Jkc1BlclBhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudFBhZ2VSZWNvcmRzO1xuICB9XG5cbiAgYXBwbHlDdXJyZW50RmlsdGVyKHRhYmxlRmlsdGVyRXZlbnQ6IFRhYmxlRmlsdGVyRXZlbnQpIHtcbiAgICBjb25zdCB7IGV2ZW50VHlwZSB9ID0gdGFibGVGaWx0ZXJFdmVudDtcbiAgICBsZXQgdHJpZ2dlckRhdGFVcGRhdGUgPSBmYWxzZTtcbiAgICBpZiAoZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuc2ltcGxlRmlsdGVyQ2hhbmdlIHx8IGV2ZW50VHlwZSA9PT0gVEFCTEVfRklMVEVSX1RZUEVTLnNpbXBsZUZpbHRlckZpbmlzaCkge1xuICAgICAgdGhpcy50YWJsZS5zaW1wbGVGaWx0ZXJUZXh0ID0gdGFibGVGaWx0ZXJFdmVudC5zaW1wbGVGaWx0ZXJTdHJpbmcudHJpbSgpO1xuICAgICAgaWYgKHRoaXMuY2xpZW50UGFnaW5nKSB7XG4gICAgICAgIHRoaXMudGFibGUuc2V0QXR0cignY3VycmVudFBhZ2UnLCAxKTtcbiAgICAgICAgdGhpcy50YWJsZS51cGRhdGVWaXNpYmxlUmVjb3JkcygpO1xuICAgICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5zaW1wbGVGaWx0ZXJGaW5pc2gpIHtcbiAgICAgICAgdHJpZ2dlckRhdGFVcGRhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuY29tcGxleEZpbHRlckFkZCkge1xuICAgICAgdGhpcy50YWJsZS5hZGRGaWx0ZXJSZXN0cmljdGlvbih0YWJsZUZpbHRlckV2ZW50LmNvbXBsZXhGaWx0ZXJJdGVtKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50VHlwZSA9PT0gVEFCTEVfRklMVEVSX1RZUEVTLmNvbXBsZXhGaWx0ZXJSZW1vdmUpIHtcbiAgICAgIHRoaXMudGFibGUucmVtb3ZlRmlsdGVyUmVzdHJpY3Rpb24odGFibGVGaWx0ZXJFdmVudC5pdGVtTmFtZSk7XG4gICAgfVxuICAgIGlmICh0cmlnZ2VyRGF0YVVwZGF0ZSkge1xuICAgICAgY29uc3QgdGFibGVHZXREYXRhRXZlbnQgPSB7XG4gICAgICAgIHRhYmxlQ29kZTogdGhpcy50YWJsZS50YWJsZUNvZGUsXG4gICAgICAgIHJlcXVlc3RlZFBhZ2U6IDEsXG4gICAgICB9O1xuICAgICAgdGhpcy50YWJsZS5ub3RpZnlHZXREYXRhQWN0aW9uKHRhYmxlR2V0RGF0YUV2ZW50KTtcbiAgICB9XG4gIH1cblxuICB0YWJsZVNlbGVjdGlvblRvZ2dsZShyZWNvcmRJZCkge1xuICAgIHRoaXMudGFibGUubm90aWZ5UmVjb3JkU2VsZWN0aW9uKHJlY29yZElkKTtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZCkge1xuICAgICAgdGhpcy50YWJsZS51blNlbGVjdEFsbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlLnNlbGVjdEFsbCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhdmFpbGFibGVGaWx0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnRhYmxlLmF2YWlsYWJsZUZpbHRlcnM7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRSZWNvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLnRhYmxlLnNlbGVjdGVkUmVjb3JkcztcbiAgfVxufVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdGLE9BQU8sRUFBNkMsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVFuSCxNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBMkJFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7SUEwSHJCLENBQUM7SUEvR0MsUUFBUTs7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1lBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RiwrQ0FBK0M7WUFDL0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDdEUsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ25ELE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNoRTtZQUNELHNDQUFzQztZQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDO0lBRVgsaUJBQWlCLENBQUMsVUFBa0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBNkI7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLGVBQWU7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVLENBQUMsYUFBYTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksa0JBQWtCLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1lBQ3BELE9BQU8sa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUssTUFBTSxFQUFHLENBQUM7aUJBQ3JFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFDakQsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsZ0JBQWtDO1FBQ25ELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztRQUN2QyxJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxrQkFBa0IsSUFBSSxTQUFTLEtBQUssa0JBQWtCLENBQUMsa0JBQWtCLEVBQUU7WUFDOUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6RSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ25DO2lCQUFNLElBQUksU0FBUyxLQUFLLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFO2dCQUM5RCxpQkFBaUIsR0FBRyxJQUFJLENBQUM7YUFDMUI7U0FDRjtRQUNELElBQUksU0FBUyxLQUFLLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFO1lBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRTtRQUNELElBQUksU0FBUyxLQUFLLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFO1lBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0Q7UUFDRCxJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLE1BQU0saUJBQWlCLEdBQUc7Z0JBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQy9CLGFBQWEsRUFBRSxDQUFDO2FBQ2pCLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBUTtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxDQUFDOzs7WUF0SkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs7O29CQThCRSxLQUFLOzJCQUNMLEtBQUs7dUJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUmVjb3JkRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvcm93LWRhdGEnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuXG5pbXBvcnQgeyBSZWNvcmRUYWJsZSwgVGFibGVFdmVudCwgVGFibGVGaWx0ZXJFdmVudCwgVEFCTEVfRklMVEVSX1RZUEVTIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29uZmlnOiBhbnk7XG5cbiAgLy8gQXRyaWJ1dG9zIHNpbmNyb25pemFkb3MgZGVsIG9iamV0b1xuICBjb2RlOiBhbnk7XG4gIHNlbGVjdGlvbkJhY2tlbmQ6IGFueTtcbiAgc2ltcGxlRmlsdGVyOiBhbnk7XG4gIGNvbXBsZXhGaWx0ZXI6IGFueTtcbiAgYWxsU2VsZWN0ZWQ6IGFueTtcbiAgY3VycmVudFBhZ2U6IGFueTtcbiAgdmlzaWJsZVJlY29yZHM6IGFueTtcbiAgcmVjb3Jkc1BlclBhZ2U6IGFueTtcbiAgY2xpZW50UGFnaW5nOiBhbnk7XG4gIGNvbHVtbnM6IGFueTtcbiAgc29ydGFibGU6IGFueTtcbiAgc29ydGluZzogYW55O1xuICB0b3RhbFJlY29yZHNOdW1iZXI6IGFueTtcbiAgZmlsdGVyQ29uZmlnOiBhbnk7XG4gIGZpbHRlck9iamVjdDogYW55O1xuXG4gIHRhYmxlRmllbGRTdHlsZXM6IGFueTtcbiAgbG9hZGVkID0gZmFsc2U7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgaGFzQWN0aW9ucyA9IGZhbHNlO1xuICBpbmxpbmVBY3Rpb25zOiBhbnk7XG4gIGdsb2JhbEFjdGlvbnM6IGFueTtcbiAgc2VsZWN0aW9uQWN0aW9uczogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmxlOiBSZWNvcmRUYWJsZTtcbiAgQElucHV0KCkgdGFibGVSZWNvcmRzOiBUYWJsZVJlY29yZERhdGFbXTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0YXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdhaXRpbmc6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudGFibGUpIHtcbiAgICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMudGFibGU/Ll9mb3JtQ29uZmlnO1xuICAgICAgdGhpcy50YWJsZUZpZWxkU3R5bGVzID0gdGhpcy5mb3JtQ29uZmlnLnRhYmxlRmllbGRTdHlsZXM7XG4gICAgICB0aGlzLnNlbGVjdGFibGUgPSB0aGlzLnRhYmxlLnNlbGVjdGFibGU7XG4gICAgICB0aGlzLmhhc0FjdGlvbnMgPSB0aGlzLnRhYmxlLmhhc0FjdGlvbnM7XG4gICAgICB0aGlzLnRhYmxlLndpZGdldCA9IHRoaXM7XG4gICAgICB0aGlzLmlubGluZUFjdGlvbnMgPSB0aGlzLnRhYmxlLmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnLnRhYmxlQWN0aW9ucy5pbmxpbmUpO1xuICAgICAgdGhpcy5nbG9iYWxBY3Rpb25zID0gdGhpcy50YWJsZS5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZy50YWJsZUFjdGlvbnMuZ2xvYmFsKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQWN0aW9ucyA9IHRoaXMudGFibGUuZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWcudGFibGVBY3Rpb25zLnNlbGVjdGlvbik7XG4gICAgICAvLyBJbmljaWFsaXphY2nDs24gZGUgY2FtcG9zIG1hcGVhZG9zIGRlbCBvYmpldG9cbiAgICAgIGNvbnN0IG1hcHBpbmcgPSBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1Db25maWcuY29tcG9uZW50VGFibGVBdHRyTWFwKTtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXBwaW5nLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBbdGFibGVBdHRyLCBjb21wQXR0cl0gPSBtYXBwaW5nW2luZGV4XTtcbiAgICAgICAgdGhpc1tjb21wQXR0ci50b1N0cmluZygpXSA9IHRoaXMudGFibGU/Llt0YWJsZUF0dHIudG9TdHJpbmcoKV07XG4gICAgICB9XG4gICAgICAvLyBTdWJzY3JpcGNpw7NuIGEgY2FtYmlvcyBlbiBhdHJpYnV0b3NcbiAgICAgIHRoaXMudGFibGUuYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZTogdGFibGVBdHRyLCB2YWx1ZSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IGNvbXBBdHRyID0gdGhpcy5mb3JtQ29uZmlnLmNvbXBvbmVudFRhYmxlQXR0ck1hcFt0YWJsZUF0dHJdO1xuICAgICAgICB0aGlzLmhhc093blByb3BlcnR5KGNvbXBBdHRyKSAmJiAodGhpc1tjb21wQXR0cl0gPSB2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICB0YWJsZUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRhYmxlLm5vdGlmeUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlKTtcbiAgfVxuXG4gIHRhYmxlU2VsZWN0aW9uQWN0aW9uKGFjdGlvbkNvZGU6IHN0cmluZykge1xuICAgIHRoaXMudGFibGUubm90aWZ5U2VsZWN0aW9uQWN0aW9uKGFjdGlvbkNvZGUpO1xuICB9XG5cbiAgdGFibGVBY3Rpb25TZWxlY3RlZChhY3Rpb25FdmVudDogVGFibGVBY3Rpb25FdmVudCkge1xuICAgIHRoaXMudGFibGUubm90aWZ5SW5saW5lQWN0aW9uKGFjdGlvbkV2ZW50KTtcbiAgfVxuXG4gIHRhYmxlQ29sdW1uU29ydChjb2x1bW5GaWVsZENvZGUpIHtcbiAgICB0aGlzLnRhYmxlLnNldFJlcXVpcmVkT3JkZXIoY29sdW1uRmllbGRDb2RlKTtcbiAgICBpZiAodGhpcy5jbGllbnRQYWdpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlLmxvY2FsU29ydERhdGEoKTtcbiAgICB9XG4gICAgdGhpcy50YWJsZS5ub3RpZnlHZXREYXRhQWN0aW9uKCk7XG4gIH1cblxuICBjaGFuZ2VQYWdlKHJlcXVlc3RlZFBhZ2UpIHtcbiAgICBpZiAoIXRoaXMuY2xpZW50UGFnaW5nKSB7XG4gICAgICB0aGlzLnRhYmxlLm5vdGlmeUdldERhdGFBY3Rpb24ocmVxdWVzdGVkUGFnZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHJlY29yZHMoKSB7XG4gICAgY29uc3QgY3VycmVudFBhZ2VSZWNvcmRzID0gdGhpcy52aXNpYmxlUmVjb3JkcztcbiAgICBpZiAodGhpcy5jbGllbnRQYWdpbmcgJiYgY3VycmVudFBhZ2VSZWNvcmRzICYmIGN1cnJlbnRQYWdlUmVjb3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRvdGFsUmVjb3Jkc051bWJlciA9IGN1cnJlbnRQYWdlUmVjb3Jkcy5sZW5ndGg7XG4gICAgICByZXR1cm4gY3VycmVudFBhZ2VSZWNvcmRzLm1hcCgocmVjb3JkLCBpKSA9PiAoeyBpZDogaSArIDEsIC4uLnJlY29yZCB9KSlcbiAgICAgICAgLnNsaWNlKCh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnJlY29yZHNQZXJQYWdlLFxuICAgICAgICAgICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnJlY29yZHNQZXJQYWdlICsgdGhpcy5yZWNvcmRzUGVyUGFnZSk7XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50UGFnZVJlY29yZHM7XG4gIH1cblxuICBhcHBseUN1cnJlbnRGaWx0ZXIodGFibGVGaWx0ZXJFdmVudDogVGFibGVGaWx0ZXJFdmVudCkge1xuICAgIGNvbnN0IHsgZXZlbnRUeXBlIH0gPSB0YWJsZUZpbHRlckV2ZW50O1xuICAgIGxldCB0cmlnZ2VyRGF0YVVwZGF0ZSA9IGZhbHNlO1xuICAgIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5zaW1wbGVGaWx0ZXJDaGFuZ2UgfHwgZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuc2ltcGxlRmlsdGVyRmluaXNoKSB7XG4gICAgICB0aGlzLnRhYmxlLnNpbXBsZUZpbHRlclRleHQgPSB0YWJsZUZpbHRlckV2ZW50LnNpbXBsZUZpbHRlclN0cmluZy50cmltKCk7XG4gICAgICBpZiAodGhpcy5jbGllbnRQYWdpbmcpIHtcbiAgICAgICAgdGhpcy50YWJsZS5zZXRBdHRyKCdjdXJyZW50UGFnZScsIDEpO1xuICAgICAgICB0aGlzLnRhYmxlLnVwZGF0ZVZpc2libGVSZWNvcmRzKCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gVEFCTEVfRklMVEVSX1RZUEVTLnNpbXBsZUZpbHRlckZpbmlzaCkge1xuICAgICAgICB0cmlnZ2VyRGF0YVVwZGF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChldmVudFR5cGUgPT09IFRBQkxFX0ZJTFRFUl9UWVBFUy5jb21wbGV4RmlsdGVyQWRkKSB7XG4gICAgICB0aGlzLnRhYmxlLmFkZEZpbHRlclJlc3RyaWN0aW9uKHRhYmxlRmlsdGVyRXZlbnQuY29tcGxleEZpbHRlckl0ZW0pO1xuICAgIH1cbiAgICBpZiAoZXZlbnRUeXBlID09PSBUQUJMRV9GSUxURVJfVFlQRVMuY29tcGxleEZpbHRlclJlbW92ZSkge1xuICAgICAgdGhpcy50YWJsZS5yZW1vdmVGaWx0ZXJSZXN0cmljdGlvbih0YWJsZUZpbHRlckV2ZW50Lml0ZW1OYW1lKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJEYXRhVXBkYXRlKSB7XG4gICAgICBjb25zdCB0YWJsZUdldERhdGFFdmVudCA9IHtcbiAgICAgICAgdGFibGVDb2RlOiB0aGlzLnRhYmxlLnRhYmxlQ29kZSxcbiAgICAgICAgcmVxdWVzdGVkUGFnZTogMSxcbiAgICAgIH07XG4gICAgICB0aGlzLnRhYmxlLm5vdGlmeUdldERhdGFBY3Rpb24odGFibGVHZXREYXRhRXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlU2VsZWN0aW9uVG9nZ2xlKHJlY29yZElkKSB7XG4gICAgdGhpcy50YWJsZS5ub3RpZnlSZWNvcmRTZWxlY3Rpb24ocmVjb3JkSWQpO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgIGlmICh0aGlzLmFsbFNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnRhYmxlLnVuU2VsZWN0QWxsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGUuc2VsZWN0QWxsKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGF2YWlsYWJsZUZpbHRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGUuYXZhaWxhYmxlRmlsdGVycztcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFJlY29yZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGUuc2VsZWN0ZWRSZWNvcmRzO1xuICB9XG59XG4iXX0=