@churchillliving/se-ui-toolkit 6.53.990 → 6.53.991

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.
@@ -127,20 +127,14 @@ export class ReportFilterComponent {
127
127
  let arr = [];
128
128
  const filters = this.getFilters();
129
129
  this.reportJson?.Parameters?.forEach((param) => {
130
- const index = filters.findIndex((filter) => (filter.field?.toLowerCase() === param?.paramname?.toLowerCase()) || (filter.field?.toLowerCase() === '@' + param?.paramname?.toLowerCase()));
131
- if (index > -1) {
132
- arr.push(filters[index]);
133
- }
134
- else if (param.paramtype === 'DropDown') {
135
- filters.forEach((filter) => {
136
- if (filter && filter.value) {
137
- arr.push({ field: filter.field, matchMode: 'equal', operator: 'and', value: filter.value });
138
- }
139
- ;
140
- });
141
- }
142
- else {
143
- arr.push({ field: param?.paramname?.replace('@', ''), matchMode: 'equal', operator: 'and', value: param.paramvalue });
130
+ if (param?.paramtype != 'DropDown') {
131
+ const index = filters.findIndex((filter) => (filter.field?.toLowerCase() === param?.paramname?.toLowerCase()) || (filter.field?.toLowerCase() === '@' + param?.paramname?.toLowerCase()));
132
+ if (index > -1) {
133
+ arr.push(filters[index]);
134
+ }
135
+ else {
136
+ arr.push({ field: param?.paramname?.replace('@', ''), matchMode: 'equal', operator: 'and', value: param.paramvalue });
137
+ }
144
138
  }
145
139
  });
146
140
  return arr;
@@ -242,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
242
236
  }], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig, decorators: [{
243
237
  type: Optional
244
238
  }] }, { type: i2.RequestService }, { type: i3.AuthenticationService }, { type: i4.FormService }, { type: i5.GridService }, { type: i6.AlertService }]; } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBNEIsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUErQixNQUEyQixFQUFVLGNBQThCLEVBQVMscUJBQTRDLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFlBQTBCO1FBQWhPLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUgvUCxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQVEsRUFBRSxDQUFDO0lBRThPLENBQUM7SUFFcFEsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcs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QUNyRSxXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsS0FBSztZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUztZQUM3QyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQ3ZCLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFFBQWEsRUFBRSxVQUFrQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFeEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhLEVBQUUsVUFBZTtRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztpSUEvT1UscUJBQXFCO3FIQUFyQixxQkFBcUIsd0RDYmxDLDhJQU9BOzsyRkRNYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkFTZixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBFRm9ybUNvbnRyb2wsIElEeW5hbWljRm9ybSwgSUZvcm1GaWVsZCwgSVJlcG9ydFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2UtcmVwb3J0LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwb3J0LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIGZvcm1GaWVsZHM6IElGb3JtRmllbGRbXSA9IFtdO1xuICByZXBvcnRKc29uOiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgY29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLCBwcml2YXRlIHJlcXVlc3RTZXJ2aWNlOiBSZXF1ZXN0U2VydmljZSxwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCBwcml2YXRlIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlRHluYW1pY0ZpZWxkcygpO1xuXG4gIH1cbiAgaW5pdGlhbGl6ZUZvcm0oKSB7XG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHtcbiAgICAgIGZvcm1TZWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAuLi50aGlzLmZvcm1GaWVsZHMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRG93bmxvYWQnLFxuICAgICAgICAgICAgICBjb250cm9sOiBFRm9ybUNvbnRyb2wuQUREX0JVVFRPTixcbiAgICAgICAgICAgICAgaGlkZGVuOiB0aGlzLmNvbmZpZz8uZGF0YT8uaGlkZUdlbmVyYXRlUmVwb3J0QnRuLFxuICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZFJlcG9ydCgpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuXG4gICAgfVxuICB9XG4gIGNyZWF0ZUR5bmFtaWNGaWVsZHMoKSB7XG4gICAgY29uc3QgZ2V0UmVwb3J0QnlSZXBvcnQgPSAnL1JlcG9ydENvbmZpZy9SZXBvcnQnO1xuICAgIGNvbnN0IGdldFJlcG9ydEJ5SWQgPSAnL1JlcG9ydENvbmZpZy9CeUlkJztcbiAgICBjb25zdCBnZXRSZXBvcnRCeUlkT3JOYW1lID0gdHlwZW9mICh0aGlzLmNvbmZpZy5kYXRhPy5nZXRSZXBvcnQpID09PSAnbnVtYmVyJyA/IGdldFJlcG9ydEJ5SWQgOiBnZXRSZXBvcnRCeVJlcG9ydFxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0T25lPFJlc3BvbnNlLCBhbnk+KGdldFJlcG9ydEJ5SWRPck5hbWUsIHRoaXMuY29uZmlnLmRhdGE/LmdldFJlcG9ydCkuc3Vic2NyaWJlKFxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlcG9ydEpzb24gPSBKU09OLnBhcnNlKGRhdGE/LnJlcG9ydCk7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkcyA9IHRoaXMucmVwb3J0SnNvbj8uRm9ybUZpZWxkcztcbiAgICAgICAgdGhpcy5mb3JtRmllbGRzID0gdGhpcy5zZXRSZXBvcnRGaWx0ZXJWaWV3UGFyYW1ldGVycyh0aGlzLnJlcG9ydEpzb24/LlBhcmFtZXRlcnMsIHRoaXMuZm9ybUZpZWxkcyk7XG4gICAgICAgIHRoaXMuc2V0UGFyYW1GaWVsZFZhbHVlKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcbiAgICAgICAgLy8gc2V0IGRyb3Bkb3duIGRhdGEgYmFzZWQgb24gbWF0Y2hlZCBmaWVsZC5cbiAgICAgICAgdGhpcy5zZXREcm9wRG93bkRhdGEodGhpcy5yZXBvcnRKc29uKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHNldFJlcG9ydEZpbHRlclZpZXdQYXJhbWV0ZXJzKFBhcmFtZXRlciwgZm9ybUZpZWxkcykge1xuICAgIFBhcmFtZXRlci5mb3JFYWNoKChwYXJhbSkgPT4ge1xuICAgICAgaWYgKHBhcmFtPy5maWx0ZXJzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBhcmFtPy5maWx0ZXJzPy5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGZvcm1GaWVsZHMuZmluZEluZGV4KCh4KSA9PiB4LmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGZvcm1GaWVsZHNbaW5kZXhdLmxhYmVsID0gZmlsdGVyLmRpc3BsYXluYW1lO1xuICAgICAgICAgICAgZm9ybUZpZWxkc1tpbmRleF0uaGlkZGVuID0gZmlsdGVyLmhpZGRlbiA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBmb3JtRmllbGRzO1xuICB9XG5cbiAgc2V0UGFyYW1GaWVsZFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5kYXRhICYmIHRoaXMuY29uZmlnLmRhdGEucGFyYW0/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29uZmlnLmRhdGEucGFyYW0uZm9yRWFjaCgocGFyYW06IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBPYmplY3Qua2V5cyhwYXJhbSlbMF07XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb3JtRmllbGRzLmZpbmRJbmRleCgoZm9ybUZpZWxkKSA9PiAoZm9ybUZpZWxkLmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBrZXkudG9Mb3dlckNhc2UoKSkgfHwgKGZvcm1GaWVsZC5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gJ0AnICsga2V5LnRvTG93ZXJDYXNlKCkpKVxuICAgICAgICBpZiAoaW5kZXggPiAtMSAmJiBrZXkpIHtcbiAgICAgICAgICB0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLnZhbHVlID0gcGFyYW1ba2V5XTtcbiAgICAgICAgfVxuICAgICAgICAvLyBlbHNlIHtcbiAgICAgICAgLy8gdGhpcy5mb3JtRmllbGRzLnB1c2goeyBmaWVsZDoga2V5LCBsYWJlbDoga2V5LCB2YWx1ZTogcGFyYW1ba2V5XSwgY29sdW1uOiA0LCBjb250cm9sOiBFRm9ybUNvbnRyb2wuSU5QVVQgfSk7XG4gICAgICAgIC8vIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldERyb3BEb3duRGF0YShyZXBvcnRKc29uOiBhbnkpIHtcbiAgICByZXBvcnRKc29uLlBhcmFtZXRlcnM/LmZvckVhY2goKHJlY29yZDogYW55KSA9PiB7XG4gICAgICBpZiAocmVjb3JkLmlzdW5pcXVla2V5KSB7XG4gICAgICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvRGF0YS9GZXRjaCcsIHtcbiAgICAgICAgICB1bmlxdWVLZXk6IHJlY29yZC5pc3VuaXF1ZWtleSxcbiAgICAgICAgICBmaWx0ZXJzOiB0aGlzLmdldERyb3Bkb3duRmlsdGVycyhyZWNvcmQpXG4gICAgICAgIH0pLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybVNlcnZpY2Uuc2V0Rm9ybUZpZWxkUHJvcCh0aGlzLmR5bmFtaWNGb3JtLCByZWNvcmQucGFyYW1uYW1lLCBbXG4gICAgICAgICAgICB7IG5hbWU6ICdkYXRhJywgdmFsdWU6IHJlc3BvbnNlLnJlY29yZHMgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYXBpRXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RHJvcGRvd25GaWx0ZXJzKFBhcmFtZXRlcjogYW55KSB7XG4gICAgbGV0IGZpbHRlcnM6IGFueSA9IFtdO1xuICAgIGNvbnN0IHBhcmFtRmlsdGVyID0gUGFyYW1ldGVyPy5maWx0ZXJzO1xuICAgIGxldCBhcnIgPSBbXTtcbiAgICBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKCk7XG4gICAgaWYgKGZpbHRlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoRmlsdGVyID0gcGFyYW1GaWx0ZXI/LmZpbmQoKHgpID0+IHg/LmZpZWxkPy50b0xvd2VyQ2FzZSgpID09PSBmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgIGlmIChtYXRjaEZpbHRlciAmJiBtYXRjaEZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyPy5maWVsZC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgYXJyLnB1c2goZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFBhcmFtZXRlcj8ucGFyYW10eXBlID09PSAnRHJvcERvd24nICYmIHBhcmFtRmlsdGVyPy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbUZpbHRlci5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgYXJyLnB1c2goeyBmaWVsZDogZmlsdGVyLmZpZWxkLCBtYXRjaE1vZGU6ICdlcXVhbCcsIG9wZXJhdG9yOiAnYW5kJywgdmFsdWU6IGZpbHRlcj8udmFsdWUgfSk7XG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cblxuICBnZXRSZXBvcnRGaWx0ZXIoKSB7XG4gICAgbGV0IGFyciA9IFtdO1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnMoKVxuICAgIHRoaXMucmVwb3J0SnNvbj8uUGFyYW1ldGVycz8uZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gZmlsdGVycy5maW5kSW5kZXgoKGZpbHRlcikgPT4gKGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gcGFyYW0/LnBhcmFtbmFtZT8udG9Mb3dlckNhc2UoKSkgfHwgKGZpbHRlci5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gJ0AnICsgcGFyYW0/LnBhcmFtbmFtZT8udG9Mb3dlckNhc2UoKSkpXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBhcnIucHVzaChmaWx0ZXJzW2luZGV4XSlcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHBhcmFtLnBhcmFtdHlwZSA9PT0gJ0Ryb3BEb3duJykge1xuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGlmIChmaWx0ZXIgJiYgZmlsdGVyLnZhbHVlKSB7XG4gICAgICAgICAgICBhcnIucHVzaCh7IGZpZWxkOiBmaWx0ZXIuZmllbGQsIG1hdGNoTW9kZTogJ2VxdWFsJywgb3BlcmF0b3I6ICdhbmQnLCB2YWx1ZTogZmlsdGVyLnZhbHVlIH0pO1xuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IHBhcmFtPy5wYXJhbW5hbWU/LnJlcGxhY2UoJ0AnLCAnJyksIG1hdGNoTW9kZTogJ2VxdWFsJywgb3BlcmF0b3I6ICdhbmQnLCB2YWx1ZTogcGFyYW0ucGFyYW12YWx1ZSB9KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIGdldEZpbHRlcnMoKSB7XG4gICAgbGV0IGZpbHRlcnM6IGFueSA9IFtdO1xuICAgIHRoaXMuZHluYW1pY0Zvcm0/LmZvcm1TZWN0aW9ucz8uZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgc2VjdGlvbi5maWVsZHM/LmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC52YWx1ZSkge1xuICAgICAgICAgIGZpbHRlcnMucHVzaCh7IGZpZWxkOiBmaWVsZC5maWVsZCwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBmaWVsZC52YWx1ZSB9KTtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG5cbiAgZG93bmxvYWRSZXBvcnQoKSB7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0gdGhpcy5nZXRSZXBvcnRGaWx0ZXIoKTtcbiAgICBjb25zdCBmaWxlVHlwZSA9IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRUeXBlO1xuICAgIGlmIChmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuRVhDRUwgfHwgZmlsZVR5cGUgPT09IElSZXBvcnRUeXBlLlRFWFQgfHwgZmlsZVR5cGUgPT09IElSZXBvcnRUeXBlLkNTVikge1xuICAgICAgdGhpcy5kb3dubG9hZEN1c3RvbVJlcG9ydChmaWxlVHlwZSwgdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydE5hbWUsIGZpbHRlcnMpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5nZXRQZGZSZXBvcnQoZmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGRmUmVwb3J0KGZpbHRlcnMpIHtcbiAgICBsZXQgcmVwSWRPYmo6IGFueTtcblxuICAgIGlmICh0eXBlb2YgKHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQpID09PSAnbnVtYmVyJykge1xuICAgICAgcmVwSWRPYmogPSB7IElkOiB0aGlzLmNvbmZpZz8uZGF0YT8uZ2V0UmVwb3J0LCBmaWx0ZXJzOiBmaWx0ZXJzLCBSZXBvcnRIZWFkZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRIZWFkZXIsIFJlcG9ydEZvb3RlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEZvb3RlciB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVwSWRPYmogPSB7IHJlcG9ydE5hbWU6IHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEhlYWRlciwgUmVwb3J0Rm9vdGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0Rm9vdGVyIH1cbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmRvd25sb2FkKCcvUmVwb3J0L0dlbmVyYXRlJywgcmVwSWRPYmopXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB2YXIgbmV3QmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZS5ib2R5XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcbiAgICAgICAgICBjb25zdCBkYXRhID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3QmxvYik7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBhLmhyZWYgPSBkYXRhO1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoJ0NvbnRlbnQtRGlzcG9zaXRpb24nKTtcbiAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGhlYWRlcj8uc3BsaXQoJ2ZpbGVuYW1lPScpPy5bMV0/LnNwbGl0KFwiO1wiKVswXT8ucmVwbGFjZUFsbCgvXFxcIi9nLCAnJyk7XG4gICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XG4gICAgICAgICAgYS5jbGljaygpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFwaUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGRvd25sb2FkQ3VzdG9tUmVwb3J0KHJlcG9ydFR5cGUsIHJlcG9ydE5hbWUsIGZpbHRlcnMpIHtcbiAgICB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SnNvbkRhdGE/LmZvckVhY2goKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhPy5kYXRhc291cmNlKSB7XG4gICAgICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvRGF0YS9NdWx0aUZldGNoJywge1xuICAgICAgICAgIHVuaXF1ZUtleTogZGF0YS5kYXRhc291cmNlLFxuICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnNcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVSZXBvcnQoKTtcbiAgICAgICAgICBjb25zdCByb3dzSW5mbyA9IHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHM7XG4gICAgICAgICAgY29uc3QgY29sdW1ucyA9IE9iamVjdD8ua2V5cyhyZXNwb25zZT8udGFibGVzWzBdPy5yZWNvcmRzWzBdKTtcbiAgICAgICAgICBpZiAocmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuRVhDRUwpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuZXhwb3J0RXhjZWwocm93c0luZm8sIGNvbHVtbnMsIHJlcG9ydE5hbWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVwb3J0VHlwZSA9PT0gSVJlcG9ydFR5cGUuVEVYVCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlQXNUZXh0RmlsZShyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZURhdGFBc0Nzdihyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlUmVwb3J0KCl7XG4gICAgbGV0IGN1cnJlbnRVc2VyOiBhbnkgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VySW5mbygpO1xuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvUmVwb3J0Q29uZmlnL1JlcG9ydFVzZXJTZXR0aW5nJywge1xuICAgICAgaXNSdW5SZXBvcnQ6IHRydWUsXG4gICAgICBpc0Zhdm9yaXRlOiBmYWxzZSxcbiAgICAgIHJlcG9ydFVuaXF1ZUtleTogdGhpcy5jb25maWc/LmRhdGE/LnVuaXF1ZUtleSxcbiAgICAgIHVzZXJJZDogY3VycmVudFVzZXI/LmlkLFxuICAgICAgcmVwb3J0SWQ6IDBcbiAgICB9KS5zdWJzY3JpYmUoKHJlcykgPT4ge30sXG4gICAgICh7IGVycm9yIH0pID0+IHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnQgdG8gdGV4dCAoc3ViLW1ldGhvZClcbiAgICovXG4gIHNhdmVBc1RleHRGaWxlKHJvd3NJbmZvOiBhbnksIHJlcG9ydE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2F2ZUFzVGV4dEZpbGUocm93c0luZm8sIHJlcG9ydE5hbWUpO1xuXG4gIH1cblxuICBzYXZlRGF0YUFzQ3N2KHJvd3NJbmZvOiBhbnksIHJlcG9ydE5hbWU6IGFueSkge1xuICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2F2ZURhdGFBc0Nzdihyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG4gIH1cblxufVxuIiwiPHNlLWZvcm0tdXRpbCAgXG4qbmdJZj1cImR5bmFtaWNGb3JtXCJcbltmb3JtXT1cImR5bmFtaWNGb3JtXCJcbltoaWRlU2F2ZUJ1dHRvbl09XCJ0cnVlXCJcbltoaWRlQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxuPlxuPC9zZS1mb3JtLXV0aWw+XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL3JlcG9ydC9yZXBvcnQtRmlsdGVyL3JlcG9ydC1maWx0ZXIvcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBNEIsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFVdkcsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUErQixNQUEyQixFQUFVLGNBQThCLEVBQVMscUJBQTRDLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFlBQTBCO1FBQWhPLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUgvUCxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQVEsRUFBRSxDQUFDO0lBRThPLENBQUM7SUFFcFEsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTdCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcs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SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxRQUFhLEVBQUUsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXhELENBQUM7SUFFRCxhQUFhLENBQUMsUUFBYSxFQUFFLFVBQWU7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7aUlBek9VLHFCQUFxQjtxSEFBckIscUJBQXFCLHdEQ2JsQyw4SUFPQTs7MkZETWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBU2YsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgRUZvcm1Db250cm9sLCBJRHluYW1pY0Zvcm0sIElGb3JtRmllbGQsIElSZXBvcnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLXJlcG9ydC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlcG9ydC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkeW5hbWljRm9ybTogSUR5bmFtaWNGb3JtO1xuICBmb3JtRmllbGRzOiBJRm9ybUZpZWxkW10gPSBbXTtcbiAgcmVwb3J0SnNvbjogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZywgcHJpdmF0ZSByZXF1ZXN0U2VydmljZTogUmVxdWVzdFNlcnZpY2UscHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsIHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlLCBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUR5bmFtaWNGaWVsZHMoKTtcblxuICB9XG4gIGluaXRpYWxpemVGb3JtKCkge1xuICAgIHRoaXMuZHluYW1pY0Zvcm0gPSB7XG4gICAgICBmb3JtU2VjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgLi4udGhpcy5mb3JtRmllbGRzLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ0Rvd25sb2FkJyxcbiAgICAgICAgICAgICAgY29udHJvbDogRUZvcm1Db250cm9sLkFERF9CVVRUT04sXG4gICAgICAgICAgICAgIGhpZGRlbjogdGhpcy5jb25maWc/LmRhdGE/LmhpZGVHZW5lcmF0ZVJlcG9ydEJ0bixcbiAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRSZXBvcnQoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF1cblxuICAgIH1cbiAgfVxuICBjcmVhdGVEeW5hbWljRmllbGRzKCkge1xuICAgIGNvbnN0IGdldFJlcG9ydEJ5UmVwb3J0ID0gJy9SZXBvcnRDb25maWcvUmVwb3J0JztcbiAgICBjb25zdCBnZXRSZXBvcnRCeUlkID0gJy9SZXBvcnRDb25maWcvQnlJZCc7XG4gICAgY29uc3QgZ2V0UmVwb3J0QnlJZE9yTmFtZSA9IHR5cGVvZiAodGhpcy5jb25maWcuZGF0YT8uZ2V0UmVwb3J0KSA9PT0gJ251bWJlcicgPyBnZXRSZXBvcnRCeUlkIDogZ2V0UmVwb3J0QnlSZXBvcnRcbiAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmdldE9uZTxSZXNwb25zZSwgYW55PihnZXRSZXBvcnRCeUlkT3JOYW1lLCB0aGlzLmNvbmZpZy5kYXRhPy5nZXRSZXBvcnQpLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXBvcnRKc29uID0gSlNPTi5wYXJzZShkYXRhPy5yZXBvcnQpO1xuICAgICAgICB0aGlzLmZvcm1GaWVsZHMgPSB0aGlzLnJlcG9ydEpzb24/LkZvcm1GaWVsZHM7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkcyA9IHRoaXMuc2V0UmVwb3J0RmlsdGVyVmlld1BhcmFtZXRlcnModGhpcy5yZXBvcnRKc29uPy5QYXJhbWV0ZXJzLCB0aGlzLmZvcm1GaWVsZHMpO1xuICAgICAgICB0aGlzLnNldFBhcmFtRmllbGRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtKCk7XG4gICAgICAgIC8vIHNldCBkcm9wZG93biBkYXRhIGJhc2VkIG9uIG1hdGNoZWQgZmllbGQuXG4gICAgICAgIHRoaXMuc2V0RHJvcERvd25EYXRhKHRoaXMucmVwb3J0SnNvbik7XG4gICAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBzZXRSZXBvcnRGaWx0ZXJWaWV3UGFyYW1ldGVycyhQYXJhbWV0ZXIsIGZvcm1GaWVsZHMpIHtcbiAgICBQYXJhbWV0ZXIuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgIGlmIChwYXJhbT8uZmlsdGVycz8ubGVuZ3RoID4gMCkge1xuICAgICAgICBwYXJhbT8uZmlsdGVycz8uZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSBmb3JtRmllbGRzLmZpbmRJbmRleCgoeCkgPT4geC5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBmb3JtRmllbGRzW2luZGV4XS5sYWJlbCA9IGZpbHRlci5kaXNwbGF5bmFtZTtcbiAgICAgICAgICAgIGZvcm1GaWVsZHNbaW5kZXhdLmhpZGRlbiA9IGZpbHRlci5oaWRkZW4gPyB0cnVlIDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gZm9ybUZpZWxkcztcbiAgfVxuXG4gIHNldFBhcmFtRmllbGRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuZGF0YSAmJiB0aGlzLmNvbmZpZy5kYXRhLnBhcmFtPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNvbmZpZy5kYXRhLnBhcmFtLmZvckVhY2goKHBhcmFtOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMocGFyYW0pWzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZm9ybUZpZWxkcy5maW5kSW5kZXgoKGZvcm1GaWVsZCkgPT4gKGZvcm1GaWVsZC5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0ga2V5LnRvTG93ZXJDYXNlKCkpIHx8IChmb3JtRmllbGQuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09ICdAJyArIGtleS50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgaWYgKGluZGV4ID4gLTEgJiYga2V5KSB7XG4gICAgICAgICAgdGhpcy5mb3JtRmllbGRzW2luZGV4XS52YWx1ZSA9IHBhcmFtW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gZWxzZSB7XG4gICAgICAgIC8vIHRoaXMuZm9ybUZpZWxkcy5wdXNoKHsgZmllbGQ6IGtleSwgbGFiZWw6IGtleSwgdmFsdWU6IHBhcmFtW2tleV0sIGNvbHVtbjogNCwgY29udHJvbDogRUZvcm1Db250cm9sLklOUFVUIH0pO1xuICAgICAgICAvLyB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXREcm9wRG93bkRhdGEocmVwb3J0SnNvbjogYW55KSB7XG4gICAgcmVwb3J0SnNvbi5QYXJhbWV0ZXJzPy5mb3JFYWNoKChyZWNvcmQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlY29yZC5pc3VuaXF1ZWtleSkge1xuICAgICAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmdldDxhbnlbXSwgYW55PignL0RhdGEvRmV0Y2gnLCB7XG4gICAgICAgICAgdW5pcXVlS2V5OiByZWNvcmQuaXN1bmlxdWVrZXksXG4gICAgICAgICAgZmlsdGVyczogdGhpcy5nZXREcm9wZG93bkZpbHRlcnMocmVjb3JkKVxuICAgICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLnNldEZvcm1GaWVsZFByb3AodGhpcy5keW5hbWljRm9ybSwgcmVjb3JkLnBhcmFtbmFtZSwgW1xuICAgICAgICAgICAgeyBuYW1lOiAnZGF0YScsIHZhbHVlOiByZXNwb25zZS5yZWNvcmRzIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFwaUVycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldERyb3Bkb3duRmlsdGVycyhQYXJhbWV0ZXI6IGFueSkge1xuICAgIGxldCBmaWx0ZXJzOiBhbnkgPSBbXTtcbiAgICBjb25zdCBwYXJhbUZpbHRlciA9IFBhcmFtZXRlcj8uZmlsdGVycztcbiAgICBsZXQgYXJyID0gW107XG4gICAgZmlsdGVycyA9IHRoaXMuZ2V0RmlsdGVycygpO1xuICAgIGlmIChmaWx0ZXJzPy5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaEZpbHRlciA9IHBhcmFtRmlsdGVyPy5maW5kKCh4KSA9PiB4Py5maWVsZD8udG9Mb3dlckNhc2UoKSA9PT0gZmlsdGVyLmZpZWxkPy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICBpZiAobWF0Y2hGaWx0ZXIgJiYgbWF0Y2hGaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IGZpbHRlcj8uZmllbGQudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgIGFyci5wdXNoKGZpbHRlcik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChQYXJhbWV0ZXI/LnBhcmFtdHlwZSA9PT0gJ0Ryb3BEb3duJyAmJiBwYXJhbUZpbHRlcj8ubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1GaWx0ZXIuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IGZpbHRlci5maWVsZCwgbWF0Y2hNb2RlOiAnZXF1YWwnLCBvcGVyYXRvcjogJ2FuZCcsIHZhbHVlOiBmaWx0ZXI/LnZhbHVlIH0pO1xuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG5cbiAgZ2V0UmVwb3J0RmlsdGVyKCkge1xuICAgIGxldCBhcnIgPSBbXTtcbiAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKClcbiAgICB0aGlzLnJlcG9ydEpzb24/LlBhcmFtZXRlcnM/LmZvckVhY2goKHBhcmFtKSA9PiB7XG4gICAgICBpZihwYXJhbT8ucGFyYW10eXBlICE9ICdEcm9wRG93bicpe1xuICAgICAgICBjb25zdCBpbmRleCA9IGZpbHRlcnMuZmluZEluZGV4KChmaWx0ZXIpID0+IChmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09IHBhcmFtPy5wYXJhbW5hbWU/LnRvTG93ZXJDYXNlKCkpIHx8IChmaWx0ZXIuZmllbGQ/LnRvTG93ZXJDYXNlKCkgPT09ICdAJyArIHBhcmFtPy5wYXJhbW5hbWU/LnRvTG93ZXJDYXNlKCkpKVxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgIGFyci5wdXNoKGZpbHRlcnNbaW5kZXhdKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFyci5wdXNoKHsgZmllbGQ6IHBhcmFtPy5wYXJhbW5hbWU/LnJlcGxhY2UoJ0AnLCAnJyksIG1hdGNoTW9kZTogJ2VxdWFsJywgb3BlcmF0b3I6ICdhbmQnLCB2YWx1ZTogcGFyYW0ucGFyYW12YWx1ZSB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgZ2V0RmlsdGVycygpIHtcbiAgICBsZXQgZmlsdGVyczogYW55ID0gW107XG4gICAgdGhpcy5keW5hbWljRm9ybT8uZm9ybVNlY3Rpb25zPy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICBzZWN0aW9uLmZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkICYmIGZpZWxkLnZhbHVlKSB7XG4gICAgICAgICAgZmlsdGVycy5wdXNoKHsgZmllbGQ6IGZpZWxkLmZpZWxkLCBtYXRjaE1vZGU6ICdlcXVhbCcsIG9wZXJhdG9yOiAnYW5kJywgdmFsdWU6IGZpZWxkLnZhbHVlIH0pO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cblxuICBkb3dubG9hZFJlcG9ydCgpIHtcbiAgICBjb25zdCBmaWx0ZXJzOiBhbnkgPSB0aGlzLmdldFJlcG9ydEZpbHRlcigpO1xuICAgIGNvbnN0IGZpbGVUeXBlID0gdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydFR5cGU7XG4gICAgaWYgKGZpbGVUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCB8fCBmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuVEVYVCB8fCBmaWxlVHlwZSA9PT0gSVJlcG9ydFR5cGUuQ1NWKSB7XG4gICAgICB0aGlzLmRvd25sb2FkQ3VzdG9tUmVwb3J0KGZpbGVUeXBlLCB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0TmFtZSwgZmlsdGVycylcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmdldFBkZlJlcG9ydChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBnZXRQZGZSZXBvcnQoZmlsdGVycykge1xuICAgIGxldCByZXBJZE9iajogYW55O1xuXG4gICAgaWYgKHR5cGVvZiAodGhpcy5jb25maWc/LmRhdGE/LmdldFJlcG9ydCkgPT09ICdudW1iZXInKSB7XG4gICAgICByZXBJZE9iaiA9IHsgSWQ6IHRoaXMuY29uZmlnPy5kYXRhPy5nZXRSZXBvcnQsIGZpbHRlcnM6IGZpbHRlcnMsIFJlcG9ydEhlYWRlcjogdGhpcy5jb25maWc/LmRhdGE/LnJlcG9ydEhlYWRlciwgUmVwb3J0Rm9vdGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0Rm9vdGVyIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXBJZE9iaiA9IHsgcmVwb3J0TmFtZTogdGhpcy5jb25maWc/LmRhdGE/LmdldFJlcG9ydCwgZmlsdGVyczogZmlsdGVycywgUmVwb3J0SGVhZGVyOiB0aGlzLmNvbmZpZz8uZGF0YT8ucmVwb3J0SGVhZGVyLCBSZXBvcnRGb290ZXI6IHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRGb290ZXIgfVxuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZG93bmxvYWQoJy9SZXBvcnQvR2VuZXJhdGUnLCByZXBJZE9iailcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHZhciBuZXdCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlLmJvZHldLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXdCbG9iKTtcbiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgIGEuaHJlZiA9IGRhdGE7XG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2U/LmhlYWRlcnM/LmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xuICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gaGVhZGVyPy5zcGxpdCgnZmlsZW5hbWU9Jyk/LlsxXT8uc3BsaXQoXCI7XCIpWzBdPy5yZXBsYWNlQWxsKC9cXFwiL2csICcnKTtcbiAgICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYXBpRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZG93bmxvYWRDdXN0b21SZXBvcnQocmVwb3J0VHlwZSwgcmVwb3J0TmFtZSwgZmlsdGVycykge1xuICAgIHRoaXMuY29uZmlnPy5kYXRhPy5yZXBvcnRKc29uRGF0YT8uZm9yRWFjaCgoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGE/LmRhdGFzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9EYXRhL011bHRpRmV0Y2gnLCB7XG4gICAgICAgICAgdW5pcXVlS2V5OiBkYXRhLmRhdGFzb3VyY2UsXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVyc1xuICAgICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVJlcG9ydCgpO1xuICAgICAgICAgIGNvbnN0IHJvd3NJbmZvID0gcmVzcG9uc2U/LnRhYmxlc1swXT8ucmVjb3JkcztcbiAgICAgICAgICBjb25zdCBjb2x1bW5zID0gT2JqZWN0Py5rZXlzKHJlc3BvbnNlPy50YWJsZXNbMF0/LnJlY29yZHNbMF0pO1xuICAgICAgICAgIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5FWENFTCkge1xuICAgICAgICAgICAgdGhpcy5ncmlkU2VydmljZS5leHBvcnRFeGNlbChyb3dzSW5mbywgY29sdW1ucywgcmVwb3J0TmFtZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXBvcnRUeXBlID09PSBJUmVwb3J0VHlwZS5URVhUKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVBc1RleHRGaWxlKHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zYXZlRGF0YUFzQ3N2KHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVSZXBvcnQoKXtcbiAgICBsZXQgY3VycmVudFVzZXI6IGFueSA9IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJJbmZvKCk7XG4gICAgdGhpcy5yZXF1ZXN0U2VydmljZS5nZXQ8YW55W10sIGFueT4oJy9SZXBvcnRDb25maWcvUmVwb3J0VXNlclNldHRpbmcnLCB7XG4gICAgICBpc1J1blJlcG9ydDogdHJ1ZSxcbiAgICAgIGlzRmF2b3JpdGU6IGZhbHNlLFxuICAgICAgcmVwb3J0VW5pcXVlS2V5OiB0aGlzLmNvbmZpZz8uZGF0YT8udW5pcXVlS2V5LFxuICAgICAgdXNlcklkOiBjdXJyZW50VXNlcj8uaWQsXG4gICAgICByZXBvcnRJZDogMFxuICAgIH0pLnN1YnNjcmliZSgocmVzKSA9PiB7fSxcbiAgICAgKHsgZXJyb3IgfSkgPT4ge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCB0byB0ZXh0IChzdWItbWV0aG9kKVxuICAgKi9cbiAgc2F2ZUFzVGV4dEZpbGUocm93c0luZm86IGFueSwgcmVwb3J0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zYXZlQXNUZXh0RmlsZShyb3dzSW5mbywgcmVwb3J0TmFtZSk7XG5cbiAgfVxuXG4gIHNhdmVEYXRhQXNDc3Yocm93c0luZm86IGFueSwgcmVwb3J0TmFtZTogYW55KSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5zYXZlRGF0YUFzQ3N2KHJvd3NJbmZvLCByZXBvcnROYW1lKTtcbiAgfVxuXG59XG4iLCI8c2UtZm9ybS11dGlsICBcbipuZ0lmPVwiZHluYW1pY0Zvcm1cIlxuW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxuW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4+XG48L3NlLWZvcm0tdXRpbD5cbiJdfQ==
@@ -5394,20 +5394,14 @@ class ReportFilterComponent {
5394
5394
  let arr = [];
5395
5395
  const filters = this.getFilters();
5396
5396
  this.reportJson?.Parameters?.forEach((param) => {
5397
- const index = filters.findIndex((filter) => (filter.field?.toLowerCase() === param?.paramname?.toLowerCase()) || (filter.field?.toLowerCase() === '@' + param?.paramname?.toLowerCase()));
5398
- if (index > -1) {
5399
- arr.push(filters[index]);
5400
- }
5401
- else if (param.paramtype === 'DropDown') {
5402
- filters.forEach((filter) => {
5403
- if (filter && filter.value) {
5404
- arr.push({ field: filter.field, matchMode: 'equal', operator: 'and', value: filter.value });
5405
- }
5406
- ;
5407
- });
5408
- }
5409
- else {
5410
- arr.push({ field: param?.paramname?.replace('@', ''), matchMode: 'equal', operator: 'and', value: param.paramvalue });
5397
+ if (param?.paramtype != 'DropDown') {
5398
+ const index = filters.findIndex((filter) => (filter.field?.toLowerCase() === param?.paramname?.toLowerCase()) || (filter.field?.toLowerCase() === '@' + param?.paramname?.toLowerCase()));
5399
+ if (index > -1) {
5400
+ arr.push(filters[index]);
5401
+ }
5402
+ else {
5403
+ arr.push({ field: param?.paramname?.replace('@', ''), matchMode: 'equal', operator: 'and', value: param.paramvalue });
5404
+ }
5411
5405
  }
5412
5406
  });
5413
5407
  return arr;