@churchillliving/se-ui-toolkit 6.54.21 → 6.54.23

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.
@@ -101,6 +101,14 @@ export class ReportFilterComponent {
101
101
  this.alertService.apiError(error);
102
102
  });
103
103
  }
104
+ else if (record.paramtype === "DropDown" && record.paramvalue) {
105
+ let paramValue = record?.paramvalue;
106
+ if (paramValue && paramValue.includes(',')) {
107
+ this.formService.setFormFieldProp(this.dynamicForm, record?.paramname, [
108
+ { name: 'data', value: paramValue.split(',')?.map((value) => ({ label: value, value: value })) }
109
+ ]);
110
+ }
111
+ }
104
112
  });
105
113
  }
106
114
  getDropdownFilters(Parameter) {
@@ -236,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
236
244
  }], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig, decorators: [{
237
245
  type: Optional
238
246
  }] }, { type: i2.RequestService }, { type: i3.AuthenticationService }, { type: i4.FormService }, { type: i5.GridService }, { type: i6.AlertService }]; } });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBNEIsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUErQixNQUEyQixFQUFVLGNBQThCLEVBQVMscUJBQTRDLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFlBQTBCO1FBQWhPLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUgvUCxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQVEsRUFBRSxDQUFDO0lBRThPLENBQUM7SUFFcFEsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcs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QztTQUNaLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFFLENBQUMsRUFDdkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsUUFBYSxFQUFFLFVBQWtCO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUV4RCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWEsRUFBRSxVQUFlO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO2lJQTFPVSxxQkFBcUI7cUhBQXJCLHFCQUFxQix3RENibEMsOElBT0E7OzJGRE1hLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVNmLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEVGb3JtQ29udHJvbCwgSUR5bmFtaWNGb3JtLCBJRm9ybUZpZWxkLCBJUmVwb3J0VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1yZXBvcnQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZHluYW1pY0Zvcm06IElEeW5hbWljRm9ybTtcbiAgZm9ybUZpZWxkczogSUZvcm1GaWVsZFtdID0gW107XG4gIHJlcG9ydEpzb246IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsIHByaXZhdGUgcmVxdWVzdFNlcnZpY2U6IFJlcXVlc3RTZXJ2aWNlLHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLCBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVEeW5hbWljRmllbGRzKCk7XG5cbiAgfVxuICBpbml0aWFsaXplRm9ybSgpIHtcbiAgICB0aGlzLmR5bmFtaWNGb3JtID0ge1xuICAgICAgZm9ybVNlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybUZpZWxkcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdEb3dubG9hZCcsXG4gICAgICAgICAgICAgIGNvbnRyb2w6IEVGb3JtQ29udHJvbC5BRERfQlVUVE9OLFxuICAgICAgICAgICAgICBoaWRkZW46IHRoaXMuY29uZmlnPy5kYXRhPy5oaWRlR2VuZXJhdGVSZXBvcnRCdG4sXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkUmVwb3J0KCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdXG5cbiAgICB9XG4gIH1cbiAgY3JlYXRlRHluYW1pY0ZpZWxkcygpIHtcbiAgICBjb25zdCBnZXRSZXBvcnRCeVJlcG9ydCA9ICcvUmVwb3J0Q29uZmlnL1JlcG9ydCc7XG4gICAgY29uc3QgZ2V0UmVwb3J0QnlJZCA9ICcvUmVwb3J0Q29uZmlnL0J5SWQnO1xuICAgIGNvbnN0IGdldFJlcG9ydEJ5SWRPck5hbWUgPSB0eXBlb2YgKHRoaXMuY29uZmlnLmRhdGE/LmdldFJlcG9ydCkgPT09ICdudW1iZXInID8gZ2V0UmVwb3J0QnlJZCA6IGdldFJlcG9ydEJ5UmVwb3J0XG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXRPbmU8UmVzcG9uc2UsIGFueT4oZ2V0UmVwb3J0QnlJZE9yTmFtZSwgdGhpcy5jb25maWcuZGF0YT8uZ2V0UmVwb3J0KS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVwb3J0SnNvbiA9IEpTT04ucGFyc2UoZGF0YT8ucmVwb3J0KTtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRzID0gdGhpcy5yZXBvcnRKc29uPy5Gb3JtRmllbGRzO1xuICAgICAgICB0aGlzLmZvcm1GaWVsZHMgPSB0aGlzLnNldFJlcG9ydEZpbHRlclZpZXdQYXJhbWV0ZXJzKHRoaXMucmVwb3J0SnNvbj8uUGFyYW1ldGVycywgdGhpcy5mb3JtRmllbGRzKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbUZpZWxkVmFsdWUoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgICAvLyBzZXQgZHJvcGRvd24gZGF0YSBiYXNlZCBvbiBtYXRjaGVkIGZpZWxkLlxuICAgICAgICB0aGlzLnNldERyb3BEb3duRGF0YSh0aGlzLnJlcG9ydEpzb24pO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtKCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc2V0UmVwb3J0RmlsdGVyVmlld1BhcmFtZXRlcnMoUGFyYW1ldGVyLCBmb3JtRmllbGRzKSB7XG4gICAgUGFyYW1ldGVyLmZvckVhY2goKHBhcmFtKSA9PiB7XG4gICAgICBpZiAocGFyYW0/LmZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgcGFyYW0/LmZpbHRlcnM/LmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gZm9ybUZpZWxkcy5maW5kSW5kZXgoKHgpID0+IHguZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgZm9ybUZpZWxkc1tpbmRleF0ubGFiZWwgPSBmaWx0ZXIuZGlzcGxheW5hbWU7XG4gICAgICAgICAgICBmb3JtRmllbGRzW2luZGV4XS5oaWRkZW4gPSBmaWx0ZXIuaGlkZGVuID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIGZvcm1GaWVsZHM7XG4gIH1cblxuICBzZXRQYXJhbUZpZWxkVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGEgJiYgdGhpcy5jb25maWcuZGF0YS5wYXJhbT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb25maWcuZGF0YS5wYXJhbS5mb3JFYWNoKChwYXJhbTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKHBhcmFtKVswXTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvcm1GaWVsZHMuZmluZEluZGV4KChmb3JtRmllbGQpID0+IChmb3JtRmllbGQuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGtleS50b0xvd2VyQ2FzZSgpKSB8fCAoZm9ybUZpZWxkLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSAnQCcgKyBrZXkudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgIGlmIChpbmRleCA+IC0xICYmIGtleSkge1xuICAgICAgICAgIHRoaXMuZm9ybUZpZWxkc1tpbmRleF0udmFsdWUgPSBwYXJhbVtrZXldO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2Uge1xuICAgICAgICAvLyB0aGlzLmZvcm1GaWVsZHMucHVzaCh7IGZpZWxkOiBrZXksIGxhYmVsOiBrZXksIHZhbHVlOiBwYXJhbVtrZXldLCBjb2x1bW46IDQsIGNvbnRyb2w6IEVGb3JtQ29udHJvbC5JTlBVVCB9KTtcbiAgICAgICAgLy8gfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RHJvcERvd25EYXRhKHJlcG9ydEpzb246IGFueSkge1xuICAgIHJlcG9ydEpzb24uUGFyYW1ldGVycz8uZm9yRWFjaCgocmVjb3JkOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZWNvcmQuaXN1bmlxdWVrZXkpIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9EYXRhL0ZldGNoJywge1xuICAgICAgICAgIHVuaXF1ZUtleTogcmVjb3JkLmlzdW5pcXVla2V5LFxuICAgICAgICAgIGZpbHRlcnM6IHRoaXMuZ2V0RHJvcGRvd25GaWx0ZXJzKHJlY29yZClcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtU2VydmljZS5zZXRGb3JtRmllbGRQcm9wKHRoaXMuZHluYW1pY0Zvcm0sIHJlY29yZC5wYXJhbW5hbWUsIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2RhdGEnLCB2YWx1ZTogcmVzcG9uc2UucmVjb3JkcyB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hcGlFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXREcm9wZG93bkZpbHRlcnMoUGFyYW1ldGVyOiBhbnkpIHtcbiAgICBsZXQgZmlsdGVyczogYW55ID0gW107XG4gICAgY29uc3QgcGFyYW1GaWx0ZXIgPSBQYXJhbWV0ZXI/LmZpbHRlcnM7XG4gICAgbGV0IGFyciA9IFtdO1xuICAgIGZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnMoKTtcbiAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID4gMCkge1xuICAgICAgZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2hGaWx0ZXIgPSBwYXJhbUZpbHRlcj8uZmluZCgoeCkgPT4geD8uZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgaWYgKG1hdGNoRmlsdGVyICYmIG1hdGNoRmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXI/LmZpZWxkLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICBhcnIucHVzaChmaWx0ZXIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoUGFyYW1ldGVyPy5wYXJhbXR5cGUgPT09ICdEcm9wRG93bicgJiYgcGFyYW1GaWx0ZXI/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtRmlsdGVyLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICBpZiAoIWFycj8uc29tZShvYmogPT4gb2JqLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgYXJyLnB1c2goeyBmaWVsZDogZmlsdGVyLmZpZWxkLCBtYXRjaE1vZGU6ICdlcXVhbCcsIG9wZXJhdG9yOiAnYW5kJywgdmFsdWU6IGZpbHRlcj8udmFsdWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiBhcnI7XG4gIH1cblxuXG4gIGdldFJlcG9ydEZpbHRlcigpIHtcbiAgICBsZXQgYXJyID0gW107XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMuZ2V0RmlsdGVycygpXG4gICAgdGhpcy5yZXBvcnRKc29uPy5QYXJhbWV0ZXJzPy5mb3JFYWNoKChwYXJhbSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmaWx0ZXJzLmZpbmRJbmRleCgoZmlsdGVyKSA9PiAoZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBwYXJhbT8ucGFyYW1uYW1lPy50b0xvd2VyQ2FzZSgpKSB8fCAoZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSAnQCcgKyBwYXJhbT8ucGFyYW1uYW1lPy50b0xvd2VyQ2FzZSgpKSlcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGFyci5wdXNoKGZpbHRlcnNbaW5kZXhdKVxuICAgICAgfSBlbHNlIGlmIChwYXJhbT8ucGFyYW10eXBlICE9ICdEcm9wRG93bicpIHtcbiAgICAgICAgYXJyLnB1c2goeyBmaWVsZDogcGFyYW0/LnBhcmFtbmFtZT8ucmVwbGFjZSgnQCcsICcnKSwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBwYXJhbS5wYXJhbXZhbHVlIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgZ2V0RmlsdGVycygpIHtcbiAgICBsZXQgZmlsdGVyczogYW55ID0gW107XG4gICAgdGhpcy5keW5hbWljRm9ybT8uZm9ybVNlY3Rpb25zPy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICBzZWN0aW9uLmZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkICYmIGZpZWxkLnZhbHVlKSB7XG4gICAgICAgICAgZmlsdGVycy5wdXNoKHsgZmllbGQ6IGZpZWxkLmZpZWxkLCBtYXRjaE1vZGU6ICdlcXVhbCcsIG9wZXJhdG9yOiAnYW5kJywgdmFsdWU6IGZpZWxkLnZhbHVlIH0pO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cblxuICBkb3dubG9hZFJlcG9ydCgpIHtcbiAgICBjb25zdCBmaWx0ZXJzOiBhbnkgPSB0aGlzLmdldFJlcG9ydEZpbHRlcigpO1xuICAgIGNvbnN0IGZpbGVUeXBlID0gdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydFR5cGU7XG4gICAgaWYgKGZpbGVUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCB8fCBmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuVEVYVCB8fCBmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuQ1NWKSB7XG4gICAgICB0aGlzLmRvd25sb2FkQ3VzdG9tUmVwb3J0KGZpbGVUeXBlLCB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0TmFtZSwgZmlsdGVycylcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmdldFBkZlJlcG9ydChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBnZXRQZGZSZXBvcnQoZmlsdGVycykge1xuICAgIGxldCByZXBJZE9iajogYW55O1xuXG4gICAgaWYgKHR5cGVvZiAodGhpcy5jb25maWc/LmRhdGE/LmdldFJlcG9ydCkgPT09ICdudW1iZXInKSB7XG4gICAgICByZXBJZE9iaiA9IHsgSWQ6IHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEhlYWRlciwgUmVwb3J0Rm9vdGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0Rm9vdGVyIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXBJZE9iaiA9IHsgcmVwb3J0TmFtZTogdGhpcy5jb25maWc/LmRhdGE/LmdldFJlcG9ydCwgZmlsdGVyczogZmlsdGVycywgUmVwb3J0SGVhZGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRGb290ZXIgfVxuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZG93bmxvYWQoJy9SZXBvcnQvR2VuZXJhdGUnLCByZXBJZE9iailcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHZhciBuZXdCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlLmJvZHldLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXdCbG9iKTtcbiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgIGEuaHJlZiA9IGRhdGE7XG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2U/LmhlYWRlcnM/LmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xuICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gaGVhZGVyPy5zcGxpdCgnZmlsZW5hbWU9Jyk/LlsxXT8uc3BsaXQoXCI7XCIpWzBdPy5yZXBsYWNlQWxsKC9cXFwiL2csICcnKTtcbiAgICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYXBpRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZG93bmxvYWRDdXN0b21SZXBvcnQocmVwb3J0VHlwZSwgcmVwb3J0TmFtZSwgZmlsdGVycykge1xuICAgIHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRKc29uRGF0YT8uZm9yRWFjaCgoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGE/LmRhdGFzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9EYXRhL011bHRpRmV0Y2gnLCB7XG4gICAgICAgICAgdW5pcXVlS2V5OiBkYXRhLmRhdGFzb3VyY2UsXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVyc1xuICAgICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVJlcG9ydCgpO1xuICAgICAgICAgIGNvbnN0IHJvd3NJbmZvID0gcmVzcG9uc2U/LnRhYmxlc1swXT8ucmVjb3JkcztcbiAgICAgICAgICBjb25zdCBjb2x1bW5zID0gT2JqZWN0Py5rZXlzKHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHNbMF0pO1xuICAgICAgICAgIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCkge1xuICAgICAgICAgICAgdGhpcy5ncmlkU2VydmljZS5leHBvcnRFeGNlbChyb3dzSW5mbywgY29sdW1ucywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVBc1RleHRGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zYXZlRGF0YUFzQ3N2KHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVSZXBvcnQoKXtcbiAgICBsZXQgY3VycmVudFVzZXI6IGFueSA9IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJJbmZvKCk7XG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9SZXBvcnRDb25maWcvUmVwb3J0VXNlclNldHRpbmcnLCB7XG4gICAgICBpc1J1blJlcG9ydDogdHJ1ZSxcbiAgICAgIGlzRmF2b3JpdGU6IGZhbHNlLFxuICAgICAgcmVwb3J0VW5pcXVlS2V5OiB0aGlzLmNvbmZpZz8uZGF0YT8udW5pcXVlS2V5LFxuICAgICAgdXNlcklkOiBjdXJyZW50VXNlcj8uaWQsXG4gICAgICByZXBvcnRJZDogMFxuICAgIH0pLnN1YnNjcmliZSgocmVzKSA9PiB7fSxcbiAgICAgKHsgZXJyb3IgfSkgPT4ge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCB0byB0ZXh0IChzdWItbWV0aG9kKVxuICAgKi9cbiAgc2F2ZUFzVGV4dEZpbGUocm93c0luZm86IGFueSwgcmVwb3J0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zYXZlQXNUZXh0RmlsZShyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG5cbiAgfVxuXG4gIHNhdmVEYXRhQXNDc3Yocm93c0luZm86IGFueSwgcmVwb3J0TmFtZTogYW55KSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zYXZlRGF0YUFzQ3N2KHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgfVxuXG59XG4iLCI8c2UtZm9ybS11dGlsICBcbipuZ0lmPVwiZHluYW1pY0Zvcm1cIlxuW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxuW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4+XG48L3NlLWZvcm0tdXRpbD5cbiJdfQ==
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBNEIsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUErQixNQUEyQixFQUFVLGNBQThCLEVBQVMscUJBQTRDLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFlBQTBCO1FBQWhPLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUgvUCxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQVEsRUFBRSxDQUFDO0lBRThPLENBQUM7SUFFcFEsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcs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cnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEVGb3JtQ29udHJvbCwgSUR5bmFtaWNGb3JtLCBJRm9ybUZpZWxkLCBJUmVwb3J0VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1yZXBvcnQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZHluYW1pY0Zvcm06IElEeW5hbWljRm9ybTtcbiAgZm9ybUZpZWxkczogSUZvcm1GaWVsZFtdID0gW107XG4gIHJlcG9ydEpzb246IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsIHByaXZhdGUgcmVxdWVzdFNlcnZpY2U6IFJlcXVlc3RTZXJ2aWNlLHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLCBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVEeW5hbWljRmllbGRzKCk7XG5cbiAgfVxuICBpbml0aWFsaXplRm9ybSgpIHtcbiAgICB0aGlzLmR5bmFtaWNGb3JtID0ge1xuICAgICAgZm9ybVNlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybUZpZWxkcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdEb3dubG9hZCcsXG4gICAgICAgICAgICAgIGNvbnRyb2w6IEVGb3JtQ29udHJvbC5BRERfQlVUVE9OLFxuICAgICAgICAgICAgICBoaWRkZW46IHRoaXMuY29uZmlnPy5kYXRhPy5oaWRlR2VuZXJhdGVSZXBvcnRCdG4sXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkUmVwb3J0KCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICBdXG5cbiAgICB9XG4gIH1cbiAgY3JlYXRlRHluYW1pY0ZpZWxkcygpIHtcbiAgICBjb25zdCBnZXRSZXBvcnRCeVJlcG9ydCA9ICcvUmVwb3J0Q29uZmlnL1JlcG9ydCc7XG4gICAgY29uc3QgZ2V0UmVwb3J0QnlJZCA9ICcvUmVwb3J0Q29uZmlnL0J5SWQnO1xuICAgIGNvbnN0IGdldFJlcG9ydEJ5SWRPck5hbWUgPSB0eXBlb2YgKHRoaXMuY29uZmlnLmRhdGE/LmdldFJlcG9ydCkgPT09ICdudW1iZXInID8gZ2V0UmVwb3J0QnlJZCA6IGdldFJlcG9ydEJ5UmVwb3J0XG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXRPbmU8UmVzcG9uc2UsIGFueT4oZ2V0UmVwb3J0QnlJZE9yTmFtZSwgdGhpcy5jb25maWcuZGF0YT8uZ2V0UmVwb3J0KS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVwb3J0SnNvbiA9IEpTT04ucGFyc2UoZGF0YT8ucmVwb3J0KTtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRzID0gdGhpcy5yZXBvcnRKc29uPy5Gb3JtRmllbGRzO1xuICAgICAgICB0aGlzLmZvcm1GaWVsZHMgPSB0aGlzLnNldFJlcG9ydEZpbHRlclZpZXdQYXJhbWV0ZXJzKHRoaXMucmVwb3J0SnNvbj8uUGFyYW1ldGVycywgdGhpcy5mb3JtRmllbGRzKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbUZpZWxkVmFsdWUoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgICAvLyBzZXQgZHJvcGRvd24gZGF0YSBiYXNlZCBvbiBtYXRjaGVkIGZpZWxkLlxuICAgICAgICB0aGlzLnNldERyb3BEb3duRGF0YSh0aGlzLnJlcG9ydEpzb24pO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtKCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc2V0UmVwb3J0RmlsdGVyVmlld1BhcmFtZXRlcnMoUGFyYW1ldGVyLCBmb3JtRmllbGRzKSB7XG4gICAgUGFyYW1ldGVyLmZvckVhY2goKHBhcmFtKSA9PiB7XG4gICAgICBpZiAocGFyYW0/LmZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgcGFyYW0/LmZpbHRlcnM/LmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gZm9ybUZpZWxkcy5maW5kSW5kZXgoKHgpID0+IHguZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgZm9ybUZpZWxkc1tpbmRleF0ubGFiZWwgPSBmaWx0ZXIuZGlzcGxheW5hbWU7XG4gICAgICAgICAgICBmb3JtRmllbGRzW2luZGV4XS5oaWRkZW4gPSBmaWx0ZXIuaGlkZGVuID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIGZvcm1GaWVsZHM7XG4gIH1cblxuICBzZXRQYXJhbUZpZWxkVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGEgJiYgdGhpcy5jb25maWcuZGF0YS5wYXJhbT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb25maWcuZGF0YS5wYXJhbS5mb3JFYWNoKChwYXJhbTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKHBhcmFtKVswXTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvcm1GaWVsZHMuZmluZEluZGV4KChmb3JtRmllbGQpID0+IChmb3JtRmllbGQuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGtleS50b0xvd2VyQ2FzZSgpKSB8fCAoZm9ybUZpZWxkLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSAnQCcgKyBrZXkudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgIGlmIChpbmRleCA+IC0xICYmIGtleSkge1xuICAgICAgICAgIHRoaXMuZm9ybUZpZWxkc1tpbmRleF0udmFsdWUgPSBwYXJhbVtrZXldO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2Uge1xuICAgICAgICAvLyB0aGlzLmZvcm1GaWVsZHMucHVzaCh7IGZpZWxkOiBrZXksIGxhYmVsOiBrZXksIHZhbHVlOiBwYXJhbVtrZXldLCBjb2x1bW46IDQsIGNvbnRyb2w6IEVGb3JtQ29udHJvbC5JTlBVVCB9KTtcbiAgICAgICAgLy8gfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RHJvcERvd25EYXRhKHJlcG9ydEpzb246IGFueSkge1xuICAgIHJlcG9ydEpzb24uUGFyYW1ldGVycz8uZm9yRWFjaCgocmVjb3JkOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZWNvcmQuaXN1bmlxdWVrZXkpIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9EYXRhL0ZldGNoJywge1xuICAgICAgICAgIHVuaXF1ZUtleTogcmVjb3JkLmlzdW5pcXVla2V5LFxuICAgICAgICAgIGZpbHRlcnM6IHRoaXMuZ2V0RHJvcGRvd25GaWx0ZXJzKHJlY29yZClcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtU2VydmljZS5zZXRGb3JtRmllbGRQcm9wKHRoaXMuZHluYW1pY0Zvcm0sIHJlY29yZC5wYXJhbW5hbWUsIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2RhdGEnLCB2YWx1ZTogcmVzcG9uc2UucmVjb3JkcyB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hcGlFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHJlY29yZC5wYXJhbXR5cGUgPT09IFwiRHJvcERvd25cIiAmJiByZWNvcmQucGFyYW12YWx1ZSkge1xuICAgICAgICBsZXQgcGFyYW1WYWx1ZSA9IHJlY29yZD8ucGFyYW12YWx1ZTtcbiAgICAgICAgaWYgKHBhcmFtVmFsdWUgJiYgcGFyYW1WYWx1ZS5pbmNsdWRlcygnLCcpKSB7XG4gICAgICAgICAgdGhpcy5mb3JtU2VydmljZS5zZXRGb3JtRmllbGRQcm9wKHRoaXMuZHluYW1pY0Zvcm0sIHJlY29yZD8ucGFyYW1uYW1lLCBbXG4gICAgICAgICAgICB7IG5hbWU6ICdkYXRhJywgdmFsdWU6IHBhcmFtVmFsdWUuc3BsaXQoJywnKT8ubWFwKCh2YWx1ZSkgPT4gKHsgbGFiZWw6IHZhbHVlLCB2YWx1ZTogdmFsdWUgfSkpIH1cbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RHJvcGRvd25GaWx0ZXJzKFBhcmFtZXRlcjogYW55KSB7XG4gICAgbGV0IGZpbHRlcnM6IGFueSA9IFtdO1xuICAgIGNvbnN0IHBhcmFtRmlsdGVyID0gUGFyYW1ldGVyPy5maWx0ZXJzO1xuICAgIGxldCBhcnIgPSBbXTtcbiAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgaWYgKGZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoRmlsdGVyID0gcGFyYW1GaWx0ZXI/LmZpbmQoKHgpID0+IHg/LmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgIGlmIChtYXRjaEZpbHRlciAmJiBtYXRjaEZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyPy5maWVsZC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgYXJyLnB1c2goZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKFBhcmFtZXRlcj8ucGFyYW10eXBlID09PSAnRHJvcERvd24nICYmIHBhcmFtRmlsdGVyPy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbUZpbHRlci5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgaWYgKCFhcnI/LnNvbWUob2JqID0+IG9iai5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IGZpbHRlci5maWVsZCwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBmaWx0ZXI/LnZhbHVlIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cblxuICBnZXRSZXBvcnRGaWx0ZXIoKSB7XG4gICAgbGV0IGFyciA9IFtdO1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnMoKVxuICAgIHRoaXMucmVwb3J0SnNvbj8uUGFyYW1ldGVycz8uZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gKGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gcGFyYW0/LnBhcmFtbmFtZT8udG9Mb3dlckNhc2UoKSkgfHwgKGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gJ0AnICsgcGFyYW0/LnBhcmFtbmFtZT8udG9Mb3dlckNhc2UoKSkpXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBhcnIucHVzaChmaWx0ZXJzW2luZGV4XSlcbiAgICAgIH0gZWxzZSBpZiAocGFyYW0/LnBhcmFtdHlwZSAhPSAnRHJvcERvd24nKSB7XG4gICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IHBhcmFtPy5wYXJhbW5hbWU/LnJlcGxhY2UoJ0AnLCAnJyksIG1hdGNoTW9kZTogJ2VxdWFsJywgb3BlcmF0b3I6ICdhbmQnLCB2YWx1ZTogcGFyYW0ucGFyYW12YWx1ZSB9KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIGdldEZpbHRlcnMoKSB7XG4gICAgbGV0IGZpbHRlcnM6IGFueSA9IFtdO1xuICAgIHRoaXMuZHluYW1pY0Zvcm0/LmZvcm1TZWN0aW9ucz8uZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgc2VjdGlvbi5maWVsZHM/LmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC52YWx1ZSkge1xuICAgICAgICAgIGZpbHRlcnMucHVzaCh7IGZpZWxkOiBmaWVsZC5maWVsZCwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBmaWVsZC52YWx1ZSB9KTtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG5cbiAgZG93bmxvYWRSZXBvcnQoKSB7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0gdGhpcy5nZXRSZXBvcnRGaWx0ZXIoKTtcbiAgICBjb25zdCBmaWxlVHlwZSA9IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRUeXBlO1xuICAgIGlmIChmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuRVhDRUwgfHwgZmlsZVR5cGUgPT09IElSZXBvcnRUeXBlLlRFWFQgfHwgZmlsZVR5cGUgPT09IElSZXBvcnRUeXBlLkNTVikge1xuICAgICAgdGhpcy5kb3dubG9hZEN1c3RvbVJlcG9ydChmaWxlVHlwZSwgdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydE5hbWUsIGZpbHRlcnMpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5nZXRQZGZSZXBvcnQoZmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGRmUmVwb3J0KGZpbHRlcnMpIHtcbiAgICBsZXQgcmVwSWRPYmo6IGFueTtcblxuICAgIGlmICh0eXBlb2YgKHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQpID09PSAnbnVtYmVyJykge1xuICAgICAgcmVwSWRPYmogPSB7IElkOiB0aGlzLmNvbmZpZz8uZGF0YT8uZ2V0UmVwb3J0LCBmaWx0ZXJzOiBmaWx0ZXJzLCBSZXBvcnRIZWFkZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRIZWFkZXIsIFJlcG9ydEZvb3RlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEZvb3RlciB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVwSWRPYmogPSB7IHJlcG9ydE5hbWU6IHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEhlYWRlciwgUmVwb3J0Rm9vdGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0Rm9vdGVyIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmRvd25sb2FkKCcvUmVwb3J0L0dlbmVyYXRlJywgcmVwSWRPYmopXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB2YXIgbmV3QmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZS5ib2R5XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcbiAgICAgICAgICBjb25zdCBkYXRhID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3QmxvYik7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBhLmhyZWYgPSBkYXRhO1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKTtcbiAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGhlYWRlcj8uc3BsaXQoJ2ZpbGVuYW1lPScpPy5bMV0/LnNwbGl0KFwiO1wiKVswXT8ucmVwbGFjZUFsbCgvXFxcIi9nLCAnJyk7XG4gICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XG4gICAgICAgICAgYS5jbGljaygpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFwaUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGRvd25sb2FkQ3VzdG9tUmVwb3J0KHJlcG9ydFR5cGUsIHJlcG9ydE5hbWUsIGZpbHRlcnMpIHtcbiAgICB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SnNvbkRhdGE/LmZvckVhY2goKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhPy5kYXRhc291cmNlKSB7XG4gICAgICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvRGF0YS9NdWx0aUZldGNoJywge1xuICAgICAgICAgIHVuaXF1ZUtleTogZGF0YS5kYXRhc291cmNlLFxuICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnNcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVSZXBvcnQoKTtcbiAgICAgICAgICBjb25zdCByb3dzSW5mbyA9IHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHM7XG4gICAgICAgICAgY29uc3QgY29sdW1ucyA9IE9iamVjdD8ua2V5cyhyZXNwb25zZT8udGFibGVzWzBdPy5yZWNvcmRzWzBdKTtcbiAgICAgICAgICBpZiAocmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuRVhDRUwpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZXhwb3J0RXhjZWwocm93c0luZm8sIGNvbHVtbnMsIHJlcG9ydE5hbWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuVEVYVCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlQXNUZXh0RmlsZShyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZURhdGFBc0Nzdihyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlUmVwb3J0KCl7XG4gICAgbGV0IGN1cnJlbnRVc2VyOiBhbnkgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VySW5mbygpO1xuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvUmVwb3J0Q29uZmlnL1JlcG9ydFVzZXJTZXR0aW5nJywge1xuICAgICAgaXNSdW5SZXBvcnQ6IHRydWUsXG4gICAgICBpc0Zhdm9yaXRlOiBmYWxzZSxcbiAgICAgIHJlcG9ydFVuaXF1ZUtleTogdGhpcy5jb25maWc/LmRhdGE/LnVuaXF1ZUtleSxcbiAgICAgIHVzZXJJZDogY3VycmVudFVzZXI/LmlkLFxuICAgICAgcmVwb3J0SWQ6IDBcbiAgICB9KS5zdWJzY3JpYmUoKHJlcykgPT4ge30sXG4gICAgICh7IGVycm9yIH0pID0+IHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnQgdG8gdGV4dCAoc3ViLW1ldGhvZClcbiAgICovXG4gIHNhdmVBc1RleHRGaWxlKHJvd3NJbmZvOiBhbnksIHJlcG9ydE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2F2ZUFzVGV4dEZpbGUocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuXG4gIH1cblxuICBzYXZlRGF0YUFzQ3N2KHJvd3NJbmZvOiBhbnksIHJlcG9ydE5hbWU6IGFueSkge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2F2ZURhdGFBc0Nzdihyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gIH1cblxufVxuIiwiPHNlLWZvcm0tdXRpbCAgXG4qbmdJZj1cImR5bmFtaWNGb3JtXCJcbltmb3JtXT1cImR5bmFtaWNGb3JtXCJcbltoaWRlU2F2ZUJ1dHRvbl09XCJ0cnVlXCJcbltoaWRlQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxuPlxuPC9zZS1mb3JtLXV0aWw+XG4iXX0=
@@ -61,8 +61,8 @@ export class ReportService {
61
61
  showDialog === undefined) ||
62
62
  showDialog === true) {
63
63
  const ref = this.dialogService.open(ReportFilterComponent, {
64
- width: '40%',
65
- height: '40%',
64
+ width: '50%',
65
+ height: '50%',
66
66
  header: 'Generate Report',
67
67
  style: { background: '#fff' },
68
68
  data: { getReport: repId, param: params, showDialog, reportJsonData, reportType, reportHeader, reportFooter, reportName, uniqueKey: reportUniqueKey },
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
250
250
  providedIn: 'root'
251
251
  }]
252
252
  }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.RequestService }, { type: i3.GridService }, { type: i4.AuthenticationService }, { type: i5.AlertService }]; } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvc2VydmljZXMvcmVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUE0QixXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUl0SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFNbEQsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFBbUIsYUFBNEIsRUFDckMsY0FBOEIsRUFDOUIsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLFlBQTBCO1FBSmpCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBTnBDLGVBQVUsR0FBaUIsRUFBRSxDQUFDO1FBQzlCLGVBQVUsR0FBUSxFQUFFLENBQUM7SUFLb0IsQ0FBQztJQUUxQyxjQUFjLENBQUMsUUFBYSxFQUFFLEVBQUUsTUFBVyxFQUFFLGFBQXNCLEtBQUssRUFBRSxhQUFxQixXQUFXLENBQUMsR0FBRyxFQUM5RyxlQUF1QixFQUFFLEVBQUUsZUFBdUIsRUFBRSxFQUFFLE9BQXFCLEVBQUU7UUFFM0UsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFD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QUNGLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksT0FBTyxHQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7b0JBQ2xCLFNBQVMsRUFBRSxPQUFPO29CQUNsQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7aUJBQ25CLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO2lJQTdQVSxhQUFhO3FJQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVGb3JtQ29udHJvbCwgSUR5bmFtaWNGb3JtLCBJRm9ybUZpZWxkLCBJUmVwb3J0VHlwZSB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgUmVwb3J0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuL3JlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBFR3JpZEV4Y2VsIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQubW9kZWwnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0U2VydmljZSB7XG4gIGZvcm1GaWVsZHM6IElGb3JtRmllbGRbXSA9IFtdO1xuICBwYXJhbXNDb3B5OiBhbnkgPSBbXTtcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXF1ZXN0U2VydmljZTogUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLCkgeyB9XG5cbiAgZG93bmxvYWRSZXBvcnQocmVwSWQ6IGFueSA9ICcnLCBwYXJhbXM6IGFueSwgc2hvd0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlLCByZXBvcnRUeXBlOiBzdHJpbmcgPSBJUmVwb3J0VHlwZS5QREYsIFxuICByZXBvcnRIZWFkZXI6IHN0cmluZyA9ICcnLCByZXBvcnRGb290ZXI6IHN0cmluZyA9ICcnLCBmb3JtOiBJRHluYW1pY0Zvcm0gPSB7fSkgXG4gIHtcbiAgICBwYXJhbXM/LmZvckVhY2goKHApID0+IHtcbiAgICAgIHRoaXMucGFyYW1zQ29weS5wdXNoKE9iamVjdC5hc3NpZ24oe30sIHApKTtcbiAgICB9KTtcbiAgICB0aGlzLmNyZWF0ZUR5bmFtaWNGaWVsZHMocmVwSWQsIHBhcmFtcywgc2hvd0RpYWxvZywgcmVwb3J0VHlwZSwgcmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIsIGZvcm0pO1xuICB9XG5cbiAgY3JlYXRlRHluYW1pY0ZpZWxkcyhyZXBJZCwgcGFyYW1zLCBzaG93RGlhbG9nLCByZXBvcnRUeXBlLCByZXBvcnRIZWFkZXIsIHJlcG9ydEZvb3RlciwgZm9ybSkge1xuICAgIGxldCByZXBvcnRKc29uO1xuICAgIGxldCByZXBvcnROYW1lO1xuICAgIGxldCByZXBvcnRVbmlxdWVLZXk6IHN0cmluZyA9ICcnO1xuICAgIGlmKHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLkVYQ0VMIHx8IHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLlRFWFQgfHwgcmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuQ1NWKXtcbiAgICAgIGNvbnN0IGdldFJlcG9ydEJ5UmVwb3J0ID0gICcvUmVwb3J0Q29uZmlnL1JlcG9ydCc7XG4gICAgICBjb25zdCBnZXRSZXBvcnRCeUlkID0gICcvUmVwb3J0Q29uZmlnL0J5SWQnO1xuICAgICAgY29uc3QgZ2V0UmVwb3J0QnlJZE9yTmFtZSA9IHR5cGVvZihyZXBJZCkgPT09ICdudW1iZXInID8gZ2V0UmVwb3J0QnlJZCA6IGdldFJlcG9ydEJ5UmVwb3J0O1xuICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZVxuICAgICAgICAuZ2V0T25lPFJlc3BvbnNlLCBhbnk+KGdldFJlcG9ydEJ5SWRPck5hbWUsIHJlcElkKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgIHJlcG9ydEpzb24gPSBKU09OLnBhcnNlKGRhdGE/LnJlcG9ydCk7XG4gICAgICAgICAgICAgIHJlcG9ydE5hbWUgPSBkYXRhLm5hbWUgPyBkYXRhLm5hbWUgOiBFR3JpZEV4Y2VsLkVYUE9SVDtcbiAgICAgICAgICAgICAgcmVwb3J0VW5pcXVlS2V5ID0gZGF0YT8udW5pcXVlS2V5O1xuICAgICAgICAgICAgICB0aGlzLmZvcm1GaWVsZHMgPSByZXBvcnRKc29uPy5Gb3JtRmllbGRzO1xuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlUmVwb3J0KHJlcElkLCBwYXJhbXMsIHNob3dEaWFsb2csIHJlcG9ydFR5cGUsIHJlcG9ydE5hbWUscmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIsIGZvcm0sIHJlcG9ydEpzb24/LlJlcG9ydERhdGFTb3VyY2VzLCByZXBvcnRVbmlxdWVLZXkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5nZW5lcmF0ZVJlcG9ydChyZXBJZCwgcGFyYW1zLCBzaG93RGlhbG9nLCByZXBvcnRUeXBlLCByZXBvcnROYW1lLCByZXBvcnRIZWFkZXIsIHJlcG9ydEZvb3RlciwgZm9ybSwgcmVwb3J0SnNvbj8uUmVwb3J0RGF0YVNvdXJjZXMpXG4gICAgfVxuICB9XG5cbiAgZG93bmxvYWRDdXN0b21SZXBvcnQoZGF0YVNvdXJjZTogYW55LCByZXBvcnRUeXBlLCByZXBvcnROYW1lOiBzdHJpbmcgPSAnJywgcGFyYW1zOiBhbnksIHJlcG9ydFVuaXF1ZUtleTogc3RyaW5nID0gJycpIHtcbiAgICBkYXRhU291cmNlLmZvckVhY2goKHVuaXF1ZUtleSkgPT4ge1xuICAgICAgdGhpcy5nZXRSZXBvcnREYXRhKHVuaXF1ZUtleS5kYXRhc291cmNlLCByZXBvcnRUeXBlLCByZXBvcnROYW1lLCBwYXJhbXMsIHJlcG9ydFVuaXF1ZUtleSk7XG4gICAgfSlcbiAgfVxuXG4gIGdlbmVyYXRlUmVwb3J0KHJlcElkOiBhbnksIHBhcmFtczogYW55LCBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2UsIHJlcG9ydFR5cGU6IElSZXBvcnRUeXBlLCByZXBvcnROYW1lOiBzdHJpbmcsIHJlcG9ydEhlYWRlcjogc3RyaW5nLCByZXBvcnRGb290ZXI6IHN0cmluZywgZm9ybTogSUR5bmFtaWNGb3JtID0ge30sIHJlcG9ydEpzb25EYXRhLCByZXBvcnRVbmlxdWVLZXkgPSAnJykge1xuICAgIHRoaXMuZ2V0Rm9ybUZpZWxkVmFsdWVzKGZvcm0sIHBhcmFtcyk7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuZm9ybUZpZWxkcy5zb21lKChmaWVsZCkgPT4gIWZpZWxkLmhpZGRlbikgJiZcbiAgICAgICAgc2hvd0RpYWxvZyA9PT0gdW5kZWZpbmVkKSB8fFxuICAgICAgc2hvd0RpYWxvZyA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0RmlsdGVyQ29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnNDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnNDAlJyxcbiAgICAgICAgaGVhZGVyOiAnR2VuZXJhdGUgUmVwb3J0JyxcbiAgICAgICAgc3R5bGU6IHsgYmFja2dyb3VuZDogJyNmZmYnIH0sXG4gICAgICAgIGRhdGE6IHsgZ2V0UmVwb3J0OiByZXBJZCwgcGFyYW06IHBhcmFtcywgc2hvd0RpYWxvZywgcmVwb3J0SnNvbkRhdGEsIHJlcG9ydFR5cGUsIHJlcG9ydEhlYWRlciwgcmVwb3J0Rm9vdGVyLCByZXBvcnROYW1lLCB1bmlxdWVLZXk6IHJlcG9ydFVuaXF1ZUtleX0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5kaWFsb2dDb21wb25lbnRSZWZNYXAuZ2V0KHJlZik7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSBkaWFsb2dSZWY/Lmluc3RhbmNlIGFzIER5bmFtaWNEaWFsb2dDb21wb25lbnQ7XG4gICAgICBjb25zdCBhcmlhTGFiZWxsZWRCeSA9IGNvbXBvbmVudC5nZXRBcmlhTGFiZWxsZWRCeSgpO1xuICAgICAgY29tcG9uZW50LmdldEFyaWFMYWJlbGxlZEJ5ID0gKCkgPT4gYXJpYUxhYmVsbGVkQnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCB8fCByZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUIHx8IHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLkNTVikge1xuICAgICAgICB0aGlzLmRvd25sb2FkQ3VzdG9tUmVwb3J0KHJlcG9ydEpzb25EYXRhLCByZXBvcnRUeXBlLCByZXBvcnROYW1lLCBwYXJhbXMsIHJlcG9ydFVuaXF1ZUtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRvd25sb2FkUXVpY2tSZXBvcnQocGFyYW1zLCByZXBJZCwgcmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFJlcG9ydERhdGEodW5pcXVlS2V5VmFsdWU6IGFueSwgcmVwb3J0VHlwZSwgcmVwb3J0TmFtZSwgcGFyYW1zOiBhbnksIHJlcG9ydFVuaXF1ZUtleTogc3RyaW5nID0gJycpIHtcbiAgICBsZXQgZmlsdGVyczogYW55W10gPSBbXTtcbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW0pLm1hcCgoa2V5KSA9PlxuICAgICAgICAgIGZpbHRlcnMucHVzaCh7XG4gICAgICAgICAgICBmaWVsZDoga2V5LFxuICAgICAgICAgICAgbWF0Y2hNb2RlOiAnZXF1YWwnLFxuICAgICAgICAgICAgb3BlcmF0b3I6ICdhbmQnLFxuICAgICAgICAgICAgdmFsdWU6IHBhcmFtW2tleV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgfVxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvRGF0YS9NdWx0aUZldGNoJywge1xuICAgICAgdW5pcXVlS2V5OiB1bmlxdWVLZXlWYWx1ZSxcbiAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlcG9ydChyZXBvcnRVbmlxdWVLZXkpXG4gICAgICBjb25zdCByb3dzSW5mbyA9IHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHM7XG4gICAgICBjb25zdCBjb2x1bW5zID0gT2JqZWN0Py5rZXlzKHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHNbMF0pO1xuICAgICAgaWYgKHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLkVYQ0VMKSB7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZXhwb3J0RXhjZWwocm93c0luZm8sIGNvbHVtbnMsIHJlcG9ydE5hbWUpO1xuICAgICAgfSBlbHNlIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUKSB7XG4gICAgICAgIHRoaXMuc2F2ZUFzVGV4dEZpbGUocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zYXZlQXNDc3ZGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vdXBkYXRlIHJlcG9ydCBsb2dnaW5nXG4gIHVwZGF0ZVJlcG9ydCh1bmlxdWVLZXlWYWx1ZSl7XG4gICAgbGV0IGN1cnJlbnRVc2VyOiBhbnkgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VySW5mbygpO1xuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvUmVwb3J0Q29uZmlnL1JlcG9ydFVzZXJTZXR0aW5nJywge1xuICAgICAgaXNSdW5SZXBvcnQ6IHRydWUsXG4gICAgICBpc0Zhdm9yaXRlOiBmYWxzZSxcbiAgICAgIHJlcG9ydFVuaXF1ZUtleTogdW5pcXVlS2V5VmFsdWUsXG4gICAgICB1c2VySWQ6IGN1cnJlbnRVc2VyPy5pZCxcbiAgICAgIHJlcG9ydElkOiAwXG4gICAgfSkuc3Vic2NyaWJlKChyZXMpID0+IHt9LFxuICAgICAoeyBlcnJvciB9KSA9PiB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHRvIHRleHQgKHN1Yi1tZXRob2QpXG4gICAqL1xuICBzYXZlQXNUZXh0RmlsZShyb3dzSW5mbzogYW55LCByZXBvcnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVBc1RleHRGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnQgdG8gQ1NWIChzdWItbWV0aG9kKVxuICAgKi9cbiAgc2F2ZUFzQ3N2RmlsZShyb3dzSW5mbzogYW55LCByZXBvcnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVEYXRhQXNDc3Yocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICB9XG5cbiAgZ2V0Rm9ybUZpZWxkVmFsdWVzKGZvcm06IElEeW5hbWljRm9ybSwgcGFyYW1zOiBhbnkpIHtcbiAgICBpZiAodGhpcy5wYXJhbXNDb3B5Py5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnBhcmFtc0NvcHkuZm9yRWFjaCgocGFyYW1Db3B5KSA9PiB7XG4gICAgICAgIHZhciBrZXkgPSBPYmplY3Qua2V5cyhwYXJhbUNvcHkpWzBdO1xuICAgICAgICBpZiAocGFyYW1Db3B5W2tleV0gPT09ICcnIHx8ICFwYXJhbUNvcHlba2V5XSkge1xuICAgICAgICAgIGZvcm0/LmZvcm1TZWN0aW9ucz8uZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGtleS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09IGZpZWxkLmZpZWxkPy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLmZvckVhY2goKG9yaWdQYXJhbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdmFyIG9yaWdLZXkgPSBPYmplY3Qua2V5cyhvcmlnUGFyYW0pWzBdO1xuICAgICAgICAgICAgICAgICAgaWYgKG9yaWdLZXkgPT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vb3JpZ1BhcmFtW29yaWdLZXldID0gZmllbGQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5jb250cm9sID09IEVGb3JtQ29udHJvbC5DQUxFTkRBUikge1xuICAgICAgICAgICAgICAgICAgICAgIG9yaWdQYXJhbVtvcmlnS2V5XSA9IGZpZWxkLnZhbHVlID8gZmllbGQudmFsdWUudG9Mb2NhbGVEYXRlU3RyaW5nKCkgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIG9yaWdQYXJhbVtvcmlnS2V5XSA9IGZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHBhcmFtQ29weVtrZXldLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ3snKSAmJlxuICAgICAgICAgIHBhcmFtQ29weVtrZXldLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ30nKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbUNvcHlba2V5XS5yZXBsYWNlKCd7JywgJycpLnJlcGxhY2UoJ30nLCAnJyk7XG4gICAgICAgICAgZm9ybT8uZm9ybVNlY3Rpb25zPy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgbmV3VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZC5maWVsZD8udG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuZm9yRWFjaCgob3JpZ1BhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgICB2YXIgb3JpZ0tleSA9IE9iamVjdC5rZXlzKG9yaWdQYXJhbSlbMF07XG4gICAgICAgICAgICAgICAgICBpZiAob3JpZ0tleSA9PSBrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbnRyb2wgPT0gRUZvcm1Db250cm9sLkNBTEVOREFSKSB7XG4gICAgICAgICAgICAgICAgICAgICAgb3JpZ1BhcmFtW29yaWdLZXldID0gZmllbGQudmFsdWUgPyBmaWVsZC52YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb3JpZ1BhcmFtW29yaWdLZXldID0gZmllbGQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRvd25sb2FkUXVpY2tSZXBvcnQocGFyYW1zLCByZXBJZCwgcmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIpIHtcbiAgICBsZXQgZmlsdGVyczogYW55W10gPSBbXTtcbiAgICBsZXQgcmVwSWRPYmo6IGFueTtcbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW0pLm1hcCgoa2V5KSA9PlxuICAgICAgICAgIGZpbHRlcnMucHVzaCh7XG4gICAgICAgICAgICBmaWVsZDoga2V5LFxuICAgICAgICAgICAgbWF0Y2hNb2RlOiAnZXF1YWwnLFxuICAgICAgICAgICAgb3BlcmF0b3I6ICdhbmQnLFxuICAgICAgICAgICAgdmFsdWU6IHBhcmFtW2tleV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgfVxuICAgIFxuICAgIGlmICh0eXBlb2YgKHJlcElkKSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJlcElkT2JqID0geyBJZDogcmVwSWQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogcmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHJlcG9ydEZvb3Rlcn1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXBJZE9iaiA9IHsgcmVwb3J0TmFtZTogcmVwSWQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogcmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHJlcG9ydEZvb3RlciB9XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZVxuICAgICAgLmRvd25sb2FkKCcvUmVwb3J0L0dlbmVyYXRlJywgcmVwSWRPYmopXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB2YXIgbmV3QmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZS5ib2R5XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcbiAgICAgICAgICBjb25zdCBkYXRhID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3QmxvYik7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBhLmhyZWYgPSBkYXRhO1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKTtcbiAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGhlYWRlclxuICAgICAgICAgICAgPy5zcGxpdCgnZmlsZW5hbWU9Jyk/LlsxXVxuICAgICAgICAgICAgPy5zcGxpdCgnOycpWzBdXG4gICAgICAgICAgICA/LnJlcGxhY2VBbGwoL1xcXCIvZywgJycpO1xuICAgICAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hcGlFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRGaWx0ZXJzKCkge1xuICAgIGxldCBmaWx0ZXJzOiBhbnlbXSA9IFtdO1xuICAgIHRoaXMuZm9ybUZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkICYmIGZpZWxkLnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZpbHRlcnMucHVzaCh7XG4gICAgICAgICAgZmllbGQ6IGZpZWxkLmZpZWxkLFxuICAgICAgICAgIG1hdGNoTW9kZTogJ2VxdWFsJyxcbiAgICAgICAgICBvcGVyYXRvcjogJ2FuZCcsXG4gICAgICAgICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxufVxuIl19
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvc2VydmljZXMvcmVwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUE0QixXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUl0SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFNbEQsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFBbUIsYUFBNEIsRUFDckMsY0FBOEIsRUFDOUIsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLFlBQTBCO1FBSmpCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBTnBDLGVBQVUsR0FBaUIsRUFBRSxDQUFDO1FBQzlCLGVBQVUsR0FBUSxFQUFFLENBQUM7SUFLb0IsQ0FBQztJQUUxQyxjQUFjLENBQUMsUUFBYSxFQUFFLEVBQUUsTUFBVyxFQUFFLGFBQXNCLEtBQUssRUFBRSxhQUFxQixXQUFXLENBQUMsR0FBRyxFQUM5RyxlQUF1QixFQUFFLEVBQUUsZUFBdUIsRUFBRSxFQUFFLE9BQXFCLEVBQUU7UUFFM0UsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLElBQUk7UUFDekYsSUFBSSxVQUFVLENBQUM7UUFDZixJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksZUFBZSxHQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFHLFVBQVUsS0FBSyxXQUFXLENBQUMsS0FBSyxJQUFJLFVBQVUsS0FBSyxXQUFXLENBQUMsSUFBSSxJQUFJLFVBQVUsS0FBSyxXQUFXLENBQUMsR0FBRyxFQUFDO1lBQ3ZHLE1BQU0saUJBQWlCLEdBQUksc0JBQXNCLENBQUM7WUFDbEQsTUFBTSxhQUFhLEdBQUksb0JBQW9CLENBQUM7WUFDNUMsTUFBTSxtQkFBbUIsR0FBRyxPQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQzNGLElBQUksQ0FBQyxjQUFjO2lCQUNoQixNQUFNLENBQWdCLG1CQUFtQixFQUFFLEtBQUssQ0FBQztpQkFDakQsU0FBUyxDQUNSLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxJQUFJLEVBQUU7b0JBQ1IsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUN0QyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztvQkFDdkQsZUFBZSxHQUFHLElBQUksRUFBRSxTQUFTLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxFQUFFLFVBQVUsQ0FBQztvQkFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQTtpQkFDeEo7WUFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDUixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQ0YsQ0FBQztTQUNMO2FBQ0k7WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUE7U0FDeEk7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsVUFBZSxFQUFFLFVBQVUsRUFBRSxhQUFxQixFQUFFLEVBQUUsTUFBVyxFQUFFLGtCQUEwQixFQUFFO1FBQ2xILFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDNUYsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUFXLEVBQUUsYUFBc0IsS0FBSyxFQUFFLFVBQXVCLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLFlBQW9CLEVBQUUsT0FBcUIsRUFBRSxFQUFFLGNBQWMsRUFBRSxlQUFlLEdBQUcsRUFBRTtRQUN6TixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQ0UsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzdDLFVBQVUsS0FBSyxTQUFTLENBQUM7WUFDM0IsVUFBVSxLQUFLLElBQUksRUFDbkI7WUFDQSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDekQsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtnQkFDN0IsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUM7YUFDckosQ0FBQyxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEUsTUFBTSxTQUFTLEdBQUcsU0FBUyxFQUFFLFFBQWtDLENBQUM7WUFDaEUsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckQsU0FBUyxDQUFDLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsSUFBSSxVQUFVLEtBQUssV0FBVyxDQUFDLEtBQUssSUFBSSxVQUFVLEtBQUssV0FBVyxDQUFDLElBQUksSUFBSSxVQUFVLEtBQUssV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDekcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQzthQUM1RjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDckU7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsY0FBbUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQVcsRUFBRSxrQkFBMEIsRUFBRTtRQUNsRyxJQUFJLE9BQU8sR0FBVSxFQUFFLENBQUM7UUFDeEIsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsU0FBUyxFQUFFLE9BQU87b0JBQ2xCLFFBQVEsRUFBRSxLQUFLO29CQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNsQixDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDN0I7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBYSxrQkFBa0IsRUFBRTtZQUN0RCxTQUFTLEVBQUUsY0FBYztZQUN6QixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQTtZQUNsQyxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztZQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUQsSUFBSSxVQUFVLEtBQUssV0FBVyxDQUFDLEtBQUssRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQzthQUM3RDtpQkFBTSxJQUFJLFVBQVUsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUMxQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixZQUFZLENBQUMsY0FBYztRQUN6QixJQUFJLFdBQVcsR0FBUSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQWEsaUNBQWlDLEVBQUU7WUFDckUsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLEtBQUs7WUFDakIsZUFBZSxFQUFFLGNBQWM7WUFDL0IsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUUsQ0FBQyxFQUN2QixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxRQUFhLEVBQUUsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxRQUFhLEVBQUUsVUFBa0I7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFrQixFQUFFLE1BQVc7UUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUM1QyxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO3dCQUN0QyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFOzRCQUMvQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFO2dDQUMvRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7b0NBQzNCLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0NBQ3hDLElBQUksT0FBTyxJQUFJLEdBQUcsRUFBRTt3Q0FDbEIsbUNBQW1DO3dDQUNuQyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTs0Q0FDMUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3lDQUM1RTs2Q0FBTTs0Q0FDTCxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzt5Q0FDbEM7cUNBQ0Y7Z0NBQ0gsQ0FBQyxDQUFDLENBQUM7NkJBQ0o7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7cUJBQU0sSUFDTCxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztvQkFDdkMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFDdkM7b0JBQ0EsSUFBSSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDaEUsSUFBSSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTt3QkFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs0QkFDL0IsSUFDRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFDaEU7Z0NBQ0EsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO29DQUMzQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29DQUN4QyxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUU7d0NBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFOzRDQUMxQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7eUNBQzVFOzZDQUFNOzRDQUNMLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO3lDQUNsQztxQ0FDRjtnQ0FDSCxDQUFDLENBQUMsQ0FBQzs2QkFDSjt3QkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWTtRQUMzRCxJQUFJLE9BQU8sR0FBVSxFQUFFLENBQUM7UUFDeEIsSUFBSSxRQUFhLENBQUM7UUFDbEIsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsU0FBUyxFQUFFLE9BQU87b0JBQ2xCLFFBQVEsRUFBRSxLQUFLO29CQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNsQixDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDN0I7UUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDL0IsUUFBUSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBQyxDQUFBO1NBQ2xHO2FBQ0k7WUFDSCxRQUFRLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUE7U0FDM0c7UUFFRCxJQUFJLENBQUMsY0FBYzthQUNoQixRQUFRLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDO2FBQ3RDLFNBQVMsQ0FDUixDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ1gsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDZCxNQUFNLE1BQU0sR0FBRyxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdELE1BQU0sUUFBUSxHQUFHLE1BQU07Z0JBQ3JCLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNWLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksT0FBTyxHQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7b0JBQ2xCLFNBQVMsRUFBRSxPQUFPO29CQUNsQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7aUJBQ25CLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO2lJQTdQVSxhQUFhO3FJQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVGb3JtQ29udHJvbCwgSUR5bmFtaWNGb3JtLCBJRm9ybUZpZWxkLCBJUmVwb3J0VHlwZSB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgUmVwb3J0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuL3JlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBFR3JpZEV4Y2VsIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQubW9kZWwnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0U2VydmljZSB7XG4gIGZvcm1GaWVsZHM6IElGb3JtRmllbGRbXSA9IFtdO1xuICBwYXJhbXNDb3B5OiBhbnkgPSBbXTtcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXF1ZXN0U2VydmljZTogUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLCkgeyB9XG5cbiAgZG93bmxvYWRSZXBvcnQocmVwSWQ6IGFueSA9ICcnLCBwYXJhbXM6IGFueSwgc2hvd0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlLCByZXBvcnRUeXBlOiBzdHJpbmcgPSBJUmVwb3J0VHlwZS5QREYsIFxuICByZXBvcnRIZWFkZXI6IHN0cmluZyA9ICcnLCByZXBvcnRGb290ZXI6IHN0cmluZyA9ICcnLCBmb3JtOiBJRHluYW1pY0Zvcm0gPSB7fSkgXG4gIHtcbiAgICBwYXJhbXM/LmZvckVhY2goKHApID0+IHtcbiAgICAgIHRoaXMucGFyYW1zQ29weS5wdXNoKE9iamVjdC5hc3NpZ24oe30sIHApKTtcbiAgICB9KTtcbiAgICB0aGlzLmNyZWF0ZUR5bmFtaWNGaWVsZHMocmVwSWQsIHBhcmFtcywgc2hvd0RpYWxvZywgcmVwb3J0VHlwZSwgcmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIsIGZvcm0pO1xuICB9XG5cbiAgY3JlYXRlRHluYW1pY0ZpZWxkcyhyZXBJZCwgcGFyYW1zLCBzaG93RGlhbG9nLCByZXBvcnRUeXBlLCByZXBvcnRIZWFkZXIsIHJlcG9ydEZvb3RlciwgZm9ybSkge1xuICAgIGxldCByZXBvcnRKc29uO1xuICAgIGxldCByZXBvcnROYW1lO1xuICAgIGxldCByZXBvcnRVbmlxdWVLZXk6IHN0cmluZyA9ICcnO1xuICAgIGlmKHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLkVYQ0VMIHx8IHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLlRFWFQgfHwgcmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuQ1NWKXtcbiAgICAgIGNvbnN0IGdldFJlcG9ydEJ5UmVwb3J0ID0gICcvUmVwb3J0Q29uZmlnL1JlcG9ydCc7XG4gICAgICBjb25zdCBnZXRSZXBvcnRCeUlkID0gICcvUmVwb3J0Q29uZmlnL0J5SWQnO1xuICAgICAgY29uc3QgZ2V0UmVwb3J0QnlJZE9yTmFtZSA9IHR5cGVvZihyZXBJZCkgPT09ICdudW1iZXInID8gZ2V0UmVwb3J0QnlJZCA6IGdldFJlcG9ydEJ5UmVwb3J0O1xuICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZVxuICAgICAgICAuZ2V0T25lPFJlc3BvbnNlLCBhbnk+KGdldFJlcG9ydEJ5SWRPck5hbWUsIHJlcElkKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgIHJlcG9ydEpzb24gPSBKU09OLnBhcnNlKGRhdGE/LnJlcG9ydCk7XG4gICAgICAgICAgICAgIHJlcG9ydE5hbWUgPSBkYXRhLm5hbWUgPyBkYXRhLm5hbWUgOiBFR3JpZEV4Y2VsLkVYUE9SVDtcbiAgICAgICAgICAgICAgcmVwb3J0VW5pcXVlS2V5ID0gZGF0YT8udW5pcXVlS2V5O1xuICAgICAgICAgICAgICB0aGlzLmZvcm1GaWVsZHMgPSByZXBvcnRKc29uPy5Gb3JtRmllbGRzO1xuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlUmVwb3J0KHJlcElkLCBwYXJhbXMsIHNob3dEaWFsb2csIHJlcG9ydFR5cGUsIHJlcG9ydE5hbWUscmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIsIGZvcm0sIHJlcG9ydEpzb24/LlJlcG9ydERhdGFTb3VyY2VzLCByZXBvcnRVbmlxdWVLZXkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5nZW5lcmF0ZVJlcG9ydChyZXBJZCwgcGFyYW1zLCBzaG93RGlhbG9nLCByZXBvcnRUeXBlLCByZXBvcnROYW1lLCByZXBvcnRIZWFkZXIsIHJlcG9ydEZvb3RlciwgZm9ybSwgcmVwb3J0SnNvbj8uUmVwb3J0RGF0YVNvdXJjZXMpXG4gICAgfVxuICB9XG5cbiAgZG93bmxvYWRDdXN0b21SZXBvcnQoZGF0YVNvdXJjZTogYW55LCByZXBvcnRUeXBlLCByZXBvcnROYW1lOiBzdHJpbmcgPSAnJywgcGFyYW1zOiBhbnksIHJlcG9ydFVuaXF1ZUtleTogc3RyaW5nID0gJycpIHtcbiAgICBkYXRhU291cmNlLmZvckVhY2goKHVuaXF1ZUtleSkgPT4ge1xuICAgICAgdGhpcy5nZXRSZXBvcnREYXRhKHVuaXF1ZUtleS5kYXRhc291cmNlLCByZXBvcnRUeXBlLCByZXBvcnROYW1lLCBwYXJhbXMsIHJlcG9ydFVuaXF1ZUtleSk7XG4gICAgfSlcbiAgfVxuXG4gIGdlbmVyYXRlUmVwb3J0KHJlcElkOiBhbnksIHBhcmFtczogYW55LCBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2UsIHJlcG9ydFR5cGU6IElSZXBvcnRUeXBlLCByZXBvcnROYW1lOiBzdHJpbmcsIHJlcG9ydEhlYWRlcjogc3RyaW5nLCByZXBvcnRGb290ZXI6IHN0cmluZywgZm9ybTogSUR5bmFtaWNGb3JtID0ge30sIHJlcG9ydEpzb25EYXRhLCByZXBvcnRVbmlxdWVLZXkgPSAnJykge1xuICAgIHRoaXMuZ2V0Rm9ybUZpZWxkVmFsdWVzKGZvcm0sIHBhcmFtcyk7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuZm9ybUZpZWxkcy5zb21lKChmaWVsZCkgPT4gIWZpZWxkLmhpZGRlbikgJiZcbiAgICAgICAgc2hvd0RpYWxvZyA9PT0gdW5kZWZpbmVkKSB8fFxuICAgICAgc2hvd0RpYWxvZyA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0RmlsdGVyQ29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgaGVpZ2h0OiAnNTAlJyxcbiAgICAgICAgaGVhZGVyOiAnR2VuZXJhdGUgUmVwb3J0JyxcbiAgICAgICAgc3R5bGU6IHsgYmFja2dyb3VuZDogJyNmZmYnIH0sXG4gICAgICAgIGRhdGE6IHsgZ2V0UmVwb3J0OiByZXBJZCwgcGFyYW06IHBhcmFtcywgc2hvd0RpYWxvZywgcmVwb3J0SnNvbkRhdGEsIHJlcG9ydFR5cGUsIHJlcG9ydEhlYWRlciwgcmVwb3J0Rm9vdGVyLCByZXBvcnROYW1lLCB1bmlxdWVLZXk6IHJlcG9ydFVuaXF1ZUtleX0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5kaWFsb2dDb21wb25lbnRSZWZNYXAuZ2V0KHJlZik7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSBkaWFsb2dSZWY/Lmluc3RhbmNlIGFzIER5bmFtaWNEaWFsb2dDb21wb25lbnQ7XG4gICAgICBjb25zdCBhcmlhTGFiZWxsZWRCeSA9IGNvbXBvbmVudC5nZXRBcmlhTGFiZWxsZWRCeSgpO1xuICAgICAgY29tcG9uZW50LmdldEFyaWFMYWJlbGxlZEJ5ID0gKCkgPT4gYXJpYUxhYmVsbGVkQnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCB8fCByZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUIHx8IHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLkNTVikge1xuICAgICAgICB0aGlzLmRvd25sb2FkQ3VzdG9tUmVwb3J0KHJlcG9ydEpzb25EYXRhLCByZXBvcnRUeXBlLCByZXBvcnROYW1lLCBwYXJhbXMsIHJlcG9ydFVuaXF1ZUtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRvd25sb2FkUXVpY2tSZXBvcnQocGFyYW1zLCByZXBJZCwgcmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFJlcG9ydERhdGEodW5pcXVlS2V5VmFsdWU6IGFueSwgcmVwb3J0VHlwZSwgcmVwb3J0TmFtZSwgcGFyYW1zOiBhbnksIHJlcG9ydFVuaXF1ZUtleTogc3RyaW5nID0gJycpIHtcbiAgICBsZXQgZmlsdGVyczogYW55W10gPSBbXTtcbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW0pLm1hcCgoa2V5KSA9PlxuICAgICAgICAgIGZpbHRlcnMucHVzaCh7XG4gICAgICAgICAgICBmaWVsZDoga2V5LFxuICAgICAgICAgICAgbWF0Y2hNb2RlOiAnZXF1YWwnLFxuICAgICAgICAgICAgb3BlcmF0b3I6ICdhbmQnLFxuICAgICAgICAgICAgdmFsdWU6IHBhcmFtW2tleV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgfVxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvRGF0YS9NdWx0aUZldGNoJywge1xuICAgICAgdW5pcXVlS2V5OiB1bmlxdWVLZXlWYWx1ZSxcbiAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlcG9ydChyZXBvcnRVbmlxdWVLZXkpXG4gICAgICBjb25zdCByb3dzSW5mbyA9IHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHM7XG4gICAgICBjb25zdCBjb2x1bW5zID0gT2JqZWN0Py5rZXlzKHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHNbMF0pO1xuICAgICAgaWYgKHJlcG9ydFR5cGUgPT09IElSZXBvcnRUeXBlLkVYQ0VMKSB7XG4gICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZXhwb3J0RXhjZWwocm93c0luZm8sIGNvbHVtbnMsIHJlcG9ydE5hbWUpO1xuICAgICAgfSBlbHNlIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUKSB7XG4gICAgICAgIHRoaXMuc2F2ZUFzVGV4dEZpbGUocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zYXZlQXNDc3ZGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vdXBkYXRlIHJlcG9ydCBsb2dnaW5nXG4gIHVwZGF0ZVJlcG9ydCh1bmlxdWVLZXlWYWx1ZSl7XG4gICAgbGV0IGN1cnJlbnRVc2VyOiBhbnkgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VySW5mbygpO1xuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvUmVwb3J0Q29uZmlnL1JlcG9ydFVzZXJTZXR0aW5nJywge1xuICAgICAgaXNSdW5SZXBvcnQ6IHRydWUsXG4gICAgICBpc0Zhdm9yaXRlOiBmYWxzZSxcbiAgICAgIHJlcG9ydFVuaXF1ZUtleTogdW5pcXVlS2V5VmFsdWUsXG4gICAgICB1c2VySWQ6IGN1cnJlbnRVc2VyPy5pZCxcbiAgICAgIHJlcG9ydElkOiAwXG4gICAgfSkuc3Vic2NyaWJlKChyZXMpID0+IHt9LFxuICAgICAoeyBlcnJvciB9KSA9PiB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHRvIHRleHQgKHN1Yi1tZXRob2QpXG4gICAqL1xuICBzYXZlQXNUZXh0RmlsZShyb3dzSW5mbzogYW55LCByZXBvcnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVBc1RleHRGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnQgdG8gQ1NWIChzdWItbWV0aG9kKVxuICAgKi9cbiAgc2F2ZUFzQ3N2RmlsZShyb3dzSW5mbzogYW55LCByZXBvcnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLnNhdmVEYXRhQXNDc3Yocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuICB9XG5cbiAgZ2V0Rm9ybUZpZWxkVmFsdWVzKGZvcm06IElEeW5hbWljRm9ybSwgcGFyYW1zOiBhbnkpIHtcbiAgICBpZiAodGhpcy5wYXJhbXNDb3B5Py5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnBhcmFtc0NvcHkuZm9yRWFjaCgocGFyYW1Db3B5KSA9PiB7XG4gICAgICAgIHZhciBrZXkgPSBPYmplY3Qua2V5cyhwYXJhbUNvcHkpWzBdO1xuICAgICAgICBpZiAocGFyYW1Db3B5W2tleV0gPT09ICcnIHx8ICFwYXJhbUNvcHlba2V5XSkge1xuICAgICAgICAgIGZvcm0/LmZvcm1TZWN0aW9ucz8uZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGtleS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09IGZpZWxkLmZpZWxkPy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLmZvckVhY2goKG9yaWdQYXJhbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdmFyIG9yaWdLZXkgPSBPYmplY3Qua2V5cyhvcmlnUGFyYW0pWzBdO1xuICAgICAgICAgICAgICAgICAgaWYgKG9yaWdLZXkgPT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vb3JpZ1BhcmFtW29yaWdLZXldID0gZmllbGQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5jb250cm9sID09IEVGb3JtQ29udHJvbC5DQUxFTkRBUikge1xuICAgICAgICAgICAgICAgICAgICAgIG9yaWdQYXJhbVtvcmlnS2V5XSA9IGZpZWxkLnZhbHVlID8gZmllbGQudmFsdWUudG9Mb2NhbGVEYXRlU3RyaW5nKCkgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIG9yaWdQYXJhbVtvcmlnS2V5XSA9IGZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHBhcmFtQ29weVtrZXldLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ3snKSAmJlxuICAgICAgICAgIHBhcmFtQ29weVtrZXldLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ30nKVxuICAgICAgICApIHtcbiAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbUNvcHlba2V5XS5yZXBsYWNlKCd7JywgJycpLnJlcGxhY2UoJ30nLCAnJyk7XG4gICAgICAgICAgZm9ybT8uZm9ybVNlY3Rpb25zPy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgbmV3VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZC5maWVsZD8udG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuZm9yRWFjaCgob3JpZ1BhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgICB2YXIgb3JpZ0tleSA9IE9iamVjdC5rZXlzKG9yaWdQYXJhbSlbMF07XG4gICAgICAgICAgICAgICAgICBpZiAob3JpZ0tleSA9PSBrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbnRyb2wgPT0gRUZvcm1Db250cm9sLkNBTEVOREFSKSB7XG4gICAgICAgICAgICAgICAgICAgICAgb3JpZ1BhcmFtW29yaWdLZXldID0gZmllbGQudmFsdWUgPyBmaWVsZC52YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb3JpZ1BhcmFtW29yaWdLZXldID0gZmllbGQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRvd25sb2FkUXVpY2tSZXBvcnQocGFyYW1zLCByZXBJZCwgcmVwb3J0SGVhZGVyLCByZXBvcnRGb290ZXIpIHtcbiAgICBsZXQgZmlsdGVyczogYW55W10gPSBbXTtcbiAgICBsZXQgcmVwSWRPYmo6IGFueTtcbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW0pLm1hcCgoa2V5KSA9PlxuICAgICAgICAgIGZpbHRlcnMucHVzaCh7XG4gICAgICAgICAgICBmaWVsZDoga2V5LFxuICAgICAgICAgICAgbWF0Y2hNb2RlOiAnZXF1YWwnLFxuICAgICAgICAgICAgb3BlcmF0b3I6ICdhbmQnLFxuICAgICAgICAgICAgdmFsdWU6IHBhcmFtW2tleV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgfVxuICAgIFxuICAgIGlmICh0eXBlb2YgKHJlcElkKSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJlcElkT2JqID0geyBJZDogcmVwSWQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogcmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHJlcG9ydEZvb3Rlcn1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXBJZE9iaiA9IHsgcmVwb3J0TmFtZTogcmVwSWQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogcmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHJlcG9ydEZvb3RlciB9XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZVxuICAgICAgLmRvd25sb2FkKCcvUmVwb3J0L0dlbmVyYXRlJywgcmVwSWRPYmopXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB2YXIgbmV3QmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZS5ib2R5XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcbiAgICAgICAgICBjb25zdCBkYXRhID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3QmxvYik7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBhLmhyZWYgPSBkYXRhO1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKTtcbiAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGhlYWRlclxuICAgICAgICAgICAgPy5zcGxpdCgnZmlsZW5hbWU9Jyk/LlsxXVxuICAgICAgICAgICAgPy5zcGxpdCgnOycpWzBdXG4gICAgICAgICAgICA/LnJlcGxhY2VBbGwoL1xcXCIvZywgJycpO1xuICAgICAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hcGlFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRGaWx0ZXJzKCkge1xuICAgIGxldCBmaWx0ZXJzOiBhbnlbXSA9IFtdO1xuICAgIHRoaXMuZm9ybUZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkICYmIGZpZWxkLnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZpbHRlcnMucHVzaCh7XG4gICAgICAgICAgZmllbGQ6IGZpZWxkLmZpZWxkLFxuICAgICAgICAgIG1hdGNoTW9kZTogJ2VxdWFsJyxcbiAgICAgICAgICBvcGVyYXRvcjogJ2FuZCcsXG4gICAgICAgICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxufVxuIl19
@@ -5385,6 +5385,14 @@ class ReportFilterComponent {
5385
5385
  this.alertService.apiError(error);
5386
5386
  });
5387
5387
  }
5388
+ else if (record.paramtype === "DropDown" && record.paramvalue) {
5389
+ let paramValue = record?.paramvalue;
5390
+ if (paramValue && paramValue.includes(',')) {
5391
+ this.formService.setFormFieldProp(this.dynamicForm, record?.paramname, [
5392
+ { name: 'data', value: paramValue.split(',')?.map((value) => ({ label: value, value: value })) }
5393
+ ]);
5394
+ }
5395
+ }
5388
5396
  });
5389
5397
  }
5390
5398
  getDropdownFilters(Parameter) {
@@ -5574,8 +5582,8 @@ class ReportService {
5574
5582
  showDialog === undefined) ||
5575
5583
  showDialog === true) {
5576
5584
  const ref = this.dialogService.open(ReportFilterComponent, {
5577
- width: '40%',
5578
- height: '40%',
5585
+ width: '50%',
5586
+ height: '50%',
5579
5587
  header: 'Generate Report',
5580
5588
  style: { background: '#fff' },
5581
5589
  data: { getReport: repId, param: params, showDialog, reportJsonData, reportType, reportHeader, reportFooter, reportName, uniqueKey: reportUniqueKey },