@elxjs/ui 0.0.172 → 0.0.173
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/assets/fonts/electroluxsans_1_thin-demo.html +795 -795
- package/assets/fonts/electroluxsans_1_thin-webfont.svg +22257 -22257
- package/assets/fonts/electroluxsans_2_light-demo.html +795 -795
- package/assets/fonts/electroluxsans_2_light-webfont.svg +22260 -22260
- package/assets/fonts/electroluxsans_3_regular-demo.html +795 -795
- package/assets/fonts/electroluxsans_3_regular-webfont.svg +21870 -21870
- package/assets/fonts/electroluxsans_4_semibold-demo.html +795 -795
- package/assets/fonts/electroluxsans_4_semibold-webfont.svg +24127 -24127
- package/assets/fonts/electroluxsans_5_bold-demo.html +795 -795
- package/assets/fonts/electroluxsans_5_bold-webfont.svg +24065 -24065
- package/assets/fonts/electroluxsans_oblique_1_thin-demo.html +795 -795
- package/assets/fonts/electroluxsans_oblique_1_thin-webfont.svg +22373 -22373
- package/assets/fonts/electroluxsans_oblique_2_light-demo.html +795 -795
- package/assets/fonts/electroluxsans_oblique_2_light-webfont.svg +22438 -22438
- package/assets/fonts/electroluxsans_oblique_3_regular-demo.html +795 -795
- package/assets/fonts/electroluxsans_oblique_3_regular-webfont.svg +22294 -22294
- package/assets/fonts/electroluxsans_oblique_4_semibold-demo.html +795 -795
- package/assets/fonts/electroluxsans_oblique_4_semibold-webfont.svg +24395 -24395
- package/assets/fonts/electroluxsans_oblique_5_bold-demo.html +795 -795
- package/assets/fonts/electroluxsans_oblique_5_bold-webfont.svg +24408 -24408
- package/assets/icons/Avatar.svg +5 -5
- package/assets/icons/Bell.svg +5 -5
- package/assets/icons/Block.svg +5 -5
- package/assets/icons/Blocked.svg +3 -3
- package/assets/icons/Book.svg +5 -5
- package/assets/icons/Calendar.svg +5 -5
- package/assets/icons/Camera.svg +3 -3
- package/assets/icons/Cart.svg +8 -8
- package/assets/icons/Chat.svg +6 -6
- package/assets/icons/Check.svg +4 -4
- package/assets/icons/Check_Tick.svg +5 -5
- package/assets/icons/Chevron_Down.svg +3 -3
- package/assets/icons/Chevron_Left.svg +3 -3
- package/assets/icons/Chevron_Left_Double.svg +8 -8
- package/assets/icons/Chevron_Right.svg +3 -3
- package/assets/icons/Chevron_Right_Double.svg +8 -8
- package/assets/icons/Chevron_Up.svg +3 -3
- package/assets/icons/Close.svg +11 -11
- package/assets/icons/Compare_Products.svg +5 -5
- package/assets/icons/Config.svg +5 -5
- package/assets/icons/Config_2.svg +5 -5
- package/assets/icons/Discount.svg +5 -5
- package/assets/icons/Edit.svg +5 -5
- package/assets/icons/Edit_2.svg +7 -7
- package/assets/icons/Eye_Hide.svg +5 -5
- package/assets/icons/Eye_View.svg +4 -4
- package/assets/icons/FAQ.svg +5 -5
- package/assets/icons/Facebook.svg +10 -10
- package/assets/icons/Fridge_And_Freezer.svg +10 -10
- package/assets/icons/Gift.svg +3 -3
- package/assets/icons/Hide.svg +9 -9
- package/assets/icons/Info.svg +6 -6
- package/assets/icons/Instagram.svg +10 -10
- package/assets/icons/Like.svg +3 -3
- package/assets/icons/Like_filled.svg +3 -3
- package/assets/icons/Link.svg +7 -7
- package/assets/icons/Load.svg +18 -18
- package/assets/icons/Location.svg +8 -8
- package/assets/icons/Lock.svg +3 -3
- package/assets/icons/Logo.svg +20 -20
- package/assets/icons/Logo_new.svg +13 -13
- package/assets/icons/Mail.svg +6 -6
- package/assets/icons/Maintenance.svg +9 -9
- package/assets/icons/Nav.svg +5 -5
- package/assets/icons/Phone.svg +5 -5
- package/assets/icons/Pin.svg +3 -3
- package/assets/icons/Plus.svg +8 -8
- package/assets/icons/PriceTag.svg +6 -6
- package/assets/icons/Screwdriver.svg +10 -10
- package/assets/icons/Search.svg +6 -6
- package/assets/icons/Share.svg +3 -3
- package/assets/icons/Shield.svg +6 -6
- package/assets/icons/Star.svg +12 -12
- package/assets/icons/Star_Filled.svg +3 -3
- package/assets/icons/Stars.svg +9 -9
- package/assets/icons/Stars_2.svg +3 -3
- package/assets/icons/Top_Rating.svg +3 -3
- package/assets/icons/Trash.svg +5 -5
- package/assets/icons/Warning.svg +9 -9
- package/assets/icons/Whatsapp.svg +5 -5
- package/assets/icons/Youtube.svg +10 -10
- package/assets/styles/colors.scss +35 -35
- package/assets/styles/fonts.scss +102 -102
- package/assets/styles/inputs.scss +139 -139
- package/assets/styles/typography.scss +116 -116
- package/esm2022/index.mjs +1 -1
- package/esm2022/lib/components/accordion/accordion.component.mjs +5 -5
- package/esm2022/lib/components/accordion/index.mjs +1 -1
- package/esm2022/lib/components/arrow-link/arrow-link.component.mjs +5 -5
- package/esm2022/lib/components/arrow-link/index.mjs +1 -1
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2022/lib/components/breadcrumb/index.mjs +1 -1
- package/esm2022/lib/components/button/button.component.mjs +5 -5
- package/esm2022/lib/components/button/index.mjs +1 -1
- package/esm2022/lib/components/card-1/card1.component.mjs +5 -5
- package/esm2022/lib/components/card-1/index.mjs +1 -1
- package/esm2022/lib/components/card-2/card2.component.mjs +5 -5
- package/esm2022/lib/components/card-2/index.mjs +1 -1
- package/esm2022/lib/components/card-3/card3.component.mjs +5 -5
- package/esm2022/lib/components/card-3/index.mjs +1 -1
- package/esm2022/lib/components/card-4/card4.component.mjs +5 -5
- package/esm2022/lib/components/card-4/index.mjs +1 -1
- package/esm2022/lib/components/carousel/carousel.component.mjs +5 -5
- package/esm2022/lib/components/carousel/index.mjs +1 -1
- package/esm2022/lib/components/chip/chip.component.mjs +5 -5
- package/esm2022/lib/components/chip/index.mjs +1 -1
- package/esm2022/lib/components/datatable/datatable.component.mjs +5 -5
- package/esm2022/lib/components/datatable/datatable.component.types.mjs +1 -1
- package/esm2022/lib/components/datatable/index.mjs +1 -1
- package/esm2022/lib/components/datepicker/datepicker.component.mjs +6 -6
- package/esm2022/lib/components/datepicker/index.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/lib/components/dropdown/index.mjs +1 -1
- package/esm2022/lib/components/dropdown-multiple/dropdown-multiple.component.mjs +5 -5
- package/esm2022/lib/components/icon/icon.component.mjs +5 -5
- package/esm2022/lib/components/icon/index.mjs +1 -1
- package/esm2022/lib/components/index.mjs +1 -1
- package/esm2022/lib/components/input-search/index.mjs +1 -1
- package/esm2022/lib/components/input-search/input-search.component.mjs +5 -5
- package/esm2022/lib/components/input-search-modal/index.mjs +1 -1
- package/esm2022/lib/components/input-search-modal/input-search-modal.component.mjs +5 -5
- package/esm2022/lib/components/loading/index.mjs +1 -1
- package/esm2022/lib/components/loading/loading.component.mjs +5 -5
- package/esm2022/lib/components/loading-2/index.mjs +1 -1
- package/esm2022/lib/components/loading-2/loading-2.component.mjs +5 -5
- package/esm2022/lib/components/modal/index.mjs +1 -1
- package/esm2022/lib/components/modal/modal.component.mjs +5 -5
- package/esm2022/lib/components/paginator/index.mjs +1 -1
- package/esm2022/lib/components/paginator/paginator.component.mjs +5 -5
- package/esm2022/lib/components/stepbar/index.mjs +1 -1
- package/esm2022/lib/components/stepbar/stepbar.component.mjs +5 -5
- package/esm2022/lib/components/switch/switch.component.mjs +25 -25
- package/esm2022/lib/components/toast/index.mjs +1 -1
- package/esm2022/lib/components/toast/toast.component.mjs +5 -5
- package/esm2022/lib/index.mjs +1 -1
- package/esm2022/lib/modules/electrolux-design-system.module.mjs +5 -5
- package/esm2022/lib/modules/index.mjs +1 -1
- package/esm2022/lib/services/index.mjs +1 -1
- package/esm2022/lib/services/toaster.service.mjs +4 -4
- package/fesm2022/elxjs-ui.mjs +125 -125
- package/fesm2022/elxjs-ui.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -107,12 +107,12 @@ export class EluxDataTable {
|
|
|
107
107
|
}
|
|
108
108
|
return classes;
|
|
109
109
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EluxDataTable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: EluxDataTable, isStandalone: true, selector: "lib-elux-datatable", inputs: { columns: "columns", rows: "rows", totalRows: "totalRows", itemsPerPage: "itemsPerPage", backendPagination: "backendPagination", emptyMessage: "emptyMessage", loading: "loading", isRowClickable: ["isRowClickable", "isRowClickable", booleanAttribute], isCellClickable: ["isCellClickable", "isCellClickable", booleanAttribute], hasPaginator: ["hasPaginator", "hasPaginator", booleanAttribute] }, outputs: { currentPageChange: "currentPageChange", onClick: "onClick", onChecked: "onChecked", ontInputChange: "ontInputChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\">\n <div class=\"table-header\">\n @for (column of columns; track $index) {\n <div class=\"header-row-cell\" [ngClass]=\"getHeaderClasses(column)\">\n {{column.text}}\n </div>\n }\n </div>\n\n @if(loading){\n <div class=\"table-row justify-content-center\">\n <lib-elux-loading></lib-elux-loading>\n </div>\n }\n\n @if (displayRows.length == 0) {\n <div class=\"table-row pt-3 pb-3\">\n {{emptyMessage}}\n </div>\n }\n\n @for (row of displayRows; track $index) {\n <div class=\"table-row\" [ngClass]=\"{'clickable': isRowClickable}\" (click)=\"onRowClick($event, row, $index)\">\n @for (cell of row; track $index) {\n @switch (cell.type) {\n @case (\"redirect-internal\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\n <a [routerLink]=\"cell.value.toString()\" class=\"route\">{{cell.name}}</a>\n </div>\n }\n @case (\"redirect-external\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\n <a [href]=\"cell.value\" class=\"route\" target=\"_blank\">{{cell.name}}</a>\n </div>\n }\n @case (\"checkbox\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\n <input type=\"checkbox\" [checked]=\"cell.value\" (change)=\"onCheckboxChange($event, row, cell, $index)\" [attr.disabled]=\"cell.disabled ? true : null\" />\n </div>\n }\n @case (\"input\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\n <input step=\"\" type=\"text\" [value]=\"cell.value\" (blur)=\"onInputChange($event, row, cell, $index)\" />\n </div>\n }\n @case (\"input-number\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\n <input step=\"\" type=\"number\" [value]=\"cell.value\" [min]=\"cell.min\" [max]=\"cell.max\" (blur)=\"onInputChange($event, row, cell, $index)\" />\n </div>\n }\n @default {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\n {{cell.value}}\n </div>\n }\n }\n }\n </div>\n }\n\n @if (hasPaginator && totalRows > itemsPerPage) {\n <div class=\"table-footer\">\n <lib-elux-paginator (paginationEvents)=\"onPageChange($event)\" [anchor]=\"true\" [length]=\"paginatorTotalPages\"\n [current]=\"currentPage\">\n </lib-elux-paginator>\n </div>\n }\n\n</div>", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.table-container{font-family:Electrolux Sans;display:flex;flex-direction:column;flex-wrap:nowrap;border-top:1px solid #ADB9C3}.table-row{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;padding:8px 16px}.table-header{display:flex;flex-direction:row;flex-wrap:nowrap;font-size:14px;font-weight:600;padding:16px;margin-bottom:16px;color:#515253;border-bottom:1px solid #ADB9C3}.header-row-cell{display:flex;flex:1;justify-content:start;align-items:center}.row-cell{display:flex;flex:1;justify-content:start;align-items:center;font-size:14px;height:45px;font-family:Electrolux Sans;color:#515253;word-break:break-word}.row-cell a{font-family:Electrolux Sans;font-weight:700;font-size:16px;color:#515253}.clickable{cursor:pointer;transition:all .15s ease-in-out}.clickable:hover{background-color:#dee7ea}.table-footer{display:flex;flex-direction:column;justify-content:center;margin-top:16px;padding:16px 0;align-items:center;border-top:1px solid #ADB9C3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: EluxPaginator, selector: "lib-elux-paginator", inputs: ["length", "current", "anchor", "scrollTo"], outputs: ["paginationEvents"] }, { kind: "component", type: EluxLoading, selector: "lib-elux-loading", inputs: ["size", "white"] }] }); }
|
|
112
112
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EluxDataTable, decorators: [{
|
|
114
114
|
type: Component,
|
|
115
|
-
args: [{ selector: 'lib-elux-datatable', standalone: true, imports: [CommonModule, RouterModule, EluxPaginator, EluxLoading], template: "<div class=\"table-container\">\
|
|
115
|
+
args: [{ selector: 'lib-elux-datatable', standalone: true, imports: [CommonModule, RouterModule, EluxPaginator, EluxLoading], template: "<div class=\"table-container\">\n <div class=\"table-header\">\n @for (column of columns; track $index) {\n <div class=\"header-row-cell\" [ngClass]=\"getHeaderClasses(column)\">\n {{column.text}}\n </div>\n }\n </div>\n\n @if(loading){\n <div class=\"table-row justify-content-center\">\n <lib-elux-loading></lib-elux-loading>\n </div>\n }\n\n @if (displayRows.length == 0) {\n <div class=\"table-row pt-3 pb-3\">\n {{emptyMessage}}\n </div>\n }\n\n @for (row of displayRows; track $index) {\n <div class=\"table-row\" [ngClass]=\"{'clickable': isRowClickable}\" (click)=\"onRowClick($event, row, $index)\">\n @for (cell of row; track $index) {\n @switch (cell.type) {\n @case (\"redirect-internal\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\n <a [routerLink]=\"cell.value.toString()\" class=\"route\">{{cell.name}}</a>\n </div>\n }\n @case (\"redirect-external\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\n <a [href]=\"cell.value\" class=\"route\" target=\"_blank\">{{cell.name}}</a>\n </div>\n }\n @case (\"checkbox\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\n <input type=\"checkbox\" [checked]=\"cell.value\" (change)=\"onCheckboxChange($event, row, cell, $index)\" [attr.disabled]=\"cell.disabled ? true : null\" />\n </div>\n }\n @case (\"input\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\n <input step=\"\" type=\"text\" [value]=\"cell.value\" (blur)=\"onInputChange($event, row, cell, $index)\" />\n </div>\n }\n @case (\"input-number\") {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\n <input step=\"\" type=\"number\" [value]=\"cell.value\" [min]=\"cell.min\" [max]=\"cell.max\" (blur)=\"onInputChange($event, row, cell, $index)\" />\n </div>\n }\n @default {\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\n {{cell.value}}\n </div>\n }\n }\n }\n </div>\n }\n\n @if (hasPaginator && totalRows > itemsPerPage) {\n <div class=\"table-footer\">\n <lib-elux-paginator (paginationEvents)=\"onPageChange($event)\" [anchor]=\"true\" [length]=\"paginatorTotalPages\"\n [current]=\"currentPage\">\n </lib-elux-paginator>\n </div>\n }\n\n</div>", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.table-container{font-family:Electrolux Sans;display:flex;flex-direction:column;flex-wrap:nowrap;border-top:1px solid #ADB9C3}.table-row{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;padding:8px 16px}.table-header{display:flex;flex-direction:row;flex-wrap:nowrap;font-size:14px;font-weight:600;padding:16px;margin-bottom:16px;color:#515253;border-bottom:1px solid #ADB9C3}.header-row-cell{display:flex;flex:1;justify-content:start;align-items:center}.row-cell{display:flex;flex:1;justify-content:start;align-items:center;font-size:14px;height:45px;font-family:Electrolux Sans;color:#515253;word-break:break-word}.row-cell a{font-family:Electrolux Sans;font-weight:700;font-size:16px;color:#515253}.clickable{cursor:pointer;transition:all .15s ease-in-out}.clickable:hover{background-color:#dee7ea}.table-footer{display:flex;flex-direction:column;justify-content:center;margin-top:16px;padding:16px 0;align-items:center;border-top:1px solid #ADB9C3}\n"] }]
|
|
116
116
|
}], propDecorators: { columns: [{
|
|
117
117
|
type: Input
|
|
118
118
|
}], rows: [{
|
|
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
145
145
|
}], ontInputChange: [{
|
|
146
146
|
type: Output
|
|
147
147
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3VpL2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGF0YWJsZS9kYXRhdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdWkvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMzSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sY0FBYyxDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBUVcsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsU0FBSSxHQUFtQixFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBVyx5REFBeUQsQ0FBQztRQUNqRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBS3hCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDL0MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ2xELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUNwRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRW5FLGdC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bSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRGF0YVRhYmxlUm93LFxyXG4gIERhdGFUYWJsZUNlbGwsXHJcbiAgRGF0YVRhYmxlQ2hlY2tFdmVudCxcclxuICBEYXRhVGFibGVDbGlja0V2ZW50LFxyXG4gIERhdGFUYWJsZUhlYWRlcixcclxuICBEYXRhdGFibGVJbnB1dEV2ZW50LFxyXG59IGZyb20gJy4vZGF0YXRhYmxlLmNvbXBvbmVudC50eXBlcyc7XHJcbmltcG9ydCB7IEVsdXhMb2FkaW5nIH0gZnJvbSAnLi4vbG9hZGluZyc7XHJcbmltcG9ydCB7IEVsdXhQYWdpbmF0b3IsIFBhZ2luYXRpb25FdmVudCB9IGZyb20gJy4uL3BhZ2luYXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lbHV4LWRhdGF0YWJsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIEVsdXhQYWdpbmF0b3IsIEVsdXhMb2FkaW5nXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0YXRhYmxlLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVsdXhEYXRhVGFibGUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgY29sdW1uczogRGF0YVRhYmxlSGVhZGVyW10gPSBbXTtcclxuICBASW5wdXQoKSByb3dzOiBEYXRhVGFibGVSb3dbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHRvdGFsUm93czogbnVtYmVyID0gMTtcclxuICBASW5wdXQoKSBpdGVtc1BlclBhZ2U6IG51bWJlciA9IDE1O1xyXG4gIEBJbnB1dCgpIGJhY2tlbmRQYWdpbmF0aW9uOiBCb29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZW1wdHlNZXNzYWdlOiBzdHJpbmcgPSAnTmVuaHVtIGl0ZW0gbG9jYWxpemFkbyBjb20gYmFzZSBub3MgY3JpdMOpcmlvcyBkZSBidXNjYS4nO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IEJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNSb3dDbGlja2FibGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NlbGxDbGlja2FibGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNQYWdpbmF0b3IhOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KCkgY3VycmVudFBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVRhYmxlQ2xpY2tFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgb25DaGVja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhVGFibGVDaGVja0V2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBvbnRJbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXRhYmxlSW5wdXRFdmVudD4oKTtcclxuXHJcbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcGFnaW5hdG9yVG90YWxQYWdlczogbnVtYmVyID0gMTtcclxuICBkaXNwbGF5Um93czogRGF0YVRhYmxlUm93W10gPSBbXTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2luYXRvclRvdGFsUGFnZXMgPSBNYXRoLmNlaWwodGhpcy50b3RhbFJvd3MgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XHJcbiAgICB0aGlzLnBvcHVsYXRlVGFibGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydpdGVtc1BlclBhZ2UnXSkge1xyXG4gICAgICB0aGlzLnJlZnJlc2hQYWdpbmF0b3IoKTtcclxuICAgICAgdGhpcy5wb3B1bGF0ZVRhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbJ3RvdGFsUm93cyddKSB7XHJcbiAgICAgIHRoaXMucmVmcmVzaFBhZ2luYXRvcigpO1xyXG4gICAgICB0aGlzLnBvcHVsYXRlVGFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlc1sncm93cyddKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVUYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKGV2ZW50OiBQYWdpbmF0aW9uRXZlbnQpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudC5wYWdlO1xyXG4gICAgaWYgKHRoaXMuYmFja2VuZFBhZ2luYXRpb24pIHtcclxuICAgICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KGV2ZW50LnBhZ2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZVRhYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoUGFnaW5hdG9yKCkge1xyXG4gICAgdGhpcy5wYWdpbmF0b3JUb3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRoaXMudG90YWxSb3dzIC8gdGhpcy5pdGVtc1BlclBhZ2UpO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZVRhYmxlKCkge1xyXG4gICAgaWYgKHRoaXMuYmFja2VuZFBhZ2luYXRpb24pIHtcclxuICAgICAgdGhpcy5kaXNwbGF5Um93cyA9IHRoaXMucm93cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHN0YXJ0T2ZQYWdlID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNQZXJQYWdlO1xyXG4gICAgICBjb25zdCBlbmRPZlBhZ2UgPSBzdGFydE9mUGFnZSArIHRoaXMuaXRlbXNQZXJQYWdlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlSb3dzID0gdGhpcy5yb3dzLnNsaWNlKHN0YXJ0T2ZQYWdlLCBlbmRPZlBhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGVja2JveENoYW5nZShldmVudDogRXZlbnQsIHJvdzogYW55LCBjZWxsOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNlbGwudmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQ7XHJcbiAgICB0aGlzLm9uQ2hlY2tlZC5lbWl0KHsgZXZlbnQsIHJvdywgY2VsbCwgaW5kZXggfSk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCwgcm93OiBhbnksIGNlbGw6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgY2VsbC52YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XHJcbiAgICB0aGlzLm9udElucHV0Q2hhbmdlLmVtaXQoeyBldmVudCwgcm93LCBjZWxsLCBpbmRleCB9KTtcclxuICAgIGlmIChjZWxsLnR5cGUgPT0gJ2lucHV0LW51bWJlcicpIHtcclxuICAgICAgaWYgKGNlbGwudmFsdWUgPiBjZWxsLm1heCkge1xyXG4gICAgICAgIGNlbGwudmFsdWUgPSBjZWxsLm1heDtcclxuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gY2VsbC5tYXg7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNlbGwudmFsdWUgPCBjZWxsLm1pbikge1xyXG4gICAgICAgIGNlbGwudmFsdWUgPSBjZWxsLm1pbjtcclxuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gY2VsbC5taW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZXZlbnQ6IEV2ZW50LCByb3c6IERhdGFUYWJsZVJvdywgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuaXNSb3dDbGlja2FibGUpIHtcclxuICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoeyBldmVudCwgcm93LCBpbmRleCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2VsbENsaWNrKGV2ZW50OiBFdmVudCwgcm93OiBEYXRhVGFibGVSb3csIGNlbGw6IERhdGFUYWJsZUNlbGwsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmlzQ2VsbENsaWNrYWJsZSkge1xyXG4gICAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IGV2ZW50LCByb3csIGNlbGwsIGluZGV4IH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2VsbENsYXNzZXMoY2VsbDogRGF0YVRhYmxlQ2VsbCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuICAgIGxldCBjbGFzc2VzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHtcclxuICAgICAgJ2NsaWNrYWJsZSc6IHRoaXMuaXNDZWxsQ2xpY2thYmxlXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChjZWxsLmN1c3RvbUNsYXNzKSB7XHJcbiAgICAgIGNsYXNzZXNbY2VsbC5jdXN0b21DbGFzc10gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0SGVhZGVyQ2xhc3Nlcyhjb2x1bW46IERhdGFUYWJsZUhlYWRlcik6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuICAgIGxldCBjbGFzc2VzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG5cclxuICAgIGlmIChjb2x1bW4uY3VzdG9tQ2xhc3MpIHtcclxuICAgICAgY2xhc3Nlc1tjb2x1bW4uY3VzdG9tQ2xhc3NdID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cclxuICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93LWNlbGxcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJDbGFzc2VzKGNvbHVtbilcIj5cclxuICAgICAge3tjb2x1bW4udGV4dH19XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgQGlmKGxvYWRpbmcpe1xyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgPGxpYi1lbHV4LWxvYWRpbmc+PC9saWItZWx1eC1sb2FkaW5nPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgQGlmIChkaXNwbGF5Um93cy5sZW5ndGggPT0gMCkge1xyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cgcHQtMyBwYi0zXCI+XHJcbiAgICB7e2VtcHR5TWVzc2FnZX19XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICBAZm9yIChyb3cgb2YgZGlzcGxheVJvd3M7IHRyYWNrICRpbmRleCkge1xyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJ7J2NsaWNrYWJsZSc6IGlzUm93Q2xpY2thYmxlfVwiIChjbGljayk9XCJvblJvd0NsaWNrKCRldmVudCwgcm93LCAkaW5kZXgpXCI+XHJcbiAgICBAZm9yIChjZWxsIG9mIHJvdzsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICBAc3dpdGNoIChjZWxsLnR5cGUpIHtcclxuICAgIEBjYXNlIChcInJlZGlyZWN0LWludGVybmFsXCIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJyb3ctY2VsbFwiIFtuZ0NsYXNzXT1cImdldENlbGxDbGFzc2VzKGNlbGwpXCIgKGNsaWNrKT1cIm9uQ2VsbENsaWNrKCRldmVudCwgcm93LCBjZWxsLCAkaW5kZXgpXCI+XHJcbiAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNlbGwudmFsdWUudG9TdHJpbmcoKVwiIGNsYXNzPVwicm91dGVcIj57e2NlbGwubmFtZX19PC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAY2FzZSAoXCJyZWRpcmVjdC1leHRlcm5hbFwiKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93LWNlbGxcIiBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3NlcyhjZWxsKVwiIChjbGljayk9XCJvbkNlbGxDbGljaygkZXZlbnQsIHJvdywgY2VsbCwgJGluZGV4KVwiPlxyXG4gICAgICA8YSBbaHJlZl09XCJjZWxsLnZhbHVlXCIgY2xhc3M9XCJyb3V0ZVwiIHRhcmdldD1cIl9ibGFua1wiPnt7Y2VsbC5uYW1lfX08L2E+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBjYXNlIChcImNoZWNrYm94XCIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJyb3ctY2VsbFwiIFtuZ0NsYXNzXT1cImdldENlbGxDbGFzc2VzKGNlbGwpXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJjZWxsLnZhbHVlXCIgKGNoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKCRldmVudCwgcm93LCBjZWxsLCAkaW5kZXgpXCIgW2F0dHIuZGlzYWJsZWRdPVwiY2VsbC5kaXNhYmxlZCA/IHRydWUgOiBudWxsXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgQGNhc2UgKFwiaW5wdXRcIikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93LWNlbGxcIiBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3NlcyhjZWxsKVwiPlxyXG4gICAgICAgIDxpbnB1dCBzdGVwPVwiXCIgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwiY2VsbC52YWx1ZVwiIChibHVyKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50LCByb3csIGNlbGwsICRpbmRleClcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAY2FzZSAoXCJpbnB1dC1udW1iZXJcIikge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3ctY2VsbFwiIFtuZ0NsYXNzXT1cImdldENlbGxDbGFzc2VzKGNlbGwpXCI+XHJcbiAgICAgICAgICA8aW5wdXQgc3RlcD1cIlwiIHR5cGU9XCJudW1iZXJcIiBbdmFsdWVdPVwiY2VsbC52YWx1ZVwiIFttaW5dPVwiY2VsbC5taW5cIiBbbWF4XT1cImNlbGwubWF4XCIgKGJsdXIpPVwib25JbnB1dENoYW5nZSgkZXZlbnQsIHJvdywgY2VsbCwgJGluZGV4KVwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgQGRlZmF1bHQge1xyXG4gICAgPGRpdiBjbGFzcz1cInJvdy1jZWxsXCIgW25nQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzZXMoY2VsbClcIiAoY2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50LCByb3csIGNlbGwsICRpbmRleClcIj5cclxuICAgICAge3tjZWxsLnZhbHVlfX1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgfVxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgQGlmIChoYXNQYWdpbmF0b3IgJiYgdG90YWxSb3dzID4gaXRlbXNQZXJQYWdlKSB7XHJcbiAgPGRpdiBjbGFzcz1cInRhYmxlLWZvb3RlclwiPlxyXG4gICAgPGxpYi1lbHV4LXBhZ2luYXRvciAocGFnaW5hdGlvbkV2ZW50cyk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIFthbmNob3JdPVwidHJ1ZVwiIFtsZW5ndGhdPVwicGFnaW5hdG9yVG90YWxQYWdlc1wiXHJcbiAgICAgIFtjdXJyZW50XT1cImN1cnJlbnRQYWdlXCI+XHJcbiAgICA8L2xpYi1lbHV4LXBhZ2luYXRvcj5cclxuICA8L2Rpdj5cclxuICB9XHJcblxyXG48L2Rpdj4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3VpL2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGF0YWJsZS9kYXRhdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdWkvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMzSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sY0FBYyxDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBUVcsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsU0FBSSxHQUFtQixFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBVyx5REFBeUQsQ0FBQztRQUNqRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBS3hCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDL0MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ2xELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUNwRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRW5FLGdC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bSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERhdGFUYWJsZVJvdyxcbiAgRGF0YVRhYmxlQ2VsbCxcbiAgRGF0YVRhYmxlQ2hlY2tFdmVudCxcbiAgRGF0YVRhYmxlQ2xpY2tFdmVudCxcbiAgRGF0YVRhYmxlSGVhZGVyLFxuICBEYXRhdGFibGVJbnB1dEV2ZW50LFxufSBmcm9tICcuL2RhdGF0YWJsZS5jb21wb25lbnQudHlwZXMnO1xuaW1wb3J0IHsgRWx1eExvYWRpbmcgfSBmcm9tICcuLi9sb2FkaW5nJztcbmltcG9ydCB7IEVsdXhQYWdpbmF0b3IsIFBhZ2luYXRpb25FdmVudCB9IGZyb20gJy4uL3BhZ2luYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1lbHV4LWRhdGF0YWJsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgRWx1eFBhZ2luYXRvciwgRWx1eExvYWRpbmddLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGF0YWJsZS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEVsdXhEYXRhVGFibGUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IERhdGFUYWJsZUhlYWRlcltdID0gW107XG4gIEBJbnB1dCgpIHJvd3M6IERhdGFUYWJsZVJvd1tdID0gW107XG4gIEBJbnB1dCgpIHRvdGFsUm93czogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgaXRlbXNQZXJQYWdlOiBudW1iZXIgPSAxNTtcbiAgQElucHV0KCkgYmFja2VuZFBhZ2luYXRpb246IEJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZW1wdHlNZXNzYWdlOiBzdHJpbmcgPSAnTmVuaHVtIGl0ZW0gbG9jYWxpemFkbyBjb20gYmFzZSBub3MgY3JpdMOpcmlvcyBkZSBidXNjYS4nO1xuICBASW5wdXQoKSBsb2FkaW5nOiBCb29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1Jvd0NsaWNrYWJsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NlbGxDbGlja2FibGUhOiBib29sZWFuO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzUGFnaW5hdG9yITogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgY3VycmVudFBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFUYWJsZUNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNoZWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFUYWJsZUNoZWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbnRJbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXRhYmxlSW5wdXRFdmVudD4oKTtcblxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgcGFnaW5hdG9yVG90YWxQYWdlczogbnVtYmVyID0gMTtcbiAgZGlzcGxheVJvd3M6IERhdGFUYWJsZVJvd1tdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3JUb3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRoaXMudG90YWxSb3dzIC8gdGhpcy5pdGVtc1BlclBhZ2UpO1xuICAgIHRoaXMucG9wdWxhdGVUYWJsZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtc1BlclBhZ2UnXSkge1xuICAgICAgdGhpcy5yZWZyZXNoUGFnaW5hdG9yKCk7XG4gICAgICB0aGlzLnBvcHVsYXRlVGFibGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndG90YWxSb3dzJ10pIHtcbiAgICAgIHRoaXMucmVmcmVzaFBhZ2luYXRvcigpO1xuICAgICAgdGhpcy5wb3B1bGF0ZVRhYmxlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3Jvd3MnXSkge1xuICAgICAgdGhpcy5wb3B1bGF0ZVRhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGV2ZW50OiBQYWdpbmF0aW9uRXZlbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQucGFnZTtcbiAgICBpZiAodGhpcy5iYWNrZW5kUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KGV2ZW50LnBhZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvcHVsYXRlVGFibGUoKTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoUGFnaW5hdG9yKCkge1xuICAgIHRoaXMucGFnaW5hdG9yVG90YWxQYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsUm93cyAvIHRoaXMuaXRlbXNQZXJQYWdlKTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgfVxuXG4gIHBvcHVsYXRlVGFibGUoKSB7XG4gICAgaWYgKHRoaXMuYmFja2VuZFBhZ2luYXRpb24pIHtcbiAgICAgIHRoaXMuZGlzcGxheVJvd3MgPSB0aGlzLnJvd3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN0YXJ0T2ZQYWdlID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNQZXJQYWdlO1xuICAgICAgY29uc3QgZW5kT2ZQYWdlID0gc3RhcnRPZlBhZ2UgKyB0aGlzLml0ZW1zUGVyUGFnZTtcbiAgICAgIHRoaXMuZGlzcGxheVJvd3MgPSB0aGlzLnJvd3Muc2xpY2Uoc3RhcnRPZlBhZ2UsIGVuZE9mUGFnZSk7XG4gICAgfVxuICB9XG5cbiAgb25DaGVja2JveENoYW5nZShldmVudDogRXZlbnQsIHJvdzogYW55LCBjZWxsOiBhbnksIGluZGV4OiBudW1iZXIpIHtcbiAgICBjZWxsLnZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xuICAgIHRoaXMub25DaGVja2VkLmVtaXQoeyBldmVudCwgcm93LCBjZWxsLCBpbmRleCB9KTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50LCByb3c6IGFueSwgY2VsbDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgY2VsbC52YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5vbnRJbnB1dENoYW5nZS5lbWl0KHsgZXZlbnQsIHJvdywgY2VsbCwgaW5kZXggfSk7XG4gICAgaWYgKGNlbGwudHlwZSA9PSAnaW5wdXQtbnVtYmVyJykge1xuICAgICAgaWYgKGNlbGwudmFsdWUgPiBjZWxsLm1heCkge1xuICAgICAgICBjZWxsLnZhbHVlID0gY2VsbC5tYXg7XG4gICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBjZWxsLm1heDtcbiAgICAgIH1cbiAgICAgIGlmIChjZWxsLnZhbHVlIDwgY2VsbC5taW4pIHtcbiAgICAgICAgY2VsbC52YWx1ZSA9IGNlbGwubWluO1xuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gY2VsbC5taW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Sb3dDbGljayhldmVudDogRXZlbnQsIHJvdzogRGF0YVRhYmxlUm93LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaXNSb3dDbGlja2FibGUpIHtcbiAgICAgIHRoaXMub25DbGljay5lbWl0KHsgZXZlbnQsIHJvdywgaW5kZXggfSk7XG4gICAgfVxuICB9XG5cbiAgb25DZWxsQ2xpY2soZXZlbnQ6IEV2ZW50LCByb3c6IERhdGFUYWJsZVJvdywgY2VsbDogRGF0YVRhYmxlQ2VsbCwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlzQ2VsbENsaWNrYWJsZSkge1xuICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoeyBldmVudCwgcm93LCBjZWxsLCBpbmRleCB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRDZWxsQ2xhc3NlcyhjZWxsOiBEYXRhVGFibGVDZWxsKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGxldCBjbGFzc2VzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHtcbiAgICAgICdjbGlja2FibGUnOiB0aGlzLmlzQ2VsbENsaWNrYWJsZVxuICAgIH07XG5cbiAgICBpZiAoY2VsbC5jdXN0b21DbGFzcykge1xuICAgICAgY2xhc3Nlc1tjZWxsLmN1c3RvbUNsYXNzXSA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBnZXRIZWFkZXJDbGFzc2VzKGNvbHVtbjogRGF0YVRhYmxlSGVhZGVyKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIGxldCBjbGFzc2VzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gICAgaWYgKGNvbHVtbi5jdXN0b21DbGFzcykge1xuICAgICAgY2xhc3Nlc1tjb2x1bW4uY3VzdG9tQ2xhc3NdID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93LWNlbGxcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJDbGFzc2VzKGNvbHVtbilcIj5cbiAgICAgIHt7Y29sdW1uLnRleHR9fVxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmKGxvYWRpbmcpe1xuICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8bGliLWVsdXgtbG9hZGluZz48L2xpYi1lbHV4LWxvYWRpbmc+XG4gIDwvZGl2PlxuICB9XG5cbiAgQGlmIChkaXNwbGF5Um93cy5sZW5ndGggPT0gMCkge1xuICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IHB0LTMgcGItM1wiPlxuICAgIHt7ZW1wdHlNZXNzYWdlfX1cbiAgPC9kaXY+XG4gIH1cblxuICBAZm9yIChyb3cgb2YgZGlzcGxheVJvd3M7IHRyYWNrICRpbmRleCkge1xuICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW25nQ2xhc3NdPVwieydjbGlja2FibGUnOiBpc1Jvd0NsaWNrYWJsZX1cIiAoY2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQsIHJvdywgJGluZGV4KVwiPlxuICAgIEBmb3IgKGNlbGwgb2Ygcm93OyB0cmFjayAkaW5kZXgpIHtcbiAgICBAc3dpdGNoIChjZWxsLnR5cGUpIHtcbiAgICBAY2FzZSAoXCJyZWRpcmVjdC1pbnRlcm5hbFwiKSB7XG4gICAgPGRpdiBjbGFzcz1cInJvdy1jZWxsXCIgW25nQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzZXMoY2VsbClcIiAoY2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50LCByb3csIGNlbGwsICRpbmRleClcIj5cbiAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNlbGwudmFsdWUudG9TdHJpbmcoKVwiIGNsYXNzPVwicm91dGVcIj57e2NlbGwubmFtZX19PC9hPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoXCJyZWRpcmVjdC1leHRlcm5hbFwiKSB7XG4gICAgPGRpdiBjbGFzcz1cInJvdy1jZWxsXCIgW25nQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzZXMoY2VsbClcIiAoY2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50LCByb3csIGNlbGwsICRpbmRleClcIj5cbiAgICAgIDxhIFtocmVmXT1cImNlbGwudmFsdWVcIiBjbGFzcz1cInJvdXRlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3tjZWxsLm5hbWV9fTwvYT5cbiAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGNhc2UgKFwiY2hlY2tib3hcIikge1xuICAgIDxkaXYgY2xhc3M9XCJyb3ctY2VsbFwiIFtuZ0NsYXNzXT1cImdldENlbGxDbGFzc2VzKGNlbGwpXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiY2VsbC52YWx1ZVwiIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZSgkZXZlbnQsIHJvdywgY2VsbCwgJGluZGV4KVwiIFthdHRyLmRpc2FibGVkXT1cImNlbGwuZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiIC8+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIEBjYXNlIChcImlucHV0XCIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3ctY2VsbFwiIFtuZ0NsYXNzXT1cImdldENlbGxDbGFzc2VzKGNlbGwpXCI+XG4gICAgICAgIDxpbnB1dCBzdGVwPVwiXCIgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwiY2VsbC52YWx1ZVwiIChibHVyKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50LCByb3csIGNlbGwsICRpbmRleClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAY2FzZSAoXCJpbnB1dC1udW1iZXJcIikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicm93LWNlbGxcIiBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3NlcyhjZWxsKVwiPlxuICAgICAgICAgIDxpbnB1dCBzdGVwPVwiXCIgdHlwZT1cIm51bWJlclwiIFt2YWx1ZV09XCJjZWxsLnZhbHVlXCIgW21pbl09XCJjZWxsLm1pblwiIFttYXhdPVwiY2VsbC5tYXhcIiAoYmx1cik9XCJvbklucHV0Q2hhbmdlKCRldmVudCwgcm93LCBjZWxsLCAkaW5kZXgpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICBAZGVmYXVsdCB7XG4gICAgPGRpdiBjbGFzcz1cInJvdy1jZWxsXCIgW25nQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzZXMoY2VsbClcIiAoY2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50LCByb3csIGNlbGwsICRpbmRleClcIj5cbiAgICAgIHt7Y2VsbC52YWx1ZX19XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuICB9XG5cbiAgQGlmIChoYXNQYWdpbmF0b3IgJiYgdG90YWxSb3dzID4gaXRlbXNQZXJQYWdlKSB7XG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1mb290ZXJcIj5cbiAgICA8bGliLWVsdXgtcGFnaW5hdG9yIChwYWdpbmF0aW9uRXZlbnRzKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgW2FuY2hvcl09XCJ0cnVlXCIgW2xlbmd0aF09XCJwYWdpbmF0b3JUb3RhbFBhZ2VzXCJcbiAgICAgIFtjdXJyZW50XT1cImN1cnJlbnRQYWdlXCI+XG4gICAgPC9saWItZWx1eC1wYWdpbmF0b3I+XG4gIDwvZGl2PlxuICB9XG5cbjwvZGl2PiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLmNvbXBvbmVudC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3VpL2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGF0YWJsZS9kYXRhdGFibGUuY29tcG9uZW50LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlSGVhZGVyIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjdXN0b21DbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0Q2VsbCB7XG4gIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVJlZGlyZWN0IGV4dGVuZHMgRGVmYXVsdENlbGwge1xuICB0eXBlOiAncmVkaXJlY3QtaW50ZXJuYWwnIHwgJ3JlZGlyZWN0LWV4dGVybmFsJztcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgU2FmZVVybDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVDaGVja2JveCBleHRlbmRzIERlZmF1bHRDZWxsIHtcbiAgdHlwZTogJ2NoZWNrYm94JztcbiAgdmFsdWU6IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVWYWx1ZSBleHRlbmRzIERlZmF1bHRDZWxsIHtcbiAgdHlwZTogJ3ZhbHVlJztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVJbnB1dCBleHRlbmRzIERlZmF1bHRDZWxsIHtcbiAgdHlwZTogJ2lucHV0JztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVJbnB1dE51bWJlciBleHRlbmRzIERlZmF1bHRDZWxsIHtcbiAgdHlwZTogJ2lucHV0LW51bWJlcic7XG4gIHZhbHVlPzogbnVtYmVyO1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZUNlbGwgPVxuICB8IERhdGFUYWJsZVJlZGlyZWN0XG4gIHwgRGF0YVRhYmxlQ2hlY2tib3hcbiAgfCBEYXRhVGFibGVWYWx1ZVxuICB8IERhdGFUYWJsZUlucHV0XG4gIHwgIERhdGFUYWJsZUlucHV0TnVtYmVyO1xuXG5leHBvcnQgdHlwZSBEYXRhVGFibGVSb3cgPSBEYXRhVGFibGVDZWxsW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlUm93Q2xpY2tFdmVudCB7XG4gIGV2ZW50OiBFdmVudDtcbiAgcm93OiBEYXRhVGFibGVSb3c7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlQ2VsbENsaWNrRXZlbnQgZXh0ZW5kcyBEYXRhVGFibGVSb3dDbGlja0V2ZW50IHtcbiAgY2VsbDogRGF0YVRhYmxlQ2VsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVDaGVja0V2ZW50IHtcbiAgZXZlbnQ6IEV2ZW50O1xuICByb3c6IERhdGFUYWJsZVJvdztcbiAgY2VsbDogRGF0YVRhYmxlQ2VsbDtcbiAgaW5kZXg6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGF0YWJsZUlucHV0RXZlbnQge1xuICBldmVudDogRXZlbnQ7XG4gIHJvdzogRGF0YVRhYmxlUm93O1xuICBjZWxsOiBEYXRhVGFibGVDZWxsO1xuICBpbmRleDogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZUNsaWNrRXZlbnQgPSBEYXRhVGFibGVSb3dDbGlja0V2ZW50IHwgRGF0YVRhYmxlQ2VsbENsaWNrRXZlbnQ7XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './datatable.component';
|
|
2
2
|
export * from './datatable.component.types';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi91aS9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9kYXRhdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLmNvbXBvbmVudC50eXBlcyc7XG4iXX0=
|
|
@@ -338,16 +338,16 @@ export class EluxDatepicker {
|
|
|
338
338
|
return false;
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
342
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EluxDatepicker, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
342
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EluxDatepicker, isStandalone: true, selector: "lib-elux-datepicker", inputs: { value: "value", locale: "locale", idInput: "idInput", placeholder: "placeholder", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateSelected: "dateSelected", invalidDate: "invalidDate" }, host: { listeners: { "document:click": "clickOutside($event)" } }, providers: [
|
|
343
343
|
{
|
|
344
344
|
provide: NG_VALUE_ACCESSOR,
|
|
345
345
|
useExisting: forwardRef(() => EluxDatepicker),
|
|
346
346
|
multi: true,
|
|
347
347
|
},
|
|
348
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker\" #datepicker>\
|
|
348
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker\" #datepicker>\n <div class=\"div-calendar-icon\" (click)=\"!disabled ? toggleCalendar() : ''\">\n <lib-elux-icon class=\"calendar-icon\" [icon]=\"'Calendar.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\n </div>\n <input\n [ngClass]=\"{\n 'date-input': true,\n 'ng-invalid': isInvalid,\n 'ng-touched': isTouched,\n }\"\n [value]=\"formatedDate\"\n (input)=\"onChangeValue($event)\"\n [id]=\"idInput\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n maxlength=\"10\"\n type=\"text\"\n (blur)=\"onBlur()\"\n />\n <div class=\"calendar\" *ngIf=\"showCalendar\">\n <div class=\"calendar-header\">\n <div class=\"previous\" (click)=\"previous()\">\n <lib-elux-icon [hidden]=\"isPreviousDisabled()\" [icon]=\"'Chevron_Left.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\n </div>\n <span (click)=\"changeView()\">{{ pickerView === 'week' ? headerDate() : currentDate.getFullYear() }}</span>\n <div class=\"next\" (click)=\"next()\">\n <lib-elux-icon [hidden]=\"isNextDisabled()\" [icon]=\"'Chevron_Right.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\n </div>\n </div>\n <div class=\"calendar-body\" *ngIf=\"pickerView === 'week'\">\n <div class=\"day-labels\">\n <span *ngFor=\"let day of headerDateWeek()\">{{ day }}</span>\n </div>\n <ng-container *ngFor=\"let day of days\">\n <div class=\"day\" [ngClass]=\"{ disabled: day.disabled, today: day.today, selected: day.selected }\" (click)=\"day.disabled ? null : selectDate(day)\">\n <span>{{ day.day }}</span>\n </div>\n </ng-container>\n </div>\n <div class=\"year-body\" *ngIf=\"pickerView === 'year'\">\n <ng-container *ngFor=\"let year of years\">\n <div class=\"year\" *ngIf=\"!year.disabled\" (click)=\"!year.disabled && selectYear(year.value)\">\n {{ year.value }}\n </div>\n </ng-container>\n </div>\n <div class=\"month-body\" *ngIf=\"pickerView === 'month'\">\n <ng-container *ngFor=\"let month of months\">\n <div class=\"month\" *ngIf=\"!month.disabled\" (click)=\"!month.disabled && selectMonth(month.value)\">\n {{ month.text }}\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .date-picker{position:relative}:host .div-calendar-icon{border-left:solid 1px #7A8A9B;height:100%;position:absolute;right:0;display:flex;justify-content:center;align-items:center;width:50px;cursor:pointer}:host .calendar{position:absolute;top:50px;left:0;background:#f4f5f7;border-radius:2px;box-shadow:4px 4px 8px #0000001a;padding:32px 24px;z-index:1000}:host .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:solid 1px #DEE7EA;padding-bottom:8px}:host .calendar-header button{background:none;border:none;cursor:pointer;font-size:18px}:host .calendar-header span{font-weight:600;color:#515253;cursor:pointer}:host .calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}:host .calendar-body .day-labels{display:contents;text-align:center;margin-bottom:5px;font-weight:600;color:#515253}:host .calendar-body .day{font-size:12px;color:#515253;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out;border-radius:50%}:host .calendar-body .day:not(.disabled):hover{background:#dee7ea}:host .calendar-body .day.disabled{cursor:default;height:0px}:host .calendar-body .day.disabled span{display:none}:host .calendar-body .day:not(.disabled).today{border:1px solid #011E41}:host .calendar-body .day:not(.disabled).selected{font-size:12px;font-weight:600;background:#011e41;color:#fff}:host .previous,:host .next{cursor:pointer;width:25px}:host .year-body{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}:host .year-body .year{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:45px;height:45px;transition:all .15s ease-in-out}:host .year-body .year:hover{background:#dee7ea;border-radius:50%}:host .month-body{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}:host .month-body .month{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto;height:40px;transition:all .15s ease-in-out}:host .month-body .month:hover{color:#c9c9ca}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
349
349
|
}
|
|
350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EluxDatepicker, decorators: [{
|
|
351
351
|
type: Component,
|
|
352
352
|
args: [{ selector: 'lib-elux-datepicker', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, EluxIcon], providers: [
|
|
353
353
|
{
|
|
@@ -355,7 +355,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
355
355
|
useExisting: forwardRef(() => EluxDatepicker),
|
|
356
356
|
multi: true,
|
|
357
357
|
},
|
|
358
|
-
], template: "<div class=\"date-picker\" #datepicker>\
|
|
358
|
+
], template: "<div class=\"date-picker\" #datepicker>\n <div class=\"div-calendar-icon\" (click)=\"!disabled ? toggleCalendar() : ''\">\n <lib-elux-icon class=\"calendar-icon\" [icon]=\"'Calendar.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\n </div>\n <input\n [ngClass]=\"{\n 'date-input': true,\n 'ng-invalid': isInvalid,\n 'ng-touched': isTouched,\n }\"\n [value]=\"formatedDate\"\n (input)=\"onChangeValue($event)\"\n [id]=\"idInput\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n maxlength=\"10\"\n type=\"text\"\n (blur)=\"onBlur()\"\n />\n <div class=\"calendar\" *ngIf=\"showCalendar\">\n <div class=\"calendar-header\">\n <div class=\"previous\" (click)=\"previous()\">\n <lib-elux-icon [hidden]=\"isPreviousDisabled()\" [icon]=\"'Chevron_Left.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\n </div>\n <span (click)=\"changeView()\">{{ pickerView === 'week' ? headerDate() : currentDate.getFullYear() }}</span>\n <div class=\"next\" (click)=\"next()\">\n <lib-elux-icon [hidden]=\"isNextDisabled()\" [icon]=\"'Chevron_Right.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\n </div>\n </div>\n <div class=\"calendar-body\" *ngIf=\"pickerView === 'week'\">\n <div class=\"day-labels\">\n <span *ngFor=\"let day of headerDateWeek()\">{{ day }}</span>\n </div>\n <ng-container *ngFor=\"let day of days\">\n <div class=\"day\" [ngClass]=\"{ disabled: day.disabled, today: day.today, selected: day.selected }\" (click)=\"day.disabled ? null : selectDate(day)\">\n <span>{{ day.day }}</span>\n </div>\n </ng-container>\n </div>\n <div class=\"year-body\" *ngIf=\"pickerView === 'year'\">\n <ng-container *ngFor=\"let year of years\">\n <div class=\"year\" *ngIf=\"!year.disabled\" (click)=\"!year.disabled && selectYear(year.value)\">\n {{ year.value }}\n </div>\n </ng-container>\n </div>\n <div class=\"month-body\" *ngIf=\"pickerView === 'month'\">\n <ng-container *ngFor=\"let month of months\">\n <div class=\"month\" *ngIf=\"!month.disabled\" (click)=\"!month.disabled && selectMonth(month.value)\">\n {{ month.text }}\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .date-picker{position:relative}:host .div-calendar-icon{border-left:solid 1px #7A8A9B;height:100%;position:absolute;right:0;display:flex;justify-content:center;align-items:center;width:50px;cursor:pointer}:host .calendar{position:absolute;top:50px;left:0;background:#f4f5f7;border-radius:2px;box-shadow:4px 4px 8px #0000001a;padding:32px 24px;z-index:1000}:host .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:solid 1px #DEE7EA;padding-bottom:8px}:host .calendar-header button{background:none;border:none;cursor:pointer;font-size:18px}:host .calendar-header span{font-weight:600;color:#515253;cursor:pointer}:host .calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}:host .calendar-body .day-labels{display:contents;text-align:center;margin-bottom:5px;font-weight:600;color:#515253}:host .calendar-body .day{font-size:12px;color:#515253;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out;border-radius:50%}:host .calendar-body .day:not(.disabled):hover{background:#dee7ea}:host .calendar-body .day.disabled{cursor:default;height:0px}:host .calendar-body .day.disabled span{display:none}:host .calendar-body .day:not(.disabled).today{border:1px solid #011E41}:host .calendar-body .day:not(.disabled).selected{font-size:12px;font-weight:600;background:#011e41;color:#fff}:host .previous,:host .next{cursor:pointer;width:25px}:host .year-body{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}:host .year-body .year{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:45px;height:45px;transition:all .15s ease-in-out}:host .year-body .year:hover{background:#dee7ea;border-radius:50%}:host .month-body{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}:host .month-body .month{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto;height:40px;transition:all .15s ease-in-out}:host .month-body .month:hover{color:#c9c9ca}\n"] }]
|
|
359
359
|
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { value: [{
|
|
360
360
|
type: Input
|
|
361
361
|
}], locale: [{
|
|
@@ -379,4 +379,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
379
379
|
type: HostListener,
|
|
380
380
|
args: ['document:click', ['$event']]
|
|
381
381
|
}] } });
|
|
382
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi91aS9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdWkvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsWUFBWSxFQUFFLFNBQVMsRUFBd0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQStCbkMsTUFBTSxPQUFPLGNBQWM7SUF5QnpCLFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUF4QnRDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUN6QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGdCQUFXLEdBQVcsWUFBWSxDQUFDO1FBR2xDLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEUsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd6RSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBOEIsTUFBTSxDQUFDO1FBQy9DLGdCQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFnQixJQUFJLENBQUM7UUFDakMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUNqQixXQUFNLEdBQVksRUFBRSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFWCxhQUFRLEdBQWEsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3JDLGNBQVMsR0FBYSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFHSSxDQUFDO0lBRW5ELHVCQUF1QjtRQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBc0IsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBWTtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JELEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDeEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUQsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdHLENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELHlCQUF5QixDQUFDLE1BQWM7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE1BQU07WUFDUjtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbEIsTUFBTTtZQUNSO2dCQUNFLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUk7UUFDRixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbEIsTUFBTTtZQUNSO2dCQUNFLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFnQjtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhHLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3BFLEdBQUcsRUFBRSxTQUFTO1lBQ2QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBa0I7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUUsSUFBSSxPQUFPLElBQUksYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVTtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDaEYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN0RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3BELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFakQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbEUsa0RBQWtEO1FBQ2xELEtBQUssSUFBSSxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsZ0NBQWdDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsWUFBWSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxLQUFLLElBQUksSUFBSSxhQUFhLEtBQUssS0FBSyxJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUM7WUFDekYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU3RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsbUVBQW1FO1lBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ25HLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdkgsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU3RCxLQUFLLElBQUksQ0FBQyxHQUFHLFdBQVcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7WUFDL0csSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVU7UUFDbEIsT0FBTyxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0QsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksSUFBSSxHQUFxQixTQUFTLENBQUM7UUFFdkMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE9BQU8sR0FBOEIsRUFBRSxDQUFDO1lBQzlDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFFbEUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBdUQsQ0FBQztZQUVyRixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFdEMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssR0FBRyxDQUFDO1FBQzNILENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFakMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsTUFBYztRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYTtRQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVc7UUFFOUUsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLEtBQUssSUFBSTtnQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNoQyxJQUFJLElBQUksS0FBSyxJQUFJO2dCQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3ZDLElBQUksSUFBSSxLQUFLLE1BQU07Z0JBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBZTtRQUN6QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDLENBQUMsV0FBVztJQUN4QixDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQVk7UUFDdkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3ZHLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hILEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xFLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRTtnQkFDRSxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4SCxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRSxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckU7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7K0dBMVlVLGNBQWM7bUdBQWQsY0FBYyxrVkFWZDtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YseUpDOUJILHk3RUF1REEsMjBIRGhDWSxZQUFZLDZWQUFFLG1CQUFtQiw4QkFBRSxXQUFXLCtCQUFFLFFBQVE7OzRGQVd2RCxjQUFjO2tCQWQxQixTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxhQUN4RDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7NEJBQzdDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzZFQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ2tCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkF3VnZCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVsdXhJY29uIH0gZnJvbSAnLi4vaWNvbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERheSB7XHJcbiAgZGF5OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xyXG4gIHRvZGF5PzogYm9vbGVhbjtcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1vbnRoIHtcclxuICB2YWx1ZTogbnVtYmVyO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFllYXIge1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZWx1eC1kYXRlcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlLCBFbHV4SWNvbl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbHV4RGF0ZXBpY2tlciksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbHV4RGF0ZXBpY2tlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nID0gJ3B0LUJSJztcclxuICBASW5wdXQoKSBpZElucHV0OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJzAwLzAwLzAwMDAnO1xyXG4gIEBJbnB1dCgpIG1pbkRhdGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4RGF0ZT86IHN0cmluZztcclxuICBAT3V0cHV0KCkgZGF0ZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBpbnZhbGlkRGF0ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAVmlld0NoaWxkKCdkYXRlcGlja2VyJykgZGF0ZXBpY2tlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgc2hvd0NhbGVuZGFyID0gZmFsc2U7XHJcbiAgcGlja2VyVmlldzogJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICd3ZWVrJztcclxuICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgZm9ybWF0ZWREYXRlOiBzdHJpbmcgPSAnJztcclxuICBkYXlzOiBEYXlbXSA9IFtdO1xyXG4gIG1vbnRoczogTW9udGhbXSA9IFtdO1xyXG4gIHllYXJzOiBZZWFyW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4gdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgcGFyZW50Rm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIGluamVjdFBhcmVudEZvcm1Db250cm9sKCkge1xyXG4gICAgY29uc3QgbmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1hdGVkRGF0ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkJsdXIoKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUb3VjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50Rm9ybUNvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5wYXJlbnRGb3JtQ29udHJvbD8uZGlydHk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50Rm9ybUNvbnRyb2w/LmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBoZWFkZXJEYXRlKCkge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VycmVudERhdGUudG9Mb2NhbGVTdHJpbmcodGhpcy5sb2NhbGUsIHtcclxuICAgICAgbW9udGg6ICdsb25nJyxcclxuICAgIH0pfSAke3RoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKX1gO1xyXG4gIH1cclxuXHJcbiAgaGVhZGVyRGF0ZVdlZWsoKSB7XHJcbiAgICBjb25zdCBkYXlzT2ZXZWVrID0gW107XHJcbiAgICBjb25zdCBiYXNlRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA3OyBpKyspIHtcclxuICAgICAgY29uc3QgZGF5ID0gbmV3IERhdGUoYmFzZURhdGUuc2V0RGF0ZShiYXNlRGF0ZS5nZXREYXRlKCkgLSBiYXNlRGF0ZS5nZXREYXkoKSArIGkpKTtcclxuICAgICAgZGF5c09mV2Vlay5wdXNoKGRheS50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUsIHsgd2Vla2RheTogJ25hcnJvdycgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXlzT2ZXZWVrO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluamVjdFBhcmVudEZvcm1Db250cm9sKCk7XHJcblxyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5mb3JtYXRlZERhdGUgPSB0aGlzLnZhbHVlO1xyXG4gICAgICB0aGlzLm9uQmx1cigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhcih0aGlzLmN1cnJlbnREYXRlKTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgIWNoYW5nZXNbJ3ZhbHVlJ10uaXNGaXJzdENoYW5nZSgpKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gdGhpcy52YWx1ZTtcclxuICAgICAgdGhpcy5vbkJsdXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlVmFsdWUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgbGV0IHZhbHVlID0gaW5wdXQudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcclxuICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMuZGV0ZWN0TG9jYWxlRGF0ZVNlcGFyYXRvcih0aGlzLmxvY2FsZSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA8PSAyKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlLmxlbmd0aCA8PSA0KSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gYCR7dmFsdWUuc2xpY2UoMCwgMil9JHtzZXBhcmF0b3J9JHt2YWx1ZS5zbGljZSgyKX1gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtYXRlZERhdGUgPSBgJHt2YWx1ZS5zbGljZSgwLCAyKX0ke3NlcGFyYXRvcn0ke3ZhbHVlLnNsaWNlKDIsIDQpfSR7c2VwYXJhdG9yfSR7dmFsdWUuc2xpY2UoNCwgOCl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dC52YWx1ZSA9IHRoaXMuZm9ybWF0ZWREYXRlO1xyXG4gICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoaW5wdXQudmFsdWUubGVuZ3RoLCBpbnB1dC52YWx1ZS5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgZGV0ZWN0TG9jYWxlRGF0ZVNlcGFyYXRvcihsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBzYW1wbGVEYXRlID0gbmV3IERhdGUoMjAwMCwgMCwgMTUpO1xyXG4gICAgY29uc3QgZm9ybWF0dGVkID0gc2FtcGxlRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlKTtcclxuICAgIGNvbnN0IG1hdGNoID0gZm9ybWF0dGVkLm1hdGNoKC9bXjAtOV0vKTtcclxuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzBdIDogJy8nO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FsZW5kYXIoKSB7XHJcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9ICF0aGlzLnNob3dDYWxlbmRhcjtcclxuICAgIGlmICh0aGlzLnNob3dDYWxlbmRhcikge1xyXG4gICAgICB0aGlzLnBpY2tlclZpZXcgPSAnd2Vlayc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VWaWV3KCkge1xyXG4gICAgc3dpdGNoICh0aGlzLnBpY2tlclZpZXcpIHtcclxuICAgICAgY2FzZSAnd2Vlayc6XHJcbiAgICAgICAgdGhpcy5waWNrZXJWaWV3ID0gJ21vbnRoJztcclxuICAgICAgICB0aGlzLmdlbmVyYXRlTW9udGhzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLnBpY2tlclZpZXcgPSAneWVhcic7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3llYXInOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VDYWxlbmRhcigpIHtcclxuICAgIHRoaXMuc2hvd0NhbGVuZGFyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcmV2aW91cygpIHtcclxuICAgIHN3aXRjaCAodGhpcy5waWNrZXJWaWV3KSB7XHJcbiAgICAgIGNhc2UgJ3dlZWsnOlxyXG4gICAgICAgIHRoaXMucHJldk1vbnRoKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLnByZXZZZWFyKDEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLnByZXZZZWFyKDMwKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMucGlja2VyVmlldykge1xyXG4gICAgICBjYXNlICd3ZWVrJzpcclxuICAgICAgICB0aGlzLm5leHRNb250aCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5uZXh0WWVhcigxKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5uZXh0WWVhcigzMCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcmV2TW9udGgoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5zZXRNb250aCh0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCkgLSAxKSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5zZXRNb250aCh0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCkgKyAxKSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwcmV2WWVhcih5ZWFyUXRkZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlWWVhcih0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgLSB5ZWFyUXRkZSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKHllYXJRdGRlOiBudW1iZXIpIHtcclxuICAgIHRoaXMub25DaGFuZ2VZZWFyKHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSArIHllYXJRdGRlKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGF0ZShkYXk6IERheSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuY3VycmVudERhdGUuZ2V0TW9udGgoKSwgZGF5LmRheSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBzZWxlY3RlZDtcclxuICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlLCB7XHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XHJcbiAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICAgIHRoaXMub25CbHVyKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RNb250aChtb250aFZhbHVlOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpIDogbnVsbDtcclxuICAgIGNvbnN0IHNlbGVjdGVkTW9udGggPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoVmFsdWUsIDEpO1xyXG5cclxuICAgIGlmIChtYXhEYXRlICYmIHNlbGVjdGVkTW9udGggPiBuZXcgRGF0ZShtYXhEYXRlLmdldEZ1bGxZZWFyKCksIG1heERhdGUuZ2V0TW9udGgoKSwgMSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoVmFsdWUsIDEwKTtcclxuICAgIHRoaXMucGlja2VyVmlldyA9ICd3ZWVrJztcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhcih0aGlzLmN1cnJlbnREYXRlKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlWWVhcih5ZWFyOiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLnNldEZ1bGxZZWFyKHllYXIpKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVNb250aHMoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFllYXIoeWVhcjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlWWVhcih5ZWFyKTtcclxuICAgIHRoaXMucGlja2VyVmlldyA9ICdtb250aCc7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUNhbGVuZGFyKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuZGF5cyA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkgOiBudWxsO1xyXG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSA/IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkgOiBudWxsO1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgaXNUb2RheU1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKSA9PT0gbW9udGggJiYgdG9kYXkuZ2V0RnVsbFllYXIoKSA9PT0geWVhcjtcclxuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRNb250aCgpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWREYXkgPSB0aGlzLnNlbGVjdGVkRGF0ZT8uZ2V0RGF0ZSgpO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0V2Vla0RheU9mTW9udGggPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSkuZ2V0RGF5KCk7XHJcbiAgICBjb25zdCBsYXN0V2Vla0RheU9mTW9udGggPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApLmdldERhdGUoKTtcclxuXHJcbiAgICAvLyBQcmVlbmNoZSBvcyBkaWFzIGRvIG3DqnMgYW50ZXJpb3IsIHNlIG5lY2Vzc8OhcmlvXHJcbiAgICBmb3IgKGxldCBpID0gZmlyc3RXZWVrRGF5T2ZNb250aDsgaSA+IDA7IGktLSkge1xyXG4gICAgICB0aGlzLmRheXMucHVzaCh7IGRheTogMCwgZGlzYWJsZWQ6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJlZW5jaGUgb3MgZGlhcyBkbyBtw6pzIGF0dWFsXHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBsYXN0V2Vla0RheU9mTW9udGg7IGkrKykge1xyXG4gICAgICBjb25zdCBkYXRlVmFsdWUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaSk7XHJcbiAgICAgIGNvbnN0IGlzVG9kYXkgPSBpc1RvZGF5TW9udGggJiYgdG9kYXkuZ2V0RGF0ZSgpID09PSBpO1xyXG4gICAgICBjb25zdCBpc1NlbGVjdGVkID0gc2VsZWN0ZWRZZWFyID09PSB5ZWFyICYmIHNlbGVjdGVkTW9udGggPT09IG1vbnRoICYmIHNlbGVjdGVkRGF5ID09PSBpO1xyXG4gICAgICBjb25zdCBkaXNhYmxlZCA9ICgobWluRGF0ZSAmJiBkYXRlVmFsdWUgPCBtaW5EYXRlKSB8fCAobWF4RGF0ZSAmJiBkYXRlVmFsdWUgPiBtYXhEYXRlKSkgPz8gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGF5cy5wdXNoKHsgZGF5OiBpLCB0b2RheTogaXNUb2RheSwgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsIGRpc2FibGVkOiBkaXNhYmxlZCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdlbmVyYXRlTW9udGhzKCkge1xyXG4gICAgdGhpcy5tb250aHMgPSBbXTtcclxuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSA/IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkgOiBudWxsO1xyXG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkgOiBudWxsO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTI7IGkrKykge1xyXG4gICAgICAvLyBVc2FyIG8gZGlhIDEgcGFyYSBldml0YXIgcHJvYmxlbWFzIGNvbSBtZXNlcyBxdWUgbsOjbyB0w6ptIDMxIGRpYXNcclxuICAgICAgY29uc3QgZGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGksIDEpO1xyXG4gICAgICBjb25zdCBpc0Rpc2FibGVkID0gKChtaW5EYXRlICYmIGRhdGVWYWx1ZSA8IG1pbkRhdGUpIHx8IChtYXhEYXRlICYmIGRhdGVWYWx1ZSA+IG1heERhdGUpKSA/PyBmYWxzZTtcclxuICAgICAgdGhpcy5tb250aHMucHVzaCh7IHZhbHVlOiBpLCB0ZXh0OiBkYXRlVmFsdWUudG9Mb2NhbGVTdHJpbmcodGhpcy5sb2NhbGUsIHsgbW9udGg6ICdsb25nJyB9KSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVllYXJzKCkge1xyXG4gICAgdGhpcy55ZWFycyA9IFtdO1xyXG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5tYXhEYXRlID8gbmV3IERhdGUodGhpcy5tYXhEYXRlKSA6IG51bGw7XHJcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlKSA6IG51bGw7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IGN1cnJlbnRZZWFyIC0gMTk7IGkgPD0gY3VycmVudFllYXIgKyAxMDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSAoKG1pbkRhdGUgJiYgaSA8IG1pbkRhdGUuZ2V0RnVsbFllYXIoKSkgfHwgKG1heERhdGUgJiYgaSA+IG1heERhdGUuZ2V0RnVsbFllYXIoKSkpID8/IGZhbHNlO1xyXG4gICAgICB0aGlzLnllYXJzLnB1c2goeyB2YWx1ZTogaSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZERhdGUoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlLmdldFRpbWUoKSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcmRlciA9IHRoaXMuZGV0ZWN0RGF0ZU9yZGVyKHRoaXMubG9jYWxlKTtcclxuICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMuZGV0ZWN0RGF0ZVNlcGFyYXRvcih0aGlzLmZvcm1hdGVkRGF0ZSk7XHJcblxyXG4gICAgY29uc3QgcGFydHMgPSB0aGlzLmZvcm1hdGVkRGF0ZS5zcGxpdChzZXBhcmF0b3IpLm1hcChOdW1iZXIpO1xyXG5cclxuICAgIGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcbiAgICBsZXQgZGF0ZTogRGF0ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAzICYmICFwYXJ0cy5zb21lKGlzTmFOKSkge1xyXG4gICAgICBjb25zdCBkYXRlTWFwOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcbiAgICAgIFtkYXRlTWFwW29yZGVyWzBdXSwgZGF0ZU1hcFtvcmRlclsxXV0sIGRhdGVNYXBbb3JkZXJbMl1dXSA9IHBhcnRzO1xyXG5cclxuICAgICAgY29uc3QgeyBkYXksIG1vbnRoLCB5ZWFyIH0gPSBkYXRlTWFwIGFzIHsgZGF5OiBudW1iZXI7IG1vbnRoOiBudW1iZXI7IHllYXI6IG51bWJlciB9O1xyXG5cclxuICAgICAgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcclxuXHJcbiAgICAgIGlzVmFsaWQgPSB0aGlzLnZhbGlkRGF0ZShkYXRlKSAmJiBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiYgZGF0ZS5nZXRNb250aCgpID09PSBtb250aCAtIDEgJiYgZGF0ZS5nZXREYXRlKCkgPT09IGRheTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmZvcm1hdGVkRGF0ZSk7XHJcblxyXG4gICAgaWYgKGlzVmFsaWQgJiYgZGF0ZSkge1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KHRoaXMuZm9ybWF0ZWREYXRlKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xyXG4gICAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmludmFsaWREYXRlLmVtaXQodGhpcy5mb3JtYXRlZERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXRlY3REYXRlT3JkZXIobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBzYW1wbGUgPSBuZXcgRGF0ZSgyMDI1LCAxMCwgMjMpOyAvLyAyMy8xMS8yMDI1XHJcbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUpLmZvcm1hdChzYW1wbGUpO1xyXG5cclxuICAgIGNvbnN0IHBhcnRzID0gZm9ybWF0dGVkLm1hdGNoKC9cXGQrL2cpO1xyXG4gICAgaWYgKCFwYXJ0cyB8fCBwYXJ0cy5sZW5ndGggIT09IDMpIHJldHVybiBbJ3llYXInLCAnbW9udGgnLCAnZGF5J107IC8vIGZhbGxiYWNrXHJcblxyXG4gICAgY29uc3Qgb3JkZXI6IHN0cmluZ1tdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgICAgaWYgKHBhcnQgPT09ICcyMycpIG9yZGVyLnB1c2goJ2RheScpO1xyXG4gICAgICBlbHNlIGlmIChwYXJ0ID09PSAnMTEnKSBvcmRlci5wdXNoKCdtb250aCcpO1xyXG4gICAgICBlbHNlIGlmIChwYXJ0ID09PSAnMjAyNScpIG9yZGVyLnB1c2goJ3llYXInKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3JkZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRldGVjdERhdGVTZXBhcmF0b3IoZGF0ZVN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChkYXRlU3RyLmluY2x1ZGVzKCcvJykpIHJldHVybiAnLyc7XHJcbiAgICBpZiAoZGF0ZVN0ci5pbmNsdWRlcygnLScpKSByZXR1cm4gJy0nO1xyXG4gICAgcmV0dXJuICcnOyAvLyBmYWxsYmFja1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIGNsaWNrT3V0c2lkZShldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kYXRlLXBpY2tlcicpICYmICF0YXJnZXQuY2xvc2VzdCgnLm1vbnRoLWJvZHknKSAmJiAhdGFyZ2V0LmNsb3Nlc3QoJy55ZWFyLWJvZHknKSkge1xyXG4gICAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNQcmV2aW91c0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLm1pbkRhdGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1pbkRhdGUgPSBuZXcgRGF0ZSh0aGlzLm1pbkRhdGUpO1xyXG4gICAgc3dpdGNoICh0aGlzLnBpY2tlclZpZXcpIHtcclxuICAgICAgY2FzZSAnd2Vlayc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbWluRGF0ZS5nZXRGdWxsWWVhcigpICYmIHRoaXMuY3VycmVudERhdGUuZ2V0TW9udGgoKSA9PT0gbWluRGF0ZS5nZXRNb250aCgpO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbWluRGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpIC0gMzAgPCBtaW5EYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNOZXh0RGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMubWF4RGF0ZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWF4RGF0ZSA9IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSk7XHJcbiAgICBzd2l0Y2ggKHRoaXMucGlja2VyVmlldykge1xyXG4gICAgICBjYXNlICd3ZWVrJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpID09PSBtYXhEYXRlLmdldEZ1bGxZZWFyKCkgJiYgdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpID09PSBtYXhEYXRlLmdldE1vbnRoKCk7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpID09PSBtYXhEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgIGNhc2UgJ3llYXInOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgKyAzMCA+IG1heERhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiICNkYXRlcGlja2VyPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXYtY2FsZW5kYXItaWNvblwiIChjbGljayk9XCIhZGlzYWJsZWQgPyB0b2dnbGVDYWxlbmRhcigpIDogJydcIj5cclxuICAgIDxsaWItZWx1eC1pY29uIGNsYXNzPVwiY2FsZW5kYXItaWNvblwiIFtpY29uXT1cIidDYWxlbmRhci5zdmcnXCIgW2NvbG9yXT1cIicjMDExRTQxJ1wiIFtzaXplXT1cIicyNCdcIiBbc2l6ZVR5cGVdPVwiJ3B4J1wiPjwvbGliLWVsdXgtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8aW5wdXRcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2RhdGUtaW5wdXQnOiB0cnVlLFxyXG4gICAgICAnbmctaW52YWxpZCc6IGlzSW52YWxpZCxcclxuICAgICAgJ25nLXRvdWNoZWQnOiBpc1RvdWNoZWQsXHJcbiAgICB9XCJcclxuICAgIFt2YWx1ZV09XCJmb3JtYXRlZERhdGVcIlxyXG4gICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICBbaWRdPVwiaWRJbnB1dFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIG1heGxlbmd0aD1cIjEwXCJcclxuICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAvPlxyXG4gIDxkaXYgY2xhc3M9XCJjYWxlbmRhclwiICpuZ0lmPVwic2hvd0NhbGVuZGFyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aW91c1wiIChjbGljayk9XCJwcmV2aW91cygpXCI+XHJcbiAgICAgICAgPGxpYi1lbHV4LWljb24gW2hpZGRlbl09XCJpc1ByZXZpb3VzRGlzYWJsZWQoKVwiIFtpY29uXT1cIidDaGV2cm9uX0xlZnQuc3ZnJ1wiIFtzaXplXT1cIicyMidcIiBbc2l6ZVR5cGVdPVwiJ3B4J1wiPiA8L2xpYi1lbHV4LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8c3BhbiAoY2xpY2spPVwiY2hhbmdlVmlldygpXCI+e3sgcGlja2VyVmlldyA9PT0gJ3dlZWsnID8gaGVhZGVyRGF0ZSgpIDogY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSB9fTwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm5leHRcIiAoY2xpY2spPVwibmV4dCgpXCI+XHJcbiAgICAgICAgPGxpYi1lbHV4LWljb24gW2hpZGRlbl09XCJpc05leHREaXNhYmxlZCgpXCIgW2ljb25dPVwiJ0NoZXZyb25fUmlnaHQuc3ZnJ1wiIFtzaXplXT1cIicyMidcIiBbc2l6ZVR5cGVdPVwiJ3B4J1wiPiA8L2xpYi1lbHV4LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiICpuZ0lmPVwicGlja2VyVmlldyA9PT0gJ3dlZWsnXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXktbGFiZWxzXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGRheSBvZiBoZWFkZXJEYXRlV2VlaygpXCI+e3sgZGF5IH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5XCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGF5LmRpc2FibGVkLCB0b2RheTogZGF5LnRvZGF5LCBzZWxlY3RlZDogZGF5LnNlbGVjdGVkIH1cIiAoY2xpY2spPVwiZGF5LmRpc2FibGVkID8gbnVsbCA6IHNlbGVjdERhdGUoZGF5KVwiPlxyXG4gICAgICAgICAgPHNwYW4+e3sgZGF5LmRheSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ5ZWFyLWJvZHlcIiAqbmdJZj1cInBpY2tlclZpZXcgPT09ICd5ZWFyJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB5ZWFyIG9mIHllYXJzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInllYXJcIiAqbmdJZj1cIiF5ZWFyLmRpc2FibGVkXCIgKGNsaWNrKT1cIiF5ZWFyLmRpc2FibGVkICYmIHNlbGVjdFllYXIoeWVhci52YWx1ZSlcIj5cclxuICAgICAgICAgIHt7IHllYXIudmFsdWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb250aC1ib2R5XCIgKm5nSWY9XCJwaWNrZXJWaWV3ID09PSAnbW9udGgnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb250aFwiICpuZ0lmPVwiIW1vbnRoLmRpc2FibGVkXCIgKGNsaWNrKT1cIiFtb250aC5kaXNhYmxlZCAmJiBzZWxlY3RNb250aChtb250aC52YWx1ZSlcIj5cclxuICAgICAgICAgIHt7IG1vbnRoLnRleHQgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
382
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi91aS9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdWkvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsWUFBWSxFQUFFLFNBQVMsRUFBd0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQStCbkMsTUFBTSxPQUFPLGNBQWM7SUF5QnpCLFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUF4QnRDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUN6QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGdCQUFXLEdBQVcsWUFBWSxDQUFDO1FBR2xDLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEUsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd6RSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBOEIsTUFBTSxDQUFDO1FBQy9DLGdCQUFXLEdBQUcsSUFBSSxJQUFJLEVB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bk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsdXhJY29uIH0gZnJvbSAnLi4vaWNvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF5IHtcbiAgZGF5OiBudW1iZXI7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgdG9kYXk/OiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9udGgge1xuICB2YWx1ZTogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBZZWFyIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZWx1eC1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIEVsdXhJY29uXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbHV4RGF0ZXBpY2tlciksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRWx1eERhdGVwaWNrZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nID0gJ3B0LUJSJztcbiAgQElucHV0KCkgaWRJbnB1dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnMDAvMDAvMDAwMCc7XG4gIEBJbnB1dCgpIG1pbkRhdGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heERhdGU/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBkYXRlU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBpbnZhbGlkRGF0ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlcicpIGRhdGVwaWNrZXIhOiBFbGVtZW50UmVmO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIHNob3dDYWxlbmRhciA9IGZhbHNlO1xuICBwaWNrZXJWaWV3OiAnd2VlaycgfCAnbW9udGgnIHwgJ3llYXInID0gJ3dlZWsnO1xuICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBmb3JtYXRlZERhdGU6IHN0cmluZyA9ICcnO1xuICBkYXlzOiBEYXlbXSA9IFtdO1xuICBtb250aHM6IE1vbnRoW10gPSBbXTtcbiAgeWVhcnM6IFllYXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4gdW5kZWZpbmVkO1xuICBwcml2YXRlIG9uVG91Y2hlZDogRnVuY3Rpb24gPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcGFyZW50Rm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBpbmplY3RQYXJlbnRGb3JtQ29udHJvbCgpIHtcbiAgICBjb25zdCBuZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xuICAgIGlmIChuZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBGb3JtQ29udHJvbDtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdGVkRGF0ZSA9IHZhbHVlO1xuICAgIHRoaXMub25CbHVyKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBnZXQgaXNUb3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEZvcm1Db250cm9sPy50b3VjaGVkIHx8IHRoaXMucGFyZW50Rm9ybUNvbnRyb2w/LmRpcnR5O1xuICB9XG5cbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRGb3JtQ29udHJvbD8uaW52YWxpZDtcbiAgfVxuXG4gIGhlYWRlckRhdGUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY3VycmVudERhdGUudG9Mb2NhbGVTdHJpbmcodGhpcy5sb2NhbGUsIHtcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgfSl9ICR7dGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpfWA7XG4gIH1cblxuICBoZWFkZXJEYXRlV2VlaygpIHtcbiAgICBjb25zdCBkYXlzT2ZXZWVrID0gW107XG4gICAgY29uc3QgYmFzZURhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA3OyBpKyspIHtcbiAgICAgIGNvbnN0IGRheSA9IG5ldyBEYXRlKGJhc2VEYXRlLnNldERhdGUoYmFzZURhdGUuZ2V0RGF0ZSgpIC0gYmFzZURhdGUuZ2V0RGF5KCkgKyBpKSk7XG4gICAgICBkYXlzT2ZXZWVrLnB1c2goZGF5LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSwgeyB3ZWVrZGF5OiAnbmFycm93JyB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRheXNPZldlZWs7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluamVjdFBhcmVudEZvcm1Db250cm9sKCk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5mb3JtYXRlZERhdGUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy5vbkJsdXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgIWNoYW5nZXNbJ3ZhbHVlJ10uaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICB0aGlzLmZvcm1hdGVkRGF0ZSA9IHRoaXMudmFsdWU7XG4gICAgICB0aGlzLm9uQmx1cigpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlVmFsdWUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMuZGV0ZWN0TG9jYWxlRGF0ZVNlcGFyYXRvcih0aGlzLmxvY2FsZSk7XG5cbiAgICBpZiAodmFsdWUubGVuZ3RoIDw9IDIpIHtcbiAgICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gdmFsdWU7XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5sZW5ndGggPD0gNCkge1xuICAgICAgdGhpcy5mb3JtYXRlZERhdGUgPSBgJHt2YWx1ZS5zbGljZSgwLCAyKX0ke3NlcGFyYXRvcn0ke3ZhbHVlLnNsaWNlKDIpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gYCR7dmFsdWUuc2xpY2UoMCwgMil9JHtzZXBhcmF0b3J9JHt2YWx1ZS5zbGljZSgyLCA0KX0ke3NlcGFyYXRvcn0ke3ZhbHVlLnNsaWNlKDQsIDgpfWA7XG4gICAgfVxuXG4gICAgaW5wdXQudmFsdWUgPSB0aGlzLmZvcm1hdGVkRGF0ZTtcbiAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShpbnB1dC52YWx1ZS5sZW5ndGgsIGlucHV0LnZhbHVlLmxlbmd0aCk7XG4gIH1cblxuICBkZXRlY3RMb2NhbGVEYXRlU2VwYXJhdG9yKGxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzYW1wbGVEYXRlID0gbmV3IERhdGUoMjAwMCwgMCwgMTUpO1xuICAgIGNvbnN0IGZvcm1hdHRlZCA9IHNhbXBsZURhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSk7XG4gICAgY29uc3QgbWF0Y2ggPSBmb3JtYXR0ZWQubWF0Y2goL1teMC05XS8pO1xuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzBdIDogJy8nO1xuICB9XG5cbiAgdG9nZ2xlQ2FsZW5kYXIoKSB7XG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSAhdGhpcy5zaG93Q2FsZW5kYXI7XG4gICAgaWYgKHRoaXMuc2hvd0NhbGVuZGFyKSB7XG4gICAgICB0aGlzLnBpY2tlclZpZXcgPSAnd2Vlayc7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmlldygpIHtcbiAgICBzd2l0Y2ggKHRoaXMucGlja2VyVmlldykge1xuICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgIHRoaXMucGlja2VyVmlldyA9ICdtb250aCc7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVNb250aHMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHRoaXMucGlja2VyVmlldyA9ICd5ZWFyJztcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VDYWxlbmRhcigpIHtcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xuICB9XG5cbiAgcHJldmlvdXMoKSB7XG4gICAgc3dpdGNoICh0aGlzLnBpY2tlclZpZXcpIHtcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICB0aGlzLnByZXZNb250aCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgdGhpcy5wcmV2WWVhcigxKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgdGhpcy5wcmV2WWVhcigzMCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgbmV4dCgpIHtcbiAgICBzd2l0Y2ggKHRoaXMucGlja2VyVmlldykge1xuICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgIHRoaXMubmV4dE1vbnRoKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICB0aGlzLm5leHRZZWFyKDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICB0aGlzLm5leHRZZWFyKDMwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcmV2TW9udGgoKSB7XG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VycmVudERhdGUuc2V0TW9udGgodGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpIC0gMSkpO1xuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhcih0aGlzLmN1cnJlbnREYXRlKTtcbiAgfVxuXG4gIG5leHRNb250aCgpIHtcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5zZXRNb250aCh0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCkgKyAxKSk7XG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyKHRoaXMuY3VycmVudERhdGUpO1xuICB9XG5cbiAgcHJldlllYXIoeWVhclF0ZGU6IG51bWJlcikge1xuICAgIHRoaXMub25DaGFuZ2VZZWFyKHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSAtIHllYXJRdGRlKTtcbiAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgfVxuXG4gIG5leHRZZWFyKHllYXJRdGRlOiBudW1iZXIpIHtcbiAgICB0aGlzLm9uQ2hhbmdlWWVhcih0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgKyB5ZWFyUXRkZSk7XG4gICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gIH1cblxuICBzZWxlY3REYXRlKGRheTogRGF5KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuY3VycmVudERhdGUuZ2V0TW9udGgoKSwgZGF5LmRheSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHNlbGVjdGVkO1xuICAgIHRoaXMuZm9ybWF0ZWREYXRlID0gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlLCB7XG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgfSk7XG5cbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XG4gICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XG4gICAgdGhpcy5vbkJsdXIoKTtcbiAgfVxuXG4gIHNlbGVjdE1vbnRoKG1vbnRoVmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpIDogbnVsbDtcbiAgICBjb25zdCBzZWxlY3RlZE1vbnRoID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpLCBtb250aFZhbHVlLCAxKTtcblxuICAgIGlmIChtYXhEYXRlICYmIHNlbGVjdGVkTW9udGggPiBuZXcgRGF0ZShtYXhEYXRlLmdldEZ1bGxZZWFyKCksIG1heERhdGUuZ2V0TW9udGgoKSwgMSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpLCBtb250aFZhbHVlLCAxMCk7XG4gICAgdGhpcy5waWNrZXJWaWV3ID0gJ3dlZWsnO1xuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhcih0aGlzLmN1cnJlbnREYXRlKTtcbiAgfVxuXG4gIG9uQ2hhbmdlWWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5zZXRGdWxsWWVhcih5ZWFyKSk7XG4gICAgdGhpcy5nZW5lcmF0ZU1vbnRocygpO1xuICB9XG5cbiAgc2VsZWN0WWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICB0aGlzLm9uQ2hhbmdlWWVhcih5ZWFyKTtcbiAgICB0aGlzLnBpY2tlclZpZXcgPSAnbW9udGgnO1xuICB9XG5cbiAgZ2VuZXJhdGVDYWxlbmRhcihkYXRlOiBEYXRlKSB7XG4gICAgdGhpcy5kYXlzID0gW107XG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKTtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlKSA6IG51bGw7XG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSA/IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkgOiBudWxsO1xuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBpc1RvZGF5TW9udGggPSB0b2RheS5nZXRNb250aCgpID09PSBtb250aCAmJiB0b2RheS5nZXRGdWxsWWVhcigpID09PSB5ZWFyO1xuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkTW9udGggPSB0aGlzLnNlbGVjdGVkRGF0ZT8uZ2V0TW9udGgoKTtcbiAgICBjb25zdCBzZWxlY3RlZERheSA9IHRoaXMuc2VsZWN0ZWREYXRlPy5nZXREYXRlKCk7XG5cbiAgICBjb25zdCBmaXJzdFdlZWtEYXlPZk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpLmdldERheSgpO1xuICAgIGNvbnN0IGxhc3RXZWVrRGF5T2ZNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpO1xuXG4gICAgLy8gUHJlZW5jaGUgb3MgZGlhcyBkbyBtw6pzIGFudGVyaW9yLCBzZSBuZWNlc3PDoXJpb1xuICAgIGZvciAobGV0IGkgPSBmaXJzdFdlZWtEYXlPZk1vbnRoOyBpID4gMDsgaS0tKSB7XG4gICAgICB0aGlzLmRheXMucHVzaCh7IGRheTogMCwgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgLy8gUHJlZW5jaGUgb3MgZGlhcyBkbyBtw6pzIGF0dWFsXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbGFzdFdlZWtEYXlPZk1vbnRoOyBpKyspIHtcbiAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBpKTtcbiAgICAgIGNvbnN0IGlzVG9kYXkgPSBpc1RvZGF5TW9udGggJiYgdG9kYXkuZ2V0RGF0ZSgpID09PSBpO1xuICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHNlbGVjdGVkWWVhciA9PT0geWVhciAmJiBzZWxlY3RlZE1vbnRoID09PSBtb250aCAmJiBzZWxlY3RlZERheSA9PT0gaTtcbiAgICAgIGNvbnN0IGRpc2FibGVkID0gKChtaW5EYXRlICYmIGRhdGVWYWx1ZSA8IG1pbkRhdGUpIHx8IChtYXhEYXRlICYmIGRhdGVWYWx1ZSA+IG1heERhdGUpKSA/PyBmYWxzZTtcbiAgICAgIHRoaXMuZGF5cy5wdXNoKHsgZGF5OiBpLCB0b2RheTogaXNUb2RheSwgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsIGRpc2FibGVkOiBkaXNhYmxlZCB9KTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZU1vbnRocygpIHtcbiAgICB0aGlzLm1vbnRocyA9IFtdO1xuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpIDogbnVsbDtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlKSA6IG51bGw7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgIC8vIFVzYXIgbyBkaWEgMSBwYXJhIGV2aXRhciBwcm9ibGVtYXMgY29tIG1lc2VzIHF1ZSBuw6NvIHTDqm0gMzEgZGlhc1xuICAgICAgY29uc3QgZGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGksIDEpO1xuICAgICAgY29uc3QgaXNEaXNhYmxlZCA9ICgobWluRGF0ZSAmJiBkYXRlVmFsdWUgPCBtaW5EYXRlKSB8fCAobWF4RGF0ZSAmJiBkYXRlVmFsdWUgPiBtYXhEYXRlKSkgPz8gZmFsc2U7XG4gICAgICB0aGlzLm1vbnRocy5wdXNoKHsgdmFsdWU6IGksIHRleHQ6IGRhdGVWYWx1ZS50b0xvY2FsZVN0cmluZyh0aGlzLmxvY2FsZSwgeyBtb250aDogJ2xvbmcnIH0pLCBkaXNhYmxlZDogaXNEaXNhYmxlZCB9KTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZVllYXJzKCkge1xuICAgIHRoaXMueWVhcnMgPSBbXTtcbiAgICBjb25zdCBjdXJyZW50WWVhciA9IHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5tYXhEYXRlID8gbmV3IERhdGUodGhpcy5tYXhEYXRlKSA6IG51bGw7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkgOiBudWxsO1xuXG4gICAgZm9yIChsZXQgaSA9IGN1cnJlbnRZZWFyIC0gMTk7IGkgPD0gY3VycmVudFllYXIgKyAxMDsgaSsrKSB7XG4gICAgICBjb25zdCBpc0Rpc2FibGVkID0gKChtaW5EYXRlICYmIGkgPCBtaW5EYXRlLmdldEZ1bGxZZWFyKCkpIHx8IChtYXhEYXRlICYmIGkgPiBtYXhEYXRlLmdldEZ1bGxZZWFyKCkpKSA/PyBmYWxzZTtcbiAgICAgIHRoaXMueWVhcnMucHVzaCh7IHZhbHVlOiBpLCBkaXNhYmxlZDogaXNEaXNhYmxlZCB9KTtcbiAgICB9XG4gIH1cblxuICB2YWxpZERhdGUoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yZGVyID0gdGhpcy5kZXRlY3REYXRlT3JkZXIodGhpcy5sb2NhbGUpO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMuZGV0ZWN0RGF0ZVNlcGFyYXRvcih0aGlzLmZvcm1hdGVkRGF0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHRoaXMuZm9ybWF0ZWREYXRlLnNwbGl0KHNlcGFyYXRvcikubWFwKE51bWJlcik7XG5cbiAgICBsZXQgaXNWYWxpZCA9IGZhbHNlO1xuICAgIGxldCBkYXRlOiBEYXRlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMyAmJiAhcGFydHMuc29tZShpc05hTikpIHtcbiAgICAgIGNvbnN0IGRhdGVNYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgICAgIFtkYXRlTWFwW29yZGVyWzBdXSwgZGF0ZU1hcFtvcmRlclsxXV0sIGRhdGVNYXBbb3JkZXJbMl1dXSA9IHBhcnRzO1xuXG4gICAgICBjb25zdCB7IGRheSwgbW9udGgsIHllYXIgfSA9IGRhdGVNYXAgYXMgeyBkYXk6IG51bWJlcjsgbW9udGg6IG51bWJlcjsgeWVhcjogbnVtYmVyIH07XG5cbiAgICAgIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSk7XG5cbiAgICAgIGlzVmFsaWQgPSB0aGlzLnZhbGlkRGF0ZShkYXRlKSAmJiBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiYgZGF0ZS5nZXRNb250aCgpID09PSBtb250aCAtIDEgJiYgZGF0ZS5nZXREYXRlKCkgPT09IGRheTtcbiAgICB9XG5cbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5mb3JtYXRlZERhdGUpO1xuXG4gICAgaWYgKGlzVmFsaWQgJiYgZGF0ZSkge1xuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdCh0aGlzLmZvcm1hdGVkRGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XG4gICAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIodGhpcy5jdXJyZW50RGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW52YWxpZERhdGUuZW1pdCh0aGlzLmZvcm1hdGVkRGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3REYXRlT3JkZXIobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc2FtcGxlID0gbmV3IERhdGUoMjAyNSwgMTAsIDIzKTsgLy8gMjMvMTEvMjAyNVxuICAgIGNvbnN0IGZvcm1hdHRlZCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSkuZm9ybWF0KHNhbXBsZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IGZvcm1hdHRlZC5tYXRjaCgvXFxkKy9nKTtcbiAgICBpZiAoIXBhcnRzIHx8IHBhcnRzLmxlbmd0aCAhPT0gMykgcmV0dXJuIFsneWVhcicsICdtb250aCcsICdkYXknXTsgLy8gZmFsbGJhY2tcblxuICAgIGNvbnN0IG9yZGVyOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgICAgaWYgKHBhcnQgPT09ICcyMycpIG9yZGVyLnB1c2goJ2RheScpO1xuICAgICAgZWxzZSBpZiAocGFydCA9PT0gJzExJykgb3JkZXIucHVzaCgnbW9udGgnKTtcbiAgICAgIGVsc2UgaWYgKHBhcnQgPT09ICcyMDI1Jykgb3JkZXIucHVzaCgneWVhcicpO1xuICAgIH1cblxuICAgIHJldHVybiBvcmRlcjtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0RGF0ZVNlcGFyYXRvcihkYXRlU3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChkYXRlU3RyLmluY2x1ZGVzKCcvJykpIHJldHVybiAnLyc7XG4gICAgaWYgKGRhdGVTdHIuaW5jbHVkZXMoJy0nKSkgcmV0dXJuICctJztcbiAgICByZXR1cm4gJyc7IC8vIGZhbGxiYWNrXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIGNsaWNrT3V0c2lkZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKCF0YXJnZXQuY2xvc2VzdCgnLmRhdGUtcGlja2VyJykgJiYgIXRhcmdldC5jbG9zZXN0KCcubW9udGgtYm9keScpICYmICF0YXJnZXQuY2xvc2VzdCgnLnllYXItYm9keScpKSB7XG4gICAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlzUHJldmlvdXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMubWluRGF0ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG1pbkRhdGUgPSBuZXcgRGF0ZSh0aGlzLm1pbkRhdGUpO1xuICAgIHN3aXRjaCAodGhpcy5waWNrZXJWaWV3KSB7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbWluRGF0ZS5nZXRGdWxsWWVhcigpICYmIHRoaXMuY3VycmVudERhdGUuZ2V0TW9udGgoKSA9PT0gbWluRGF0ZS5nZXRNb250aCgpO1xuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpID09PSBtaW5EYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSAtIDMwIDwgbWluRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlzTmV4dERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5tYXhEYXRlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgbWF4RGF0ZSA9IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSk7XG4gICAgc3dpdGNoICh0aGlzLnBpY2tlclZpZXcpIHtcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpID09PSBtYXhEYXRlLmdldEZ1bGxZZWFyKCkgJiYgdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpID09PSBtYXhEYXRlLmdldE1vbnRoKCk7XG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgPT09IG1heERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpICsgMzAgPiBtYXhEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIiAjZGF0ZXBpY2tlcj5cbiAgPGRpdiBjbGFzcz1cImRpdi1jYWxlbmRhci1pY29uXCIgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IHRvZ2dsZUNhbGVuZGFyKCkgOiAnJ1wiPlxuICAgIDxsaWItZWx1eC1pY29uIGNsYXNzPVwiY2FsZW5kYXItaWNvblwiIFtpY29uXT1cIidDYWxlbmRhci5zdmcnXCIgW2NvbG9yXT1cIicjMDExRTQxJ1wiIFtzaXplXT1cIicyNCdcIiBbc2l6ZVR5cGVdPVwiJ3B4J1wiPjwvbGliLWVsdXgtaWNvbj5cbiAgPC9kaXY+XG4gIDxpbnB1dFxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdkYXRlLWlucHV0JzogdHJ1ZSxcbiAgICAgICduZy1pbnZhbGlkJzogaXNJbnZhbGlkLFxuICAgICAgJ25nLXRvdWNoZWQnOiBpc1RvdWNoZWQsXG4gICAgfVwiXG4gICAgW3ZhbHVlXT1cImZvcm1hdGVkRGF0ZVwiXG4gICAgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgW2lkXT1cImlkSW5wdXRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBtYXhsZW5ndGg9XCIxMFwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImNhbGVuZGFyXCIgKm5nSWY9XCJzaG93Q2FsZW5kYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJldmlvdXNcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlxuICAgICAgICA8bGliLWVsdXgtaWNvbiBbaGlkZGVuXT1cImlzUHJldmlvdXNEaXNhYmxlZCgpXCIgW2ljb25dPVwiJ0NoZXZyb25fTGVmdC5zdmcnXCIgW3NpemVdPVwiJzIyJ1wiIFtzaXplVHlwZV09XCIncHgnXCI+IDwvbGliLWVsdXgtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKGNsaWNrKT1cImNoYW5nZVZpZXcoKVwiPnt7IHBpY2tlclZpZXcgPT09ICd3ZWVrJyA/IGhlYWRlckRhdGUoKSA6IGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwibmV4dFwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgICAgPGxpYi1lbHV4LWljb24gW2hpZGRlbl09XCJpc05leHREaXNhYmxlZCgpXCIgW2ljb25dPVwiJ0NoZXZyb25fUmlnaHQuc3ZnJ1wiIFtzaXplXT1cIicyMidcIiBbc2l6ZVR5cGVdPVwiJ3B4J1wiPiA8L2xpYi1lbHV4LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiICpuZ0lmPVwicGlja2VyVmlldyA9PT0gJ3dlZWsnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF5LWxhYmVsc1wiPlxuICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgZGF5IG9mIGhlYWRlckRhdGVXZWVrKClcIj57eyBkYXkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXlcIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkYXkuZGlzYWJsZWQsIHRvZGF5OiBkYXkudG9kYXksIHNlbGVjdGVkOiBkYXkuc2VsZWN0ZWQgfVwiIChjbGljayk9XCJkYXkuZGlzYWJsZWQgPyBudWxsIDogc2VsZWN0RGF0ZShkYXkpXCI+XG4gICAgICAgICAgPHNwYW4+e3sgZGF5LmRheSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwieWVhci1ib2R5XCIgKm5nSWY9XCJwaWNrZXJWaWV3ID09PSAneWVhcidcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHllYXIgb2YgeWVhcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInllYXJcIiAqbmdJZj1cIiF5ZWFyLmRpc2FibGVkXCIgKGNsaWNrKT1cIiF5ZWFyLmRpc2FibGVkICYmIHNlbGVjdFllYXIoeWVhci52YWx1ZSlcIj5cbiAgICAgICAgICB7eyB5ZWFyLnZhbHVlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vbnRoLWJvZHlcIiAqbmdJZj1cInBpY2tlclZpZXcgPT09ICdtb250aCdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGhcIiAqbmdJZj1cIiFtb250aC5kaXNhYmxlZFwiIChjbGljayk9XCIhbW9udGguZGlzYWJsZWQgJiYgc2VsZWN0TW9udGgobW9udGgudmFsdWUpXCI+XG4gICAgICAgICAge3sgbW9udGgudGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './datepicker.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi91aS9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbiJdfQ==
|