@mozaic-ds/angular 0.27.0 → 0.28.0
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/adeo/components/checkbox/checkbox.component.d.ts +4 -3
- package/adeo/components/checkbox-group/checkbox-group.component.d.ts +11 -13
- package/adeo/components/file-uploader/file-uploader.component.d.ts +9 -12
- package/adeo/components/option-buttons/option-button/option-button.component.d.ts +3 -3
- package/adeo/components/option-buttons/option-buttons.component.d.ts +5 -10
- package/adeo/components/radio/radio.component.d.ts +12 -14
- package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +3 -3
- package/adeo/esm2020/components/checkbox/checkbox.component.mjs +8 -7
- package/adeo/esm2020/components/checkbox-group/checkbox-group.component.mjs +41 -62
- package/adeo/esm2020/components/datatable/moz-datatable.component.mjs +3 -3
- package/adeo/esm2020/components/dropdown/dropdown.component.mjs +3 -3
- package/adeo/esm2020/components/file-uploader/file-uploader.component.mjs +28 -52
- package/adeo/esm2020/components/option-buttons/option-button/option-button.component.mjs +12 -9
- package/adeo/esm2020/components/option-buttons/option-buttons.component.mjs +19 -38
- package/adeo/esm2020/components/radio/radio.component.mjs +32 -37
- package/adeo/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +1 -1
- package/adeo/esm2020/components/taglist/taglist.component.mjs +4 -3
- package/adeo/esm2020/components/taglist/taglist.module.mjs +2 -4
- package/adeo/fesm2015/mozaic-ds-angular.mjs +140 -219
- package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/adeo/fesm2020/mozaic-ds-angular.mjs +135 -203
- package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/adeo/package.json +1 -1
- package/bricoman/components/checkbox/checkbox.component.d.ts +4 -3
- package/bricoman/components/checkbox-group/checkbox-group.component.d.ts +11 -13
- package/bricoman/components/file-uploader/file-uploader.component.d.ts +9 -12
- package/bricoman/components/option-buttons/option-button/option-button.component.d.ts +3 -3
- package/bricoman/components/option-buttons/option-buttons.component.d.ts +5 -10
- package/bricoman/components/radio/radio.component.d.ts +12 -14
- package/bricoman/esm2020/components/autocomplete/autocomplete.component.mjs +3 -3
- package/bricoman/esm2020/components/checkbox/checkbox.component.mjs +8 -7
- package/bricoman/esm2020/components/checkbox-group/checkbox-group.component.mjs +41 -62
- package/bricoman/esm2020/components/datatable/moz-datatable.component.mjs +3 -3
- package/bricoman/esm2020/components/dropdown/dropdown.component.mjs +3 -3
- package/bricoman/esm2020/components/file-uploader/file-uploader.component.mjs +28 -52
- package/bricoman/esm2020/components/option-buttons/option-button/option-button.component.mjs +12 -9
- package/bricoman/esm2020/components/option-buttons/option-buttons.component.mjs +19 -38
- package/bricoman/esm2020/components/radio/radio.component.mjs +32 -37
- package/bricoman/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +1 -1
- package/bricoman/esm2020/components/taglist/taglist.component.mjs +4 -3
- package/bricoman/esm2020/components/taglist/taglist.module.mjs +2 -4
- package/bricoman/fesm2015/mozaic-ds-angular.mjs +140 -219
- package/bricoman/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/bricoman/fesm2020/mozaic-ds-angular.mjs +135 -203
- package/bricoman/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/bricoman/package.json +1 -1
- package/components/checkbox/checkbox.component.d.ts +4 -3
- package/components/checkbox-group/checkbox-group.component.d.ts +11 -13
- package/components/file-uploader/file-uploader.component.d.ts +9 -12
- package/components/option-buttons/option-button/option-button.component.d.ts +3 -3
- package/components/option-buttons/option-buttons.component.d.ts +5 -10
- package/components/radio/radio.component.d.ts +12 -14
- package/esm2020/components/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2020/components/checkbox/checkbox.component.mjs +8 -7
- package/esm2020/components/checkbox-group/checkbox-group.component.mjs +41 -62
- package/esm2020/components/datatable/moz-datatable.component.mjs +3 -3
- package/esm2020/components/dropdown/dropdown.component.mjs +3 -3
- package/esm2020/components/file-uploader/file-uploader.component.mjs +28 -52
- package/esm2020/components/option-buttons/option-button/option-button.component.mjs +12 -9
- package/esm2020/components/option-buttons/option-buttons.component.mjs +19 -38
- package/esm2020/components/radio/radio.component.mjs +32 -37
- package/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +1 -1
- package/esm2020/components/taglist/taglist.component.mjs +4 -3
- package/esm2020/components/taglist/taglist.module.mjs +2 -4
- package/fesm2015/mozaic-ds-angular.mjs +140 -219
- package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/fesm2020/mozaic-ds-angular.mjs +135 -203
- package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -130,10 +130,10 @@ export class MozDatatableComponent {
|
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
MozDatatableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MozDatatableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
-
MozDatatableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MozDatatableComponent, selector: "moz-datatable", inputs: { footerSettings: "footerSettings", selectionSettings: "selectionSettings", allowAllSelected: "allowAllSelected", datatableSettings: "datatableSettings", tableSummary: "tableSummary" }, outputs: { rowClick: "rowClick", sortColumn: "sortColumn", rowSelected: "rowSelected", rowAllSelected: "rowAllSelected", emptyBodyButtonClicked: "emptyBodyButtonClicked", pageChange: "pageChange", rowPerPageChange: "rowPerPageChange" }, queries: [{ propertyName: "expansionContentComponent", first: true, predicate: MozDatatableRowExpansionContentComponent, descendants: true }, { propertyName: "headerCellComponents", predicate: MozDatatableHeaderCellComponent }, { propertyName: "contentCellComponents", predicate: MozDatatableContentCellComponent }], viewQueries: [{ propertyName: "selectionComponent", first: true, predicate: MozDatatableSelectionComponent, descendants: true }, { propertyName: "thSelectionRef", first: true, predicate: ["thSelection"], descendants: true }, { propertyName: "thSubRowRef", first: true, predicate: ["thSubRow"], descendants: true }], ngImport: i0, template: "<div class=\"mc-datatable\" [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [allowAllSelected]=\"allowAllSelected\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div\n class=\"mc-datatable__container\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <div\n class=\"mc-datatable__main\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <table class=\"mc-datatable__table\" summary=\"{{ tableSummary }}\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr *ngIf=\"getColumns() && getColumns().length > 0\">\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection &&\n selectionComponent &&\n selectionSettings &&\n ((datatableSettings?.rowData || []).length > 0 || datatableSettings?.isLoading)\n \"\n id=\"checkAllPageRows\"\n #thSelection\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event);\n selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"\n (selectionSettings.allSelected && !selectionComponent.isIndeterminate) ||\n (!selectionSettings.allSelected &&\n !selectionComponent.isIndeterminate &&\n (this.selectionSettings.selectedIds || []).length > 0)\n \"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </ng-template>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"th-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingHeading\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n\n <ng-template #notLoadingHeading>\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"\n getCustomHeader(columnDef.field) as customHeader;\n else defaultHeaderCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngIf=\"\n (datatableSettings?.rowData?.length || 0) > 0 || datatableSettings?.isLoading;\n else emptyBody\n \"\n >\n <ng-container *ngFor=\"let row of getFields(); index as i\">\n <tr class=\"mc-datatable__row-parent\" (click)=\"rowClickEvent($event, row)\">\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n id=\"checkRow-{{ i }}\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"row-{{ i }}-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr>\n <td class=\"mc-datatable__empty--td\" [attr.colspan]=\"getColspanForExpansionRow()\">\n <div class=\"mc-datatable__empty\">\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n", styles: [".mc-datatable{font-family:Roboto,sans-serif;box-sizing:border-box}.mc-datatable *,.mc-datatable :after,.mc-datatable :before{box-sizing:inherit}.mc-datatable__container{border-radius:4px;box-shadow:0 1px 5px #19191933;background-color:#e7e7f0;overflow:hidden}.mc-datatable__main{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;overflow:auto}.mc-datatable__main::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable__main::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable__main::-webkit-scrollbar-thumb{background:#666666}.mc-datatable__table tr,.mc-datatable thead th,.mc-datatable thead td{height:2.9375rem}.mc-datatable__table{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%}.mc-datatable__table>thead,.mc-datatable__table>tbody{background-color:#fff}.mc-datatable__table th,.mc-datatable__table td{border-bottom:1px solid #b3b3b3;text-align:left;vertical-align:middle;padding-right:1rem;padding-left:1rem}.mc-datatable thead th,.mc-datatable thead td{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase}.mc-datatable__head small,.mc-datatable__cell small{font-size:.6815rem;line-height:1.2839325018;color:#4d4d4d;display:block;font-weight:400;text-transform:none}.mc-datatable tbody tr.selected{background-color:#d9f0f3}.mc-datatable tbody th,.mc-datatable tbody td{font-size:.875rem;line-height:1.2857142857;color:#191919}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable{height:0}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable .mc-datatable__row-inner{overflow:hidden;max-height:0}.mc-datatable__row-parent.mc-datatable__row-parent--expanded+.mc-datatable__row-expandable .mc-datatable__row-inner{max-height:100%}.mc-datatable__row-expandable>td{padding:0;border-bottom:0}.mc-datatable__row-expandable--offset-1 table th:first-child,.mc-datatable__row-expandable--offset-1 table td:first-child{padding-left:4.25rem}.mc-datatable__row-expandable--offset-2 table th:first-child,.mc-datatable__row-expandable--offset-2 table td:first-child{padding-left:7.75rem}.mc-datatable__cell-checkbox{width:3.25rem}.mc-datatable__cell-button{width:3.5rem}.mc-datatable__cell-field{min-width:9.375rem}td.mc-datatable__cell-number{text-align:right}.mc-datatable--s .mc-datatable__table tr,.mc-datatable--s .mc-datatable thead th,.mc-datatable--s .mc-datatable thead td{height:2.4375rem}.mc-datatable--l .mc-datatable__table tr,.mc-datatable--l .mc-datatable thead th,.mc-datatable--l .mc-datatable thead td{height:3.4375rem}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky-header .mc-datatable__table>thead{box-shadow:0 4px 20px #19191933;top:0;z-index:3}.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child td,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child td{border-bottom:transparent}.mc-datatable--sticky .mc-datatable__footer,.mc-datatable--sticky-header .mc-datatable__footer{border-top:1px solid #b3b3b3;position:relative;z-index:3}.mc-datatable--sticky .mc-datatable__main{padding-top:2.9375rem;transform:translateZ(0)}.mc-datatable--sticky .mc-datatable__table{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;display:block;overflow-y:auto}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-thumb{background:#666666}.mc-datatable--sticky .mc-datatable__table>thead{position:fixed;width:100%}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr,.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{display:flex}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr{width:100%}.mc-datatable--sticky .mc-datatable__table>tbody{flex-direction:column}.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{align-items:center}.mc-datatable--sticky .mc-datatable__table>thead th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>thead td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button){flex:1}.mc-datatable--sticky .mc-datatable__cell-checkbox,.mc-datatable--sticky .mc-datatable__cell-button,.mc-datatable--sticky .mc-datatable__cell-field,.mc-datatable--sticky .mc-datatable__cell-number{flex-shrink:0}.mc-datatable--sticky .mc-datatable__cell-number{justify-content:flex-end}.mc-datatable--sticky-header .mc-datatable__main{overflow-y:auto}.mc-datatable--sticky-header .mc-datatable__table>thead{position:sticky}.mc-datatable--overflow-visible .mc-datatable__container,.mc-datatable--overflow-visible .mc-datatable__main{overflow:visible}.mc-datatable__btn{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;display:flex}.mc-datatable__btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__btn-icon{fill:#007f8c}.mc-datatable__btn-icon,.mc-datatable__btn svg{width:1.5rem;height:1.5rem}.mc-datatable__sort{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase;align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.mc-datatable__sort-arrow{align-items:center;display:flex;flex-direction:column;height:1.5rem;justify-content:space-around;margin-left:.5rem;width:1.5rem}.mc-datatable__sort-arrow:after,.mc-datatable__sort-arrow:before{background-color:#cdd4d8;content:\"\";flex-shrink:0;height:.5rem;width:.75rem}.mc-datatable__sort-arrow:before{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.asc .mc-datatable__sort-arrow:before{background-color:#605f9d}.desc .mc-datatable__sort-arrow:before{display:none}.mc-datatable__sort-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%)}.asc .mc-datatable__sort-arrow:after{display:none}.desc .mc-datatable__sort-arrow:after{background-color:#605f9d}.mc-datatable__options{width:1.5rem;height:1.5rem}.mc-datatable .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__topbar,.mc-datatable__filters{padding-bottom:1rem}.mc-datatable__topbar{justify-content:space-between}.mc-datatable__topbar,.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{display:flex;gap:1rem}.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{flex-wrap:wrap}.mc-datatable__topbar-edition{flex-shrink:0}.mc-datatable__topbar-actions{align-items:center;justify-content:flex-end;margin-left:auto}.mc-datatable__filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.mc-datatable__filters:not(:only-child){border-top:1px solid #b0bbc0;padding-top:1rem}.mc-datatable__footer{align-items:center;background-color:#fff;display:flex;padding:.75rem 1rem;gap:1rem}@media screen and (max-width: 679px){.mc-datatable__footer{flex-direction:column}}.mc-datatable__select{display:flex;align-items:center;gap:.5rem}.mc-datatable__select-label{font-size:.875rem;line-height:1.2857142857;color:#333;flex-shrink:0}.mc-datatable__count{font-size:.75rem;line-height:1.3333333333;color:#666}.mc-datatable__pagination{margin-left:auto}.mc-datatable__subtable{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%;background-color:#e7e7f0}.mc-datatable__subtable th,.mc-datatable__subtable td{border-bottom-color:#a4a3c7}.mc-datatable__subtable thead th,.mc-datatable__subtable thead td{font-size:.75rem;line-height:1.3333333333;color:#1a1a4b}.mc-datatable__subtable tbody th,.mc-datatable__subtable tbody td{color:#1a1a4b}.mc-datatable__empty{font-size:1rem;line-height:1.375;align-items:center;background-color:#e7e7f0;color:#4b4a8c;display:flex;flex-direction:column;gap:1rem;height:18.1875rem;justify-content:center;text-align:center}.mc-datatable__empty p{margin:0 auto}.mc-datatable__empty strong{font-size:1.125rem;line-height:1.3333333333}.mc-datatable__empty--td{padding:0!important}.fix-header-row{position:sticky;top:0;box-shadow:0 1px 5px #22202033;z-index:1}.header{align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.is-sorted-asc:before{background-color:var(--color-datatable-sort-arrow-active, #333333)}.is-sorted-desc:after{background-color:var(--color-datatable-sort-arrow-active, #333333)}.mc-datatable-height{height:100%}.mc-datatable__sort-arrow{cursor:pointer}.mc-datatable__fix-first-column{position:sticky;background-color:#fff;left:0}.skeleton-box{display:inline-block;position:relative;overflow:hidden;background-color:#ccc}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.checkbox-loading{width:25px;height:25px}.cells-loading{width:250px;height:25px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[moz-button]", inputs: ["iconPosition", "onlyIcon", "theme", "variation", "widthBehavior", "size"] }, { kind: "component", type: i4.CheckboxComponent, selector: "moz-checkbox", inputs: ["disabled", "indeterminate", "invalid", "id", "checked"] }, { kind: "component", type: i5.IconComponent, selector: "moz-icon", inputs: ["iconName", "size"] }, { kind: "component", type: i6.MozDatatableFooterComponent, selector: "moz-datatable-footer", inputs: ["footerSettings", "isLoading"], outputs: ["rowPerPageChangeEmitter", "pageChangeEmitter"] }, { kind: "component", type: i7.MozDatatableSelectionComponent, selector: "moz-datatable-selection", inputs: ["selectionSettings", "paginationEnabled", "allowAllSelected", "rowData"], outputs: ["updateSelectionAllEmitter"] }, { kind: "directive", type: i8.MozDatatableSortDirective, selector: "[mozDatatableSort]", inputs: ["mozDatatableSort"], outputs: ["sortEmitter"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }], encapsulation: i0.ViewEncapsulation.None });
|
|
133
|
+
MozDatatableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MozDatatableComponent, selector: "moz-datatable", inputs: { footerSettings: "footerSettings", selectionSettings: "selectionSettings", allowAllSelected: "allowAllSelected", datatableSettings: "datatableSettings", tableSummary: "tableSummary" }, outputs: { rowClick: "rowClick", sortColumn: "sortColumn", rowSelected: "rowSelected", rowAllSelected: "rowAllSelected", emptyBodyButtonClicked: "emptyBodyButtonClicked", pageChange: "pageChange", rowPerPageChange: "rowPerPageChange" }, queries: [{ propertyName: "expansionContentComponent", first: true, predicate: MozDatatableRowExpansionContentComponent, descendants: true }, { propertyName: "headerCellComponents", predicate: MozDatatableHeaderCellComponent }, { propertyName: "contentCellComponents", predicate: MozDatatableContentCellComponent }], viewQueries: [{ propertyName: "selectionComponent", first: true, predicate: MozDatatableSelectionComponent, descendants: true }, { propertyName: "thSelectionRef", first: true, predicate: ["thSelection"], descendants: true }, { propertyName: "thSubRowRef", first: true, predicate: ["thSubRow"], descendants: true }], ngImport: i0, template: "<div class=\"mc-datatable\" [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [allowAllSelected]=\"allowAllSelected\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div\n class=\"mc-datatable__container\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <div\n class=\"mc-datatable__main\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <table class=\"mc-datatable__table\" summary=\"{{ tableSummary }}\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr *ngIf=\"getColumns() && getColumns().length > 0\">\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection &&\n selectionComponent &&\n selectionSettings &&\n ((datatableSettings?.rowData || []).length > 0 || datatableSettings?.isLoading)\n \"\n id=\"checkAllPageRows\"\n #thSelection\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event);\n selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"\n (selectionSettings.allSelected && !selectionComponent.isIndeterminate) ||\n (!selectionSettings.allSelected &&\n !selectionComponent.isIndeterminate &&\n (this.selectionSettings.selectedIds || []).length > 0)\n \"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </ng-template>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"th-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingHeading\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n\n <ng-template #notLoadingHeading>\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"\n getCustomHeader(columnDef.field) as customHeader;\n else defaultHeaderCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngIf=\"\n (datatableSettings?.rowData?.length || 0) > 0 || datatableSettings?.isLoading;\n else emptyBody\n \"\n >\n <ng-container *ngFor=\"let row of getFields(); index as i\">\n <tr\n class=\"mc-datatable__row-parent\"\n (click)=\"rowClickEvent($event, row)\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n id=\"checkRow-{{ i }}\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"row-{{ i }}-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr>\n <td class=\"mc-datatable__empty--td\" [attr.colspan]=\"getColspanForExpansionRow()\">\n <div class=\"mc-datatable__empty\">\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n", styles: [".mc-datatable{font-family:Roboto,sans-serif;box-sizing:border-box}.mc-datatable *,.mc-datatable :after,.mc-datatable :before{box-sizing:inherit}.mc-datatable__container{border-radius:4px;box-shadow:0 1px 5px #19191933;background-color:#e7e7f0;overflow:hidden}.mc-datatable__main{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;overflow:auto}.mc-datatable__main::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable__main::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable__main::-webkit-scrollbar-thumb{background:#666666}.mc-datatable__table tr,.mc-datatable thead th,.mc-datatable thead td{height:2.9375rem}.mc-datatable__table{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%}.mc-datatable__table>thead,.mc-datatable__table>tbody{background-color:#fff}.mc-datatable__table th,.mc-datatable__table td{border-bottom:1px solid #b3b3b3;text-align:left;vertical-align:middle;padding-right:1rem;padding-left:1rem}.mc-datatable thead th,.mc-datatable thead td{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase}.mc-datatable__head small,.mc-datatable__cell small{font-size:.6815rem;line-height:1.2839325018;color:#4d4d4d;display:block;font-weight:400;text-transform:none}.mc-datatable tbody tr.selected{background-color:#d9f0f3}.mc-datatable tbody th,.mc-datatable tbody td{font-size:.875rem;line-height:1.2857142857;color:#191919}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable{height:0}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable .mc-datatable__row-inner{overflow:hidden;max-height:0}.mc-datatable__row-parent.mc-datatable__row-parent--expanded+.mc-datatable__row-expandable .mc-datatable__row-inner{max-height:100%}.mc-datatable__row-expandable>td{padding:0;border-bottom:0}.mc-datatable__row-expandable--offset-1 table th:first-child,.mc-datatable__row-expandable--offset-1 table td:first-child{padding-left:4.25rem}.mc-datatable__row-expandable--offset-2 table th:first-child,.mc-datatable__row-expandable--offset-2 table td:first-child{padding-left:7.75rem}.mc-datatable__cell-checkbox{width:3.25rem}.mc-datatable__cell-button{width:3.5rem}.mc-datatable__cell-field{min-width:9.375rem}td.mc-datatable__cell-number{text-align:right}.mc-datatable--s .mc-datatable__table tr,.mc-datatable--s .mc-datatable thead th,.mc-datatable--s .mc-datatable thead td{height:2.4375rem}.mc-datatable--l .mc-datatable__table tr,.mc-datatable--l .mc-datatable thead th,.mc-datatable--l .mc-datatable thead td{height:3.4375rem}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky-header .mc-datatable__table>thead{box-shadow:0 4px 20px #19191933;top:0;z-index:3}.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child td,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child td{border-bottom:transparent}.mc-datatable--sticky .mc-datatable__footer,.mc-datatable--sticky-header .mc-datatable__footer{border-top:1px solid #b3b3b3;position:relative;z-index:3}.mc-datatable--sticky .mc-datatable__main{padding-top:2.9375rem;transform:translateZ(0)}.mc-datatable--sticky .mc-datatable__table{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;display:block;overflow-y:auto}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-thumb{background:#666666}.mc-datatable--sticky .mc-datatable__table>thead{position:fixed;width:100%}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr,.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{display:flex}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr{width:100%}.mc-datatable--sticky .mc-datatable__table>tbody{flex-direction:column}.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{align-items:center}.mc-datatable--sticky .mc-datatable__table>thead th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>thead td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button){flex:1}.mc-datatable--sticky .mc-datatable__cell-checkbox,.mc-datatable--sticky .mc-datatable__cell-button,.mc-datatable--sticky .mc-datatable__cell-field,.mc-datatable--sticky .mc-datatable__cell-number{flex-shrink:0}.mc-datatable--sticky .mc-datatable__cell-number{justify-content:flex-end}.mc-datatable--sticky-header .mc-datatable__main{overflow-y:auto}.mc-datatable--sticky-header .mc-datatable__table>thead{position:sticky}.mc-datatable--overflow-visible .mc-datatable__container,.mc-datatable--overflow-visible .mc-datatable__main{overflow:visible}.mc-datatable__btn{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;display:flex}.mc-datatable__btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__btn-icon{fill:#007f8c}.mc-datatable__btn-icon,.mc-datatable__btn svg{width:1.5rem;height:1.5rem}.mc-datatable__sort{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase;align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.mc-datatable__sort-arrow{align-items:center;display:flex;flex-direction:column;height:1.5rem;justify-content:space-around;margin-left:.5rem;width:1.5rem}.mc-datatable__sort-arrow:after,.mc-datatable__sort-arrow:before{background-color:#cdd4d8;content:\"\";flex-shrink:0;height:.5rem;width:.75rem}.mc-datatable__sort-arrow:before{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.asc .mc-datatable__sort-arrow:before{background-color:#605f9d}.desc .mc-datatable__sort-arrow:before{display:none}.mc-datatable__sort-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%)}.asc .mc-datatable__sort-arrow:after{display:none}.desc .mc-datatable__sort-arrow:after{background-color:#605f9d}.mc-datatable__options{width:1.5rem;height:1.5rem}.mc-datatable .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__topbar,.mc-datatable__filters{padding-bottom:1rem}.mc-datatable__topbar{justify-content:space-between}.mc-datatable__topbar,.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{display:flex;gap:1rem}.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{flex-wrap:wrap}.mc-datatable__topbar-edition{flex-shrink:0}.mc-datatable__topbar-actions{align-items:center;justify-content:flex-end;margin-left:auto}.mc-datatable__filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.mc-datatable__filters:not(:only-child){border-top:1px solid #b0bbc0;padding-top:1rem}.mc-datatable__footer{align-items:center;background-color:#fff;display:flex;padding:.75rem 1rem;gap:1rem}@media screen and (max-width: 679px){.mc-datatable__footer{flex-direction:column}}.mc-datatable__select{display:flex;align-items:center;gap:.5rem}.mc-datatable__select-label{font-size:.875rem;line-height:1.2857142857;color:#333;flex-shrink:0}.mc-datatable__count{font-size:.75rem;line-height:1.3333333333;color:#666}.mc-datatable__pagination{margin-left:auto}.mc-datatable__subtable{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%;background-color:#e7e7f0}.mc-datatable__subtable th,.mc-datatable__subtable td{border-bottom-color:#a4a3c7}.mc-datatable__subtable thead th,.mc-datatable__subtable thead td{font-size:.75rem;line-height:1.3333333333;color:#1a1a4b}.mc-datatable__subtable tbody th,.mc-datatable__subtable tbody td{color:#1a1a4b}.mc-datatable__empty{font-size:1rem;line-height:1.375;align-items:center;background-color:#e7e7f0;color:#4b4a8c;display:flex;flex-direction:column;gap:1rem;height:18.1875rem;justify-content:center;text-align:center}.mc-datatable__empty p{margin:0 auto}.mc-datatable__empty strong{font-size:1.125rem;line-height:1.3333333333}.mc-datatable__empty--td{padding:0!important}.fix-header-row{position:sticky;top:0;box-shadow:0 1px 5px #22202033;z-index:1}.header{align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.is-sorted-asc:before{background-color:var(--color-datatable-sort-arrow-active, #333333)}.is-sorted-desc:after{background-color:var(--color-datatable-sort-arrow-active, #333333)}.mc-datatable-height{height:100%}.mc-datatable__sort-arrow{cursor:pointer}.mc-datatable__fix-first-column{position:sticky;background-color:#fff;left:0}td.selected{background-color:#d9f0f3}tr:hover td{background-color:#eaedef}.skeleton-box{display:inline-block;position:relative;overflow:hidden;background-color:#ccc}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.checkbox-loading{width:25px;height:25px}.cells-loading{width:250px;height:25px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[moz-button]", inputs: ["iconPosition", "onlyIcon", "theme", "variation", "widthBehavior", "size"] }, { kind: "component", type: i4.CheckboxComponent, selector: "moz-checkbox", inputs: ["disabled", "indeterminate", "invalid", "id", "checked"] }, { kind: "component", type: i5.IconComponent, selector: "moz-icon", inputs: ["iconName", "size"] }, { kind: "component", type: i6.MozDatatableFooterComponent, selector: "moz-datatable-footer", inputs: ["footerSettings", "isLoading"], outputs: ["rowPerPageChangeEmitter", "pageChangeEmitter"] }, { kind: "component", type: i7.MozDatatableSelectionComponent, selector: "moz-datatable-selection", inputs: ["selectionSettings", "paginationEnabled", "allowAllSelected", "rowData"], outputs: ["updateSelectionAllEmitter"] }, { kind: "directive", type: i8.MozDatatableSortDirective, selector: "[mozDatatableSort]", inputs: ["mozDatatableSort"], outputs: ["sortEmitter"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }], encapsulation: i0.ViewEncapsulation.None });
|
|
134
134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MozDatatableComponent, decorators: [{
|
|
135
135
|
type: Component,
|
|
136
|
-
args: [{ selector: 'moz-datatable', encapsulation: ViewEncapsulation.None, template: "<div class=\"mc-datatable\" [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [allowAllSelected]=\"allowAllSelected\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div\n class=\"mc-datatable__container\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <div\n class=\"mc-datatable__main\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <table class=\"mc-datatable__table\" summary=\"{{ tableSummary }}\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr *ngIf=\"getColumns() && getColumns().length > 0\">\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection &&\n selectionComponent &&\n selectionSettings &&\n ((datatableSettings?.rowData || []).length > 0 || datatableSettings?.isLoading)\n \"\n id=\"checkAllPageRows\"\n #thSelection\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event);\n selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"\n (selectionSettings.allSelected && !selectionComponent.isIndeterminate) ||\n (!selectionSettings.allSelected &&\n !selectionComponent.isIndeterminate &&\n (this.selectionSettings.selectedIds || []).length > 0)\n \"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </ng-template>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"th-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingHeading\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n\n <ng-template #notLoadingHeading>\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"\n getCustomHeader(columnDef.field) as customHeader;\n else defaultHeaderCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngIf=\"\n (datatableSettings?.rowData?.length || 0) > 0 || datatableSettings?.isLoading;\n else emptyBody\n \"\n >\n <ng-container *ngFor=\"let row of getFields(); index as i\">\n <tr class=\"mc-datatable__row-parent\" (click)=\"rowClickEvent($event, row)\">\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n id=\"checkRow-{{ i }}\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"row-{{ i }}-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr>\n <td class=\"mc-datatable__empty--td\" [attr.colspan]=\"getColspanForExpansionRow()\">\n <div class=\"mc-datatable__empty\">\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n", styles: [".mc-datatable{font-family:Roboto,sans-serif;box-sizing:border-box}.mc-datatable *,.mc-datatable :after,.mc-datatable :before{box-sizing:inherit}.mc-datatable__container{border-radius:4px;box-shadow:0 1px 5px #19191933;background-color:#e7e7f0;overflow:hidden}.mc-datatable__main{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;overflow:auto}.mc-datatable__main::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable__main::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable__main::-webkit-scrollbar-thumb{background:#666666}.mc-datatable__table tr,.mc-datatable thead th,.mc-datatable thead td{height:2.9375rem}.mc-datatable__table{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%}.mc-datatable__table>thead,.mc-datatable__table>tbody{background-color:#fff}.mc-datatable__table th,.mc-datatable__table td{border-bottom:1px solid #b3b3b3;text-align:left;vertical-align:middle;padding-right:1rem;padding-left:1rem}.mc-datatable thead th,.mc-datatable thead td{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase}.mc-datatable__head small,.mc-datatable__cell small{font-size:.6815rem;line-height:1.2839325018;color:#4d4d4d;display:block;font-weight:400;text-transform:none}.mc-datatable tbody tr.selected{background-color:#d9f0f3}.mc-datatable tbody th,.mc-datatable tbody td{font-size:.875rem;line-height:1.2857142857;color:#191919}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable{height:0}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable .mc-datatable__row-inner{overflow:hidden;max-height:0}.mc-datatable__row-parent.mc-datatable__row-parent--expanded+.mc-datatable__row-expandable .mc-datatable__row-inner{max-height:100%}.mc-datatable__row-expandable>td{padding:0;border-bottom:0}.mc-datatable__row-expandable--offset-1 table th:first-child,.mc-datatable__row-expandable--offset-1 table td:first-child{padding-left:4.25rem}.mc-datatable__row-expandable--offset-2 table th:first-child,.mc-datatable__row-expandable--offset-2 table td:first-child{padding-left:7.75rem}.mc-datatable__cell-checkbox{width:3.25rem}.mc-datatable__cell-button{width:3.5rem}.mc-datatable__cell-field{min-width:9.375rem}td.mc-datatable__cell-number{text-align:right}.mc-datatable--s .mc-datatable__table tr,.mc-datatable--s .mc-datatable thead th,.mc-datatable--s .mc-datatable thead td{height:2.4375rem}.mc-datatable--l .mc-datatable__table tr,.mc-datatable--l .mc-datatable thead th,.mc-datatable--l .mc-datatable thead td{height:3.4375rem}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky-header .mc-datatable__table>thead{box-shadow:0 4px 20px #19191933;top:0;z-index:3}.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child td,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child td{border-bottom:transparent}.mc-datatable--sticky .mc-datatable__footer,.mc-datatable--sticky-header .mc-datatable__footer{border-top:1px solid #b3b3b3;position:relative;z-index:3}.mc-datatable--sticky .mc-datatable__main{padding-top:2.9375rem;transform:translateZ(0)}.mc-datatable--sticky .mc-datatable__table{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;display:block;overflow-y:auto}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-thumb{background:#666666}.mc-datatable--sticky .mc-datatable__table>thead{position:fixed;width:100%}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr,.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{display:flex}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr{width:100%}.mc-datatable--sticky .mc-datatable__table>tbody{flex-direction:column}.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{align-items:center}.mc-datatable--sticky .mc-datatable__table>thead th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>thead td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button){flex:1}.mc-datatable--sticky .mc-datatable__cell-checkbox,.mc-datatable--sticky .mc-datatable__cell-button,.mc-datatable--sticky .mc-datatable__cell-field,.mc-datatable--sticky .mc-datatable__cell-number{flex-shrink:0}.mc-datatable--sticky .mc-datatable__cell-number{justify-content:flex-end}.mc-datatable--sticky-header .mc-datatable__main{overflow-y:auto}.mc-datatable--sticky-header .mc-datatable__table>thead{position:sticky}.mc-datatable--overflow-visible .mc-datatable__container,.mc-datatable--overflow-visible .mc-datatable__main{overflow:visible}.mc-datatable__btn{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;display:flex}.mc-datatable__btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__btn-icon{fill:#007f8c}.mc-datatable__btn-icon,.mc-datatable__btn svg{width:1.5rem;height:1.5rem}.mc-datatable__sort{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase;align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.mc-datatable__sort-arrow{align-items:center;display:flex;flex-direction:column;height:1.5rem;justify-content:space-around;margin-left:.5rem;width:1.5rem}.mc-datatable__sort-arrow:after,.mc-datatable__sort-arrow:before{background-color:#cdd4d8;content:\"\";flex-shrink:0;height:.5rem;width:.75rem}.mc-datatable__sort-arrow:before{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.asc .mc-datatable__sort-arrow:before{background-color:#605f9d}.desc .mc-datatable__sort-arrow:before{display:none}.mc-datatable__sort-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%)}.asc .mc-datatable__sort-arrow:after{display:none}.desc .mc-datatable__sort-arrow:after{background-color:#605f9d}.mc-datatable__options{width:1.5rem;height:1.5rem}.mc-datatable .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__topbar,.mc-datatable__filters{padding-bottom:1rem}.mc-datatable__topbar{justify-content:space-between}.mc-datatable__topbar,.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{display:flex;gap:1rem}.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{flex-wrap:wrap}.mc-datatable__topbar-edition{flex-shrink:0}.mc-datatable__topbar-actions{align-items:center;justify-content:flex-end;margin-left:auto}.mc-datatable__filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.mc-datatable__filters:not(:only-child){border-top:1px solid #b0bbc0;padding-top:1rem}.mc-datatable__footer{align-items:center;background-color:#fff;display:flex;padding:.75rem 1rem;gap:1rem}@media screen and (max-width: 679px){.mc-datatable__footer{flex-direction:column}}.mc-datatable__select{display:flex;align-items:center;gap:.5rem}.mc-datatable__select-label{font-size:.875rem;line-height:1.2857142857;color:#333;flex-shrink:0}.mc-datatable__count{font-size:.75rem;line-height:1.3333333333;color:#666}.mc-datatable__pagination{margin-left:auto}.mc-datatable__subtable{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%;background-color:#e7e7f0}.mc-datatable__subtable th,.mc-datatable__subtable td{border-bottom-color:#a4a3c7}.mc-datatable__subtable thead th,.mc-datatable__subtable thead td{font-size:.75rem;line-height:1.3333333333;color:#1a1a4b}.mc-datatable__subtable tbody th,.mc-datatable__subtable tbody td{color:#1a1a4b}.mc-datatable__empty{font-size:1rem;line-height:1.375;align-items:center;background-color:#e7e7f0;color:#4b4a8c;display:flex;flex-direction:column;gap:1rem;height:18.1875rem;justify-content:center;text-align:center}.mc-datatable__empty p{margin:0 auto}.mc-datatable__empty strong{font-size:1.125rem;line-height:1.3333333333}.mc-datatable__empty--td{padding:0!important}.fix-header-row{position:sticky;top:0;box-shadow:0 1px 5px #22202033;z-index:1}.header{align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.is-sorted-asc:before{background-color:var(--color-datatable-sort-arrow-active, #333333)}.is-sorted-desc:after{background-color:var(--color-datatable-sort-arrow-active, #333333)}.mc-datatable-height{height:100%}.mc-datatable__sort-arrow{cursor:pointer}.mc-datatable__fix-first-column{position:sticky;background-color:#fff;left:0}.skeleton-box{display:inline-block;position:relative;overflow:hidden;background-color:#ccc}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.checkbox-loading{width:25px;height:25px}.cells-loading{width:250px;height:25px}\n"] }]
|
|
136
|
+
args: [{ selector: 'moz-datatable', encapsulation: ViewEncapsulation.None, template: "<div class=\"mc-datatable\" [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [allowAllSelected]=\"allowAllSelected\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div\n class=\"mc-datatable__container\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <div\n class=\"mc-datatable__main\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <table class=\"mc-datatable__table\" summary=\"{{ tableSummary }}\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr *ngIf=\"getColumns() && getColumns().length > 0\">\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection &&\n selectionComponent &&\n selectionSettings &&\n ((datatableSettings?.rowData || []).length > 0 || datatableSettings?.isLoading)\n \"\n id=\"checkAllPageRows\"\n #thSelection\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event);\n selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"\n (selectionSettings.allSelected && !selectionComponent.isIndeterminate) ||\n (!selectionSettings.allSelected &&\n !selectionComponent.isIndeterminate &&\n (this.selectionSettings.selectedIds || []).length > 0)\n \"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </ng-template>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"th-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingHeading\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n\n <ng-template #notLoadingHeading>\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"\n getCustomHeader(columnDef.field) as customHeader;\n else defaultHeaderCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngIf=\"\n (datatableSettings?.rowData?.length || 0) > 0 || datatableSettings?.isLoading;\n else emptyBody\n \"\n >\n <ng-container *ngFor=\"let row of getFields(); index as i\">\n <tr\n class=\"mc-datatable__row-parent\"\n (click)=\"rowClickEvent($event, row)\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n id=\"checkRow-{{ i }}\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"row-{{ i }}-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr>\n <td class=\"mc-datatable__empty--td\" [attr.colspan]=\"getColspanForExpansionRow()\">\n <div class=\"mc-datatable__empty\">\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n", styles: [".mc-datatable{font-family:Roboto,sans-serif;box-sizing:border-box}.mc-datatable *,.mc-datatable :after,.mc-datatable :before{box-sizing:inherit}.mc-datatable__container{border-radius:4px;box-shadow:0 1px 5px #19191933;background-color:#e7e7f0;overflow:hidden}.mc-datatable__main{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;overflow:auto}.mc-datatable__main::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable__main::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable__main::-webkit-scrollbar-thumb{background:#666666}.mc-datatable__table tr,.mc-datatable thead th,.mc-datatable thead td{height:2.9375rem}.mc-datatable__table{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%}.mc-datatable__table>thead,.mc-datatable__table>tbody{background-color:#fff}.mc-datatable__table th,.mc-datatable__table td{border-bottom:1px solid #b3b3b3;text-align:left;vertical-align:middle;padding-right:1rem;padding-left:1rem}.mc-datatable thead th,.mc-datatable thead td{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase}.mc-datatable__head small,.mc-datatable__cell small{font-size:.6815rem;line-height:1.2839325018;color:#4d4d4d;display:block;font-weight:400;text-transform:none}.mc-datatable tbody tr.selected{background-color:#d9f0f3}.mc-datatable tbody th,.mc-datatable tbody td{font-size:.875rem;line-height:1.2857142857;color:#191919}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable{height:0}.mc-datatable__row-parent:not(.mc-datatable__row-parent--expanded)+.mc-datatable__row-expandable .mc-datatable__row-inner{overflow:hidden;max-height:0}.mc-datatable__row-parent.mc-datatable__row-parent--expanded+.mc-datatable__row-expandable .mc-datatable__row-inner{max-height:100%}.mc-datatable__row-expandable>td{padding:0;border-bottom:0}.mc-datatable__row-expandable--offset-1 table th:first-child,.mc-datatable__row-expandable--offset-1 table td:first-child{padding-left:4.25rem}.mc-datatable__row-expandable--offset-2 table th:first-child,.mc-datatable__row-expandable--offset-2 table td:first-child{padding-left:7.75rem}.mc-datatable__cell-checkbox{width:3.25rem}.mc-datatable__cell-button{width:3.5rem}.mc-datatable__cell-field{min-width:9.375rem}td.mc-datatable__cell-number{text-align:right}.mc-datatable--s .mc-datatable__table tr,.mc-datatable--s .mc-datatable thead th,.mc-datatable--s .mc-datatable thead td{height:2.4375rem}.mc-datatable--l .mc-datatable__table tr,.mc-datatable--l .mc-datatable thead th,.mc-datatable--l .mc-datatable thead td{height:3.4375rem}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky-header .mc-datatable__table>thead{box-shadow:0 4px 20px #19191933;top:0;z-index:3}.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky .mc-datatable__table>tbody>tr:last-child td,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child th,.mc-datatable--sticky-header .mc-datatable__table>tbody>tr:last-child td{border-bottom:transparent}.mc-datatable--sticky .mc-datatable__footer,.mc-datatable--sticky-header .mc-datatable__footer{border-top:1px solid #b3b3b3;position:relative;z-index:3}.mc-datatable--sticky .mc-datatable__main{padding-top:2.9375rem;transform:translateZ(0)}.mc-datatable--sticky .mc-datatable__table{scrollbar-color:#666666 #e6e6e6;scrollbar-width:thin;display:block;overflow-y:auto}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar{background-color:#e6e6e6;height:.5rem;width:.5rem}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-track{background:#e6e6e6}.mc-datatable--sticky .mc-datatable__table::-webkit-scrollbar-thumb{background:#666666}.mc-datatable--sticky .mc-datatable__table>thead{position:fixed;width:100%}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr,.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{display:flex}.mc-datatable--sticky .mc-datatable__table>thead,.mc-datatable--sticky .mc-datatable__table>tbody,.mc-datatable--sticky .mc-datatable__table>thead tr,.mc-datatable--sticky .mc-datatable__table>tbody tr{width:100%}.mc-datatable--sticky .mc-datatable__table>tbody{flex-direction:column}.mc-datatable--sticky .mc-datatable__table>thead th,.mc-datatable--sticky .mc-datatable__table>thead td,.mc-datatable--sticky .mc-datatable__table>tbody th,.mc-datatable--sticky .mc-datatable__table>tbody td{align-items:center}.mc-datatable--sticky .mc-datatable__table>thead th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>thead td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody th:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button),.mc-datatable--sticky .mc-datatable__table>tbody td:not(.mc-datatable__cell-checkbox):not(.mc-datatable__cell-button){flex:1}.mc-datatable--sticky .mc-datatable__cell-checkbox,.mc-datatable--sticky .mc-datatable__cell-button,.mc-datatable--sticky .mc-datatable__cell-field,.mc-datatable--sticky .mc-datatable__cell-number{flex-shrink:0}.mc-datatable--sticky .mc-datatable__cell-number{justify-content:flex-end}.mc-datatable--sticky-header .mc-datatable__main{overflow-y:auto}.mc-datatable--sticky-header .mc-datatable__table>thead{position:sticky}.mc-datatable--overflow-visible .mc-datatable__container,.mc-datatable--overflow-visible .mc-datatable__main{overflow:visible}.mc-datatable__btn{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;display:flex}.mc-datatable__btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__btn-icon{fill:#007f8c}.mc-datatable__btn-icon,.mc-datatable__btn svg{width:1.5rem;height:1.5rem}.mc-datatable__sort{font-weight:700;font-size:.75rem;line-height:1.3333333333;color:#393879;text-transform:uppercase;align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.mc-datatable__sort-arrow{align-items:center;display:flex;flex-direction:column;height:1.5rem;justify-content:space-around;margin-left:.5rem;width:1.5rem}.mc-datatable__sort-arrow:after,.mc-datatable__sort-arrow:before{background-color:#cdd4d8;content:\"\";flex-shrink:0;height:.5rem;width:.75rem}.mc-datatable__sort-arrow:before{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.asc .mc-datatable__sort-arrow:before{background-color:#605f9d}.desc .mc-datatable__sort-arrow:before{display:none}.mc-datatable__sort-arrow:after{clip-path:polygon(0 0,100% 0,50% 100%)}.asc .mc-datatable__sort-arrow:after{display:none}.desc .mc-datatable__sort-arrow:after{background-color:#605f9d}.mc-datatable__options{width:1.5rem;height:1.5rem}.mc-datatable .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-datatable__topbar,.mc-datatable__filters{padding-bottom:1rem}.mc-datatable__topbar{justify-content:space-between}.mc-datatable__topbar,.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{display:flex;gap:1rem}.mc-datatable__topbar-edition,.mc-datatable__topbar-actions{flex-wrap:wrap}.mc-datatable__topbar-edition{flex-shrink:0}.mc-datatable__topbar-actions{align-items:center;justify-content:flex-end;margin-left:auto}.mc-datatable__filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.mc-datatable__filters:not(:only-child){border-top:1px solid #b0bbc0;padding-top:1rem}.mc-datatable__footer{align-items:center;background-color:#fff;display:flex;padding:.75rem 1rem;gap:1rem}@media screen and (max-width: 679px){.mc-datatable__footer{flex-direction:column}}.mc-datatable__select{display:flex;align-items:center;gap:.5rem}.mc-datatable__select-label{font-size:.875rem;line-height:1.2857142857;color:#333;flex-shrink:0}.mc-datatable__count{font-size:.75rem;line-height:1.3333333333;color:#666}.mc-datatable__pagination{margin-left:auto}.mc-datatable__subtable{border-collapse:collapse;border-spacing:0;caption-side:bottom;width:100%;background-color:#e7e7f0}.mc-datatable__subtable th,.mc-datatable__subtable td{border-bottom-color:#a4a3c7}.mc-datatable__subtable thead th,.mc-datatable__subtable thead td{font-size:.75rem;line-height:1.3333333333;color:#1a1a4b}.mc-datatable__subtable tbody th,.mc-datatable__subtable tbody td{color:#1a1a4b}.mc-datatable__empty{font-size:1rem;line-height:1.375;align-items:center;background-color:#e7e7f0;color:#4b4a8c;display:flex;flex-direction:column;gap:1rem;height:18.1875rem;justify-content:center;text-align:center}.mc-datatable__empty p{margin:0 auto}.mc-datatable__empty strong{font-size:1.125rem;line-height:1.3333333333}.mc-datatable__empty--td{padding:0!important}.fix-header-row{position:sticky;top:0;box-shadow:0 1px 5px #22202033;z-index:1}.header{align-items:center;display:flex;height:100%;font-family:inherit;justify-content:space-between;width:100%}.is-sorted-asc:before{background-color:var(--color-datatable-sort-arrow-active, #333333)}.is-sorted-desc:after{background-color:var(--color-datatable-sort-arrow-active, #333333)}.mc-datatable-height{height:100%}.mc-datatable__sort-arrow{cursor:pointer}.mc-datatable__fix-first-column{position:sticky;background-color:#fff;left:0}td.selected{background-color:#d9f0f3}tr:hover td{background-color:#eaedef}.skeleton-box{display:inline-block;position:relative;overflow:hidden;background-color:#ccc}.skeleton-box:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.checkbox-loading{width:25px;height:25px}.cells-loading{width:250px;height:25px}\n"] }]
|
|
137
137
|
}], propDecorators: { footerSettings: [{
|
|
138
138
|
type: Input
|
|
139
139
|
}], selectionSettings: [{
|
|
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
177
177
|
type: ContentChild,
|
|
178
178
|
args: [MozDatatableRowExpansionContentComponent]
|
|
179
179
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEVBSWYsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUc3RyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7Ozs7OztBQVMxSCxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBU2tCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QixpQkFBWSxHQUFHLHVCQUF1QixDQUFDO1FBRXZELHNCQUFzQjtRQUNaLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUN2RCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSy9ELHlCQUF5QjtRQUNmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FB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LEtBQUs7Z0JBR0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBR0Esa0JBQWtCO3NCQUR4QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJL0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRXNDLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDRCxXQUFXO3NCQUFwRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR2pDLG9CQUFvQjtzQkFEMUIsZUFBZTt1QkFBQywrQkFBK0I7Z0JBSXpDLHFCQUFxQjtzQkFEM0IsZUFBZTt1QkFBQyxnQ0FBZ0M7Z0JBSTFDLHlCQUF5QjtzQkFEL0IsWUFBWTt1QkFBQyx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm93RGF0YSB9IGZyb20gJy4vbW9kZWwvcm93LWRhdGEnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2V0dGluZ3MgfSBmcm9tICcuL21vZGVsL3NlbGVjdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0aW9uL21vei1kYXRhdGFibGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlYWRlci9tb3otZGF0YXRhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVDb250ZW50Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZW50L21vei1kYXRhdGFibGUtY29udGVudC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhdGFibGVTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWwvZGF0YXRhYmxlLXNldHRpbmdzJztcbmltcG9ydCB7IEZvb3RlclNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbC9mb290ZXItc2V0dGluZ3MnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3cvbW96LWRhdGF0YWJsZS1yb3ctZXhwYW5zaW9uLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtbkRlZiB9IGZyb20gJy4vbW9kZWwvY29sdW1uLWRlZic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1kYXRhdGFibGUnLFxuICBzdHlsZVVybHM6IFsnLi9tb3otZGF0YXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3otZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTW96RGF0YXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb290ZXJTZXR0aW5ncz86IEZvb3RlclNldHRpbmdzO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uU2V0dGluZ3M/OiBTZWxlY3Rpb25TZXR0aW5ncztcbiAgQElucHV0KCkgcHVibGljIGFsbG93QWxsU2VsZWN0ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YXRhYmxlU2V0dGluZ3M/OiBEYXRhdGFibGVTZXR0aW5ncztcbiAgQElucHV0KCkgcHVibGljIHRhYmxlU3VtbWFyeSA9ICdUYWJsZSBkaXNwbGF5aW5nIGRhdGEnO1xuXG4gIC8vIEZST00gQk9EWSBEQVRBVEFCTEVcbiAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dEYXRhPigpO1xuICBAT3V0cHV0KCkgc29ydENvbHVtbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcbiAgQE91dHB1dCgpIHJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25TZXR0aW5ncz4oKTtcbiAgQE91dHB1dCgpIHJvd0FsbFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25TZXR0aW5ncz4oKTtcbiAgQE91dHB1dCgpIGVtcHR5Qm9keUJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZChNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQpXG4gIHB1YmxpYyBzZWxlY3Rpb25Db21wb25lbnQ/OiBNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgLy8gRlJPTSBQQUdJTkFUSU9OIEZPT1RFUlxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcm93UGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RoU2VsZWN0aW9uJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRoU2VsZWN0aW9uUmVmPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndGhTdWJSb3cnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGhTdWJSb3dSZWY/OiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW96RGF0YXRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudClcbiAgcHVibGljIGhlYWRlckNlbGxDb21wb25lbnRzPzogUXVlcnlMaXN0PE1vekRhdGF0YWJsZUhlYWRlckNlbGxDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW96RGF0YXRhYmxlQ29udGVudENlbGxDb21wb25lbnQpXG4gIHB1YmxpYyBjb250ZW50Q2VsbENvbXBvbmVudHM/OiBRdWVyeUxpc3Q8TW96RGF0YXRhYmxlQ29udGVudENlbGxDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudClcbiAgcHVibGljIGV4cGFuc2lvbkNvbnRlbnRDb21wb25lbnQ/OiBNb3pEYXRhdGFibGVSb3dFeHBhbnNpb25Db250ZW50Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBjdXN0b21IZWFkZXJDZWxsc01hcDogTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHVibGljIGN1c3RvbUNvbnRlbnRDZWxsc01hcDogTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHVibGljIGV4cGFuZGVkUm93czogYm9vbGVhbltdID0gW107XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGRDdXN0b21IZWFkZXJNYXAoKTtcbiAgICB0aGlzLmJ1aWxkQ3VzdG9tQ29udGVudE1hcCgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uQ29tcG9uZW50Py5jbGVhckFsbCgpO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkQ3VzdG9tSGVhZGVyTWFwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhlYWRlckNlbGxDb21wb25lbnRzKSB7XG4gICAgICB0aGlzLmhlYWRlckNlbGxDb21wb25lbnRzLmZvckVhY2goKGhlYWRlcikgPT4ge1xuICAgICAgICBpZiAoaGVhZGVyLmZpZWxkICYmIGhlYWRlci50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgIHRoaXMuY3VzdG9tSGVhZGVyQ2VsbHNNYXAuc2V0KGhlYWRlci5maWVsZCwgaGVhZGVyLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJ1aWxkQ3VzdG9tQ29udGVudE1hcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250ZW50Q2VsbENvbXBvbmVudHMpIHtcbiAgICAgIHRoaXMuY29udGVudENlbGxDb21wb25lbnRzLmZvckVhY2goKGNlbGwpID0+IHtcbiAgICAgICAgaWYgKGNlbGwuZmllbGQgJiYgY2VsbC50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgIHRoaXMuY3VzdG9tQ29udGVudENlbGxzTWFwLnNldChjZWxsLmZpZWxkLCBjZWxsLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbUV4cGFuc2lvblJvd0NvbnRlbnQoKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5zaW9uQ29udGVudENvbXBvbmVudD8udGVtcGxhdGVSZWY7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUm93RXhwYW5zaW9uKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkUm93c1tpbmRleF0gPSAhdGhpcy5leHBhbmRlZFJvd3NbaW5kZXhdO1xuICB9XG5cbiAgcHVibGljIGhhc1N1YlJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LnJvd0RhdGEuZmlsdGVyKChyb3cpID0+IHJvd1snc3ViUm93J10pLmxlbmd0aCB8fCAwKSA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VzdG9tSGVhZGVyKGNvbHVtbklkOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21IZWFkZXJDZWxsc01hcC5nZXQoY29sdW1uSWQpO1xuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbUNvbnRlbnQoY29sdW1uSWQ6IHN0cmluZyk6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNvbnRlbnRDZWxsc01hcC5nZXQoY29sdW1uSWQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbHNwYW5Gb3JFeHBhbnNpb25Sb3coKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb25cbiAgICAgID8gKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmNvbHVtbkRlZnM/Lmxlbmd0aCB8fCAwKSArIDJcbiAgICAgIDogKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmNvbHVtbkRlZnM/Lmxlbmd0aCB8fCAwKSArIDE7XG4gIH1cblxuICBwdWJsaWMgZW1wdHlCdXR0b25DbGlja0V2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZW1wdHlCb2R5QnV0dG9uQ2xpY2tlZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHJvd0NsaWNrRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQsIHJvd0NsaWNrOiBSb3dEYXRhKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQocm93Q2xpY2spO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGlvbkFsbFJvd0V2ZW50KCRldmVudDogU2VsZWN0aW9uU2V0dGluZ3MpIHtcbiAgICB0aGlzLnJvd0FsbFNlbGVjdGVkLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3Rpb25Sb3dFdmVudCgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5yb3dTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0aW9uU2V0dGluZ3MpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyByb3dQZXJQYWdlQ2hhbmdlRXZlbnQoJGV2ZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJvd1BlclBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHBhZ2VDaGFuZ2VFdmVudCgkZXZlbnQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgc29ydEV2ZW50KCRldmVudDogdW5rbm93bikge1xuICAgIHRoaXMuc29ydENvbHVtbi5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3R5bGVMZWZ0Rm9yQ29sdW1uRml4ZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb24gJiYgdGhpcy50aFNlbGVjdGlvblJlZlxuICAgICAgPyB0aGlzLnRoU2VsZWN0aW9uUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICAgIDogMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWZ0VmFsdWVGaXhGaXJzdENvbHVtbigpOiBudW1iZXIge1xuICAgIGxldCB2YWx1ZSA9IDA7XG4gICAgaWYgKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlU2VsZWN0aW9uICYmIHRoaXMudGhTZWxlY3Rpb25SZWYpIHtcbiAgICAgIHZhbHVlICs9IHRoaXMudGhTZWxlY3Rpb25SZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzU3ViUm93KCkgJiYgdGhpcy50aFN1YlJvd1JlZikge1xuICAgICAgdmFsdWUgKz0gdGhpcy50aFN1YlJvd1JlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VW5oaWRkZW5Db2x1bW5zKCk6IENvbHVtbkRlZltdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uY29sdW1uRGVmcy5maWx0ZXIoKGhlYWRUaXRsZSkgPT4gIWhlYWRUaXRsZS5oaWRlKSB8fCBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZ1xuICAgICAgPyBbJycsICcnLCAnJywgJycsICcnXVxuICAgICAgOiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcbiAgICAgID8gWycnLCAnJywgJycsICcnLCAnJ11cbiAgICAgIDogdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8ucm93RGF0YTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1jLWRhdGF0YWJsZVwiIFtuZ0NsYXNzXT1cInsgJyBtYy1kYXRhdGFibGUtaGVpZ2h0JzogZGF0YXRhYmxlU2V0dGluZ3M/LmZpeEhlYWRlclJvdyB9XCI+XG4gIDxkaXYgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2hlYWRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vei1kYXRhdGFibGUtY2FwdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2PlxuICAgICAgPG1vei1kYXRhdGFibGUtc2VsZWN0aW9uXG4gICAgICAgIFtzZWxlY3Rpb25TZXR0aW5nc109XCJzZWxlY3Rpb25TZXR0aW5nc1wiXG4gICAgICAgIFthbGxvd0FsbFNlbGVjdGVkXT1cImFsbG93QWxsU2VsZWN0ZWRcIlxuICAgICAgICBbcGFnaW5hdGlvbkVuYWJsZWRdPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlUGFnaW5hdGlvblwiXG4gICAgICAgIFtyb3dEYXRhXT1cImRhdGF0YWJsZVNldHRpbmdzPy5yb3dEYXRhXCJcbiAgICAgICAgKHVwZGF0ZVNlbGVjdGlvbkFsbEVtaXR0ZXIpPVwic2VsZWN0aW9uQWxsUm93RXZlbnQoJGV2ZW50KVwiXG4gICAgICA+PC9tb3otZGF0YXRhYmxlLXNlbGVjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7ICcgbWMtZGF0YXRhYmxlLWhlaWdodCc6IGRhdGF0YWJsZVNldHRpbmdzPy5maXhIZWFkZXJSb3cgfVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fbWFpblwiXG4gICAgICBbbmdDbGFzc109XCJ7ICcgbWMtZGF0YXRhYmxlLWhlaWdodCc6IGRhdGF0YWJsZVNldHRpbmdzPy5maXhIZWFkZXJSb3cgfVwiXG4gICAgPlxuICAgICAgPHRhYmxlIGNsYXNzPVwibWMtZGF0YXRhYmxlX190YWJsZVwiIHN1bW1hcnk9XCJ7eyB0YWJsZVN1bW1hcnkgfX1cIj5cbiAgICAgICAgPHRoZWFkIFtuZ0NsYXNzXT1cInsgJ2ZpeC1oZWFkZXItcm93JzogZGF0YXRhYmxlU2V0dGluZ3M/LmZpeEhlYWRlclJvdyB9XCI+XG4gICAgICAgICAgPHRyICpuZ0lmPVwiZ2V0Q29sdW1ucygpICYmIGdldENvbHVtbnMoKS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2NlbGwtY2hlY2tib3ggbW96LWRhdGF0YWJsZV9fdGggbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICBkYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Db21wb25lbnQgJiZcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICgoZGF0YXRhYmxlU2V0dGluZ3M/LnJvd0RhdGEgfHwgW10pLmxlbmd0aCA+IDAgfHwgZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZylcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgaWQ9XCJjaGVja0FsbFBhZ2VSb3dzXCJcbiAgICAgICAgICAgICAgI3RoU2VsZWN0aW9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nOyBlbHNlIG5vdExvYWRpbmdDaGVja2JveFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1ib3ggbXUtbWItMTAwIGNoZWNrYm94LWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TG9hZGluZ0NoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxtb3otY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkNvbXBvbmVudC5vblVkcGF0ZVNlbGVjdGlvbkFsbFBhZ2VSb3dzKCRldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblJvd0V2ZW50KCRldmVudClcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb25Db21wb25lbnQuaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uU2V0dGluZ3MuYWxsU2VsZWN0ZWQgJiYgIXNlbGVjdGlvbkNvbXBvbmVudC5pc0luZGV0ZXJtaW5hdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICghc2VsZWN0aW9uU2V0dGluZ3MuYWxsU2VsZWN0ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0aW9uQ29tcG9uZW50LmlzSW5kZXRlcm1pbmF0ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICh0aGlzLnNlbGVjdGlvblNldHRpbmdzLnNlbGVjdGVkSWRzIHx8IFtdKS5sZW5ndGggPiAwKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9tb3otY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0lmPVwiaGFzU3ViUm93KCkgJiYgIWRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtblwiXG4gICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFN0eWxlTGVmdEZvckNvbHVtbkZpeGVkKClcIlxuICAgICAgICAgICAgICAjdGhTdWJSb3dcbiAgICAgICAgICAgID48L3RoPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uRGVmIG9mIGdldENvbHVtbnMoKVwiPlxuICAgICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vei1kYXRhdGFibGVfX3RoXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFjb2x1bW5EZWYuaGlkZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ21jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtbic6XG4gICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5maXhGaXJzdENvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICBnZXRVbmhpZGRlbkNvbHVtbnMoKVswXS5maWVsZCA9PT0gY29sdW1uRGVmLmZpZWxkXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0TGVmdFZhbHVlRml4Rmlyc3RDb2x1bW4oKVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0aC17eyBjb2x1bW5EZWYuZmllbGQgfX1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ0hlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1ib3ggbXUtbWItMTAwIGNlbGxzLWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TG9hZGluZ0hlYWRpbmc+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFttb3pEYXRhdGFibGVTb3J0XT1cImNvbHVtbkRlZlwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgaGVhZGVyOiBjb2x1bW5EZWYuc29ydCB9XCJcbiAgICAgICAgICAgICAgICAgICAgKHNvcnRFbWl0dGVyKT1cInNvcnRFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRDdXN0b21IZWFkZXIoY29sdW1uRGVmLmZpZWxkKSBhcyBjdXN0b21IZWFkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGRlZmF1bHRIZWFkZXJDZWxsXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUhlYWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogY29sdW1uRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlckNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAge3sgY29sdW1uRGVmLmhlYWRlck5hbWUgfCB1cHBlcmNhc2UgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgKGRhdGF0YWJsZVNldHRpbmdzPy5yb3dEYXRhPy5sZW5ndGggfHwgMCkgPiAwIHx8IGRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7XG4gICAgICAgICAgICAgIGVsc2UgZW1wdHlCb2R5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBnZXRGaWVsZHMoKTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJtYy1kYXRhdGFibGVfX3Jvdy1wYXJlbnRcIiAoY2xpY2spPVwicm93Q2xpY2tFdmVudCgkZXZlbnQsIHJvdylcIj5cbiAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlU2VsZWN0aW9uICYmIHNlbGVjdGlvbkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ0NoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1ib3ggbXUtbWItMTAwIGNoZWNrYm94LWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nQ2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgIDxtb3otY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uQ29tcG9uZW50Lm9uVWRwYXRlU2VsZWN0aW9uUm93KHJvdyk7IHNlbGVjdGlvblJvd0V2ZW50KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicm93LnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3cuc2VsZWN0ZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyb3cuZGlzYWJsZVNlbGVjdGlvbiB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjaGVja1Jvdy17eyBpIH19XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L21vei1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU3ViUm93KCkgJiYgIWRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJvd1snc3ViUm93J107IGVsc2Ugbm9TdWJSb3dcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fY2VsbC1idXR0b24gbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0U3R5bGVMZWZ0Rm9yQ29sdW1uRml4ZWQoKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZXhwYW5kIG1jLWRhdGF0YWJsZV9fYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUm93RXhwYW5zaW9uKGkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1kYXRhdGFibGVfX2J0bi1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWV4cGFuZGVkUm93c1tpXTsgZWxzZSBzdWJyb3dDbG9zZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1vei1pY29uIFtpY29uTmFtZV09XCInTmF2aWdhdGlvbl9Db250cm9sX0NpcmNsZS0tTW9yZV8yNHB4J1wiPjwvbW96LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3Vicm93Q2xvc2VkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bW96LWljb24gW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0NvbnRyb2xfQ2lyY2xlLS1MZXNzXzI0cHgnXCI+PC9tb3otaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vU3ViUm93XG4gICAgICAgICAgICAgICAgICAgID48dGRcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fY2VsbC1idXR0b24gbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJnZXRTdHlsZUxlZnRGb3JDb2x1bW5GaXhlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdGRcbiAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbkRlZiBvZiBnZXRDb2x1bW5zKClcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjb2x1bW5EZWYuaGlkZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5maXhGaXJzdENvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VW5oaWRkZW5Db2x1bW5zKClbMF0uZmllbGQgPT09IGNvbHVtbkRlZi5maWVsZFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0TGVmdFZhbHVlRml4Rmlyc3RDb2x1bW4oKVwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwicm93LXt7IGkgfX0te3sgY29sdW1uRGVmLmZpZWxkIH19XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ0NlbGxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWJveCBtdS1tYi0xMDAgY2VsbHMtbG9hZGluZ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nQ2VsbHM+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VzdG9tQ29udGVudChjb2x1bW5EZWYuZmllbGQpIGFzIGN1c3RvbUNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgZGVmYXVsdENvbnRlbnRDZWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21Db250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3c6IHJvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbkRlZnM6IGRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiByb3dbY29sdW1uRGVmLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb250ZW50Q2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJvd1tjb2x1bW5EZWYuZmllbGRdIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiZXhwYW5kZWRSb3dzW2ldXCI+XG4gICAgICAgICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJnZXRDb2xzcGFuRm9yRXhwYW5zaW9uUm93KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0Q3VzdG9tRXhwYW5zaW9uUm93Q29udGVudCgpIGFzIGV4cGFuc2lvblJvd0NvbnRlbnRDb21wb25lbnRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvblJvd0NvbnRlbnRDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlJvd0NvbnRlbnQ6IHJvd1snc3ViUm93J10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eUJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZW1wdHktLXRkXCIgW2F0dHIuY29sc3Bhbl09XCJnZXRDb2xzcGFuRm9yRXhwYW5zaW9uUm93KClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19lbXB0eVwiPlxuICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5sYWJlbHM/LmVtcHR5Qm9keVRpdGxlIHx8ICdUaGVyZSBpcyBubyByZXN1bHQuJ1xuICAgICAgICAgICAgICAgICAgICAgIH19PC9zdHJvbmdcbiAgICAgICAgICAgICAgICAgICAgPjxiciAvPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5sYWJlbHM/LmVtcHR5Qm9keURlc2NyaXB0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIHRyeSBjaGFuZ2luZyB5b3VyIGZpbHRlcnMuJ1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5hY3RpdmF0ZUVtcHR5Qm9keUJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbW96LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCInbmV1dHJhbCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhdGlvbl09XCInYm9yZGVyZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1wdHlCdXR0b25DbGlja0V2ZW50KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uTmFtZT1cInt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5pY29ucz8uZW1wdHlCb2R5QnV0dG9uSWNvbiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYXZpZ2F0aW9uX0Rpc3BsYXlfRmlsdGVyXzI0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvbW96LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgZGF0YXRhYmxlU2V0dGluZ3M/LmxhYmVscz8uZW1wdHlCb2R5QnV0dG9uVGl0bGUgfHwgJ0NoYW5nZSBmaWx0ZXJzJyB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8bW96LWRhdGF0YWJsZS1mb290ZXJcbiAgICAgICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlUGFnaW5hdGlvblwiXG4gICAgICBbZm9vdGVyU2V0dGluZ3NdPVwiZm9vdGVyU2V0dGluZ3NcIlxuICAgICAgW2lzTG9hZGluZ109XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nXCJcbiAgICAgIChyb3dQZXJQYWdlQ2hhbmdlRW1pdHRlcik9XCJyb3dQZXJQYWdlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAocGFnZUNoYW5nZUVtaXR0ZXIpPVwicGFnZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgID48L21vei1kYXRhdGFibGUtZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9kYXRhdGFibGUvbW96LWRhdGF0YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEVBSWYsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUc3RyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7Ozs7OztBQVMxSCxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBU2tCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QixpQkFBWSxHQUFHLHVCQUF1QixDQUFDO1FBRXZELHNCQUFzQjtRQUNaLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUN2RCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSy9ELHlCQUF5QjtRQUNmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FB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LEtBQUs7Z0JBR0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBR0Esa0JBQWtCO3NCQUR4QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJL0IsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRXNDLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDRCxXQUFXO3NCQUFwRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR2pDLG9CQUFvQjtzQkFEMUIsZUFBZTt1QkFBQywrQkFBK0I7Z0JBSXpDLHFCQUFxQjtzQkFEM0IsZUFBZTt1QkFBQyxnQ0FBZ0M7Z0JBSTFDLHlCQUF5QjtzQkFEL0IsWUFBWTt1QkFBQyx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm93RGF0YSB9IGZyb20gJy4vbW9kZWwvcm93LWRhdGEnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2V0dGluZ3MgfSBmcm9tICcuL21vZGVsL3NlbGVjdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0aW9uL21vei1kYXRhdGFibGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlYWRlci9tb3otZGF0YXRhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb3pEYXRhdGFibGVDb250ZW50Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZW50L21vei1kYXRhdGFibGUtY29udGVudC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhdGFibGVTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWwvZGF0YXRhYmxlLXNldHRpbmdzJztcbmltcG9ydCB7IEZvb3RlclNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbC9mb290ZXItc2V0dGluZ3MnO1xuaW1wb3J0IHsgTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3cvbW96LWRhdGF0YWJsZS1yb3ctZXhwYW5zaW9uLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtbkRlZiB9IGZyb20gJy4vbW9kZWwvY29sdW1uLWRlZic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1kYXRhdGFibGUnLFxuICBzdHlsZVVybHM6IFsnLi9tb3otZGF0YXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3otZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTW96RGF0YXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb290ZXJTZXR0aW5ncz86IEZvb3RlclNldHRpbmdzO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uU2V0dGluZ3M/OiBTZWxlY3Rpb25TZXR0aW5ncztcbiAgQElucHV0KCkgcHVibGljIGFsbG93QWxsU2VsZWN0ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YXRhYmxlU2V0dGluZ3M/OiBEYXRhdGFibGVTZXR0aW5ncztcbiAgQElucHV0KCkgcHVibGljIHRhYmxlU3VtbWFyeSA9ICdUYWJsZSBkaXNwbGF5aW5nIGRhdGEnO1xuXG4gIC8vIEZST00gQk9EWSBEQVRBVEFCTEVcbiAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dEYXRhPigpO1xuICBAT3V0cHV0KCkgc29ydENvbHVtbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcbiAgQE91dHB1dCgpIHJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25TZXR0aW5ncz4oKTtcbiAgQE91dHB1dCgpIHJvd0FsbFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25TZXR0aW5ncz4oKTtcbiAgQE91dHB1dCgpIGVtcHR5Qm9keUJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZChNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQpXG4gIHB1YmxpYyBzZWxlY3Rpb25Db21wb25lbnQ/OiBNb3pEYXRhdGFibGVTZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgLy8gRlJPTSBQQUdJTkFUSU9OIEZPT1RFUlxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcm93UGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RoU2VsZWN0aW9uJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRoU2VsZWN0aW9uUmVmPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndGhTdWJSb3cnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGhTdWJSb3dSZWY/OiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW96RGF0YXRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudClcbiAgcHVibGljIGhlYWRlckNlbGxDb21wb25lbnRzPzogUXVlcnlMaXN0PE1vekRhdGF0YWJsZUhlYWRlckNlbGxDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW96RGF0YXRhYmxlQ29udGVudENlbGxDb21wb25lbnQpXG4gIHB1YmxpYyBjb250ZW50Q2VsbENvbXBvbmVudHM/OiBRdWVyeUxpc3Q8TW96RGF0YXRhYmxlQ29udGVudENlbGxDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoTW96RGF0YXRhYmxlUm93RXhwYW5zaW9uQ29udGVudENvbXBvbmVudClcbiAgcHVibGljIGV4cGFuc2lvbkNvbnRlbnRDb21wb25lbnQ/OiBNb3pEYXRhdGFibGVSb3dFeHBhbnNpb25Db250ZW50Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBjdXN0b21IZWFkZXJDZWxsc01hcDogTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHVibGljIGN1c3RvbUNvbnRlbnRDZWxsc01hcDogTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHVibGljIGV4cGFuZGVkUm93czogYm9vbGVhbltdID0gW107XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGRDdXN0b21IZWFkZXJNYXAoKTtcbiAgICB0aGlzLmJ1aWxkQ3VzdG9tQ29udGVudE1hcCgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uQ29tcG9uZW50Py5jbGVhckFsbCgpO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkQ3VzdG9tSGVhZGVyTWFwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhlYWRlckNlbGxDb21wb25lbnRzKSB7XG4gICAgICB0aGlzLmhlYWRlckNlbGxDb21wb25lbnRzLmZvckVhY2goKGhlYWRlcikgPT4ge1xuICAgICAgICBpZiAoaGVhZGVyLmZpZWxkICYmIGhlYWRlci50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgIHRoaXMuY3VzdG9tSGVhZGVyQ2VsbHNNYXAuc2V0KGhlYWRlci5maWVsZCwgaGVhZGVyLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJ1aWxkQ3VzdG9tQ29udGVudE1hcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250ZW50Q2VsbENvbXBvbmVudHMpIHtcbiAgICAgIHRoaXMuY29udGVudENlbGxDb21wb25lbnRzLmZvckVhY2goKGNlbGwpID0+IHtcbiAgICAgICAgaWYgKGNlbGwuZmllbGQgJiYgY2VsbC50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgIHRoaXMuY3VzdG9tQ29udGVudENlbGxzTWFwLnNldChjZWxsLmZpZWxkLCBjZWxsLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbUV4cGFuc2lvblJvd0NvbnRlbnQoKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5zaW9uQ29udGVudENvbXBvbmVudD8udGVtcGxhdGVSZWY7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUm93RXhwYW5zaW9uKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkUm93c1tpbmRleF0gPSAhdGhpcy5leHBhbmRlZFJvd3NbaW5kZXhdO1xuICB9XG5cbiAgcHVibGljIGhhc1N1YlJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LnJvd0RhdGEuZmlsdGVyKChyb3cpID0+IHJvd1snc3ViUm93J10pLmxlbmd0aCB8fCAwKSA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VzdG9tSGVhZGVyKGNvbHVtbklkOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21IZWFkZXJDZWxsc01hcC5nZXQoY29sdW1uSWQpO1xuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbUNvbnRlbnQoY29sdW1uSWQ6IHN0cmluZyk6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNvbnRlbnRDZWxsc01hcC5nZXQoY29sdW1uSWQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbHNwYW5Gb3JFeHBhbnNpb25Sb3coKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb25cbiAgICAgID8gKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmNvbHVtbkRlZnM/Lmxlbmd0aCB8fCAwKSArIDJcbiAgICAgIDogKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmNvbHVtbkRlZnM/Lmxlbmd0aCB8fCAwKSArIDE7XG4gIH1cblxuICBwdWJsaWMgZW1wdHlCdXR0b25DbGlja0V2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZW1wdHlCb2R5QnV0dG9uQ2xpY2tlZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHJvd0NsaWNrRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQsIHJvd0NsaWNrOiBSb3dEYXRhKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQocm93Q2xpY2spO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGlvbkFsbFJvd0V2ZW50KCRldmVudDogU2VsZWN0aW9uU2V0dGluZ3MpIHtcbiAgICB0aGlzLnJvd0FsbFNlbGVjdGVkLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3Rpb25Sb3dFdmVudCgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5yb3dTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0aW9uU2V0dGluZ3MpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyByb3dQZXJQYWdlQ2hhbmdlRXZlbnQoJGV2ZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJvd1BlclBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHBhZ2VDaGFuZ2VFdmVudCgkZXZlbnQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgc29ydEV2ZW50KCRldmVudDogdW5rbm93bikge1xuICAgIHRoaXMuc29ydENvbHVtbi5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3R5bGVMZWZ0Rm9yQ29sdW1uRml4ZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb24gJiYgdGhpcy50aFNlbGVjdGlvblJlZlxuICAgICAgPyB0aGlzLnRoU2VsZWN0aW9uUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICAgIDogMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWZ0VmFsdWVGaXhGaXJzdENvbHVtbigpOiBudW1iZXIge1xuICAgIGxldCB2YWx1ZSA9IDA7XG4gICAgaWYgKHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlU2VsZWN0aW9uICYmIHRoaXMudGhTZWxlY3Rpb25SZWYpIHtcbiAgICAgIHZhbHVlICs9IHRoaXMudGhTZWxlY3Rpb25SZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzU3ViUm93KCkgJiYgdGhpcy50aFN1YlJvd1JlZikge1xuICAgICAgdmFsdWUgKz0gdGhpcy50aFN1YlJvd1JlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VW5oaWRkZW5Db2x1bW5zKCk6IENvbHVtbkRlZltdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8uY29sdW1uRGVmcy5maWx0ZXIoKGhlYWRUaXRsZSkgPT4gIWhlYWRUaXRsZS5oaWRlKSB8fCBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZ1xuICAgICAgPyBbJycsICcnLCAnJywgJycsICcnXVxuICAgICAgOiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcbiAgICAgID8gWycnLCAnJywgJycsICcnLCAnJ11cbiAgICAgIDogdGhpcy5kYXRhdGFibGVTZXR0aW5ncz8ucm93RGF0YTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1jLWRhdGF0YWJsZVwiIFtuZ0NsYXNzXT1cInsgJyBtYy1kYXRhdGFibGUtaGVpZ2h0JzogZGF0YXRhYmxlU2V0dGluZ3M/LmZpeEhlYWRlclJvdyB9XCI+XG4gIDxkaXYgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2hlYWRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vei1kYXRhdGFibGUtY2FwdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2PlxuICAgICAgPG1vei1kYXRhdGFibGUtc2VsZWN0aW9uXG4gICAgICAgIFtzZWxlY3Rpb25TZXR0aW5nc109XCJzZWxlY3Rpb25TZXR0aW5nc1wiXG4gICAgICAgIFthbGxvd0FsbFNlbGVjdGVkXT1cImFsbG93QWxsU2VsZWN0ZWRcIlxuICAgICAgICBbcGFnaW5hdGlvbkVuYWJsZWRdPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlUGFnaW5hdGlvblwiXG4gICAgICAgIFtyb3dEYXRhXT1cImRhdGF0YWJsZVNldHRpbmdzPy5yb3dEYXRhXCJcbiAgICAgICAgKHVwZGF0ZVNlbGVjdGlvbkFsbEVtaXR0ZXIpPVwic2VsZWN0aW9uQWxsUm93RXZlbnQoJGV2ZW50KVwiXG4gICAgICA+PC9tb3otZGF0YXRhYmxlLXNlbGVjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7ICcgbWMtZGF0YXRhYmxlLWhlaWdodCc6IGRhdGF0YWJsZVNldHRpbmdzPy5maXhIZWFkZXJSb3cgfVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fbWFpblwiXG4gICAgICBbbmdDbGFzc109XCJ7ICcgbWMtZGF0YXRhYmxlLWhlaWdodCc6IGRhdGF0YWJsZVNldHRpbmdzPy5maXhIZWFkZXJSb3cgfVwiXG4gICAgPlxuICAgICAgPHRhYmxlIGNsYXNzPVwibWMtZGF0YXRhYmxlX190YWJsZVwiIHN1bW1hcnk9XCJ7eyB0YWJsZVN1bW1hcnkgfX1cIj5cbiAgICAgICAgPHRoZWFkIFtuZ0NsYXNzXT1cInsgJ2ZpeC1oZWFkZXItcm93JzogZGF0YXRhYmxlU2V0dGluZ3M/LmZpeEhlYWRlclJvdyB9XCI+XG4gICAgICAgICAgPHRyICpuZ0lmPVwiZ2V0Q29sdW1ucygpICYmIGdldENvbHVtbnMoKS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYy1kYXRhdGFibGVfX2NlbGwtY2hlY2tib3ggbW96LWRhdGF0YWJsZV9fdGggbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICBkYXRhdGFibGVTZXR0aW5ncz8uYWN0aXZhdGVTZWxlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Db21wb25lbnQgJiZcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICgoZGF0YXRhYmxlU2V0dGluZ3M/LnJvd0RhdGEgfHwgW10pLmxlbmd0aCA+IDAgfHwgZGF0YXRhYmxlU2V0dGluZ3M/LmlzTG9hZGluZylcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgaWQ9XCJjaGVja0FsbFBhZ2VSb3dzXCJcbiAgICAgICAgICAgICAgI3RoU2VsZWN0aW9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nOyBlbHNlIG5vdExvYWRpbmdDaGVja2JveFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1ib3ggbXUtbWItMTAwIGNoZWNrYm94LWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TG9hZGluZ0NoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxtb3otY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkNvbXBvbmVudC5vblVkcGF0ZVNlbGVjdGlvbkFsbFBhZ2VSb3dzKCRldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblJvd0V2ZW50KCRldmVudClcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb25Db21wb25lbnQuaXNJbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uU2V0dGluZ3MuYWxsU2VsZWN0ZWQgJiYgIXNlbGVjdGlvbkNvbXBvbmVudC5pc0luZGV0ZXJtaW5hdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICghc2VsZWN0aW9uU2V0dGluZ3MuYWxsU2VsZWN0ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0aW9uQ29tcG9uZW50LmlzSW5kZXRlcm1pbmF0ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICh0aGlzLnNlbGVjdGlvblNldHRpbmdzLnNlbGVjdGVkSWRzIHx8IFtdKS5sZW5ndGggPiAwKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9tb3otY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0lmPVwiaGFzU3ViUm93KCkgJiYgIWRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtblwiXG4gICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFN0eWxlTGVmdEZvckNvbHVtbkZpeGVkKClcIlxuICAgICAgICAgICAgICAjdGhTdWJSb3dcbiAgICAgICAgICAgID48L3RoPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uRGVmIG9mIGdldENvbHVtbnMoKVwiPlxuICAgICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vei1kYXRhdGFibGVfX3RoXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFjb2x1bW5EZWYuaGlkZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ21jLWRhdGF0YWJsZV9fZml4LWZpcnN0LWNvbHVtbic6XG4gICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5maXhGaXJzdENvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICBnZXRVbmhpZGRlbkNvbHVtbnMoKVswXS5maWVsZCA9PT0gY29sdW1uRGVmLmZpZWxkXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0TGVmdFZhbHVlRml4Rmlyc3RDb2x1bW4oKVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ0aC17eyBjb2x1bW5EZWYuZmllbGQgfX1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ0hlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1ib3ggbXUtbWItMTAwIGNlbGxzLWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TG9hZGluZ0hlYWRpbmc+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFttb3pEYXRhdGFibGVTb3J0XT1cImNvbHVtbkRlZlwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgaGVhZGVyOiBjb2x1bW5EZWYuc29ydCB9XCJcbiAgICAgICAgICAgICAgICAgICAgKHNvcnRFbWl0dGVyKT1cInNvcnRFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRDdXN0b21IZWFkZXIoY29sdW1uRGVmLmZpZWxkKSBhcyBjdXN0b21IZWFkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGRlZmF1bHRIZWFkZXJDZWxsXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUhlYWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogY29sdW1uRGVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlckNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAge3sgY29sdW1uRGVmLmhlYWRlck5hbWUgfCB1cHBlcmNhc2UgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgKGRhdGF0YWJsZVNldHRpbmdzPy5yb3dEYXRhPy5sZW5ndGggfHwgMCkgPiAwIHx8IGRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7XG4gICAgICAgICAgICAgIGVsc2UgZW1wdHlCb2R5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBnZXRGaWVsZHMoKTsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fcm93LXBhcmVudFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJvd0NsaWNrRXZlbnQoJGV2ZW50LCByb3cpXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiByb3cuc2VsZWN0ZWQgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlU2VsZWN0aW9uICYmIHNlbGVjdGlvbkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiByb3cuc2VsZWN0ZWQgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ0NoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1ib3ggbXUtbWItMTAwIGNoZWNrYm94LWxvYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nQ2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgIDxtb3otY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uQ29tcG9uZW50Lm9uVWRwYXRlU2VsZWN0aW9uUm93KHJvdyk7IHNlbGVjdGlvblJvd0V2ZW50KCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicm93LnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3cuc2VsZWN0ZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyb3cuZGlzYWJsZVNlbGVjdGlvbiB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjaGVja1Jvdy17eyBpIH19XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L21vei1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU3ViUm93KCkgJiYgIWRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJvd1snc3ViUm93J107IGVsc2Ugbm9TdWJSb3dcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fY2VsbC1idXR0b24gbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0U3R5bGVMZWZ0Rm9yQ29sdW1uRml4ZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IHJvdy5zZWxlY3RlZCB9XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19leHBhbmQgbWMtZGF0YXRhYmxlX19idG5cIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSb3dFeHBhbnNpb24oaSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fYnRuLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kZWRSb3dzW2ldOyBlbHNlIHN1YnJvd0Nsb3NlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bW96LWljb24gW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0NvbnRyb2xfQ2lyY2xlLS1Nb3JlXzI0cHgnXCI+PC9tb3otaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWJyb3dDbG9zZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtb3otaWNvbiBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fQ29udHJvbF9DaXJjbGUtLUxlc3NfMjRweCdcIj48L21vei1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9TdWJSb3dcbiAgICAgICAgICAgICAgICAgICAgPjx0ZFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWMtZGF0YXRhYmxlX19jZWxsLWJ1dHRvbiBtYy1kYXRhdGFibGVfX2ZpeC1maXJzdC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFN0eWxlTGVmdEZvckNvbHVtbkZpeGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IHJvdy5zZWxlY3RlZCB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdGRcbiAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbkRlZiBvZiBnZXRDb2x1bW5zKClcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjb2x1bW5EZWYuaGlkZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnbWMtZGF0YXRhYmxlX19maXgtZmlyc3QtY29sdW1uJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5maXhGaXJzdENvbHVtbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VW5oaWRkZW5Db2x1bW5zKClbMF0uZmllbGQgPT09IGNvbHVtbkRlZi5maWVsZFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0TGVmdFZhbHVlRml4Rmlyc3RDb2x1bW4oKVwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwicm93LXt7IGkgfX0te3sgY29sdW1uRGVmLmZpZWxkIH19XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5pc0xvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ0NlbGxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWJveCBtdS1tYi0xMDAgY2VsbHMtbG9hZGluZ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nQ2VsbHM+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VzdG9tQ29udGVudChjb2x1bW5EZWYuZmllbGQpIGFzIGN1c3RvbUNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgZGVmYXVsdENvbnRlbnRDZWxsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21Db250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3c6IHJvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbkRlZnM6IGRhdGF0YWJsZVNldHRpbmdzPy5jb2x1bW5EZWZzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiByb3dbY29sdW1uRGVmLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb250ZW50Q2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJvd1tjb2x1bW5EZWYuZmllbGRdIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiZXhwYW5kZWRSb3dzW2ldXCI+XG4gICAgICAgICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJnZXRDb2xzcGFuRm9yRXhwYW5zaW9uUm93KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0Q3VzdG9tRXhwYW5zaW9uUm93Q29udGVudCgpIGFzIGV4cGFuc2lvblJvd0NvbnRlbnRDb21wb25lbnRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvblJvd0NvbnRlbnRDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlJvd0NvbnRlbnQ6IHJvd1snc3ViUm93J10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eUJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm1jLWRhdGF0YWJsZV9fZW1wdHktLXRkXCIgW2F0dHIuY29sc3Bhbl09XCJnZXRDb2xzcGFuRm9yRXhwYW5zaW9uUm93KClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWMtZGF0YXRhYmxlX19lbXB0eVwiPlxuICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5sYWJlbHM/LmVtcHR5Qm9keVRpdGxlIHx8ICdUaGVyZSBpcyBubyByZXN1bHQuJ1xuICAgICAgICAgICAgICAgICAgICAgIH19PC9zdHJvbmdcbiAgICAgICAgICAgICAgICAgICAgPjxiciAvPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5sYWJlbHM/LmVtcHR5Qm9keURlc2NyaXB0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIHRyeSBjaGFuZ2luZyB5b3VyIGZpbHRlcnMuJ1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRhdGF0YWJsZVNldHRpbmdzPy5hY3RpdmF0ZUVtcHR5Qm9keUJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbW96LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCInbmV1dHJhbCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhdGlvbl09XCInYm9yZGVyZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1wdHlCdXR0b25DbGlja0V2ZW50KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uTmFtZT1cInt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGF0YWJsZVNldHRpbmdzPy5pY29ucz8uZW1wdHlCb2R5QnV0dG9uSWNvbiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYXZpZ2F0aW9uX0Rpc3BsYXlfRmlsdGVyXzI0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvbW96LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgZGF0YXRhYmxlU2V0dGluZ3M/LmxhYmVscz8uZW1wdHlCb2R5QnV0dG9uVGl0bGUgfHwgJ0NoYW5nZSBmaWx0ZXJzJyB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8bW96LWRhdGF0YWJsZS1mb290ZXJcbiAgICAgICpuZ0lmPVwiZGF0YXRhYmxlU2V0dGluZ3M/LmFjdGl2YXRlUGFnaW5hdGlvblwiXG4gICAgICBbZm9vdGVyU2V0dGluZ3NdPVwiZm9vdGVyU2V0dGluZ3NcIlxuICAgICAgW2lzTG9hZGluZ109XCJkYXRhdGFibGVTZXR0aW5ncz8uaXNMb2FkaW5nXCJcbiAgICAgIChyb3dQZXJQYWdlQ2hhbmdlRW1pdHRlcik9XCJyb3dQZXJQYWdlQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAocGFnZUNoYW5nZUVtaXR0ZXIpPVwicGFnZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgID48L21vei1kYXRhdGFibGUtZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|