myrta-ui 17.0.78 → 17.0.79

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.
@@ -110,11 +110,11 @@ export class PaginatorComponent {
110
110
  return item.id;
111
111
  }
112
112
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
113
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PaginatorComponent, selector: "mrx-paginator", inputs: { pageSizes: "pageSizes", currentPage: "currentPage", pageSize: "pageSize", total: "total", customClasses: "customClasses", isEmptyPaginator: "isEmptyPaginator", isPaginatorText: "isPaginatorText", paginatorText: "paginatorText", dropdownPosition: "dropdownPosition", popupPosition: "popupPosition", setPosition: ["position", "setPosition"], setWithPageSize: ["withPageSize", "setWithPageSize"] }, outputs: { dataStateChanged: "dataStateChanged" }, ngImport: i0, template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n @if (withPageSize) {\r\n <mrx-select\r\n [ngModel]=\"pageSize\"\r\n [size]=\"'medium'\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [popupPosition]=\"popupPosition\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-select>\r\n }\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SelectComponent, selector: "mrx-select", inputs: ["fields", "items", "multiple", "isLoading", "searchable", "clearable", "closable", "size", "bindValue", "bindLabel", "bindIcon", "emptyText", "placeholder", "searchPlaceholder", "multiCollapseCount", "addOption", "isExtraOption", "extraOptionPlaceholder", "use", "sortIcon", "sortPlaceholder", "disabled", "readonly", "invalid", "invalidMessage", "checkInvalid", "popupPosition"], outputs: ["changed", "modelChange"] }] });
113
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PaginatorComponent, selector: "mrx-paginator", inputs: { pageSizes: "pageSizes", currentPage: "currentPage", pageSize: "pageSize", total: "total", customClasses: "customClasses", isEmptyPaginator: "isEmptyPaginator", isPaginatorText: "isPaginatorText", paginatorText: "paginatorText", dropdownPosition: "dropdownPosition", popupPosition: "popupPosition", setPosition: ["position", "setPosition"], setWithPageSize: ["withPageSize", "setWithPageSize"] }, outputs: { dataStateChanged: "dataStateChanged" }, ngImport: i0, template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n @if (withPageSize) {\r\n <mrx-select\r\n [ngModel]=\"pageSize\"\r\n [size]=\"'medium'\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [popupPosition]=\"popupPosition\"\r\n [singleChange]=\"true\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-select>\r\n }\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SelectComponent, selector: "mrx-select", inputs: ["fields", "items", "multiple", "isLoading", "searchable", "clearable", "closable", "size", "bindValue", "bindLabel", "bindIcon", "emptyText", "placeholder", "searchPlaceholder", "multiCollapseCount", "addOption", "isExtraOption", "extraOptionPlaceholder", "use", "sortIcon", "sortPlaceholder", "isFullWidthDropdown", "disabled", "readonly", "invalid", "invalidMessage", "checkInvalid", "popupPosition", "singleChange"], outputs: ["changed", "modelChange"] }] });
114
114
  }
115
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginatorComponent, decorators: [{
116
116
  type: Component,
117
- args: [{ selector: 'mrx-paginator', template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n @if (withPageSize) {\r\n <mrx-select\r\n [ngModel]=\"pageSize\"\r\n [size]=\"'medium'\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [popupPosition]=\"popupPosition\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-select>\r\n }\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"] }]
117
+ args: [{ selector: 'mrx-paginator', template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n @if (withPageSize) {\r\n <mrx-select\r\n [ngModel]=\"pageSize\"\r\n [size]=\"'medium'\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [popupPosition]=\"popupPosition\"\r\n [singleChange]=\"true\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-select>\r\n }\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"] }]
118
118
  }], propDecorators: { pageSizes: [{
119
119
  type: Input
120
120
  }], currentPage: [{
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
144
144
  }], dataStateChanged: [{
145
145
  type: Output
146
146
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUdjLG9CQUFvQixHQUN4QyxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7QUFPbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixRQUFRLEdBQWtDLFVBQVUsQ0FBQztJQUNyRCxZQUFZLEdBQXdCLElBQUksQ0FBQztJQUV2QyxTQUFTLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBRW5CLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLGFBQWEsR0FBVyxRQUFRLENBQUM7SUFDakMsZ0JBQWdCLEdBQXNCLE1BQU0sQ0FBQyxDQUFDLGFBQWE7SUFDM0QsYUFBYSxHQUFpQixZQUFZLENBQUMsU0FBUyxDQUFDO0lBRTlELElBQ1csV0FBVyxDQUFDLEtBQW9DO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLFVBQVUs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RyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdLLFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMsVUFBVTtnQkFNTixlQUFlO3NCQUR6QixLQUFLO3VCQUFDLGNBQWM7Z0JBS1gsZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBQYWdpbmF0ZU91dHB1dE9iamVjdCxcclxuICBQYWdpbmF0b3JJdGVtLFxyXG4gIFBhZ2luYXRvclBvc2l0aW9uLCBQYWdpbmF0b3JQb3NpdGlvbkNzcyxcclxufSBmcm9tICcuL3BhZ2luYXRvci5lbnVtJztcclxuaW1wb3J0IHsgRHJvcGRvd25Qb3NpdGlvbiB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgUG9zaXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZW51bXMvb3ZlcmxheSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXBhZ2luYXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHBvc2l0aW9uOiBQYWdpbmF0b3JQb3NpdGlvbiB8IHVuZGVmaW5lZCA9ICdjZW50ZXJlZCc7XHJcbiAgcHVibGljIHdpdGhQYWdlU2l6ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VTaXplczogbnVtYmVyW10gPSBbMjAsIDUwLCAxMDBdO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlID0gMTtcclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDIwO1xyXG4gIEBJbnB1dCgpIHRvdGFsID0gMDtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIGlzRW1wdHlQYWdpbmF0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1BhZ2luYXRvclRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwYWdpbmF0b3JUZXh0OiBzdHJpbmcgPSAn0LfQsNC/0LjRgdC4JztcclxuICBASW5wdXQoKSBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uICA9ICdhdXRvJzsgLy8gZGVwcmVjYXRlZFxyXG4gIEBJbnB1dCgpIHBvcHVwUG9zaXRpb246IFBvc2l0aW9uRW51bSA9IFBvc2l0aW9uRW51bS5Cb3R0b21FbmQ7XHJcblxyXG4gIEBJbnB1dCgncG9zaXRpb24nKVxyXG4gIHB1YmxpYyBzZXQgc2V0UG9zaXRpb24odmFsdWU6IFBhZ2luYXRvclBvc2l0aW9uIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLnBvc2l0aW9uID0gdmFsdWUgfHwgJ2NlbnRlcmVkJztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnd2l0aFBhZ2VTaXplJylcclxuICBwdWJsaWMgc2V0IHNldFdpdGhQYWdlU2l6ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy53aXRoUGFnZVNpemUgPSB2YWx1ZSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRhU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UGFnaW5hdGVPdXRwdXRPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdpbmF0ZU91dHB1dE9iamVjdD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wb3NpdGlvbiAmJiBQYWdpbmF0b3JQb3NpdGlvbkNzc1t0aGlzLnBvc2l0aW9uXX0gJHt0aGlzLmN1c3RvbUNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SXRlbXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbCAvIHRoaXMucGFnZVNpemUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXROdW1iZXJzKCk6IFBhZ2luYXRvckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gQXJyYXkodGhpcy5nZXRJdGVtcylcclxuICAgICAgLmZpbGwoMSlcclxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7IGluZGV4OiBpbmRleCArIDEsIGFjdGl2ZTogaW5kZXggKyAxID09PSB0aGlzLmN1cnJlbnRQYWdlIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Vmlld0l0ZW1zKCk6IFBhZ2luYXRvckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09IDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAyIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDQ7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA9PSAyICYmIHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLmdldEl0ZW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAzO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT0gdGhpcy5nZXRJdGVtcyAtIDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDMgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAyIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDE7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA+IDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSA0IHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Rmlyc3ROdW1iZXJDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy50b3RhbCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudG90YWwgPCB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSAtIHRoaXMucGFnZVNpemUgKyAxKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAodGhpcy5wYWdlU2l6ZSAqIHRoaXMuY3VycmVudFBhZ2UgLSB0aGlzLnBhZ2VTaXplKSArIDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldExhc3ROdW1iZXJDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy50b3RhbCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudG90YWwgPCB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3RhbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUN1cnJlbnRQYWdlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY3VycmVudFBhZ2U6IHZhbHVlLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VQYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogdmFsdWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LXBhZ2luYXRvclwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCIgKm5nSWY9XCJpc0VtcHR5UGFnaW5hdG9yIHx8IHRvdGFsXCI+XHJcbiAgPHVsIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fbGlzdFwiPlxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fcHJldmlvdXNcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPD0gMVwiXHJcbiAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA+IDEgJiYgb25DaGFuZ2VDdXJyZW50UGFnZShjdXJyZW50UGFnZSAtIDEpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tbGVmdCBpY29uLWZvbnQtMjRcIj48L2Rpdj5cclxuICAgIDwvbGk+XHJcblxyXG4gICAgPGxpICpuZ0lmPVwiZ2V0Vmlld0l0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBhY3RpdmVcIj4xPC9saT5cclxuXHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDMgJiYgZ2V0SXRlbXMgPiA1XCIgKGNsaWNrKT1cIm9uQ2hhbmdlQ3VycmVudFBhZ2UoMSlcIj4xPC9saT5cclxuICAgIDxsaSBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX2l0ZW0gZG90c1wiICpuZ0lmPVwiY3VycmVudFBhZ2UgPiAzICYmIGdldEl0ZW1zID4gNVwiPi4uLjwvbGk+XHJcblxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbVwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldFZpZXdJdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlQ3VycmVudFBhZ2UoaXRlbS5pbmRleClcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRQYWdlID09PSBpdGVtLmluZGV4XCJcclxuICAgID5cclxuICAgICAge3tpdGVtLmluZGV4fX1cclxuICAgIDwvbGk+XHJcblxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBkb3RzXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zIC0gMiAmJiBnZXRJdGVtcyA+IDVcIj4uLi48L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbVwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPCBnZXRJdGVtcyAtIDIgJiYgZ2V0SXRlbXMgPiA1XCJcclxuICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZShnZXRJdGVtcylcIj57e2dldEl0ZW1zfX08L2xpPlxyXG5cclxuICAgIDxsaVxyXG4gICAgICBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX25leHRcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPj0gZ2V0SXRlbXNcIlxyXG4gICAgICAoY2xpY2spPVwiY3VycmVudFBhZ2UgPCBnZXRJdGVtcyAmJiBvbkNoYW5nZUN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlICsgMSlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1yaWdodCBpY29uLWZvbnQtMjRcIj48L2Rpdj5cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuXHJcbiAgQGlmICh3aXRoUGFnZVNpemUpIHtcclxuICAgIDxtcngtc2VsZWN0XHJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2VTaXplXCJcclxuICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICBbaXRlbXNdPVwicGFnZVNpemVzXCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgW3BvcHVwUG9zaXRpb25dPVwicG9wdXBQb3NpdGlvblwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtc2VsZWN0PlxyXG4gIH1cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzUGFnaW5hdG9yVGV4dFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fdGV4dFwiPlxyXG4gICAg0J7RgtC+0LHRgNCw0LbQtdC90Ysge3twYWdpbmF0b3JUZXh0fX0ge3tnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlfX0gLSB7e2dldExhc3ROdW1iZXJDdXJyZW50UGFnZX19INC40Lcge3t0b3RhbH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUdjLG9CQUFvQixHQUN4QyxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7QUFPbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixRQUFRLEdBQWtDLFVBQVUsQ0FBQztJQUNyRCxZQUFZLEdBQXdCLElBQUksQ0FBQztJQUV2QyxTQUFTLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBRW5CLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLGFBQWEsR0FBVyxRQUFRLENBQUM7SUFDakMsZ0JBQWdCLEdBQXNCLE1BQU0sQ0FBQyxDQUFDLGFBQWE7SUFDM0QsYUFBYSxHQUFpQixZQUFZLENBQUMsU0FBUyxDQUFDO0lBRTlELElBQ1csV0FBVyxDQUFDLEtBQW9DO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLFVBQVUs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RyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdLLFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMsVUFBVTtnQkFNTixlQUFlO3NCQUR6QixLQUFLO3VCQUFDLGNBQWM7Z0JBS1gsZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBQYWdpbmF0ZU91dHB1dE9iamVjdCxcclxuICBQYWdpbmF0b3JJdGVtLFxyXG4gIFBhZ2luYXRvclBvc2l0aW9uLCBQYWdpbmF0b3JQb3NpdGlvbkNzcyxcclxufSBmcm9tICcuL3BhZ2luYXRvci5lbnVtJztcclxuaW1wb3J0IHsgRHJvcGRvd25Qb3NpdGlvbiB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgUG9zaXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZW51bXMvb3ZlcmxheSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXBhZ2luYXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHBvc2l0aW9uOiBQYWdpbmF0b3JQb3NpdGlvbiB8IHVuZGVmaW5lZCA9ICdjZW50ZXJlZCc7XHJcbiAgcHVibGljIHdpdGhQYWdlU2l6ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VTaXplczogbnVtYmVyW10gPSBbMjAsIDUwLCAxMDBdO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlID0gMTtcclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDIwO1xyXG4gIEBJbnB1dCgpIHRvdGFsID0gMDtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIGlzRW1wdHlQYWdpbmF0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1BhZ2luYXRvclRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwYWdpbmF0b3JUZXh0OiBzdHJpbmcgPSAn0LfQsNC/0LjRgdC4JztcclxuICBASW5wdXQoKSBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uICA9ICdhdXRvJzsgLy8gZGVwcmVjYXRlZFxyXG4gIEBJbnB1dCgpIHBvcHVwUG9zaXRpb246IFBvc2l0aW9uRW51bSA9IFBvc2l0aW9uRW51bS5Cb3R0b21FbmQ7XHJcblxyXG4gIEBJbnB1dCgncG9zaXRpb24nKVxyXG4gIHB1YmxpYyBzZXQgc2V0UG9zaXRpb24odmFsdWU6IFBhZ2luYXRvclBvc2l0aW9uIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLnBvc2l0aW9uID0gdmFsdWUgfHwgJ2NlbnRlcmVkJztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnd2l0aFBhZ2VTaXplJylcclxuICBwdWJsaWMgc2V0IHNldFdpdGhQYWdlU2l6ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy53aXRoUGFnZVNpemUgPSB2YWx1ZSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRhU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UGFnaW5hdGVPdXRwdXRPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdpbmF0ZU91dHB1dE9iamVjdD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wb3NpdGlvbiAmJiBQYWdpbmF0b3JQb3NpdGlvbkNzc1t0aGlzLnBvc2l0aW9uXX0gJHt0aGlzLmN1c3RvbUNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SXRlbXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbCAvIHRoaXMucGFnZVNpemUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXROdW1iZXJzKCk6IFBhZ2luYXRvckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gQXJyYXkodGhpcy5nZXRJdGVtcylcclxuICAgICAgLmZpbGwoMSlcclxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7IGluZGV4OiBpbmRleCArIDEsIGFjdGl2ZTogaW5kZXggKyAxID09PSB0aGlzLmN1cnJlbnRQYWdlIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Vmlld0l0ZW1zKCk6IFBhZ2luYXRvckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09IDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAyIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDQ7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA9PSAyICYmIHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLmdldEl0ZW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAzO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT0gdGhpcy5nZXRJdGVtcyAtIDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDMgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAyIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDE7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA+IDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSA0IHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Rmlyc3ROdW1iZXJDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy50b3RhbCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudG90YWwgPCB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSAtIHRoaXMucGFnZVNpemUgKyAxKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAodGhpcy5wYWdlU2l6ZSAqIHRoaXMuY3VycmVudFBhZ2UgLSB0aGlzLnBhZ2VTaXplKSArIDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldExhc3ROdW1iZXJDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy50b3RhbCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudG90YWwgPCB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3RhbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUN1cnJlbnRQYWdlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY3VycmVudFBhZ2U6IHZhbHVlLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VQYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogdmFsdWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LXBhZ2luYXRvclwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCIgKm5nSWY9XCJpc0VtcHR5UGFnaW5hdG9yIHx8IHRvdGFsXCI+XHJcbiAgPHVsIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fbGlzdFwiPlxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fcHJldmlvdXNcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPD0gMVwiXHJcbiAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA+IDEgJiYgb25DaGFuZ2VDdXJyZW50UGFnZShjdXJyZW50UGFnZSAtIDEpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tbGVmdCBpY29uLWZvbnQtMjRcIj48L2Rpdj5cclxuICAgIDwvbGk+XHJcblxyXG4gICAgPGxpICpuZ0lmPVwiZ2V0Vmlld0l0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBhY3RpdmVcIj4xPC9saT5cclxuXHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDMgJiYgZ2V0SXRlbXMgPiA1XCIgKGNsaWNrKT1cIm9uQ2hhbmdlQ3VycmVudFBhZ2UoMSlcIj4xPC9saT5cclxuICAgIDxsaSBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX2l0ZW0gZG90c1wiICpuZ0lmPVwiY3VycmVudFBhZ2UgPiAzICYmIGdldEl0ZW1zID4gNVwiPi4uLjwvbGk+XHJcblxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbVwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldFZpZXdJdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlQ3VycmVudFBhZ2UoaXRlbS5pbmRleClcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRQYWdlID09PSBpdGVtLmluZGV4XCJcclxuICAgID5cclxuICAgICAge3tpdGVtLmluZGV4fX1cclxuICAgIDwvbGk+XHJcblxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBkb3RzXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zIC0gMiAmJiBnZXRJdGVtcyA+IDVcIj4uLi48L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbVwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPCBnZXRJdGVtcyAtIDIgJiYgZ2V0SXRlbXMgPiA1XCJcclxuICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZShnZXRJdGVtcylcIj57e2dldEl0ZW1zfX08L2xpPlxyXG5cclxuICAgIDxsaVxyXG4gICAgICBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX25leHRcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPj0gZ2V0SXRlbXNcIlxyXG4gICAgICAoY2xpY2spPVwiY3VycmVudFBhZ2UgPCBnZXRJdGVtcyAmJiBvbkNoYW5nZUN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlICsgMSlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1yaWdodCBpY29uLWZvbnQtMjRcIj48L2Rpdj5cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuXHJcbiAgQGlmICh3aXRoUGFnZVNpemUpIHtcclxuICAgIDxtcngtc2VsZWN0XHJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2VTaXplXCJcclxuICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICBbaXRlbXNdPVwicGFnZVNpemVzXCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgW3BvcHVwUG9zaXRpb25dPVwicG9wdXBQb3NpdGlvblwiXHJcbiAgICAgIFtzaW5nbGVDaGFuZ2VdPVwidHJ1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtc2VsZWN0PlxyXG4gIH1cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzUGFnaW5hdG9yVGV4dFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fdGV4dFwiPlxyXG4gICAg0J7RgtC+0LHRgNCw0LbQtdC90Ysge3twYWdpbmF0b3JUZXh0fX0ge3tnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlfX0gLSB7e2dldExhc3ROdW1iZXJDdXJyZW50UGFnZX19INC40Lcge3t0b3RhbH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
@@ -15,6 +15,11 @@ export class PopupTriggerDirective {
15
15
  _overlayRef;
16
16
  popupPanel;
17
17
  popupPosition = 'bottom-start';
18
+ isFullWidthDropdown = false;
19
+ minWidthDropdown = '120px';
20
+ get getMinWidthDropdown() {
21
+ return this.isFullWidthDropdown ? this.elementRef.nativeElement.getBoundingClientRect().width : this.minWidthDropdown;
22
+ }
18
23
  constructor(overlay, elementRef, viewContainerRef, dispatcher) {
19
24
  this.overlay = overlay;
20
25
  this.elementRef = elementRef;
@@ -46,7 +51,8 @@ export class PopupTriggerDirective {
46
51
  scrollStrategy: this.overlay.scrollStrategies.close(),
47
52
  backdropClass: 'cdk-overlay-transparent-backdrop',
48
53
  panelClass: 'mrx-popup',
49
- minWidth: this.elementRef.nativeElement.getBoundingClientRect().width,
54
+ minWidth: this.getMinWidthDropdown,
55
+ maxWidth: this.elementRef.nativeElement.getBoundingClientRect().width,
50
56
  });
51
57
  const templatePortal = new TemplatePortal(this.popupPanel.templateRef, this.viewContainerRef);
52
58
  this._overlayRef.attach(templatePortal);
@@ -113,7 +119,7 @@ export class PopupTriggerDirective {
113
119
  this.updateSize();
114
120
  }
115
121
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PopupTriggerDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Directive });
116
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: { popupPanel: ["mrxPopupTrigger", "popupPanel"], popupPosition: "popupPosition" }, host: { listeners: { "click": "togglePopup()", "document:click": "handleClick($event)", "window:resize": "handleResize($event)" } }, ngImport: i0 });
122
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: { popupPanel: ["mrxPopupTrigger", "popupPanel"], popupPosition: "popupPosition", isFullWidthDropdown: "isFullWidthDropdown", minWidthDropdown: "minWidthDropdown" }, host: { listeners: { "click": "togglePopup()", "document:click": "handleClick($event)", "window:resize": "handleResize($event)" } }, ngImport: i0 });
117
123
  }
118
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PopupTriggerDirective, decorators: [{
119
125
  type: Directive,
@@ -128,6 +134,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
128
134
  args: ['mrxPopupTrigger']
129
135
  }], popupPosition: [{
130
136
  type: Input
137
+ }], isFullWidthDropdown: [{
138
+ type: Input
139
+ }], minWidthDropdown: [{
140
+ type: Input
131
141
  }], handleClick: [{
132
142
  type: HostListener,
133
143
  args: ['document:click', ['$event']]
@@ -135,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
135
145
  type: HostListener,
136
146
  args: ['window:resize', ['$event']]
137
147
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAvZGlyZWN0aXZlcy9wb3B1cC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUd2SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLHdCQUF3QixDQUFDOzs7QUFRNUUsTUFBTSxPQUFPLHFCQUFxQjtJQVV0QjtJQUNBO0lBQ0E7SUFDQTtJQVpGLGtCQUFrQixHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFBO0lBQ3JELGtCQUFrQixHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFBO0lBQ3JELGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsV0FBVyxDQUFjO0lBRUEsVUFBVSxDQUFrQjtJQUNwRCxhQUFhLEdBQWlCLGNBQWMsQ0FBQztJQUV0RCxZQUNVLE9BQWdCLEVBQ2hCLFVBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxVQUF5QztRQUh6QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7SUFFbkQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZUFB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UUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ25CLENBQUM7d0dBbElVLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsZUFBZTtxQkFDM0I7aUJBQ0Y7Z0xBT2tDLFVBQVU7c0JBQTFDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNmLGFBQWE7c0JBQXJCLEtBQUs7Z0JBNEdDLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBY25DLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BvcHVwL3BvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLCBPdmVybGF5UmVmLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBvc2l0aW9uU3RyYXRlZ3lFbnVtLCBQb3NpdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9vdmVybGF5JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW21yeFBvcHVwVHJpZ2dlcl0nLFxyXG4gIGhvc3Q6IHtcclxuICAgICcoY2xpY2spJzogJ3RvZ2dsZVBvcHVwKCknXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9wdXBUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9zdWJzY3JpYmVyRGV0YWNoJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaWJlckF0dGFjaCQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxyXG4gIHByaXZhdGUgX2lzRHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XHJcblxyXG4gIEBJbnB1dCgnbXJ4UG9wdXBUcmlnZ2VyJykgcHVibGljIHBvcHVwUGFuZWwhOiBQb3B1cENvbXBvbmVudDtcclxuICBASW5wdXQoKSBwb3B1cFBvc2l0aW9uOiBQb3NpdGlvblR5cGUgPSAnYm90dG9tLXN0YXJ0JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlclxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wb3B1cFBhbmVsLl90b2dnbGVJbm5lci5zdWJzY3JpYmUoaXNPcGVuID0+IHtcclxuICAgICAgaWYgKGlzT3BlbiAmJiAhdGhpcy5faXNEcm9wZG93bk9wZW4pIHtcclxuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFpc09wZW4gJiYgdGhpcy5faXNEcm9wZG93bk9wZW4pIHtcclxuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMucG9wdXBQYW5lbC5fdXBkYXRlSW5uZXIuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgYXN5bmNTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4gdGhpcy51cGRhdGVQb3NpdGlvbigpKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB0b2dnbGVQb3B1cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzRHJvcGRvd25PcGVuID8gdGhpcy5kZXN0cm95RHJvcGRvd24oKSA6IHRoaXMub3BlbkRyb3Bkb3duKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcGRvd24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVPdGhlck92ZXJsYXlzKCk7XHJcblxyXG4gICAgdGhpcy5faXNEcm9wZG93bk9wZW4gPSB0cnVlO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koKSxcclxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcclxuICAgICAgcGFuZWxDbGFzczogJ21yeC1wb3B1cCcsXHJcbiAgICAgIG1pbldpZHRoOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICB0aGlzLnBvcHVwUGFuZWwudGVtcGxhdGVSZWYsXHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZlxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0ZW1wbGF0ZVBvcnRhbCk7XHJcblxyXG4gICAgdGhpcy5wb3B1cFBhbmVsLnRvZ2dsZS5lbWl0KHRydWUpO1xyXG5cclxuICAgIHRoaXMuX3N1YnNjcmliZXJEZXRhY2gkID0gdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpLnN1YnNjcmliZSggXyA9PiB7XHJcbiAgICAgIHRoaXMuX2lzRHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucG9wdXBQYW5lbC50b2dnbGUuZW1pdChmYWxzZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZURyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5kZXN0cm95RHJvcGRvd24oKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVBvc2l0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVNpemUoe1xyXG4gICAgICAgIG1pbldpZHRoOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb3NpdGlvblN0cmF0ZWd5KCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVxyXG4gICAgICAucG9zaXRpb24oKVxyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFBvc2l0aW9uU3RyYXRlZ3lFbnVtW3RoaXMucG9wdXBQb3NpdGlvbl0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHJvcGRvd24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYgfHwgIXRoaXMuX2lzRHJvcGRvd25PcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoaWRlT3RoZXJPdmVybGF5cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzcGF0Y2hlci5fYXR0YWNoZWRPdmVybGF5cy5mb3JFYWNoKChvdmVybGF5OiBPdmVybGF5UmVmKSA9PiB7XHJcbiAgICAgIGlmIChvdmVybGF5LmdldENvbmZpZygpLnBhbmVsQ2xhc3MgPT09ICdtcngtcG9wdXAnKSB7XHJcbiAgICAgICAgb3ZlcmxheS5kZXRhY2goKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3N1YnNjcmliZXJEZXRhY2gkLnVuc3Vic2NyaWJlKClcclxuICAgIHRoaXMuX3N1YnNjcmliZXJBdHRhY2gkLnVuc3Vic2NyaWJlKClcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlQ2xpY2soZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHJldHVybjtcclxuXHJcbiAgICBpZiAoIWV2ZW50LnRhcmdldC5jbG9zZXN0KCcubXJ4LXBvcHVwJykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGVzdHJveURyb3Bkb3duKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5tcngtcG9wdXAtaXRlbScpICYmIHRoaXMucG9wdXBQYW5lbC5jbG9zZUFmdGVyQ2xpY2spIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZXN0cm95RHJvcGRvd24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZVJlc2l6ZSgpIHtcclxuICAgIHRoaXMudXBkYXRlU2l6ZSgpXHJcbiAgfVxyXG59XHJcbiJdfQ==
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAvZGlyZWN0aXZlcy9wb3B1cC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUd2SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLHdCQUF3QixDQUFDOzs7QUFRNUUsTUFBTSxPQUFPLHFCQUFxQjtJQWlCdEI7SUFDQTtJQUNBO0lBQ0E7SUFuQkYsa0JBQWtCLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUE7SUFDckQsa0JBQWtCLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUE7SUFDckQsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixXQUFXLENBQWM7SUFFQSxVQUFVLENBQWtCO0lBQ3BELGFBQWEsR0FBaUIsY0FBYyxDQUFDO0lBRTdDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUNyQyxnQkFBZ0IsR0FBb0IsT0FBTyxDQUFDO0lBRXJELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hILENBQUM7SUFFRCxZQUNVLE9BQWdCLEVBQ2hCLFVBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxVQUF5QztRQUh6QyxZQUFPLEdB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Q0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQy9FLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUdNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ25CLENBQUM7d0dBM0lVLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRTt3QkFDSixTQUFTLEVBQUUsZUFBZTtxQkFDM0I7aUJBQ0Y7Z0xBT2tDLFVBQVU7c0JBQTFDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNmLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFrSEMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjbkMsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXIsIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUG9zaXRpb25TdHJhdGVneUVudW0sIFBvc2l0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL292ZXJsYXknO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbXJ4UG9wdXBUcmlnZ2VyXScsXHJcbiAgaG9zdDoge1xyXG4gICAgJyhjbGljayknOiAndG9nZ2xlUG9wdXAoKSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3B1cFRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX3N1YnNjcmliZXJEZXRhY2gkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcclxuICBwcml2YXRlIF9zdWJzY3JpYmVyQXR0YWNoJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXHJcbiAgcHJpdmF0ZSBfaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9vdmVybGF5UmVmITogT3ZlcmxheVJlZjtcclxuXHJcbiAgQElucHV0KCdtcnhQb3B1cFRyaWdnZXInKSBwdWJsaWMgcG9wdXBQYW5lbCE6IFBvcHVwQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIHBvcHVwUG9zaXRpb246IFBvc2l0aW9uVHlwZSA9ICdib3R0b20tc3RhcnQnO1xyXG5cclxuICBASW5wdXQoKSBpc0Z1bGxXaWR0aERyb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbWluV2lkdGhEcm9wZG93bjogbnVtYmVyIHwgc3RyaW5nID0gJzEyMHB4JztcclxuXHJcbiAgZ2V0IGdldE1pbldpZHRoRHJvcGRvd24oKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmlzRnVsbFdpZHRoRHJvcGRvd24gPyB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCA6IHRoaXMubWluV2lkdGhEcm9wZG93bjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgZGlzcGF0Y2hlcjogT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXJcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBQYW5lbC5fdG9nZ2xlSW5uZXIuc3Vic2NyaWJlKGlzT3BlbiA9PiB7XHJcbiAgICAgIGlmIChpc09wZW4gJiYgIXRoaXMuX2lzRHJvcGRvd25PcGVuKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghaXNPcGVuICYmIHRoaXMuX2lzRHJvcGRvd25PcGVuKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnBvcHVwUGFuZWwuX3VwZGF0ZUlubmVyLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGFzeW5jU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHRoaXMudXBkYXRlUG9zaXRpb24oKSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUG9wdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc0Ryb3Bkb3duT3BlbiA/IHRoaXMuZGVzdHJveURyb3Bkb3duKCkgOiB0aGlzLm9wZW5Ecm9wZG93bigpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWRlT3RoZXJPdmVybGF5cygpO1xyXG5cclxuICAgIHRoaXMuX2lzRHJvcGRvd25PcGVuID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpLFxyXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxyXG4gICAgICBwYW5lbENsYXNzOiAnbXJ4LXBvcHVwJyxcclxuICAgICAgbWluV2lkdGg6IHRoaXMuZ2V0TWluV2lkdGhEcm9wZG93bixcclxuICAgICAgbWF4V2lkdGg6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgIHRoaXMucG9wdXBQYW5lbC50ZW1wbGF0ZVJlZixcclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRlbXBsYXRlUG9ydGFsKTtcclxuXHJcbiAgICB0aGlzLnBvcHVwUGFuZWwudG9nZ2xlLmVtaXQodHJ1ZSk7XHJcblxyXG4gICAgdGhpcy5fc3Vic2NyaWJlckRldGFjaCQgPSB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCBfID0+IHtcclxuICAgICAgdGhpcy5faXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5wb3B1cFBhbmVsLnRvZ2dsZS5lbWl0KGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3lEcm9wZG93bigpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24oKSB7XHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlU2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlU2l6ZSh7XHJcbiAgICAgICAgbWluV2lkdGg6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5XHJcbiAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcclxuICAgICAgLndpdGhQb3NpdGlvbnMoUG9zaXRpb25TdHJhdGVneUVudW1bdGhpcy5wb3B1cFBvc2l0aW9uXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3lEcm9wZG93bigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZiB8fCAhdGhpcy5faXNEcm9wZG93bk9wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhpZGVPdGhlck92ZXJsYXlzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNwYXRjaGVyLl9hdHRhY2hlZE92ZXJsYXlzLmZvckVhY2goKG92ZXJsYXk6IE92ZXJsYXlSZWYpID0+IHtcclxuICAgICAgaWYgKG92ZXJsYXkuZ2V0Q29uZmlnKCkucGFuZWxDbGFzcyA9PT0gJ21yeC1wb3B1cCcpIHtcclxuICAgICAgICBvdmVybGF5LmRldGFjaCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fc3Vic2NyaWJlckRldGFjaCQudW5zdWJzY3JpYmUoKVxyXG4gICAgdGhpcy5fc3Vic2NyaWJlckF0dGFjaCQudW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkgcmV0dXJuO1xyXG5cclxuICAgIGlmICghZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5tcngtcG9wdXAnKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXN0cm95RHJvcGRvd24oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChldmVudC50YXJnZXQuY2xvc2VzdCgnLm1yeC1wb3B1cC1pdGVtJykgJiYgdGhpcy5wb3B1cFBhbmVsLmNsb3NlQWZ0ZXJDbGljaykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRlc3Ryb3lEcm9wZG93bigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlUmVzaXplKCkge1xyXG4gICAgdGhpcy51cGRhdGVTaXplKClcclxuICB9XHJcbn1cclxuIl19
@@ -185,7 +185,7 @@ export class TableComponent {
185
185
  this.isOpenSort = isOpen;
186
186
  }
187
187
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
188
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TableComponent, selector: "mrx-table", inputs: { type: "type", data: "data", pageSize: "pageSize", currentPage: "currentPage", total: "total", link: "link", isLoading: "isLoading", sort: "sort", trackById: "trackById", sortable: "sortable", striped: "striped", customClasses: "customClasses", emptyResultMsg: "emptyResultMsg", hovered: "hovered", popupPosition: "popupPosition", autoHeight: "autoHeight", headerSettings: "headerSettings", contentSettings: "contentSettings", paginatorSettings: "paginatorSettings", setPageable: ["pageable", "setPageable"] }, outputs: { dataStateChanged: "dataStateChanged", downloadData: "downloadData", changeTypeTable: "changeTypeTable", change: "change" }, queries: [{ propertyName: "templateCard", first: true, predicate: ["templateCard"], descendants: true }, { propertyName: "emptyResultMsgTemplate", first: true, predicate: ["emptyResultMsgTemplate"], descendants: true }, { propertyName: "contentChildren", predicate: ColumnComponent }], ngImport: i0, template: "<div class=\"mrx-table\" [class]=\"getClasses\" [class.mb-3]=\"pageable\">\r\n <ng-container *ngIf=\"headerSettings\">\r\n <div\r\n class=\"mrx-table-card-header py-12px mb-3\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'default'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-md-6 mb-1 mb-md-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"counterTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-md-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n <div class=\"ml-4\" *ngIf=\"headerSettings.toggle\">\r\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-table-card-header mb-3 pt-2 pb-2\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'second'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-sm-6 mb-1 mb-sm-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-sm-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"downloadTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'default'\"\r\n [class.mrx-table__wrapper--substrate]=\"contentSettings.substrate\">\r\n <table\r\n [class.table-striped]=\"striped\"\r\n [class.table-solid]=\"!striped\"\r\n [class.mt-2]=\"contentSettings.substrate\"\r\n [class.mb-3]=\"contentSettings.substrate && data.length\"\r\n >\r\n <thead [class.table-head-gray]=\"!headerSettings || headerSettings.background\">\r\n <tr>\r\n <th\r\n *ngFor=\"let col of contentChildren; let index = index; let first = first; let last = last; trackBy: trackByFn\"\r\n [class]=\"col.customClasses\">\r\n <ng-container *ngIf=\"!col.templateHead; else headerItemTemplate\">\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <span>{{ col.label }}</span>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <div><span>{{ col.label }}</span></div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #headerItemTemplate>\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <ng-container *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col }\"></ng-container>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n <tr *ngFor=\"let dataItem of data; let index = index; let first = first; let last = last\"\r\n [class.-hovered]=\"hovered\">\r\n <td\r\n #tableTD\r\n class=\"p-0\"\r\n *ngFor=\"let col of contentChildren\"\r\n [class]=\"col.customClasses\"\r\n >\r\n <a\r\n class=\"link-wrapper td-content-wrapper\"\r\n [href]=\"getLinkForStroke(link, dataItem)\"\r\n *ngIf=\"link && col['isLink']; else defaultTemplate\"\r\n >\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"p-2 h-100\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </a>\r\n\r\n <ng-template #defaultTemplate>\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"td-content-wrapper p-2 h-100\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <div class=\"td-content-wrapper h-100\">\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div class=\"mrx-table__result-message\" *ngIf=\"!data.length\">\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\">\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'cards'\">\r\n <ng-container *ngFor=\"let item of data; let index = index; let first = first; let last = last\">\r\n <ng-container *ngTemplateOutlet=\"templateCard; context: { $implicit: item, index, first, last }\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"mrx-table__result-message--substrate\" *ngIf=\"!data.length\">\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\">\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"mrx-table__paginator pt-2 pb-2\" [class.mrx-table__paginator--substrate]=\"paginatorSettings.substrate\"\r\n *ngIf=\"total\">\r\n <mrx-paginator\r\n *ngIf=\"pageable\"\r\n [total]=\"total\"\r\n [pageSize]=\"pageSize\"\r\n [position]=\"pageable.position\"\r\n [pageSizes]=\"pageable.pageSizes\"\r\n [currentPage]=\"currentPage\"\r\n [withPageSize]=\"pageable.withPageSize\"\r\n (dataStateChanged)=\"onDataStatePaginatorChanged($event)\">\r\n </mrx-paginator>\r\n</div>\r\n\r\n<ng-template #counterTemplate>\r\n <span class=\"mrx-table-counter\" *ngIf=\"headerSettings?.count\">\r\n {{ total }} {{ headerSettings?.countText || '\u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439' }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #sortTemplate>\r\n <div class=\"d-flex mrx-table-sort\" *ngIf=\"headerSettings?.sort\">\r\n <div class=\"mrx-table-sort-scale\">\r\n <div class=\"mrx-table-sort-scale__title mr-2\" (click)=\"changeSort()\">\r\n <span>\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E:</span>\r\n\r\n <div class=\"mrx-table-sort-scale__icon\">\r\n <span *ngIf=\"sort?.dir === 'desc'\" class=\"mrx-icon icon-sorting-down icon-font-16\"></span>\r\n <span *ngIf=\"sort?.dir === 'asc'\" class=\"mrx-icon icon-sorting-up icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-table-sort-scale__drop-trigger\" [mrxPopupTrigger]=\"sortDropdown\" [popupPosition]=\"popupPosition\">\r\n <span>{{ selectedSort }}</span>\r\n <span\r\n class=\"mrx-icon icon-font-16\"\r\n [class.icon-chevron-up]=\"isOpenSort\"\r\n [class.icon-chevron-down]=\"!isOpenSort\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #sortDropdown [minWidth]=\"'250px'\" [closeAfterClick]=\"true\" (toggle)=\"togglePopup($event)\">\r\n @for (item of colArray; track item) {\r\n <mrx-popup-item [id]=\"item.sortLabel\" (clicked)=\"updateSortSelect(item)\">{{ item.sortLabel || item.name }}\r\n </mrx-popup-item>\r\n }\r\n </mrx-popup>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #downloadTemplate>\r\n <div class=\"mrx-table-download\" (click)=\"clickToDownload($event)\" *ngIf=\"headerSettings?.download\">\r\n <span class=\"desktop\">\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435</span>\r\n <span class=\"mrx-icon icon-download icon-font-24\"></span>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #toggleTemplate>\r\n <div class=\"mrx-table-toggle\">\r\n <div class=\"mrx-table-toggle--item mr-1\" (click)=\"onChangeTypeTable('cards')\" [class.active]=\"type === 'cards'\">\r\n <span class=\"mrx-icon icon-cards-view icon-font-24\"></span>\r\n </div>\r\n <div class=\"mrx-table-toggle--item\" (click)=\"onChangeTypeTable('default')\" [class.active]=\"type === 'default'\">\r\n <span class=\"mrx-icon icon-table-view icon-font-24\"></span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #emptyResultMsgTemplateDefault>\r\n {{ emptyResultMsg }}\r\n</ng-template>\r\n", styles: [".mrx-table.mrx-table{display:block;width:100%}.mrx-table.mrx-table table td{height:1px}.mrx-table.mrx-table .th-wrapper{display:flex;cursor:pointer;word-break:inherit;justify-content:space-between;align-items:flex-end}.mrx-table.mrx-table .th-wrapper span{word-break:inherit}.mrx-table.mrx-table .mrx-table__sort-icon.asc path:last-child{fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table__sort-icon.desc path:first-child{fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table__wrapper.mrx-table__wrapper{overflow-x:auto;overflow-y:hidden;position:relative}.mrx-table__wrapper.mrx-table__wrapper .mrx-table__wrapper--substrate{padding-top:8px}.mrx-table.mrx-table.type-default table{width:100%;text-align:left;background-color:transparent;border-spacing:0}.mrx-table.mrx-table.type-default table thead.table-head-gray{background:var(--neutral-bg-island-default, #F8F9FA)}.mrx-table.mrx-table.type-default table thead .sort-asc .custom-table__sort path:nth-child(2){fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table thead .sort-desc .custom-table__sort path:nth-child(1){fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table td{max-width:340px;vertical-align:top}.mrx-table.mrx-table.type-default table td .link-wrapper{display:block;color:initial;height:100%}.mrx-table.mrx-table.type-default table td .link-wrapper:active{color:var(--neutral-text-primary, #262626)}.mrx-table.mrx-table.type-default table td .left-border{border-left:4px solid var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table td .light-border{border-left:4px solid transparent}.mrx-table.mrx-table.type-default table td .warning-back{background-color:#ffece7}.mrx-table.mrx-table.type-default table td .disabled-back{background-color:#fafafa}.mrx-table.mrx-table.type-default table td .link-colored,.mrx-table.mrx-table.type-default table td .link-colored:active{color:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table th{padding:8px;vertical-align:bottom;word-break:inherit;font-weight:700}.mrx-table.mrx-table.type-default table th svg{margin-left:8px;cursor:pointer}.mrx-table.mrx-table .mrx-table-card-header{position:relative}.mrx-table.mrx-table .mrx-table-card-header--substrate{padding-left:24px;padding-right:24px;background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px}.mrx-table.mrx-table .mrx-table__wrapper--substrate{background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px}.mrx-table.mrx-table .mrx-table-toggle{display:flex}.mrx-table.mrx-table .mrx-table-toggle--item{display:flex;align-items:center;justify-content:center;cursor:pointer}.mrx-table.mrx-table .mrx-table-toggle--item .mrx-icon{color:#e5e5e5}.mrx-table.mrx-table .mrx-table-toggle--item.active .mrx-icon{color:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table-sort.mrx-table-sort--is-card,.mrx-table.mrx-table .mrx-table-sort.mrx-table-sort--is-table{justify-content:flex-start}.mrx-table.mrx-table .mrx-table-sort-scale{display:flex;align-items:center;flex-wrap:wrap;cursor:pointer;gap:4px;font-family:var(--body-md-font-family, \"PT Sans\");font-weight:var(--body-md-font-weight, 400);font-size:var(--body-md-font-size, 14px);line-height:var(--body-md-line-height, 20px);color:var(--neutral-text-primary, #262626)}.mrx-table.mrx-table .mrx-table-sort-scale__title{display:flex;align-items:center;gap:8px}.mrx-table.mrx-table .mrx-table-sort-scale__icon{display:flex;align-items:center;justify-content:center}.mrx-table.mrx-table .mrx-table-sort-scale__drop-trigger{display:flex;align-items:center;gap:4px}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select{max-width:215px;margin-bottom:0}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-select-container.ng-select-container{min-height:auto!important;border:none;cursor:pointer;align-items:center;height:100%!important}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-value-container.ng-value-container{padding-left:0!important;margin-right:8px}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-arrow-wrapper.ng-arrow-wrapper{min-height:auto;width:auto!important}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-dropdown-panel.ng-dropdown-panel{width:100vw;max-width:215px;left:auto;right:0}.mrx-table__paginator.mrx-table__paginator.mrx-table__paginator--substrate{padding-left:24px;padding-right:24px;background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px}.mrx-table.mrx-table .table-striped tbody tr:nth-child(2n){background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-table.mrx-table .table-striped tbody tr:nth-child(n){transition:.2s}.mrx-table.mrx-table .table-striped tbody tr:nth-child(n).-hovered:hover{background-color:var(--brand-bg-tertiary-hover, #edf5ff)}.mrx-table.mrx-table .table-solid{border-collapse:collapse}.mrx-table.mrx-table .table-solid thead tr{border-bottom:1px solid #f2f2f2}.mrx-table.mrx-table .table-solid tbody tr:not(:last-child){border-bottom:1px solid #f2f2f2}.mrx-table.mrx-table .table-solid tbody tr.-hovered:hover{box-shadow:0 1px 4px #3a3a3a4d}.mrx-table.mrx-table .mrx-table__wrapper .mrx-table__overlay{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;border-radius:4px}.mrx-table .mrx-table__result-message{display:flex;justify-content:center;width:100%;padding:var(--spacing-4);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-table .mrx-table__result-message *{font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-table .mrx-table__result-message--substrate{display:flex;justify-content:center;width:100%;font-weight:400;font-size:16px;line-height:24px;color:var(--neutral-text-primary, #262626);padding:24px;background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px;position:relative}.mrx-table.mrx-table .mrx-table-download{display:flex;align-items:center;justify-content:flex-end;cursor:pointer}.mrx-table.mrx-table .mrx-table-download span{margin-right:8px;color:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table-download svg path{stroke:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table-counter{display:flex;align-items:center;font-family:var(--body-lg-font-family);font-size:var(--body-lg-font-size);font-weight:var(--body-lg-font-weight);line-height:var(--body-lg-line-height)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.PaginatorComponent, selector: "mrx-paginator", inputs: ["pageSizes", "currentPage", "pageSize", "total", "customClasses", "isEmptyPaginator", "isPaginatorText", "paginatorText", "dropdownPosition", "popupPosition", "position", "withPageSize"], outputs: ["dataStateChanged"] }, { kind: "component", type: i3.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i4.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick", "minWidth"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i5.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id", "disabled"], outputs: ["clicked"] }, { kind: "directive", type: i6.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition"] }], animations: [
188
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TableComponent, selector: "mrx-table", inputs: { type: "type", data: "data", pageSize: "pageSize", currentPage: "currentPage", total: "total", link: "link", isLoading: "isLoading", sort: "sort", trackById: "trackById", sortable: "sortable", striped: "striped", customClasses: "customClasses", emptyResultMsg: "emptyResultMsg", hovered: "hovered", popupPosition: "popupPosition", autoHeight: "autoHeight", headerSettings: "headerSettings", contentSettings: "contentSettings", paginatorSettings: "paginatorSettings", setPageable: ["pageable", "setPageable"] }, outputs: { dataStateChanged: "dataStateChanged", downloadData: "downloadData", changeTypeTable: "changeTypeTable", change: "change" }, queries: [{ propertyName: "templateCard", first: true, predicate: ["templateCard"], descendants: true }, { propertyName: "emptyResultMsgTemplate", first: true, predicate: ["emptyResultMsgTemplate"], descendants: true }, { propertyName: "contentChildren", predicate: ColumnComponent }], ngImport: i0, template: "<div class=\"mrx-table\" [class]=\"getClasses\" [class.mb-3]=\"pageable\">\r\n <ng-container *ngIf=\"headerSettings\">\r\n <div\r\n class=\"mrx-table-card-header py-12px mb-3\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'default'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-md-6 mb-1 mb-md-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"counterTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-md-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n <div class=\"ml-4\" *ngIf=\"headerSettings.toggle\">\r\n <ng-container *ngTemplateOutlet=\"toggleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-table-card-header mb-3 pt-2 pb-2\"\r\n [class.mrx-table-card-header--substrate]=\"headerSettings.substrate\"\r\n *ngIf=\"headerSettings.type === 'second'\"\r\n >\r\n <div class=\"row\">\r\n <div\r\n class=\"mrx-table-card-header--left col col-12 col-sm-6 mb-1 mb-sm-0 d-flex justify-content-start align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"sortTemplate\"></ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table-card-header--right col col-12 col-sm-6 d-flex justify-content-end align-content-center\">\r\n <ng-container *ngTemplateOutlet=\"downloadTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'default'\"\r\n [class.mrx-table__wrapper--substrate]=\"contentSettings.substrate\">\r\n <table\r\n [class.table-striped]=\"striped\"\r\n [class.table-solid]=\"!striped\"\r\n [class.mt-2]=\"contentSettings.substrate\"\r\n [class.mb-3]=\"contentSettings.substrate && data.length\"\r\n >\r\n <thead [class.table-head-gray]=\"!headerSettings || headerSettings.background\">\r\n <tr>\r\n <th\r\n *ngFor=\"let col of contentChildren; let index = index; let first = first; let last = last; trackBy: trackByFn\"\r\n [class]=\"col.customClasses\">\r\n <ng-container *ngIf=\"!col.templateHead; else headerItemTemplate\">\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <span>{{ col.label }}</span>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <div><span>{{ col.label }}</span></div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #headerItemTemplate>\r\n <ng-container *ngIf=\"col.sortable; else defaultHeadCol\">\r\n <div [class.th-wrapper]=\"sortable\" (click)=\"onSortColumn(col.name, col.sortable)\">\r\n <ng-container *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col }\"></ng-container>\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\r\n [class]=\"columnSortedDir(col.name)\"\r\n class=\"mrx-table__sort-icon\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 9L8 13L12 9\" fill=\"#DAD5CE\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 7L8 3L4 7\" fill=\"#DAD5CE\"/>\r\n </svg>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultHeadCol>\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateHead; context: { $implicit: col, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n <tr *ngFor=\"let dataItem of data; let index = index; let first = first; let last = last\"\r\n [class.-hovered]=\"hovered\">\r\n <td\r\n #tableTD\r\n class=\"p-0\"\r\n *ngFor=\"let col of contentChildren\"\r\n [class]=\"col.customClasses\"\r\n >\r\n <a\r\n class=\"link-wrapper td-content-wrapper\"\r\n [href]=\"getLinkForStroke(link, dataItem)\"\r\n *ngIf=\"link && col['isLink']; else defaultTemplate\"\r\n >\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"p-2 h-100\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </ng-template>\r\n </a>\r\n\r\n <ng-template #defaultTemplate>\r\n <ng-container *ngIf=\"!col.templateCell; else bodyItemTemplate\">\r\n <div class=\"td-content-wrapper p-2 h-100\">{{ dataItem[col.name] }}</div>\r\n </ng-container>\r\n\r\n <ng-template #bodyItemTemplate>\r\n <div class=\"td-content-wrapper h-100\">\r\n <ng-container\r\n *ngTemplateOutlet=\"col.templateCell; context: { $implicit: col, row: dataItem, index, first, last }\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div class=\"mrx-table__result-message\" *ngIf=\"!data.length\">\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\">\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-table__wrapper\" *ngSwitchCase=\"'cards'\">\r\n <ng-container *ngFor=\"let item of data; let index = index; let first = first; let last = last\">\r\n <ng-container *ngTemplateOutlet=\"templateCard; context: { $implicit: item, index, first, last }\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"mrx-table__result-message--substrate\" *ngIf=\"!data.length\">\r\n <ng-container *ngTemplateOutlet=\"emptyResultMsg ? emptyResultMsgTemplateDefault : emptyResultMsgTemplate\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mrx-table__overlay\" [@visibleLoading]=\"isLoading ? 'in' : 'out'\" [ngClass]=\"{'open': isLoading}\">\r\n <mrx-loader size=\"large\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"mrx-table__paginator pt-2 pb-2\" [class.mrx-table__paginator--substrate]=\"paginatorSettings.substrate\"\r\n *ngIf=\"total\">\r\n <mrx-paginator\r\n *ngIf=\"pageable\"\r\n [total]=\"total\"\r\n [pageSize]=\"pageSize\"\r\n [position]=\"pageable.position\"\r\n [pageSizes]=\"pageable.pageSizes\"\r\n [currentPage]=\"currentPage\"\r\n [withPageSize]=\"pageable.withPageSize\"\r\n (dataStateChanged)=\"onDataStatePaginatorChanged($event)\">\r\n </mrx-paginator>\r\n</div>\r\n\r\n<ng-template #counterTemplate>\r\n <span class=\"mrx-table-counter\" *ngIf=\"headerSettings?.count\">\r\n {{ total }} {{ headerSettings?.countText || '\u043D\u043E\u0432\u043E\u0441\u0442\u0435\u0439' }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #sortTemplate>\r\n <div class=\"d-flex mrx-table-sort\" *ngIf=\"headerSettings?.sort\">\r\n <div class=\"mrx-table-sort-scale\">\r\n <div class=\"mrx-table-sort-scale__title mr-2\" (click)=\"changeSort()\">\r\n <span>\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E:</span>\r\n\r\n <div class=\"mrx-table-sort-scale__icon\">\r\n <span *ngIf=\"sort?.dir === 'desc'\" class=\"mrx-icon icon-sorting-down icon-font-16\"></span>\r\n <span *ngIf=\"sort?.dir === 'asc'\" class=\"mrx-icon icon-sorting-up icon-font-16\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mrx-table-sort-scale__drop-trigger\" [mrxPopupTrigger]=\"sortDropdown\" [popupPosition]=\"popupPosition\">\r\n <span>{{ selectedSort }}</span>\r\n <span\r\n class=\"mrx-icon icon-font-16\"\r\n [class.icon-chevron-up]=\"isOpenSort\"\r\n [class.icon-chevron-down]=\"!isOpenSort\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <mrx-popup #sortDropdown [minWidth]=\"'250px'\" [closeAfterClick]=\"true\" (toggle)=\"togglePopup($event)\">\r\n @for (item of colArray; track item) {\r\n <mrx-popup-item [id]=\"item.sortLabel\" (clicked)=\"updateSortSelect(item)\">{{ item.sortLabel || item.name }}\r\n </mrx-popup-item>\r\n }\r\n </mrx-popup>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #downloadTemplate>\r\n <div class=\"mrx-table-download\" (click)=\"clickToDownload($event)\" *ngIf=\"headerSettings?.download\">\r\n <span class=\"desktop\">\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435</span>\r\n <span class=\"mrx-icon icon-download icon-font-24\"></span>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #toggleTemplate>\r\n <div class=\"mrx-table-toggle\">\r\n <div class=\"mrx-table-toggle--item mr-1\" (click)=\"onChangeTypeTable('cards')\" [class.active]=\"type === 'cards'\">\r\n <span class=\"mrx-icon icon-cards-view icon-font-24\"></span>\r\n </div>\r\n <div class=\"mrx-table-toggle--item\" (click)=\"onChangeTypeTable('default')\" [class.active]=\"type === 'default'\">\r\n <span class=\"mrx-icon icon-table-view icon-font-24\"></span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #emptyResultMsgTemplateDefault>\r\n {{ emptyResultMsg }}\r\n</ng-template>\r\n", styles: [".mrx-table.mrx-table{display:block;width:100%}.mrx-table.mrx-table table td{height:1px}.mrx-table.mrx-table .th-wrapper{display:flex;cursor:pointer;word-break:inherit;justify-content:space-between;align-items:flex-end}.mrx-table.mrx-table .th-wrapper span{word-break:inherit}.mrx-table.mrx-table .mrx-table__sort-icon.asc path:last-child{fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table__sort-icon.desc path:first-child{fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table__wrapper.mrx-table__wrapper{overflow-x:auto;overflow-y:hidden;position:relative}.mrx-table__wrapper.mrx-table__wrapper .mrx-table__wrapper--substrate{padding-top:8px}.mrx-table.mrx-table.type-default table{width:100%;text-align:left;background-color:transparent;border-spacing:0}.mrx-table.mrx-table.type-default table thead.table-head-gray{background:var(--neutral-bg-island-default, #F8F9FA)}.mrx-table.mrx-table.type-default table thead .sort-asc .custom-table__sort path:nth-child(2){fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table thead .sort-desc .custom-table__sort path:nth-child(1){fill:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table td{max-width:340px;vertical-align:top}.mrx-table.mrx-table.type-default table td .link-wrapper{display:block;color:initial;height:100%}.mrx-table.mrx-table.type-default table td .link-wrapper:active{color:var(--neutral-text-primary, #262626)}.mrx-table.mrx-table.type-default table td .left-border{border-left:4px solid var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table td .light-border{border-left:4px solid transparent}.mrx-table.mrx-table.type-default table td .warning-back{background-color:#ffece7}.mrx-table.mrx-table.type-default table td .disabled-back{background-color:#fafafa}.mrx-table.mrx-table.type-default table td .link-colored,.mrx-table.mrx-table.type-default table td .link-colored:active{color:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table.type-default table th{padding:8px;vertical-align:bottom;word-break:inherit;font-weight:700}.mrx-table.mrx-table.type-default table th svg{margin-left:8px;cursor:pointer}.mrx-table.mrx-table .mrx-table-card-header{position:relative}.mrx-table.mrx-table .mrx-table-card-header--substrate{padding-left:24px;padding-right:24px;background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px}.mrx-table.mrx-table .mrx-table__wrapper--substrate{background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px}.mrx-table.mrx-table .mrx-table-toggle{display:flex}.mrx-table.mrx-table .mrx-table-toggle--item{display:flex;align-items:center;justify-content:center;cursor:pointer}.mrx-table.mrx-table .mrx-table-toggle--item .mrx-icon{color:#e5e5e5}.mrx-table.mrx-table .mrx-table-toggle--item.active .mrx-icon{color:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table-sort.mrx-table-sort--is-card,.mrx-table.mrx-table .mrx-table-sort.mrx-table-sort--is-table{justify-content:flex-start}.mrx-table.mrx-table .mrx-table-sort-scale{display:flex;align-items:center;flex-wrap:wrap;cursor:pointer;gap:4px;font-family:var(--body-md-font-family, \"PT Sans\");font-weight:var(--body-md-font-weight, 400);font-size:var(--body-md-font-size, 14px);line-height:var(--body-md-line-height, 20px);color:var(--neutral-text-primary, #262626)}.mrx-table.mrx-table .mrx-table-sort-scale__title{display:flex;align-items:center;gap:8px}.mrx-table.mrx-table .mrx-table-sort-scale__icon{display:flex;align-items:center;justify-content:center}.mrx-table.mrx-table .mrx-table-sort-scale__drop-trigger{display:flex;align-items:center;gap:4px}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select{max-width:215px;margin-bottom:0}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-select-container.ng-select-container{min-height:auto!important;border:none;cursor:pointer;align-items:center;height:100%!important}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-value-container.ng-value-container{padding-left:0!important;margin-right:8px}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-arrow-wrapper.ng-arrow-wrapper{min-height:auto;width:auto!important}:host::ng-deep .mrx-table.mrx-table .mrx-table-sort .ng-select .ng-dropdown-panel.ng-dropdown-panel{width:100vw;max-width:215px;left:auto;right:0}.mrx-table__paginator.mrx-table__paginator.mrx-table__paginator--substrate{padding-left:24px;padding-right:24px;background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px}.mrx-table.mrx-table .table-striped tbody tr:nth-child(2n){background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-table.mrx-table .table-striped tbody tr:nth-child(n){transition:.2s}.mrx-table.mrx-table .table-striped tbody tr:nth-child(n).-hovered:hover{background-color:var(--brand-bg-tertiary-hover, #edf5ff)}.mrx-table.mrx-table .table-solid{border-collapse:collapse}.mrx-table.mrx-table .table-solid thead tr{border-bottom:1px solid #f2f2f2}.mrx-table.mrx-table .table-solid tbody tr:not(:last-child){border-bottom:1px solid #f2f2f2}.mrx-table.mrx-table .table-solid tbody tr.-hovered:hover{box-shadow:0 1px 4px #3a3a3a4d}.mrx-table.mrx-table .mrx-table__wrapper .mrx-table__overlay{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;border-radius:4px}.mrx-table .mrx-table__result-message{display:flex;justify-content:center;width:100%;padding:var(--spacing-4);font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-table .mrx-table__result-message *{font-family:var(--body-md-font-family);font-weight:var(--body-md-font-weight);font-size:var(--body-md-font-size);line-height:var(--body-md-line-height);color:var(--neutral-text-secondary)}.mrx-table .mrx-table__result-message--substrate{display:flex;justify-content:center;width:100%;font-weight:400;font-size:16px;line-height:24px;color:var(--neutral-text-primary, #262626);padding:24px;background:#fff;box-shadow:0 1px 4px #3b43571a;border-radius:4px;position:relative}.mrx-table.mrx-table .mrx-table-download{display:flex;align-items:center;justify-content:flex-end;cursor:pointer}.mrx-table.mrx-table .mrx-table-download span{margin-right:8px;color:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table-download svg path{stroke:var(--brand-bg-primary-default, #2a6ab8)}.mrx-table.mrx-table .mrx-table-counter{display:flex;align-items:center;font-family:var(--body-lg-font-family);font-size:var(--body-lg-font-size);font-weight:var(--body-lg-font-weight);line-height:var(--body-lg-line-height)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.PaginatorComponent, selector: "mrx-paginator", inputs: ["pageSizes", "currentPage", "pageSize", "total", "customClasses", "isEmptyPaginator", "isPaginatorText", "paginatorText", "dropdownPosition", "popupPosition", "position", "withPageSize"], outputs: ["dataStateChanged"] }, { kind: "component", type: i3.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i4.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick", "minWidth"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i5.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id", "disabled"], outputs: ["clicked"] }, { kind: "directive", type: i6.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition", "isFullWidthDropdown", "minWidthDropdown"] }], animations: [
189
189
  trigger('visibleLoading', [
190
190
  state('in', style({ opacity: 1, visibility: 'visible' })),
191
191
  state('out', style({ opacity: 0, visibility: 'hidden' })),
@@ -275,4 +275,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
275
275
  }], change: [{
276
276
  type: Output
277
277
  }] } });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnRyxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQXdCeEYsTUFBTSxPQUFPLGNBQWM7SUE0REw7SUEzRGIsUUFBUSxHQUFzQixFQUFFLENBQUM7SUFDakMsUUFBUSxHQUF5QixvQkFBb0IsQ0FBQztJQUN0RCxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLElBQUksR0FBRyxLQUFLLENBQUE7SUFDWixVQUFVLEdBQVksS0FBSyxDQUFDO0lBRUQsZUFBZSxDQUE4QjtJQUNqRCxZQUFZLENBQW9CO0lBQ3RCLHNCQUFzQixDQUFvQjtJQUV6RSxJQUFJLEdBQWMsU0FBUyxDQUFDO0lBQzVCLElBQUksQ0FBbUI7SUFDdkIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEIsS0FBSyxHQUFH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QUFlO3NCQUF2QixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBV1AsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRlbnRTZXR0aW5ncywgSGVhZGVyU2V0dGluZ3MsIFBhZ2luYXRvclNldHRpbmdzLCBTb3J0RGVzY3JpcHRvciwgVGFibGVCb2R5SXRlbSwgVGFibGVUeXBlLCBUYWJsZVR5cGVFbnVtIH0gZnJvbSAnLi90YWJsZS5lbnVtJztcclxuaW1wb3J0IHsgQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbHVtbi9jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZXJTZXR0aW5ncywgRGF0YVN0YXRlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IERlZmF1bHRQYWdlclNldHRpbmdzIH0gZnJvbSAnLi9kZWZhdWx0L2RlZmF1bHQtcGFnZXItc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBQYWdpbmF0ZU91dHB1dE9iamVjdCB9IGZyb20gJy4uL3BhZ2luYXRvci9wYWdpbmF0b3IuZW51bSc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIGdyb3VwLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgUG9zaXRpb25UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvb3ZlcmxheSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Zpc2libGVMb2FkaW5nJywgW1xyXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9KSksXHJcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignaW4gPT4gb3V0JywgW2dyb3VwKFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKVxyXG4gICAgICBdXHJcbiAgICAgICldKSxcclxuICAgICAgdHJhbnNpdGlvbignb3V0ID0+IGluJywgW2dyb3VwKFtcclxuICAgICAgICBhbmltYXRlKCcxbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9KSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXHJcbiAgICAgIF1cclxuICAgICAgKV0pXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHVibGljIGNvbEFycmF5OiBDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBwYWdlYWJsZTogUGFnZXJTZXR0aW5ncyB8IG51bGwgPSBEZWZhdWx0UGFnZXJTZXR0aW5ncztcclxuICBwdWJsaWMgc2VsZWN0ZWRTb3J0ID0gJydcclxuICBwdWJsaWMgaW5pdCA9IGZhbHNlXHJcbiAgcHVibGljIGlzT3BlblNvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihDb2x1bW5Db21wb25lbnQpIGNvbnRlbnRDaGlsZHJlbiE6IFF1ZXJ5TGlzdDxDb2x1bW5Db21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3RlbXBsYXRlQ2FyZCcpIHRlbXBsYXRlQ2FyZCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQENvbnRlbnRDaGlsZCgnZW1wdHlSZXN1bHRNc2dUZW1wbGF0ZScpIGVtcHR5UmVzdWx0TXNnVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKSB0eXBlOiBUYWJsZVR5cGUgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgZGF0YSE6IFRhYmxlQm9keUl0ZW1bXTtcclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDIwO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlID0gMTtcclxuICBASW5wdXQoKSB0b3RhbCA9IDA7XHJcbiAgQElucHV0KCkgbGluayA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzb3J0OiBTb3J0RGVzY3JpcHRvciB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSB0cmFja0J5SWQgPSAnaWQnO1xyXG4gIEBJbnB1dCgpIHNvcnRhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzdHJpcGVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzID0gJydcclxuICBASW5wdXQoKSBlbXB0eVJlc3VsdE1zZyA9ICcnXHJcbiAgQElucHV0KCkgaG92ZXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgcG9wdXBQb3NpdGlvbjogUG9zaXRpb25UeXBlID0gJ2JvdHRvbS1lbmQnO1xyXG5cclxuICBASW5wdXQoKSBhdXRvSGVpZ2h0ID0gdHJ1ZSAvLyBkZXByZWNhdGVkXHJcblxyXG4gIEBJbnB1dCgpIGhlYWRlclNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncyB8IHVuZGVmaW5lZFxyXG5cclxuICBASW5wdXQoKSBjb250ZW50U2V0dGluZ3M6IENvbnRlbnRTZXR0aW5ncyA9IHtcclxuICAgIHN1YnN0cmF0ZTogZmFsc2VcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2luYXRvclNldHRpbmdzOiBQYWdpbmF0b3JTZXR0aW5ncyA9IHtcclxuICAgIHN1YnN0cmF0ZTogZmFsc2VcclxuICB9XHJcblxyXG4gIC8vINCf0YDQvtCy0LXRgNC40YLRjCDQuCDQstGL0YDQtdC30LDRgtGMXHJcbiAgcHVibGljIHNlbGVjdGVkSXRlbSA9IDFcclxuXHJcbiAgQElucHV0KCdwYWdlYWJsZScpXHJcbiAgcHVibGljIHNldCBzZXRQYWdlYWJsZSh2YWx1ZTogUGFnZXJTZXR0aW5ncyB8IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnBhZ2VhYmxlID0gRGVmYXVsdFBhZ2VyU2V0dGluZ3M7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLnBhZ2VhYmxlID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnZWFibGUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRhU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGF0YVN0YXRlQ2hhbmdlRXZlbnQ+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RGF0YVN0YXRlQ2hhbmdlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGRvd25sb2FkRGF0YTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KClcclxuICBAT3V0cHV0KCkgY2hhbmdlVHlwZVRhYmxlOiBFdmVudEVtaXR0ZXI8VGFibGVUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVUeXBlPigpXHJcbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KClcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29sQXJyYXkgPSB0aGlzLmNvbnRlbnRDaGlsZHJlbi50b0FycmF5KCk7XHJcblxyXG4gICAgdGhpcy5jb2xBcnJheS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAodGhpcy5zb3J0ICYmIHRoaXMuc29ydC5jb2wgPT09IGl0ZW0ubmFtZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTb3J0ID0gaXRlbS5zb3J0TGFiZWwgfHwgaXRlbS5uYW1lXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5jb2xBcnJheSA9IHRoaXMuY29sQXJyYXkuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICByZXR1cm4gaXRlbS5uYW1lICE9PSAnJyAmJiBpdGVtLnNvcnRMYWJlbFxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgdGhpcy5pbml0ID0gdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7IFRhYmxlVHlwZUVudW1bdGhpcy50eXBlXSB9ICR7IHRoaXMuY3VzdG9tQ2xhc3NlcyB9YDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy50cmFja0J5SWRdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVNvcnQoKSB7XHJcbiAgICBjb25zdCBuZXdFdmVudERhdGE6IERhdGFTdGF0ZUNoYW5nZUV2ZW50ID0geyBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9O1xyXG5cclxuICAgIGlmICghdGhpcy5jb2xBcnJheS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydCkge1xyXG4gICAgICBuZXdFdmVudERhdGEuc29ydCA9IHtcclxuICAgICAgICBkaXI6IHRoaXMuc29ydC5kaXIgPT09ICdkZXNjJyA/ICdhc2MnIDogJ2Rlc2MnLFxyXG4gICAgICAgIGNvbDogdGhpcy5zb3J0LmNvbFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3RXZlbnREYXRhLnNvcnQgPSB7XHJcbiAgICAgICAgZGlyOiAnYXNjJyxcclxuICAgICAgICBjb2w6IHRoaXMuY29sQXJyYXlbMF0ubmFtZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KG5ld0V2ZW50RGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29sdW1uU29ydGVkRGlyKGNvbHVtbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNvcnQgJiYgdGhpcy5zb3J0LmNvbCA9PSBjb2x1bW4gJiYgdGhpcy5zb3J0LmRpcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5zb3J0LmRpcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNvcnRDb2x1bW4oY29sdW1uOiBzdHJpbmcsIHNvcnRhYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXNvcnRhYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdFdmVudERhdGE6IERhdGFTdGF0ZUNoYW5nZUV2ZW50ID0geyBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9O1xyXG5cclxuICAgIGlmICh0aGlzLnNvcnQgJiYgdGhpcy5zb3J0LmNvbCA9PSBjb2x1bW4pIHtcclxuICAgICAgaWYgKHRoaXMuc29ydC5kaXIgJiYgdGhpcy5zb3J0LmRpciA9PT0gJ2FzYycpIHtcclxuICAgICAgICBuZXdFdmVudERhdGEuc29ydCA9IHsgZGlyOiAnZGVzYycsIGNvbDogY29sdW1uIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld0V2ZW50RGF0YS5zb3J0ID0geyBkaXI6ICdhc2MnLCBjb2w6IGNvbHVtbiB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KG5ld0V2ZW50RGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xpY2tUb0Rvd25sb2FkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb3dubG9hZERhdGEuZW1pdChldmVudClcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVTb3J0U2VsZWN0KHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld0V2ZW50RGF0YTogRGF0YVN0YXRlQ2hhbmdlRXZlbnQgPSB7XHJcbiAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgY29sOiB2YWx1ZS5uYW1lLFxyXG4gICAgICAgIGRpcjogdGhpcy5zb3J0Py5kaXJcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChuZXdFdmVudERhdGEpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EYXRhU3RhdGVQYWdpbmF0b3JDaGFuZ2VkKHBhZ2luYXRpb246IFBhZ2luYXRlT3V0cHV0T2JqZWN0KTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXdFdmVudERhdGE6IERhdGFTdGF0ZUNoYW5nZUV2ZW50ID0ge1xyXG4gICAgICBwYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogcGFnaW5hdGlvbi5wYWdlU2l6ZVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5zb3J0ICYmIHRoaXMuc29ydC5jb2wgJiYgdGhpcy5zb3J0LmRpcikge1xyXG4gICAgICBuZXdFdmVudERhdGEuc29ydCA9IHsgZGlyOiB0aGlzLnNvcnQuZGlyLCBjb2w6IHRoaXMuc29ydC5jb2wgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChuZXdFdmVudERhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpbmtGb3JTdHJva2UobGluazogc3RyaW5nLCBkYXRhSXRlbTogVGFibGVCb2R5SXRlbSkge1xyXG4gICAgLy8g0YDQtdCz0YPQu9GP0YDQutC4XHJcbiAgICBjb25zdCByZWdFeHBQYXJhbXMgPSAvKD88PVxcWylbXlxcc1xcW1xcXV0rKD89XSkvZ2k7XHJcbiAgICAvLyDQvtGB0L3QvtCy0L3QvtC5INC80LDRgdGB0LjQslxyXG4gICAgY29uc3QgbGlua0FycmF5ID0gbGluay5zcGxpdCgnPycpXHJcbiAgICAvLyDQvNCw0YHRgdC40LLRiyDRgdGC0YDQvtC6IHVybCDQuCDQv9Cw0YDQsNC80LXRgtGA0L7QslxyXG4gICAgY29uc3QgYXJyYXlVcmwgPSBsaW5rQXJyYXlbMF0/LnNwbGl0KCcvJylcclxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IGxpbmtBcnJheVsxXT8uc3BsaXQoJyYnKVxyXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zT2JqID0gc2VhcmNoUGFyYW1zPy5tYXAoKHN0cikgPT4ge1xyXG4gICAgICBjb25zdCBzdHJQYXJhbURhdGEgPSBzdHIuc3BsaXQoJz0nKVsxXS5tYXRjaChyZWdFeHBQYXJhbXMpXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogc3RyLnNwbGl0KCc9JylbMF0sXHJcbiAgICAgICAgZGF0YTogc3RyUGFyYW1EYXRhID8gc3RyUGFyYW1EYXRhWzBdIDogc3RyLnNwbGl0KCc9JylbMF0sXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgLy8g0L7QsdGA0LDQsdC+0YLQutCwINGC0LXQu9CwIHVybFxyXG4gICAgY29uc3Qgc3RyVXJsID0gYXJyYXlVcmwubWFwKChzdHIpID0+IHtcclxuICAgICAgaWYgKHN0ci5tYXRjaChyZWdFeHBQYXJhbXMpKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiBkYXRhSXRlbVtzdHIubWF0Y2gocmVnRXhwUGFyYW1zKVswXV1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc3RyXHJcbiAgICAgIH1cclxuICAgIH0pLmpvaW4oJy8nKVxyXG4gICAgLy8g0L7QsdGA0LDQsdC+0YLQutCwINC/0LDRgNCw0LzQtdGC0YDQvtCyXHJcbiAgICAvLyDQtdGB0LvQuCDQtdGB0YLRjCDQv9Cw0YDQsNC80LXRgtGA0YsgLSDQstC+0LfQstGA0LDRidCw0LXQvCDQuNGFINGB0YLRgNC+0LrQvtC5INGBINC00LjQvdCw0LzQuNGH0LXRgdC60LjQvNC4INC/0LDRgNCw0LzQtdGC0YDQsNC80LhcclxuXHJcbiAgICBjb25zdCBzdHJQYXJhbXMgPSBzZWFyY2hQYXJhbXNPYmogPyBzZWFyY2hQYXJhbXNPYmoubWFwKChwYXJhbSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7IGluZGV4ID4gMCA/ICcnIDogJz8nIH0keyBwYXJhbS5uYW1lIH09JHsgZGF0YUl0ZW1bcGFyYW0uZGF0YV0gfWBcclxuICAgIH0pLmpvaW4oJyYnKSA6ICcnXHJcblxyXG4gICAgcmV0dXJuIGAkeyBzdHJVcmwgfSR7IHN0clBhcmFtcyB9YFxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlVHlwZVRhYmxlKHR5cGU6IFRhYmxlVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VUeXBlVGFibGUuZW1pdCh0eXBlKVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUG9wdXAoaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzT3BlblNvcnQgPSBpc09wZW5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC10YWJsZVwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCIgW2NsYXNzLm1iLTNdPVwicGFnZWFibGVcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyU2V0dGluZ3NcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJtcngtdGFibGUtY2FyZC1oZWFkZXIgcHktMTJweCBtYi0zXCJcclxuICAgICAgW2NsYXNzLm1yeC10YWJsZS1jYXJkLWhlYWRlci0tc3Vic3RyYXRlXT1cImhlYWRlclNldHRpbmdzLnN1YnN0cmF0ZVwiXHJcbiAgICAgICpuZ0lmPVwiaGVhZGVyU2V0dGluZ3MudHlwZSA9PT0gJ2RlZmF1bHQnXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibXJ4LXRhYmxlLWNhcmQtaGVhZGVyLS1sZWZ0IGNvbCBjb2wtMTIgY29sLW1kLTYgbWItMSBtYi1tZC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb3VudGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS1jYXJkLWhlYWRlci0tcmlnaHQgY29sIGNvbC0xMiBjb2wtbWQtNiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTRcIiAqbmdJZj1cImhlYWRlclNldHRpbmdzLnRvZ2dsZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9nZ2xlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJtcngtdGFibGUtY2FyZC1oZWFkZXIgbWItMyBwdC0yIHBiLTJcIlxyXG4gICAgICBbY2xhc3MubXJ4LXRhYmxlLWNhcmQtaGVhZGVyLS1zdWJzdHJhdGVdPVwiaGVhZGVyU2V0dGluZ3Muc3Vic3RyYXRlXCJcclxuICAgICAgKm5nSWY9XCJoZWFkZXJTZXR0aW5ncy50eXBlID09PSAnc2Vjb25kJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cIm1yeC10YWJsZS1jYXJkLWhlYWRlci0tbGVmdCBjb2wgY29sLTEyIGNvbC1zbS02IG1iLTEgbWItc20tMCBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtY2FyZC1oZWFkZXItLXJpZ2h0IGNvbCBjb2wtMTIgY29sLXNtLTYgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkb3dubG9hZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGVfX3dyYXBwZXJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgW2NsYXNzLm1yeC10YWJsZV9fd3JhcHBlci0tc3Vic3RyYXRlXT1cImNvbnRlbnRTZXR0aW5ncy5zdWJzdHJhdGVcIj5cclxuICAgICAgPHRhYmxlXHJcbiAgICAgICAgW2NsYXNzLnRhYmxlLXN0cmlwZWRdPVwic3RyaXBlZFwiXHJcbiAgICAgICAgW2NsYXNzLnRhYmxlLXNvbGlkXT1cIiFzdHJpcGVkXCJcclxuICAgICAgICBbY2xhc3MubXQtMl09XCJjb250ZW50U2V0dGluZ3Muc3Vic3RyYXRlXCJcclxuICAgICAgICBbY2xhc3MubWItM109XCJjb250ZW50U2V0dGluZ3Muc3Vic3RyYXRlICYmIGRhdGEubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx0aGVhZCBbY2xhc3MudGFibGUtaGVhZC1ncmF5XT1cIiFoZWFkZXJTZXR0aW5ncyB8fCBoZWFkZXJTZXR0aW5ncy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgPHRoXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29udGVudENoaWxkcmVuOyBsZXQgaW5kZXggPSBpbmRleDsgbGV0IGZpcnN0ID0gZmlyc3Q7IGxldCBsYXN0ID0gbGFzdDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgICAgW2NsYXNzXT1cImNvbC5jdXN0b21DbGFzc2VzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sLnRlbXBsYXRlSGVhZDsgZWxzZSBoZWFkZXJJdGVtVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sLnNvcnRhYmxlOyBlbHNlIGRlZmF1bHRIZWFkQ29sXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy50aC13cmFwcGVyXT1cInNvcnRhYmxlXCIgKGNsaWNrKT1cIm9uU29ydENvbHVtbihjb2wubmFtZSwgY29sLnNvcnRhYmxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjb2wubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uU29ydGVkRGlyKGNvbC5uYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcngtdGFibGVfX3NvcnQtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk00IDlMOCAxM0wxMiA5XCIgZmlsbD1cIiNEQUQ1Q0VcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyIDdMOCAzTDQgN1wiIGZpbGw9XCIjREFENUNFXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRDb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxzcGFuPnt7IGNvbC5sYWJlbCB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVySXRlbVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wuc29ydGFibGU7IGVsc2UgZGVmYXVsdEhlYWRDb2xcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzLnRoLXdyYXBwZXJdPVwic29ydGFibGVcIiAoY2xpY2spPVwib25Tb3J0Q29sdW1uKGNvbC5uYW1lLCBjb2wuc29ydGFibGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2wudGVtcGxhdGVIZWFkOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJjb2x1bW5Tb3J0ZWREaXIoY29sLm5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yeC10YWJsZV9fc29ydC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQgOUw4IDEzTDEyIDlcIiBmaWxsPVwiI0RBRDVDRVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTIgN0w4IDNMNCA3XCIgZmlsbD1cIiNEQUQ1Q0VcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SGVhZENvbD5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2wudGVtcGxhdGVIZWFkOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sLCBpbmRleCwgZmlyc3QsIGxhc3QgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90aGVhZD5cclxuXHJcbiAgICAgICAgPHRib2R5PlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YUl0ZW0gb2YgZGF0YTsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIlxyXG4gICAgICAgICAgICBbY2xhc3MuLWhvdmVyZWRdPVwiaG92ZXJlZFwiPlxyXG4gICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICN0YWJsZVREXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0wXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb250ZW50Q2hpbGRyZW5cIlxyXG4gICAgICAgICAgICBbY2xhc3NdPVwiY29sLmN1c3RvbUNsYXNzZXNcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibGluay13cmFwcGVyIHRkLWNvbnRlbnQtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0TGlua0ZvclN0cm9rZShsaW5rLCBkYXRhSXRlbSlcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibGluayAmJiBjb2xbJ2lzTGluayddOyBlbHNlIGRlZmF1bHRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC50ZW1wbGF0ZUNlbGw7IGVsc2UgYm9keUl0ZW1UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMiBoLTEwMFwiPnt7IGRhdGFJdGVtW2NvbC5uYW1lXSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHlJdGVtVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sLnRlbXBsYXRlQ2VsbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbCwgcm93OiBkYXRhSXRlbSwgaW5kZXgsIGZpcnN0LCBsYXN0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC50ZW1wbGF0ZUNlbGw7IGVsc2UgYm9keUl0ZW1UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWNvbnRlbnQtd3JhcHBlciBwLTIgaC0xMDBcIj57eyBkYXRhSXRlbVtjb2wubmFtZV0gfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNib2R5SXRlbVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWNvbnRlbnQtd3JhcHBlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2wudGVtcGxhdGVDZWxsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sLCByb3c6IGRhdGFJdGVtLCBpbmRleCwgZmlyc3QsIGxhc3QgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fcmVzdWx0LW1lc3NhZ2VcIiAqbmdJZj1cIiFkYXRhLmxlbmd0aFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdE1zZyA/IGVtcHR5UmVzdWx0TXNnVGVtcGxhdGVEZWZhdWx0IDogZW1wdHlSZXN1bHRNc2dUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGVfX292ZXJsYXlcIiBbQHZpc2libGVMb2FkaW5nXT1cImlzTG9hZGluZyA/ICdpbicgOiAnb3V0J1wiIFtuZ0NsYXNzXT1cInsnb3Blbic6IGlzTG9hZGluZ31cIj5cclxuICAgICAgICA8bXJ4LWxvYWRlciBzaXplPVwibGFyZ2VcIiBjb2xvcj1cImJyYW5kXCI+PC9tcngtbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGVfX3dyYXBwZXJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2NhcmRzJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGE7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlQ2FyZDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4LCBmaXJzdCwgbGFzdCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fcmVzdWx0LW1lc3NhZ2UtLXN1YnN0cmF0ZVwiICpuZ0lmPVwiIWRhdGEubGVuZ3RoXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5UmVzdWx0TXNnID8gZW1wdHlSZXN1bHRNc2dUZW1wbGF0ZURlZmF1bHQgOiBlbXB0eVJlc3VsdE1zZ1RlbXBsYXRlXCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fb3ZlcmxheVwiIFtAdmlzaWJsZUxvYWRpbmddPVwiaXNMb2FkaW5nID8gJ2luJyA6ICdvdXQnXCIgW25nQ2xhc3NdPVwieydvcGVuJzogaXNMb2FkaW5nfVwiPlxyXG4gICAgICAgIDxtcngtbG9hZGVyIHNpemU9XCJsYXJnZVwiIGNvbG9yPVwiYnJhbmRcIj48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fcGFnaW5hdG9yIHB0LTIgcGItMlwiIFtjbGFzcy5tcngtdGFibGVfX3BhZ2luYXRvci0tc3Vic3RyYXRlXT1cInBhZ2luYXRvclNldHRpbmdzLnN1YnN0cmF0ZVwiXHJcbiAgICAgKm5nSWY9XCJ0b3RhbFwiPlxyXG4gIDxtcngtcGFnaW5hdG9yXHJcbiAgICAqbmdJZj1cInBhZ2VhYmxlXCJcclxuICAgIFt0b3RhbF09XCJ0b3RhbFwiXHJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gICAgW3Bvc2l0aW9uXT1cInBhZ2VhYmxlLnBvc2l0aW9uXCJcclxuICAgIFtwYWdlU2l6ZXNdPVwicGFnZWFibGUucGFnZVNpemVzXCJcclxuICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICBbd2l0aFBhZ2VTaXplXT1cInBhZ2VhYmxlLndpdGhQYWdlU2l6ZVwiXHJcbiAgICAoZGF0YVN0YXRlQ2hhbmdlZCk9XCJvbkRhdGFTdGF0ZVBhZ2luYXRvckNoYW5nZWQoJGV2ZW50KVwiPlxyXG4gIDwvbXJ4LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvdW50ZXJUZW1wbGF0ZT5cclxuICA8c3BhbiBjbGFzcz1cIm1yeC10YWJsZS1jb3VudGVyXCIgKm5nSWY9XCJoZWFkZXJTZXR0aW5ncz8uY291bnRcIj5cclxuICAgIHt7IHRvdGFsIH19IHt7IGhlYWRlclNldHRpbmdzPy5jb3VudFRleHQgfHwgJ9C90L7QstC+0YHRgtC10LknIH19XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzb3J0VGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBtcngtdGFibGUtc29ydFwiICpuZ0lmPVwiaGVhZGVyU2V0dGluZ3M/LnNvcnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtc29ydC1zY2FsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXRhYmxlLXNvcnQtc2NhbGVfX3RpdGxlIG1yLTJcIiAoY2xpY2spPVwiY2hhbmdlU29ydCgpXCI+XHJcbiAgICAgICAgPHNwYW4+0KHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9C+Ojwvc3Bhbj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS1zb3J0LXNjYWxlX19pY29uXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnQ/LmRpciA9PT0gJ2Rlc2MnXCIgY2xhc3M9XCJtcngtaWNvbiBpY29uLXNvcnRpbmctZG93biBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnQ/LmRpciA9PT0gJ2FzYydcIiBjbGFzcz1cIm1yeC1pY29uIGljb24tc29ydGluZy11cCBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS1zb3J0LXNjYWxlX19kcm9wLXRyaWdnZXJcIiBbbXJ4UG9wdXBUcmlnZ2VyXT1cInNvcnREcm9wZG93blwiIFtwb3B1cFBvc2l0aW9uXT1cInBvcHVwUG9zaXRpb25cIj5cclxuICAgICAgICA8c3Bhbj57eyBzZWxlY3RlZFNvcnQgfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1mb250LTE2XCJcclxuICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiaXNPcGVuU29ydFwiXHJcbiAgICAgICAgICBbY2xhc3MuaWNvbi1jaGV2cm9uLWRvd25dPVwiIWlzT3BlblNvcnRcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1yeC1wb3B1cCAjc29ydERyb3Bkb3duIFttaW5XaWR0aF09XCInMjUwcHgnXCIgW2Nsb3NlQWZ0ZXJDbGlja109XCJ0cnVlXCIgKHRvZ2dsZSk9XCJ0b2dnbGVQb3B1cCgkZXZlbnQpXCI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgY29sQXJyYXk7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICA8bXJ4LXBvcHVwLWl0ZW0gW2lkXT1cIml0ZW0uc29ydExhYmVsXCIgKGNsaWNrZWQpPVwidXBkYXRlU29ydFNlbGVjdChpdGVtKVwiPnt7IGl0ZW0uc29ydExhYmVsIHx8IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgIDwvbXJ4LXBvcHVwLWl0ZW0+XHJcbiAgICAgIH1cclxuICAgIDwvbXJ4LXBvcHVwPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkb3dubG9hZFRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtZG93bmxvYWRcIiAoY2xpY2spPVwiY2xpY2tUb0Rvd25sb2FkKCRldmVudClcIiAqbmdJZj1cImhlYWRlclNldHRpbmdzPy5kb3dubG9hZFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkZXNrdG9wXCI+0KHQutCw0YfQsNGC0Ywg0LTQsNC90L3Ri9C1PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRvd25sb2FkIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG9nZ2xlVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS10b2dnbGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtdG9nZ2xlLS1pdGVtIG1yLTFcIiAoY2xpY2spPVwib25DaGFuZ2VUeXBlVGFibGUoJ2NhcmRzJylcIiBbY2xhc3MuYWN0aXZlXT1cInR5cGUgPT09ICdjYXJkcydcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNhcmRzLXZpZXcgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXRhYmxlLXRvZ2dsZS0taXRlbVwiIChjbGljayk9XCJvbkNoYW5nZVR5cGVUYWJsZSgnZGVmYXVsdCcpXCIgW2NsYXNzLmFjdGl2ZV09XCJ0eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLXRhYmxlLXZpZXcgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtcHR5UmVzdWx0TXNnVGVtcGxhdGVEZWZhdWx0PlxyXG4gIHt7IGVtcHR5UmVzdWx0TXNnIH19XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnRyxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQXdCeEYsTUFBTSxPQUFPLGNBQWM7SUE0REw7SUEzRGIsUUFBUSxHQUFzQixFQUFFLENBQUM7SUFDakMsUUFBUSxHQUF5QixvQkFBb0IsQ0FBQztJQUN0RCxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLElBQUksR0FBRyxLQUFLLENBQUE7SUFDWixVQUFVLEdBQVksS0FBSyxDQUFDO0lBRUQsZUFBZSxDQUE4QjtJQUNqRCxZQUFZLENBQW9CO0lBQ3RCLHNCQUFzQixDQUFvQjtJQUV6RSxJQUFJLEdBQWMsU0FBUyxDQUFDO0lBQzVCLElBQUksQ0FBbUI7SUFDdkIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEIsS0FBSyxHQUFH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QUFlO3NCQUF2QixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBV1AsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRlbnRTZXR0aW5ncywgSGVhZGVyU2V0dGluZ3MsIFBhZ2luYXRvclNldHRpbmdzLCBTb3J0RGVzY3JpcHRvciwgVGFibGVCb2R5SXRlbSwgVGFibGVUeXBlLCBUYWJsZVR5cGVFbnVtIH0gZnJvbSAnLi90YWJsZS5lbnVtJztcclxuaW1wb3J0IHsgQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbHVtbi9jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZXJTZXR0aW5ncywgRGF0YVN0YXRlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IERlZmF1bHRQYWdlclNldHRpbmdzIH0gZnJvbSAnLi9kZWZhdWx0L2RlZmF1bHQtcGFnZXItc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBQYWdpbmF0ZU91dHB1dE9iamVjdCB9IGZyb20gJy4uL3BhZ2luYXRvci9wYWdpbmF0b3IuZW51bSc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIGdyb3VwLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgUG9zaXRpb25UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvb3ZlcmxheSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Zpc2libGVMb2FkaW5nJywgW1xyXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9KSksXHJcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignaW4gPT4gb3V0JywgW2dyb3VwKFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKVxyXG4gICAgICBdXHJcbiAgICAgICldKSxcclxuICAgICAgdHJhbnNpdGlvbignb3V0ID0+IGluJywgW2dyb3VwKFtcclxuICAgICAgICBhbmltYXRlKCcxbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9KSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXHJcbiAgICAgIF1cclxuICAgICAgKV0pXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHVibGljIGNvbEFycmF5OiBDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBwYWdlYWJsZTogUGFnZXJTZXR0aW5ncyB8IG51bGwgPSBEZWZhdWx0UGFnZXJTZXR0aW5ncztcclxuICBwdWJsaWMgc2VsZWN0ZWRTb3J0ID0gJydcclxuICBwdWJsaWMgaW5pdCA9IGZhbHNlXHJcbiAgcHVibGljIGlzT3BlblNvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihDb2x1bW5Db21wb25lbnQpIGNvbnRlbnRDaGlsZHJlbiE6IFF1ZXJ5TGlzdDxDb2x1bW5Db21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3RlbXBsYXRlQ2FyZCcpIHRlbXBsYXRlQ2FyZCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQENvbnRlbnRDaGlsZCgnZW1wdHlSZXN1bHRNc2dUZW1wbGF0ZScpIGVtcHR5UmVzdWx0TXNnVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKSB0eXBlOiBUYWJsZVR5cGUgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgZGF0YSE6IFRhYmxlQm9keUl0ZW1bXTtcclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDIwO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlID0gMTtcclxuICBASW5wdXQoKSB0b3RhbCA9IDA7XHJcbiAgQElucHV0KCkgbGluayA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzb3J0OiBTb3J0RGVzY3JpcHRvciB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSB0cmFja0J5SWQgPSAnaWQnO1xyXG4gIEBJbnB1dCgpIHNvcnRhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzdHJpcGVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzID0gJydcclxuICBASW5wdXQoKSBlbXB0eVJlc3VsdE1zZyA9ICcnXHJcbiAgQElucHV0KCkgaG92ZXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgcG9wdXBQb3NpdGlvbjogUG9zaXRpb25UeXBlID0gJ2JvdHRvbS1lbmQnO1xyXG5cclxuICBASW5wdXQoKSBhdXRvSGVpZ2h0ID0gdHJ1ZSAvLyBkZXByZWNhdGVkXHJcblxyXG4gIEBJbnB1dCgpIGhlYWRlclNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncyB8IHVuZGVmaW5lZFxyXG5cclxuICBASW5wdXQoKSBjb250ZW50U2V0dGluZ3M6IENvbnRlbnRTZXR0aW5ncyA9IHtcclxuICAgIHN1YnN0cmF0ZTogZmFsc2VcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2luYXRvclNldHRpbmdzOiBQYWdpbmF0b3JTZXR0aW5ncyA9IHtcclxuICAgIHN1YnN0cmF0ZTogZmFsc2VcclxuICB9XHJcblxyXG4gIC8vINCf0YDQvtCy0LXRgNC40YLRjCDQuCDQstGL0YDQtdC30LDRgtGMXHJcbiAgcHVibGljIHNlbGVjdGVkSXRlbSA9IDFcclxuXHJcbiAgQElucHV0KCdwYWdlYWJsZScpXHJcbiAgcHVibGljIHNldCBzZXRQYWdlYWJsZSh2YWx1ZTogUGFnZXJTZXR0aW5ncyB8IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnBhZ2VhYmxlID0gRGVmYXVsdFBhZ2VyU2V0dGluZ3M7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLnBhZ2VhYmxlID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnZWFibGUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRhU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGF0YVN0YXRlQ2hhbmdlRXZlbnQ+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RGF0YVN0YXRlQ2hhbmdlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGRvd25sb2FkRGF0YTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KClcclxuICBAT3V0cHV0KCkgY2hhbmdlVHlwZVRhYmxlOiBFdmVudEVtaXR0ZXI8VGFibGVUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVUeXBlPigpXHJcbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KClcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29sQXJyYXkgPSB0aGlzLmNvbnRlbnRDaGlsZHJlbi50b0FycmF5KCk7XHJcblxyXG4gICAgdGhpcy5jb2xBcnJheS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAodGhpcy5zb3J0ICYmIHRoaXMuc29ydC5jb2wgPT09IGl0ZW0ubmFtZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTb3J0ID0gaXRlbS5zb3J0TGFiZWwgfHwgaXRlbS5uYW1lXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5jb2xBcnJheSA9IHRoaXMuY29sQXJyYXkuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICByZXR1cm4gaXRlbS5uYW1lICE9PSAnJyAmJiBpdGVtLnNvcnRMYWJlbFxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgdGhpcy5pbml0ID0gdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7IFRhYmxlVHlwZUVudW1bdGhpcy50eXBlXSB9ICR7IHRoaXMuY3VzdG9tQ2xhc3NlcyB9YDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy50cmFja0J5SWRdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVNvcnQoKSB7XHJcbiAgICBjb25zdCBuZXdFdmVudERhdGE6IERhdGFTdGF0ZUNoYW5nZUV2ZW50ID0geyBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9O1xyXG5cclxuICAgIGlmICghdGhpcy5jb2xBcnJheS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydCkge1xyXG4gICAgICBuZXdFdmVudERhdGEuc29ydCA9IHtcclxuICAgICAgICBkaXI6IHRoaXMuc29ydC5kaXIgPT09ICdkZXNjJyA/ICdhc2MnIDogJ2Rlc2MnLFxyXG4gICAgICAgIGNvbDogdGhpcy5zb3J0LmNvbFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3RXZlbnREYXRhLnNvcnQgPSB7XHJcbiAgICAgICAgZGlyOiAnYXNjJyxcclxuICAgICAgICBjb2w6IHRoaXMuY29sQXJyYXlbMF0ubmFtZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KG5ld0V2ZW50RGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29sdW1uU29ydGVkRGlyKGNvbHVtbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNvcnQgJiYgdGhpcy5zb3J0LmNvbCA9PSBjb2x1bW4gJiYgdGhpcy5zb3J0LmRpcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5zb3J0LmRpcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNvcnRDb2x1bW4oY29sdW1uOiBzdHJpbmcsIHNvcnRhYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXNvcnRhYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdFdmVudERhdGE6IERhdGFTdGF0ZUNoYW5nZUV2ZW50ID0geyBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9O1xyXG5cclxuICAgIGlmICh0aGlzLnNvcnQgJiYgdGhpcy5zb3J0LmNvbCA9PSBjb2x1bW4pIHtcclxuICAgICAgaWYgKHRoaXMuc29ydC5kaXIgJiYgdGhpcy5zb3J0LmRpciA9PT0gJ2FzYycpIHtcclxuICAgICAgICBuZXdFdmVudERhdGEuc29ydCA9IHsgZGlyOiAnZGVzYycsIGNvbDogY29sdW1uIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld0V2ZW50RGF0YS5zb3J0ID0geyBkaXI6ICdhc2MnLCBjb2w6IGNvbHVtbiB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KG5ld0V2ZW50RGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xpY2tUb0Rvd25sb2FkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb3dubG9hZERhdGEuZW1pdChldmVudClcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVTb3J0U2VsZWN0KHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld0V2ZW50RGF0YTogRGF0YVN0YXRlQ2hhbmdlRXZlbnQgPSB7XHJcbiAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgY29sOiB2YWx1ZS5uYW1lLFxyXG4gICAgICAgIGRpcjogdGhpcy5zb3J0Py5kaXJcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChuZXdFdmVudERhdGEpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EYXRhU3RhdGVQYWdpbmF0b3JDaGFuZ2VkKHBhZ2luYXRpb246IFBhZ2luYXRlT3V0cHV0T2JqZWN0KTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXdFdmVudERhdGE6IERhdGFTdGF0ZUNoYW5nZUV2ZW50ID0ge1xyXG4gICAgICBwYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogcGFnaW5hdGlvbi5wYWdlU2l6ZVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5zb3J0ICYmIHRoaXMuc29ydC5jb2wgJiYgdGhpcy5zb3J0LmRpcikge1xyXG4gICAgICBuZXdFdmVudERhdGEuc29ydCA9IHsgZGlyOiB0aGlzLnNvcnQuZGlyLCBjb2w6IHRoaXMuc29ydC5jb2wgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChuZXdFdmVudERhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpbmtGb3JTdHJva2UobGluazogc3RyaW5nLCBkYXRhSXRlbTogVGFibGVCb2R5SXRlbSkge1xyXG4gICAgLy8g0YDQtdCz0YPQu9GP0YDQutC4XHJcbiAgICBjb25zdCByZWdFeHBQYXJhbXMgPSAvKD88PVxcWylbXlxcc1xcW1xcXV0rKD89XSkvZ2k7XHJcbiAgICAvLyDQvtGB0L3QvtCy0L3QvtC5INC80LDRgdGB0LjQslxyXG4gICAgY29uc3QgbGlua0FycmF5ID0gbGluay5zcGxpdCgnPycpXHJcbiAgICAvLyDQvNCw0YHRgdC40LLRiyDRgdGC0YDQvtC6IHVybCDQuCDQv9Cw0YDQsNC80LXRgtGA0L7QslxyXG4gICAgY29uc3QgYXJyYXlVcmwgPSBsaW5rQXJyYXlbMF0/LnNwbGl0KCcvJylcclxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IGxpbmtBcnJheVsxXT8uc3BsaXQoJyYnKVxyXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zT2JqID0gc2VhcmNoUGFyYW1zPy5tYXAoKHN0cikgPT4ge1xyXG4gICAgICBjb25zdCBzdHJQYXJhbURhdGEgPSBzdHIuc3BsaXQoJz0nKVsxXS5tYXRjaChyZWdFeHBQYXJhbXMpXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogc3RyLnNwbGl0KCc9JylbMF0sXHJcbiAgICAgICAgZGF0YTogc3RyUGFyYW1EYXRhID8gc3RyUGFyYW1EYXRhWzBdIDogc3RyLnNwbGl0KCc9JylbMF0sXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgLy8g0L7QsdGA0LDQsdC+0YLQutCwINGC0LXQu9CwIHVybFxyXG4gICAgY29uc3Qgc3RyVXJsID0gYXJyYXlVcmwubWFwKChzdHIpID0+IHtcclxuICAgICAgaWYgKHN0ci5tYXRjaChyZWdFeHBQYXJhbXMpKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiBkYXRhSXRlbVtzdHIubWF0Y2gocmVnRXhwUGFyYW1zKVswXV1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc3RyXHJcbiAgICAgIH1cclxuICAgIH0pLmpvaW4oJy8nKVxyXG4gICAgLy8g0L7QsdGA0LDQsdC+0YLQutCwINC/0LDRgNCw0LzQtdGC0YDQvtCyXHJcbiAgICAvLyDQtdGB0LvQuCDQtdGB0YLRjCDQv9Cw0YDQsNC80LXRgtGA0YsgLSDQstC+0LfQstGA0LDRidCw0LXQvCDQuNGFINGB0YLRgNC+0LrQvtC5INGBINC00LjQvdCw0LzQuNGH0LXRgdC60LjQvNC4INC/0LDRgNCw0LzQtdGC0YDQsNC80LhcclxuXHJcbiAgICBjb25zdCBzdHJQYXJhbXMgPSBzZWFyY2hQYXJhbXNPYmogPyBzZWFyY2hQYXJhbXNPYmoubWFwKChwYXJhbSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7IGluZGV4ID4gMCA/ICcnIDogJz8nIH0keyBwYXJhbS5uYW1lIH09JHsgZGF0YUl0ZW1bcGFyYW0uZGF0YV0gfWBcclxuICAgIH0pLmpvaW4oJyYnKSA6ICcnXHJcblxyXG4gICAgcmV0dXJuIGAkeyBzdHJVcmwgfSR7IHN0clBhcmFtcyB9YFxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlVHlwZVRhYmxlKHR5cGU6IFRhYmxlVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VUeXBlVGFibGUuZW1pdCh0eXBlKVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUG9wdXAoaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzT3BlblNvcnQgPSBpc09wZW5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC10YWJsZVwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCIgW2NsYXNzLm1iLTNdPVwicGFnZWFibGVcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyU2V0dGluZ3NcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJtcngtdGFibGUtY2FyZC1oZWFkZXIgcHktMTJweCBtYi0zXCJcclxuICAgICAgW2NsYXNzLm1yeC10YWJsZS1jYXJkLWhlYWRlci0tc3Vic3RyYXRlXT1cImhlYWRlclNldHRpbmdzLnN1YnN0cmF0ZVwiXHJcbiAgICAgICpuZ0lmPVwiaGVhZGVyU2V0dGluZ3MudHlwZSA9PT0gJ2RlZmF1bHQnXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibXJ4LXRhYmxlLWNhcmQtaGVhZGVyLS1sZWZ0IGNvbCBjb2wtMTIgY29sLW1kLTYgbWItMSBtYi1tZC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb3VudGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS1jYXJkLWhlYWRlci0tcmlnaHQgY29sIGNvbC0xMiBjb2wtbWQtNiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTRcIiAqbmdJZj1cImhlYWRlclNldHRpbmdzLnRvZ2dsZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9nZ2xlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJtcngtdGFibGUtY2FyZC1oZWFkZXIgbWItMyBwdC0yIHBiLTJcIlxyXG4gICAgICBbY2xhc3MubXJ4LXRhYmxlLWNhcmQtaGVhZGVyLS1zdWJzdHJhdGVdPVwiaGVhZGVyU2V0dGluZ3Muc3Vic3RyYXRlXCJcclxuICAgICAgKm5nSWY9XCJoZWFkZXJTZXR0aW5ncy50eXBlID09PSAnc2Vjb25kJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cIm1yeC10YWJsZS1jYXJkLWhlYWRlci0tbGVmdCBjb2wgY29sLTEyIGNvbC1zbS02IG1iLTEgbWItc20tMCBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtY2FyZC1oZWFkZXItLXJpZ2h0IGNvbCBjb2wtMTIgY29sLXNtLTYgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkb3dubG9hZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGVfX3dyYXBwZXJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgW2NsYXNzLm1yeC10YWJsZV9fd3JhcHBlci0tc3Vic3RyYXRlXT1cImNvbnRlbnRTZXR0aW5ncy5zdWJzdHJhdGVcIj5cclxuICAgICAgPHRhYmxlXHJcbiAgICAgICAgW2NsYXNzLnRhYmxlLXN0cmlwZWRdPVwic3RyaXBlZFwiXHJcbiAgICAgICAgW2NsYXNzLnRhYmxlLXNvbGlkXT1cIiFzdHJpcGVkXCJcclxuICAgICAgICBbY2xhc3MubXQtMl09XCJjb250ZW50U2V0dGluZ3Muc3Vic3RyYXRlXCJcclxuICAgICAgICBbY2xhc3MubWItM109XCJjb250ZW50U2V0dGluZ3Muc3Vic3RyYXRlICYmIGRhdGEubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx0aGVhZCBbY2xhc3MudGFibGUtaGVhZC1ncmF5XT1cIiFoZWFkZXJTZXR0aW5ncyB8fCBoZWFkZXJTZXR0aW5ncy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgPHRoXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29udGVudENoaWxkcmVuOyBsZXQgaW5kZXggPSBpbmRleDsgbGV0IGZpcnN0ID0gZmlyc3Q7IGxldCBsYXN0ID0gbGFzdDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgICAgW2NsYXNzXT1cImNvbC5jdXN0b21DbGFzc2VzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sLnRlbXBsYXRlSGVhZDsgZWxzZSBoZWFkZXJJdGVtVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sLnNvcnRhYmxlOyBlbHNlIGRlZmF1bHRIZWFkQ29sXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy50aC13cmFwcGVyXT1cInNvcnRhYmxlXCIgKGNsaWNrKT1cIm9uU29ydENvbHVtbihjb2wubmFtZSwgY29sLnNvcnRhYmxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjb2wubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uU29ydGVkRGlyKGNvbC5uYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcngtdGFibGVfX3NvcnQtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk00IDlMOCAxM0wxMiA5XCIgZmlsbD1cIiNEQUQ1Q0VcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyIDdMOCAzTDQgN1wiIGZpbGw9XCIjREFENUNFXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRDb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PjxzcGFuPnt7IGNvbC5sYWJlbCB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVySXRlbVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wuc29ydGFibGU7IGVsc2UgZGVmYXVsdEhlYWRDb2xcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzLnRoLXdyYXBwZXJdPVwic29ydGFibGVcIiAoY2xpY2spPVwib25Tb3J0Q29sdW1uKGNvbC5uYW1lLCBjb2wuc29ydGFibGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2wudGVtcGxhdGVIZWFkOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJjb2x1bW5Tb3J0ZWREaXIoY29sLm5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yeC10YWJsZV9fc29ydC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTQgOUw4IDEzTDEyIDlcIiBmaWxsPVwiI0RBRDVDRVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTIgN0w4IDNMNCA3XCIgZmlsbD1cIiNEQUQ1Q0VcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SGVhZENvbD5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2wudGVtcGxhdGVIZWFkOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sLCBpbmRleCwgZmlyc3QsIGxhc3QgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90aGVhZD5cclxuXHJcbiAgICAgICAgPHRib2R5PlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YUl0ZW0gb2YgZGF0YTsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIlxyXG4gICAgICAgICAgICBbY2xhc3MuLWhvdmVyZWRdPVwiaG92ZXJlZFwiPlxyXG4gICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICN0YWJsZVREXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0wXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb250ZW50Q2hpbGRyZW5cIlxyXG4gICAgICAgICAgICBbY2xhc3NdPVwiY29sLmN1c3RvbUNsYXNzZXNcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibGluay13cmFwcGVyIHRkLWNvbnRlbnQtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0TGlua0ZvclN0cm9rZShsaW5rLCBkYXRhSXRlbSlcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibGluayAmJiBjb2xbJ2lzTGluayddOyBlbHNlIGRlZmF1bHRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC50ZW1wbGF0ZUNlbGw7IGVsc2UgYm9keUl0ZW1UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMiBoLTEwMFwiPnt7IGRhdGFJdGVtW2NvbC5uYW1lXSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHlJdGVtVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sLnRlbXBsYXRlQ2VsbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbCwgcm93OiBkYXRhSXRlbSwgaW5kZXgsIGZpcnN0LCBsYXN0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC50ZW1wbGF0ZUNlbGw7IGVsc2UgYm9keUl0ZW1UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWNvbnRlbnQtd3JhcHBlciBwLTIgaC0xMDBcIj57eyBkYXRhSXRlbVtjb2wubmFtZV0gfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNib2R5SXRlbVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWNvbnRlbnQtd3JhcHBlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2wudGVtcGxhdGVDZWxsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sLCByb3c6IGRhdGFJdGVtLCBpbmRleCwgZmlyc3QsIGxhc3QgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fcmVzdWx0LW1lc3NhZ2VcIiAqbmdJZj1cIiFkYXRhLmxlbmd0aFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdE1zZyA/IGVtcHR5UmVzdWx0TXNnVGVtcGxhdGVEZWZhdWx0IDogZW1wdHlSZXN1bHRNc2dUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGVfX292ZXJsYXlcIiBbQHZpc2libGVMb2FkaW5nXT1cImlzTG9hZGluZyA/ICdpbicgOiAnb3V0J1wiIFtuZ0NsYXNzXT1cInsnb3Blbic6IGlzTG9hZGluZ31cIj5cclxuICAgICAgICA8bXJ4LWxvYWRlciBzaXplPVwibGFyZ2VcIiBjb2xvcj1cImJyYW5kXCI+PC9tcngtbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGVfX3dyYXBwZXJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2NhcmRzJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGE7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlQ2FyZDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4LCBmaXJzdCwgbGFzdCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fcmVzdWx0LW1lc3NhZ2UtLXN1YnN0cmF0ZVwiICpuZ0lmPVwiIWRhdGEubGVuZ3RoXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5UmVzdWx0TXNnID8gZW1wdHlSZXN1bHRNc2dUZW1wbGF0ZURlZmF1bHQgOiBlbXB0eVJlc3VsdE1zZ1RlbXBsYXRlXCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fb3ZlcmxheVwiIFtAdmlzaWJsZUxvYWRpbmddPVwiaXNMb2FkaW5nID8gJ2luJyA6ICdvdXQnXCIgW25nQ2xhc3NdPVwieydvcGVuJzogaXNMb2FkaW5nfVwiPlxyXG4gICAgICAgIDxtcngtbG9hZGVyIHNpemU9XCJsYXJnZVwiIGNvbG9yPVwiYnJhbmRcIj48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1yeC10YWJsZV9fcGFnaW5hdG9yIHB0LTIgcGItMlwiIFtjbGFzcy5tcngtdGFibGVfX3BhZ2luYXRvci0tc3Vic3RyYXRlXT1cInBhZ2luYXRvclNldHRpbmdzLnN1YnN0cmF0ZVwiXHJcbiAgICAgKm5nSWY9XCJ0b3RhbFwiPlxyXG4gIDxtcngtcGFnaW5hdG9yXHJcbiAgICAqbmdJZj1cInBhZ2VhYmxlXCJcclxuICAgIFt0b3RhbF09XCJ0b3RhbFwiXHJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gICAgW3Bvc2l0aW9uXT1cInBhZ2VhYmxlLnBvc2l0aW9uXCJcclxuICAgIFtwYWdlU2l6ZXNdPVwicGFnZWFibGUucGFnZVNpemVzXCJcclxuICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICBbd2l0aFBhZ2VTaXplXT1cInBhZ2VhYmxlLndpdGhQYWdlU2l6ZVwiXHJcbiAgICAoZGF0YVN0YXRlQ2hhbmdlZCk9XCJvbkRhdGFTdGF0ZVBhZ2luYXRvckNoYW5nZWQoJGV2ZW50KVwiPlxyXG4gIDwvbXJ4LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvdW50ZXJUZW1wbGF0ZT5cclxuICA8c3BhbiBjbGFzcz1cIm1yeC10YWJsZS1jb3VudGVyXCIgKm5nSWY9XCJoZWFkZXJTZXR0aW5ncz8uY291bnRcIj5cclxuICAgIHt7IHRvdGFsIH19IHt7IGhlYWRlclNldHRpbmdzPy5jb3VudFRleHQgfHwgJ9C90L7QstC+0YHRgtC10LknIH19XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzb3J0VGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBtcngtdGFibGUtc29ydFwiICpuZ0lmPVwiaGVhZGVyU2V0dGluZ3M/LnNvcnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtc29ydC1zY2FsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXRhYmxlLXNvcnQtc2NhbGVfX3RpdGxlIG1yLTJcIiAoY2xpY2spPVwiY2hhbmdlU29ydCgpXCI+XHJcbiAgICAgICAgPHNwYW4+0KHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9C+Ojwvc3Bhbj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS1zb3J0LXNjYWxlX19pY29uXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnQ/LmRpciA9PT0gJ2Rlc2MnXCIgY2xhc3M9XCJtcngtaWNvbiBpY29uLXNvcnRpbmctZG93biBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnQ/LmRpciA9PT0gJ2FzYydcIiBjbGFzcz1cIm1yeC1pY29uIGljb24tc29ydGluZy11cCBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS1zb3J0LXNjYWxlX19kcm9wLXRyaWdnZXJcIiBbbXJ4UG9wdXBUcmlnZ2VyXT1cInNvcnREcm9wZG93blwiIFtwb3B1cFBvc2l0aW9uXT1cInBvcHVwUG9zaXRpb25cIj5cclxuICAgICAgICA8c3Bhbj57eyBzZWxlY3RlZFNvcnQgfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1mb250LTE2XCJcclxuICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiaXNPcGVuU29ydFwiXHJcbiAgICAgICAgICBbY2xhc3MuaWNvbi1jaGV2cm9uLWRvd25dPVwiIWlzT3BlblNvcnRcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1yeC1wb3B1cCAjc29ydERyb3Bkb3duIFttaW5XaWR0aF09XCInMjUwcHgnXCIgW2Nsb3NlQWZ0ZXJDbGlja109XCJ0cnVlXCIgKHRvZ2dsZSk9XCJ0b2dnbGVQb3B1cCgkZXZlbnQpXCI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgY29sQXJyYXk7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICA8bXJ4LXBvcHVwLWl0ZW0gW2lkXT1cIml0ZW0uc29ydExhYmVsXCIgKGNsaWNrZWQpPVwidXBkYXRlU29ydFNlbGVjdChpdGVtKVwiPnt7IGl0ZW0uc29ydExhYmVsIHx8IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgIDwvbXJ4LXBvcHVwLWl0ZW0+XHJcbiAgICAgIH1cclxuICAgIDwvbXJ4LXBvcHVwPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkb3dubG9hZFRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtZG93bmxvYWRcIiAoY2xpY2spPVwiY2xpY2tUb0Rvd25sb2FkKCRldmVudClcIiAqbmdJZj1cImhlYWRlclNldHRpbmdzPy5kb3dubG9hZFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkZXNrdG9wXCI+0KHQutCw0YfQsNGC0Ywg0LTQsNC90L3Ri9C1PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRvd25sb2FkIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG9nZ2xlVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC10YWJsZS10b2dnbGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtdGFibGUtdG9nZ2xlLS1pdGVtIG1yLTFcIiAoY2xpY2spPVwib25DaGFuZ2VUeXBlVGFibGUoJ2NhcmRzJylcIiBbY2xhc3MuYWN0aXZlXT1cInR5cGUgPT09ICdjYXJkcydcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNhcmRzLXZpZXcgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXRhYmxlLXRvZ2dsZS0taXRlbVwiIChjbGljayk9XCJvbkNoYW5nZVR5cGVUYWJsZSgnZGVmYXVsdCcpXCIgW2NsYXNzLmFjdGl2ZV09XCJ0eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLXRhYmxlLXZpZXcgaWNvbi1mb250LTI0XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtcHR5UmVzdWx0TXNnVGVtcGxhdGVEZWZhdWx0PlxyXG4gIHt7IGVtcHR5UmVzdWx0TXNnIH19XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==