verben-ng-ui 0.5.4 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/card-data-view/card-data-view.component.mjs +2 -2
- package/esm2022/lib/components/data-filter/data-filter.component.mjs +2 -2
- package/esm2022/lib/components/sort-table/sort-table.component.mjs +6 -2
- package/esm2022/lib/components/table-filter/table-filter.component.mjs +6 -2
- package/fesm2022/verben-ng-ui.mjs +12 -4
- package/fesm2022/verben-ng-ui.mjs.map +1 -1
- package/lib/components/sort-table/sort-table.component.d.ts +2 -1
- package/lib/components/table-filter/table-filter.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -31,7 +31,7 @@ export class CardDataViewComponent {
|
|
|
31
31
|
currentItem = {};
|
|
32
32
|
currentChildItem = {};
|
|
33
33
|
hasCurrentItem() {
|
|
34
|
-
return !!Object.keys(this.currentItem).length || !!Object.keys(this.currentChildItem).length;
|
|
34
|
+
return !!Object.keys(this.currentItem ?? {}).length || !!Object.keys(this.currentChildItem ?? {}).length;
|
|
35
35
|
}
|
|
36
36
|
clearData() {
|
|
37
37
|
this.currentItem = {};
|
|
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
156
156
|
}], loadMoreClick: [{
|
|
157
157
|
type: Output
|
|
158
158
|
}] } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWRhdGEtdmlldy9jYXJkLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZGF0YS12aWV3L2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFnQixZQUFZLEVBQXNCLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUc1SyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVNuRyxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDWixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ1gsT0FBTyxHQUFTLE1BQU0sQ0FBQztJQUN2QixPQUFPLEdBQVMsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sR0FBUyxLQUFLLENBQUM7SUFDckIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUNyQixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBQ2pCLFlBQVksR0FBUyxNQUFNLENBQUM7SUFDNUIsU0FBUyxDQUFVO0lBQ25CLFdBQVcsQ0FBVTtJQUNyQixZQUFZLEdBQVcsSUFBSSxDQUFDO0lBQzVCLFlBQVksR0FBWSxFQUFFLENBQUM7SUFDM0IsTUFBTSxDQUFTLENBQUMsbUNBQW1DO0lBQ25ELFlBQVksR0FBUSxDQUFDLENBQUM7SUFDdEIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUNyQixtQkFB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QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNvQyxZQUFZO3NCQUFyRCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFFbEIsSUFBSTtzQkFBekIsWUFBWTt1QkFBQyxNQUFNO2dCQXdCWCxXQUFXO3NCQUFuQixLQUFLO2dCQTJCRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBMkJJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIGNvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJy4vY2FyZC1kYXRhJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSaWdodENhcmREYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4vcmlnaHQtY2FyZC1kYXRhLXZpZXcvcmlnaHQtY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IExlZnRDYXJkRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vbGVmdC1jYXJkLWRhdGEvbGVmdC1jYXJkLWRhdGEuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWNhcmQtZGF0YS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5jc3MnXG59KVxuXG5leHBvcnQgY2xhc3MgQ2FyZERhdGFWaWV3Q29tcG9uZW50ICB7XG4gIEBJbnB1dCgpIHBkID0gJzEwcHgnO1xuICBASW5wdXQoKSBtZyA9ICcwcHgnO1xuICBASW5wdXQoKSBsSGVpZ2h0PzpzdHJpbmc9XCIxMDAlXCI7XG4gIEBJbnB1dCgpIHJIZWlnaHQ/OnN0cmluZz1cIjEwMCVcIjtcbiAgQElucHV0KCkgcldpZHRoPzpzdHJpbmc9XCI3MCVcIjtcbiAgQElucHV0KCkgbFdpZHRoPzpzdHJpbmc9XCIzMCVcIjtcbiAgQElucHV0KCkgdGV4dENvbG9yPzpzdHJpbmcgO1xuICBASW5wdXQoKSBsYmdDb2xvcj86c3RyaW5nIDtcbiAgQElucHV0KCkgcmJnQ29sb3I/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGJvcmRlcj86c3RyaW5nIDtcbiAgQElucHV0KCkgZGlzcGxheT86c3RyaW5nIDtcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzPzpzdHJpbmc9XCIxMnB4XCI7XG4gIEBJbnB1dCgpIGFjdGl2ZUNzcz86c3RyaW5nIDtcbiAgQElucHV0KCkgaW5BY3RpdmVDc3M/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGRpc3BsYXlBc1Jvdz86Ym9vbGVhbiA9dHJ1ZTtcbiAgQElucHV0KCkgY2FyZERhdGFMaXN0OkNhcmREYXRhW109W107XG4gIEBJbnB1dCgpIGRhdGFJZCE6c3RyaW5nOyAvL3doYXQgdG8gdXNlIHRvIGlkZW50aWZ5IGVhY2ggZGF0YVxuICBASW5wdXQoKSB0b3RhbFJlY29yZHM6bnVtYmVyPTA7XG4gIEBJbnB1dCgpIGZvb3Rlcjpib29sZWFuPWZhbHNlO1xuICBASW5wdXQoKSBub09mVmlzaWJsZUNoaWxkcmVuOm51bWJlcj0zO1xuICBAQ29udGVudENoaWxkKFJpZ2h0Q2FyZERhdGFWaWV3Q29tcG9uZW50KSByaWdodENvbnRlbnQhOlJpZ2h0Q2FyZERhdGFWaWV3Q29tcG9uZW50OyBcbiAgLy8gQENvbnRlbnRDaGlsZChMZWZ0Q2FyZERhdGFDb21wb25lbnQpIGxlZnQhOkxlZnRDYXJkRGF0YUNvbXBvbmVudDsgXG4gIEBDb250ZW50Q2hpbGQoJ2NhcmQnKSBjYXJkITogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8gQENvbnRlbnRDaGlsZCgnY29udGVudCcpIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBjdXJyZW50SXRlbTphbnk9e307XG4gIGN1cnJlbnRDaGlsZEl0ZW06YW55PXt9O1xuXG4gIGhhc0N1cnJlbnRJdGVtKClcbiAge1xuICAgIHJldHVybiAhIU9iamVjdC5rZXlzKHRoaXMuY3VycmVudEl0ZW0pLmxlbmd0aCB8fCAhIU9iamVjdC5rZXlzKHRoaXMuY3VycmVudENoaWxkSXRlbSkubGVuZ3RoXG4gIH1cbiAgY2xlYXJEYXRhKClcbiAgIHtcbiAgICB0aGlzLmN1cnJlbnRJdGVtPXt9IGFzIENhcmREYXRhXG4gICAgdGhpcy5jdXJyZW50Q2hpbGRJdGVtPXt9IGFzIENhcmREYXRhXG4gICAgdGhpcy5jYXJkRGF0YUxpc3QuZm9yRWFjaChfPT57XG4gICAgICBfLnNlbGVjdGVkPWZhbHNlO1xuICAgICAgXy5jaGlsZHJlbi5mb3JFYWNoKGM9PntjLnNlbGVjdGVkPWZhbHNlO2MuaXNDaGlsZHJlbkV4cGFuZGVkPWZhbHNlfSlcbiAgICAgIF8uaXNDaGlsZHJlbkV4cGFuZGVkPWZhbHNlXG4gICAgfSk7XG4gICB9XG4gICBzZXREZXRhaWxEYXRhKClcbiAgIHtcbiAgICAgdGhpcy5yaWdodENvbnRlbnQucGFyZW50RGF0YT0gdGhpcy5jdXJyZW50SXRlbTtcbiAgICAgIHRoaXMucmlnaHRDb250ZW50LmNoaWxEYXRhPSB0aGlzLmN1cnJlbnRDaGlsZEl0ZW07XG4gICB9XG4gIEBJbnB1dCgpIG9uSXRlbUNsaWNrKGl0ZW06Q2FyZERhdGEpe1xuICAgIHRoaXMucmVzZXRDaGlsZHJlbihpdGVtKTtcbiAgICBpdGVtLnNlbGVjdGVkPSB0cnVlO1xuICAgIHRoaXMuY2FyZERhdGFMaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBpZihlbGVtZW50LmRhdGFbdGhpcy5kYXRhSWRdPT1pdGVtLmRhdGFbdGhpcy5kYXRhSWRdKVxuICAgICAge1xuICAgICAgICB0aGlzLmN1cnJlbnRJdGVtPSBpdGVtO1xuICAgICAgfVxuICAgICAgZWxzZVxuICAgICAge1xuICAgICAgICBlbGVtZW50LnNlbGVjdGVkPWZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2V0RGV0YWlsRGF0YSgpXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEl0ZW1cbiAgfVxuIHJlc2V0Q2hpbGRyZW4obmV3U2VsZWN0OkNhcmREYXRhKVxuICB7XG4gICAgaWYodGhpcy5jdXJyZW50SXRlbSAmJiB0aGlzLmN1cnJlbnRJdGVtLmNoaWxkcmVuPy5sZW5ndGgpe1xuICAgKHRoaXMuY3VycmVudEl0ZW0uY2hpbGRyZW4gYXMgYW55W10pLmZvckVhY2goYz0+e1xuICAgIGMuc2VsZWN0ZWQ9ZmFsc2U7XG4gIH0pXG4gIGlmKG5ld1NlbGVjdC5kYXRhW3RoaXMuZGF0YUlkXSE9dGhpcy5jdXJyZW50SXRlbS5kYXRhW3RoaXMuZGF0YUlkXSlcbiAgICB0aGlzLmN1cnJlbnRJdGVtLmlzQ2hpbGRyZW5FeHBhbmRlZD1mYWxzZTtcbn1cbiAgdGhpcy5jdXJyZW50Q2hpbGRJdGVtPSBudWxsO1xuICB9XG4gIEBJbnB1dCgpIG9uQ2FyZENoaWxkQ2xpY2soY2hpbGRJbmRleDpudW1iZXIpe1xuICAgIHZhciBpdGVtID0gdGhpcy5jdXJyZW50SXRlbS5jaGlsZHJlbltjaGlsZEluZGV4XTtcbiAgICAodGhpcy5jdXJyZW50SXRlbS5jaGlsZHJlbiBhcyBhbnlbXSkuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGlmKGVsZW1lbnQuZGF0YVt0aGlzLmRhdGFJZF09PWl0ZW0uZGF0YVt0aGlzLmRhdGFJZF0pXG4gICAgICB7XG4gICAgICAgIHRoaXMuY3VycmVudENoaWxkSXRlbT0gaXRlbTtcbiAgICAgIH1cbiAgICAgIGVsc2VcbiAgICAgIHtcbiAgICAgICAgZWxlbWVudC5zZWxlY3RlZD1mYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmN1cnJlbnRDaGlsZEl0ZW0uc2VsZWN0ZWQ9dHJ1ZTtcbiAgICB0aGlzLnNldERldGFpbERhdGEoKVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRDaGlsZEl0ZW1cbiAgfVxuICBzaG93Q2hpbGRyZW4oaXRlbTpDYXJkRGF0YSlcbiAge1xuICAgIHZhciBjdXJyVG9nZ2xlU3RhdGU9IGl0ZW0uaXNDaGlsZHJlbkV4cGFuZGVkO1xuICAgIHRoaXMuY2FyZERhdGFMaXN0LmZvckVhY2goXz0+e1xuICAgICAgXy5pc0NoaWxkcmVuRXhwYW5kZWQ9ZmFsc2VcbiAgICAgIF8uc2VsZWN0ZWQ9ZmFsc2U7XG4gICAgfSk7XG4gICAgaXRlbS5zZWxlY3RlZD10cnVlO1xuICAgIGl0ZW0uaXNDaGlsZHJlbkV4cGFuZGVkPSFjdXJyVG9nZ2xlU3RhdGVcbiAgfVxuXG4gIEBPdXRwdXQoKSBsb2FkTW9yZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBvbkxvYWRNb3JlQ2xpY2soKVxuICB7XG4gICAgdGhpcy5sb2FkTW9yZUNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiAjbWFpbiBjbGFzcz1cImZsZXgtY29sXCIgW3N0eWxlLmRpc3BsYXldPVwiJ2ZsZXgnXCI+XG4gIDwhLS0gSGVhZGVyIC0tPlxuICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidmVyYmVuLWNhcmQtZGF0YS12aWV3LWhlYWRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD0ndmVyYmVuLWNhcmQtZGF0YS12aWV3LWhlYWRlcic+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IFtuZ0NsYXNzXT1cIiFoYXNDdXJyZW50SXRlbSgpPydtYXN0ZXItb25seS1jb250YWluZXInOidtYXN0ZXItZGV0YWlsLWNvbnRhaW5lcidcIj5cbiAgICA8IS0tIENhcmQgYW5kIEZvb3RlciAtLT5cbiAgICA8ZGl2IFtzdHlsZS5ib3JkZXJSYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJsYmdDb2xvclwiIGNsYXNzPVwiZmxleC1jb2wgXCI+XG4gICAgICA8IS0tIENhcmQgc2VjdGlvbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ2ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlld1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3Jz48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBGb290ZXItLT5cbiAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0ndmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3Rlcic+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBEZXRhaWwgU2VjdGlvbi0tPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWRldGFpbC1zZWN0aW9uXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJyYmdDb2xvclwiICpuZ0lmPVwiaGFzQ3VycmVudEl0ZW0oKVwiXG4gICAgICBbc3R5bGUuYm9yZGVyUmFkaXVzXT1cImJvcmRlclJhZGl1c1wiPlxuICAgICAgPHZlcmJlbi1zdmcgKGNsaWNrKT1cImNsZWFyRGF0YSgpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0b1JpZ2h0XCIgaWNvbj1cImNsb3NlXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiXG4gICAgICAgIGNvbG9yPVwiYmxhY2tcIj48L3ZlcmJlbi1zdmc+XG4gICAgICA8bmctY29udGFpbmVyICNyaWdodCBuZ1Byb2plY3RBcz1cInZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlld1wiPlxuICAgICAgICA8bmctY29udGVudCAjcmlnaHRDb250ZW50IHNlbGVjdD0ndmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3Jz48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWRhdGEtdmlldy9jYXJkLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZGF0YS12aWV3L2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFnQixZQUFZLEVBQXNCLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUc1SyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVNuRyxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDWixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ1gsT0FBTyxHQUFTLE1BQU0sQ0FBQztJQUN2QixPQUFPLEdBQVMsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sR0FBUyxLQUFLLENBQUM7SUFDckIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUNyQixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBQ2pCLFlBQVksR0FBUyxNQUFNLENBQUM7SUFDNUIsU0FBUyxDQUFVO0lBQ25CLFdBQVcsQ0FBVTtJQUNyQixZQUFZLEdBQVcsSUFBSSxDQUFDO0lBQzVCLFlBQVksR0FBWSxFQUFFLENBQUM7SUFDM0IsTUFBTSxDQUFTLENBQUMsbUNBQW1DO0lBQ25ELFlBQVksR0FBUSxDQUFDLENBQUM7SUFDdEIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUNyQixtQkFB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UzsrQkFDRSx1QkFBdUI7OEJBTXhCLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ29DLFlBQVk7c0JBQXJELFlBQVk7dUJBQUMsMEJBQTBCO2dCQUVsQixJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBd0JYLFdBQVc7c0JBQW5CLEtBQUs7Z0JBMkJHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkEyQkksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgY29udGVudENoaWxkLCBDb250ZW50Q2hpbGQsIGVmZmVjdCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgdmlld0NoaWxkLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhcmREYXRhIH0gZnJvbSAnLi9jYXJkLWRhdGEnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFJpZ2h0Q2FyZERhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9yaWdodC1jYXJkLWRhdGEtdmlldy9yaWdodC1jYXJkLWRhdGEtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGVmdENhcmREYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9sZWZ0LWNhcmQtZGF0YS9sZWZ0LWNhcmQtZGF0YS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tY2FyZC1kYXRhLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50LmNzcydcbn0pXG5cbmV4cG9ydCBjbGFzcyBDYXJkRGF0YVZpZXdDb21wb25lbnQgIHtcbiAgQElucHV0KCkgcGQgPSAnMTBweCc7XG4gIEBJbnB1dCgpIG1nID0gJzBweCc7XG4gIEBJbnB1dCgpIGxIZWlnaHQ/OnN0cmluZz1cIjEwMCVcIjtcbiAgQElucHV0KCkgckhlaWdodD86c3RyaW5nPVwiMTAwJVwiO1xuICBASW5wdXQoKSByV2lkdGg/OnN0cmluZz1cIjcwJVwiO1xuICBASW5wdXQoKSBsV2lkdGg/OnN0cmluZz1cIjMwJVwiO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGxiZ0NvbG9yPzpzdHJpbmcgO1xuICBASW5wdXQoKSByYmdDb2xvcj86c3RyaW5nIDtcbiAgQElucHV0KCkgYm9yZGVyPzpzdHJpbmcgO1xuICBASW5wdXQoKSBkaXNwbGF5PzpzdHJpbmcgO1xuICBASW5wdXQoKSBib3JkZXJSYWRpdXM/OnN0cmluZz1cIjEycHhcIjtcbiAgQElucHV0KCkgYWN0aXZlQ3NzPzpzdHJpbmcgO1xuICBASW5wdXQoKSBpbkFjdGl2ZUNzcz86c3RyaW5nIDtcbiAgQElucHV0KCkgZGlzcGxheUFzUm93Pzpib29sZWFuID10cnVlO1xuICBASW5wdXQoKSBjYXJkRGF0YUxpc3Q6Q2FyZERhdGFbXT1bXTtcbiAgQElucHV0KCkgZGF0YUlkITpzdHJpbmc7IC8vd2hhdCB0byB1c2UgdG8gaWRlbnRpZnkgZWFjaCBkYXRhXG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczpudW1iZXI9MDtcbiAgQElucHV0KCkgZm9vdGVyOmJvb2xlYW49ZmFsc2U7XG4gIEBJbnB1dCgpIG5vT2ZWaXNpYmxlQ2hpbGRyZW46bnVtYmVyPTM7XG4gIEBDb250ZW50Q2hpbGQoUmlnaHRDYXJkRGF0YVZpZXdDb21wb25lbnQpIHJpZ2h0Q29udGVudCE6UmlnaHRDYXJkRGF0YVZpZXdDb21wb25lbnQ7IFxuICAvLyBAQ29udGVudENoaWxkKExlZnRDYXJkRGF0YUNvbXBvbmVudCkgbGVmdCE6TGVmdENhcmREYXRhQ29tcG9uZW50OyBcbiAgQENvbnRlbnRDaGlsZCgnY2FyZCcpIGNhcmQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvLyBAQ29udGVudENoaWxkKCdjb250ZW50JykgY29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGN1cnJlbnRJdGVtOmFueT17fTtcbiAgY3VycmVudENoaWxkSXRlbTphbnk9e307XG5cbiAgaGFzQ3VycmVudEl0ZW0oKVxuICB7XG4gICAgcmV0dXJuICEhT2JqZWN0LmtleXModGhpcy5jdXJyZW50SXRlbSA/PyB7fSkubGVuZ3RoIHx8ICEhT2JqZWN0LmtleXModGhpcy5jdXJyZW50Q2hpbGRJdGVtID8/IHt9KS5sZW5ndGhcbiAgfVxuICBjbGVhckRhdGEoKVxuICAge1xuICAgIHRoaXMuY3VycmVudEl0ZW09e30gYXMgQ2FyZERhdGFcbiAgICB0aGlzLmN1cnJlbnRDaGlsZEl0ZW09e30gYXMgQ2FyZERhdGFcbiAgICB0aGlzLmNhcmREYXRhTGlzdC5mb3JFYWNoKF89PntcbiAgICAgIF8uc2VsZWN0ZWQ9ZmFsc2U7XG4gICAgICBfLmNoaWxkcmVuLmZvckVhY2goYz0+e2Muc2VsZWN0ZWQ9ZmFsc2U7Yy5pc0NoaWxkcmVuRXhwYW5kZWQ9ZmFsc2V9KVxuICAgICAgXy5pc0NoaWxkcmVuRXhwYW5kZWQ9ZmFsc2VcbiAgICB9KTtcbiAgIH1cbiAgIHNldERldGFpbERhdGEoKVxuICAge1xuICAgICB0aGlzLnJpZ2h0Q29udGVudC5wYXJlbnREYXRhPSB0aGlzLmN1cnJlbnRJdGVtO1xuICAgICAgdGhpcy5yaWdodENvbnRlbnQuY2hpbERhdGE9IHRoaXMuY3VycmVudENoaWxkSXRlbTtcbiAgIH1cbiAgQElucHV0KCkgb25JdGVtQ2xpY2soaXRlbTpDYXJkRGF0YSl7XG4gICAgdGhpcy5yZXNldENoaWxkcmVuKGl0ZW0pO1xuICAgIGl0ZW0uc2VsZWN0ZWQ9IHRydWU7XG4gICAgdGhpcy5jYXJkRGF0YUxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGlmKGVsZW1lbnQuZGF0YVt0aGlzLmRhdGFJZF09PWl0ZW0uZGF0YVt0aGlzLmRhdGFJZF0pXG4gICAgICB7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW09IGl0ZW07XG4gICAgICB9XG4gICAgICBlbHNlXG4gICAgICB7XG4gICAgICAgIGVsZW1lbnQuc2VsZWN0ZWQ9ZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zZXREZXRhaWxEYXRhKClcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50SXRlbVxuICB9XG4gcmVzZXRDaGlsZHJlbihuZXdTZWxlY3Q6Q2FyZERhdGEpXG4gIHtcbiAgICBpZih0aGlzLmN1cnJlbnRJdGVtICYmIHRoaXMuY3VycmVudEl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCl7XG4gICAodGhpcy5jdXJyZW50SXRlbS5jaGlsZHJlbiBhcyBhbnlbXSkuZm9yRWFjaChjPT57XG4gICAgYy5zZWxlY3RlZD1mYWxzZTtcbiAgfSlcbiAgaWYobmV3U2VsZWN0LmRhdGFbdGhpcy5kYXRhSWRdIT10aGlzLmN1cnJlbnRJdGVtLmRhdGFbdGhpcy5kYXRhSWRdKVxuICAgIHRoaXMuY3VycmVudEl0ZW0uaXNDaGlsZHJlbkV4cGFuZGVkPWZhbHNlO1xufVxuICB0aGlzLmN1cnJlbnRDaGlsZEl0ZW09IG51bGw7XG4gIH1cbiAgQElucHV0KCkgb25DYXJkQ2hpbGRDbGljayhjaGlsZEluZGV4Om51bWJlcil7XG4gICAgdmFyIGl0ZW0gPSB0aGlzLmN1cnJlbnRJdGVtLmNoaWxkcmVuW2NoaWxkSW5kZXhdO1xuICAgICh0aGlzLmN1cnJlbnRJdGVtLmNoaWxkcmVuIGFzIGFueVtdKS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgaWYoZWxlbWVudC5kYXRhW3RoaXMuZGF0YUlkXT09aXRlbS5kYXRhW3RoaXMuZGF0YUlkXSlcbiAgICAgIHtcbiAgICAgICAgdGhpcy5jdXJyZW50Q2hpbGRJdGVtPSBpdGVtO1xuICAgICAgfVxuICAgICAgZWxzZVxuICAgICAge1xuICAgICAgICBlbGVtZW50LnNlbGVjdGVkPWZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuY3VycmVudENoaWxkSXRlbS5zZWxlY3RlZD10cnVlO1xuICAgIHRoaXMuc2V0RGV0YWlsRGF0YSgpXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudENoaWxkSXRlbVxuICB9XG4gIHNob3dDaGlsZHJlbihpdGVtOkNhcmREYXRhKVxuICB7XG4gICAgdmFyIGN1cnJUb2dnbGVTdGF0ZT0gaXRlbS5pc0NoaWxkcmVuRXhwYW5kZWQ7XG4gICAgdGhpcy5jYXJkRGF0YUxpc3QuZm9yRWFjaChfPT57XG4gICAgICBfLmlzQ2hpbGRyZW5FeHBhbmRlZD1mYWxzZVxuICAgICAgXy5zZWxlY3RlZD1mYWxzZTtcbiAgICB9KTtcbiAgICBpdGVtLnNlbGVjdGVkPXRydWU7XG4gICAgaXRlbS5pc0NoaWxkcmVuRXhwYW5kZWQ9IWN1cnJUb2dnbGVTdGF0ZVxuICB9XG5cbiAgQE91dHB1dCgpIGxvYWRNb3JlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIG9uTG9hZE1vcmVDbGljaygpXG4gIHtcbiAgICB0aGlzLmxvYWRNb3JlQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2ICNtYWluIGNsYXNzPVwiZmxleC1jb2xcIiBbc3R5bGUuZGlzcGxheV09XCInZmxleCdcIj5cbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ2ZXJiZW4tY2FyZC1kYXRhLXZpZXctaGVhZGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tY2FyZC1kYXRhLXZpZXctaGVhZGVyJz48L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgW25nQ2xhc3NdPVwiIWhhc0N1cnJlbnRJdGVtKCk/J21hc3Rlci1vbmx5LWNvbnRhaW5lcic6J21hc3Rlci1kZXRhaWwtY29udGFpbmVyJ1wiPlxuICAgIDwhLS0gQ2FyZCBhbmQgRm9vdGVyIC0tPlxuICAgIDxkaXYgW3N0eWxlLmJvcmRlclJhZGl1c109XCJib3JkZXJSYWRpdXNcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImxiZ0NvbG9yXCIgY2xhc3M9XCJmbGV4LWNvbCBcIj5cbiAgICAgIDwhLS0gQ2FyZCBzZWN0aW9uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0ndmVyYmVuLWxlZnQtY2FyZC1kYXRhLXZpZXcnPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIEZvb3Rlci0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyJz48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIERldGFpbCBTZWN0aW9uLS0+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZGV0YWlsLXNlY3Rpb25cIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInJiZ0NvbG9yXCIgKm5nSWY9XCJoYXNDdXJyZW50SXRlbSgpXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJSYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCI+XG4gICAgICA8dmVyYmVuLXN2ZyAoY2xpY2spPVwiY2xlYXJEYXRhKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHRvUmlnaHRcIiBpY29uPVwiY2xvc2VcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgY29sb3I9XCJibGFja1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgIDxuZy1jb250YWluZXIgI3JpZ2h0IG5nUHJvamVjdEFzPVwidmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3XCI+XG4gICAgICAgIDxuZy1jb250ZW50ICNyaWdodENvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tcmlnaHQtY2FyZC1kYXRhLXZpZXcnPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -105,9 +105,9 @@ export class DataFilterComponent {
|
|
|
105
105
|
this.availableOperators = [];
|
|
106
106
|
}
|
|
107
107
|
resetAll() {
|
|
108
|
-
this.resetFilter.emit();
|
|
109
108
|
this.savedFilters = [];
|
|
110
109
|
this.resetCurrentFilter();
|
|
110
|
+
this.resetFilter.emit();
|
|
111
111
|
}
|
|
112
112
|
applyFilters() {
|
|
113
113
|
const activeFilters = this.savedFilters
|
|
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
150
150
|
}], resetFilter: [{
|
|
151
151
|
type: Output
|
|
152
152
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLWZpbHRlci9kYXRhLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtZmlsdGVyL2RhdGEtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUlMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBTzdCLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsT0FBTyxDQUF5QjtJQUNoQyxJQUFJLENBQU87SUFDVixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFDdEQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDM0MsaUJBQWlCLEdBQTBCLEVBQUUsQ0FBQztJQUM5QyxrQkFBa0IsR0FBcUIsRUFBRSxDQUFDO0lBQzFDLFlBQVksR0FBZ0QsRUFBRSxDQUFDO0lBQy9ELGFBQWEsR0FBNkIsRUFBRSxDQUFDO0lBQzdDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNwQixpQkFBaUIsR0FBd0MsSUFBSSxDQUFDO0lBRTlELFFBQVE7UUFDTixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFB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QyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEUsQ0FBQzt1R0ExSlUsbUJBQW1COzJGQUFuQixtQkFBbUIsOEtDaEJoQyxndklBZ0pBOzsyRkRoSWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjs4QkFLbEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAnLi4vZGF0YS10YWJsZS9kYXRhLXRhYmxlLnR5cGVzJztcbmltcG9ydCB7XG4gIEZpbHRlck9wZXJhdG9yLFxuICBGaWx0ZXJDb25kaXRpb24sXG4gIEZpbHRlckdyb3VwLFxuICBTVFJJTkdfT1BFUkFUT1JTLFxuICBOVU1CRVJfT1BFUkFUT1JTLFxuICBEQVRFX09QRVJBVE9SUyxcbn0gZnJvbSAnLi9kYXRhLWZpbHRlci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1kYXRhLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRhLWZpbHRlci5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnMhOiBDb2x1bW5EZWZpbml0aW9uPFQ+W107XG4gIEBJbnB1dCgpIGRhdGEhOiBUW107XG4gIEBPdXRwdXQoKSBmaWx0ZXJBcHBsaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDb25kaXRpb25bXT4oKTtcbiAgQE91dHB1dCgpIHJlc2V0RmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBmaWx0ZXJhYmxlQ29sdW1uczogQ29sdW1uRGVmaW5pdGlvbjxUPltdID0gW107XG4gIGF2YWlsYWJsZU9wZXJhdG9yczogRmlsdGVyT3BlcmF0b3JbXSA9IFtdO1xuICBzYXZlZEZpbHRlcnM6IChGaWx0ZXJDb25kaXRpb24gJiB7IHNlbGVjdGVkOiBib29sZWFuIH0pW10gPSBbXTtcbiAgY3VycmVudEZpbHRlcjogUGFydGlhbDxGaWx0ZXJDb25kaXRpb24+ID0ge307XG4gIHNob3dBbGxGaWx0ZXJzID0gZmFsc2U7XG4gIG1heFZpc2libGVJdGVtcyA9IDM7XG4gIGN1cnJlbnRDb2x1bW5UeXBlOiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRmlsdGVyYWJsZUNvbHVtbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUZpbHRlcmFibGVDb2x1bW5zKCkge1xuICAgIHRoaXMuZmlsdGVyYWJsZUNvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChjb2wpID0+IGNvbC5hY2Nlc3NvcktleSk7XG4gIH1cblxuICBvbkNvbHVtblNlbGVjdChjb2x1bW5JZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5maWx0ZXJhYmxlQ29sdW1ucy5maW5kKChjb2wpID0+IGNvbC5pZCA9PT0gY29sdW1uSWQpO1xuICAgIGlmICghY29sdW1uKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY29sdW1uSWQgPSBjb2x1bW5JZDtcblxuICAgIC8vIFJlc2V0IG90aGVyIHZhbHVlc1xuICAgIHRoaXMuY3VycmVudEZpbHRlci5vcGVyYXRvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIudmFsdWUgPSB1bmRlZmluZWQ7XG5cbiAgICAvLyBEZXRlcm1pbmUgY29sdW1uIHR5cGUgYW5kIHNldCBhdmFpbGFibGUgb3BlcmF0b3JzXG4gICAgdGhpcy5jdXJyZW50Q29sdW1uVHlwZSA9IHRoaXMuZGV0ZXJtaW5lQ29sdW1uVHlwZShjb2x1bW4pO1xuXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRDb2x1bW5UeXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICB0aGlzLmF2YWlsYWJsZU9wZXJhdG9ycyA9IFNUUklOR19PUEVSQVRPUlM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgdGhpcy5hdmFpbGFibGVPcGVyYXRvcnMgPSBOVU1CRVJfT1BFUkFUT1JTO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICB0aGlzLmF2YWlsYWJsZU9wZXJhdG9ycyA9IERBVEVfT1BFUkFUT1JTO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlT3BlcmF0b3JzID0gW107XG4gICAgfVxuICB9XG5cbiAgYWRkRmlsdGVyKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmN1cnJlbnRGaWx0ZXIuY29sdW1uSWQgfHxcbiAgICAgICF0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgfHxcbiAgICAgICF0aGlzLmN1cnJlbnRGaWx0ZXIudmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdGaWx0ZXI6IEZpbHRlckNvbmRpdGlvbiAmIHsgc2VsZWN0ZWQ6IGJvb2xlYW4gfSA9IHtcbiAgICAgIGNvbHVtbklkOiB0aGlzLmN1cnJlbnRGaWx0ZXIuY29sdW1uSWQhLFxuICAgICAgb3BlcmF0b3I6IHRoaXMuY3VycmVudEZpbHRlci5vcGVyYXRvcixcbiAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRGaWx0ZXIudmFsdWUsXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zYXZlZEZpbHRlcnMudW5zaGlmdChuZXdGaWx0ZXIpO1xuICAgIHRoaXMucmVzZXRDdXJyZW50RmlsdGVyKCk7XG4gIH1cblxuICBnZXRGaWx0ZXJEZXNjcmlwdGlvbihmaWx0ZXI6IEZpbHRlckNvbmRpdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5maWx0ZXJhYmxlQ29sdW1ucy5maW5kKFxuICAgICAgKGNvbCkgPT4gY29sLmlkID09PSBmaWx0ZXIuY29sdW1uSWRcbiAgICApO1xuICAgIGlmICghY29sdW1uKSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCBjb2x1bW5OYW1lID1cbiAgICAgIHR5cGVvZiBjb2x1bW4uaGVhZGVyID09PSAnZnVuY3Rpb24nID8gY29sdW1uLmhlYWRlcih7fSkgOiBjb2x1bW4uaGVhZGVyO1xuXG4gICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLmdldE9wZXJhdG9yTGFiZWwoZmlsdGVyLm9wZXJhdG9yKTtcblxuICAgIGxldCB2YWx1ZSA9IGZpbHRlci52YWx1ZTtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyBEYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7Y29sdW1uTmFtZX0gJHtvcGVyYXRvcn0gJHt2YWx1ZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcGVyYXRvckxhYmVsKG9wZXJhdG9yVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3BlcmF0b3IgPSBbXG4gICAgICAuLi5TVFJJTkdfT1BFUkFUT1JTLFxuICAgICAgLi4uTlVNQkVSX09QRVJBVE9SUyxcbiAgICAgIC4uLkRBVEVfT1BFUkFUT1JTLFxuICAgIF0uZmluZCgob3ApID0+IG9wLnZhbHVlID09PSBvcGVyYXRvclZhbHVlKTtcbiAgICByZXR1cm4gb3BlcmF0b3IgPyBvcGVyYXRvci5sYWJlbC50b0xvd2VyQ2FzZSgpIDogb3BlcmF0b3JWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lQ29sdW1uVHlwZShcbiAgICBjb2x1bW46IENvbHVtbkRlZmluaXRpb248VD5cbiAgKTogJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdkYXRlJyB8IG51bGwge1xuICAgIGlmICghdGhpcy5kYXRhLmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBzYW1wbGVWYWx1ZSA9IGNvbHVtbi5hY2Nlc3NvcktleVxuICAgICAgPyB0aGlzLmRhdGFbMF1bY29sdW1uLmFjY2Vzc29yS2V5XVxuICAgICAgOiBjb2x1bW4uYWNjZXNzb3JGblxuICAgICAgPyBjb2x1bW4uYWNjZXNzb3JGbih0aGlzLmRhdGFbMF0pXG4gICAgICA6IG51bGw7XG5cbiAgICBpZiAoc2FtcGxlVmFsdWUgPT09IG51bGwpIHJldHVybiBudWxsO1xuXG4gICAgaWYgKHNhbXBsZVZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICdkYXRlJztcbiAgICBpZiAodHlwZW9mIHNhbXBsZVZhbHVlID09PSAnbnVtYmVyJykgcmV0dXJuICdudW1iZXInO1xuICAgIHJldHVybiAnc3RyaW5nJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDdXJyZW50RmlsdGVyKCkge1xuICAgIHRoaXMuY3VycmVudEZpbHRlciA9IHt9O1xuICAgIHRoaXMuYXZhaWxhYmxlT3BlcmF0b3JzID0gW107XG4gIH1cblxuICByZXNldEFsbCgpIHtcbiAgICB0aGlzLnJlc2V0RmlsdGVyLmVtaXQoKVxuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gW107XG4gICAgdGhpcy5yZXNldEN1cnJlbnRGaWx0ZXIoKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVycygpIHtcbiAgICBjb25zdCBhY3RpdmVGaWx0ZXJzID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLnNlbGVjdGVkKVxuICAgICAgLm1hcCgoeyBjb2x1bW5JZCwgb3BlcmF0b3IsIHZhbHVlIH0pID0+ICh7XG4gICAgICAgIGNvbHVtbklkLFxuICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgdmFsdWUsXG4gICAgICB9KSk7XG4gICAgdGhpcy5maWx0ZXJBcHBsaWVkLmVtaXQoYWN0aXZlRmlsdGVycyk7XG4gIH1cblxuICBnZXRDb2x1bW5MYWJlbChjb2x1bW5JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmZpbHRlcmFibGVDb2x1bW5zLmZpbmQoKGNvbCkgPT4gY29sLmlkID09PSBjb2x1bW5JZCk7XG4gICAgcmV0dXJuIGNvbHVtblxuICAgICAgPyB0eXBlb2YgY29sdW1uLmhlYWRlciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNvbHVtbi5oZWFkZXIoe30pXG4gICAgICAgIDogY29sdW1uLmhlYWRlclxuICAgICAgOiBjb2x1bW5JZDtcbiAgfVxuXG4gIGdldCB2aXNpYmxlRmlsdGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxsRmlsdGVyc1xuICAgICAgPyB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgOiB0aGlzLnNhdmVkRmlsdGVycy5zbGljZSgwLCB0aGlzLm1heFZpc2libGVJdGVtcyk7XG4gIH1cblxuICBnZXQgYWN0aXZlRmlsdGVyQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKChmaWx0ZXIpID0+IGZpbHRlci5zZWxlY3RlZCkubGVuZ3RoO1xuICB9XG59XG4iLCI8dmVyYmVuLWNhcmRcbiAgd2lkdGg9XCIyNHJlbVwiXG4gIGJvcmRlclJhZGl1cz1cIjFyZW1cIlxuICBbYm9yZGVyXT1cIicxcHggc29saWQgI0Q0QTAwNydcIlxuICBiZ0NvbG9yPVwiI0ZGRkZGRlwiXG4+XG4gIDxkaXYgY2FyZC1oZWFkZXIgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxuICAgIDxoNCBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgRmlsdGVyIDxzdXA+KHt7IGFjdGl2ZUZpbHRlckNvdW50IH19KTwvc3VwPlxuICAgIDwvaDQ+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJyZXNldC1idXR0b25cIlxuICAgICAgW3N0eWxlLmNvbG9yXT1cIicjMzQ3OUU5J1wiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5jdXJzb3JdPVwiJ3BvaW50ZXInXCJcbiAgICAgIFtzdHlsZS5mb250LXNpemVdPVwiJzEycHgnXCJcbiAgICAgIChjbGljayk9XCJyZXNldEFsbCgpXCJcbiAgICA+XG4gICAgICBSZXNldFxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNhcmQtYm9keSBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgIDwhLS0gU2F2ZWQgRmlsdGVycyBTZWN0aW9uIC0tPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwic2VjdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5GaWx0ZXJzPC9oMz5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICBpY29uPVwiaW5mb1wiXG4gICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICBmaWxsPVwiZ3JleVwiXG4gICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIHZpc2libGVGaWx0ZXJzXCIgY2xhc3M9XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWxhYmVsXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwiZmlsdGVyLnNlbGVjdGVkXCIgLz5cbiAgICAgICAgICA8bGFiZWw+e3sgZ2V0RmlsdGVyRGVzY3JpcHRpb24oZmlsdGVyKSB9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJzYXZlZEZpbHRlcnMubGVuZ3RoID4gbWF4VmlzaWJsZUl0ZW1zXCJcbiAgICAgICAgY2xhc3M9XCJzaG93LW1vcmVcIlxuICAgICAgICAoY2xpY2spPVwic2hvd0FsbEZpbHRlcnMgPSAhc2hvd0FsbEZpbHRlcnNcIlxuICAgICAgPlxuICAgICAgICB7eyBzaG93QWxsRmlsdGVycyA/IFwiU2hvdyBMZXNzXCIgOiBcIlNob3cgTW9yZVwiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyXCIgLz5cblxuICAgIDwhLS0gTmV3IEZpbHRlciBPcGVyYXRpb24gLS0+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPk9wZXJhdGlvbjwvaDM+XG4gICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgaWNvbj1cImluZm9cIlxuICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJvcGVyYXRpb24tZ3JpZFwiPlxuICAgICAgICA8IS0tIENvbHVtbiBTZWxlY3Rpb24gLS0+XG4gICAgICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICBoZWlnaHQ9XCIxLjAyNXJlbVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgY29sdW1uXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJmaWx0ZXJhYmxlQ29sdW1uc1wiXG4gICAgICAgICAgb3B0aW9uTGFiZWw9XCJoZWFkZXJcIlxuICAgICAgICAgIG9wdGlvblZhbHVlPVwiaWRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VycmVudEZpbHRlci5jb2x1bW5JZFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Db2x1bW5TZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgID48L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgICAgPCEtLSBPcGVyYXRvciBTZWxlY3Rpb24gLS0+XG4gICAgICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICBoZWlnaHQ9XCIxLjAyNXJlbVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3Qgb3BlcmF0b3JcIlxuICAgICAgICAgIFtvcHRpb25zXT1cImF2YWlsYWJsZU9wZXJhdG9yc1wiXG4gICAgICAgICAgb3B0aW9uTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50RmlsdGVyLm9wZXJhdG9yXCJcbiAgICAgICAgPjwvdmVyYmVuLWRyb3AtZG93bj5cblxuICAgICAgICA8IS0tIFZhbHVlIElucHV0IGJhc2VkIG9uIHR5cGUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImN1cnJlbnRDb2x1bW5UeXBlXCI+XG4gICAgICAgICAgPCEtLSBEYXRlIElucHV0IC0tPlxuICAgICAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCJcbiAgICAgICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGRhdGVcIlxuICAgICAgICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICNjY2NcIlxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzPVwiNXB4XCJcbiAgICAgICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxLjAyNXJlbVwiXG4gICAgICAgICAgICBwZD1cIjJweCA2cHhcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50RmlsdGVyLnZhbHVlXCJcbiAgICAgICAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICAgICAgPCEtLSBOdW1iZXIgSW5wdXQgLS0+XG4gICAgICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgbnVtYmVyXCJcbiAgICAgICAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMS4wMjVyZW1cIlxuICAgICAgICAgICAgcGQ9XCIycHggNnB4XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VycmVudEZpbHRlci52YWx1ZVwiXG4gICAgICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgICAgICAgIDwhLS0gVGV4dCBJbnB1dCAoZGVmYXVsdCkgLS0+XG4gICAgICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RyaW5nJ1wiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHRleHRcIlxuICAgICAgICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICNjY2NcIlxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzPVwiNXB4XCJcbiAgICAgICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxLjAyNXJlbVwiXG4gICAgICAgICAgICBwZD1cIjJweCA2cHhcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50RmlsdGVyLnZhbHVlXCJcbiAgICAgICAgICA+PC92ZXJiZW5hLWlucHV0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYWRkLWJ1dHRvbiBtbC1hdXRvXCIgKGNsaWNrKT1cImFkZEZpbHRlcigpXCI+KyBBZGQ8L2J1dHRvbj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2FyZC1mb290ZXIgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJleHBvcnQtYnV0dG9uXCIgKGNsaWNrKT1cImFwcGx5RmlsdGVycygpXCI+RmlsdGVyPC9idXR0b24+XG4gIDwvZGl2PlxuPC92ZXJiZW4tY2FyZD5cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLWZpbHRlci9kYXRhLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtZmlsdGVyL2RhdGEtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUlMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBTzdCLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsT0FBTyxDQUF5QjtJQUNoQyxJQUFJLENBQU87SUFDVixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFDdEQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDM0MsaUJBQWlCLEdBQTBCLEVBQUUsQ0FBQztJQUM5QyxrQkFBa0IsR0FBcUIsRUFBRSxDQUFDO0lBQzFDLFlBQVksR0FBZ0QsRUFBRSxDQUFDO0lBQy9ELGFBQWEsR0FBNkIsRUFBRSxDQUFDO0lBQzdDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNwQixpQkFBaUIsR0FBd0MsSUFBSSxDQUFDO0lBRTlELFFBQVE7UUFDTixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFB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QyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEUsQ0FBQzt1R0EzSlUsbUJBQW1COzJGQUFuQixtQkFBbUIsOEtDaEJoQyxndklBZ0pBOzsyRkRoSWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjs4QkFLbEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAnLi4vZGF0YS10YWJsZS9kYXRhLXRhYmxlLnR5cGVzJztcbmltcG9ydCB7XG4gIEZpbHRlck9wZXJhdG9yLFxuICBGaWx0ZXJDb25kaXRpb24sXG4gIEZpbHRlckdyb3VwLFxuICBTVFJJTkdfT1BFUkFUT1JTLFxuICBOVU1CRVJfT1BFUkFUT1JTLFxuICBEQVRFX09QRVJBVE9SUyxcbn0gZnJvbSAnLi9kYXRhLWZpbHRlci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1kYXRhLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRhLWZpbHRlci5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUZpbHRlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnMhOiBDb2x1bW5EZWZpbml0aW9uPFQ+W107XG4gIEBJbnB1dCgpIGRhdGEhOiBUW107XG4gIEBPdXRwdXQoKSBmaWx0ZXJBcHBsaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDb25kaXRpb25bXT4oKTtcbiAgQE91dHB1dCgpIHJlc2V0RmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBmaWx0ZXJhYmxlQ29sdW1uczogQ29sdW1uRGVmaW5pdGlvbjxUPltdID0gW107XG4gIGF2YWlsYWJsZU9wZXJhdG9yczogRmlsdGVyT3BlcmF0b3JbXSA9IFtdO1xuICBzYXZlZEZpbHRlcnM6IChGaWx0ZXJDb25kaXRpb24gJiB7IHNlbGVjdGVkOiBib29sZWFuIH0pW10gPSBbXTtcbiAgY3VycmVudEZpbHRlcjogUGFydGlhbDxGaWx0ZXJDb25kaXRpb24+ID0ge307XG4gIHNob3dBbGxGaWx0ZXJzID0gZmFsc2U7XG4gIG1heFZpc2libGVJdGVtcyA9IDM7XG4gIGN1cnJlbnRDb2x1bW5UeXBlOiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRmlsdGVyYWJsZUNvbHVtbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUZpbHRlcmFibGVDb2x1bW5zKCkge1xuICAgIHRoaXMuZmlsdGVyYWJsZUNvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChjb2wpID0+IGNvbC5hY2Nlc3NvcktleSk7XG4gIH1cblxuICBvbkNvbHVtblNlbGVjdChjb2x1bW5JZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5maWx0ZXJhYmxlQ29sdW1ucy5maW5kKChjb2wpID0+IGNvbC5pZCA9PT0gY29sdW1uSWQpO1xuICAgIGlmICghY29sdW1uKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY29sdW1uSWQgPSBjb2x1bW5JZDtcblxuICAgIC8vIFJlc2V0IG90aGVyIHZhbHVlc1xuICAgIHRoaXMuY3VycmVudEZpbHRlci5vcGVyYXRvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIudmFsdWUgPSB1bmRlZmluZWQ7XG5cbiAgICAvLyBEZXRlcm1pbmUgY29sdW1uIHR5cGUgYW5kIHNldCBhdmFpbGFibGUgb3BlcmF0b3JzXG4gICAgdGhpcy5jdXJyZW50Q29sdW1uVHlwZSA9IHRoaXMuZGV0ZXJtaW5lQ29sdW1uVHlwZShjb2x1bW4pO1xuXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRDb2x1bW5UeXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICB0aGlzLmF2YWlsYWJsZU9wZXJhdG9ycyA9IFNUUklOR19PUEVSQVRPUlM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgdGhpcy5hdmFpbGFibGVPcGVyYXRvcnMgPSBOVU1CRVJfT1BFUkFUT1JTO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICB0aGlzLmF2YWlsYWJsZU9wZXJhdG9ycyA9IERBVEVfT1BFUkFUT1JTO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlT3BlcmF0b3JzID0gW107XG4gICAgfVxuICB9XG5cbiAgYWRkRmlsdGVyKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmN1cnJlbnRGaWx0ZXIuY29sdW1uSWQgfHxcbiAgICAgICF0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgfHxcbiAgICAgICF0aGlzLmN1cnJlbnRGaWx0ZXIudmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdGaWx0ZXI6IEZpbHRlckNvbmRpdGlvbiAmIHsgc2VsZWN0ZWQ6IGJvb2xlYW4gfSA9IHtcbiAgICAgIGNvbHVtbklkOiB0aGlzLmN1cnJlbnRGaWx0ZXIuY29sdW1uSWQhLFxuICAgICAgb3BlcmF0b3I6IHRoaXMuY3VycmVudEZpbHRlci5vcGVyYXRvcixcbiAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRGaWx0ZXIudmFsdWUsXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zYXZlZEZpbHRlcnMudW5zaGlmdChuZXdGaWx0ZXIpO1xuICAgIHRoaXMucmVzZXRDdXJyZW50RmlsdGVyKCk7XG4gIH1cblxuICBnZXRGaWx0ZXJEZXNjcmlwdGlvbihmaWx0ZXI6IEZpbHRlckNvbmRpdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5maWx0ZXJhYmxlQ29sdW1ucy5maW5kKFxuICAgICAgKGNvbCkgPT4gY29sLmlkID09PSBmaWx0ZXIuY29sdW1uSWRcbiAgICApO1xuICAgIGlmICghY29sdW1uKSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCBjb2x1bW5OYW1lID1cbiAgICAgIHR5cGVvZiBjb2x1bW4uaGVhZGVyID09PSAnZnVuY3Rpb24nID8gY29sdW1uLmhlYWRlcih7fSkgOiBjb2x1bW4uaGVhZGVyO1xuXG4gICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLmdldE9wZXJhdG9yTGFiZWwoZmlsdGVyLm9wZXJhdG9yKTtcblxuICAgIGxldCB2YWx1ZSA9IGZpbHRlci52YWx1ZTtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyBEYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7Y29sdW1uTmFtZX0gJHtvcGVyYXRvcn0gJHt2YWx1ZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcGVyYXRvckxhYmVsKG9wZXJhdG9yVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3BlcmF0b3IgPSBbXG4gICAgICAuLi5TVFJJTkdfT1BFUkFUT1JTLFxuICAgICAgLi4uTlVNQkVSX09QRVJBVE9SUyxcbiAgICAgIC4uLkRBVEVfT1BFUkFUT1JTLFxuICAgIF0uZmluZCgob3ApID0+IG9wLnZhbHVlID09PSBvcGVyYXRvclZhbHVlKTtcbiAgICByZXR1cm4gb3BlcmF0b3IgPyBvcGVyYXRvci5sYWJlbC50b0xvd2VyQ2FzZSgpIDogb3BlcmF0b3JWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lQ29sdW1uVHlwZShcbiAgICBjb2x1bW46IENvbHVtbkRlZmluaXRpb248VD5cbiAgKTogJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdkYXRlJyB8IG51bGwge1xuICAgIGlmICghdGhpcy5kYXRhLmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBzYW1wbGVWYWx1ZSA9IGNvbHVtbi5hY2Nlc3NvcktleVxuICAgICAgPyB0aGlzLmRhdGFbMF1bY29sdW1uLmFjY2Vzc29yS2V5XVxuICAgICAgOiBjb2x1bW4uYWNjZXNzb3JGblxuICAgICAgPyBjb2x1bW4uYWNjZXNzb3JGbih0aGlzLmRhdGFbMF0pXG4gICAgICA6IG51bGw7XG5cbiAgICBpZiAoc2FtcGxlVmFsdWUgPT09IG51bGwpIHJldHVybiBudWxsO1xuXG4gICAgaWYgKHNhbXBsZVZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICdkYXRlJztcbiAgICBpZiAodHlwZW9mIHNhbXBsZVZhbHVlID09PSAnbnVtYmVyJykgcmV0dXJuICdudW1iZXInO1xuICAgIHJldHVybiAnc3RyaW5nJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDdXJyZW50RmlsdGVyKCkge1xuICAgIHRoaXMuY3VycmVudEZpbHRlciA9IHt9O1xuICAgIHRoaXMuYXZhaWxhYmxlT3BlcmF0b3JzID0gW107XG4gIH1cblxuICByZXNldEFsbCgpIHtcbiAgXG4gICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBbXTtcbiAgICB0aGlzLnJlc2V0Q3VycmVudEZpbHRlcigpO1xuICAgIHRoaXMucmVzZXRGaWx0ZXIuZW1pdCgpXG4gIH1cblxuICBhcHBseUZpbHRlcnMoKSB7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IHRoaXMuc2F2ZWRGaWx0ZXJzXG4gICAgICAuZmlsdGVyKChmaWx0ZXIpID0+IGZpbHRlci5zZWxlY3RlZClcbiAgICAgIC5tYXAoKHsgY29sdW1uSWQsIG9wZXJhdG9yLCB2YWx1ZSB9KSA9PiAoe1xuICAgICAgICBjb2x1bW5JZCxcbiAgICAgICAgb3BlcmF0b3IsXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSkpO1xuICAgIHRoaXMuZmlsdGVyQXBwbGllZC5lbWl0KGFjdGl2ZUZpbHRlcnMpO1xuICB9XG5cbiAgZ2V0Q29sdW1uTGFiZWwoY29sdW1uSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5maWx0ZXJhYmxlQ29sdW1ucy5maW5kKChjb2wpID0+IGNvbC5pZCA9PT0gY29sdW1uSWQpO1xuICAgIHJldHVybiBjb2x1bW5cbiAgICAgID8gdHlwZW9mIGNvbHVtbi5oZWFkZXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBjb2x1bW4uaGVhZGVyKHt9KVxuICAgICAgICA6IGNvbHVtbi5oZWFkZXJcbiAgICAgIDogY29sdW1uSWQ7XG4gIH1cblxuICBnZXQgdmlzaWJsZUZpbHRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FsbEZpbHRlcnNcbiAgICAgID8gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgIDogdGhpcy5zYXZlZEZpbHRlcnMuc2xpY2UoMCwgdGhpcy5tYXhWaXNpYmxlSXRlbXMpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZUZpbHRlckNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuc2VsZWN0ZWQpLmxlbmd0aDtcbiAgfVxufVxuIiwiPHZlcmJlbi1jYXJkXG4gIHdpZHRoPVwiMjRyZW1cIlxuICBib3JkZXJSYWRpdXM9XCIxcmVtXCJcbiAgW2JvcmRlcl09XCInMXB4IHNvbGlkICNENEEwMDcnXCJcbiAgYmdDb2xvcj1cIiNGRkZGRkZcIlxuPlxuICA8ZGl2IGNhcmQtaGVhZGVyIGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICA8aDQgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj5cbiAgICAgIEZpbHRlciA8c3VwPih7eyBhY3RpdmVGaWx0ZXJDb3VudCB9fSk8L3N1cD5cbiAgICA8L2g0PlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwicmVzZXQtYnV0dG9uXCJcbiAgICAgIFtzdHlsZS5jb2xvcl09XCInIzM0NzlFOSdcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiXG4gICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAoY2xpY2spPVwicmVzZXRBbGwoKVwiXG4gICAgPlxuICAgICAgUmVzZXRcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjYXJkLWJvZHkgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICA8IS0tIFNhdmVkIEZpbHRlcnMgU2VjdGlvbiAtLT5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+RmlsdGVyczwvaDM+XG4gICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgaWNvbj1cImluZm9cIlxuICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpbHRlciBvZiB2aXNpYmxlRmlsdGVyc1wiIGNsYXNzPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1sYWJlbFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImZpbHRlci5zZWxlY3RlZFwiIC8+XG4gICAgICAgICAgPGxhYmVsPnt7IGdldEZpbHRlckRlc2NyaXB0aW9uKGZpbHRlcikgfX08L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aCA+IG1heFZpc2libGVJdGVtc1wiXG4gICAgICAgIGNsYXNzPVwic2hvdy1tb3JlXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dBbGxGaWx0ZXJzID0gIXNob3dBbGxGaWx0ZXJzXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd0FsbEZpbHRlcnMgPyBcIlNob3cgTGVzc1wiIDogXCJTaG93IE1vcmVcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPGhyIGNsYXNzPVwiZGl2aWRlclwiIC8+XG5cbiAgICA8IS0tIE5ldyBGaWx0ZXIgT3BlcmF0aW9uIC0tPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwic2VjdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5PcGVyYXRpb248L2gzPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgIGljb249XCJpbmZvXCJcbiAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgIGZpbGw9XCJncmV5XCJcbiAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0aW9uLWdyaWRcIj5cbiAgICAgICAgPCEtLSBDb2x1bW4gU2VsZWN0aW9uIC0tPlxuICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgaGVpZ2h0PVwiMS4wMjVyZW1cIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGNvbHVtblwiXG4gICAgICAgICAgW29wdGlvbnNdPVwiZmlsdGVyYWJsZUNvbHVtbnNcIlxuICAgICAgICAgIG9wdGlvbkxhYmVsPVwiaGVhZGVyXCJcbiAgICAgICAgICBvcHRpb25WYWx1ZT1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1cnJlbnRGaWx0ZXIuY29sdW1uSWRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ29sdW1uU2VsZWN0KCRldmVudClcIlxuICAgICAgICA+PC92ZXJiZW4tZHJvcC1kb3duPlxuXG4gICAgICAgIDwhLS0gT3BlcmF0b3IgU2VsZWN0aW9uIC0tPlxuICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgaGVpZ2h0PVwiMS4wMjVyZW1cIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IG9wZXJhdG9yXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJhdmFpbGFibGVPcGVyYXRvcnNcIlxuICAgICAgICAgIG9wdGlvbkxhYmVsPVwibGFiZWxcIlxuICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VycmVudEZpbHRlci5vcGVyYXRvclwiXG4gICAgICAgID48L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgICAgPCEtLSBWYWx1ZSBJbnB1dCBiYXNlZCBvbiB0eXBlIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjdXJyZW50Q29sdW1uVHlwZVwiPlxuICAgICAgICAgIDwhLS0gRGF0ZSBJbnB1dCAtLT5cbiAgICAgICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiXG4gICAgICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBkYXRlXCJcbiAgICAgICAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMS4wMjVyZW1cIlxuICAgICAgICAgICAgcGQ9XCIycHggNnB4XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VycmVudEZpbHRlci52YWx1ZVwiXG4gICAgICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgICAgICAgIDwhLS0gTnVtYmVyIElucHV0IC0tPlxuICAgICAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIG51bWJlclwiXG4gICAgICAgICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjEuMDI1cmVtXCJcbiAgICAgICAgICAgIHBkPVwiMnB4IDZweFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1cnJlbnRGaWx0ZXIudmFsdWVcIlxuICAgICAgICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICAgICAgICA8IS0tIFRleHQgSW5wdXQgKGRlZmF1bHQpIC0tPlxuICAgICAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciB0ZXh0XCJcbiAgICAgICAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMS4wMjVyZW1cIlxuICAgICAgICAgICAgcGQ9XCIycHggNnB4XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3VycmVudEZpbHRlci52YWx1ZVwiXG4gICAgICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImFkZC1idXR0b24gbWwtYXV0b1wiIChjbGljayk9XCJhZGRGaWx0ZXIoKVwiPisgQWRkPC9idXR0b24+XG4gICAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNhcmQtZm9vdGVyIGNsYXNzPVwiY2FyZC1mb290ZXJcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZXhwb3J0LWJ1dHRvblwiIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiPkZpbHRlcjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvdmVyYmVuLWNhcmQ+XG4iXX0=
|
|
@@ -25,6 +25,7 @@ export class SortTableComponent {
|
|
|
25
25
|
selectWidth;
|
|
26
26
|
containerHeight = "400px";
|
|
27
27
|
selectedOptions = new EventEmitter();
|
|
28
|
+
resetSortData = new EventEmitter();
|
|
28
29
|
draggedIndex = null;
|
|
29
30
|
visibleSortOptions = [];
|
|
30
31
|
hiddenSortOptions = [];
|
|
@@ -126,6 +127,7 @@ export class SortTableComponent {
|
|
|
126
127
|
this.updateVisibleOptions();
|
|
127
128
|
this.updateSortButtonState();
|
|
128
129
|
this.checkAll = false;
|
|
130
|
+
this.resetSortData.emit();
|
|
129
131
|
}
|
|
130
132
|
updateSortButtonState() {
|
|
131
133
|
this.disableSortButton = this.countSelectedSorts() === 0;
|
|
@@ -172,7 +174,7 @@ export class SortTableComponent {
|
|
|
172
174
|
this.draggedIndex = null;
|
|
173
175
|
}
|
|
174
176
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SortTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: SortTableComponent, selector: "verben-sort-table", inputs: { enableDragAndDrop: "enableDragAndDrop", sortOptions: "sortOptions", resetText: "resetText", displayedOptions: "displayedOptions", propertyText: "propertyText", showMoreText: "showMoreText", sortButtonText: "sortButtonText", pd: "pd", mg: "mg", height: "height", width: "width", bgColor: "bgColor", boxShadow: "boxShadow", textColor: "textColor", primaryColor: "primaryColor", secondaryColor: "secondaryColor", tertiaryColor: "tertiaryColor", border: "border", borderRadius: "borderRadius", selectWidth: "selectWidth", containerHeight: "containerHeight" }, outputs: { selectedOptions: "selectedOptions" }, ngImport: i0, template: "<div\n [style.background-color]=\"bgColor\"\n [style.box-shadow]=\"boxShadow\"\n [style.border]=\"border\"\n [style.border-radius]=\"borderRadius\"\n [style.color]=\"textColor\"\n [style.width]=\"width\"\n [style.height]=\"height\"\n [style.padding]=\"pd\"\n>\n <!-- Header Section -->\n <div class=\"sort-header flex justify-between text-sm\">\n <span class=\"sort-title font-semibold\">\n Sort\n <sup [style.color]=\"secondaryColor\">[{{ countSelectedSorts() }}]</sup>\n </span>\n <span\n [style.color]=\"secondaryColor\"\n [style.border]=\"'none'\"\n [style.cursor]=\"'pointer'\"\n [style.font-size]=\"'12px'\"\n class=\"cursor-pointer\"\n (click)=\"resetSort()\"\n >{{ resetText }}</span\n >\n\n </div>\n <hr />\n <!-- Sort Options -->\n <div [style.max-height]=\"containerHeight\" class=\"sort-options\">\n <p class=\"pd\">{{ propertyText }}</p>\n <div class=\"flex items-center gap\" [style.padding]=\"'4px 10px'\">\n <label [style.font-size]=\"'13px'\" [style.font-weight]=\"'500'\">\n <input type=\"checkbox\" [checked]=\"checkAll\"\n (change)=\"toggleSelectAll()\" />\n Select All\n </label>\n </div>\n\n <div\n *ngFor=\"let option of visibleSortOptions; let i = index\"\n [attr.draggable]=\"enableDragAndDrop\"\n (dragstart)=\"onDragStart(i, $event)\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop(i, $event)\"\n class=\"sort-option\"\n >\n <div [style.font-size]=\"'14px'\" [style.margin-top]=\"'13px'\">\n <div class=\"flex items-center gap-md\">\n <verben-svg\n *ngIf=\"enableDragAndDrop\"\n fill=\"black\"\n [width]=\"25\"\n class=\"svg\"\n icon=\"square-dot\"\n ></verben-svg>\n <div class=\"flex items-center gap\">\n <input\n type=\"checkbox\"\n [checked]=\"option.checked\"\n (change)=\"toggleSort(i)\"\n />\n <span>{{ option.name }}</span>\n </div>\n </div>\n\n <!-- Sorting Controls -->\n <div class=\"flex items-center gap\" [style.margin-left]=\"'35px'\">\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'Number'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"asc\"\n [checked]=\"selectedOrders.get(i) === 'asc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'asc')\"\n />\n 1-100\n </label>\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'Number'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"desc\"\n [checked]=\"selectedOrders.get(i) === 'desc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'desc')\"\n />\n 100-1\n </label>\n\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'String' || option.type === 'Date'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"asc\"\n [checked]=\"selectedOrders.get(i) === 'asc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'asc')\"\n />\n A-Z\n </label>\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'String' || option.type === 'Date'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"desc\"\n [checked]=\"selectedOrders.get(i) === 'desc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'desc')\"\n />\n Z-A\n </label>\n </div>\n </div>\n </div>\n\n <!-- Show More Options -->\n <div *ngIf=\"showMore && hiddenSortOptions.length > 0\">\n <span\n [style.padding]=\"'20px 10px 0px 10px'\"\n [style.color]=\"'black'\"\n class=\"cursor-pointer block\"\n (click)=\"toggleShowMore()\"\n >\n {{ showMoreText }}\n </span>\n </div>\n </div>\n <hr />\n <!-- Sort Button -->\n <div class=\"btn-wrapper\">\n <button\n [style.margin-top]=\"'0.5rem'\"\n [style.outline]=\"'none'\"\n [style.border]=\"'none'\"\n [style.padding]=\"'0.2rem 1.6rem'\"\n [style.background-color]=\"primaryColor\"\n [style.color]=\"tertiaryColor\"\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'600'\"\n [disabled]=\"countSelectedSorts() === 0\"\n [ngClass]=\"{\n disabledBtn:countSelectedSorts()===0,\n enableBtn:countSelectedSorts()!==0,\n }\"\n (click)=\"applySort()\"\n >\n {{ sortButtonText }}\n </button>\n </div>\n</div>\n", styles: ["hr{border:1px solid rgba(232,234,241,1);margin:.8rem 0rem}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.font-semibold{font-weight:600}.font-normal{font-weight:400}.text-sm{font-size:14px}.gap{gap:7px}.gap-sm{gap:4px}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pd{padding:10px}.sort-header{margin-bottom:10px;padding:10px 0}input[type=checkbox].checked{accent-color:#3479E9}.block{display:block}.btn-wrapper{display:flex;justify-content:end}.gap-md{gap:2px}.disabledBtn{cursor:not-allowed}.enabledBtn{cursor:pointer}\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: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }] });
|
|
177
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: SortTableComponent, selector: "verben-sort-table", inputs: { enableDragAndDrop: "enableDragAndDrop", sortOptions: "sortOptions", resetText: "resetText", displayedOptions: "displayedOptions", propertyText: "propertyText", showMoreText: "showMoreText", sortButtonText: "sortButtonText", pd: "pd", mg: "mg", height: "height", width: "width", bgColor: "bgColor", boxShadow: "boxShadow", textColor: "textColor", primaryColor: "primaryColor", secondaryColor: "secondaryColor", tertiaryColor: "tertiaryColor", border: "border", borderRadius: "borderRadius", selectWidth: "selectWidth", containerHeight: "containerHeight" }, outputs: { selectedOptions: "selectedOptions", resetSortData: "resetSortData" }, ngImport: i0, template: "<div\n [style.background-color]=\"bgColor\"\n [style.box-shadow]=\"boxShadow\"\n [style.border]=\"border\"\n [style.border-radius]=\"borderRadius\"\n [style.color]=\"textColor\"\n [style.width]=\"width\"\n [style.height]=\"height\"\n [style.padding]=\"pd\"\n>\n <!-- Header Section -->\n <div class=\"sort-header flex justify-between text-sm\">\n <span class=\"sort-title font-semibold\">\n Sort\n <sup [style.color]=\"secondaryColor\">[{{ countSelectedSorts() }}]</sup>\n </span>\n <span\n [style.color]=\"secondaryColor\"\n [style.border]=\"'none'\"\n [style.cursor]=\"'pointer'\"\n [style.font-size]=\"'12px'\"\n class=\"cursor-pointer\"\n (click)=\"resetSort()\"\n >{{ resetText }}</span\n >\n\n </div>\n <hr />\n <!-- Sort Options -->\n <div [style.max-height]=\"containerHeight\" class=\"sort-options\">\n <p class=\"pd\">{{ propertyText }}</p>\n <div class=\"flex items-center gap\" [style.padding]=\"'4px 10px'\">\n <label [style.font-size]=\"'13px'\" [style.font-weight]=\"'500'\">\n <input type=\"checkbox\" [checked]=\"checkAll\"\n (change)=\"toggleSelectAll()\" />\n Select All\n </label>\n </div>\n\n <div\n *ngFor=\"let option of visibleSortOptions; let i = index\"\n [attr.draggable]=\"enableDragAndDrop\"\n (dragstart)=\"onDragStart(i, $event)\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop(i, $event)\"\n class=\"sort-option\"\n >\n <div [style.font-size]=\"'14px'\" [style.margin-top]=\"'13px'\">\n <div class=\"flex items-center gap-md\">\n <verben-svg\n *ngIf=\"enableDragAndDrop\"\n fill=\"black\"\n [width]=\"25\"\n class=\"svg\"\n icon=\"square-dot\"\n ></verben-svg>\n <div class=\"flex items-center gap\">\n <input\n type=\"checkbox\"\n [checked]=\"option.checked\"\n (change)=\"toggleSort(i)\"\n />\n <span>{{ option.name }}</span>\n </div>\n </div>\n\n <!-- Sorting Controls -->\n <div class=\"flex items-center gap\" [style.margin-left]=\"'35px'\">\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'Number'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"asc\"\n [checked]=\"selectedOrders.get(i) === 'asc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'asc')\"\n />\n 1-100\n </label>\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'Number'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"desc\"\n [checked]=\"selectedOrders.get(i) === 'desc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'desc')\"\n />\n 100-1\n </label>\n\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'String' || option.type === 'Date'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"asc\"\n [checked]=\"selectedOrders.get(i) === 'asc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'asc')\"\n />\n A-Z\n </label>\n <label\n class=\"flex items-center gap-sm\"\n *ngIf=\"option.type === 'String' || option.type === 'Date'\"\n >\n <input\n type=\"radio\"\n name=\"sortOrder{{ i }}\"\n value=\"desc\"\n [checked]=\"selectedOrders.get(i) === 'desc'\"\n [disabled]=\"!option.checked\"\n (change)=\"setSortOrder(i, 'desc')\"\n />\n Z-A\n </label>\n </div>\n </div>\n </div>\n\n <!-- Show More Options -->\n <div *ngIf=\"showMore && hiddenSortOptions.length > 0\">\n <span\n [style.padding]=\"'20px 10px 0px 10px'\"\n [style.color]=\"'black'\"\n class=\"cursor-pointer block\"\n (click)=\"toggleShowMore()\"\n >\n {{ showMoreText }}\n </span>\n </div>\n </div>\n <hr />\n <!-- Sort Button -->\n <div class=\"btn-wrapper\">\n <button\n [style.margin-top]=\"'0.5rem'\"\n [style.outline]=\"'none'\"\n [style.border]=\"'none'\"\n [style.padding]=\"'0.2rem 1.6rem'\"\n [style.background-color]=\"primaryColor\"\n [style.color]=\"tertiaryColor\"\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'600'\"\n [disabled]=\"countSelectedSorts() === 0\"\n [ngClass]=\"{\n disabledBtn:countSelectedSorts()===0,\n enableBtn:countSelectedSorts()!==0,\n }\"\n (click)=\"applySort()\"\n >\n {{ sortButtonText }}\n </button>\n </div>\n</div>\n", styles: ["hr{border:1px solid rgba(232,234,241,1);margin:.8rem 0rem}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.font-semibold{font-weight:600}.font-normal{font-weight:400}.text-sm{font-size:14px}.gap{gap:7px}.gap-sm{gap:4px}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pd{padding:10px}.sort-header{margin-bottom:10px;padding:10px 0}input[type=checkbox].checked{accent-color:#3479E9}.block{display:block}.btn-wrapper{display:flex;justify-content:end}.gap-md{gap:2px}.disabledBtn{cursor:not-allowed}.enabledBtn{cursor:pointer}\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: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }] });
|
|
176
178
|
}
|
|
177
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SortTableComponent, decorators: [{
|
|
178
180
|
type: Component,
|
|
@@ -221,5 +223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
221
223
|
type: Input
|
|
222
224
|
}], selectedOptions: [{
|
|
223
225
|
type: Output
|
|
226
|
+
}], resetSortData: [{
|
|
227
|
+
type: Output
|
|
224
228
|
}] } });
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3NvcnQtdGFibGUvc29ydC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3NvcnQtdGFibGUvc29ydC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLFdBQVcsR0FBa0IsRUFBRSxDQUFDO0lBQ2hDLFNBQVMsR0FBVyxPQUFPLENBQUM7SUFDNUIsZ0JBQWdCLEdBQVcsQ0FBQyxDQUFDO0lBQzdCLFlBQVksR0FBVyxVQUFVLENBQUM7SUFDbEMsWUFBWSxHQUFXLFdBQVcsQ0FBQztJQUNuQyxjQUFjLEdBQVcsTUFBTSxDQUFDO0lBQ2hDLEVBQUUsQ0FBVTtJQUNaLEVBQUUsQ0FBVTtJQUNaLE1BQU0sQ0FBVTtJQUNoQixLQUFLLENBQVU7SUFDZixPQUFPLENBQVU7SUFDakIsU0FBUyxDQUFVO0lBQ25CLFNBQVMsQ0FBVTtJQUNuQixZQUFZLENBQVU7SUFDdEIsY0FBYyxDQUFVO0lBQ3hCLGFBQWEsQ0FBVTtJQUN2QixNQUFNLEdBQVUsRUFBRSxDQUFDO0lBQ25CLFlBQVksQ0FBVTtJQUN0QixXQUFXLENBQVU7SUFDckIsZUFBZSxHQUFTLE9BQU8sQ0FBQTtJQUM5QixlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFDOUQsWUFBWSxHQUFrQixJQUFJLENBQUM7SUFDbkMsa0JBQWtCLEdBQWlCLEVB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TztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLWZpbHRlcic7XG5pbXBvcnQgeyBJRGF0YUZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhLWZpbHRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1zb3J0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NvcnQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zb3J0LXRhYmxlLmNvbXBvbmVudC5jc3MnXSxcblxufSlcbmV4cG9ydCBjbGFzcyBTb3J0VGFibGVDb21wb25lbnQge1xuICBASW5wdXQoKSBlbmFibGVEcmFnQW5kRHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzb3J0T3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtdO1xuICBASW5wdXQoKSByZXNldFRleHQ6IHN0cmluZyA9ICdSZXNldCc7XG4gIEBJbnB1dCgpIGRpc3BsYXllZE9wdGlvbnM6IG51bWJlciA9IDQ7XG4gIEBJbnB1dCgpIHByb3BlcnR5VGV4dDogc3RyaW5nID0gJ1Byb3BlcnR5JztcbiAgQElucHV0KCkgc2hvd01vcmVUZXh0OiBzdHJpbmcgPSAnU2hvdyBtb3JlJztcbiAgQElucHV0KCkgc29ydEJ1dHRvblRleHQ6IHN0cmluZyA9ICdTb3J0JztcbiAgQElucHV0KCkgcGQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1nPzogc3RyaW5nO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBiZ0NvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBib3hTaGFkb3c/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgcHJpbWFyeUNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWNvbmRhcnlDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgdGVydGlhcnlDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgYm9yZGVyPzogc3RyaW5nPVwiXCI7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1cz86IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0V2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRhaW5lckhlaWdodD86c3RyaW5nPVwiNDAwcHhcIlxuICBAT3V0cHV0KCkgc2VsZWN0ZWRPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxJRGF0YUZpbHRlcltdPigpO1xuICBkcmFnZ2VkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICB2aXNpYmxlU29ydE9wdGlvbnM6IElEYXRhRmlsdGVyW109IFtdO1xuICBoaWRkZW5Tb3J0T3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtdO1xuICBzaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNhYmxlU29ydEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZE9yZGVyczogTWFwPG51bWJlciwgJ2FzYycgfCAnZGVzYyc+ID0gbmV3IE1hcCgpO1xuICBkZWZhdWx0U29ydE9wdGlvbnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgY2hlY2tBbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kZWZhdWx0U29ydE9wdGlvbnMgPSBbLi4udGhpcy5zb3J0T3B0aW9uc107XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlT3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlU29ydEJ1dHRvblN0YXRlKCk7XG4gIH1cblxuICB1cGRhdGVWaXNpYmxlT3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5zb3J0T3B0aW9ucy5sZW5ndGggPiB0aGlzLmRpc3BsYXllZE9wdGlvbnMpIHtcbiAgICAgIHRoaXMudmlzaWJsZVNvcnRPcHRpb25zID0gdGhpcy5zb3J0T3B0aW9ucy5zbGljZShcbiAgICAgICAgMCxcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRPcHRpb25zXG4gICAgICApO1xuICAgICAgdGhpcy5oaWRkZW5Tb3J0T3B0aW9ucyA9IHRoaXMuc29ydE9wdGlvbnMuc2xpY2UodGhpcy5kaXNwbGF5ZWRPcHRpb25zKTtcbiAgICAgIHRoaXMuc2hvd01vcmUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGVTb3J0T3B0aW9ucyA9IHRoaXMuc29ydE9wdGlvbnM7XG4gICAgICB0aGlzLnNob3dNb3JlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2hvd01vcmUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd01vcmVUZXh0ID09PSAnU2hvdyBtb3JlJykge1xuICAgICAgdGhpcy52aXNpYmxlU29ydE9wdGlvbnMucHVzaCguLi50aGlzLmhpZGRlblNvcnRPcHRpb25zKTtcbiAgICAgIHRoaXMuc2hvd01vcmVUZXh0ID0gJ1Nob3cgbGVzcyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZU9wdGlvbnMoKTtcbiAgICAgIHRoaXMuc2hvd01vcmVUZXh0ID0gJ1Nob3cgbW9yZSc7XG4gICAgfVxuICB9XG4gIGFwcGx5U29ydCgpIHtcbiAgICBjb25zdCBzZWxlY3RlZFNvcnRzID0gdGhpcy5zb3J0T3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmNoZWNrZWQpO1xuICAgIGNvbnN0IHNlbGVjdGVkU29ydERldGFpbHMgPSBzZWxlY3RlZFNvcnRzLm1hcCgoc29ydCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6c29ydC5uYW1lLFxuICAgICAgICB0eXBlOiBzb3J0LnR5cGUgfHwgJ1N0cmluZycsXG4gICAgICAgIHZhbHVlOlxuICAgICAgICAgIHRoaXMuZ2V0U29ydE9yZGVyKFxuICAgICAgICAgICAgc29ydC50eXBlLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9yZGVycy5nZXQoaW5kZXgpIHx8ICdhc2MnXG4gICAgICAgICAgKSB8fCAnJyxcbiAgICAgICAgY2hlY2tlZDogc29ydC5jaGVja2VkIHx8IGZhbHNlLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5lbWl0KHNlbGVjdGVkU29ydERldGFpbHMpO1xuICAgIHJldHVybiBzZWxlY3RlZFNvcnREZXRhaWxzO1xuICB9XG4gIGdldFNvcnRPcmRlcih0eXBlOiBEYXRhRmlsdGVyVHlwZSwgc2VsZWN0ZWRPcmRlcjogJ2FzYycgfCAnZGVzYycpIHtcbiAgICBpZiAodHlwZSA9PT0gJ051bWJlcicpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9yZGVyID09PSAnYXNjJyA/ICdhc2MnIDogJ2Rlc2MnO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ1N0cmluZycpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9yZGVyID09PSAnYXNjJyA/ICdhc2MnIDogJ2Rlc2MnO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ0RhdGUnKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRPcmRlciA9PT0gJ2FzYycgPyAnYXNjJyA6ICdkZXNjJztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0b2dnbGVTb3J0KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBvcHRpb24gPSB0aGlzLnNvcnRPcHRpb25zW2luZGV4XTtcbiAgICBvcHRpb24uY2hlY2tlZCA9ICFvcHRpb24uY2hlY2tlZDtcbiAgICBpZiAoIW9wdGlvbi5jaGVja2VkKSB7XG4gICAgICB0aGlzLmNoZWNrQWxsID0gZmFsc2U7IFxuICAgIH0gZWxzZSBpZiAodGhpcy5zb3J0T3B0aW9ucy5ldmVyeShvcHRpb24gPT4gb3B0aW9uLmNoZWNrZWQpKSB7XG4gICAgICB0aGlzLmNoZWNrQWxsID0gdHJ1ZTsgXG4gICAgfVxuICAgIFxuICAgIGlmIChvcHRpb24uY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE9yZGVycy5zZXQoaW5kZXgsICdhc2MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZE9yZGVycy5kZWxldGUoaW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVNvcnRCdXR0b25TdGF0ZSgpO1xuICB9XG4gIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLmNoZWNrQWxsID0gIXRoaXMuY2hlY2tBbGw7ICAvLyBUb2dnbGUgY2hlY2tBbGwgc3RhdGVcbiAgXG4gICAgLy8gU2V0IGFsbCBvcHRpb25zIHRvIGNoZWNrZWQvdW5jaGVja2VkIGFuZCBhc3NpZ24gZGVmYXVsdCBzb3J0IG9yZGVyIHdoZW4gY2hlY2tlZFxuICAgIHRoaXMuc29ydE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgb3B0aW9uLmNoZWNrZWQgPSB0aGlzLmNoZWNrQWxsO1xuICAgICAgXG4gICAgICBpZiAodGhpcy5jaGVja0FsbCkge1xuICAgICAgICAvLyBJZiBjaGVja2VkLCBzZXQgdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0byAnYXNjJyBmb3IgYWxsXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcmRlcnMuc2V0KGluZGV4LCAnYXNjJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB1bmNoZWNrZWQsIHJlbW92ZSB0aGUgc29ydCBvcmRlclxuICAgICAgICB0aGlzLnNlbGVjdGVkT3JkZXJzLmRlbGV0ZShpbmRleCk7XG4gICAgICB9XG4gICAgfSk7XG4gIFxuICAgIHRoaXMudXBkYXRlU29ydEJ1dHRvblN0YXRlKCk7IC8vIFVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlIHNvcnQgYnV0dG9uXG4gIH1cbiAgXG4gIHJlc2V0U29ydCgpIHtcbiAgICB0aGlzLnNvcnRPcHRpb25zLmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgIG9wdGlvbi5jaGVja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdGVkT3JkZXJzLmRlbGV0ZShpbmRleCk7XG4gICAgfSk7XG4gIFxuICAgIHRoaXMuc29ydE9wdGlvbnMgPSBbLi4udGhpcy5kZWZhdWx0U29ydE9wdGlvbnNdO1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZU9wdGlvbnMoKTtcbiAgICB0aGlzLnVwZGF0ZVNvcnRCdXR0b25TdGF0ZSgpO1xuICAgIHRoaXMuY2hlY2tBbGw9ZmFsc2VcbiAgfVxuXG4gIHVwZGF0ZVNvcnRCdXR0b25TdGF0ZSgpIHtcbiAgICB0aGlzLmRpc2FibGVTb3J0QnV0dG9uID0gdGhpcy5jb3VudFNlbGVjdGVkU29ydHMoKSA9PT0gMDtcbiAgfVxuXG4gIGNvdW50U2VsZWN0ZWRTb3J0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uY2hlY2tlZCkubGVuZ3RoO1xuICB9XG5cbiAgc2V0U29ydE9yZGVyKGluZGV4OiBudW1iZXIsIG9yZGVyOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIHRoaXMuc2VsZWN0ZWRPcmRlcnMuc2V0KGluZGV4LCBvcmRlcik7XG4gIH1cblxuICBvbkRyYWdTdGFydChpbmRleDogbnVtYmVyLCBldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZURyYWdBbmREcm9wKSByZXR1cm47XG4gICAgdGhpcy5kcmFnZ2VkSW5kZXggPSBpbmRleDtcbiAgICBldmVudC5kYXRhVHJhbnNmZXI/LnNldERhdGEoJ3RleHQvcGxhaW4nLCBTdHJpbmcoaW5kZXgpKTtcbiAgfVxuXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICghdGhpcy5lbmFibGVEcmFnQW5kRHJvcCkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBvbkRyb3AoaW5kZXg6IG51bWJlciwgZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICghdGhpcy5lbmFibGVEcmFnQW5kRHJvcCkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuZHJhZ2dlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnN3YXBDb2x1bW5zKHRoaXMuZHJhZ2dlZEluZGV4LCBpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgc3dhcENvbHVtbnMoZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcikge1xuICAgIGlmIChcbiAgICAgIGZyb21JbmRleCA8IHRoaXMudmlzaWJsZVNvcnRPcHRpb25zLmxlbmd0aCAmJlxuICAgICAgdG9JbmRleCA8IHRoaXMudmlzaWJsZVNvcnRPcHRpb25zLmxlbmd0aFxuICAgICkge1xuICAgICAgY29uc3QgdGVtcCA9IHRoaXMudmlzaWJsZVNvcnRPcHRpb25zW2Zyb21JbmRleF07XG4gICAgICB0aGlzLnZpc2libGVTb3J0T3B0aW9uc1tmcm9tSW5kZXhdID0gdGhpcy52aXNpYmxlU29ydE9wdGlvbnNbdG9JbmRleF07XG4gICAgICB0aGlzLnZpc2libGVTb3J0T3B0aW9uc1t0b0luZGV4XSA9IHRlbXA7XG5cbiAgICAgIGNvbnN0IGdsb2JhbEZyb21JbmRleCA9IHRoaXMuc29ydE9wdGlvbnMuaW5kZXhPZih0ZW1wKTtcbiAgICAgIGNvbnN0IGdsb2JhbFRvSW5kZXggPSB0aGlzLnNvcnRPcHRpb25zLmluZGV4T2YoXG4gICAgICAgIHRoaXMudmlzaWJsZVNvcnRPcHRpb25zW2Zyb21JbmRleF1cbiAgICAgICk7XG5cbiAgICAgIGlmIChnbG9iYWxGcm9tSW5kZXggIT09IC0xICYmIGdsb2JhbFRvSW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHRlbXBHbG9iYWwgPSB0aGlzLnNvcnRPcHRpb25zW2dsb2JhbEZyb21JbmRleF07XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnNbZ2xvYmFsRnJvbUluZGV4XSA9IHRoaXMuc29ydE9wdGlvbnNbZ2xvYmFsVG9JbmRleF07XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnNbZ2xvYmFsVG9JbmRleF0gPSB0ZW1wR2xvYmFsO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRyYWdnZWRJbmRleCA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmdDb2xvclwiXG4gIFtzdHlsZS5ib3gtc2hhZG93XT1cImJveFNoYWRvd1wiXG4gIFtzdHlsZS5ib3JkZXJdPVwiYm9yZGVyXCJcbiAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcbiAgW3N0eWxlLmNvbG9yXT1cInRleHRDb2xvclwiXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4gIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcbiAgW3N0eWxlLnBhZGRpbmddPVwicGRcIlxuPlxuICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwic29ydC1oZWFkZXIgZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbVwiPlxuICAgIDxzcGFuIGNsYXNzPVwic29ydC10aXRsZSBmb250LXNlbWlib2xkXCI+XG4gICAgICBTb3J0XG4gICAgICA8c3VwIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiPlt7eyBjb3VudFNlbGVjdGVkU29ydHMoKSB9fV08L3N1cD5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiXG4gICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiXG4gICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgIChjbGljayk9XCJyZXNldFNvcnQoKVwiXG4gICAgICA+e3sgcmVzZXRUZXh0IH19PC9zcGFuXG4gICAgPlxuXG4gIDwvZGl2PlxuICA8aHIgLz5cbiAgPCEtLSBTb3J0IE9wdGlvbnMgLS0+XG4gIDxkaXYgW3N0eWxlLm1heC1oZWlnaHRdPVwiY29udGFpbmVySGVpZ2h0XCIgY2xhc3M9XCJzb3J0LW9wdGlvbnNcIj5cbiAgICA8cCBjbGFzcz1cInBkXCI+e3sgcHJvcGVydHlUZXh0IH19PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXBcIiBbc3R5bGUucGFkZGluZ109XCInNHB4IDEwcHgnXCI+XG4gICAgICA8bGFiZWwgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIiBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImNoZWNrQWxsXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiIC8+XG4gICAgICAgIFNlbGVjdCBBbGxcbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHZpc2libGVTb3J0T3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbYXR0ci5kcmFnZ2FibGVdPVwiZW5hYmxlRHJhZ0FuZERyb3BcIlxuICAgICAgKGRyYWdzdGFydCk9XCJvbkRyYWdTdGFydChpLCAkZXZlbnQpXCJcbiAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxuICAgICAgKGRyb3ApPVwib25Ecm9wKGksICRldmVudClcIlxuICAgICAgY2xhc3M9XCJzb3J0LW9wdGlvblwiXG4gICAgPlxuICAgICAgPGRpdiBbc3R5bGUuZm9udC1zaXplXT1cIicxNHB4J1wiIFtzdHlsZS5tYXJnaW4tdG9wXT1cIicxM3B4J1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLW1kXCI+XG4gICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICpuZ0lmPVwiZW5hYmxlRHJhZ0FuZERyb3BcIlxuICAgICAgICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyNVwiXG4gICAgICAgICAgICBjbGFzcz1cInN2Z1wiXG4gICAgICAgICAgICBpY29uPVwic3F1YXJlLWRvdFwiXG4gICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNvcnQoaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuPnt7IG9wdGlvbi5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFNvcnRpbmcgQ29udHJvbHMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXBcIiBbc3R5bGUubWFyZ2luLWxlZnRdPVwiJzM1cHgnXCI+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC1zbVwiXG4gICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi50eXBlID09PSAnTnVtYmVyJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzb3J0T3JkZXJ7eyBpIH19XCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJhc2NcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZE9yZGVycy5nZXQoaSkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdhc2MnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgMS0xMDBcbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtc21cIlxuICAgICAgICAgICAgKm5nSWY9XCJvcHRpb24udHlwZSA9PT0gJ051bWJlcidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBuYW1lPVwic29ydE9yZGVye3sgaSB9fVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiZGVzY1wiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkT3JkZXJzLmdldChpKSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdkZXNjJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDEwMC0xXG4gICAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtc21cIlxuICAgICAgICAgICAgKm5nSWY9XCJvcHRpb24udHlwZSA9PT0gJ1N0cmluZycgfHwgb3B0aW9uLnR5cGUgPT09ICdEYXRlJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzb3J0T3JkZXJ7eyBpIH19XCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJhc2NcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZE9yZGVycy5nZXQoaSkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdhc2MnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQS1aXG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXNtXCJcbiAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uLnR5cGUgPT09ICdTdHJpbmcnIHx8IG9wdGlvbi50eXBlID09PSAnRGF0ZSdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBuYW1lPVwic29ydE9yZGVye3sgaSB9fVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiZGVzY1wiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkT3JkZXJzLmdldChpKSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdkZXNjJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIFotQVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFNob3cgTW9yZSBPcHRpb25zIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93TW9yZSAmJiBoaWRkZW5Tb3J0T3B0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICA8c3BhblxuICAgICAgICBbc3R5bGUucGFkZGluZ109XCInMjBweCAxMHB4IDBweCAxMHB4J1wiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCInYmxhY2snXCJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBibG9ja1wiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTaG93TW9yZSgpXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd01vcmVUZXh0IH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8aHIgLz5cbiAgPCEtLSBTb3J0IEJ1dHRvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImJ0bi13cmFwcGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlLm1hcmdpbi10b3BdPVwiJzAuNXJlbSdcIlxuICAgICAgW3N0eWxlLm91dGxpbmVdPVwiJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5wYWRkaW5nXT1cIicwLjJyZW0gMS42cmVtJ1wiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJwcmltYXJ5Q29sb3JcIlxuICAgICAgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIlxuICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIic2MDAnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb3VudFNlbGVjdGVkU29ydHMoKSA9PT0gMFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICBkaXNhYmxlZEJ0bjpjb3VudFNlbGVjdGVkU29ydHMoKT09PTAsXG4gICAgICBlbmFibGVCdG46Y291bnRTZWxlY3RlZFNvcnRzKCkhPT0wLFxuICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwiYXBwbHlTb3J0KClcIlxuICAgID5cbiAgICAgIHt7IHNvcnRCdXR0b25UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3NvcnQtdGFibGUvc29ydC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3NvcnQtdGFibGUvc29ydC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLFdBQVcsR0FBa0IsRUFBRSxDQUFDO0lBQ2hDLFNBQVMsR0FBVyxPQUFPLENBQUM7SUFDNUIsZ0JBQWdCLEdBQVcsQ0FBQyxDQUFDO0lBQzdCLFlBQVksR0FBVyxVQUFVLENBQUM7SUFDbEMsWUFBWSxHQUFXLFdBQVcsQ0FBQztJQUNuQyxjQUFjLEdBQVcsTUFBTSxDQUFDO0lBQ2hDLEVBQUUsQ0FBVTtJQUNaLEVBQUUsQ0FBVTtJQUNaLE1BQU0sQ0FBVTtJQUNoQixLQUFLLENBQVU7SUFDZixPQUFPLENBQVU7SUFDakIsU0FBUyxDQUFVO0lBQ25CLFNBQVMsQ0FBVTtJQUNuQixZQUFZLENBQVU7SUFDdEIsY0FBYyxDQUFVO0lBQ3hCLGFBQWEsQ0FBVTtJQUN2QixNQUFNLEdBQVUsRUFBRSxDQUFDO0lBQ25CLFlBQVksQ0FBVTtJQUN0QixXQUFXLENBQVU7SUFDckIsZUFBZSxHQUFTLE9BQU8sQ0FBQTtJQUM5QixlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFDcEQsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0MsWUFBWSxH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SztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhRmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1maWx0ZXInO1xuaW1wb3J0IHsgSURhdGFGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS1maWx0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tc29ydC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zb3J0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc29ydC10YWJsZS5jb21wb25lbnQuY3NzJ10sXG5cbn0pXG5leHBvcnQgY2xhc3MgU29ydFRhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZW5hYmxlRHJhZ0FuZERyb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc29ydE9wdGlvbnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgQElucHV0KCkgcmVzZXRUZXh0OiBzdHJpbmcgPSAnUmVzZXQnO1xuICBASW5wdXQoKSBkaXNwbGF5ZWRPcHRpb25zOiBudW1iZXIgPSA0O1xuICBASW5wdXQoKSBwcm9wZXJ0eVRleHQ6IHN0cmluZyA9ICdQcm9wZXJ0eSc7XG4gIEBJbnB1dCgpIHNob3dNb3JlVGV4dDogc3RyaW5nID0gJ1Nob3cgbW9yZSc7XG4gIEBJbnB1dCgpIHNvcnRCdXR0b25UZXh0OiBzdHJpbmcgPSAnU29ydCc7XG4gIEBJbnB1dCgpIHBkPzogc3RyaW5nO1xuICBASW5wdXQoKSBtZz86IHN0cmluZztcbiAgQElucHV0KCkgaGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSB3aWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgYmdDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgYm94U2hhZG93Pzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByaW1hcnlDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgc2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRlcnRpYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlcj86IHN0cmluZz1cIlwiO1xuICBASW5wdXQoKSBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdFdpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBjb250YWluZXJIZWlnaHQ/OnN0cmluZz1cIjQwMHB4XCJcbiAgQE91dHB1dCgpIHNlbGVjdGVkT3B0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8SURhdGFGaWx0ZXJbXT4oKTtcbiAgQE91dHB1dCgpIHJlc2V0U29ydERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGRyYWdnZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHZpc2libGVTb3J0T3B0aW9uczogSURhdGFGaWx0ZXJbXT0gW107XG4gIGhpZGRlblNvcnRPcHRpb25zOiBJRGF0YUZpbHRlcltdID0gW107XG4gIHNob3dNb3JlOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVTb3J0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkT3JkZXJzOiBNYXA8bnVtYmVyLCAnYXNjJyB8ICdkZXNjJz4gPSBuZXcgTWFwKCk7XG4gIGRlZmF1bHRTb3J0T3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtdO1xuICBjaGVja0FsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRlZmF1bHRTb3J0T3B0aW9ucyA9IFsuLi50aGlzLnNvcnRPcHRpb25zXTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVPcHRpb25zKCk7XG4gICAgdGhpcy51cGRhdGVTb3J0QnV0dG9uU3RhdGUoKTtcbiAgfVxuXG4gIHVwZGF0ZVZpc2libGVPcHRpb25zKCkge1xuICAgIGlmICh0aGlzLnNvcnRPcHRpb25zLmxlbmd0aCA+IHRoaXMuZGlzcGxheWVkT3B0aW9ucykge1xuICAgICAgdGhpcy52aXNpYmxlU29ydE9wdGlvbnMgPSB0aGlzLnNvcnRPcHRpb25zLnNsaWNlKFxuICAgICAgICAwLFxuICAgICAgICB0aGlzLmRpc3BsYXllZE9wdGlvbnNcbiAgICAgICk7XG4gICAgICB0aGlzLmhpZGRlblNvcnRPcHRpb25zID0gdGhpcy5zb3J0T3B0aW9ucy5zbGljZSh0aGlzLmRpc3BsYXllZE9wdGlvbnMpO1xuICAgICAgdGhpcy5zaG93TW9yZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZVNvcnRPcHRpb25zID0gdGhpcy5zb3J0T3B0aW9ucztcbiAgICAgIHRoaXMuc2hvd01vcmUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTaG93TW9yZSgpIHtcbiAgICBpZiAodGhpcy5zaG93TW9yZVRleHQgPT09ICdTaG93IG1vcmUnKSB7XG4gICAgICB0aGlzLnZpc2libGVTb3J0T3B0aW9ucy5wdXNoKC4uLnRoaXMuaGlkZGVuU29ydE9wdGlvbnMpO1xuICAgICAgdGhpcy5zaG93TW9yZVRleHQgPSAnU2hvdyBsZXNzJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWaXNpYmxlT3B0aW9ucygpO1xuICAgICAgdGhpcy5zaG93TW9yZVRleHQgPSAnU2hvdyBtb3JlJztcbiAgICB9XG4gIH1cbiAgYXBwbHlTb3J0KCkge1xuICAgIGNvbnN0IHNlbGVjdGVkU29ydHMgPSB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uY2hlY2tlZCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRTb3J0RGV0YWlscyA9IHNlbGVjdGVkU29ydHMubWFwKChzb3J0LCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTpzb3J0Lm5hbWUsXG4gICAgICAgIHR5cGU6IHNvcnQudHlwZSB8fCAnU3RyaW5nJyxcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgdGhpcy5nZXRTb3J0T3JkZXIoXG4gICAgICAgICAgICBzb3J0LnR5cGUsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3JkZXJzLmdldChpbmRleCkgfHwgJ2FzYydcbiAgICAgICAgICApIHx8ICcnLFxuICAgICAgICBjaGVja2VkOiBzb3J0LmNoZWNrZWQgfHwgZmFsc2UsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLmVtaXQoc2VsZWN0ZWRTb3J0RGV0YWlscyk7XG4gICAgcmV0dXJuIHNlbGVjdGVkU29ydERldGFpbHM7XG4gIH1cbiAgZ2V0U29ydE9yZGVyKHR5cGU6IERhdGFGaWx0ZXJUeXBlLCBzZWxlY3RlZE9yZGVyOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIGlmICh0eXBlID09PSAnTnVtYmVyJykge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkT3JkZXIgPT09ICdhc2MnID8gJ2FzYycgOiAnZGVzYyc7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnU3RyaW5nJykge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkT3JkZXIgPT09ICdhc2MnID8gJ2FzYycgOiAnZGVzYyc7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnRGF0ZScpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9yZGVyID09PSAnYXNjJyA/ICdhc2MnIDogJ2Rlc2MnO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRvZ2dsZVNvcnQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuc29ydE9wdGlvbnNbaW5kZXhdO1xuICAgIG9wdGlvbi5jaGVja2VkID0gIW9wdGlvbi5jaGVja2VkO1xuICAgIGlmICghb3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tBbGwgPSBmYWxzZTsgXG4gICAgfSBlbHNlIGlmICh0aGlzLnNvcnRPcHRpb25zLmV2ZXJ5KG9wdGlvbiA9PiBvcHRpb24uY2hlY2tlZCkpIHtcbiAgICAgIHRoaXMuY2hlY2tBbGwgPSB0cnVlOyBcbiAgICB9XG4gICAgXG4gICAgaWYgKG9wdGlvbi5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3JkZXJzLnNldChpbmRleCwgJ2FzYycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3JkZXJzLmRlbGV0ZShpbmRleCk7XG4gICAgfVxuICAgIHRoaXMudXBkYXRlU29ydEJ1dHRvblN0YXRlKCk7XG4gIH1cbiAgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgIHRoaXMuY2hlY2tBbGwgPSAhdGhpcy5jaGVja0FsbDsgIC8vIFRvZ2dsZSBjaGVja0FsbCBzdGF0ZVxuICBcbiAgICAvLyBTZXQgYWxsIG9wdGlvbnMgdG8gY2hlY2tlZC91bmNoZWNrZWQgYW5kIGFzc2lnbiBkZWZhdWx0IHNvcnQgb3JkZXIgd2hlbiBjaGVja2VkXG4gICAgdGhpcy5zb3J0T3B0aW9ucy5mb3JFYWNoKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICBvcHRpb24uY2hlY2tlZCA9IHRoaXMuY2hlY2tBbGw7XG4gICAgICBcbiAgICAgIGlmICh0aGlzLmNoZWNrQWxsKSB7XG4gICAgICAgIC8vIElmIGNoZWNrZWQsIHNldCB0aGUgZGVmYXVsdCBzb3J0IG9yZGVyIHRvICdhc2MnIGZvciBhbGxcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9yZGVycy5zZXQoaW5kZXgsICdhc2MnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHVuY2hlY2tlZCwgcmVtb3ZlIHRoZSBzb3J0IG9yZGVyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcmRlcnMuZGVsZXRlKGluZGV4KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gICAgdGhpcy51cGRhdGVTb3J0QnV0dG9uU3RhdGUoKTsgLy8gVXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgc29ydCBidXR0b25cbiAgfVxuICBcbiAgcmVzZXRTb3J0KCkge1xuICAgIHRoaXMuc29ydE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgb3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcmRlcnMuZGVsZXRlKGluZGV4KTtcbiAgICB9KTtcbiAgXG4gICAgdGhpcy5zb3J0T3B0aW9ucyA9IFsuLi50aGlzLmRlZmF1bHRTb3J0T3B0aW9uc107XG4gICAgdGhpcy51cGRhdGVWaXNpYmxlT3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlU29ydEJ1dHRvblN0YXRlKCk7XG4gICAgdGhpcy5jaGVja0FsbD1mYWxzZVxuICAgIHRoaXMucmVzZXRTb3J0RGF0YS5lbWl0KClcbiAgfVxuXG4gIHVwZGF0ZVNvcnRCdXR0b25TdGF0ZSgpIHtcbiAgICB0aGlzLmRpc2FibGVTb3J0QnV0dG9uID0gdGhpcy5jb3VudFNlbGVjdGVkU29ydHMoKSA9PT0gMDtcbiAgfVxuXG4gIGNvdW50U2VsZWN0ZWRTb3J0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uY2hlY2tlZCkubGVuZ3RoO1xuICB9XG5cbiAgc2V0U29ydE9yZGVyKGluZGV4OiBudW1iZXIsIG9yZGVyOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIHRoaXMuc2VsZWN0ZWRPcmRlcnMuc2V0KGluZGV4LCBvcmRlcik7XG4gIH1cblxuICBvbkRyYWdTdGFydChpbmRleDogbnVtYmVyLCBldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZURyYWdBbmREcm9wKSByZXR1cm47XG4gICAgdGhpcy5kcmFnZ2VkSW5kZXggPSBpbmRleDtcbiAgICBldmVudC5kYXRhVHJhbnNmZXI/LnNldERhdGEoJ3RleHQvcGxhaW4nLCBTdHJpbmcoaW5kZXgpKTtcbiAgfVxuXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICghdGhpcy5lbmFibGVEcmFnQW5kRHJvcCkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBvbkRyb3AoaW5kZXg6IG51bWJlciwgZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICghdGhpcy5lbmFibGVEcmFnQW5kRHJvcCkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuZHJhZ2dlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnN3YXBDb2x1bW5zKHRoaXMuZHJhZ2dlZEluZGV4LCBpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgc3dhcENvbHVtbnMoZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcikge1xuICAgIGlmIChcbiAgICAgIGZyb21JbmRleCA8IHRoaXMudmlzaWJsZVNvcnRPcHRpb25zLmxlbmd0aCAmJlxuICAgICAgdG9JbmRleCA8IHRoaXMudmlzaWJsZVNvcnRPcHRpb25zLmxlbmd0aFxuICAgICkge1xuICAgICAgY29uc3QgdGVtcCA9IHRoaXMudmlzaWJsZVNvcnRPcHRpb25zW2Zyb21JbmRleF07XG4gICAgICB0aGlzLnZpc2libGVTb3J0T3B0aW9uc1tmcm9tSW5kZXhdID0gdGhpcy52aXNpYmxlU29ydE9wdGlvbnNbdG9JbmRleF07XG4gICAgICB0aGlzLnZpc2libGVTb3J0T3B0aW9uc1t0b0luZGV4XSA9IHRlbXA7XG5cbiAgICAgIGNvbnN0IGdsb2JhbEZyb21JbmRleCA9IHRoaXMuc29ydE9wdGlvbnMuaW5kZXhPZih0ZW1wKTtcbiAgICAgIGNvbnN0IGdsb2JhbFRvSW5kZXggPSB0aGlzLnNvcnRPcHRpb25zLmluZGV4T2YoXG4gICAgICAgIHRoaXMudmlzaWJsZVNvcnRPcHRpb25zW2Zyb21JbmRleF1cbiAgICAgICk7XG5cbiAgICAgIGlmIChnbG9iYWxGcm9tSW5kZXggIT09IC0xICYmIGdsb2JhbFRvSW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHRlbXBHbG9iYWwgPSB0aGlzLnNvcnRPcHRpb25zW2dsb2JhbEZyb21JbmRleF07XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnNbZ2xvYmFsRnJvbUluZGV4XSA9IHRoaXMuc29ydE9wdGlvbnNbZ2xvYmFsVG9JbmRleF07XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnNbZ2xvYmFsVG9JbmRleF0gPSB0ZW1wR2xvYmFsO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRyYWdnZWRJbmRleCA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmdDb2xvclwiXG4gIFtzdHlsZS5ib3gtc2hhZG93XT1cImJveFNoYWRvd1wiXG4gIFtzdHlsZS5ib3JkZXJdPVwiYm9yZGVyXCJcbiAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcbiAgW3N0eWxlLmNvbG9yXT1cInRleHRDb2xvclwiXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4gIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcbiAgW3N0eWxlLnBhZGRpbmddPVwicGRcIlxuPlxuICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwic29ydC1oZWFkZXIgZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbVwiPlxuICAgIDxzcGFuIGNsYXNzPVwic29ydC10aXRsZSBmb250LXNlbWlib2xkXCI+XG4gICAgICBTb3J0XG4gICAgICA8c3VwIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiPlt7eyBjb3VudFNlbGVjdGVkU29ydHMoKSB9fV08L3N1cD5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiXG4gICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiXG4gICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgIChjbGljayk9XCJyZXNldFNvcnQoKVwiXG4gICAgICA+e3sgcmVzZXRUZXh0IH19PC9zcGFuXG4gICAgPlxuXG4gIDwvZGl2PlxuICA8aHIgLz5cbiAgPCEtLSBTb3J0IE9wdGlvbnMgLS0+XG4gIDxkaXYgW3N0eWxlLm1heC1oZWlnaHRdPVwiY29udGFpbmVySGVpZ2h0XCIgY2xhc3M9XCJzb3J0LW9wdGlvbnNcIj5cbiAgICA8cCBjbGFzcz1cInBkXCI+e3sgcHJvcGVydHlUZXh0IH19PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXBcIiBbc3R5bGUucGFkZGluZ109XCInNHB4IDEwcHgnXCI+XG4gICAgICA8bGFiZWwgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIiBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImNoZWNrQWxsXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiIC8+XG4gICAgICAgIFNlbGVjdCBBbGxcbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHZpc2libGVTb3J0T3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbYXR0ci5kcmFnZ2FibGVdPVwiZW5hYmxlRHJhZ0FuZERyb3BcIlxuICAgICAgKGRyYWdzdGFydCk9XCJvbkRyYWdTdGFydChpLCAkZXZlbnQpXCJcbiAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxuICAgICAgKGRyb3ApPVwib25Ecm9wKGksICRldmVudClcIlxuICAgICAgY2xhc3M9XCJzb3J0LW9wdGlvblwiXG4gICAgPlxuICAgICAgPGRpdiBbc3R5bGUuZm9udC1zaXplXT1cIicxNHB4J1wiIFtzdHlsZS5tYXJnaW4tdG9wXT1cIicxM3B4J1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLW1kXCI+XG4gICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICpuZ0lmPVwiZW5hYmxlRHJhZ0FuZERyb3BcIlxuICAgICAgICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyNVwiXG4gICAgICAgICAgICBjbGFzcz1cInN2Z1wiXG4gICAgICAgICAgICBpY29uPVwic3F1YXJlLWRvdFwiXG4gICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNvcnQoaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuPnt7IG9wdGlvbi5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFNvcnRpbmcgQ29udHJvbHMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXBcIiBbc3R5bGUubWFyZ2luLWxlZnRdPVwiJzM1cHgnXCI+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC1zbVwiXG4gICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi50eXBlID09PSAnTnVtYmVyJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzb3J0T3JkZXJ7eyBpIH19XCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJhc2NcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZE9yZGVycy5nZXQoaSkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdhc2MnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgMS0xMDBcbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtc21cIlxuICAgICAgICAgICAgKm5nSWY9XCJvcHRpb24udHlwZSA9PT0gJ051bWJlcidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBuYW1lPVwic29ydE9yZGVye3sgaSB9fVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiZGVzY1wiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkT3JkZXJzLmdldChpKSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdkZXNjJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDEwMC0xXG4gICAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtc21cIlxuICAgICAgICAgICAgKm5nSWY9XCJvcHRpb24udHlwZSA9PT0gJ1N0cmluZycgfHwgb3B0aW9uLnR5cGUgPT09ICdEYXRlJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzb3J0T3JkZXJ7eyBpIH19XCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJhc2NcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZE9yZGVycy5nZXQoaSkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdhc2MnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQS1aXG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXNtXCJcbiAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uLnR5cGUgPT09ICdTdHJpbmcnIHx8IG9wdGlvbi50eXBlID09PSAnRGF0ZSdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBuYW1lPVwic29ydE9yZGVye3sgaSB9fVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiZGVzY1wiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkT3JkZXJzLmdldChpKSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uY2hlY2tlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0U29ydE9yZGVyKGksICdkZXNjJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIFotQVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFNob3cgTW9yZSBPcHRpb25zIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93TW9yZSAmJiBoaWRkZW5Tb3J0T3B0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICA8c3BhblxuICAgICAgICBbc3R5bGUucGFkZGluZ109XCInMjBweCAxMHB4IDBweCAxMHB4J1wiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCInYmxhY2snXCJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBibG9ja1wiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTaG93TW9yZSgpXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd01vcmVUZXh0IH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8aHIgLz5cbiAgPCEtLSBTb3J0IEJ1dHRvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImJ0bi13cmFwcGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlLm1hcmdpbi10b3BdPVwiJzAuNXJlbSdcIlxuICAgICAgW3N0eWxlLm91dGxpbmVdPVwiJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgIFtzdHlsZS5wYWRkaW5nXT1cIicwLjJyZW0gMS42cmVtJ1wiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJwcmltYXJ5Q29sb3JcIlxuICAgICAgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIlxuICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIic2MDAnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb3VudFNlbGVjdGVkU29ydHMoKSA9PT0gMFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICBkaXNhYmxlZEJ0bjpjb3VudFNlbGVjdGVkU29ydHMoKT09PTAsXG4gICAgICBlbmFibGVCdG46Y291bnRTZWxlY3RlZFNvcnRzKCkhPT0wLFxuICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwiYXBwbHlTb3J0KClcIlxuICAgID5cbiAgICAgIHt7IHNvcnRCdXR0b25UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -26,6 +26,7 @@ export class TableFilterComponent {
|
|
|
26
26
|
maxFilterLength = 3;
|
|
27
27
|
tooltip = false;
|
|
28
28
|
filtersApplied = new EventEmitter();
|
|
29
|
+
resetSortData = new EventEmitter();
|
|
29
30
|
filterArray = [];
|
|
30
31
|
selectedFilterValue = '';
|
|
31
32
|
selectedFilterType;
|
|
@@ -70,6 +71,7 @@ export class TableFilterComponent {
|
|
|
70
71
|
this.duplicateMessage = '';
|
|
71
72
|
localStorage.removeItem(this.storageKey);
|
|
72
73
|
this.filterCount = this.savedFilters.filter(item => item.checked === true).length;
|
|
74
|
+
this.resetSortData.emit();
|
|
73
75
|
}
|
|
74
76
|
addFilter() {
|
|
75
77
|
if (!this.selectedFilterValue || !this.selectedCondition || !this.inputValue) {
|
|
@@ -173,7 +175,7 @@ export class TableFilterComponent {
|
|
|
173
175
|
}
|
|
174
176
|
}
|
|
175
177
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TableFilterComponent, selector: "verben-table-filter", inputs: { filterOptions: "filterOptions", pd: "pd", mg: "mg", height: "height", width: "width", bgColor: "bgColor", boxShadow: "boxShadow", textColor: "textColor", primaryColor: "primaryColor", secondaryColor: "secondaryColor", tertiaryColor: "tertiaryColor", border: "border", borderRadius: "borderRadius", selectWidth: "selectWidth", maxFilterLength: "maxFilterLength", tooltip: "tooltip" }, outputs: { filtersApplied: "filtersApplied" }, ngImport: i0, template: "<section\n [style.background-color]=\"bgColor\"\n [style.box-shadow]=\"boxShadow\"\n [style.border]=\"border\"\n [style.border-radius]=\"borderRadius\"\n [style.color]=\"textColor\"\n [style.width]=\"width\"\n [style.height]=\"height\"\n [style.padding]=\"pd\"\n>\n <div class=\"top\">\n <h3 [style.color]=\"tertiaryColor\" [style.font-size]=\"'14px'\">\n Filters\n <span [style.color]=\"secondaryColor\"\n ><sup>({{ filterCount }})</sup></span\n >\n </h3>\n <button\n [style.color]=\"secondaryColor\"\n [style.background-color]=\"bgColor\"\n [style.border]=\"'none'\"\n [style.cursor]=\"'pointer'\"\n [style.font-size]=\"'12px'\"\n (click)=\"resetFilters()\"\n >\n Reset\n </button>\n </div>\n <hr />\n\n <!-- Saved Filters Section -->\n <div class=\"center\">\n <div class=\"savedWrapper\">\n <h3 [style.font-size]=\"'13px'\">Saved Filters</h3>\n <verben-svg\n icon=\"info\"\n [width]=\"15\"\n [height]=\"15\"\n fill=\"grey\"\n ></verben-svg>\n </div>\n <div class=\"selectAllWrapper\" *ngIf=\"savedFilters.length\">\n <input\n type=\"checkbox\"\n [checked]=\"checkAll\"\n (change)=\"toggleSelectAll()\"\n />\n <p [style.font-size]=\"'13px'\" [style.font-weight]=\"'500'\">Select All</p>\n </div>\n <div\n *ngFor=\"let filter of visibleFilters; let i = index\"\n class=\"centerInnerWrapper\"\n >\n <div class=\"checkboxWrapper\">\n <span\n ><input\n type=\"checkbox\"\n [checked]=\"filter.checked\"\n (click)=\"toggleCheckbox(i)\"\n /></span>\n <p\n [style.font-size]=\"'13px'\"\n [style.font-weight]=\"'500'\"\n [style.color]=\"tertiaryColor\"\n >\n {{ filter.name }} {{ filter.condition }} {{ filter.value}}\n </p>\n </div>\n <div class=\"iconWrapper\">\n <verben-svg\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#3479E9\"\n fill=\"white\"\n (click)=\"editFilter(i)\"\n ></verben-svg>\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#E20000\"\n (click)=\"deleteFilter(i)\"\n ></verben-svg>\n </div>\n </div>\n\n <div\n class=\"moreWrapper\"\n *ngIf=\"savedFilters.length > maxFilterLength\"\n (click)=\"toggleShowMore()\"\n >\n <p\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'500'\"\n [style.color]=\"tertiaryColor\"\n >\n {{ showAllFilters ? \"Show less\" : \"Show more\" }}\n </p>\n <verben-svg\n icon=\"chevron\"\n [width]=\"8\"\n [height]=\"6\"\n fill=\"black\"\n stroke=\"black\"\n ></verben-svg>\n </div>\n </div>\n <hr />\n\n <!-- Operation Section -->\n <div class=\"bottom\">\n <div class=\"savedWrapper\">\n <h3 [style.font-size]=\"'13px'\">Operation</h3>\n <div [ngStyle]=\"{'position':'relative'}\"> \n \n <verben-tooltip \n [tooltipContent]=\"tooltipTemplate\"\n [backgroundColor]=\"'grey'\"\n width=\"200px\" \n [top]=\"'20px'\" \n [right]=\"'0px'\" \n >\n <verben-svg \n icon=\"info\" \n [width]=\"15\" \n [height]=\"15\" \n *ngIf=\"isDuplicateFilter\"\n fill=\"red\"\n >\n </verben-svg>\n </verben-tooltip>\n \n <ng-template #tooltipTemplate>\n {{duplicateMessage}}\n </ng-template>\n <!-- <verben-tooltip\n [backgroundColor]=\"'grey'\"\n [textColor]=\"'white'\"\n [padding]=\"'10px'\"\n [borderRadius]=\"'8px'\"\n [top]=\"'20px'\" \n [right]=\"'0px'\" \n width=\"250px\" \n #tooltip \n *ngIf=\"tooltip\"\n >\n <h3>{{duplicateMessage}}</h3>\n </verben-tooltip> -->\n </div>\n <verben-svg\n icon=\"info\"\n [width]=\"15\"\n [height]=\"15\"\n fill=\"grey\"\n *ngIf=\"!isDuplicateFilter\"\n ></verben-svg>\n </div>\n\n <div class=\"inputsWrapper\">\n <verben-drop-down\n width=\"7rem\"\n placeholder=\"Select value\"\n [options]=\"filterArray\"\n [(ngModel)]=\"selectedFilterValue\"\n (ngModelChange)=\"onFilterNameChange(selectedFilterValue)\"\n >\n </verben-drop-down>\n <verben-drop-down\n width=\"7rem\"\n placeholder=\"Select value\"\n placeholder=\"Select value\"\n [options]=\"conditionOptions\"\n (onChange)=\"checkDuplicateFilter()\"\n [(ngModel)]=\"selectedCondition\"\n >\n </verben-drop-down>\n\n <verbena-input\n *ngIf=\"selectedFilterType === 'Date'\"\n border=\"1px solid #ccc\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"80px\"\n height=\"25px\"\n pd=\"6px\"\n [showBorder]=\"true\"\n [showErrorMessage]=\"true\"\n [errorPosition]=\"'bottom'\"\n [type]=\"'date'\"\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"selectedFilterType === 'Credit' || selectedFilterType === 'Integer'\"\n border=\"1px solid #ccc\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"100px\"\n height=\"25px\"\n pd=\"6px\"\n placeHolder=\"input integer\"\n [showBorder]=\"true\"\n\n [showErrorMessage]=\"true\"\n [errorPosition]=\"'bottom'\"\n\n appValidate=\"integer\"\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"selectedFilterType === 'Decimal'\"\n border=\"1px solid #ccc\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"100px\"\n height=\"25px\"\n pd=\"6px\"\n placeHolder=\"input a decimal\"\n [showBorder]=\"true\"\n [showErrorMessage]=\"false\"\n [errorPosition]=\"'bottom'\"\n appValidate=\"decimal\"\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"selectedFilterType !== 'Credit' && selectedFilterType !== 'Date' && selectedFilterType !== 'Integer' && selectedFilterType !== 'Decimal'\"\n border=\"1px solid #ccc\"\n placeHolder=\"input value\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"100px\"\n height=\"25px\"\n pd=\"6px\"\n [showBorder]=\"true\"\n\n [showErrorMessage]=\"true\"\n [errorPosition]=\"'bottom'\"\n\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n </div>\n\n <div class=\"btnWrapper\">\n <button\n [style.margin-top]=\"'0.5rem'\"\n [style.outline]=\"'none'\"\n [style.border]=\"'none'\"\n [style.border-radius]=\"borderRadius\"\n [style.background-color]=\"'transparent'\"\n [style.color]=\"secondaryColor\"\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'500'\"\n [disabled]=\"disableAddFilterBtn\"\n [ngClass]=\"{\n disablebtn: disableAddFilterBtn,\n enableBtn: !disableAddFilterBtn\n }\"\n (click)=\"addFilter()\"\n >\n + Add\n </button>\n </div>\n <hr />\n\n <div class=\"btnWrapper\">\n <button\n [style.margin-top]=\"'0.5rem'\"\n [style.outline]=\"'none'\"\n [style.border]=\"'none'\"\n [style.padding]=\"'0.2rem 1.6rem'\"\n [style.background-color]=\"primaryColor\"\n [style.color]=\"tertiaryColor\"\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'600'\"\n (click)=\"applyFilters()\"\n [disabled]=\"disableApplyFilterBtn\"\n [ngClass]=\"{\n disablebtn: disableApplyFilterBtn,\n enableBtn: !disableApplyFilterBtn\n }\"\n >\n Filter\n </button>\n </div>\n\n\n </div>\n\n</section>\n", styles: ["h3,p{margin-top:0!important;margin-bottom:0!important}.top{display:flex;align-items:end;justify-content:space-between}hr{border:1px solid rgba(232,234,241,1);margin:.8rem 0rem}.centerInnerWrapper{display:flex;align-items:center;justify-content:space-between}.savedWrapper{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.checkboxWrapper{display:flex;align-items:center;gap:.3rem}.iconWrapper{display:flex;align-items:center;gap:.7rem;cursor:pointer}.moreWrapper{display:flex;align-items:center;gap:.4rem;cursor:pointer}.inputsWrapper{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.btnWrapper{display:flex;justify-content:end}.inputsWrapper select:nth-of-type(1){width:120px}.inputsWrapper select:nth-of-type(2){width:70px}input[type=checkbox].checked{accent-color:#3479E9}.selectAllWrapper{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem}.selectAllWrapper>input{cursor:pointer}.disablebtn{cursor:not-allowed}.enableBtn{cursor:pointer}\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "fontSize", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i5.ValidateDirective, selector: "[appValidate]", inputs: ["appValidate", "required", "showBorder", "showErrorMessage", "errorBorderColor", "errorMessageColor", "errorIconTooltipPosition", "showErrorIcon"] }, { kind: "component", type: i6.TooltipComponent, selector: "verben-tooltip", inputs: ["tooltipContent", "customClass", "backgroundColor", "textColor", "padding", "borderRadius", "zIndex", "border", "width", "top", "bottom", "left", "right"] }, { kind: "component", type: i7.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }] });
|
|
178
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TableFilterComponent, selector: "verben-table-filter", inputs: { filterOptions: "filterOptions", pd: "pd", mg: "mg", height: "height", width: "width", bgColor: "bgColor", boxShadow: "boxShadow", textColor: "textColor", primaryColor: "primaryColor", secondaryColor: "secondaryColor", tertiaryColor: "tertiaryColor", border: "border", borderRadius: "borderRadius", selectWidth: "selectWidth", maxFilterLength: "maxFilterLength", tooltip: "tooltip" }, outputs: { filtersApplied: "filtersApplied", resetSortData: "resetSortData" }, ngImport: i0, template: "<section\n [style.background-color]=\"bgColor\"\n [style.box-shadow]=\"boxShadow\"\n [style.border]=\"border\"\n [style.border-radius]=\"borderRadius\"\n [style.color]=\"textColor\"\n [style.width]=\"width\"\n [style.height]=\"height\"\n [style.padding]=\"pd\"\n>\n <div class=\"top\">\n <h3 [style.color]=\"tertiaryColor\" [style.font-size]=\"'14px'\">\n Filters\n <span [style.color]=\"secondaryColor\"\n ><sup>({{ filterCount }})</sup></span\n >\n </h3>\n <button\n [style.color]=\"secondaryColor\"\n [style.background-color]=\"bgColor\"\n [style.border]=\"'none'\"\n [style.cursor]=\"'pointer'\"\n [style.font-size]=\"'12px'\"\n (click)=\"resetFilters()\"\n >\n Reset\n </button>\n </div>\n <hr />\n\n <!-- Saved Filters Section -->\n <div class=\"center\">\n <div class=\"savedWrapper\">\n <h3 [style.font-size]=\"'13px'\">Saved Filters</h3>\n <verben-svg\n icon=\"info\"\n [width]=\"15\"\n [height]=\"15\"\n fill=\"grey\"\n ></verben-svg>\n </div>\n <div class=\"selectAllWrapper\" *ngIf=\"savedFilters.length\">\n <input\n type=\"checkbox\"\n [checked]=\"checkAll\"\n (change)=\"toggleSelectAll()\"\n />\n <p [style.font-size]=\"'13px'\" [style.font-weight]=\"'500'\">Select All</p>\n </div>\n <div\n *ngFor=\"let filter of visibleFilters; let i = index\"\n class=\"centerInnerWrapper\"\n >\n <div class=\"checkboxWrapper\">\n <span\n ><input\n type=\"checkbox\"\n [checked]=\"filter.checked\"\n (click)=\"toggleCheckbox(i)\"\n /></span>\n <p\n [style.font-size]=\"'13px'\"\n [style.font-weight]=\"'500'\"\n [style.color]=\"tertiaryColor\"\n >\n {{ filter.name }} {{ filter.condition }} {{ filter.value}}\n </p>\n </div>\n <div class=\"iconWrapper\">\n <verben-svg\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#3479E9\"\n fill=\"white\"\n (click)=\"editFilter(i)\"\n ></verben-svg>\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#E20000\"\n (click)=\"deleteFilter(i)\"\n ></verben-svg>\n </div>\n </div>\n\n <div\n class=\"moreWrapper\"\n *ngIf=\"savedFilters.length > maxFilterLength\"\n (click)=\"toggleShowMore()\"\n >\n <p\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'500'\"\n [style.color]=\"tertiaryColor\"\n >\n {{ showAllFilters ? \"Show less\" : \"Show more\" }}\n </p>\n <verben-svg\n icon=\"chevron\"\n [width]=\"8\"\n [height]=\"6\"\n fill=\"black\"\n stroke=\"black\"\n ></verben-svg>\n </div>\n </div>\n <hr />\n\n <!-- Operation Section -->\n <div class=\"bottom\">\n <div class=\"savedWrapper\">\n <h3 [style.font-size]=\"'13px'\">Operation</h3>\n <div [ngStyle]=\"{'position':'relative'}\"> \n \n <verben-tooltip \n [tooltipContent]=\"tooltipTemplate\"\n [backgroundColor]=\"'grey'\"\n width=\"200px\" \n [top]=\"'20px'\" \n [right]=\"'0px'\" \n >\n <verben-svg \n icon=\"info\" \n [width]=\"15\" \n [height]=\"15\" \n *ngIf=\"isDuplicateFilter\"\n fill=\"red\"\n >\n </verben-svg>\n </verben-tooltip>\n \n <ng-template #tooltipTemplate>\n {{duplicateMessage}}\n </ng-template>\n <!-- <verben-tooltip\n [backgroundColor]=\"'grey'\"\n [textColor]=\"'white'\"\n [padding]=\"'10px'\"\n [borderRadius]=\"'8px'\"\n [top]=\"'20px'\" \n [right]=\"'0px'\" \n width=\"250px\" \n #tooltip \n *ngIf=\"tooltip\"\n >\n <h3>{{duplicateMessage}}</h3>\n </verben-tooltip> -->\n </div>\n <verben-svg\n icon=\"info\"\n [width]=\"15\"\n [height]=\"15\"\n fill=\"grey\"\n *ngIf=\"!isDuplicateFilter\"\n ></verben-svg>\n </div>\n\n <div class=\"inputsWrapper\">\n <verben-drop-down\n width=\"7rem\"\n placeholder=\"Select value\"\n [options]=\"filterArray\"\n [(ngModel)]=\"selectedFilterValue\"\n (ngModelChange)=\"onFilterNameChange(selectedFilterValue)\"\n >\n </verben-drop-down>\n <verben-drop-down\n width=\"7rem\"\n placeholder=\"Select value\"\n placeholder=\"Select value\"\n [options]=\"conditionOptions\"\n (onChange)=\"checkDuplicateFilter()\"\n [(ngModel)]=\"selectedCondition\"\n >\n </verben-drop-down>\n\n <verbena-input\n *ngIf=\"selectedFilterType === 'Date'\"\n border=\"1px solid #ccc\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"80px\"\n height=\"25px\"\n pd=\"6px\"\n [showBorder]=\"true\"\n [showErrorMessage]=\"true\"\n [errorPosition]=\"'bottom'\"\n [type]=\"'date'\"\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"selectedFilterType === 'Credit' || selectedFilterType === 'Integer'\"\n border=\"1px solid #ccc\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"100px\"\n height=\"25px\"\n pd=\"6px\"\n placeHolder=\"input integer\"\n [showBorder]=\"true\"\n\n [showErrorMessage]=\"true\"\n [errorPosition]=\"'bottom'\"\n\n appValidate=\"integer\"\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"selectedFilterType === 'Decimal'\"\n border=\"1px solid #ccc\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"100px\"\n height=\"25px\"\n pd=\"6px\"\n placeHolder=\"input a decimal\"\n [showBorder]=\"true\"\n [showErrorMessage]=\"false\"\n [errorPosition]=\"'bottom'\"\n appValidate=\"decimal\"\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"selectedFilterType !== 'Credit' && selectedFilterType !== 'Date' && selectedFilterType !== 'Integer' && selectedFilterType !== 'Decimal'\"\n border=\"1px solid #ccc\"\n placeHolder=\"input value\"\n borderRadius=\"5px\"\n textColor=\"black\"\n width=\"100px\"\n height=\"25px\"\n pd=\"6px\"\n [showBorder]=\"true\"\n\n [showErrorMessage]=\"true\"\n [errorPosition]=\"'bottom'\"\n\n [(ngModel)]=\"inputValue\"\n ></verbena-input>\n\n </div>\n\n <div class=\"btnWrapper\">\n <button\n [style.margin-top]=\"'0.5rem'\"\n [style.outline]=\"'none'\"\n [style.border]=\"'none'\"\n [style.border-radius]=\"borderRadius\"\n [style.background-color]=\"'transparent'\"\n [style.color]=\"secondaryColor\"\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'500'\"\n [disabled]=\"disableAddFilterBtn\"\n [ngClass]=\"{\n disablebtn: disableAddFilterBtn,\n enableBtn: !disableAddFilterBtn\n }\"\n (click)=\"addFilter()\"\n >\n + Add\n </button>\n </div>\n <hr />\n\n <div class=\"btnWrapper\">\n <button\n [style.margin-top]=\"'0.5rem'\"\n [style.outline]=\"'none'\"\n [style.border]=\"'none'\"\n [style.padding]=\"'0.2rem 1.6rem'\"\n [style.background-color]=\"primaryColor\"\n [style.color]=\"tertiaryColor\"\n [style.font-size]=\"'12px'\"\n [style.font-weight]=\"'600'\"\n (click)=\"applyFilters()\"\n [disabled]=\"disableApplyFilterBtn\"\n [ngClass]=\"{\n disablebtn: disableApplyFilterBtn,\n enableBtn: !disableApplyFilterBtn\n }\"\n >\n Filter\n </button>\n </div>\n\n\n </div>\n\n</section>\n", styles: ["h3,p{margin-top:0!important;margin-bottom:0!important}.top{display:flex;align-items:end;justify-content:space-between}hr{border:1px solid rgba(232,234,241,1);margin:.8rem 0rem}.centerInnerWrapper{display:flex;align-items:center;justify-content:space-between}.savedWrapper{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.checkboxWrapper{display:flex;align-items:center;gap:.3rem}.iconWrapper{display:flex;align-items:center;gap:.7rem;cursor:pointer}.moreWrapper{display:flex;align-items:center;gap:.4rem;cursor:pointer}.inputsWrapper{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.btnWrapper{display:flex;justify-content:end}.inputsWrapper select:nth-of-type(1){width:120px}.inputsWrapper select:nth-of-type(2){width:70px}input[type=checkbox].checked{accent-color:#3479E9}.selectAllWrapper{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem}.selectAllWrapper>input{cursor:pointer}.disablebtn{cursor:not-allowed}.enableBtn{cursor:pointer}\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "fontSize", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i5.ValidateDirective, selector: "[appValidate]", inputs: ["appValidate", "required", "showBorder", "showErrorMessage", "errorBorderColor", "errorMessageColor", "errorIconTooltipPosition", "showErrorIcon"] }, { kind: "component", type: i6.TooltipComponent, selector: "verben-tooltip", inputs: ["tooltipContent", "customClass", "backgroundColor", "textColor", "padding", "borderRadius", "zIndex", "border", "width", "top", "bottom", "left", "right"] }, { kind: "component", type: i7.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }] });
|
|
177
179
|
}
|
|
178
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableFilterComponent, decorators: [{
|
|
179
181
|
type: Component,
|
|
@@ -212,5 +214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
212
214
|
type: Input
|
|
213
215
|
}], filtersApplied: [{
|
|
214
216
|
type: Output
|
|
217
|
+
}], resetSortData: [{
|
|
218
|
+
type: Output
|
|
215
219
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtZmlsdGVyL3RhYmxlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFRdEMsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixhQUFhLEdBQWtCLEVBQUUsQ0FBQztJQUNsQyxFQUFFLENBQVU7SUFDWixFQUFFLENBQVU7SUFDWixNQUFNLENBQVU7SUFDaEIsS0FBSyxDQUFVO0lBQ2YsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDbkIsWUFBWSxDQUFVO0lBQ3RCLGNBQWMsQ0FBVTtJQUN4QixhQUFhLENBQVU7SUFDdkIsTUFBTSxDQUFVO0lBQ2hCLFlBQVksQ0FBVTtJQUN0QixXQUFXLENBQVU7SUFDckIsZUFBZSxHQUFVLENBQUMsQ0FBQTtJQUMxQixPQUFPLEdBQVcsS0FBSyxDQUFBO0lBQ3RCLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRW5ELFdBQVcsR0FBWSxFQUFFLENBQUM7SUFDMUIsbUJBQW1CLEdBQVcsRUFBRSxDQUFDO0lBQ2pDLGtCQUFrQixDQUFNO0lBQ3hCLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztJQUNoQyxpQkFBaUIsR0FBdUIsRUFBRSxDQUFDO0lBQzNDLFVB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QyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7WUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRixDQUFDO0lBQ0YsQ0FBQzt1R0FsTVMsb0JBQW9COzJGQUFwQixvQkFBb0Isb2ZDVmpDLGc3UEFxU0E7OzJGRDNSYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRhRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLWZpbHRlcic7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi10YWJsZS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtZmlsdGVyLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZpbHRlck9wdGlvbnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgQElucHV0KCkgcGQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1nPzogc3RyaW5nO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBiZ0NvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBib3hTaGFkb3c/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgcHJpbWFyeUNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWNvbmRhcnlDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgdGVydGlhcnlDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgYm9yZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdFdpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhGaWx0ZXJMZW5ndGg6bnVtYmVyID0gM1xuICBASW5wdXQoKSB0b29sdGlwOmJvb2xlYW4gPSBmYWxzZVxuICBAT3V0cHV0KCkgZmlsdGVyc0FwcGxpZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgXG4gIGZpbHRlckFycmF5OnN0cmluZ1tdID0gW107XG4gIHNlbGVjdGVkRmlsdGVyVmFsdWU6IHN0cmluZyA9ICcnO1xuICBzZWxlY3RlZEZpbHRlclR5cGU/OmFueTtcbiAgY29uZGl0aW9uT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWRDb25kaXRpb246IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuICBpbnB1dFZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIHNhdmVkRmlsdGVyczogSURhdGFGaWx0ZXJbXSA9IFtdO1xuICBzZWxlY3RlZEZpbHRlcnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgc2hvd0FsbEZpbHRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZWRpdEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgY2hlY2tBbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNEdXBsaWNhdGVGaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzYWJsZUFkZEZpbHRlckJ0bjogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNhYmxlQXBwbHlGaWx0ZXJCdG46IGJvb2xlYW4gPSB0cnVlO1xuICBkdXBsaWNhdGVNZXNzYWdlPzpzdHJpbmcgPSAnJztcbiAgY29uZmlnSW5zdGFuY2U6IENvbmZpZztcbiAgc3RvcmFnZUtleTogc3RyaW5nID0gJ3NhdmVkRmlsdGVycyc7XG4gIGZpbHRlckNvdW50Om51bWJlciA9IDBcblxuICBjb25zdHJ1Y3RvcigpeyBcbiAgICB0aGlzLmNvbmZpZ0luc3RhbmNlID0gbmV3IENvbmZpZygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJBcnJheSA9IHRoaXMuZmlsdGVyT3B0aW9ucy5tYXAoaXRlbSA9PiBpdGVtLm5hbWUpOyAgXG4gIH1cbiAgXG5cbiAgb25GaWx0ZXJOYW1lQ2hhbmdlKHNlbGVjdGVkRmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVyID0gdGhpcy5maWx0ZXJPcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi5uYW1lID09PSBzZWxlY3RlZEZpbHRlclZhbHVlKTtcbiAgXG4gICAgaWYgKHNlbGVjdGVkRmlsdGVyKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlID0gc2VsZWN0ZWRGaWx0ZXIudHlwZTtcbiAgICAgICAgdGhpcy5jb25kaXRpb25PcHRpb25zID0gdGhpcy5jb25maWdJbnN0YW5jZS5nZXRDb25kaXRpb25PcHRpb25zKHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlKSB8fCBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9ICcnOyBcbiAgICB9XG59XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uID0gJyc7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBbXTtcbiAgICB0aGlzLmVkaXRJbmRleCA9IG51bGw7XG4gICAgdGhpcy5jaGVja0FsbCA9IGZhbHNlO1xuICAgIHRoaXMuaXNEdXBsaWNhdGVGaWx0ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVBcHBseUZpbHRlckJ0biA9IHRydWU7XG4gICAgdGhpcy5kdXBsaWNhdGVNZXNzYWdlID0gJydcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLnN0b3JhZ2VLZXkpO1xuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpLmxlbmd0aDtcbiAgfVxuXG4gIGFkZEZpbHRlcigpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSB8fCAhdGhpcy5zZWxlY3RlZENvbmRpdGlvbiB8fCAhdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lZGl0SW5kZXggPT09IG51bGwgJiYgdGhpcy5pc0R1cGxpY2F0ZUZpbHRlcikge1xuICAgICAgICByZXR1cm47IFxuICAgIH1cblxuICAgIGNvbnN0IG5ld0ZpbHRlcjogSURhdGFGaWx0ZXIgPSB7XG4gICAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSxcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZEZpbHRlclR5cGUsXG4gICAgICAgIGNvbmRpdGlvbjogdGhpcy5zZWxlY3RlZENvbmRpdGlvbixcbiAgICAgICAgdmFsdWU6IHRoaXMuaW5wdXRWYWx1ZSxcbiAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSB0aGlzLnNhdmVkRmlsdGVycy5zb21lKFxuICAgICAgICAgICAgKGZpbHRlciwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IG5ld0ZpbHRlci5uYW1lICYmXG4gICAgICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gbmV3RmlsdGVyLmNvbmRpdGlvbiAmJlxuICAgICAgICAgICAgICAgIGluZGV4ICE9PSB0aGlzLmVkaXRJbmRleFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChpc0R1cGxpY2F0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzW3RoaXMuZWRpdEluZGV4XSA9IG5ld0ZpbHRlcjtcbiAgICAgICAgdGhpcy5lZGl0SW5kZXggPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNhdmVkRmlsdGVycy5zb21lKGZpbHRlciA9PiBcbiAgICAgICAgICAgIGZpbHRlci5uYW1lID09PSBuZXdGaWx0ZXIubmFtZSAmJiBcbiAgICAgICAgICAgIGZpbHRlci5jb25kaXRpb24gPT09IG5ld0ZpbHRlci5jb25kaXRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMucHVzaChuZXdGaWx0ZXIpO1xuICAgICAgICB0aGlzLmZpbHRlckNvdW50ID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jaGVja2VkID09PSB0cnVlKS5sZW5ndGg7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJPcGVyYXRpb25TZWN0aW9uKCk7XG4gICAgdGhpcy5jaGVja0ZpbHRlckJ1dHRvbigpOyBcbiAgfVxuXG4gIHRvZ2dsZUNoZWNrYm94KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNhdmVkRmlsdGVyc1tpbmRleF0uY2hlY2tlZCA9ICF0aGlzLnNhdmVkRmlsdGVyc1tpbmRleF0uY2hlY2tlZDtcbiAgICB0aGlzLmNoZWNrQWxsID0gdGhpcy5zYXZlZEZpbHRlcnMuZXZlcnkoaXRlbSA9PiBpdGVtLmNoZWNrZWQpO1xuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpLmxlbmd0aDtcbiAgfVxuXG4gIGRlbGV0ZUZpbHRlcihpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmNoZWNrRHVwbGljYXRlRmlsdGVyKCk7XG4gICAgdGhpcy5jaGVja0ZpbHRlckJ1dHRvbigpO1xuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpLmxlbmd0aDtcbiAgICBpZiAodGhpcy5zYXZlZEZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNoZWNrQWxsID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZWRpdEZpbHRlcihpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNbaW5kZXhdO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJUeXBlID0gZmlsdGVyLnR5cGU7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlID0gZmlsdGVyLm5hbWU7XG4gICAgdGhpcy5vbkZpbHRlck5hbWVDaGFuZ2UodGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlKSBcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uID0gZmlsdGVyLmNvbmRpdGlvbjtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBmaWx0ZXIudmFsdWU7XG4gICAgdGhpcy5lZGl0SW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIGFwcGx5RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVycyA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihmaWx0ZXIgPT4gZmlsdGVyLmNoZWNrZWQpO1xuICAgIHRoaXMuZmlsdGVyc0FwcGxpZWQuZW1pdCh0aGlzLnNlbGVjdGVkRmlsdGVycyk7XG4gICAgdGhpcy5maWx0ZXJzQXBwbGllZC5lbWl0KHRoaXMuc3RvcmFnZUtleSk7XG4gIH1cblxuICB0b2dnbGVTaG93TW9yZSgpIHtcbiAgICB0aGlzLnNob3dBbGxGaWx0ZXJzID0gIXRoaXMuc2hvd0FsbEZpbHRlcnM7XG4gIH1cblxuICBnZXQgdmlzaWJsZUZpbHRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FsbEZpbHRlcnNcbiAgICAgID8gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgIDogdGhpcy5zYXZlZEZpbHRlcnMuc2xpY2UoMCwgdGhpcy5tYXhGaWx0ZXJMZW5ndGgpO1xuICB9XG5cbiAgY2xlYXJPcGVyYXRpb25TZWN0aW9uKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSA9ICcnO1xuICAgIHRoaXMuc2VsZWN0ZWRDb25kaXRpb24gPSAnJztcbiAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgfVxuXG4gIGNoZWNrRmlsdGVyQnV0dG9uKCkge1xuICAgIHRoaXMuZGlzYWJsZUFwcGx5RmlsdGVyQnRuID0gdGhpcy5zYXZlZEZpbHRlcnMubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tBbGwgPSAhdGhpcy5jaGVja0FsbDtcbiAgICB0aGlzLnNhdmVkRmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiBmaWx0ZXIuY2hlY2tlZCA9IHRoaXMuY2hlY2tBbGwpO1xuICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpLmxlbmd0aDtcbiAgfVxuXG4gIGNoZWNrRHVwbGljYXRlRmlsdGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBleGlzdHMgPSB0aGlzLnNhdmVkRmlsdGVycy5zb21lKFxuICAgICAgICAgICAgKGZpbHRlciwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIGZpbHRlci5jb25kaXRpb24gPT09IHRoaXMuc2VsZWN0ZWRDb25kaXRpb24gJiZcbiAgICAgICAgICAgICAgICBpbmRleCAhPT0gdGhpcy5lZGl0SW5kZXggXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGlzYWJsZUFkZEZpbHRlckJ0biA9IGV4aXN0cztcbiAgICAgICAgdGhpcy5pc0R1cGxpY2F0ZUZpbHRlciA9IGV4aXN0cztcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVNZXNzYWdlID0gZXhpc3RzID8gJ1RoaXMgZW50cnkgaXMgYSBkdXBsaWNhdGUgYW5kIGNhbm5vdCBiZSBhZGRlZC4nIDogJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyKSA9PlxuICAgICAgICAgICAgICAgIGZpbHRlci5uYW1lID09PSB0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUgJiZcbiAgICAgICAgICAgICAgICBmaWx0ZXIuY29uZGl0aW9uID09PSB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGlzYWJsZUFkZEZpbHRlckJ0biA9IGV4aXN0cztcbiAgICAgICAgdGhpcy5pc0R1cGxpY2F0ZUZpbHRlciA9IGV4aXN0cztcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVNZXNzYWdlID0gZXhpc3RzID8gJ1RoaXMgZW50cnkgaXMgYSBkdXBsaWNhdGUgYW5kIGNhbm5vdCBiZSBhZGRlZC4nIDogJyc7XG4gICAgfVxuICAgfVxufVxuXG4iLCI8c2VjdGlvblxuICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiZ0NvbG9yXCJcbiAgW3N0eWxlLmJveC1zaGFkb3ddPVwiYm94U2hhZG93XCJcbiAgW3N0eWxlLmJvcmRlcl09XCJib3JkZXJcIlxuICBbc3R5bGUuYm9yZGVyLXJhZGl1c109XCJib3JkZXJSYWRpdXNcIlxuICBbc3R5bGUuY29sb3JdPVwidGV4dENvbG9yXCJcbiAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcbiAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIlxuICBbc3R5bGUucGFkZGluZ109XCJwZFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJ0b3BcIj5cbiAgICA8aDMgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIiBbc3R5bGUuZm9udC1zaXplXT1cIicxNHB4J1wiPlxuICAgICAgRmlsdGVyc1xuICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cInNlY29uZGFyeUNvbG9yXCJcbiAgICAgICAgPjxzdXA+KHt7IGZpbHRlckNvdW50IH19KTwvc3VwPjwvc3BhblxuICAgICAgPlxuICAgIDwvaDM+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlLmNvbG9yXT1cInNlY29uZGFyeUNvbG9yXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJnQ29sb3JcIlxuICAgICAgW3N0eWxlLmJvcmRlcl09XCInbm9uZSdcIlxuICAgICAgW3N0eWxlLmN1cnNvcl09XCIncG9pbnRlcidcIlxuICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCJcbiAgICA+XG4gICAgICBSZXNldFxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGhyIC8+XG5cbiAgPCEtLSBTYXZlZCBGaWx0ZXJzIFNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJjZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2F2ZWRXcmFwcGVyXCI+XG4gICAgICA8aDMgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIj5TYXZlZCBGaWx0ZXJzPC9oMz5cbiAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgIGljb249XCJpbmZvXCJcbiAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgIGZpbGw9XCJncmV5XCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdEFsbFdyYXBwZXJcIiAqbmdJZj1cInNhdmVkRmlsdGVycy5sZW5ndGhcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbY2hlY2tlZF09XCJjaGVja0FsbFwiXG4gICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKClcIlxuICAgICAgLz5cbiAgICAgIDxwIFtzdHlsZS5mb250LXNpemVdPVwiJzEzcHgnXCIgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIic1MDAnXCI+U2VsZWN0IEFsbDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIHZpc2libGVGaWx0ZXJzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIGNsYXNzPVwiY2VudGVySW5uZXJXcmFwcGVyXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hXcmFwcGVyXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPjxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImZpbHRlci5jaGVja2VkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDaGVja2JveChpKVwiXG4gICAgICAgIC8+PC9zcGFuPlxuICAgICAgICA8cFxuICAgICAgICAgIFtzdHlsZS5mb250LXNpemVdPVwiJzEzcHgnXCJcbiAgICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXJ0aWFyeUNvbG9yXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGZpbHRlci5uYW1lIH19IHt7IGZpbHRlci5jb25kaXRpb24gfX0ge3sgZmlsdGVyLnZhbHVlfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbldyYXBwZXJcIj5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICBpY29uPVwiZWRpdFwiXG4gICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICBzdHJva2U9XCIjMzQ3OUU5XCJcbiAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgIChjbGljayk9XCJlZGl0RmlsdGVyKGkpXCJcbiAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgIHN0cm9rZT1cIiNFMjAwMDBcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxldGVGaWx0ZXIoaSlcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1vcmVXcmFwcGVyXCJcbiAgICAgICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aCA+IG1heEZpbHRlckxlbmd0aFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlU2hvd01vcmUoKVwiXG4gICAgPlxuICAgICAgPHBcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwidGVydGlhcnlDb2xvclwiXG4gICAgICA+XG4gICAgICAgIHt7IHNob3dBbGxGaWx0ZXJzID8gXCJTaG93IGxlc3NcIiA6IFwiU2hvdyBtb3JlXCIgfX1cbiAgICAgIDwvcD5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgaWNvbj1cImNoZXZyb25cIlxuICAgICAgICBbd2lkdGhdPVwiOFwiXG4gICAgICAgIFtoZWlnaHRdPVwiNlwiXG4gICAgICAgIGZpbGw9XCJibGFja1wiXG4gICAgICAgIHN0cm9rZT1cImJsYWNrXCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8aHIgLz5cblxuICA8IS0tIE9wZXJhdGlvbiBTZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cInNhdmVkV3JhcHBlclwiPlxuICAgICAgPGgzIFtzdHlsZS5mb250LXNpemVdPVwiJzEzcHgnXCI+T3BlcmF0aW9uPC9oMz5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwieydwb3NpdGlvbic6J3JlbGF0aXZlJ31cIj4gXG4gICAgICAgIFxuICAgICAgICA8dmVyYmVuLXRvb2x0aXAgXG4gICAgICAgIFt0b29sdGlwQ29udGVudF09XCJ0b29sdGlwVGVtcGxhdGVcIlxuICAgICAgICBbYmFja2dyb3VuZENvbG9yXT1cIidncmV5J1wiXG4gICAgICAgIHdpZHRoPVwiMjAwcHhcIiBcbiAgICAgICAgW3RvcF09XCInMjBweCdcIiAgICAgICAgICAgICAgICAgXG4gICAgICAgIFtyaWdodF09XCInMHB4J1wiICBcbiAgICAgICAgPlxuICAgICAgICA8dmVyYmVuLXN2ZyBcbiAgICAgICAgaWNvbj1cImluZm9cIiBcbiAgICAgICAgW3dpZHRoXT1cIjE1XCIgXG4gICAgICAgIFtoZWlnaHRdPVwiMTVcIiAgIFxuICAgICAgICAqbmdJZj1cImlzRHVwbGljYXRlRmlsdGVyXCJcbiAgICAgICAgZmlsbD1cInJlZFwiXG4gICAgICAgID5cbiAgICAgICAgPC92ZXJiZW4tc3ZnPlxuICAgICAgICA8L3ZlcmJlbi10b29sdGlwPlxuICAgICAgXG4gICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBUZW1wbGF0ZT5cbiAgICAgICB7e2R1cGxpY2F0ZU1lc3NhZ2V9fVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSA8dmVyYmVuLXRvb2x0aXBcbiAgICAgICAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiJ2dyZXknXCJcbiAgICAgICAgIFt0ZXh0Q29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICAgICBbcGFkZGluZ109XCInMTBweCdcIlxuICAgICAgICAgW2JvcmRlclJhZGl1c109XCInOHB4J1wiXG4gICAgICAgICBbdG9wXT1cIicyMHB4J1wiICAgICAgICAgICAgICAgICBcbiAgICAgICAgIFtyaWdodF09XCInMHB4J1wiICAgXG4gICAgICAgICB3aWR0aD1cIjI1MHB4XCIgXG4gICAgICAgICAjdG9vbHRpcCBcbiAgICAgICAgICpuZ0lmPVwidG9vbHRpcFwiXG4gICAgICAgICA+XG4gICAgICAgICA8aDM+e3tkdXBsaWNhdGVNZXNzYWdlfX08L2gzPlxuICAgICAgICA8L3ZlcmJlbi10b29sdGlwPiAtLT5cbiAgICAgIDwvZGl2PlxuICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgaWNvbj1cImluZm9cIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgICAqbmdJZj1cIiFpc0R1cGxpY2F0ZUZpbHRlclwiXG4gICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImlucHV0c1dyYXBwZXJcIj5cbiAgICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgIHdpZHRoPVwiN3JlbVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHZhbHVlXCJcbiAgICAgICAgW29wdGlvbnNdPVwiZmlsdGVyQXJyYXlcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsdGVyVmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlck5hbWVDaGFuZ2Uoc2VsZWN0ZWRGaWx0ZXJWYWx1ZSlcIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgd2lkdGg9XCI3cmVtXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgdmFsdWVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCB2YWx1ZVwiXG4gICAgICAgIFtvcHRpb25zXT1cImNvbmRpdGlvbk9wdGlvbnNcIlxuICAgICAgICAob25DaGFuZ2UpPVwiY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRDb25kaXRpb25cIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbHRlclR5cGUgPT09ICdEYXRlJ1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCI4MHB4XCJcbiAgICAgIGhlaWdodD1cIjI1cHhcIlxuICAgICAgcGQ9XCI2cHhcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIFt0eXBlXT1cIidkYXRlJ1wiXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsdWVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cInNlbGVjdGVkRmlsdGVyVHlwZSA9PT0gJ0NyZWRpdCcgfHwgc2VsZWN0ZWRGaWx0ZXJUeXBlID09PSAnSW50ZWdlcidcIlxuICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICNjY2NcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiNXB4XCJcbiAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgIHdpZHRoPVwiMTAwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjVweFwiXG4gICAgICBwZD1cIjZweFwiXG4gICAgICBwbGFjZUhvbGRlcj1cImlucHV0IGludGVnZXJcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG5cbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuXG4gICAgICBhcHBWYWxpZGF0ZT1cImludGVnZXJcIlxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbHRlclR5cGUgPT09ICdEZWNpbWFsJ1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCIxMDBweFwiXG4gICAgICBoZWlnaHQ9XCIyNXB4XCJcbiAgICAgIHBkPVwiNnB4XCJcbiAgICAgIHBsYWNlSG9sZGVyPVwiaW5wdXQgYSBkZWNpbWFsXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwiZmFsc2VcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgYXBwVmFsaWRhdGU9XCJkZWNpbWFsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJUeXBlICE9PSAnQ3JlZGl0JyAmJiBzZWxlY3RlZEZpbHRlclR5cGUgIT09ICdEYXRlJyAgJiYgc2VsZWN0ZWRGaWx0ZXJUeXBlICE9PSAnSW50ZWdlcicgICYmIHNlbGVjdGVkRmlsdGVyVHlwZSAhPT0gJ0RlY2ltYWwnXCJcbiAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgIHBsYWNlSG9sZGVyPVwiaW5wdXQgdmFsdWVcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiNXB4XCJcbiAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgIHdpZHRoPVwiMTAwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjVweFwiXG4gICAgICBwZD1cIjZweFwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcblxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG5cbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImJ0bldyYXBwZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3N0eWxlLm1hcmdpbi10b3BdPVwiJzAuNXJlbSdcIlxuICAgICAgICBbc3R5bGUub3V0bGluZV09XCInbm9uZSdcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzXT1cImJvcmRlclJhZGl1c1wiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwic2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWRkRmlsdGVyQnRuXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgIGRpc2FibGVidG46IGRpc2FibGVBZGRGaWx0ZXJCdG4sXG4gICAgICAgICAgZW5hYmxlQnRuOiAhZGlzYWJsZUFkZEZpbHRlckJ0blxuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImFkZEZpbHRlcigpXCJcbiAgICAgID5cbiAgICAgICAgKyBBZGRcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxociAvPlxuXG4gICAgPGRpdiBjbGFzcz1cImJ0bldyYXBwZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3N0eWxlLm1hcmdpbi10b3BdPVwiJzAuNXJlbSdcIlxuICAgICAgICBbc3R5bGUub3V0bGluZV09XCInbm9uZSdcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nXT1cIicwLjJyZW0gMS42cmVtJ1wiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInByaW1hcnlDb2xvclwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXJ0aWFyeUNvbG9yXCJcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTJweCdcIlxuICAgICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzYwMCdcIlxuICAgICAgICAoY2xpY2spPVwiYXBwbHlGaWx0ZXJzKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFwcGx5RmlsdGVyQnRuXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgIGRpc2FibGVidG46IGRpc2FibGVBcHBseUZpbHRlckJ0bixcbiAgICAgICAgICBlbmFibGVCdG46ICFkaXNhYmxlQXBwbHlGaWx0ZXJCdG5cbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIEZpbHRlclxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cblxuICA8L2Rpdj5cblxuPC9zZWN0aW9uPlxuIl19
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtZmlsdGVyL3RhYmxlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFRdEMsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixhQUFhLEdBQWtCLEVBQUUsQ0FBQztJQUNsQyxFQUFFLENBQVU7SUFDWixFQUFFLENBQVU7SUFDWixNQUFNLENBQVU7SUFDaEIsS0FBSyxDQUFVO0lBQ2YsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDbkIsWUFBWSxDQUFVO0lBQ3RCLGNBQWMsQ0FBVTtJQUN4QixhQUFhLENBQVU7SUFDdkIsTUFBTSxDQUFVO0lBQ2hCLFlBQVksQ0FBVTtJQUN0QixXQUFXLENBQVU7SUFDckIsZUFBZSxHQUFVLENBQUMsQ0FBQTtJQUMxQixPQUFPLEdBQVcsS0FBSyxDQUFBO0lBQ3RCLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3pDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xELFdBQVcsR0FBWSxFQUFFLENBQUM7SUFDMUIsbUJBQW1CLEdBQVcsRUFBRSxDQUFDO0lBQ2pDLGtCQUFrQixDQUFNO0lBQ3hCLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztJ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QUksQ0FBQyxpQkFBaUIsQ0FDbEQsQ0FBQztZQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNGLENBQUM7SUFDRixDQUFDO3VHQW5NUyxvQkFBb0I7MkZBQXBCLG9CQUFvQixvaEJDVmpDLGc3UEFxU0E7OzJGRDNSYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGFGaWx0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtZmlsdGVyJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLXRhYmxlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1maWx0ZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZmlsdGVyT3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtdO1xuICBASW5wdXQoKSBwZD86IHN0cmluZztcbiAgQElucHV0KCkgbWc/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJnQ29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJveFNoYWRvdz86IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBwcmltYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXJ0aWFyeUNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1cz86IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0V2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heEZpbHRlckxlbmd0aDpudW1iZXIgPSAzXG4gIEBJbnB1dCgpIHRvb2x0aXA6Ym9vbGVhbiA9IGZhbHNlXG4gIEBPdXRwdXQoKSBmaWx0ZXJzQXBwbGllZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVzZXRTb3J0RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmaWx0ZXJBcnJheTpzdHJpbmdbXSA9IFtdO1xuICBzZWxlY3RlZEZpbHRlclZhbHVlOiBzdHJpbmcgPSAnJztcbiAgc2VsZWN0ZWRGaWx0ZXJUeXBlPzphbnk7XG4gIGNvbmRpdGlvbk9wdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIHNlbGVjdGVkQ29uZGl0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgaW5wdXRWYWx1ZT86IHN0cmluZyB8IG51bWJlclxuICBzYXZlZEZpbHRlcnM6IElEYXRhRmlsdGVyW10gPSBbXTtcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBJRGF0YUZpbHRlcltdID0gW107XG4gIHNob3dBbGxGaWx0ZXJzOiBib29sZWFuID0gZmFsc2U7XG4gIGVkaXRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGNoZWNrQWxsOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRHVwbGljYXRlRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVBZGRGaWx0ZXJCdG46IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzYWJsZUFwcGx5RmlsdGVyQnRuOiBib29sZWFuID0gdHJ1ZTtcbiAgZHVwbGljYXRlTWVzc2FnZT86c3RyaW5nID0gJyc7XG4gIGNvbmZpZ0luc3RhbmNlOiBDb25maWc7XG4gIHN0b3JhZ2VLZXk6IHN0cmluZyA9ICdzYXZlZEZpbHRlcnMnO1xuICBmaWx0ZXJDb3VudDpudW1iZXIgPSAwXG5cbiAgY29uc3RydWN0b3IoKXsgXG4gICAgdGhpcy5jb25maWdJbnN0YW5jZSA9IG5ldyBDb25maWcoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyQXJyYXkgPSB0aGlzLmZpbHRlck9wdGlvbnMubWFwKGl0ZW0gPT4gaXRlbS5uYW1lKTsgIFxuICB9XG4gIFxuXG4gIG9uRmlsdGVyTmFtZUNoYW5nZShzZWxlY3RlZEZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RlZEZpbHRlciA9IHRoaXMuZmlsdGVyT3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24ubmFtZSA9PT0gc2VsZWN0ZWRGaWx0ZXJWYWx1ZSk7XG4gIFxuICAgIGlmIChzZWxlY3RlZEZpbHRlcikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSA9IHNlbGVjdGVkRmlsdGVyLnR5cGU7XG4gICAgICAgIHRoaXMuY29uZGl0aW9uT3B0aW9ucyA9IHRoaXMuY29uZmlnSW5zdGFuY2UuZ2V0Q29uZGl0aW9uT3B0aW9ucyh0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSkgfHwgW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25kaXRpb24gPSAnJzsgXG4gICAgfVxufVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9ICcnO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gW107XG4gICAgdGhpcy5lZGl0SW5kZXggPSBudWxsO1xuICAgIHRoaXMuY2hlY2tBbGwgPSBmYWxzZTtcbiAgICB0aGlzLmlzRHVwbGljYXRlRmlsdGVyID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlQXBwbHlGaWx0ZXJCdG4gPSB0cnVlO1xuICAgIHRoaXMuZHVwbGljYXRlTWVzc2FnZSA9ICcnXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zdG9yYWdlS2V5KTtcbiAgICB0aGlzLmZpbHRlckNvdW50ID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jaGVja2VkID09PSB0cnVlKS5sZW5ndGg7XG4gICAgdGhpcy5yZXNldFNvcnREYXRhLmVtaXQoKVxuICB9XG5cbiAgYWRkRmlsdGVyKCkge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlIHx8ICF0aGlzLnNlbGVjdGVkQ29uZGl0aW9uIHx8ICF0aGlzLmlucHV0VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVkaXRJbmRleCA9PT0gbnVsbCAmJiB0aGlzLmlzRHVwbGljYXRlRmlsdGVyKSB7XG4gICAgICAgIHJldHVybjsgXG4gICAgfVxuXG4gICAgY29uc3QgbmV3RmlsdGVyOiBJRGF0YUZpbHRlciA9IHtcbiAgICAgICAgbmFtZTogdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlLFxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkRmlsdGVyVHlwZSxcbiAgICAgICAgY29uZGl0aW9uOiB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uLFxuICAgICAgICB2YWx1ZTogdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICBjaGVja2VkOiB0cnVlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmVkaXRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBmaWx0ZXIubmFtZSA9PT0gbmV3RmlsdGVyLm5hbWUgJiZcbiAgICAgICAgICAgICAgICBmaWx0ZXIuY29uZGl0aW9uID09PSBuZXdGaWx0ZXIuY29uZGl0aW9uICYmXG4gICAgICAgICAgICAgICAgaW5kZXggIT09IHRoaXMuZWRpdEluZGV4XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzRHVwbGljYXRlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnNbdGhpcy5lZGl0SW5kZXhdID0gbmV3RmlsdGVyO1xuICAgICAgICB0aGlzLmVkaXRJbmRleCA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoZmlsdGVyID0+IFxuICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IG5ld0ZpbHRlci5uYW1lICYmIFxuICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gbmV3RmlsdGVyLmNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNhdmVkRmlsdGVycy5wdXNoKG5ld0ZpbHRlcik7XG4gICAgICAgIHRoaXMuZmlsdGVyQ291bnQgPSB0aGlzLnNhdmVkRmlsdGVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpLmxlbmd0aDtcbiAgICB9XG4gICAgdGhpcy5jbGVhck9wZXJhdGlvblNlY3Rpb24oKTtcbiAgICB0aGlzLmNoZWNrRmlsdGVyQnV0dG9uKCk7IFxuICB9XG5cbiAgdG9nZ2xlQ2hlY2tib3goaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzW2luZGV4XS5jaGVja2VkID0gIXRoaXMuc2F2ZWRGaWx0ZXJzW2luZGV4XS5jaGVja2VkO1xuICAgIHRoaXMuY2hlY2tBbGwgPSB0aGlzLnNhdmVkRmlsdGVycy5ldmVyeShpdGVtID0+IGl0ZW0uY2hlY2tlZCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZSkubGVuZ3RoO1xuICB9XG5cbiAgZGVsZXRlRmlsdGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNhdmVkRmlsdGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKTtcbiAgICB0aGlzLmNoZWNrRmlsdGVyQnV0dG9uKCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZSkubGVuZ3RoO1xuICAgIGlmICh0aGlzLnNhdmVkRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2hlY2tBbGwgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBlZGl0RmlsdGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLnNhdmVkRmlsdGVyc1tpbmRleF07XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclR5cGUgPSBmaWx0ZXIudHlwZTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUgPSBmaWx0ZXIubmFtZTtcbiAgICB0aGlzLm9uRmlsdGVyTmFtZUNoYW5nZSh0aGlzLnNlbGVjdGVkRmlsdGVyVmFsdWUpIFxuICAgIHRoaXMuc2VsZWN0ZWRDb25kaXRpb24gPSBmaWx0ZXIuY29uZGl0aW9uO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGZpbHRlci52YWx1ZTtcbiAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzID0gdGhpcy5zYXZlZEZpbHRlcnMuZmlsdGVyKGZpbHRlciA9PiBmaWx0ZXIuY2hlY2tlZCk7XG4gICAgdGhpcy5maWx0ZXJzQXBwbGllZC5lbWl0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICB0aGlzLmZpbHRlcnNBcHBsaWVkLmVtaXQodGhpcy5zdG9yYWdlS2V5KTtcbiAgfVxuXG4gIHRvZ2dsZVNob3dNb3JlKCkge1xuICAgIHRoaXMuc2hvd0FsbEZpbHRlcnMgPSAhdGhpcy5zaG93QWxsRmlsdGVycztcbiAgfVxuXG4gIGdldCB2aXNpYmxlRmlsdGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxsRmlsdGVyc1xuICAgICAgPyB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgOiB0aGlzLnNhdmVkRmlsdGVycy5zbGljZSgwLCB0aGlzLm1heEZpbHRlckxlbmd0aCk7XG4gIH1cblxuICBjbGVhck9wZXJhdGlvblNlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlID0gJyc7XG4gICAgdGhpcy5zZWxlY3RlZENvbmRpdGlvbiA9ICcnO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICB9XG5cbiAgY2hlY2tGaWx0ZXJCdXR0b24oKSB7XG4gICAgdGhpcy5kaXNhYmxlQXBwbHlGaWx0ZXJCdG4gPSB0aGlzLnNhdmVkRmlsdGVycy5sZW5ndGggPT09IDA7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0FsbCA9ICF0aGlzLmNoZWNrQWxsO1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IGZpbHRlci5jaGVja2VkID0gdGhpcy5jaGVja0FsbCk7XG4gICAgdGhpcy5maWx0ZXJDb3VudCA9IHRoaXMuc2F2ZWRGaWx0ZXJzLmZpbHRlcihpdGVtID0+IGl0ZW0uY2hlY2tlZCA9PT0gdHJ1ZSkubGVuZ3RoO1xuICB9XG5cbiAgY2hlY2tEdXBsaWNhdGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWRpdEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMuc2F2ZWRGaWx0ZXJzLnNvbWUoXG4gICAgICAgICAgICAoZmlsdGVyLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBmaWx0ZXIubmFtZSA9PT0gdGhpcy5zZWxlY3RlZEZpbHRlclZhbHVlICYmXG4gICAgICAgICAgICAgICAgZmlsdGVyLmNvbmRpdGlvbiA9PT0gdGhpcy5zZWxlY3RlZENvbmRpdGlvbiAmJlxuICAgICAgICAgICAgICAgIGluZGV4ICE9PSB0aGlzLmVkaXRJbmRleCBcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlQWRkRmlsdGVyQnRuID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmlzRHVwbGljYXRlRmlsdGVyID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZU1lc3NhZ2UgPSBleGlzdHMgPyAnVGhpcyBlbnRyeSBpcyBhIGR1cGxpY2F0ZSBhbmQgY2Fubm90IGJlIGFkZGVkLicgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgICBcbiAgICAgICAgY29uc3QgZXhpc3RzID0gdGhpcy5zYXZlZEZpbHRlcnMuc29tZShcbiAgICAgICAgICAgIChmaWx0ZXIpID0+XG4gICAgICAgICAgICAgICAgZmlsdGVyLm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRGaWx0ZXJWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIGZpbHRlci5jb25kaXRpb24gPT09IHRoaXMuc2VsZWN0ZWRDb25kaXRpb25cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlQWRkRmlsdGVyQnRuID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmlzRHVwbGljYXRlRmlsdGVyID0gZXhpc3RzO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZU1lc3NhZ2UgPSBleGlzdHMgPyAnVGhpcyBlbnRyeSBpcyBhIGR1cGxpY2F0ZSBhbmQgY2Fubm90IGJlIGFkZGVkLicgOiAnJztcbiAgICB9XG4gICB9XG59XG5cbiIsIjxzZWN0aW9uXG4gIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJnQ29sb3JcIlxuICBbc3R5bGUuYm94LXNoYWRvd109XCJib3hTaGFkb3dcIlxuICBbc3R5bGUuYm9yZGVyXT1cImJvcmRlclwiXG4gIFtzdHlsZS5ib3JkZXItcmFkaXVzXT1cImJvcmRlclJhZGl1c1wiXG4gIFtzdHlsZS5jb2xvcl09XCJ0ZXh0Q29sb3JcIlxuICBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXG4gIFtzdHlsZS5wYWRkaW5nXT1cInBkXCJcbj5cbiAgPGRpdiBjbGFzcz1cInRvcFwiPlxuICAgIDxoMyBbc3R5bGUuY29sb3JdPVwidGVydGlhcnlDb2xvclwiIFtzdHlsZS5mb250LXNpemVdPVwiJzE0cHgnXCI+XG4gICAgICBGaWx0ZXJzXG4gICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwic2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgICA+PHN1cD4oe3sgZmlsdGVyQ291bnQgfX0pPC9zdXA+PC9zcGFuXG4gICAgICA+XG4gICAgPC9oMz5cbiAgICA8YnV0dG9uXG4gICAgICBbc3R5bGUuY29sb3JdPVwic2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmdDb2xvclwiXG4gICAgICBbc3R5bGUuYm9yZGVyXT1cIidub25lJ1wiXG4gICAgICBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiXG4gICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIlxuICAgID5cbiAgICAgIFJlc2V0XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8aHIgLz5cblxuICA8IS0tIFNhdmVkIEZpbHRlcnMgU2VjdGlvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzYXZlZFdyYXBwZXJcIj5cbiAgICAgIDxoMyBbc3R5bGUuZm9udC1zaXplXT1cIicxM3B4J1wiPlNhdmVkIEZpbHRlcnM8L2gzPlxuICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgaWNvbj1cImluZm9cIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0QWxsV3JhcHBlclwiICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtjaGVja2VkXT1cImNoZWNrQWxsXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiXG4gICAgICAvPlxuICAgICAgPHAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIiBbc3R5bGUuZm9udC13ZWlnaHRdPVwiJzUwMCdcIj5TZWxlY3QgQWxsPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgdmlzaWJsZUZpbHRlcnM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgY2xhc3M9XCJjZW50ZXJJbm5lcldyYXBwZXJcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFdyYXBwZXJcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICA+PGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiZmlsdGVyLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoZWNrYm94KGkpXCJcbiAgICAgICAgLz48L3NwYW4+XG4gICAgICAgIDxwXG4gICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIlxuICAgICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZmlsdGVyLm5hbWUgfX0ge3sgZmlsdGVyLmNvbmRpdGlvbiB9fSB7eyBmaWx0ZXIudmFsdWV9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uV3JhcHBlclwiPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgIGljb249XCJlZGl0XCJcbiAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgIHN0cm9rZT1cIiMzNDc5RTlcIlxuICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImVkaXRGaWx0ZXIoaSlcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgIGljb249XCJkZWxldGVcIlxuICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgc3Ryb2tlPVwiI0UyMDAwMFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbHRlcihpKVwiXG4gICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibW9yZVdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCJzYXZlZEZpbHRlcnMubGVuZ3RoID4gbWF4RmlsdGVyTGVuZ3RoXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVTaG93TW9yZSgpXCJcbiAgICA+XG4gICAgICA8cFxuICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNTAwJ1wiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXJ0aWFyeUNvbG9yXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd0FsbEZpbHRlcnMgPyBcIlNob3cgbGVzc1wiIDogXCJTaG93IG1vcmVcIiB9fVxuICAgICAgPC9wPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBpY29uPVwiY2hldnJvblwiXG4gICAgICAgIFt3aWR0aF09XCI4XCJcbiAgICAgICAgW2hlaWdodF09XCI2XCJcbiAgICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICAgICAgc3Ryb2tlPVwiYmxhY2tcIlxuICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxociAvPlxuXG4gIDwhLS0gT3BlcmF0aW9uIFNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJib3R0b21cIj5cbiAgICA8ZGl2IGNsYXNzPVwic2F2ZWRXcmFwcGVyXCI+XG4gICAgICA8aDMgW3N0eWxlLmZvbnQtc2l6ZV09XCInMTNweCdcIj5PcGVyYXRpb248L2gzPlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJ7J3Bvc2l0aW9uJzoncmVsYXRpdmUnfVwiPiBcbiAgICAgICAgXG4gICAgICAgIDx2ZXJiZW4tdG9vbHRpcCBcbiAgICAgICAgW3Rvb2x0aXBDb250ZW50XT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiJ2dyZXknXCJcbiAgICAgICAgd2lkdGg9XCIyMDBweFwiIFxuICAgICAgICBbdG9wXT1cIicyMHB4J1wiICAgICAgICAgICAgICAgICBcbiAgICAgICAgW3JpZ2h0XT1cIicwcHgnXCIgIFxuICAgICAgICA+XG4gICAgICAgIDx2ZXJiZW4tc3ZnIFxuICAgICAgICBpY29uPVwiaW5mb1wiIFxuICAgICAgICBbd2lkdGhdPVwiMTVcIiBcbiAgICAgICAgW2hlaWdodF09XCIxNVwiICAgXG4gICAgICAgICpuZ0lmPVwiaXNEdXBsaWNhdGVGaWx0ZXJcIlxuICAgICAgICBmaWxsPVwicmVkXCJcbiAgICAgICAgPlxuICAgICAgICA8L3ZlcmJlbi1zdmc+XG4gICAgICAgIDwvdmVyYmVuLXRvb2x0aXA+XG4gICAgICBcbiAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcFRlbXBsYXRlPlxuICAgICAgIHt7ZHVwbGljYXRlTWVzc2FnZX19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8IS0tIDx2ZXJiZW4tdG9vbHRpcFxuICAgICAgICAgW2JhY2tncm91bmRDb2xvcl09XCInZ3JleSdcIlxuICAgICAgICAgW3RleHRDb2xvcl09XCInd2hpdGUnXCJcbiAgICAgICAgIFtwYWRkaW5nXT1cIicxMHB4J1wiXG4gICAgICAgICBbYm9yZGVyUmFkaXVzXT1cIic4cHgnXCJcbiAgICAgICAgIFt0b3BdPVwiJzIwcHgnXCIgICAgICAgICAgICAgICAgIFxuICAgICAgICAgW3JpZ2h0XT1cIicwcHgnXCIgICBcbiAgICAgICAgIHdpZHRoPVwiMjUwcHhcIiBcbiAgICAgICAgICN0b29sdGlwIFxuICAgICAgICAgKm5nSWY9XCJ0b29sdGlwXCJcbiAgICAgICAgID5cbiAgICAgICAgIDxoMz57e2R1cGxpY2F0ZU1lc3NhZ2V9fTwvaDM+XG4gICAgICAgIDwvdmVyYmVuLXRvb2x0aXA+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBpY29uPVwiaW5mb1wiXG4gICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICBmaWxsPVwiZ3JleVwiXG4gICAgICAgICpuZ0lmPVwiIWlzRHVwbGljYXRlRmlsdGVyXCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXRzV3JhcHBlclwiPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgd2lkdGg9XCI3cmVtXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgdmFsdWVcIlxuICAgICAgICBbb3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWx0ZXJWYWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsdGVyTmFtZUNoYW5nZShzZWxlY3RlZEZpbHRlclZhbHVlKVwiXG4gICAgICA+XG4gICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICB3aWR0aD1cIjdyZW1cIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCB2YWx1ZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHZhbHVlXCJcbiAgICAgICAgW29wdGlvbnNdPVwiY29uZGl0aW9uT3B0aW9uc1wiXG4gICAgICAgIChvbkNoYW5nZSk9XCJjaGVja0R1cGxpY2F0ZUZpbHRlcigpXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENvbmRpdGlvblwiXG4gICAgICA+XG4gICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cInNlbGVjdGVkRmlsdGVyVHlwZSA9PT0gJ0RhdGUnXCJcbiAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICB3aWR0aD1cIjgwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjVweFwiXG4gICAgICBwZD1cIjZweFwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgW3R5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJUeXBlID09PSAnQ3JlZGl0JyB8fCBzZWxlY3RlZEZpbHRlclR5cGUgPT09ICdJbnRlZ2VyJ1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgI2NjY1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCIxMDBweFwiXG4gICAgICBoZWlnaHQ9XCIyNXB4XCJcbiAgICAgIHBkPVwiNnB4XCJcbiAgICAgIHBsYWNlSG9sZGVyPVwiaW5wdXQgaW50ZWdlclwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcblxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG5cbiAgICAgIGFwcFZhbGlkYXRlPVwiaW50ZWdlclwiXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsdWVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cInNlbGVjdGVkRmlsdGVyVHlwZSA9PT0gJ0RlY2ltYWwnXCJcbiAgICAgIGJvcmRlcj1cIjFweCBzb2xpZCAjY2NjXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjVweFwiXG4gICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICB3aWR0aD1cIjEwMHB4XCJcbiAgICAgIGhlaWdodD1cIjI1cHhcIlxuICAgICAgcGQ9XCI2cHhcIlxuICAgICAgcGxhY2VIb2xkZXI9XCJpbnB1dCBhIGRlY2ltYWxcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJmYWxzZVwiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICBhcHBWYWxpZGF0ZT1cImRlY2ltYWxcIlxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbHRlclR5cGUgIT09ICdDcmVkaXQnICYmIHNlbGVjdGVkRmlsdGVyVHlwZSAhPT0gJ0RhdGUnICAmJiBzZWxlY3RlZEZpbHRlclR5cGUgIT09ICdJbnRlZ2VyJyAgJiYgc2VsZWN0ZWRGaWx0ZXJUeXBlICE9PSAnRGVjaW1hbCdcIlxuICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICNjY2NcIlxuICAgICAgcGxhY2VIb2xkZXI9XCJpbnB1dCB2YWx1ZVwiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1cHhcIlxuICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgd2lkdGg9XCIxMDBweFwiXG4gICAgICBoZWlnaHQ9XCIyNXB4XCJcbiAgICAgIHBkPVwiNnB4XCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcblxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuV3JhcHBlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBbc3R5bGUubWFyZ2luLXRvcF09XCInMC41cmVtJ1wiXG4gICAgICAgIFtzdHlsZS5vdXRsaW5lXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJzZWNvbmRhcnlDb2xvclwiXG4gICAgICAgIFtzdHlsZS5mb250LXNpemVdPVwiJzEycHgnXCJcbiAgICAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIic1MDAnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBZGRGaWx0ZXJCdG5cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgZGlzYWJsZWJ0bjogZGlzYWJsZUFkZEZpbHRlckJ0bixcbiAgICAgICAgICBlbmFibGVCdG46ICFkaXNhYmxlQWRkRmlsdGVyQnRuXG4gICAgICAgIH1cIlxuICAgICAgICAoY2xpY2spPVwiYWRkRmlsdGVyKClcIlxuICAgICAgPlxuICAgICAgICArIEFkZFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGhyIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuV3JhcHBlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBbc3R5bGUubWFyZ2luLXRvcF09XCInMC41cmVtJ1wiXG4gICAgICAgIFtzdHlsZS5vdXRsaW5lXT1cIidub25lJ1wiXG4gICAgICAgIFtzdHlsZS5ib3JkZXJdPVwiJ25vbmUnXCJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmddPVwiJzAuMnJlbSAxLjZyZW0nXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwicHJpbWFyeUNvbG9yXCJcbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRlcnRpYXJ5Q29sb3JcIlxuICAgICAgICBbc3R5bGUuZm9udC1zaXplXT1cIicxMnB4J1wiXG4gICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCInNjAwJ1wiXG4gICAgICAgIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQXBwbHlGaWx0ZXJCdG5cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgZGlzYWJsZWJ0bjogZGlzYWJsZUFwcGx5RmlsdGVyQnRuLFxuICAgICAgICAgIGVuYWJsZUJ0bjogIWRpc2FibGVBcHBseUZpbHRlckJ0blxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgRmlsdGVyXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuXG4gIDwvZGl2PlxuXG48L3NlY3Rpb24+XG4iXX0=
|