myrta-ui 17.1.44 → 17.1.46
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/form/checkbox-group/checkbox-group.component.mjs +4 -4
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +3 -6
- package/esm2022/lib/components/form/select/select.component.mjs +3 -3
- package/esm2022/lib/components/label/label.component.mjs +3 -3
- package/esm2022/lib/components/popup/directives/popup-trigger.directive.mjs +9 -3
- package/esm2022/lib/components/table/table.component.mjs +2 -2
- package/fesm2022/myrta-ui.mjs +18 -15
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +0 -1
- package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +0 -1
- package/lib/components/popup/directives/popup-trigger.directive.d.ts +3 -1
- package/package.json +1 -1
|
@@ -18,7 +18,6 @@ import * as i4 from "./components/checkbox-group-item/checkbox-group-item.compon
|
|
|
18
18
|
import * as i5 from "./components/checkbox-group-header/checkbox-group-header.component";
|
|
19
19
|
export class CheckboxGroupComponent {
|
|
20
20
|
_detector;
|
|
21
|
-
_groupItemsWrapperHeight = 0;
|
|
22
21
|
_searchValue = '';
|
|
23
22
|
list = [];
|
|
24
23
|
innerList = [];
|
|
@@ -78,7 +77,8 @@ export class CheckboxGroupComponent {
|
|
|
78
77
|
return `${this.customClasses}`;
|
|
79
78
|
}
|
|
80
79
|
get getShowScroll() {
|
|
81
|
-
|
|
80
|
+
const element = this.groupItemsWrapper?.nativeElement;
|
|
81
|
+
return !!element && element.scrollHeight > this.scrollMaxHeight;
|
|
82
82
|
}
|
|
83
83
|
trackByFn(index, item) {
|
|
84
84
|
return item.id;
|
|
@@ -98,7 +98,7 @@ export class CheckboxGroupComponent {
|
|
|
98
98
|
this.filteredList = getSortedList(this.innerList, this.sortable);
|
|
99
99
|
}
|
|
100
100
|
checkHeightGroupWrapper() {
|
|
101
|
-
this.
|
|
101
|
+
this._detector.detectChanges();
|
|
102
102
|
}
|
|
103
103
|
updateCheckboxGroupSearchValue(searchValue) {
|
|
104
104
|
this._searchValue = searchValue;
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
225
225
|
}], modelItemChange: [{
|
|
226
226
|
type: Output
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBa0J0RSxNQUFNLE9BQU8sc0JBQXNCO0lBd0RiO0lBdkRaLHdCQUF3QixHQUFHLENBQUMsQ0FBQztJQUM3QixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRW5CLElBQUksR0FBd0IsRUFBRSxDQUFDO0lBQy9CLFNBQVMsR0FBNkIsRUFBRSxDQUFDO0lBRXpDLFdBQVcsR0FBNkIsRUFBRSxDQUFDO0lBQzNDLFlBQVksR0FBNkIsRUFBRSxDQUFDO0lBRW5ELGFBQWE7SUFDTixJQUFJLEdBQVcsSUFBSSxFQUFFLENBQUM7SUFDYixNQUFNLEdBQVksRUFBRSxDQUFDO0lBRXJCLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDdEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztJQUNwQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDdkIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFFNUMsVUFBVTtJQUNELE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFdEIsUUFBUTtJQUNDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRXZCLFdBQVc7SUFDSyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLGNBQWMsR0FBc0IsRUFBRSxDQUFDO0lBRXZELElBQWEsS0FBSyxDQUFDLElBQXlCO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUUrQixpQkFBaUIsQ0FBYztJQUU5QyxPQUFPLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO0lBQ3JGLFdBQVcsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7SUFFbkcsWUFBWSxHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQUNwRyxnQkFBZ0IsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7SUFFbEgsZUFBZSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUVwSCxZQUFvQixTQUE0QjtRQUE1QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUNoRCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5RCxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUE0QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLFFBQVEsR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtJQUNsRCxDQUFDLENBQUM7SUFDTSxTQUFTLEdBQUcsR0FBRyxFQUFFO0lBQ3pCLENBQUMsQ0FBQztJQUVLLFVBQVUsQ0FBQyxhQUFrQztRQUNsRCxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ3BGLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxXQUFtQjtRQUN2RCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUEwRDtRQUMzRixNQUFNLFNBQVMsR0FBNkIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxNQUFNLFFBQVEsR0FBa0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVyRixJQUFJLFdBQVcsR0FBa0MsSUFBSSxDQUFDO1FBRXRELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixXQUFXLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRCxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLFNBQVMsR0FBNkIsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV6RSxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUF5QixFQUFFLFdBQXFDO1FBQ2pGLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNoRCxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO3dHQTlLVSxzQkFBc0I7NEZBQXRCLHNCQUFzQiw4cUJBUnRCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDckQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGtKQzNDSCw2OERBaURBOzRHREphLHNCQUFzQixjQWZyQixzQkFBc0I7OzRGQWV2QixzQkFBc0I7a0JBaEJsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsd0JBQXdCO2lCQUNuQzs7a0JBQ0EsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBY2UsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFFTyxLQUFLO3NCQUFqQixLQUFLO2dCQVMwQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUViLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTTtnQkFFVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFVSxlQUFlO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgQ2hlY2tib3hHcm91cElubmVySXRlbSxcclxuICBDaGVja2JveEdyb3VwSXRlbSxcclxuICBDaGVja2JveEdyb3VwVmFsdWVJbm5lcldpdGhJZCxcclxuICBDaGVja2JveEdyb3VwVmFsdWVXaXRoSWRcclxufSBmcm9tICcuL21vZGVscy9jaGVja2JveC1ncm91cC5tb2RlbCc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IGdldFNvcnRlZExpc3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LXNvcnRlZC1saXN0JztcclxuaW1wb3J0IHsgZmlsdGVyU2VhcmNoR3JvdXAgfSBmcm9tICcuL2hlbHBlcnMvZmlsdGVyLXNlYXJjaC1ncm91cCc7XHJcbmltcG9ydCB7IGdldEl0ZW1Jbm5lckJ5SWQgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWl0ZW0tYnktaWQnO1xyXG5pbXBvcnQgeyBjaGFuZ2VJdGVtVmFsdWUsIGNoYW5nZUxpc3RWYWx1ZSB9IGZyb20gJy4vaGVscGVycy9jaGFuZ2UtaXRlbS12YWx1ZSc7XHJcbmltcG9ydCB7IGNoYW5nZUdyb3VwVmFsdWUgfSBmcm9tICcuL2hlbHBlcnMvY2hhbmdlLWdyb3VwLXZhbHVlJztcclxuaW1wb3J0IHsgZ2V0Q2hlY2tlZEl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1jaGVja2VkLWl0ZW1zJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhdmUtc3RvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgZ2V0SW5uZXJMaXN0IH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1saXN0LmhlbHBlcic7XHJcbmltcG9ydCB7IGlubmVyTGlzdFRvTGlzdCB9IGZyb20gJy4vaGVscGVycy9pbm5lci1saXN0LXRvLWxpc3QuaGVscGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBDaGVja2JveEdyb3VwQ29tcG9uZW50XHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWNoZWNrYm94LWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveEdyb3VwQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByaXZhdGUgX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gMDtcclxuICBwcml2YXRlIF9zZWFyY2hWYWx1ZSA9ICcnO1xyXG5cclxuICBwdWJsaWMgbGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckxpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgY2hlY2tlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IFtdO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWQoKTtcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxNYXhIZWlnaHQgPSAyMDA7XHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVNZXNzYWdlID0gJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JztcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBleHBhbmRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gVE9PTFRJUFxyXG4gIEBJbnB1dCgpIHRvb2x0aXAgPSAnJztcclxuXHJcbiAgLy8gTEFCRUxcclxuICBASW5wdXQoKSBsYWJlbFRleHQgPSAnJztcclxuICBASW5wdXQoKSBsaW5rVGV4dCA9ICcnO1xyXG5cclxuICAvLyBWQUxJREFURVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXMobGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSkge1xyXG4gICAgdGhpcy5saXN0ID0gbGlzdDtcclxuICAgIHRoaXMuX3VwZGF0ZU1vZGlmaWVkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1zKCk6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZExpc3Q7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdncm91cEl0ZW1zV3JhcHBlcicpIGdyb3VwSXRlbXNXcmFwcGVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cEl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJdGVtW10+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkSW5uZXI6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSW5uZXJJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSW5uZXJJdGVtW10+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZUlubmVyOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlSW5uZXJXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVJbm5lcldpdGhJZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbEl0ZW1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSW5uZXJJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzU2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzcGxhY2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGlzdC5zb21lKChpdGVtOiBDaGVja2JveEdyb3VwSXRlbSkgPT4gaXRlbS5pdGVtcz8ubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldEludmFsaWRNZXNzYWdlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmludmFsaWRNZXNzYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFNob3dTY3JvbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPiB0aGlzLnNjcm9sbE1heEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBDaGVja2JveEdyb3VwSXRlbVtdKSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBDaGVja2JveEdyb3VwSXRlbVtdKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0ZWRWYWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0SW5uZXJMaXN0KHNlbGVjdGVkVmFsdWUsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gICAgICB0aGlzLl91cGRhdGVNb2RpZmllZExpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU1vZGlmaWVkTGlzdCgpIHtcclxuICAgIHRoaXMuaW5uZXJMaXN0ID0gZ2V0SW5uZXJMaXN0KHRoaXMubGlzdCwgdGhpcy5jaGVja2VkTGlzdCk7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGdldFNvcnRlZExpc3QodGhpcy5pbm5lckxpc3QsIHRoaXMuc29ydGFibGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrSGVpZ2h0R3JvdXBXcmFwcGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPSB0aGlzLmdyb3VwSXRlbXNXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZShzZWFyY2hWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBmaWx0ZXJTZWFyY2hHcm91cCh0aGlzLmlubmVyTGlzdCwgdGhpcy5fc2VhcmNoVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrYm94Q2hhbmdlZCh7dmFsdWUsIGl0ZW19OiB7IHZhbHVlOiBib29sZWFuIHwgbnVsbDsgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB9KSB7XHJcbiAgICBjb25zdCBjbG9uZUxpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IGNsb25lRGVlcCh0aGlzLmlubmVyTGlzdCk7XHJcbiAgICBjb25zdCBmaW5kSXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB8IG51bGwgPSBnZXRJdGVtSW5uZXJCeUlkKGNsb25lTGlzdCwgaXRlbS5pZCk7XHJcblxyXG4gICAgbGV0IGNoYW5nZWRJdGVtOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgaWYgKGZpbmRJdGVtKSB7XHJcbiAgICAgIGNoYW5nZWRJdGVtID0gY2hhbmdlSXRlbVZhbHVlKGZpbmRJdGVtLCB2YWx1ZSk7XHJcbiAgICAgIGNoYW5nZUdyb3VwVmFsdWUoY2xvbmVMaXN0LCBpdGVtLnBhcmVudElkLCB2YWx1ZSk7XHJcbiAgICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlubmVyTGlzdCA9IGNsb25lTGlzdDtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gZmlsdGVyU2VhcmNoR3JvdXAodGhpcy5pbm5lckxpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUoW10sIHRoaXMuY2hlY2tlZExpc3QpO1xyXG5cclxuICAgIGlmIChjaGFuZ2VkSXRlbSkge1xyXG4gICAgICB0aGlzLm1vZGVsSXRlbUNoYW5nZS5lbWl0KGNoYW5nZWRJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBjbG9uZURlZXAodGhpcy5maWx0ZXJlZExpc3QpO1xyXG5cclxuICAgIGNoYW5nZUxpc3RWYWx1ZShjbG9uZUxpc3QsIGZhbHNlKTtcclxuICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGNsb25lTGlzdDtcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5maWx0ZXJlZExpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVmFsdWUobGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSwgY2hlY2tlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2xlYXJlZExpc3QgPSBpbm5lckxpc3RUb0xpc3QoY2hlY2tlZExpc3QpXHJcbiAgICBjb25zdCBjbGVhcmVkSW5uZXJMaXN0ID0gaW5uZXJMaXN0VG9MaXN0KHRoaXMuaW5uZXJMaXN0KVxyXG5cclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGNsZWFyZWRMaXN0KTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGNsZWFyZWRMaXN0LCBmdWxsOiBjbGVhcmVkSW5uZXJMaXN0LCBpZDogdGhpcy51dWlkfSk7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkSW5uZXIuZW1pdChjaGVja2VkTGlzdCk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlSW5uZXIuZW1pdCh7dmFsdWU6IGNoZWNrZWRMaXN0LCBmdWxsOiB0aGlzLmlubmVyTGlzdCwgaWQ6IHRoaXMudXVpZH0pO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UoY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVDb250ZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xyXG4gICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiIHR5cGU9XCJjaGVja2JveEdyb3VwXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuXHJcbiAgPG1yeC1jaGVja2JveC1ncm91cC1oZWFkZXJcclxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxyXG4gICAgW2xpbmtUZXh0XT1cImxpbmtUZXh0XCJcclxuICAgIFtjaGVja2VkSXRlbXNDb3VudF09XCJjaGVja2VkTGlzdC5sZW5ndGhcIlxyXG4gICAgW2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXHJcbiAgICBbaXNFeHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcclxuICAgICh1cGRhdGVDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUpPVwidXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKCRldmVudClcIlxyXG4gICAgKGNsZWFyRmlsdGVycyk9XCJjbGVhckZpbHRlcnMoKVwiXHJcbiAgICAodG9nZ2xlKT1cInRvZ2dsZUNvbnRlbnQoKVwiXHJcbiAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWhlYWRlcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRhYmxlIHx8IGlzRXhwYW5kZWRcIj5cclxuICAgIEBpZiAoZmlsdGVyZWRMaXN0ICYmIGZpbHRlcmVkTGlzdC5sZW5ndGgpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgICNncm91cEl0ZW1zV3JhcHBlclxyXG4gICAgICAgIGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwLXdyYXBwZXJcIlxyXG4gICAgICAgIFtjbGFzcy5tcngtY2hlY2tib3gtZ3JvdXAtd3JhcHBlci0tc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcclxuICAgICAgICBbY2xhc3MuLS1hY3RpdmVdPVwiZ2V0U2hvd1Njcm9sbFwiXHJcbiAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwic2Nyb2xsYWJsZSA/IHNjcm9sbE1heEhlaWdodCArICdweCcgOiAnYXV0bydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZExpc3Q7IHRyYWNrIGl0ZW0uaWQ7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICAgIDxtcngtY2hlY2tib3gtZ3JvdXAtaXRlbVxyXG4gICAgICAgICAgICBbZGlzcGxhY2VkXT1cImRpc3BsYWNlZCB8fCBmYWxzZVwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbaXNMYXN0XT1cImxhc3RcIlxyXG4gICAgICAgICAgICBbYW5pbWF0aW9uVHJpZ2dlcl09XCIhIWlzU2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICAgICAgICAgICAgKGFuaW1hdGlvbkVuZCk9XCJjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpXCJcclxuICAgICAgICAgICAgKGNoZWNrYm94Q2hhbmdlZCk9XCJjaGVja2JveENoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9tcngtY2hlY2tib3gtZ3JvdXAtaXRlbT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxwIGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19lbXB0eS1tZXNzYWdlXCI+e3sgZW5hYmxlTWVzc2FnZSB9fTwvcD5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKGdldEludmFsaWQgJiYgZ2V0SW52YWxpZE1lc3NhZ2UpIHtcclxuICAgICAgPG1yeC1lcnJvci1tZXNzYWdlIFtpbnZhbGlkTWVzc2FnZV09XCJnZXRJbnZhbGlkTWVzc2FnZVwiIFtjdXN0b21DbGFzc2VzXT1cIidtdC0yJ1wiPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcbiAgICB9XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxF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Y3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZiwgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDaGVja2JveEdyb3VwSW5uZXJJdGVtLFxyXG4gIENoZWNrYm94R3JvdXBJdGVtLFxyXG4gIENoZWNrYm94R3JvdXBWYWx1ZUlubmVyV2l0aElkLFxyXG4gIENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgZ2V0U29ydGVkTGlzdCB9IGZyb20gJy4vaGVscGVycy9nZXQtc29ydGVkLWxpc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUlubmVyQnlJZCB9IGZyb20gJy4vaGVscGVycy9nZXQtaXRlbS1ieS1pZCc7XHJcbmltcG9ydCB7IGNoYW5nZUl0ZW1WYWx1ZSwgY2hhbmdlTGlzdFZhbHVlIH0gZnJvbSAnLi9oZWxwZXJzL2NoYW5nZS1pdGVtLXZhbHVlJztcclxuaW1wb3J0IHsgY2hhbmdlR3JvdXBWYWx1ZSB9IGZyb20gJy4vaGVscGVycy9jaGFuZ2UtZ3JvdXAtdmFsdWUnO1xyXG5pbXBvcnQgeyBnZXRDaGVja2VkSXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNoZWNrZWQtaXRlbXMnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2F2ZS1zdG9yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXRJbm5lckxpc3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWlubmVyLWxpc3QuaGVscGVyJztcclxuaW1wb3J0IHsgaW5uZXJMaXN0VG9MaXN0IH0gZnJvbSAnLi9oZWxwZXJzL2lubmVyLWxpc3QtdG8tbGlzdC5oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IENoZWNrYm94R3JvdXBDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtY2hlY2tib3gtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94R3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfc2VhcmNoVmFsdWUgPSAnJztcclxuXHJcbiAgcHVibGljIGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgaW5uZXJMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBbXTtcclxuXHJcbiAgcHVibGljIGNoZWNrZWRMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgZmlsdGVyZWRMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBbXTtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkKCk7XHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsTWF4SGVpZ2h0ID0gMjAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNjcm9sbGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc29ydGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlTWVzc2FnZSA9ICfQndC40YfQtdCz0L4g0L3QtSDQvdCw0LnQtNC10L3Qvic7XHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaFBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgZXhwYW5kYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIFRPT0xUSVBcclxuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgbGlua1RleHQgPSAnJztcclxuXHJcbiAgLy8gVkFMSURBVEVcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkTWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10pIHtcclxuICAgIHRoaXMubGlzdCA9IGxpc3Q7XHJcbiAgICB0aGlzLl91cGRhdGVNb2RpZmllZExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcygpOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRMaXN0O1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnZ3JvdXBJdGVtc1dyYXBwZXInKSBncm91cEl0ZW1zV3JhcHBlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZElubmVyOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2VJbm5lcjogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZUlubmVyV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlSW5uZXJXaXRoSWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxJdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJbm5lckl0ZW0+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1NlYXJjaFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3BsYWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3Quc29tZSgoaXRlbTogQ2hlY2tib3hHcm91cEl0ZW0pID0+IGl0ZW0uaXRlbXM/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldEludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJbnZhbGlkTWVzc2FnZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkTWVzc2FnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTaG93U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ3JvdXBJdGVtc1dyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICByZXR1cm4gISFlbGVtZW50ICYmIGVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gdGhpcy5zY3JvbGxNYXhIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogQ2hlY2tib3hHcm91cEl0ZW1bXSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZTogQ2hlY2tib3hHcm91cEl0ZW1bXSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5jaGVja2VkTGlzdCA9IGdldElubmVyTGlzdChzZWxlY3RlZFZhbHVlLCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuICAgICAgdGhpcy5fdXBkYXRlTW9kaWZpZWRMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNb2RpZmllZExpc3QoKSB7XHJcbiAgICB0aGlzLmlubmVyTGlzdCA9IGdldElubmVyTGlzdCh0aGlzLmxpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBnZXRTb3J0ZWRMaXN0KHRoaXMuaW5uZXJMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUoc2VhcmNoVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gZmlsdGVyU2VhcmNoR3JvdXAodGhpcy5pbm5lckxpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja2JveENoYW5nZWQoe3ZhbHVlLCBpdGVtfTogeyB2YWx1ZTogYm9vbGVhbiB8IG51bGw7IGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0gfSkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBjbG9uZURlZXAodGhpcy5pbm5lckxpc3QpO1xyXG4gICAgY29uc3QgZmluZEl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0gfCBudWxsID0gZ2V0SXRlbUlubmVyQnlJZChjbG9uZUxpc3QsIGl0ZW0uaWQpO1xyXG5cclxuICAgIGxldCBjaGFuZ2VkSXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmIChmaW5kSXRlbSkge1xyXG4gICAgICBjaGFuZ2VkSXRlbSA9IGNoYW5nZUl0ZW1WYWx1ZShmaW5kSXRlbSwgdmFsdWUpO1xyXG4gICAgICBjaGFuZ2VHcm91cFZhbHVlKGNsb25lTGlzdCwgaXRlbS5wYXJlbnRJZCwgdmFsdWUpO1xyXG4gICAgICBnZXRTb3J0ZWRMaXN0KGNsb25lTGlzdCwgdGhpcy5zb3J0YWJsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbm5lckxpc3QgPSBjbG9uZUxpc3Q7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGZpbHRlclNlYXJjaEdyb3VwKHRoaXMuaW5uZXJMaXN0LCB0aGlzLl9zZWFyY2hWYWx1ZSk7XHJcbiAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0Q2hlY2tlZEl0ZW1zKGNsb25lTGlzdCk7XHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFtdLCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuXHJcbiAgICBpZiAoY2hhbmdlZEl0ZW0pIHtcclxuICAgICAgdGhpcy5tb2RlbEl0ZW1DaGFuZ2UuZW1pdChjaGFuZ2VkSXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyRmlsdGVycygpIHtcclxuICAgIGNvbnN0IGNsb25lTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gY2xvbmVEZWVwKHRoaXMuZmlsdGVyZWRMaXN0KTtcclxuXHJcbiAgICBjaGFuZ2VMaXN0VmFsdWUoY2xvbmVMaXN0LCBmYWxzZSk7XHJcbiAgICBnZXRTb3J0ZWRMaXN0KGNsb25lTGlzdCwgdGhpcy5zb3J0YWJsZSk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBjbG9uZUxpc3Q7XHJcbiAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0Q2hlY2tlZEl0ZW1zKGNsb25lTGlzdCk7XHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZmlsdGVyZWRMaXN0LCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10sIGNoZWNrZWRMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsZWFyZWRMaXN0ID0gaW5uZXJMaXN0VG9MaXN0KGNoZWNrZWRMaXN0KVxyXG4gICAgY29uc3QgY2xlYXJlZElubmVyTGlzdCA9IGlubmVyTGlzdFRvTGlzdCh0aGlzLmlubmVyTGlzdClcclxuXHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChjbGVhcmVkTGlzdCk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBjbGVhcmVkTGlzdCwgZnVsbDogY2xlYXJlZElubmVyTGlzdCwgaWQ6IHRoaXMudXVpZH0pO1xyXG5cclxuICAgIHRoaXMuY2hhbmdlZElubmVyLmVtaXQoY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZUlubmVyLmVtaXQoe3ZhbHVlOiBjaGVja2VkTGlzdCwgZnVsbDogdGhpcy5pbm5lckxpc3QsIGlkOiB0aGlzLnV1aWR9KTtcclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlKGNoZWNrZWRMaXN0KTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlQ29udGVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cFwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcbiAgPG1yeC1zYXZlLXN0YXRlIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIiB0eXBlPVwiY2hlY2tib3hHcm91cFwiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcblxyXG4gIDxtcngtY2hlY2tib3gtZ3JvdXAtaGVhZGVyXHJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXHJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcclxuICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcclxuICAgIFtsaW5rVGV4dF09XCJsaW5rVGV4dFwiXHJcbiAgICBbY2hlY2tlZEl0ZW1zQ291bnRdPVwiY2hlY2tlZExpc3QubGVuZ3RoXCJcclxuICAgIFtleHBhbmRhYmxlXT1cImV4cGFuZGFibGVcIlxyXG4gICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXHJcbiAgICAodXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKT1cInVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICAgIChjbGVhckZpbHRlcnMpPVwiY2xlYXJGaWx0ZXJzKClcIlxyXG4gICAgKHRvZ2dsZSk9XCJ0b2dnbGVDb250ZW50KClcIlxyXG4gID48L21yeC1jaGVja2JveC1ncm91cC1oZWFkZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kYWJsZSB8fCBpc0V4cGFuZGVkXCI+XHJcbiAgICBAaWYgKGZpbHRlcmVkTGlzdCAmJiBmaWx0ZXJlZExpc3QubGVuZ3RoKSB7XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAjZ3JvdXBJdGVtc1dyYXBwZXJcclxuICAgICAgICBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cC13cmFwcGVyXCJcclxuICAgICAgICBbY2xhc3MubXJ4LWNoZWNrYm94LWdyb3VwLXdyYXBwZXItLXNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZVwiXHJcbiAgICAgICAgW2NsYXNzLi0tYWN0aXZlXT1cImdldFNob3dTY3JvbGxcIlxyXG4gICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInNjcm9sbGFibGUgPyBzY3JvbGxNYXhIZWlnaHQgKyAncHgnIDogJ2F1dG8nXCJcclxuICAgICAgPlxyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgZmlsdGVyZWRMaXN0OyB0cmFjayBpdGVtLmlkOyBsZXQgbGFzdCA9ICRsYXN0KSB7XHJcbiAgICAgICAgICA8bXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW1cclxuICAgICAgICAgICAgW2Rpc3BsYWNlZF09XCJkaXNwbGFjZWQgfHwgZmFsc2VcIlxyXG4gICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICAgICAgW2lzTGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiISFpc1NlYXJjaFZhbHVlXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAgIChhbmltYXRpb25FbmQpPVwiY2hlY2tIZWlnaHRHcm91cFdyYXBwZXIoKVwiXHJcbiAgICAgICAgICAgIChjaGVja2JveENoYW5nZWQpPVwiY2hlY2tib3hDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW0+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8cCBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cF9fZW1wdHktbWVzc2FnZVwiPnt7IGVuYWJsZU1lc3NhZ2UgfX08L3A+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIChnZXRJbnZhbGlkICYmIGdldEludmFsaWRNZXNzYWdlKSB7XHJcbiAgICAgIDxtcngtZXJyb3ItbWVzc2FnZSBbaW52YWxpZE1lc3NhZ2VdPVwiZ2V0SW52YWxpZE1lc3NhZ2VcIiBbY3VzdG9tQ2xhc3Nlc109XCInbXQtMidcIj48L21yeC1lcnJvci1tZXNzYWdlPlxyXG4gICAgfVxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -19,9 +19,6 @@ export class CheckboxGroupHeaderComponent {
|
|
|
19
19
|
clearFilters = new EventEmitter();
|
|
20
20
|
toggle = new EventEmitter();
|
|
21
21
|
constructor() { }
|
|
22
|
-
get translateChevron() {
|
|
23
|
-
return this.isExpanded ? 'rotate(0deg)' : 'rotate(-180deg)';
|
|
24
|
-
}
|
|
25
22
|
changeSearchValue(searchValue) {
|
|
26
23
|
this.searchValue = searchValue;
|
|
27
24
|
this.updateCheckboxGroupSearchValue.emit(searchValue);
|
|
@@ -35,11 +32,11 @@ export class CheckboxGroupHeaderComponent {
|
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", expandable: "expandable", isExpanded: "isExpanded", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters", toggle: "toggle" }, ngImport: i0, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16\"\r\n [
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", expandable: "expandable", isExpanded: "isExpanded", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters", toggle: "toggle" }, ngImport: i0, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n <div class=\"d-inline-flex\">\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 ml-1\"\r\n [class.mrx-checkbox-group-head--expanded]=\"isExpanded\"\r\n ></span>\r\n }\r\n </div>\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n <mrx-input-search\r\n *ngIf=\"!expandable || isExpanded\"\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n </div>\r\n </ng-container>\r\n}\r\n", styles: [".mrx-checkbox-group-head--expanded{transform:rotate(-180deg)}.mrx-checkbox-group-head--search{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: i4.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
36
|
}
|
|
40
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
|
|
41
38
|
type: Component,
|
|
42
|
-
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16\"\r\n [
|
|
39
|
+
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n <div class=\"d-inline-flex\">\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 ml-1\"\r\n [class.mrx-checkbox-group-head--expanded]=\"isExpanded\"\r\n ></span>\r\n }\r\n </div>\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n <mrx-input-search\r\n *ngIf=\"!expandable || isExpanded\"\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n </div>\r\n </ng-container>\r\n}\r\n", styles: [".mrx-checkbox-group-head--expanded{transform:rotate(-180deg)}.mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
43
40
|
}], ctorParameters: () => [], propDecorators: { searchable: [{
|
|
44
41
|
type: Input
|
|
45
42
|
}], searchPlaceholder: [{
|
|
@@ -63,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
63
60
|
}], toggle: [{
|
|
64
61
|
type: Output
|
|
65
62
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NoZWNrYm94LWdyb3VwL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAtaGVhZGVyL2NoZWNrYm94LWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWhlYWRlci9jaGVja2JveC1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU2hHLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVkLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDbEIsaUJBQWlCLEdBQUcsRUFBRSxDQUFBO0lBQ3RCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1QixRQUFRO0lBQ0MsT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNaLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDZCxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ2IsaUJBQWlCLEdBQUcsQ0FBQyxDQUFBO0lBRWIsOEJBQThCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbEYsWUFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzVELE1BQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV2RSxnQkFBZ0IsQ0FBQztJQUVWLGlCQUFpQixDQUFDLFdBQXFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWlCO1FBQy9CLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLFlBQVksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM1RixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO3dHQWpDVSw0QkFBNEI7NEZBQTVCLDRCQUE0Qiw0YUNUekMsMGdDQW1DQTs7NEZEMUJhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU07d0RBS3RDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFVyw4QkFBOEI7c0JBQTlDLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGVja2JveC1ncm91cC1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLWhlYWRlci5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cEhlYWRlckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHNlYXJjaFZhbHVlID0gJydcclxuXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlXHJcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJ1xyXG4gIEBJbnB1dCgpIGV4cGFuZGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0V4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJydcclxuICBASW5wdXQoKSBsaW5rVGV4dCA9ICcnXHJcbiAgQElucHV0KCkgY2hlY2tlZEl0ZW1zQ291bnQgPSAwXHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJGaWx0ZXJzOiBFdmVudEVtaXR0ZXI8bnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyB0b2dnbGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVNlYXJjaFZhbHVlKHNlYXJjaFZhbHVlOiBDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMudXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlLmVtaXQoc2VhcmNoVmFsdWUpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhckZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyRmlsdGVycy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Ub2dnbGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB8fCAhZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnaWNvbi1oZWxwJykpIHtcclxuICAgICAgdGhpcy50b2dnbGUuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKGxhYmVsVGV4dCkge1xyXG4gIDxtcngtbGFiZWxcclxuICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJleHBhbmRhYmxlXCJcclxuICAgIFtjb3VudGVyXT1cImNoZWNrZWRJdGVtc0NvdW50XCJcclxuICAgIFtsaW5rVGV4dF09XCJsaW5rVGV4dFwiXHJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcclxuICAgIChjbGlja2VkTGluayk9XCJvbkNsZWFyRmlsdGVycygpXCJcclxuICAgIChjbGljayk9XCJleHBhbmRhYmxlICYmIG9uVG9nZ2xlKCRldmVudClcIlxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiZC1pbmxpbmUtZmxleFwiPlxyXG4gICAge3sgbGFiZWxUZXh0IH19XHJcblxyXG4gICAgQGlmIChleHBhbmRhYmxlKSB7XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tZG93biBpY29uLWZvbnQtMTYgbWwtMVwiXHJcbiAgICAgICAgW2NsYXNzLm1yeC1jaGVja2JveC1ncm91cC1oZWFkLS1leHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcclxuICAgICAgPjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICA8L21yeC1sYWJlbD5cclxufVxyXG5cclxuQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRhYmxlIHx8IGlzRXhwYW5kZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXAtaGVhZC0tc2VhcmNoXCI+XHJcbiAgICAgIDxtcngtaW5wdXQtc2VhcmNoXHJcbiAgICAgICAgKm5nSWY9XCIhZXhwYW5kYWJsZSB8fCBpc0V4cGFuZGVkXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hWYWx1ZVwiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgID48L21yeC1pbnB1dC1zZWFyY2g+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
|
@@ -227,7 +227,7 @@ export class SelectComponent {
|
|
|
227
227
|
useExisting: forwardRef(() => SelectComponent),
|
|
228
228
|
multi: true,
|
|
229
229
|
},
|
|
230
|
-
], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }, { propertyName: "popupHeaderTemplate", first: true, predicate: ["popupHeaderTemplate"], descendants: true }, { propertyName: "popupFooterTemplate", first: true, predicate: ["popupFooterTemplate"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class]=\"getClasses\"\r\n class=\"mrx-select\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n @switch (use) {\r\n @case ('default') {\r\n <div\r\n class=\"mrx-select__input\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [scrollContainerRef]=\"scrollContainer\"\r\n [scrollStrategy]=\"scrollStrategy\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @if (multiCollapseCount && getSelectedLabels.length >= multiCollapseCount) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ getSelectedLabels.length }}</p>\r\n\r\n @if (!disabled && !readonly) {\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onClear($event)\"></span>\r\n }\r\n </div>\r\n } @else {\r\n @for (item of getSelectedLabels; track item.__id; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last, clear: clearItem.bind(this)}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div\r\n class=\"mrx-icon icon-close mrx-select__input__controls--icon\"\r\n [class]=\"getIconSize\"\r\n (click)=\"onClear($event)\"\r\n ></div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n @case ('link') {\r\n <div\r\n class=\"mrx-select__input-link\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (sortPlaceholder) {\r\n <p>{{ sortPlaceholder }}</p>\r\n }\r\n\r\n @if (sortIcon) {\r\n <span\r\n class=\"mrx-icon {{sortIcon === 'asc' ? 'icon-sorting-up' : 'icon-sorting-down'}}\"\r\n [class]=\"getIconSize\"\r\n ></span>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input-link__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-search\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-search>\r\n </div>\r\n }\r\n\r\n @if (contentTemplate) {\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupHeaderTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (!!addOption) {\r\n <div class=\"mrx-select__dropdown__extra-option\">\r\n <mrx-input-text\r\n class=\"flex-grow-1\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"extraOptionPlaceholder\"\r\n [(ngModel)]=\"model.label\"\r\n [maxlength]=\"300\"\r\n [invalid]=\"!!form.errors['label']\"\r\n [invalidMessage]=\"form.errors['label']\"\r\n (ngModelChange)=\"changeTextValueEmpty()\"\r\n ></mrx-input-text>\r\n <mrx-button\r\n [iconOnly]=\"true\"\r\n icon=\"<span class='mrx-icon icon-plus icon-font-24'></span>\"\r\n size=\"medium\"\r\n type=\"secondary\"\r\n (click)=\"onAddNewCustomOption()\"\r\n ></mrx-button>\r\n </div>\r\n }\r\n\r\n @if (popupFooterTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupFooterTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\"></mrx-error-message>\r\n }\r\n\r\n <mrx-save-state [fields]=\"fields\" [id]=\"uuid\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label.__origin[bindLabel] : label.__origin['label'] || label.__origin }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option.__origin[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option.__origin[bindLabel] : option.__origin['label'] || option.__origin }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;height:100%;max-height:200px;overflow-y:auto}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding:5px 0}.mrx-select__input__controls--icon{position:relative}.mrx-select__input__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select__input-link{border-radius:var(--border-radius-1);background:var(--brand-bg-tertiary-default, #FFF);outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:fit-content}.mrx-select__input-link__box{flex-grow:1}.mrx-select__input-link__controls{display:flex;align-items:center;gap:8px}.mrx-select__input-link__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input-link__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input-link__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select.mrx-select-lg .mrx-select__input,.mrx-select.mrx-select-lg .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input__values,.mrx-select.mrx-select-lg .mrx-select__input-link__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge,.mrx-select.mrx-select-lg .mrx-select__input-link__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p,.mrx-select.mrx-select-lg .mrx-select__input-link__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-3) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__controls--icon{font-size:22px}.mrx-select.mrx-select-lg .mrx-select__input-link{padding:0}.mrx-select.mrx-select-lg .mrx-select__input-link__placeholder,.mrx-select.mrx-select-lg .mrx-select__input-link__value{padding:2px 0}.mrx-select.mrx-select-md .mrx-select__input,.mrx-select.mrx-select-md .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input__values,.mrx-select.mrx-select-md .mrx-select__input-link__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge,.mrx-select.mrx-select-md .mrx-select__input-link__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p,.mrx-select.mrx-select-md .mrx-select__input-link__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select.mrx-select-md .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input-link,.mrx-select.mrx-select-md .mrx-select__input-link__placeholder,.mrx-select.mrx-select-md .mrx-select__input-link__value{padding:0}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px;border-bottom:1.794px solid var(--neutral-bg-divider, #DBDFE5);background:var(--brand-bg-tertiary-default, #FFF)}.mrx-select__dropdown__extra-option{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px;border-top:1.794px solid var(--neutral-bg-divider, #DBDFE5);border-top:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick", "minWidth"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i4.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id", "disabled"], outputs: ["clicked"] }, { kind: "directive", type: i5.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition", "isFullWidthDropdown", "minWidthDropdown", "scrollContainerRef", "scrollStrategy"] }, { kind: "component", type: i6.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i7.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i8.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i9.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i10.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: i11.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
230
|
+
], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "labelTemplate", first: true, predicate: ["labelTemplate"], descendants: true }, { propertyName: "popupHeaderTemplate", first: true, predicate: ["popupHeaderTemplate"], descendants: true }, { propertyName: "popupFooterTemplate", first: true, predicate: ["popupFooterTemplate"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class]=\"getClasses\"\r\n class=\"mrx-select\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n @switch (use) {\r\n @case ('default') {\r\n <div\r\n class=\"mrx-select__input\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [scrollContainerRef]=\"scrollContainer\"\r\n [scrollStrategy]=\"scrollStrategy\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @if (multiCollapseCount && getSelectedLabels.length >= multiCollapseCount) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ getSelectedLabels.length }}</p>\r\n\r\n @if (!disabled && !readonly) {\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onClear($event)\"></span>\r\n }\r\n </div>\r\n } @else {\r\n @for (item of getSelectedLabels; track item.__id; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last, clear: clearItem.bind(this)}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div\r\n class=\"mrx-icon icon-close mrx-select__input__controls--icon\"\r\n [class]=\"getIconSize\"\r\n (click)=\"onClear($event)\"\r\n ></div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n @case ('link') {\r\n <div\r\n class=\"mrx-select__input-link\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (sortPlaceholder) {\r\n <p>{{ sortPlaceholder }}</p>\r\n }\r\n\r\n @if (sortIcon) {\r\n <span\r\n class=\"mrx-icon {{sortIcon === 'asc' ? 'icon-sorting-up' : 'icon-sorting-down'}}\"\r\n [class]=\"getIconSize\"\r\n ></span>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input-link__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-search\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-search>\r\n </div>\r\n }\r\n\r\n @if (contentTemplate) {\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"popupHeaderTemplate\"></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (!!addOption) {\r\n <div class=\"mrx-select__dropdown__extra-option\">\r\n <mrx-input-text\r\n class=\"flex-grow-1\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"extraOptionPlaceholder\"\r\n [(ngModel)]=\"model.label\"\r\n [maxlength]=\"300\"\r\n [invalid]=\"!!form.errors['label']\"\r\n [invalidMessage]=\"form.errors['label']\"\r\n (ngModelChange)=\"changeTextValueEmpty()\"\r\n ></mrx-input-text>\r\n\r\n <mrx-button\r\n [iconOnly]=\"true\"\r\n icon=\"<span class='mrx-icon icon-plus icon-font-24'></span>\"\r\n size=\"medium\"\r\n type=\"secondary\"\r\n (click)=\"onAddNewCustomOption()\"\r\n ></mrx-button>\r\n </div>\r\n }\r\n\r\n @if (popupFooterTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"popupFooterTemplate\"></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\"></mrx-error-message>\r\n }\r\n\r\n <mrx-save-state [fields]=\"fields\" [id]=\"uuid\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label.__origin[bindLabel] : label.__origin['label'] || label.__origin }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option.__origin[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option.__origin[bindLabel] : option.__origin['label'] || option.__origin }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;height:100%;max-height:200px;overflow-y:auto}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding:5px 0}.mrx-select__input__controls--icon{position:relative}.mrx-select__input__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select__input-link{border-radius:var(--border-radius-1);background:var(--brand-bg-tertiary-default, #FFF);outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:fit-content}.mrx-select__input-link__box{flex-grow:1}.mrx-select__input-link__controls{display:flex;align-items:center;gap:8px}.mrx-select__input-link__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input-link__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input-link__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select.mrx-select-lg .mrx-select__input,.mrx-select.mrx-select-lg .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input__values,.mrx-select.mrx-select-lg .mrx-select__input-link__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge,.mrx-select.mrx-select-lg .mrx-select__input-link__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p,.mrx-select.mrx-select-lg .mrx-select__input-link__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-3) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__controls--icon{font-size:22px}.mrx-select.mrx-select-lg .mrx-select__input-link{padding:0}.mrx-select.mrx-select-lg .mrx-select__input-link__placeholder,.mrx-select.mrx-select-lg .mrx-select__input-link__value{padding:2px 0}.mrx-select.mrx-select-md .mrx-select__input,.mrx-select.mrx-select-md .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input__values,.mrx-select.mrx-select-md .mrx-select__input-link__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge,.mrx-select.mrx-select-md .mrx-select__input-link__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p,.mrx-select.mrx-select-md .mrx-select__input-link__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select.mrx-select-md .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input-link,.mrx-select.mrx-select-md .mrx-select__input-link__placeholder,.mrx-select.mrx-select-md .mrx-select__input-link__value{padding:0}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px;border-bottom:1.794px solid var(--neutral-bg-divider, #DBDFE5);background:var(--brand-bg-tertiary-default, #FFF)}.mrx-select__dropdown__extra-option{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px;border-top:1.794px solid var(--neutral-bg-divider, #DBDFE5);border-top:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PopupComponent, selector: "mrx-popup", inputs: ["closeAfterClick", "minWidth"], outputs: ["toggle", "_toggleInner", "_updateInner"] }, { kind: "component", type: i4.PopupItemComponent, selector: "mrx-popup-item", inputs: ["custom", "id", "disabled"], outputs: ["clicked"] }, { kind: "directive", type: i5.PopupTriggerDirective, selector: "[mrxPopupTrigger]", inputs: ["mrxPopupTrigger", "popupPosition", "isFullWidthDropdown", "minWidthDropdown", "maxWidthDropdown", "scrollContainerRef", "scrollStrategy"] }, { kind: "component", type: i6.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "component", type: i7.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i8.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i9.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i10.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: i11.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
231
231
|
}
|
|
232
232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
|
|
233
233
|
type: Component,
|
|
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
237
237
|
useExisting: forwardRef(() => SelectComponent),
|
|
238
238
|
multi: true,
|
|
239
239
|
},
|
|
240
|
-
], template: "<div\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class]=\"getClasses\"\r\n class=\"mrx-select\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n @switch (use) {\r\n @case ('default') {\r\n <div\r\n class=\"mrx-select__input\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [scrollContainerRef]=\"scrollContainer\"\r\n [scrollStrategy]=\"scrollStrategy\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @if (multiCollapseCount && getSelectedLabels.length >= multiCollapseCount) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ getSelectedLabels.length }}</p>\r\n\r\n @if (!disabled && !readonly) {\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onClear($event)\"></span>\r\n }\r\n </div>\r\n } @else {\r\n @for (item of getSelectedLabels; track item.__id; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last, clear: clearItem.bind(this)}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div\r\n class=\"mrx-icon icon-close mrx-select__input__controls--icon\"\r\n [class]=\"getIconSize\"\r\n (click)=\"onClear($event)\"\r\n ></div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n @case ('link') {\r\n <div\r\n class=\"mrx-select__input-link\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (sortPlaceholder) {\r\n <p>{{ sortPlaceholder }}</p>\r\n }\r\n\r\n @if (sortIcon) {\r\n <span\r\n class=\"mrx-icon {{sortIcon === 'asc' ? 'icon-sorting-up' : 'icon-sorting-down'}}\"\r\n [class]=\"getIconSize\"\r\n ></span>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input-link__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-search\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-search>\r\n </div>\r\n }\r\n\r\n @if (contentTemplate) {\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupHeaderTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (!!addOption) {\r\n <div class=\"mrx-select__dropdown__extra-option\">\r\n <mrx-input-text\r\n class=\"flex-grow-1\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"extraOptionPlaceholder\"\r\n [(ngModel)]=\"model.label\"\r\n [maxlength]=\"300\"\r\n [invalid]=\"!!form.errors['label']\"\r\n [invalidMessage]=\"form.errors['label']\"\r\n (ngModelChange)=\"changeTextValueEmpty()\"\r\n ></mrx-input-text>\r\n <mrx-button\r\n [iconOnly]=\"true\"\r\n icon=\"<span class='mrx-icon icon-plus icon-font-24'></span>\"\r\n size=\"medium\"\r\n type=\"secondary\"\r\n (click)=\"onAddNewCustomOption()\"\r\n ></mrx-button>\r\n </div>\r\n }\r\n\r\n @if (popupFooterTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"popupFooterTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\"></mrx-error-message>\r\n }\r\n\r\n <mrx-save-state [fields]=\"fields\" [id]=\"uuid\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label.__origin[bindLabel] : label.__origin['label'] || label.__origin }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option.__origin[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option.__origin[bindLabel] : option.__origin['label'] || option.__origin }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;height:100%;max-height:200px;overflow-y:auto}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding:5px 0}.mrx-select__input__controls--icon{position:relative}.mrx-select__input__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select__input-link{border-radius:var(--border-radius-1);background:var(--brand-bg-tertiary-default, #FFF);outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:fit-content}.mrx-select__input-link__box{flex-grow:1}.mrx-select__input-link__controls{display:flex;align-items:center;gap:8px}.mrx-select__input-link__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input-link__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input-link__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select.mrx-select-lg .mrx-select__input,.mrx-select.mrx-select-lg .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input__values,.mrx-select.mrx-select-lg .mrx-select__input-link__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge,.mrx-select.mrx-select-lg .mrx-select__input-link__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p,.mrx-select.mrx-select-lg .mrx-select__input-link__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-3) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__controls--icon{font-size:22px}.mrx-select.mrx-select-lg .mrx-select__input-link{padding:0}.mrx-select.mrx-select-lg .mrx-select__input-link__placeholder,.mrx-select.mrx-select-lg .mrx-select__input-link__value{padding:2px 0}.mrx-select.mrx-select-md .mrx-select__input,.mrx-select.mrx-select-md .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input__values,.mrx-select.mrx-select-md .mrx-select__input-link__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge,.mrx-select.mrx-select-md .mrx-select__input-link__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p,.mrx-select.mrx-select-md .mrx-select__input-link__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select.mrx-select-md .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input-link,.mrx-select.mrx-select-md .mrx-select__input-link__placeholder,.mrx-select.mrx-select-md .mrx-select__input-link__value{padding:0}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px;border-bottom:1.794px solid var(--neutral-bg-divider, #DBDFE5);background:var(--brand-bg-tertiary-default, #FFF)}.mrx-select__dropdown__extra-option{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px;border-top:1.794px solid var(--neutral-bg-divider, #DBDFE5);border-top:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"] }]
|
|
240
|
+
], template: "<div\r\n [class.-disabled]=\"disabled\"\r\n [class.-readonly]=\"readonly\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class]=\"getClasses\"\r\n class=\"mrx-select\"\r\n>\r\n <div class=\"mrx-select__wrapper\">\r\n @switch (use) {\r\n @case ('default') {\r\n <div\r\n class=\"mrx-select__input\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [scrollContainerRef]=\"scrollContainer\"\r\n [scrollStrategy]=\"scrollStrategy\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n @if (getSelectedLabels.length) {\r\n @if (multiple) {\r\n <div class=\"mrx-select__input__values\">\r\n @if (multiCollapseCount && getSelectedLabels.length >= multiCollapseCount) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {{ getSelectedLabels.length }}</p>\r\n\r\n @if (!disabled && !readonly) {\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onClear($event)\"></span>\r\n }\r\n </div>\r\n } @else {\r\n @for (item of getSelectedLabels; track item.__id; let first = $first; let last = $last) {\r\n @if (labelTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last, clear: clearItem.bind(this)}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultLabelTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"mrx-select__input__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"mrx-select__input__placeholder\">{{ placeholder }}</div>\r\n }\r\n\r\n <div class=\"mrx-select__input__controls\">\r\n @if (isLoading) {\r\n <mrx-loader\r\n [size]=\"size === 'large' ? 'small' : 'extra-small'\"\r\n [color]=\"'brand'\"\r\n ></mrx-loader>\r\n }\r\n\r\n @if (getSelectedLabels.length && clearable) {\r\n <div\r\n class=\"mrx-icon icon-close mrx-select__input__controls--icon\"\r\n [class]=\"getIconSize\"\r\n (click)=\"onClear($event)\"\r\n ></div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n @case ('link') {\r\n <div\r\n class=\"mrx-select__input-link\"\r\n [mrxPopupTrigger]=\"dropdown\"\r\n [popupPosition]=\"popupPosition\"\r\n [isFullWidthDropdown]=\"isFullWidthDropdown\"\r\n >\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (sortPlaceholder) {\r\n <p>{{ sortPlaceholder }}</p>\r\n }\r\n\r\n @if (sortIcon) {\r\n <span\r\n class=\"mrx-icon {{sortIcon === 'asc' ? 'icon-sorting-up' : 'icon-sorting-down'}}\"\r\n [class]=\"getIconSize\"\r\n ></span>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-select__input-link__controls\">\r\n @if (getSelectedLabels.length) {\r\n <div class=\"mrx-select__input-link__value\">\r\n @for (item of getSelectedLabels; track item.__id) {\r\n {{ bindLabel ? item.__origin[bindLabel] : item.__origin['label'] || item.__origin }}\r\n }\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"mrx-icon icon-chevron-down mrx-select__input__controls--icon\"\r\n [class]=\"[getIconState, getIconSize]\"\r\n ></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n <mrx-popup #dropdown [closeAfterClick]=\"closable\" (toggle)=\"togglePopup($event)\">\r\n @for (item of filteredItems; track item.__id; let first = $first; let last = $last) {\r\n <mrx-popup-item [custom]=\"true\" [id]=\"item.__id\" (clicked)=\"onSelect(item)\">\r\n @if (optionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n } @else {\r\n <ng-container\r\n [ngTemplateOutlet]=\"defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, first, last}\"\r\n ></ng-container>\r\n }\r\n </mrx-popup-item>\r\n } @empty {\r\n <mrx-popup-item [custom]=\"true\">\r\n <div class=\"mrx-select__dropdown__empty\">{{ emptyText }}</div>\r\n </mrx-popup-item>\r\n }\r\n\r\n <ng-template #headerTemplate>\r\n @if (searchable) {\r\n <div class=\"mrx-select__dropdown__search\">\r\n <mrx-input-search\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(ngModel)]=\"searchValue\"\r\n ></mrx-input-search>\r\n </div>\r\n }\r\n\r\n @if (contentTemplate) {\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n }\r\n\r\n @if (popupHeaderTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"popupHeaderTemplate\"></ng-container>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #footerTemplate>\r\n @if (!!addOption) {\r\n <div class=\"mrx-select__dropdown__extra-option\">\r\n <mrx-input-text\r\n class=\"flex-grow-1\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"extraOptionPlaceholder\"\r\n [(ngModel)]=\"model.label\"\r\n [maxlength]=\"300\"\r\n [invalid]=\"!!form.errors['label']\"\r\n [invalidMessage]=\"form.errors['label']\"\r\n (ngModelChange)=\"changeTextValueEmpty()\"\r\n ></mrx-input-text>\r\n\r\n <mrx-button\r\n [iconOnly]=\"true\"\r\n icon=\"<span class='mrx-icon icon-plus icon-font-24'></span>\"\r\n size=\"medium\"\r\n type=\"secondary\"\r\n (click)=\"onAddNewCustomOption()\"\r\n ></mrx-button>\r\n </div>\r\n }\r\n\r\n @if (popupFooterTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"popupFooterTemplate\"></ng-container>\r\n }\r\n </ng-template>\r\n </mrx-popup>\r\n </div>\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\"></mrx-error-message>\r\n }\r\n\r\n <mrx-save-state [fields]=\"fields\" [id]=\"uuid\" [type]=\"'input'\"></mrx-save-state>\r\n</div>\r\n\r\n<ng-template #defaultLabelTemplate let-item=\"item\">\r\n @if (asLabel(item); as label) {\r\n <div class=\"mrx-select__input__badge\">\r\n <p>{{ bindLabel ? label.__origin[bindLabel] : label.__origin['label'] || label.__origin }}</p>\r\n <span class=\"mrx-icon icon-close icon-font-16\" (click)=\"onUnselect(label)\"></span>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultOptionTemplate let-item=\"item\">\r\n @if (asOption(item); as option) {\r\n <div class=\"mrx-select__dropdown__item\">\r\n <div class=\"mrx-select__dropdown__item--content\">\r\n @if (bindIcon && option.__origin[bindIcon]) {\r\n <span class=\"mrx-icon icon-font-24\" [class]=\"option[bindIcon]\"></span>\r\n }\r\n\r\n <p>{{ bindLabel ? option.__origin[bindLabel] : option.__origin['label'] || option.__origin }}</p>\r\n </div>\r\n\r\n @if (option.__selected) {\r\n <span class=\"mrx-icon icon-check icon-font-24\"></span>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".mrx-select__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);width:100%;outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;height:100%;max-height:200px;overflow-y:auto}.mrx-select__input:focus,.mrx-select__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-select__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-select__input__box{flex-grow:1}.mrx-select__input__controls{display:flex;align-items:center;gap:8px;padding:5px 0}.mrx-select__input__controls--icon{position:relative}.mrx-select__input__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select__input-link{border-radius:var(--border-radius-1);background:var(--brand-bg-tertiary-default, #FFF);outline:none;transition:outline-width .2s,border .2s;cursor:pointer;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:fit-content}.mrx-select__input-link__box{flex-grow:1}.mrx-select__input-link__controls{display:flex;align-items:center;gap:8px}.mrx-select__input-link__controls--icon:after{content:\"\";position:absolute;width:100%;height:100%;border-radius:var(--border-raius-1, 4px);z-index:-1;transition:.2s}.mrx-select__input-link__controls--icon.opened{transform:rotate(180deg)}.mrx-select__input-link__controls--icon.opened:after{background-color:var(--brand-bg-tertiary-hover, #EDF5FF);transform:rotate(-180deg)}.mrx-select.mrx-select-lg .mrx-select__input,.mrx-select.mrx-select-lg .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input__values,.mrx-select.mrx-select-lg .mrx-select__input-link__values{min-height:32px}.mrx-select.mrx-select-lg .mrx-select__input__badge,.mrx-select.mrx-select-lg .mrx-select__input-link__badge{padding:6px 8px 6px 12px}.mrx-select.mrx-select-lg .mrx-select__input__badge p,.mrx-select.mrx-select-lg .mrx-select__input-link__badge p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-lg .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-3) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-lg .mrx-select__input__placeholder,.mrx-select.mrx-select-lg .mrx-select__input__value{padding:6px 8px}.mrx-select.mrx-select-lg .mrx-select__input__controls--icon{font-size:22px}.mrx-select.mrx-select-lg .mrx-select__input-link{padding:0}.mrx-select.mrx-select-lg .mrx-select__input-link__placeholder,.mrx-select.mrx-select-lg .mrx-select__input-link__value{padding:2px 0}.mrx-select.mrx-select-md .mrx-select__input,.mrx-select.mrx-select-md .mrx-select__input-link{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-select-md .mrx-select__input__values,.mrx-select.mrx-select-md .mrx-select__input-link__values{min-height:24px}.mrx-select.mrx-select-md .mrx-select__input__badge,.mrx-select.mrx-select-md .mrx-select__input-link__badge{padding:4px 4px 4px 8px}.mrx-select.mrx-select-md .mrx-select__input__badge p,.mrx-select.mrx-select-md .mrx-select__input-link__badge p{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-select.mrx-select-md .mrx-select__input{padding:calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-4) calc(var(--spacing-2) - var(--border-width-default)) var(--spacing-2)}.mrx-select.mrx-select-md .mrx-select__input__placeholder,.mrx-select.mrx-select-md .mrx-select__input__value{padding:2px 8px}.mrx-select.mrx-select-md .mrx-select__input-link,.mrx-select.mrx-select-md .mrx-select__input-link__placeholder,.mrx-select.mrx-select-md .mrx-select__input-link__value{padding:0}.mrx-select__input__value{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select__input__values{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.mrx-select__input__badge{display:flex;align-items:center;gap:4px;border-radius:4px;background-color:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-select__input__badge .icon-close{transform:scale(1);transition:transform .2s}.mrx-select__input__badge .icon-close:hover{transform:scale(1.1)}.mrx-select__input__placeholder{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-tertiary, #71767E)}.mrx-select__dropdown__item{padding:8px 8px 8px 16px;background-color:transparent;transition:background-color .3s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.mrx-select__dropdown__item:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-select__dropdown__item--content{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-grow:1}.mrx-select__dropdown__item--content p{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding-top:2px;padding-bottom:2px}.mrx-select__dropdown__search{padding:8px;border-bottom:1.794px solid var(--neutral-bg-divider, #DBDFE5);background:var(--brand-bg-tertiary-default, #FFF)}.mrx-select__dropdown__extra-option{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px;border-top:1.794px solid var(--neutral-bg-divider, #DBDFE5);border-top:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-select__dropdown__empty{padding:8px 16px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-select.mrx-input-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-error .mrx-select__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-select.mrx-input-checked-error .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-negative-default)}.mrx-select.mrx-input-checked-success .mrx-select__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-select.mrx-input-checked-success .mrx-select__input:hover{border:var(--border-width-default) solid var(--system-bg-controls-positive-default)}.mrx-select.-disabled .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-tertiary, #71767E);color:var(--neutral-text-tertiary, #71767E);pointer-events:none}.mrx-select.-readonly .mrx-select__input{background-color:var(--neutral-bg-disabled, #EEF0F4);-webkit-text-fill-color:var(--neutral-text-primary, #262626);color:var(--neutral-text-primary, #262626);pointer-events:none}\n"] }]
|
|
241
241
|
}], propDecorators: { fields: [{
|
|
242
242
|
type: Input
|
|
243
243
|
}], items: [{
|
|
@@ -328,4 +328,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
328
328
|
}], modelChange: [{
|
|
329
329
|
type: Output
|
|
330
330
|
}] } });
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxTQUFTLENBQUM7QUFHMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQWdCLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFpQnJELE1BQU0sT0FBTyxlQUFlO0lBQ25CLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixjQUFjLEdBQWdCLEVBQUUsQ0FBQztJQUNqQyxXQUFXLEdBQXNCLEVBQUUsQ0FBQztJQUNwQyxR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aEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDa0IsZ0JBQWdCO3NCQUF2QyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ2Isc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVcsY0FBYztzQkFBN0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0MsYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUNRLG1CQUFtQjtzQkFBdkQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBQ0UsbUJBQW1CO3NCQUF2RCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFDRixlQUFlO3NCQUEvQyxZQUFZO3VCQUFDLGlCQUFpQjtnQkFFZCxPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaXplRW51bSwgU2VsZWN0U2l6ZVR5cGVzIH0gZnJvbSAnLi9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcG9wdXAvY29tcG9uZW50cy9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCwgQWRkT3B0aW9uRm4sIEN1c3RvbVNlYXJjaEZuLCBTZWxlY3RJdGVtTW9kZWwsIFRlbXBsYXRlT3V0cHV0TW9kZWwgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IGdldFNlbGVjdGVkSXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGdldElubmVySXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWlubmVyLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBQb3NpdGlvbkVudW0sIFBvc2l0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL292ZXJsYXknO1xyXG5pbXBvcnQgeyBnZXRJbm5lclNlbGVjdGVkIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1zZWxlY3RlZC5oZWxwZXInO1xyXG5pbXBvcnQgeyBNcnhGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RWYWx1ZVR5cGVzLCBTZWxlY3RWYWx1ZVdpdGhJZCB9IGZyb20gJy4vc2VsZWN0LmVudW0nO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG4gIHB1YmxpYyBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcmlnaW5TZWxlY3RlZDogYW55IHwgYW55W10gPSBbXTtcclxuICBwdWJsaWMgb3JpZ2luSXRlbXM6IFNlbGVjdEl0ZW1Nb2RlbFtdID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkOiBTZWxlY3RJdGVtTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdID0gW107XHJcbiAgcHVibGljIGZvcm0gPSBuZXcgTXJ4Rm9ybVZhbGlkYXRvcigpO1xyXG4gIHB1YmxpYyBtb2RlbCA9IHtcclxuICAgIGxhYmVsOiAnJyxcclxuICB9O1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy5vcmlnaW5JdGVtcyA9IGl0ZW1zO1xyXG4gICAgdGhpcy5fdXBkYXRlU2VsZWN0ZWQodGhpcy5vcmlnaW5JdGVtcywgdGhpcy5vcmlnaW5TZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaXplOiBTZWxlY3RTaXplVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBiaW5kSWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgZW1wdHlUZXh0OiBzdHJpbmcgPSAn0J3QtSDQvdCw0LnQtNC10L3Qvic7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICfQktGL0LHQtdGA0LjRgtC1INC30L3QsNGH0LXQvdC40LUnO1xyXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAn0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSc7XHJcbiAgQElucHV0KCkgbXVsdGlDb2xsYXBzZUNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoJ2lzRXh0cmFPcHRpb24nKSBvcHRpb25WYWxpZGF0aW9uOiB7IGxhYmVsOiB7IHJlcXVpcmVkOiBib29sZWFuLCBtaW5MZW5ndGg6IG51bWJlciB9IH0gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBleHRyYU9wdGlvblBsYWNlaG9sZGVyOiBzdHJpbmcgPSAn0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSc7XHJcbiAgQElucHV0KCkgdXNlOiAnZGVmYXVsdCcgfCAnbGluaycgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgc29ydEljb246ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgc29ydFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpc0Z1bGxXaWR0aERyb3Bkb3duOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB3aXRob3V0U2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgYWRkT3B0aW9uITogQWRkT3B0aW9uRm47XHJcbiAgQElucHV0KCkgY3VzdG9tU2VhcmNoRm4/OiBDdXN0b21TZWFyY2hGbjtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBwb3B1cFBvc2l0aW9uOiBQb3NpdGlvblR5cGUgPSBQb3NpdGlvbkVudW0uQm90dG9tU3RhcnQ7XHJcblxyXG4gIEBJbnB1dCgpIHNpbmdsZUNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzY3JvbGxDb250YWluZXI/OiBFbGVtZW50UmVmO1xyXG4gIEBJbnB1dCgpIHNjcm9sbFN0cmF0ZWd5OiAncmVwb3NpdGlvbicgfCAnY2xvc2UnID0gJ2Nsb3NlJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93biE6IFBvcHVwQ29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wbGF0ZScpIG9wdGlvblRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcbiAgQENvbnRlbnRDaGlsZCgnbGFiZWxUZW1wbGF0ZScpIGxhYmVsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxUZW1wbGF0ZU91dHB1dE1vZGVsPjtcclxuICBAQ29udGVudENoaWxkKCdwb3B1cEhlYWRlclRlbXBsYXRlJykgcG9wdXBIZWFkZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPFRlbXBsYXRlT3V0cHV0TW9kZWw+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3BvcHVwRm9vdGVyVGVtcGxhdGUnKSBwb3B1cEZvb3RlclRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcbiAgQENvbnRlbnRDaGlsZCgnY29udGVudFRlbXBsYXRlJykgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2VsZWN0VmFsdWVUeXBlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdFZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPFNlbGVjdFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0VmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3B0aW9uVmFsaWRhdGlvbikge1xyXG4gICAgICB0aGlzLmZvcm0uaW5pdEZpZWxkcyh0aGlzLm1vZGVsLCB0aGlzLm9wdGlvblZhbGlkYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCByZWFkb25seUNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSA/ICdtcngtaW5wdXRfX3JlYWRvbmx5JyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGVja1ZhbGlkQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJbnZhbGlkID09PSBmYWxzZSA/XHJcbiAgICAgICdtcngtaW5wdXQtY2hlY2tlZC1zdWNjZXNzJyA6XHJcbiAgICAgIHRoaXMuY2hlY2tJbnZhbGlkID09PSB0cnVlID8gJ21yeC1pbnB1dC1jaGVja2VkLWVycm9yJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7U2VsZWN0U2l6ZUVudW1bdGhpcy5zaXplXX0gJHt0aGlzLnJlYWRvbmx5Q2xhc3N9ICR7dGhpcy5jaGVja1ZhbGlkQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTZWxlY3RlZExhYmVscygpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdIHtcclxuICAgIGlmICh0aGlzLndpdGhvdXRTZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm4gW11cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlubmVySXRlbXMuZmlsdGVyKGkgPT4gaS5fX3NlbGVjdGVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZmlsdGVyZWRJdGVtcygpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVNlYXJjaEZuKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlubmVySXRlbXMuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbVNlYXJjaEZuPy4odGhpcy5zZWFyY2hWYWx1ZSwgaXRlbS5fX29yaWdpbikgPz8gZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlubmVySXRlbXMuZmlsdGVyKGkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmJpbmRMYWJlbCkge1xyXG4gICAgICAgICAgcmV0dXJuIFN0cmluZyhpLl9fb3JpZ2luW3RoaXMuYmluZExhYmVsXSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaS5fX29yaWdpblsnbGFiZWwnXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGkuX19vcmlnaW5bJ2xhYmVsJ10pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcoaS5fX29yaWdpbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEljb25TdGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuID8gJ29wZW5lZCcgOiAnJztcclxuICB9XHJcblxyXG4gIGdldCBnZXRJY29uU2l6ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ21lZGl1bScgPyAnaWNvbi1mb250LTE2JyA6ICdpY29uLWZvbnQtMjQnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0KGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5pbm5lckl0ZW1zID0gdGhpcy5pbm5lckl0ZW1zLm1hcChpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5zaW5nbGVDaGFuZ2UpIHtcclxuICAgICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWR9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy51c2UgPT09ICdkZWZhdWx0Jykge1xyXG4gICAgICAgICAgcmV0dXJuIHsuLi5pLCBfX3NlbGVjdGVkOiBpLl9faWQgPT09IGl0ZW0uX19pZCA/ICFpLl9fc2VsZWN0ZWQgOiBmYWxzZX07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWR9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlubmVySXRlbXMgPSB0aGlzLmlubmVySXRlbXMubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWQgPyAhaS5fX3NlbGVjdGVkIDogaS5fX3NlbGVjdGVkfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bi51cGRhdGVQb3B1cCgpO1xyXG5cclxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlKHRoaXMuaW5uZXJJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJJdGVtKGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICB0aGlzLm9uVW5zZWxlY3QoaXRlbSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25VbnNlbGVjdChpdGVtOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCkge1xyXG4gICAgdGhpcy5pbm5lckl0ZW1zLmZvckVhY2goaSA9PiB7XHJcbiAgICAgIGlmIChpLl9faWQgPT09IGl0ZW0uX19pZCkge1xyXG4gICAgICAgIGkuX19zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl91cGRhdGVWYWx1ZSh0aGlzLmlubmVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIF9fc2VsZWN0ZWQ6IGZhbHNlfSkpO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlKFtdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQb3B1cChpc09wZW46IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNPcGVuID0gaXNPcGVuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzT3B0aW9uKG9wdGlvbjogU2VsZWN0SW5uZXJJdGVtTW9kZWwpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB7XHJcbiAgICByZXR1cm4gb3B0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzTGFiZWwobGFiZWw6IFNlbGVjdElubmVySXRlbU1vZGVsKTogU2VsZWN0SW5uZXJJdGVtTW9kZWwge1xyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWQ6IGFueSB8IGFueVtdID0gW10pOiB2b2lkIHtcclxuICAgIHRoaXMub3JpZ2luU2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGVkKHRoaXMub3JpZ2luSXRlbXMsIHRoaXMub3JpZ2luU2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVRleHRWYWx1ZUVtcHR5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtLmluaXRNb2RlbENoYW5nZWQodGhpcy5tb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25BZGROZXdDdXN0b21PcHRpb24oKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLmFkZE9wdGlvbih0aGlzLm1vZGVsLmxhYmVsKTtcclxuICAgICAgdGhpcy5tb2RlbC5sYWJlbCA9ICcnO1xyXG5cclxuICAgICAgdGhpcy5jaGFuZ2VUZXh0VmFsdWVFbXB0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlU2VsZWN0ZWQoaXRlbXM6IGFueVtdID0gW10sIHNlbGVjdGVkOiBhbnlbXSA9IFtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMub3JpZ2luU2VsZWN0ZWQpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBnZXRJbm5lclNlbGVjdGVkKGl0ZW1zLCBzZWxlY3RlZCwgdGhpcy5iaW5kVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGdldElubmVyU2VsZWN0ZWQoaXRlbXMsIFtzZWxlY3RlZF0sIHRoaXMuYmluZFZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IGdldElubmVySXRlbXMoaXRlbXMsIHRoaXMuc2VsZWN0ZWQsIHRoaXMuYmluZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKHNlbGVjdGVkSXRlbXM6IFNlbGVjdElubmVySXRlbU1vZGVsW10pIHtcclxuICAgIGNvbnN0IGNsZWFyZWRTZWxlY3RlZCA9IGdldFNlbGVjdGVkSXRlbXMoc2VsZWN0ZWRJdGVtcywgdGhpcy5iaW5kVmFsdWUpO1xyXG4gICAgY29uc3Qgb3V0cHV0U2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gY2xlYXJlZFNlbGVjdGVkIDogY2xlYXJlZFNlbGVjdGVkLmxlbmd0aCA/IGNsZWFyZWRTZWxlY3RlZFswXSA6IG51bGw7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogb3V0cHV0U2VsZWN0ZWQsIGlkOiB0aGlzLnV1aWR9KTtcclxuICAgIHRoaXMub25DaGFuZ2Uob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy4tcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZFwiXHJcbiAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4gIGNsYXNzPVwibXJ4LXNlbGVjdFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fd3JhcHBlclwiPlxyXG4gICAgQHN3aXRjaCAodXNlKSB7XHJcbiAgICAgIEBjYXNlICgnZGVmYXVsdCcpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0XCJcclxuICAgICAgICAgIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgW3BvcHVwUG9zaXRpb25dPVwicG9wdXBQb3NpdGlvblwiXHJcbiAgICAgICAgICBbc2Nyb2xsQ29udGFpbmVyUmVmXT1cInNjcm9sbENvbnRhaW5lclwiXHJcbiAgICAgICAgICBbc2Nyb2xsU3RyYXRlZ3ldPVwic2Nyb2xsU3RyYXRlZ3lcIlxyXG4gICAgICAgICAgW2lzRnVsbFdpZHRoRHJvcGRvd25dPVwiaXNGdWxsV2lkdGhEcm9wZG93blwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgQGlmIChnZXRTZWxlY3RlZExhYmVscy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgQGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fdmFsdWVzXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKG11bHRpQ29sbGFwc2VDb3VudCAmJiBnZXRTZWxlY3RlZExhYmVscy5sZW5ndGggPj0gbXVsdGlDb2xsYXBzZUNvdW50KSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fYmFkZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cD7QktGL0LHRgNCw0L3Qvjoge3sgZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoIH19PC9wPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMTZcIiAoY2xpY2spPVwib25DbGVhcigkZXZlbnQpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbS5fX2lkOyBsZXQgZmlyc3QgPSAkZmlyc3Q7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhYmVsVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgZmlyc3QsIGxhc3QsIGNsZWFyOiBjbGVhckl0ZW0uYmluZCh0aGlzKX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgZmlyc3QsIGxhc3R9XCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X192YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbS5fX2lkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGJpbmRMYWJlbCA/IGl0ZW0uX19vcmlnaW5bYmluZExhYmVsXSA6IGl0ZW0uX19vcmlnaW5bJ2xhYmVsJ10gfHwgaXRlbS5fX29yaWdpbiB9fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9kaXY+XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9sc1wiPlxyXG4gICAgICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgICAgIDxtcngtbG9hZGVyXHJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnbGFyZ2UnID8gJ3NtYWxsJyA6ICdleHRyYS1zbWFsbCdcIlxyXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIidicmFuZCdcIlxyXG4gICAgICAgICAgICAgID48L21yeC1sb2FkZXI+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoICYmIGNsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWljb25cIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cImdldEljb25TaXplXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsZWFyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWRvd24gbXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzLS1pY29uXCJcclxuICAgICAgICAgICAgICBbY2xhc3NdPVwiW2dldEljb25TdGF0ZSwgZ2V0SWNvblNpemVdXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgQGNhc2UgKCdsaW5rJykge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXQtbGlua1wiXHJcbiAgICAgICAgICBbbXJ4UG9wdXBUcmlnZ2VyXT1cImRyb3Bkb3duXCJcclxuICAgICAgICAgIFtwb3B1cFBvc2l0aW9uXT1cInBvcHVwUG9zaXRpb25cIlxyXG4gICAgICAgICAgW2lzRnVsbFdpZHRoRHJvcGRvd25dPVwiaXNGdWxsV2lkdGhEcm9wZG93blwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0LWxpbmtfX2NvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgIEBpZiAoc29ydFBsYWNlaG9sZGVyKSB7XHJcbiAgICAgICAgICAgICAgPHA+e3sgc29ydFBsYWNlaG9sZGVyIH19PC9wPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgKHNvcnRJY29uKSB7XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24ge3tzb3J0SWNvbiA9PT0gJ2FzYycgPyAnaWNvbi1zb3J0aW5nLXVwJyA6ICdpY29uLXNvcnRpbmctZG93bid9fVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0SWNvblNpemVcIlxyXG4gICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dC1saW5rX19jb250cm9sc1wiPlxyXG4gICAgICAgICAgICBAaWYgKGdldFNlbGVjdGVkTGFiZWxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dC1saW5rX192YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbS5fX2lkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGJpbmRMYWJlbCA/IGl0ZW0uX19vcmlnaW5bYmluZExhYmVsXSA6IGl0ZW0uX19vcmlnaW5bJ2xhYmVsJ10gfHwgaXRlbS5fX29yaWdpbiB9fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tZG93biBtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWljb25cIlxyXG4gICAgICAgICAgICAgIFtjbGFzc109XCJbZ2V0SWNvblN0YXRlLCBnZXRJY29uU2l6ZV1cIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIDxtcngtcG9wdXAgI2Ryb3Bkb3duIFtjbG9zZUFmdGVyQ2xpY2tdPVwiY2xvc2FibGVcIiAodG9nZ2xlKT1cInRvZ2dsZVBvcHVwKCRldmVudClcIj5cclxuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFjayBpdGVtLl9faWQ7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgICAgIDxtcngtcG9wdXAtaXRlbSBbY3VzdG9tXT1cInRydWVcIiBbaWRdPVwiaXRlbS5fX2lkXCIgKGNsaWNrZWQpPVwib25TZWxlY3QoaXRlbSlcIj5cclxuICAgICAgICAgIEBpZiAob3B0aW9uVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9IEBlbXB0eSB7XHJcbiAgICAgICAgPG1yeC1wb3B1cC1pdGVtIFtjdXN0b21dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19lbXB0eVwiPnt7IGVtcHR5VGV4dCB9fTwvZGl2PlxyXG4gICAgICAgIDwvbXJ4LXBvcHVwLWl0ZW0+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fZHJvcGRvd25fX3NlYXJjaFwiPlxyXG4gICAgICAgICAgICA8bXJ4LWlucHV0LXNlYXJjaFxyXG4gICAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgICA+PC9tcngtaW5wdXQtc2VhcmNoPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKGNvbnRlbnRUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChwb3B1cEhlYWRlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvcHVwSGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgQGlmICghIWFkZE9wdGlvbikge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19leHRyYS1vcHRpb25cIj5cclxuICAgICAgICAgICAgPG1yeC1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4LWdyb3ctMVwiXHJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJleHRyYU9wdGlvblBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmxhYmVsXCJcclxuICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjMwMFwiXHJcbiAgICAgICAgICAgICAgW2ludmFsaWRdPVwiISFmb3JtLmVycm9yc1snbGFiZWwnXVwiXHJcbiAgICAgICAgICAgICAgW2ludmFsaWRNZXNzYWdlXT1cImZvcm0uZXJyb3JzWydsYWJlbCddXCJcclxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VUZXh0VmFsdWVFbXB0eSgpXCJcclxuICAgICAgICAgICAgPjwvbXJ4LWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxtcngtYnV0dG9uXHJcbiAgICAgICAgICAgICAgW2ljb25Pbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIGljb249XCI8c3BhbiBjbGFzcz0nbXJ4LWljb24gaWNvbi1wbHVzIGljb24tZm9udC0yNCc+PC9zcGFuPlwiXHJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXHJcbiAgICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWRkTmV3Q3VzdG9tT3B0aW9uKClcIlxyXG4gICAgICAgICAgICA+PC9tcngtYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKHBvcHVwRm9vdGVyVGVtcGxhdGUpIHtcclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9wdXBGb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tcngtcG9wdXA+XHJcbiAgPC9kaXY+XHJcblxyXG4gIEBpZiAoaW52YWxpZCAmJiBpc0ludmFsaWRNZXNzYWdlKSB7XHJcbiAgICA8bXJ4LWVycm9yLW1lc3NhZ2UgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCI+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuICB9XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbZmllbGRzXT1cImZpZWxkc1wiIFtpZF09XCJ1dWlkXCIgW3R5cGVdPVwiJ2lucHV0J1wiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TGFiZWxUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICBAaWYgKGFzTGFiZWwoaXRlbSk7IGFzIGxhYmVsKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2JhZGdlXCI+XHJcbiAgICAgIDxwPnt7IGJpbmRMYWJlbCA/IGxhYmVsLl9fb3JpZ2luW2JpbmRMYWJlbF0gOiBsYWJlbC5fX29yaWdpblsnbGFiZWwnXSB8fCBsYWJlbC5fX29yaWdpbiB9fTwvcD5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0xNlwiIChjbGljayk9XCJvblVuc2VsZWN0KGxhYmVsKVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIEBpZiAoYXNPcHRpb24oaXRlbSk7IGFzIG9wdGlvbikge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19pdGVtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19kcm9wZG93bl9faXRlbS0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoYmluZEljb24gJiYgb3B0aW9uLl9fb3JpZ2luW2JpbmRJY29uXSkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWZvbnQtMjRcIiBbY2xhc3NdPVwib3B0aW9uW2JpbmRJY29uXVwiPjwvc3Bhbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxwPnt7IGJpbmRMYWJlbCA/IG9wdGlvbi5fX29yaWdpbltiaW5kTGFiZWxdIDogb3B0aW9uLl9fb3JpZ2luWydsYWJlbCddIHx8IG9wdGlvbi5fX29yaWdpbiB9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICBAaWYgKG9wdGlvbi5fX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZWNrIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxTQUFTLENBQUM7QUFHMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQWdCLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFpQnJELE1BQU0sT0FBTyxlQUFlO0lBQ25CLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixjQUFjLEdBQWdCLEVBQUUsQ0FBQztJQUNqQyxXQUFXLEdBQXNCLEVBQUUsQ0FBQztJQUNwQyxRQUFRLEdBQXNCLEVBQUUsQ0FBQztJQUNqQyxVQUFVLEdBQTJCLEVBQUUsQ0FBQztJQUN4QyxJQUFJLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlCLEtBQUssR0FBRztRQUNiLEtBQUssRUFBRSxFQUFFO0tBQ1YsQ0FBQztJQUVGLGFBQWE7SUFDTixJQUFJLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFDZixNQUFNLEdBQVksRUFBRSxDQUFDO0lBRXJDLElBQWEsS0FBSyxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVEsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsU0FBUyxHQUFZLElBQUksQ0FBQztJQUMxQixRQUFRLEdBQVksSUFBSSxDQUFDO0lBQ3pCLElBQUksR0FBb0IsT0FBTyxDQUFDO0lBQ2hDLFNBQVMsR0FBa0IsSUFBSSxDQUFDO0lBQ2hDLFNBQVMsR0FBa0IsSUFBSSxDQUFDO0lBQ2hDLFFBQVEsR0FBa0IsSUFBSSxDQUFDO0lBQy9CLFNBQVMsR0FBVyxZQUFZLENBQUM7SUFDakMsV0FBVyxHQUFXLG1CQUFtQixDQUFDO0lBQzFDLGlCQUFpQixHQUFXLGtCQUFrQixDQUFDO0lBQy9DLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFDMUIsZ0JBQWdCLEdBQStELElBQUksQ0FBQztJQUNuRyxzQkFBc0IsR0FBVyxrQkFBa0IsQ0FBQztJQUNwRCxHQUFHLEdBQXVCLFNBQVMsQ0FBQztJQUNwQyxRQUFRLEdBQTBCLElBQUksQ0FBQztJQUN2QyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBQzdCLG1CQUFtQixHQUFZLElBQUksQ0FBQztJQUNwQyxlQUFlLEdBQVksS0FBSyxDQUFDO0lBRWpDLFNBQVMsQ0FBZTtJQUN4QixjQUFjLENBQWtCO0lBRXpCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLGNBQWMsR0FBc0IsRUFBRSxDQUFDO0lBQ3ZDLFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBRWhELGFBQWEsR0FBaUIsWUFBWSxDQUFDLFdBQVcsQ0FBQztJQUV2RCxZQUFZLEdBQVksS0FBSyxDQUFDO0lBRTlCLGVBQWUsQ0FBYztJQUM3QixjQUFjLEdBQTJCLE9BQU8sQ0FBQztJQUVuQyxRQUFRLENBQWtCO0lBRWpCLGNBQWMsQ0FBb0M7SUFDbkQsYUFBYSxDQUFvQztJQUMzQyxtQkFBbUIsQ0FBb0M7SUFDdkQsbUJBQW1CLENBQW9DO0lBQzNELGVBQWUsQ0FBb0I7SUFFbkQsT0FBTyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUMvRSxXQUFXLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO0lBRXRHLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDbEMsMkJBQTJCLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDeEYsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxDQUFBO1FBQ1gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQTtZQUN4RSxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25CLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7d0JBQ3hCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7b0JBQ2xHLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO29CQUN6RixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBMEI7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxFQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDbEQsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzNCLE9BQU8sRUFBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDO2dCQUMxRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxFQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDbEQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxPQUFPLEVBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUM7WUFDakYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sU0FBUyxDQUFDLElBQTBCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUEwQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixDQUFDLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWlCO1FBQzlCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQWU7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxNQUE0QjtRQUMxQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQTJCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxXQUF3QixFQUFFO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFFdEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsUUFBZSxFQUFFLEVBQUUsV0FBa0IsRUFBRTtRQUM3RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQXFDO1FBQ3hELE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU1RyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNsQyxDQUFDLENBQUM7SUFDTSxTQUFTLEdBQUcsR0FBRyxFQUFFO0lBQ3pCLENBQUMsQ0FBQztJQUVLLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQVk7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzt3R0E3T1UsZUFBZTs0RkFBZixlQUFlLCtoQ0FSZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsOG9CQ3BDSCxnK1FBOE5BOzs0RkR4TGEsZUFBZTtrQkFiM0IsU0FBUzsrQkFDRSxZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQWdCZSxNQUFNO3NCQUFyQixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDa0IsZ0JBQWdCO3NCQUF2QyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ2Isc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVpQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVcsY0FBYztzQkFBN0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0MsYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUNRLG1CQUFtQjtzQkFBdkQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBQ0UsbUJBQW1CO3NCQUF2RCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFDRixlQUFlO3NCQUEvQyxZQUFZO3VCQUFDLGlCQUFpQjtnQkFFZCxPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RTaXplRW51bSwgU2VsZWN0U2l6ZVR5cGVzIH0gZnJvbSAnLi9lbnVtcyc7XHJcbmltcG9ydCB7IFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcG9wdXAvY29tcG9uZW50cy9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RJbm5lckl0ZW1Nb2RlbCwgQWRkT3B0aW9uRm4sIEN1c3RvbVNlYXJjaEZuLCBTZWxlY3RJdGVtTW9kZWwsIFRlbXBsYXRlT3V0cHV0TW9kZWwgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IGdldFNlbGVjdGVkSXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LXNlbGVjdGVkLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IGdldElubmVySXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWlubmVyLWl0ZW1zLmhlbHBlcic7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBQb3NpdGlvbkVudW0sIFBvc2l0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL292ZXJsYXknO1xyXG5pbXBvcnQgeyBnZXRJbm5lclNlbGVjdGVkIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1zZWxlY3RlZC5oZWxwZXInO1xyXG5pbXBvcnQgeyBNcnhGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBTZWxlY3RWYWx1ZVR5cGVzLCBTZWxlY3RWYWx1ZVdpdGhJZCB9IGZyb20gJy4vc2VsZWN0LmVudW0nO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG4gIHB1YmxpYyBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcmlnaW5TZWxlY3RlZDogYW55IHwgYW55W10gPSBbXTtcclxuICBwdWJsaWMgb3JpZ2luSXRlbXM6IFNlbGVjdEl0ZW1Nb2RlbFtdID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkOiBTZWxlY3RJdGVtTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckl0ZW1zOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdID0gW107XHJcbiAgcHVibGljIGZvcm0gPSBuZXcgTXJ4Rm9ybVZhbGlkYXRvcigpO1xyXG4gIHB1YmxpYyBtb2RlbCA9IHtcclxuICAgIGxhYmVsOiAnJyxcclxuICB9O1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy5vcmlnaW5JdGVtcyA9IGl0ZW1zO1xyXG4gICAgdGhpcy5fdXBkYXRlU2VsZWN0ZWQodGhpcy5vcmlnaW5JdGVtcywgdGhpcy5vcmlnaW5TZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNsb3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaXplOiBTZWxlY3RTaXplVHlwZXMgPSAnbGFyZ2UnO1xyXG4gIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBiaW5kSWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgZW1wdHlUZXh0OiBzdHJpbmcgPSAn0J3QtSDQvdCw0LnQtNC10L3Qvic7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICfQktGL0LHQtdGA0LjRgtC1INC30L3QsNGH0LXQvdC40LUnO1xyXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAn0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSc7XHJcbiAgQElucHV0KCkgbXVsdGlDb2xsYXBzZUNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoJ2lzRXh0cmFPcHRpb24nKSBvcHRpb25WYWxpZGF0aW9uOiB7IGxhYmVsOiB7IHJlcXVpcmVkOiBib29sZWFuLCBtaW5MZW5ndGg6IG51bWJlciB9IH0gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBleHRyYU9wdGlvblBsYWNlaG9sZGVyOiBzdHJpbmcgPSAn0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSc7XHJcbiAgQElucHV0KCkgdXNlOiAnZGVmYXVsdCcgfCAnbGluaycgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgc29ydEljb246ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgc29ydFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpc0Z1bGxXaWR0aERyb3Bkb3duOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB3aXRob3V0U2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgYWRkT3B0aW9uITogQWRkT3B0aW9uRm47XHJcbiAgQElucHV0KCkgY3VzdG9tU2VhcmNoRm4/OiBDdXN0b21TZWFyY2hGbjtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBwb3B1cFBvc2l0aW9uOiBQb3NpdGlvblR5cGUgPSBQb3NpdGlvbkVudW0uQm90dG9tU3RhcnQ7XHJcblxyXG4gIEBJbnB1dCgpIHNpbmdsZUNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzY3JvbGxDb250YWluZXI/OiBFbGVtZW50UmVmO1xyXG4gIEBJbnB1dCgpIHNjcm9sbFN0cmF0ZWd5OiAncmVwb3NpdGlvbicgfCAnY2xvc2UnID0gJ2Nsb3NlJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93biE6IFBvcHVwQ29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wbGF0ZScpIG9wdGlvblRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcbiAgQENvbnRlbnRDaGlsZCgnbGFiZWxUZW1wbGF0ZScpIGxhYmVsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxUZW1wbGF0ZU91dHB1dE1vZGVsPjtcclxuICBAQ29udGVudENoaWxkKCdwb3B1cEhlYWRlclRlbXBsYXRlJykgcG9wdXBIZWFkZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPFRlbXBsYXRlT3V0cHV0TW9kZWw+O1xyXG4gIEBDb250ZW50Q2hpbGQoJ3BvcHVwRm9vdGVyVGVtcGxhdGUnKSBwb3B1cEZvb3RlclRlbXBsYXRlITogVGVtcGxhdGVSZWY8VGVtcGxhdGVPdXRwdXRNb2RlbD47XHJcbiAgQENvbnRlbnRDaGlsZCgnY29udGVudFRlbXBsYXRlJykgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2VsZWN0VmFsdWVUeXBlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdFZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPFNlbGVjdFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0VmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3B0aW9uVmFsaWRhdGlvbikge1xyXG4gICAgICB0aGlzLmZvcm0uaW5pdEZpZWxkcyh0aGlzLm1vZGVsLCB0aGlzLm9wdGlvblZhbGlkYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCByZWFkb25seUNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSA/ICdtcngtaW5wdXRfX3JlYWRvbmx5JyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGVja1ZhbGlkQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJbnZhbGlkID09PSBmYWxzZSA/XHJcbiAgICAgICdtcngtaW5wdXQtY2hlY2tlZC1zdWNjZXNzJyA6XHJcbiAgICAgIHRoaXMuY2hlY2tJbnZhbGlkID09PSB0cnVlID8gJ21yeC1pbnB1dC1jaGVja2VkLWVycm9yJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7U2VsZWN0U2l6ZUVudW1bdGhpcy5zaXplXX0gJHt0aGlzLnJlYWRvbmx5Q2xhc3N9ICR7dGhpcy5jaGVja1ZhbGlkQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTZWxlY3RlZExhYmVscygpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdIHtcclxuICAgIGlmICh0aGlzLndpdGhvdXRTZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm4gW11cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlubmVySXRlbXMuZmlsdGVyKGkgPT4gaS5fX3NlbGVjdGVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZmlsdGVyZWRJdGVtcygpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbFtdIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVNlYXJjaEZuKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlubmVySXRlbXMuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbVNlYXJjaEZuPy4odGhpcy5zZWFyY2hWYWx1ZSwgaXRlbS5fX29yaWdpbikgPz8gZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlubmVySXRlbXMuZmlsdGVyKGkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmJpbmRMYWJlbCkge1xyXG4gICAgICAgICAgcmV0dXJuIFN0cmluZyhpLl9fb3JpZ2luW3RoaXMuYmluZExhYmVsXSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaS5fX29yaWdpblsnbGFiZWwnXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGkuX19vcmlnaW5bJ2xhYmVsJ10pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcoaS5fX29yaWdpbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEljb25TdGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuID8gJ29wZW5lZCcgOiAnJztcclxuICB9XHJcblxyXG4gIGdldCBnZXRJY29uU2l6ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ21lZGl1bScgPyAnaWNvbi1mb250LTE2JyA6ICdpY29uLWZvbnQtMjQnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0KGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5pbm5lckl0ZW1zID0gdGhpcy5pbm5lckl0ZW1zLm1hcChpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5zaW5nbGVDaGFuZ2UpIHtcclxuICAgICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWR9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy51c2UgPT09ICdkZWZhdWx0Jykge1xyXG4gICAgICAgICAgcmV0dXJuIHsuLi5pLCBfX3NlbGVjdGVkOiBpLl9faWQgPT09IGl0ZW0uX19pZCA/ICFpLl9fc2VsZWN0ZWQgOiBmYWxzZX07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWR9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlubmVySXRlbXMgPSB0aGlzLmlubmVySXRlbXMubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7Li4uaSwgX19zZWxlY3RlZDogaS5fX2lkID09PSBpdGVtLl9faWQgPyAhaS5fX3NlbGVjdGVkIDogaS5fX3NlbGVjdGVkfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bi51cGRhdGVQb3B1cCgpO1xyXG5cclxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlKHRoaXMuaW5uZXJJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJJdGVtKGl0ZW06IFNlbGVjdElubmVySXRlbU1vZGVsKSB7XHJcbiAgICB0aGlzLm9uVW5zZWxlY3QoaXRlbSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25VbnNlbGVjdChpdGVtOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCkge1xyXG4gICAgdGhpcy5pbm5lckl0ZW1zLmZvckVhY2goaSA9PiB7XHJcbiAgICAgIGlmIChpLl9faWQgPT09IGl0ZW0uX19pZCkge1xyXG4gICAgICAgIGkuX19zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl91cGRhdGVWYWx1ZSh0aGlzLmlubmVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IHRoaXMuaW5uZXJJdGVtcy5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIF9fc2VsZWN0ZWQ6IGZhbHNlfSkpO1xyXG5cclxuICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlUG9wdXAoZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlKFtdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQb3B1cChpc09wZW46IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNPcGVuID0gaXNPcGVuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzT3B0aW9uKG9wdGlvbjogU2VsZWN0SW5uZXJJdGVtTW9kZWwpOiBTZWxlY3RJbm5lckl0ZW1Nb2RlbCB7XHJcbiAgICByZXR1cm4gb3B0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzTGFiZWwobGFiZWw6IFNlbGVjdElubmVySXRlbU1vZGVsKTogU2VsZWN0SW5uZXJJdGVtTW9kZWwge1xyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWQ6IGFueSB8IGFueVtdID0gW10pOiB2b2lkIHtcclxuICAgIHRoaXMub3JpZ2luU2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGVkKHRoaXMub3JpZ2luSXRlbXMsIHRoaXMub3JpZ2luU2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVRleHRWYWx1ZUVtcHR5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtLmluaXRNb2RlbENoYW5nZWQodGhpcy5tb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25BZGROZXdDdXN0b21PcHRpb24oKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLmFkZE9wdGlvbih0aGlzLm1vZGVsLmxhYmVsKTtcclxuICAgICAgdGhpcy5tb2RlbC5sYWJlbCA9ICcnO1xyXG5cclxuICAgICAgdGhpcy5jaGFuZ2VUZXh0VmFsdWVFbXB0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlU2VsZWN0ZWQoaXRlbXM6IGFueVtdID0gW10sIHNlbGVjdGVkOiBhbnlbXSA9IFtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMub3JpZ2luU2VsZWN0ZWQpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBnZXRJbm5lclNlbGVjdGVkKGl0ZW1zLCBzZWxlY3RlZCwgdGhpcy5iaW5kVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGdldElubmVyU2VsZWN0ZWQoaXRlbXMsIFtzZWxlY3RlZF0sIHRoaXMuYmluZFZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5uZXJJdGVtcyA9IGdldElubmVySXRlbXMoaXRlbXMsIHRoaXMuc2VsZWN0ZWQsIHRoaXMuYmluZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKHNlbGVjdGVkSXRlbXM6IFNlbGVjdElubmVySXRlbU1vZGVsW10pIHtcclxuICAgIGNvbnN0IGNsZWFyZWRTZWxlY3RlZCA9IGdldFNlbGVjdGVkSXRlbXMoc2VsZWN0ZWRJdGVtcywgdGhpcy5iaW5kVmFsdWUpO1xyXG4gICAgY29uc3Qgb3V0cHV0U2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gY2xlYXJlZFNlbGVjdGVkIDogY2xlYXJlZFNlbGVjdGVkLmxlbmd0aCA/IGNsZWFyZWRTZWxlY3RlZFswXSA6IG51bGw7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogb3V0cHV0U2VsZWN0ZWQsIGlkOiB0aGlzLnV1aWR9KTtcclxuICAgIHRoaXMub25DaGFuZ2Uob3V0cHV0U2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy4tcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gIFtjbGFzcy5tcngtaW5wdXQtZXJyb3JdPVwiaW52YWxpZFwiXHJcbiAgW2NsYXNzXT1cImdldENsYXNzZXNcIlxyXG4gIGNsYXNzPVwibXJ4LXNlbGVjdFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fd3JhcHBlclwiPlxyXG4gICAgQHN3aXRjaCAodXNlKSB7XHJcbiAgICAgIEBjYXNlICgnZGVmYXVsdCcpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0XCJcclxuICAgICAgICAgIFttcnhQb3B1cFRyaWdnZXJdPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgW3BvcHVwUG9zaXRpb25dPVwicG9wdXBQb3NpdGlvblwiXHJcbiAgICAgICAgICBbc2Nyb2xsQ29udGFpbmVyUmVmXT1cInNjcm9sbENvbnRhaW5lclwiXHJcbiAgICAgICAgICBbc2Nyb2xsU3RyYXRlZ3ldPVwic2Nyb2xsU3RyYXRlZ3lcIlxyXG4gICAgICAgICAgW2lzRnVsbFdpZHRoRHJvcGRvd25dPVwiaXNGdWxsV2lkdGhEcm9wZG93blwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgQGlmIChnZXRTZWxlY3RlZExhYmVscy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgQGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fdmFsdWVzXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKG11bHRpQ29sbGFwc2VDb3VudCAmJiBnZXRTZWxlY3RlZExhYmVscy5sZW5ndGggPj0gbXVsdGlDb2xsYXBzZUNvdW50KSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dF9fYmFkZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cD7QktGL0LHRgNCw0L3Qvjoge3sgZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoIH19PC9wPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMTZcIiAoY2xpY2spPVwib25DbGVhcigkZXZlbnQpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbS5fX2lkOyBsZXQgZmlyc3QgPSAkZmlyc3Q7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhYmVsVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgZmlyc3QsIGxhc3QsIGNsZWFyOiBjbGVhckl0ZW0uYmluZCh0aGlzKX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgZmlyc3QsIGxhc3R9XCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X192YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbS5fX2lkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGJpbmRMYWJlbCA/IGl0ZW0uX19vcmlnaW5bYmluZExhYmVsXSA6IGl0ZW0uX19vcmlnaW5bJ2xhYmVsJ10gfHwgaXRlbS5fX29yaWdpbiB9fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9kaXY+XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0X19jb250cm9sc1wiPlxyXG4gICAgICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgICAgIDxtcngtbG9hZGVyXHJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnbGFyZ2UnID8gJ3NtYWxsJyA6ICdleHRyYS1zbWFsbCdcIlxyXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIidicmFuZCdcIlxyXG4gICAgICAgICAgICAgID48L21yeC1sb2FkZXI+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAoZ2V0U2VsZWN0ZWRMYWJlbHMubGVuZ3RoICYmIGNsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWljb25cIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cImdldEljb25TaXplXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsZWFyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWRvd24gbXJ4LXNlbGVjdF9faW5wdXRfX2NvbnRyb2xzLS1pY29uXCJcclxuICAgICAgICAgICAgICBbY2xhc3NdPVwiW2dldEljb25TdGF0ZSwgZ2V0SWNvblNpemVdXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgQGNhc2UgKCdsaW5rJykge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXQtbGlua1wiXHJcbiAgICAgICAgICBbbXJ4UG9wdXBUcmlnZ2VyXT1cImRyb3Bkb3duXCJcclxuICAgICAgICAgIFtwb3B1cFBvc2l0aW9uXT1cInBvcHVwUG9zaXRpb25cIlxyXG4gICAgICAgICAgW2lzRnVsbFdpZHRoRHJvcGRvd25dPVwiaXNGdWxsV2lkdGhEcm9wZG93blwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2lucHV0LWxpbmtfX2NvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgIEBpZiAoc29ydFBsYWNlaG9sZGVyKSB7XHJcbiAgICAgICAgICAgICAgPHA+e3sgc29ydFBsYWNlaG9sZGVyIH19PC9wPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgKHNvcnRJY29uKSB7XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24ge3tzb3J0SWNvbiA9PT0gJ2FzYycgPyAnaWNvbi1zb3J0aW5nLXVwJyA6ICdpY29uLXNvcnRpbmctZG93bid9fVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0SWNvblNpemVcIlxyXG4gICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dC1saW5rX19jb250cm9sc1wiPlxyXG4gICAgICAgICAgICBAaWYgKGdldFNlbGVjdGVkTGFiZWxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19pbnB1dC1saW5rX192YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRTZWxlY3RlZExhYmVsczsgdHJhY2sgaXRlbS5fX2lkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGJpbmRMYWJlbCA/IGl0ZW0uX19vcmlnaW5bYmluZExhYmVsXSA6IGl0ZW0uX19vcmlnaW5bJ2xhYmVsJ10gfHwgaXRlbS5fX29yaWdpbiB9fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tZG93biBtcngtc2VsZWN0X19pbnB1dF9fY29udHJvbHMtLWljb25cIlxyXG4gICAgICAgICAgICAgIFtjbGFzc109XCJbZ2V0SWNvblN0YXRlLCBnZXRJY29uU2l6ZV1cIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIDxtcngtcG9wdXAgI2Ryb3Bkb3duIFtjbG9zZUFmdGVyQ2xpY2tdPVwiY2xvc2FibGVcIiAodG9nZ2xlKT1cInRvZ2dsZVBvcHVwKCRldmVudClcIj5cclxuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFjayBpdGVtLl9faWQ7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgICAgIDxtcngtcG9wdXAtaXRlbSBbY3VzdG9tXT1cInRydWVcIiBbaWRdPVwiaXRlbS5fX2lkXCIgKGNsaWNrZWQpPVwib25TZWxlY3QoaXRlbSlcIj5cclxuICAgICAgICAgIEBpZiAob3B0aW9uVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW0sIGZpcnN0LCBsYXN0fVwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21yeC1wb3B1cC1pdGVtPlxyXG4gICAgICB9IEBlbXB0eSB7XHJcbiAgICAgICAgPG1yeC1wb3B1cC1pdGVtIFtjdXN0b21dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19lbXB0eVwiPnt7IGVtcHR5VGV4dCB9fTwvZGl2PlxyXG4gICAgICAgIDwvbXJ4LXBvcHVwLWl0ZW0+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9fZHJvcGRvd25fX3NlYXJjaFwiPlxyXG4gICAgICAgICAgICA8bXJ4LWlucHV0LXNlYXJjaFxyXG4gICAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgICA+PC9tcngtaW5wdXQtc2VhcmNoPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKGNvbnRlbnRUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChwb3B1cEhlYWRlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvcHVwSGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIEBpZiAoISFhZGRPcHRpb24pIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19kcm9wZG93bl9fZXh0cmEtb3B0aW9uXCI+XHJcbiAgICAgICAgICAgIDxtcngtaW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleC1ncm93LTFcIlxyXG4gICAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZXh0cmFPcHRpb25QbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgW21heGxlbmd0aF09XCIzMDBcIlxyXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cIiEhZm9ybS5lcnJvcnNbJ2xhYmVsJ11cIlxyXG4gICAgICAgICAgICAgIFtpbnZhbGlkTWVzc2FnZV09XCJmb3JtLmVycm9yc1snbGFiZWwnXVwiXHJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVGV4dFZhbHVlRW1wdHkoKVwiXHJcbiAgICAgICAgICAgID48L21yeC1pbnB1dC10ZXh0PlxyXG5cclxuICAgICAgICAgICAgPG1yeC1idXR0b25cclxuICAgICAgICAgICAgICBbaWNvbk9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgaWNvbj1cIjxzcGFuIGNsYXNzPSdtcngtaWNvbiBpY29uLXBsdXMgaWNvbi1mb250LTI0Jz48L3NwYW4+XCJcclxuICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcclxuICAgICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGROZXdDdXN0b21PcHRpb24oKVwiXHJcbiAgICAgICAgICAgID48L21yeC1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAocG9wdXBGb290ZXJUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwb3B1cEZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tcngtcG9wdXA+XHJcbiAgPC9kaXY+XHJcblxyXG4gIEBpZiAoaW52YWxpZCAmJiBpc0ludmFsaWRNZXNzYWdlKSB7XHJcbiAgICA8bXJ4LWVycm9yLW1lc3NhZ2UgW2ludmFsaWRNZXNzYWdlXT1cImludmFsaWRNZXNzYWdlXCI+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuICB9XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbZmllbGRzXT1cImZpZWxkc1wiIFtpZF09XCJ1dWlkXCIgW3R5cGVdPVwiJ2lucHV0J1wiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TGFiZWxUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICBAaWYgKGFzTGFiZWwoaXRlbSk7IGFzIGxhYmVsKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXNlbGVjdF9faW5wdXRfX2JhZGdlXCI+XHJcbiAgICAgIDxwPnt7IGJpbmRMYWJlbCA/IGxhYmVsLl9fb3JpZ2luW2JpbmRMYWJlbF0gOiBsYWJlbC5fX29yaWdpblsnbGFiZWwnXSB8fCBsYWJlbC5fX29yaWdpbiB9fTwvcD5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0xNlwiIChjbGljayk9XCJvblVuc2VsZWN0KGxhYmVsKVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIEBpZiAoYXNPcHRpb24oaXRlbSk7IGFzIG9wdGlvbikge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1zZWxlY3RfX2Ryb3Bkb3duX19pdGVtXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtc2VsZWN0X19kcm9wZG93bl9faXRlbS0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoYmluZEljb24gJiYgb3B0aW9uLl9fb3JpZ2luW2JpbmRJY29uXSkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWZvbnQtMjRcIiBbY2xhc3NdPVwib3B0aW9uW2JpbmRJY29uXVwiPjwvc3Bhbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxwPnt7IGJpbmRMYWJlbCA/IG9wdGlvbi5fX29yaWdpbltiaW5kTGFiZWxdIDogb3B0aW9uLl9fb3JpZ2luWydsYWJlbCddIHx8IG9wdGlvbi5fX29yaWdpbiB9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICBAaWYgKG9wdGlvbi5fX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZWNrIGljb24tZm9udC0yNFwiPjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|