ngx-st-tables 17.0.10 → 17.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/base-table.scss +3 -2
- package/esm2022/lib/components/local-table/local-table.component.mjs +2 -2
- package/esm2022/lib/components/material-table/material-table-caption/material-table-caption.component.mjs +2 -2
- package/esm2022/lib/components/material-table/material-table-caption/material-table-filter-dialog/material-table-filter-dialog.component.mjs +6 -3
- package/esm2022/lib/components/material-table/material-table-caption/material-table-order-column-dialog/material-table-order-column-dialog.component.mjs +3 -3
- package/esm2022/lib/components/material-table/material-table-row-cell/material-table-row-cell.component.mjs +39 -0
- package/esm2022/lib/components/material-table/material-table.component.mjs +11 -15
- package/esm2022/lib/components/select-table/select-table.component.mjs +2 -2
- package/esm2022/lib/models/st-material-table-column.model.mjs +1 -1
- package/esm2022/lib/ngx-st-tables.module.mjs +36 -6
- package/fesm2022/ngx-st-tables.mjs +84 -24
- package/fesm2022/ngx-st-tables.mjs.map +1 -1
- package/lib/components/material-table/material-table-row-cell/material-table-row-cell.component.d.ts +19 -0
- package/lib/components/material-table/material-table.component.d.ts +2 -3
- package/lib/models/st-material-table-column.model.d.ts +5 -1
- package/lib/ngx-st-tables.module.d.ts +30 -22
- package/package.json +1 -1
|
@@ -6,16 +6,12 @@ import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
|
6
6
|
import { StSubscribeDestroyComponent } from 'ngx-st-base-functions';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@angular/material/
|
|
10
|
-
import * as i3 from "@angular/material/
|
|
11
|
-
import * as i4 from "@angular/material/
|
|
12
|
-
import * as i5 from "@angular/material/
|
|
13
|
-
import * as i6 from "
|
|
14
|
-
import * as i7 from "
|
|
15
|
-
import * as i8 from "@angular/material/sort";
|
|
16
|
-
import * as i9 from "@angular/material/progress-spinner";
|
|
17
|
-
import * as i10 from "./material-table-caption/material-table-caption.component";
|
|
18
|
-
import * as i11 from "ngx-st-date-format";
|
|
9
|
+
import * as i2 from "@angular/material/table";
|
|
10
|
+
import * as i3 from "@angular/material/paginator";
|
|
11
|
+
import * as i4 from "@angular/material/sort";
|
|
12
|
+
import * as i5 from "@angular/material/progress-spinner";
|
|
13
|
+
import * as i6 from "./material-table-caption/material-table-caption.component";
|
|
14
|
+
import * as i7 from "./material-table-row-cell/material-table-row-cell.component";
|
|
19
15
|
export class MaterialTableComponent extends StSubscribeDestroyComponent {
|
|
20
16
|
set data(data) {
|
|
21
17
|
this._data = data || [];
|
|
@@ -279,19 +275,17 @@ export class MaterialTableComponent extends StSubscribeDestroyComponent {
|
|
|
279
275
|
};
|
|
280
276
|
}
|
|
281
277
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MaterialTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
282
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MaterialTableComponent, selector: "ngx-st-material-table", inputs: { tableSettings: "tableSettings", globalSearchSettings: "globalSearchSettings", pageSize: "pageSize", dataLength: "dataLength", allowPickColumns: "allowPickColumns", allowReorderColumns: "allowReorderColumns", localStorageName: "localStorageName", lazyLoading: "lazyLoading", isLoading: "isLoading", initColumns: "initColumns", data: "data" }, outputs: { loadData: "loadData" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"st-material-table\">\n @if (isLoading) {\n <div class=\"loading-spinner\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n\n @if (showTable) {\n <st-material-table-caption\n [allowPickColumns]=\"allowPickColumns\"\n [globalSearchSettings]=\"globalSearchSettings\"\n [columns]=\"columns\"\n [initFilters]=\"initFilters\"\n [initGlobalSearch]=\"initGlobalSearch\"\n (captionDataChanged)=\"captionDataChanged($event)\"\n (resetTableSettings)=\"resetTableSettings()\"\n ></st-material-table-caption>\n }\n\n <table\n [ngClass]=\"{ 'no-hover': !tableSettings?.rowClickAction }\"\n mat-table\n [dataSource]=\"tableSource\"\n matSort\n >\n @for (column of selectedColumns; track column) {\n <ng-container [matColumnDef]=\"column.field\">\n <th\n mat-header-cell\n *matHeaderCellDef\n style=\"{{ column.width ? 'width:' + column.width : '' }}\"\n mat-sort-header\n [disabled]=\"!column.sort\"\n >\n {{ column.translateColumnName }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n style=\"{{ column.width ? 'width:' + column.width : '' }}\"\n >\n @if (column.actions && column.actions!.length > 0) {\n <div\n class=\"actions-container\"\n style=\"overflow-y: hidden\"\n [ngClass]=\"{ 'justify-content-end': column.flexRight }\"\n >\n @for (action of column.actions; track action) {\n @if (checkIfActionVisible(element, action)) {\n @if (!action.url && action.action) {\n <button\n style=\"padding: 7px 7px; width: 40px; height: 40px\"\n class=\"col-auto\"\n mat-icon-button\n type=\"button\"\n matTooltip=\"{{ action.tooltipName || '' }}\"\n [matTooltipDisabled]=\"!action.tooltipName\"\n (click)=\"action.action(element)\"\n >\n <mat-icon>{{ action.iconName }}</mat-icon>\n </button>\n }\n @if (action.url) {\n <a [routerLink]=\"action.url\">\n <button\n class=\"col-auto\"\n mat-icon-button\n type=\"button\"\n matTooltip=\"{{ action.tooltipName || '' }}\"\n [matTooltipDisabled]=\"!action.tooltipName\"\n >\n <mat-icon>{{ action.iconName }}</mat-icon>\n </button>\n </a>\n }\n }\n }\n </div>\n }\n @if (!column.actions) {\n @if (column.translateValue) {\n <p style=\"margin: 0; padding: 0\">\n {{ column.translateValue![element[column.field]] || '' }}\n </p>\n }\n @if (!column.translateValue) {\n @if (!column.type || column.type === 'string') {\n <p style=\"margin: 0; padding: 0\">{{ element[column.field] }}</p>\n }\n @if (column.type === 'date') {\n <p style=\"margin: 0; padding: 0\">\n {{ element[column.field] | stDateTimeFormatPipe }}\n </p>\n }\n }\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"selectedColumnsString\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: selectedColumnsString\"\n (click)=\"\n tableSettings?.rowClickAction ? tableSettings.rowClickAction(row) : null\n \"\n ></tr>\n </table>\n <mat-paginator\n [showFirstLastButtons]=\"true\"\n [pageSizeOptions]=\"[5, 10, 15, 20, 25]\"\n [length]=\"dataLength\"\n ></mat-paginator>\n</div>\n", styles: [".st-material-table{position:relative}.st-material-table .loading-spinner{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000026;z-index:1;display:flex;align-items:center;justify-content:center}.st-material-table .loading-spinner mat-spinner{margin-top:2rem}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;color:#0000008a;font-size:12px}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a mat-icon{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.MaterialTableCaptionComponent, selector: "st-material-table-caption", inputs: ["globalSearchSettings", "allowPickColumns", "allowReorderColumns", "initGlobalSearch", "initFilters", "columns"], outputs: ["captionDataChanged", "resetTableSettings"] }, { kind: "pipe", type: i11.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MaterialTableComponent, selector: "ngx-st-material-table", inputs: { globalSearchSettings: "globalSearchSettings", pageSize: "pageSize", dataLength: "dataLength", allowPickColumns: "allowPickColumns", allowReorderColumns: "allowReorderColumns", localStorageName: "localStorageName", lazyLoading: "lazyLoading", isLoading: "isLoading", initColumns: "initColumns", rowClickAction: "rowClickAction", data: "data" }, outputs: { loadData: "loadData" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"st-material-table\">\n @if (isLoading) {\n <div class=\"loading-spinner\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n\n @if (showTable) {\n <st-material-table-caption\n [allowPickColumns]=\"allowPickColumns\"\n [globalSearchSettings]=\"globalSearchSettings\"\n [columns]=\"columns\"\n [initFilters]=\"initFilters\"\n [initGlobalSearch]=\"initGlobalSearch\"\n (captionDataChanged)=\"captionDataChanged($event)\"\n (resetTableSettings)=\"resetTableSettings()\"\n ></st-material-table-caption>\n }\n\n <table\n [ngClass]=\"{ 'no-hover': !rowClickAction }\"\n mat-table\n [dataSource]=\"tableSource\"\n matSort\n >\n @for (column of selectedColumns; track column) {\n <ng-container [matColumnDef]=\"column.field\">\n <th\n mat-header-cell\n *matHeaderCellDef\n style=\"{{ column.width ? 'width:' + column.width : '' }}\"\n mat-sort-header\n [disabled]=\"!column.sort\"\n >\n {{ column.translateColumnName || column.field }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n style=\"{{ column.width ? 'width:' + column.width : '' }}\"\n >\n <st-material-table-row-cell\n [column]=\"column\"\n [rowData]=\"element\"\n ></st-material-table-row-cell>\n <!-- @if (column.actions && column.actions!.length > 0) {-->\n <!-- <div-->\n <!-- class=\"actions-container\"-->\n <!-- style=\"overflow-y: hidden\"-->\n <!-- [ngClass]=\"{ 'justify-content-end': column.flexRight }\"-->\n <!-- >-->\n <!-- @for (action of column.actions; track action) {-->\n <!-- @if (checkIfActionVisible(element, action)) {-->\n <!-- @if (!action.url && action.action) {-->\n <!-- <button-->\n <!-- style=\"padding: 7px 7px; width: 40px; height: 40px\"-->\n <!-- class=\"col-auto\"-->\n <!-- mat-icon-button-->\n <!-- type=\"button\"-->\n <!-- matTooltip=\"{{ action.tooltipName || '' }}\"-->\n <!-- [matTooltipDisabled]=\"!action.tooltipName\"-->\n <!-- (click)=\"action.action(element)\"-->\n <!-- >-->\n <!-- <mat-icon>{{ action.iconName }}</mat-icon>-->\n <!-- </button>-->\n <!-- }-->\n <!-- @if (action.url) {-->\n <!-- <a [routerLink]=\"action.url\">-->\n <!-- <button-->\n <!-- class=\"col-auto\"-->\n <!-- mat-icon-button-->\n <!-- type=\"button\"-->\n <!-- matTooltip=\"{{ action.tooltipName || '' }}\"-->\n <!-- [matTooltipDisabled]=\"!action.tooltipName\"-->\n <!-- >-->\n <!-- <mat-icon>{{ action.iconName }}</mat-icon>-->\n <!-- </button>-->\n <!-- </a>-->\n <!-- }-->\n <!-- }-->\n <!-- }-->\n <!-- </div>-->\n <!-- }-->\n <!-- @if (!column.actions) {-->\n <!-- @if (column.translateValue) {-->\n <!-- <p style=\"margin: 0; padding: 0\">-->\n <!-- {{ column.translateValue![element[column.field]] || '' }}-->\n <!-- </p>-->\n <!-- }-->\n <!-- @if (!column.translateValue) {-->\n <!-- @if (!column.type || column.type === 'string') {-->\n <!-- <p style=\"margin: 0; padding: 0\">{{ element[column.field] }}</p>-->\n <!-- }-->\n <!-- @if (column.type === 'date') {-->\n <!-- <p style=\"margin: 0; padding: 0\">-->\n <!-- {{ element[column.field] | stDateTimeFormatPipe }}-->\n <!-- </p>-->\n <!-- }-->\n <!-- }-->\n <!-- }-->\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"selectedColumnsString\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: selectedColumnsString\"\n (click)=\"rowClickAction ? rowClickAction(row) : null\"\n ></tr>\n </table>\n <mat-paginator\n [showFirstLastButtons]=\"true\"\n [pageSizeOptions]=\"[5, 10, 15, 20, 25]\"\n [length]=\"dataLength\"\n ></mat-paginator>\n</div>\n", styles: [".st-material-table{position:relative}.st-material-table .loading-spinner{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000026;z-index:1;display:flex;align-items:center;justify-content:center}.st-material-table .loading-spinner mat-spinner{margin-top:2rem}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;font-size:.9rem;font-weight:600;color:#424242}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a mat-icon{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MaterialTableCaptionComponent, selector: "st-material-table-caption", inputs: ["globalSearchSettings", "allowPickColumns", "allowReorderColumns", "initGlobalSearch", "initFilters", "columns"], outputs: ["captionDataChanged", "resetTableSettings"] }, { kind: "component", type: i7.MaterialTableRowCellComponent, selector: "st-material-table-row-cell", inputs: ["column", "rowData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
283
279
|
}
|
|
284
280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MaterialTableComponent, decorators: [{
|
|
285
281
|
type: Component,
|
|
286
|
-
args: [{ selector: 'ngx-st-material-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"st-material-table\">\n @if (isLoading) {\n <div class=\"loading-spinner\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n\n @if (showTable) {\n <st-material-table-caption\n [allowPickColumns]=\"allowPickColumns\"\n [globalSearchSettings]=\"globalSearchSettings\"\n [columns]=\"columns\"\n [initFilters]=\"initFilters\"\n [initGlobalSearch]=\"initGlobalSearch\"\n (captionDataChanged)=\"captionDataChanged($event)\"\n (resetTableSettings)=\"resetTableSettings()\"\n ></st-material-table-caption>\n }\n\n <table\n [ngClass]=\"{ 'no-hover': !
|
|
282
|
+
args: [{ selector: 'ngx-st-material-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"st-material-table\">\n @if (isLoading) {\n <div class=\"loading-spinner\">\n <mat-spinner color=\"accent\"></mat-spinner>\n </div>\n }\n\n @if (showTable) {\n <st-material-table-caption\n [allowPickColumns]=\"allowPickColumns\"\n [globalSearchSettings]=\"globalSearchSettings\"\n [columns]=\"columns\"\n [initFilters]=\"initFilters\"\n [initGlobalSearch]=\"initGlobalSearch\"\n (captionDataChanged)=\"captionDataChanged($event)\"\n (resetTableSettings)=\"resetTableSettings()\"\n ></st-material-table-caption>\n }\n\n <table\n [ngClass]=\"{ 'no-hover': !rowClickAction }\"\n mat-table\n [dataSource]=\"tableSource\"\n matSort\n >\n @for (column of selectedColumns; track column) {\n <ng-container [matColumnDef]=\"column.field\">\n <th\n mat-header-cell\n *matHeaderCellDef\n style=\"{{ column.width ? 'width:' + column.width : '' }}\"\n mat-sort-header\n [disabled]=\"!column.sort\"\n >\n {{ column.translateColumnName || column.field }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n style=\"{{ column.width ? 'width:' + column.width : '' }}\"\n >\n <st-material-table-row-cell\n [column]=\"column\"\n [rowData]=\"element\"\n ></st-material-table-row-cell>\n <!-- @if (column.actions && column.actions!.length > 0) {-->\n <!-- <div-->\n <!-- class=\"actions-container\"-->\n <!-- style=\"overflow-y: hidden\"-->\n <!-- [ngClass]=\"{ 'justify-content-end': column.flexRight }\"-->\n <!-- >-->\n <!-- @for (action of column.actions; track action) {-->\n <!-- @if (checkIfActionVisible(element, action)) {-->\n <!-- @if (!action.url && action.action) {-->\n <!-- <button-->\n <!-- style=\"padding: 7px 7px; width: 40px; height: 40px\"-->\n <!-- class=\"col-auto\"-->\n <!-- mat-icon-button-->\n <!-- type=\"button\"-->\n <!-- matTooltip=\"{{ action.tooltipName || '' }}\"-->\n <!-- [matTooltipDisabled]=\"!action.tooltipName\"-->\n <!-- (click)=\"action.action(element)\"-->\n <!-- >-->\n <!-- <mat-icon>{{ action.iconName }}</mat-icon>-->\n <!-- </button>-->\n <!-- }-->\n <!-- @if (action.url) {-->\n <!-- <a [routerLink]=\"action.url\">-->\n <!-- <button-->\n <!-- class=\"col-auto\"-->\n <!-- mat-icon-button-->\n <!-- type=\"button\"-->\n <!-- matTooltip=\"{{ action.tooltipName || '' }}\"-->\n <!-- [matTooltipDisabled]=\"!action.tooltipName\"-->\n <!-- >-->\n <!-- <mat-icon>{{ action.iconName }}</mat-icon>-->\n <!-- </button>-->\n <!-- </a>-->\n <!-- }-->\n <!-- }-->\n <!-- }-->\n <!-- </div>-->\n <!-- }-->\n <!-- @if (!column.actions) {-->\n <!-- @if (column.translateValue) {-->\n <!-- <p style=\"margin: 0; padding: 0\">-->\n <!-- {{ column.translateValue![element[column.field]] || '' }}-->\n <!-- </p>-->\n <!-- }-->\n <!-- @if (!column.translateValue) {-->\n <!-- @if (!column.type || column.type === 'string') {-->\n <!-- <p style=\"margin: 0; padding: 0\">{{ element[column.field] }}</p>-->\n <!-- }-->\n <!-- @if (column.type === 'date') {-->\n <!-- <p style=\"margin: 0; padding: 0\">-->\n <!-- {{ element[column.field] | stDateTimeFormatPipe }}-->\n <!-- </p>-->\n <!-- }-->\n <!-- }-->\n <!-- }-->\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"selectedColumnsString\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: selectedColumnsString\"\n (click)=\"rowClickAction ? rowClickAction(row) : null\"\n ></tr>\n </table>\n <mat-paginator\n [showFirstLastButtons]=\"true\"\n [pageSizeOptions]=\"[5, 10, 15, 20, 25]\"\n [length]=\"dataLength\"\n ></mat-paginator>\n</div>\n", styles: [".st-material-table{position:relative}.st-material-table .loading-spinner{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000026;z-index:1;display:flex;align-items:center;justify-content:center}.st-material-table .loading-spinner mat-spinner{margin-top:2rem}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;font-size:.9rem;font-weight:600;color:#424242}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a mat-icon{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"] }]
|
|
287
283
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { paginator: [{
|
|
288
284
|
type: ViewChild,
|
|
289
285
|
args: [MatPaginator]
|
|
290
286
|
}], sort: [{
|
|
291
287
|
type: ViewChild,
|
|
292
288
|
args: [MatSort]
|
|
293
|
-
}], tableSettings: [{
|
|
294
|
-
type: Input
|
|
295
289
|
}], globalSearchSettings: [{
|
|
296
290
|
type: Input
|
|
297
291
|
}], pageSize: [{
|
|
@@ -310,9 +304,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
310
304
|
type: Input
|
|
311
305
|
}], initColumns: [{
|
|
312
306
|
type: Input
|
|
307
|
+
}], rowClickAction: [{
|
|
308
|
+
type: Input
|
|
313
309
|
}], data: [{
|
|
314
310
|
type: Input
|
|
315
311
|
}], loadData: [{
|
|
316
312
|
type: Output
|
|
317
313
|
}] } });
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVdwRSxNQUFNLE9BQU8sc0JBQ1gsU0FBUSwyQkFBMkI7SUFvQ25DLElBQ0ksSUFBSSxDQUFDLElBQVc7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FB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O3NCQURSLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlGLElBQUk7c0JBRFAsS0FBSztnQkFtQk4sUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgU3RUYWJsZVNldHRpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3QtdGFibGUtc2V0dGluZ3MubW9kZWwnO1xyXG5pbXBvcnQgeyBTdEdsb2JhbFNlYXJjaFNldHRpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3QtZ2xvYmFsLXNlYXJjaC1zZXR0aW5ncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTG9jYWxUYWJsZUFjdGlvbkNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N0LWxvY2FsLXRhYmxlLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFN0TWF0ZXJpYWxUYWJsZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N0LW1hdGVyaWFsLXRhYmxlLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFZpZXdTdE1hdGVyaWFsVGFibGVDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy92aWV3L3ZpZXctc3QtbWF0ZXJpYWwtdGFibGUtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgSUNhcHRpb25EYXRhQ2hhbmdlZCB9IGZyb20gJy4vbWF0ZXJpYWwtdGFibGUtY2FwdGlvbi9tYXRlcmlhbC10YWJsZS1jYXB0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN0U3Vic2NyaWJlRGVzdHJveUNvbXBvbmVudCB9IGZyb20gJ25neC1zdC1iYXNlLWZ1bmN0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25neC1zdC1tYXRlcmlhbC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdGVyaWFsLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL21hdGVyaWFsLXRhYmxlLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi8uLi8uLi9hc3NldHMvYmFzZS10YWJsZS5zY3NzJyxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxUYWJsZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgU3RTdWJzY3JpYmVEZXN0cm95Q29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXRcclxue1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFibGVTZXR0aW5nczogU3RUYWJsZVNldHRpbmdzTW9kZWw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2xvYmFsU2VhcmNoU2V0dGluZ3M6IFN0R2xvYmFsU2VhcmNoU2V0dGluZ3NNb2RlbDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdlU2l6ZTogbnVtYmVyID0gMTA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YUxlbmd0aDogbnVtYmVyID0gMDtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd1BpY2tDb2x1bW5zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd1Jlb3JkZXJDb2x1bW5zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBsb2NhbFN0b3JhZ2VOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBsYXp5TG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGluaXRDb2x1bW5zOiBTdE1hdGVyaWFsVGFibGVDb2x1bW5Nb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRhdGEoZGF0YTogYW55W10pIHtcclxuICAgIHRoaXMuX2RhdGEgPSBkYXRhIHx8IFtdO1xyXG4gICAgaWYgKHRoaXMudGFibGVTb3VyY2UpIHtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5kYXRhID0gZGF0YTtcclxuICAgICAgaWYgKCF0aGlzLmxhenlMb2FkaW5nICYmIHRoaXMubG9jYWxTdG9yYWdlRGF0YSkge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5wYWdlSW5kZXg7XHJcbiAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IuX2VtaXRQYWdlRXZlbnQodGhpcy5sb2NhbFN0b3JhZ2VEYXRhLnBhZ2VJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGF0YSgpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGxvYWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxTdE1hdGVyaWFsVGFibGVMb2FkRGF0YT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfZGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgY29sdW1uczogVmlld1N0TWF0ZXJpYWxUYWJsZUNvbHVtbk1vZGVsW10gPSBbXTtcclxuICBzZWxlY3RlZENvbHVtbnM6IFZpZXdTdE1hdGVyaWFsVGFibGVDb2x1bW5Nb2RlbFtdID0gW107XHJcbiAgc2VsZWN0ZWRDb2x1bW5zU3RyaW5nOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICB0YWJsZVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT47XHJcblxyXG4gIGluaXRGaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgaW5pdEdsb2JhbFNlYXJjaDogc3RyaW5nID0gJyc7XHJcblxyXG4gIHNob3dUYWJsZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgbG9jYWxTdG9yYWdlRGF0YTogU3RNYXRlcmlhbFRhYmxlTG9jYWxTdG9yYWdlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkTG9jYWxTdG9yYWdlRGF0YSgpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5ZWRDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldEluaXRUYWJsZSgpO1xyXG4gICAgdGhpcy5zZXRTb3J0UGFnZVN1YnNjcmlwdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgY2FwdGlvbkRhdGFDaGFuZ2VkKGV2ZW50OiBJQ2FwdGlvbkRhdGFDaGFuZ2VkKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY2FwdGlvbkRhdGFDaGFuZ2VkJywgZXZlbnQpO1xyXG4gICAgbGV0IGxvYWRMYXp5RGF0YSA9IGZhbHNlO1xyXG4gICAgaWYgKFxyXG4gICAgICBldmVudC5nbG9iYWxTZWFyY2ggIT09IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5nbG9iYWxTZWFyY2ggfHxcclxuICAgICAgZXZlbnQuZmlsdGVycyAhPT0gdGhpcy5sb2NhbFN0b3JhZ2VEYXRhLmZpbHRlcnNcclxuICAgICkge1xyXG4gICAgICBsb2FkTGF6eURhdGEgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9jYWxTdG9yYWdlRGF0YSA9IHtcclxuICAgICAgLi4uZXZlbnQsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcclxuICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgsXHJcbiAgICAgIHNvcnRGaWVsZDogdGhpcy5zb3J0LmFjdGl2ZSxcclxuICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnQuZGlyZWN0aW9uLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNldENvbHVtbnNPcmRlcigpO1xyXG4gICAgdGhpcy5zZXRDb2x1bW5zVmlzaWJsZSgpO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZENvbHVtbnMoKTtcclxuICAgIHRoaXMudXBkYXRlRGF0YVRvTG9jYWxTdG9yYWdlKCk7XHJcblxyXG4gICAgaWYgKGxvYWRMYXp5RGF0YSkge1xyXG4gICAgICB0aGlzLmVtaXRMYXp5TG9hZGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0lmQWN0aW9uVmlzaWJsZShyb3c6IGFueSwgYWN0aW9uOiBMb2NhbFRhYmxlQWN0aW9uQ29sdW1uTW9kZWwpIHtcclxuICAgIGlmIChhY3Rpb24uc2hvdykge1xyXG4gICAgICByZXR1cm4gYWN0aW9uLnNob3cocm93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRUYWJsZVNldHRpbmdzKCkge1xyXG4gICAgdGhpcy5zaG93VGFibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgdGhpcy5zZXROZXdFbXB0eUxvY2FsU3RvcmFnZURhdGEoKTtcclxuICAgIHRoaXMudXBkYXRlRGF0YVRvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICB0aGlzLmVtaXRMYXp5TG9hZGluZygpO1xyXG4gICAgdGhpcy5pbml0RmlsdGVycyA9IHt9O1xyXG4gICAgdGhpcy5pbml0R2xvYmFsU2VhcmNoID0gJyc7XHJcbiAgICB0aGlzLnNvcnQuc29ydCh7IGlkOiAnJywgc3RhcnQ6ICdhc2MnLCBkaXNhYmxlQ2xlYXI6IGZhbHNlIH0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3dUYWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheWVkQ29sdW1ucygpO1xyXG4gICAgICB0aGlzLnNldEluaXRUYWJsZSgpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tRmlsdGVyRm9yTG9jYWxUYWJsZSgpIHtcclxuICAgIC8vIGxldCBmaWx0ZXJGdW5jdGlvbiA9IGZ1bmN0aW9uIChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAvLyAgIGxldCBzZWFyY2hUZXJtcyA9IEpTT04ucGFyc2UoZmlsdGVyKTtcclxuICAgIC8vICAgbGV0IGlzRmlsdGVyU2V0ID0gZmFsc2U7XHJcbiAgICAvLyAgIGZvciAoY29uc3QgY29sIGluIHNlYXJjaFRlcm1zKSB7XHJcbiAgICAvLyAgICAgaWYgKHNlYXJjaFRlcm1zW2NvbF0udG9TdHJpbmcoKSAhPT0gJycpIHtcclxuICAgIC8vICAgICAgIGlzRmlsdGVyU2V0ID0gdHJ1ZTtcclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgZGVsZXRlIHNlYXJjaFRlcm1zW2NvbF07XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvL1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyhzZWFyY2hUZXJtcyk7XHJcbiAgICAvL1xyXG4gICAgLy8gICBsZXQgbmFtZVNlYXJjaCA9ICgpID0+IHtcclxuICAgIC8vICAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgIC8vICAgICBpZiAoaXNGaWx0ZXJTZXQpIHtcclxuICAgIC8vICAgICAgIGZvciAoY29uc3QgY29sIGluIHNlYXJjaFRlcm1zKSB7XHJcbiAgICAvLyAgICAgICAgIHNlYXJjaFRlcm1zW2NvbF1cclxuICAgIC8vICAgICAgICAgICAudHJpbSgpXHJcbiAgICAvLyAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgIC8vICAgICAgICAgICAuc3BsaXQoJyAnKVxyXG4gICAgLy8gICAgICAgICAgIC5mb3JFYWNoKHdvcmQgPT4ge1xyXG4gICAgLy8gICAgICAgICAgICAgaWYgKFxyXG4gICAgLy8gICAgICAgICAgICAgICBkYXRhW2NvbF0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yod29yZCkgIT0gLTEgJiZcclxuICAgIC8vICAgICAgICAgICAgICAgaXNGaWx0ZXJTZXRcclxuICAgIC8vICAgICAgICAgICAgICkge1xyXG4gICAgLy8gICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgICAgfSk7XHJcbiAgICAvLyAgICAgICB9XHJcbiAgICAvLyAgICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICAvLyAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfTtcclxuICAgIC8vICAgcmV0dXJuIG5hbWVTZWFyY2goKTtcclxuICAgIC8vIH07XHJcbiAgICAvLyByZXR1cm4gZmlsdGVyRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRMYXp5TG9hZGluZygpIHtcclxuICAgIGlmICh0aGlzLmxhenlMb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9hZERhdGEuZW1pdCh7XHJcbiAgICAgICAgZmlyc3Q6IHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCAqIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG4gICAgICAgIHJvd3M6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG4gICAgICAgIGdsb2JhbEZpbHRlcjogdGhpcy5sb2NhbFN0b3JhZ2VEYXRhLmdsb2JhbFNlYXJjaCxcclxuICAgICAgICBzb3J0RmllbGQ6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0RmllbGQsXHJcbiAgICAgICAgc29ydE9yZGVyOiB0aGlzLmxvY2FsU3RvcmFnZURhdGEuc29ydE9yZGVyLFxyXG4gICAgICAgIGZpbHRlcnM6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5maWx0ZXJzLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzZXRHbG9iYWxTZWFyY2gnLCB0aGlzLmxvY2FsU3RvcmFnZURhdGEuZ2xvYmFsU2VhcmNoKTtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5maWx0ZXIgPSB0aGlzLmxvY2FsU3RvcmFnZURhdGEuZ2xvYmFsU2VhcmNoO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVEYXRhVG9Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VOYW1lKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCd1cGRhdGVEYXRhVG9Mb2NhbFN0b3JhZ2UnLCB0aGlzLmxvY2FsU3RvcmFnZURhdGEpO1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZU5hbWUsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5sb2NhbFN0b3JhZ2VEYXRhKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0VGFibGUoKSB7XHJcbiAgICB0aGlzLnRhYmxlU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLl9kYXRhKTtcclxuXHJcbiAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5wYWdlU2l6ZTtcclxuICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5wYWdlSW5kZXg7XHJcblxyXG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0RmllbGQgJiYgdGhpcy5sb2NhbFN0b3JhZ2VEYXRhLnNvcnRPcmRlcikge1xyXG4gICAgICBjb25zdCBkaXNhYmxlQ2xlYXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zb3J0LnNvcnQoeyBpZDogJycsIHN0YXJ0OiAnYXNjJywgZGlzYWJsZUNsZWFyIH0pO1xyXG4gICAgICB0aGlzLnNvcnQuc29ydCh7XHJcbiAgICAgICAgaWQ6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0RmllbGQsXHJcbiAgICAgICAgc3RhcnQ6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0T3JkZXIsXHJcbiAgICAgICAgZGlzYWJsZUNsZWFyLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMubGF6eUxvYWRpbmcpIHtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZW1pdExhenlMb2FkaW5nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNvcnRQYWdlU3Vic2NyaXB0aW9uKCkge1xyXG4gICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdEZXN0cm95ZWQkKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcclxuICAgICAgICAgIChwcmV2LCBjdXJyKSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycilcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlRGF0YSA9IHtcclxuICAgICAgICAgIC4uLnRoaXMubG9jYWxTdG9yYWdlRGF0YSxcclxuICAgICAgICAgIHNvcnRGaWVsZDogcmVzLmFjdGl2ZSxcclxuICAgICAgICAgIHNvcnRPcmRlcjogcmVzLmRpcmVjdGlvbixcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YVRvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgdGhpcy5lbWl0TGF6eUxvYWRpbmcoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0b3IucGFnZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ0Rlc3Ryb3llZCQpLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxyXG4gICAgICAgICAgKHByZXYsIGN1cnIpID0+IEpTT04uc3RyaW5naWZ5KHByZXYpID09PSBKU09OLnN0cmluZ2lmeShjdXJyKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VEYXRhID0ge1xyXG4gICAgICAgICAgLi4udGhpcy5sb2NhbFN0b3JhZ2VEYXRhLFxyXG4gICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVEYXRhVG9Mb2NhbFN0b3JhZ2UoKTtcclxuICAgICAgICB0aGlzLmVtaXRMYXp5TG9hZGluZygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGlzcGxheWVkQ29sdW1ucygpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMubG9jYWxTdG9yYWdlRGF0YSk7XHJcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmluaXRDb2x1bW5zLm1hcChjb2wgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmNvbCxcclxuICAgICAgICB0eXBlOiBjb2wudHlwZSA/IGNvbC50eXBlIDogJ3N0cmluZycsXHJcbiAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBleHBhbmRlZDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc2V0Q29sdW1uc09yZGVyKCk7XHJcbiAgICB0aGlzLnNldENvbHVtbnNWaXNpYmxlKCk7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkQ29sdW1ucygpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uc09yZGVyKCkge1xyXG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlRGF0YT8uY29sdW1uc09yZGVyKSB7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5jb2x1bW5zT3JkZXIubWFwKFxyXG4gICAgICAgIGNvbHVtbiA9PiB0aGlzLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLmZpZWxkID09PSBjb2x1bW4pIVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb2x1bW5zVmlzaWJsZSgpIHtcclxuICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZURhdGE/LnNlbGVjdGVkQ29sdW1ucykge1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLmNvbCxcclxuICAgICAgICAgIHZpc2libGU6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zZWxlY3RlZENvbHVtbnMuaW5jbHVkZXMoY29sLmZpZWxkKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbCA9PiB7XHJcbiAgICAgIHJldHVybiBjb2wudmlzaWJsZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbnNTdHJpbmcgPSB0aGlzLnNlbGVjdGVkQ29sdW1ucy5tYXAoY29sID0+IGNvbC5maWVsZCk7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkTG9jYWxTdG9yYWdlRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZU5hbWUpIHtcclxuICAgICAgY29uc3QgbG9jYWxTdG9yYWdlRGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTmFtZSk7XHJcblxyXG4gICAgICBpZiAobG9jYWxTdG9yYWdlRGF0YSkge1xyXG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5pbml0RmlsdGVycyA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5maWx0ZXJzIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuaW5pdEdsb2JhbFNlYXJjaCA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5nbG9iYWxTZWFyY2g7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXROZXdFbXB0eUxvY2FsU3RvcmFnZURhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXROZXdFbXB0eUxvY2FsU3RvcmFnZURhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TmV3RW1wdHlMb2NhbFN0b3JhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VEYXRhID0ge1xyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgcGFnZUluZGV4OiAwLFxyXG4gICAgICBzZWxlY3RlZENvbHVtbnM6IHRoaXMuaW5pdENvbHVtbnMubWFwKGNvbCA9PiBjb2wuZmllbGQpLFxyXG4gICAgICBnbG9iYWxTZWFyY2g6ICcnLFxyXG4gICAgICBjb2x1bW5zT3JkZXI6IHRoaXMuaW5pdENvbHVtbnMubWFwKGNvbCA9PiBjb2wuZmllbGQpLFxyXG4gICAgICBmaWx0ZXJzOiB7fSxcclxuICAgICAgc29ydEZpZWxkOiAnJyxcclxuICAgICAgc29ydE9yZGVyOiAnYXNjJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0TWF0ZXJpYWxUYWJsZUxvYWREYXRhIHtcclxuICBmaXJzdDogbnVtYmVyO1xyXG4gIHJvd3M6IG51bWJlcjtcclxuICBnbG9iYWxGaWx0ZXI6IHN0cmluZztcclxuICBzb3J0RmllbGQ6IHN0cmluZztcclxuICBzb3J0T3JkZXI6IFNvcnREaXJlY3Rpb247XHJcbiAgZmlsdGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdE1hdGVyaWFsVGFibGVMb2NhbFN0b3JhZ2UgZXh0ZW5kcyBJQ2FwdGlvbkRhdGFDaGFuZ2VkIHtcclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gIHBhZ2VJbmRleDogbnVtYmVyO1xyXG4gIHNvcnRGaWVsZDogc3RyaW5nO1xyXG4gIHNvcnRPcmRlcjogU29ydERpcmVjdGlvbjtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic3QtbWF0ZXJpYWwtdGFibGVcIj5cbiAgQGlmIChpc0xvYWRpbmcpIHtcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zcGlubmVyXCI+XG4gICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChzaG93VGFibGUpIHtcbiAgICA8c3QtbWF0ZXJpYWwtdGFibGUtY2FwdGlvblxuICAgICAgW2FsbG93UGlja0NvbHVtbnNdPVwiYWxsb3dQaWNrQ29sdW1uc1wiXG4gICAgICBbZ2xvYmFsU2VhcmNoU2V0dGluZ3NdPVwiZ2xvYmFsU2VhcmNoU2V0dGluZ3NcIlxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICBbaW5pdEZpbHRlcnNdPVwiaW5pdEZpbHRlcnNcIlxuICAgICAgW2luaXRHbG9iYWxTZWFyY2hdPVwiaW5pdEdsb2JhbFNlYXJjaFwiXG4gICAgICAoY2FwdGlvbkRhdGFDaGFuZ2VkKT1cImNhcHRpb25EYXRhQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIChyZXNldFRhYmxlU2V0dGluZ3MpPVwicmVzZXRUYWJsZVNldHRpbmdzKClcIlxuICAgID48L3N0LW1hdGVyaWFsLXRhYmxlLWNhcHRpb24+XG4gIH1cblxuICA8dGFibGVcbiAgICBbbmdDbGFzc109XCJ7ICduby1ob3Zlcic6ICF0YWJsZVNldHRpbmdzPy5yb3dDbGlja0FjdGlvbiB9XCJcbiAgICBtYXQtdGFibGVcbiAgICBbZGF0YVNvdXJjZV09XCJ0YWJsZVNvdXJjZVwiXG4gICAgbWF0U29ydFxuICA+XG4gICAgQGZvciAoY29sdW1uIG9mIHNlbGVjdGVkQ29sdW1uczsgdHJhY2sgY29sdW1uKSB7XG4gICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmZpZWxkXCI+XG4gICAgICAgIDx0aFxuICAgICAgICAgIG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAgICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgc3R5bGU9XCJ7eyBjb2x1bW4ud2lkdGggPyAnd2lkdGg6JyArIGNvbHVtbi53aWR0aCA6ICcnIH19XCJcbiAgICAgICAgICBtYXQtc29ydC1oZWFkZXJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNvbHVtbi5zb3J0XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNvbHVtbi50cmFuc2xhdGVDb2x1bW5OYW1lIH19XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZFxuICAgICAgICAgIG1hdC1jZWxsXG4gICAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiXG4gICAgICAgICAgc3R5bGU9XCJ7eyBjb2x1bW4ud2lkdGggPyAnd2lkdGg6JyArIGNvbHVtbi53aWR0aCA6ICcnIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAoY29sdW1uLmFjdGlvbnMgJiYgY29sdW1uLmFjdGlvbnMhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogaGlkZGVuXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnanVzdGlmeS1jb250ZW50LWVuZCc6IGNvbHVtbi5mbGV4UmlnaHQgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBjb2x1bW4uYWN0aW9uczsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgQGlmIChjaGVja0lmQWN0aW9uVmlzaWJsZShlbGVtZW50LCBhY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCFhY3Rpb24udXJsICYmIGFjdGlvbi5hY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZzogN3B4IDdweDsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweFwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7IGFjdGlvbi50b29sdGlwTmFtZSB8fCAnJyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhYWN0aW9uLnRvb2x0aXBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmFjdGlvbihlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+e3sgYWN0aW9uLmljb25OYW1lIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaWYgKGFjdGlvbi51cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiYWN0aW9uLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcE5hbWUgfHwgJycgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhYWN0aW9uLnRvb2x0aXBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+e3sgYWN0aW9uLmljb25OYW1lIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoIWNvbHVtbi5hY3Rpb25zKSB7XG4gICAgICAgICAgICBAaWYgKGNvbHVtbi50cmFuc2xhdGVWYWx1ZSkge1xuICAgICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbjogMDsgcGFkZGluZzogMFwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbHVtbi50cmFuc2xhdGVWYWx1ZSFbZWxlbWVudFtjb2x1bW4uZmllbGRdXSB8fCAnJyB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKCFjb2x1bW4udHJhbnNsYXRlVmFsdWUpIHtcbiAgICAgICAgICAgICAgQGlmICghY29sdW1uLnR5cGUgfHwgY29sdW1uLnR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46IDA7IHBhZGRpbmc6IDBcIj57eyBlbGVtZW50W2NvbHVtbi5maWVsZF0gfX08L3A+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChjb2x1bW4udHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46IDA7IHBhZGRpbmc6IDBcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGVsZW1lbnRbY29sdW1uLmZpZWxkXSB8IHN0RGF0ZVRpbWVGb3JtYXRQaXBlIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgfVxuXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJzZWxlY3RlZENvbHVtbnNTdHJpbmdcIj48L3RyPlxuICAgIDx0clxuICAgICAgbWF0LXJvd1xuICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IHNlbGVjdGVkQ29sdW1uc1N0cmluZ1wiXG4gICAgICAoY2xpY2spPVwiXG4gICAgICAgIHRhYmxlU2V0dGluZ3M/LnJvd0NsaWNrQWN0aW9uID8gdGFibGVTZXR0aW5ncy5yb3dDbGlja0FjdGlvbihyb3cpIDogbnVsbFxuICAgICAgXCJcbiAgICA+PC90cj5cbiAgPC90YWJsZT5cbiAgPG1hdC1wYWdpbmF0b3JcbiAgICBbc2hvd0ZpcnN0TGFzdEJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDE1LCAyMCwgMjVdXCJcbiAgICBbbGVuZ3RoXT1cImRhdGFMZW5ndGhcIlxuICA+PC9tYXQtcGFnaW5hdG9yPlxuPC9kaXY+XG4iXX0=
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7O0FBV3BFLE1BQU0sT0FBTyxzQkFDWCxTQUFRLDJCQUEyQjtJQW9DbkMsSUFDSSxJQUFJLENBQUMsSUFBVztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dC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RFYsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSUYsSUFBSTtzQkFEUCxLQUFLO2dCQW1CTixRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0U29ydCwgU29ydERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBTdFRhYmxlU2V0dGluZ3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zdC10YWJsZS1zZXR0aW5ncy5tb2RlbCc7XHJcbmltcG9ydCB7IFN0R2xvYmFsU2VhcmNoU2V0dGluZ3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zdC1nbG9iYWwtc2VhcmNoLXNldHRpbmdzLm1vZGVsJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBMb2NhbFRhYmxlQWN0aW9uQ29sdW1uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3QtbG9jYWwtdGFibGUtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgU3RNYXRlcmlhbFRhYmxlQ29sdW1uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3QtbWF0ZXJpYWwtdGFibGUtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgVmlld1N0TWF0ZXJpYWxUYWJsZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3ZpZXcvdmlldy1zdC1tYXRlcmlhbC10YWJsZS1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBJQ2FwdGlvbkRhdGFDaGFuZ2VkIH0gZnJvbSAnLi9tYXRlcmlhbC10YWJsZS1jYXB0aW9uL21hdGVyaWFsLXRhYmxlLWNhcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3RTdWJzY3JpYmVEZXN0cm95Q29tcG9uZW50IH0gZnJvbSAnbmd4LXN0LWJhc2UtZnVuY3Rpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LXN0LW1hdGVyaWFsLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uLy4uLy4uL2Fzc2V0cy9iYXNlLXRhYmxlLnNjc3MnLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFRhYmxlQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBTdFN1YnNjcmliZURlc3Ryb3lDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydDtcclxuXHJcbiAgQElucHV0KClcclxuICBnbG9iYWxTZWFyY2hTZXR0aW5nczogU3RHbG9iYWxTZWFyY2hTZXR0aW5nc01vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhTGVuZ3RoOiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93UGlja0NvbHVtbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93UmVvcmRlckNvbHVtbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvY2FsU3RvcmFnZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxhenlMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaW5pdENvbHVtbnM6IFN0TWF0ZXJpYWxUYWJsZUNvbHVtbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICByb3dDbGlja0FjdGlvbjogKChyb3c6IGFueSkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRhdGEoZGF0YTogYW55W10pIHtcclxuICAgIHRoaXMuX2RhdGEgPSBkYXRhIHx8IFtdO1xyXG4gICAgaWYgKHRoaXMudGFibGVTb3VyY2UpIHtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5kYXRhID0gZGF0YTtcclxuICAgICAgaWYgKCF0aGlzLmxhenlMb2FkaW5nICYmIHRoaXMubG9jYWxTdG9yYWdlRGF0YSkge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5wYWdlSW5kZXg7XHJcbiAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IuX2VtaXRQYWdlRXZlbnQodGhpcy5sb2NhbFN0b3JhZ2VEYXRhLnBhZ2VJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGF0YSgpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGxvYWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxTdE1hdGVyaWFsVGFibGVMb2FkRGF0YT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfZGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgY29sdW1uczogVmlld1N0TWF0ZXJpYWxUYWJsZUNvbHVtbk1vZGVsW10gPSBbXTtcclxuICBzZWxlY3RlZENvbHVtbnM6IFZpZXdTdE1hdGVyaWFsVGFibGVDb2x1bW5Nb2RlbFtdID0gW107XHJcbiAgc2VsZWN0ZWRDb2x1bW5zU3RyaW5nOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICB0YWJsZVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT47XHJcblxyXG4gIGluaXRGaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgaW5pdEdsb2JhbFNlYXJjaDogc3RyaW5nID0gJyc7XHJcblxyXG4gIHNob3dUYWJsZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgbG9jYWxTdG9yYWdlRGF0YTogU3RNYXRlcmlhbFRhYmxlTG9jYWxTdG9yYWdlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkTG9jYWxTdG9yYWdlRGF0YSgpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5ZWRDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldEluaXRUYWJsZSgpO1xyXG4gICAgdGhpcy5zZXRTb3J0UGFnZVN1YnNjcmlwdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgY2FwdGlvbkRhdGFDaGFuZ2VkKGV2ZW50OiBJQ2FwdGlvbkRhdGFDaGFuZ2VkKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY2FwdGlvbkRhdGFDaGFuZ2VkJywgZXZlbnQpO1xyXG4gICAgbGV0IGxvYWRMYXp5RGF0YSA9IGZhbHNlO1xyXG4gICAgaWYgKFxyXG4gICAgICBldmVudC5nbG9iYWxTZWFyY2ggIT09IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5nbG9iYWxTZWFyY2ggfHxcclxuICAgICAgZXZlbnQuZmlsdGVycyAhPT0gdGhpcy5sb2NhbFN0b3JhZ2VEYXRhLmZpbHRlcnNcclxuICAgICkge1xyXG4gICAgICBsb2FkTGF6eURhdGEgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9jYWxTdG9yYWdlRGF0YSA9IHtcclxuICAgICAgLi4uZXZlbnQsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcclxuICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgsXHJcbiAgICAgIHNvcnRGaWVsZDogdGhpcy5zb3J0LmFjdGl2ZSxcclxuICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnQuZGlyZWN0aW9uLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNldENvbHVtbnNPcmRlcigpO1xyXG4gICAgdGhpcy5zZXRDb2x1bW5zVmlzaWJsZSgpO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZENvbHVtbnMoKTtcclxuICAgIHRoaXMudXBkYXRlRGF0YVRvTG9jYWxTdG9yYWdlKCk7XHJcblxyXG4gICAgaWYgKGxvYWRMYXp5RGF0YSkge1xyXG4gICAgICB0aGlzLmVtaXRMYXp5TG9hZGluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0lmQWN0aW9uVmlzaWJsZShyb3c6IGFueSwgYWN0aW9uOiBMb2NhbFRhYmxlQWN0aW9uQ29sdW1uTW9kZWwpIHtcclxuICAgIGlmIChhY3Rpb24uc2hvdykge1xyXG4gICAgICByZXR1cm4gYWN0aW9uLnNob3cocm93KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRUYWJsZVNldHRpbmdzKCkge1xyXG4gICAgdGhpcy5zaG93VGFibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgdGhpcy5zZXROZXdFbXB0eUxvY2FsU3RvcmFnZURhdGEoKTtcclxuICAgIHRoaXMudXBkYXRlRGF0YVRvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICB0aGlzLmVtaXRMYXp5TG9hZGluZygpO1xyXG4gICAgdGhpcy5pbml0RmlsdGVycyA9IHt9O1xyXG4gICAgdGhpcy5pbml0R2xvYmFsU2VhcmNoID0gJyc7XHJcbiAgICB0aGlzLnNvcnQuc29ydCh7IGlkOiAnJywgc3RhcnQ6ICdhc2MnLCBkaXNhYmxlQ2xlYXI6IGZhbHNlIH0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3dUYWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheWVkQ29sdW1ucygpO1xyXG4gICAgICB0aGlzLnNldEluaXRUYWJsZSgpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tRmlsdGVyRm9yTG9jYWxUYWJsZSgpIHtcclxuICAgIC8vIGxldCBmaWx0ZXJGdW5jdGlvbiA9IGZ1bmN0aW9uIChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAvLyAgIGxldCBzZWFyY2hUZXJtcyA9IEpTT04ucGFyc2UoZmlsdGVyKTtcclxuICAgIC8vICAgbGV0IGlzRmlsdGVyU2V0ID0gZmFsc2U7XHJcbiAgICAvLyAgIGZvciAoY29uc3QgY29sIGluIHNlYXJjaFRlcm1zKSB7XHJcbiAgICAvLyAgICAgaWYgKHNlYXJjaFRlcm1zW2NvbF0udG9TdHJpbmcoKSAhPT0gJycpIHtcclxuICAgIC8vICAgICAgIGlzRmlsdGVyU2V0ID0gdHJ1ZTtcclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgZGVsZXRlIHNlYXJjaFRlcm1zW2NvbF07XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvL1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyhzZWFyY2hUZXJtcyk7XHJcbiAgICAvL1xyXG4gICAgLy8gICBsZXQgbmFtZVNlYXJjaCA9ICgpID0+IHtcclxuICAgIC8vICAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgIC8vICAgICBpZiAoaXNGaWx0ZXJTZXQpIHtcclxuICAgIC8vICAgICAgIGZvciAoY29uc3QgY29sIGluIHNlYXJjaFRlcm1zKSB7XHJcbiAgICAvLyAgICAgICAgIHNlYXJjaFRlcm1zW2NvbF1cclxuICAgIC8vICAgICAgICAgICAudHJpbSgpXHJcbiAgICAvLyAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgIC8vICAgICAgICAgICAuc3BsaXQoJyAnKVxyXG4gICAgLy8gICAgICAgICAgIC5mb3JFYWNoKHdvcmQgPT4ge1xyXG4gICAgLy8gICAgICAgICAgICAgaWYgKFxyXG4gICAgLy8gICAgICAgICAgICAgICBkYXRhW2NvbF0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yod29yZCkgIT0gLTEgJiZcclxuICAgIC8vICAgICAgICAgICAgICAgaXNGaWx0ZXJTZXRcclxuICAgIC8vICAgICAgICAgICAgICkge1xyXG4gICAgLy8gICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgICAgfSk7XHJcbiAgICAvLyAgICAgICB9XHJcbiAgICAvLyAgICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICAvLyAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfTtcclxuICAgIC8vICAgcmV0dXJuIG5hbWVTZWFyY2goKTtcclxuICAgIC8vIH07XHJcbiAgICAvLyByZXR1cm4gZmlsdGVyRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRMYXp5TG9hZGluZygpIHtcclxuICAgIGlmICh0aGlzLmxhenlMb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9hZERhdGEuZW1pdCh7XHJcbiAgICAgICAgZmlyc3Q6IHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCAqIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG4gICAgICAgIHJvd3M6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG4gICAgICAgIGdsb2JhbEZpbHRlcjogdGhpcy5sb2NhbFN0b3JhZ2VEYXRhLmdsb2JhbFNlYXJjaCxcclxuICAgICAgICBzb3J0RmllbGQ6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0RmllbGQsXHJcbiAgICAgICAgc29ydE9yZGVyOiB0aGlzLmxvY2FsU3RvcmFnZURhdGEuc29ydE9yZGVyLFxyXG4gICAgICAgIGZpbHRlcnM6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5maWx0ZXJzLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzZXRHbG9iYWxTZWFyY2gnLCB0aGlzLmxvY2FsU3RvcmFnZURhdGEuZ2xvYmFsU2VhcmNoKTtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5maWx0ZXIgPSB0aGlzLmxvY2FsU3RvcmFnZURhdGEuZ2xvYmFsU2VhcmNoO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVEYXRhVG9Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VOYW1lKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCd1cGRhdGVEYXRhVG9Mb2NhbFN0b3JhZ2UnLCB0aGlzLmxvY2FsU3RvcmFnZURhdGEpO1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZU5hbWUsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5sb2NhbFN0b3JhZ2VEYXRhKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0VGFibGUoKSB7XHJcbiAgICB0aGlzLnRhYmxlU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLl9kYXRhKTtcclxuXHJcbiAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5wYWdlU2l6ZTtcclxuICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5wYWdlSW5kZXg7XHJcblxyXG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0RmllbGQgJiYgdGhpcy5sb2NhbFN0b3JhZ2VEYXRhLnNvcnRPcmRlcikge1xyXG4gICAgICBjb25zdCBkaXNhYmxlQ2xlYXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zb3J0LnNvcnQoeyBpZDogJycsIHN0YXJ0OiAnYXNjJywgZGlzYWJsZUNsZWFyIH0pO1xyXG4gICAgICB0aGlzLnNvcnQuc29ydCh7XHJcbiAgICAgICAgaWQ6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0RmllbGQsXHJcbiAgICAgICAgc3RhcnQ6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zb3J0T3JkZXIsXHJcbiAgICAgICAgZGlzYWJsZUNsZWFyLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMubGF6eUxvYWRpbmcpIHtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgICAgdGhpcy50YWJsZVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZW1pdExhenlMb2FkaW5nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNvcnRQYWdlU3Vic2NyaXB0aW9uKCkge1xyXG4gICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdEZXN0cm95ZWQkKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcclxuICAgICAgICAgIChwcmV2LCBjdXJyKSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycilcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlRGF0YSA9IHtcclxuICAgICAgICAgIC4uLnRoaXMubG9jYWxTdG9yYWdlRGF0YSxcclxuICAgICAgICAgIHNvcnRGaWVsZDogcmVzLmFjdGl2ZSxcclxuICAgICAgICAgIHNvcnRPcmRlcjogcmVzLmRpcmVjdGlvbixcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YVRvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgdGhpcy5lbWl0TGF6eUxvYWRpbmcoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0b3IucGFnZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ0Rlc3Ryb3llZCQpLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxyXG4gICAgICAgICAgKHByZXYsIGN1cnIpID0+IEpTT04uc3RyaW5naWZ5KHByZXYpID09PSBKU09OLnN0cmluZ2lmeShjdXJyKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VEYXRhID0ge1xyXG4gICAgICAgICAgLi4udGhpcy5sb2NhbFN0b3JhZ2VEYXRhLFxyXG4gICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVEYXRhVG9Mb2NhbFN0b3JhZ2UoKTtcclxuICAgICAgICB0aGlzLmVtaXRMYXp5TG9hZGluZygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGlzcGxheWVkQ29sdW1ucygpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMubG9jYWxTdG9yYWdlRGF0YSk7XHJcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmluaXRDb2x1bW5zLm1hcChjb2wgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmNvbCxcclxuICAgICAgICB0eXBlOiBjb2wudHlwZSA/IGNvbC50eXBlIDogJ3N0cmluZycsXHJcbiAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBleHBhbmRlZDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc2V0Q29sdW1uc09yZGVyKCk7XHJcbiAgICB0aGlzLnNldENvbHVtbnNWaXNpYmxlKCk7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkQ29sdW1ucygpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uc09yZGVyKCkge1xyXG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlRGF0YT8uY29sdW1uc09yZGVyKSB7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5jb2x1bW5zT3JkZXIubWFwKFxyXG4gICAgICAgIGNvbHVtbiA9PiB0aGlzLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLmZpZWxkID09PSBjb2x1bW4pIVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb2x1bW5zVmlzaWJsZSgpIHtcclxuICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZURhdGE/LnNlbGVjdGVkQ29sdW1ucykge1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLmNvbCxcclxuICAgICAgICAgIHZpc2libGU6IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5zZWxlY3RlZENvbHVtbnMuaW5jbHVkZXMoY29sLmZpZWxkKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbCA9PiB7XHJcbiAgICAgIHJldHVybiBjb2wudmlzaWJsZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENvbHVtbnNTdHJpbmcgPSB0aGlzLnNlbGVjdGVkQ29sdW1ucy5tYXAoY29sID0+IGNvbC5maWVsZCk7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkTG9jYWxTdG9yYWdlRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZU5hbWUpIHtcclxuICAgICAgY29uc3QgbG9jYWxTdG9yYWdlRGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTmFtZSk7XHJcblxyXG4gICAgICBpZiAobG9jYWxTdG9yYWdlRGF0YSkge1xyXG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5pbml0RmlsdGVycyA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5maWx0ZXJzIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuaW5pdEdsb2JhbFNlYXJjaCA9IHRoaXMubG9jYWxTdG9yYWdlRGF0YS5nbG9iYWxTZWFyY2g7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXROZXdFbXB0eUxvY2FsU3RvcmFnZURhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXROZXdFbXB0eUxvY2FsU3RvcmFnZURhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TmV3RW1wdHlMb2NhbFN0b3JhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VEYXRhID0ge1xyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgcGFnZUluZGV4OiAwLFxyXG4gICAgICBzZWxlY3RlZENvbHVtbnM6IHRoaXMuaW5pdENvbHVtbnMubWFwKGNvbCA9PiBjb2wuZmllbGQpLFxyXG4gICAgICBnbG9iYWxTZWFyY2g6ICcnLFxyXG4gICAgICBjb2x1bW5zT3JkZXI6IHRoaXMuaW5pdENvbHVtbnMubWFwKGNvbCA9PiBjb2wuZmllbGQpLFxyXG4gICAgICBmaWx0ZXJzOiB7fSxcclxuICAgICAgc29ydEZpZWxkOiAnJyxcclxuICAgICAgc29ydE9yZGVyOiAnYXNjJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0TWF0ZXJpYWxUYWJsZUxvYWREYXRhIHtcclxuICBmaXJzdDogbnVtYmVyO1xyXG4gIHJvd3M6IG51bWJlcjtcclxuICBnbG9iYWxGaWx0ZXI6IHN0cmluZztcclxuICBzb3J0RmllbGQ6IHN0cmluZztcclxuICBzb3J0T3JkZXI6IFNvcnREaXJlY3Rpb247XHJcbiAgZmlsdGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdE1hdGVyaWFsVGFibGVMb2NhbFN0b3JhZ2UgZXh0ZW5kcyBJQ2FwdGlvbkRhdGFDaGFuZ2VkIHtcclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gIHBhZ2VJbmRleDogbnVtYmVyO1xyXG4gIHNvcnRGaWVsZDogc3RyaW5nO1xyXG4gIHNvcnRPcmRlcjogU29ydERpcmVjdGlvbjtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic3QtbWF0ZXJpYWwtdGFibGVcIj5cbiAgQGlmIChpc0xvYWRpbmcpIHtcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zcGlubmVyXCI+XG4gICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChzaG93VGFibGUpIHtcbiAgICA8c3QtbWF0ZXJpYWwtdGFibGUtY2FwdGlvblxuICAgICAgW2FsbG93UGlja0NvbHVtbnNdPVwiYWxsb3dQaWNrQ29sdW1uc1wiXG4gICAgICBbZ2xvYmFsU2VhcmNoU2V0dGluZ3NdPVwiZ2xvYmFsU2VhcmNoU2V0dGluZ3NcIlxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICBbaW5pdEZpbHRlcnNdPVwiaW5pdEZpbHRlcnNcIlxuICAgICAgW2luaXRHbG9iYWxTZWFyY2hdPVwiaW5pdEdsb2JhbFNlYXJjaFwiXG4gICAgICAoY2FwdGlvbkRhdGFDaGFuZ2VkKT1cImNhcHRpb25EYXRhQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIChyZXNldFRhYmxlU2V0dGluZ3MpPVwicmVzZXRUYWJsZVNldHRpbmdzKClcIlxuICAgID48L3N0LW1hdGVyaWFsLXRhYmxlLWNhcHRpb24+XG4gIH1cblxuICA8dGFibGVcbiAgICBbbmdDbGFzc109XCJ7ICduby1ob3Zlcic6ICFyb3dDbGlja0FjdGlvbiB9XCJcbiAgICBtYXQtdGFibGVcbiAgICBbZGF0YVNvdXJjZV09XCJ0YWJsZVNvdXJjZVwiXG4gICAgbWF0U29ydFxuICA+XG4gICAgQGZvciAoY29sdW1uIG9mIHNlbGVjdGVkQ29sdW1uczsgdHJhY2sgY29sdW1uKSB7XG4gICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmZpZWxkXCI+XG4gICAgICAgIDx0aFxuICAgICAgICAgIG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAgICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgICAgc3R5bGU9XCJ7eyBjb2x1bW4ud2lkdGggPyAnd2lkdGg6JyArIGNvbHVtbi53aWR0aCA6ICcnIH19XCJcbiAgICAgICAgICBtYXQtc29ydC1oZWFkZXJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNvbHVtbi5zb3J0XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNvbHVtbi50cmFuc2xhdGVDb2x1bW5OYW1lIHx8IGNvbHVtbi5maWVsZCB9fVxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGRcbiAgICAgICAgICBtYXQtY2VsbFxuICAgICAgICAgICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIlxuICAgICAgICAgIHN0eWxlPVwie3sgY29sdW1uLndpZHRoID8gJ3dpZHRoOicgKyBjb2x1bW4ud2lkdGggOiAnJyB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3QtbWF0ZXJpYWwtdGFibGUtcm93LWNlbGxcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgIFtyb3dEYXRhXT1cImVsZW1lbnRcIlxuICAgICAgICAgID48L3N0LW1hdGVyaWFsLXRhYmxlLXJvdy1jZWxsPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgQGlmIChjb2x1bW4uYWN0aW9ucyAmJiBjb2x1bW4uYWN0aW9ucyEubGVuZ3RoID4gMCkgey0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICA8ZGl2LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgc3R5bGU9XCJvdmVyZmxvdy15OiBoaWRkZW5cIi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2p1c3RpZnktY29udGVudC1lbmQnOiBjb2x1bW4uZmxleFJpZ2h0IH1cIi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICA+LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGNvbHVtbi5hY3Rpb25zOyB0cmFjayBhY3Rpb24pIHstLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIEBpZiAoY2hlY2tJZkFjdGlvblZpc2libGUoZWxlbWVudCwgYWN0aW9uKSkgey0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICBAaWYgKCFhY3Rpb24udXJsICYmIGFjdGlvbi5hY3Rpb24pIHstLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICA8YnV0dG9uLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmc6IDdweCA3cHg7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHhcIi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtYXV0b1wiLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7IGFjdGlvbi50b29sdGlwTmFtZSB8fCAnJyB9fVwiLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiFhY3Rpb24udG9vbHRpcE5hbWVcIi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5hY3Rpb24oZWxlbWVudClcIi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgID4tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBhY3Rpb24uaWNvbk5hbWUgfX08L21hdC1pY29uPi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICB9LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLnVybCkgey0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImFjdGlvbi51cmxcIj4tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtYXV0b1wiLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCItLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7IGFjdGlvbi50b29sdGlwTmFtZSB8fCAnJyB9fVwiLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiIWFjdGlvbi50b29sdGlwTmFtZVwiLS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICA+LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBhY3Rpb24uaWNvbk5hbWUgfX08L21hdC1pY29uPi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgPC9hPi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICB9LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICB9LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgfS0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICA8L2Rpdj4tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgIH0tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgIEBpZiAoIWNvbHVtbi5hY3Rpb25zKSB7LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgIEBpZiAoY29sdW1uLnRyYW5zbGF0ZVZhbHVlKSB7LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46IDA7IHBhZGRpbmc6IDBcIj4tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIHt7IGNvbHVtbi50cmFuc2xhdGVWYWx1ZSFbZWxlbWVudFtjb2x1bW4uZmllbGRdXSB8fCAnJyB9fS0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgIDwvcD4tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgfS0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICBAaWYgKCFjb2x1bW4udHJhbnNsYXRlVmFsdWUpIHstLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICBAaWYgKCFjb2x1bW4udHlwZSB8fCBjb2x1bW4udHlwZSA9PT0gJ3N0cmluZycpIHstLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luOiAwOyBwYWRkaW5nOiAwXCI+e3sgZWxlbWVudFtjb2x1bW4uZmllbGRdIH19PC9wPi0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICAgIH0tLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICBAaWYgKGNvbHVtbi50eXBlID09PSAnZGF0ZScpIHstLT5cbiAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luOiAwOyBwYWRkaW5nOiAwXCI+LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgIHt7IGVsZW1lbnRbY29sdW1uLmZpZWxkXSB8IHN0RGF0ZVRpbWVGb3JtYXRQaXBlIH19LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICA8L3A+LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICAgICAgfS0tPlxuICAgICAgICAgIDwhLS0gICAgICAgICAgICB9LS0+XG4gICAgICAgICAgPCEtLSAgICAgICAgICB9LS0+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICB9XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cInNlbGVjdGVkQ29sdW1uc1N0cmluZ1wiPjwvdHI+XG4gICAgPHRyXG4gICAgICBtYXQtcm93XG4gICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogc2VsZWN0ZWRDb2x1bW5zU3RyaW5nXCJcbiAgICAgIChjbGljayk9XCJyb3dDbGlja0FjdGlvbiA/IHJvd0NsaWNrQWN0aW9uKHJvdykgOiBudWxsXCJcbiAgICA+PC90cj5cbiAgPC90YWJsZT5cbiAgPG1hdC1wYWdpbmF0b3JcbiAgICBbc2hvd0ZpcnN0TGFzdEJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDE1LCAyMCwgMjVdXCJcbiAgICBbbGVuZ3RoXT1cImRhdGFMZW5ndGhcIlxuICA+PC9tYXQtcGFnaW5hdG9yPlxuPC9kaXY+XG4iXX0=
|
|
@@ -68,11 +68,11 @@ export class SelectTableComponent {
|
|
|
68
68
|
return !!this.rowSelected.find(activeRow => activeRow === row);
|
|
69
69
|
}
|
|
70
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectTableComponent, selector: "ngx-st-select-table", inputs: { title: "title", required: "required", multiple: "multiple", initSelected: "initSelected", initSearchVal: "initSearchVal", searchLabel: "searchLabel", selectedLabel: "selectedLabel", setInitColumns: "setInitColumns", tableData: "tableData", validError: "validError" }, outputs: { returnRowSelected: "returnRowSelected" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<div class=\"shared-table-selector\">\n <p class=\"title\" [ngClass]=\"{ 'error-text': validError }\">\n {{ title }} {{ required ? '*' : '' }}\n </p>\n\n <div class=\"search-form row align-items-center\">\n <div class=\"col-sm-12 col-md row align-items-center\">\n <mat-form-field class=\"col\">\n <input\n matInput\n placeholder=\"{{ searchLabel }}\"\n [formControl]=\"search\"\n />\n </mat-form-field>\n <div class=\"clear col-auto\">\n <mat-icon (click)=\"clearSearch()\">clear</mat-icon>\n </div>\n </div>\n </div>\n\n <table mat-table [dataSource]=\"tableSource\">\n @for (col of columns; track col) {\n <ng-container [matColumnDef]=\"col\">\n <th mat-header-cell *matHeaderCellDef>\n {{ col === 'active' ? selectedLabel : initColumns[col] }}\n </th>\n <td mat-cell *matCellDef=\"let element\">\n @if (col === 'active') {\n @if (checkActiveRow(element)) {\n <mat-icon class=\"active-row\">done</mat-icon>\n }\n }\n @if (col !== 'active') {\n {{ element[col] }}\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: columns\"\n (click)=\"rowClick(row)\"\n [ngClass]=\"{ active: checkActiveRow(row) }\"\n ></tr>\n </table>\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\n</div>\n", styles: [".title{margin-bottom:0;margin-top:1rem;font-weight:500}.title.error-text{color:#ef5350}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectTableComponent, selector: "ngx-st-select-table", inputs: { title: "title", required: "required", multiple: "multiple", initSelected: "initSelected", initSearchVal: "initSearchVal", searchLabel: "searchLabel", selectedLabel: "selectedLabel", setInitColumns: "setInitColumns", tableData: "tableData", validError: "validError" }, outputs: { returnRowSelected: "returnRowSelected" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<div class=\"shared-table-selector\">\n <p class=\"title\" [ngClass]=\"{ 'error-text': validError }\">\n {{ title }} {{ required ? '*' : '' }}\n </p>\n\n <div class=\"search-form row align-items-center\">\n <div class=\"col-sm-12 col-md row align-items-center\">\n <mat-form-field class=\"col\">\n <input\n matInput\n placeholder=\"{{ searchLabel }}\"\n [formControl]=\"search\"\n />\n </mat-form-field>\n <div class=\"clear col-auto\">\n <mat-icon (click)=\"clearSearch()\">clear</mat-icon>\n </div>\n </div>\n </div>\n\n <table mat-table [dataSource]=\"tableSource\">\n @for (col of columns; track col) {\n <ng-container [matColumnDef]=\"col\">\n <th mat-header-cell *matHeaderCellDef>\n {{ col === 'active' ? selectedLabel : initColumns[col] }}\n </th>\n <td mat-cell *matCellDef=\"let element\">\n @if (col === 'active') {\n @if (checkActiveRow(element)) {\n <mat-icon class=\"active-row\">done</mat-icon>\n }\n }\n @if (col !== 'active') {\n {{ element[col] }}\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: columns\"\n (click)=\"rowClick(row)\"\n [ngClass]=\"{ active: checkActiveRow(row) }\"\n ></tr>\n </table>\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\n</div>\n", styles: [".title{margin-bottom:0;margin-top:1rem;font-weight:500}.title.error-text{color:#ef5350}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;font-size:.9rem;font-weight:600;color:#424242}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a mat-icon{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectTableComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
|
-
args: [{ selector: 'ngx-st-select-table', template: "<div class=\"shared-table-selector\">\n <p class=\"title\" [ngClass]=\"{ 'error-text': validError }\">\n {{ title }} {{ required ? '*' : '' }}\n </p>\n\n <div class=\"search-form row align-items-center\">\n <div class=\"col-sm-12 col-md row align-items-center\">\n <mat-form-field class=\"col\">\n <input\n matInput\n placeholder=\"{{ searchLabel }}\"\n [formControl]=\"search\"\n />\n </mat-form-field>\n <div class=\"clear col-auto\">\n <mat-icon (click)=\"clearSearch()\">clear</mat-icon>\n </div>\n </div>\n </div>\n\n <table mat-table [dataSource]=\"tableSource\">\n @for (col of columns; track col) {\n <ng-container [matColumnDef]=\"col\">\n <th mat-header-cell *matHeaderCellDef>\n {{ col === 'active' ? selectedLabel : initColumns[col] }}\n </th>\n <td mat-cell *matCellDef=\"let element\">\n @if (col === 'active') {\n @if (checkActiveRow(element)) {\n <mat-icon class=\"active-row\">done</mat-icon>\n }\n }\n @if (col !== 'active') {\n {{ element[col] }}\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: columns\"\n (click)=\"rowClick(row)\"\n [ngClass]=\"{ active: checkActiveRow(row) }\"\n ></tr>\n </table>\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\n</div>\n", styles: [".title{margin-bottom:0;margin-top:1rem;font-weight:500}.title.error-text{color:#ef5350}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;
|
|
75
|
+
args: [{ selector: 'ngx-st-select-table', template: "<div class=\"shared-table-selector\">\n <p class=\"title\" [ngClass]=\"{ 'error-text': validError }\">\n {{ title }} {{ required ? '*' : '' }}\n </p>\n\n <div class=\"search-form row align-items-center\">\n <div class=\"col-sm-12 col-md row align-items-center\">\n <mat-form-field class=\"col\">\n <input\n matInput\n placeholder=\"{{ searchLabel }}\"\n [formControl]=\"search\"\n />\n </mat-form-field>\n <div class=\"clear col-auto\">\n <mat-icon (click)=\"clearSearch()\">clear</mat-icon>\n </div>\n </div>\n </div>\n\n <table mat-table [dataSource]=\"tableSource\">\n @for (col of columns; track col) {\n <ng-container [matColumnDef]=\"col\">\n <th mat-header-cell *matHeaderCellDef>\n {{ col === 'active' ? selectedLabel : initColumns[col] }}\n </th>\n <td mat-cell *matCellDef=\"let element\">\n @if (col === 'active') {\n @if (checkActiveRow(element)) {\n <mat-icon class=\"active-row\">done</mat-icon>\n }\n }\n @if (col !== 'active') {\n {{ element[col] }}\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: columns\"\n (click)=\"rowClick(row)\"\n [ngClass]=\"{ active: checkActiveRow(row) }\"\n ></tr>\n </table>\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\n</div>\n", styles: [".title{margin-bottom:0;margin-top:1rem;font-weight:500}.title.error-text{color:#ef5350}\n", ".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear mat-icon{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;font-size:.9rem;font-weight:600;color:#424242}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a mat-icon{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"] }]
|
|
76
76
|
}], ctorParameters: () => [], propDecorators: { paginator: [{
|
|
77
77
|
type: ViewChild,
|
|
78
78
|
args: [MatPaginator]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtbWF0ZXJpYWwtdGFibGUtY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL21vZGVscy9zdC1tYXRlcmlhbC10YWJsZS1jb2x1bW4ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBTdE1hdGVyaWFsQ29sdW1uVHlwZSA9XHJcbiAgfCAnc3RyaW5nJ1xyXG4gIHwgJ251bWJlcidcclxuICB8ICdib29sZWFuJ1xyXG4gIHwgJ2RhdGUnXHJcbiAgfCAnY3VzdG9tLXRlbXBsYXRlJztcclxuXHJcbmV4cG9ydCB0eXBlIFN0TWF0ZXJpYWxDb2x1bW5GaWx0ZXJUeXBlID1cclxuICB8ICdzdHJpbmcnXHJcbiAgfCAnbnVtYmVyJ1xyXG4gIHwgJ2Jvb2xlYW4nXHJcbiAgfCAnZGF0ZSdcclxuICB8ICdjdXN0b20nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdE1hdGVyaWFsVGFibGVDb2x1bW5Nb2RlbCB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0cmFuc2xhdGVDb2x1bW5OYW1lOiBzdHJpbmc7XHJcbiAgc2VsZWN0Q29sdW1uTGFiZWw/OiBzdHJpbmc7XHJcbiAgdHlwZT86IFN0TWF0ZXJpYWxDb2x1bW5UeXBlO1xyXG4gIGZpbHRlclR5cGU/OiBTdE1hdGVyaWFsQ29sdW1uRmlsdGVyVHlwZTtcclxuICBzb3J0PzogYm9vbGVhbjtcclxuICBmaWx0ZXI/OiBib29sZWFuO1xyXG4gIGZsZXhSaWdodD86IGJvb2xlYW47XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgYWN0aW9ucz86IFN0TWF0ZXJpYWxUYWJsZUFjdGlvbkNvbHVtbk1vZGVsW10gfCB1bmRlZmluZWQ7XHJcbiAgdHJhbnNsYXRlVmFsdWU/OiB7XHJcbiAgICBbdmFsdWU6IHN0cmluZ106IHN0cmluZztcclxuICB9O1xyXG4gIG5vdFNob3dJbkNvbHVtblBpY2s/OiBib29sZWFuO1xyXG4gIGFjdGlvbnNJbk1lbnU/OiBib29sZWFuO1xyXG4gIGN1c3RvbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBjdXN0b21WYWx1ZURpc3BsYXk/OiAocm93OiBhbnkpID0+IHN0cmluZztcclxuICBjdXN0b21GaWx0ZXJPcHRpb25zPzogeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFN0TWF0ZXJpYWxUYWJsZUFjdGlvbkNvbHVtbk1vZGVsIHtcclxuICBpY29uTmFtZTogc3RyaW5nO1xyXG4gIHRvb2x0aXBOYW1lPzogc3RyaW5nO1xyXG4gIGFjdGlvbj86IChyb3c6IGFueSkgPT4gdm9pZDtcclxuICBzaG93PzogKHJvdzogYW55KSA9PiBib29sZWFuO1xyXG4gIHVybD86IHN0cmluZ1tdO1xyXG4gIGljb25Db2xvcj86ICdwcmltYXJ5JyB8ICd3YXJuJyB8ICdhY2NlbnQnO1xyXG59XHJcbiJdfQ==
|
|
@@ -28,6 +28,14 @@ import { MaterialTableFilterDialogComponent } from './components/material-table/
|
|
|
28
28
|
import { MatDialogModule } from '@angular/material/dialog';
|
|
29
29
|
import { MatExpansionModule, } from '@angular/material/expansion';
|
|
30
30
|
import { CdkDrag, CdkDropList } from '@angular/cdk/drag-drop';
|
|
31
|
+
import { MaterialTableRowCellComponent } from './components/material-table/material-table-row-cell/material-table-row-cell.component';
|
|
32
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
33
|
+
import { PrimeTemplate } from 'primeng/api';
|
|
34
|
+
import { StQtyInputModule } from 'ngx-st-qty-input';
|
|
35
|
+
import { TableModule } from 'primeng/table';
|
|
36
|
+
import { MatDatepickerModule, } from '@angular/material/datepicker';
|
|
37
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
38
|
+
import { MatNativeDateModule } from '@angular/material/core';
|
|
31
39
|
import * as i0 from "@angular/core";
|
|
32
40
|
import * as i1 from "@angular/material/icon";
|
|
33
41
|
export class StTablesModule {
|
|
@@ -42,7 +50,8 @@ export class StTablesModule {
|
|
|
42
50
|
MaterialTableCaptionComponent,
|
|
43
51
|
MaterialTableComponent,
|
|
44
52
|
MaterialTableOrderColumnDialogComponent,
|
|
45
|
-
MaterialTableFilterDialogComponent
|
|
53
|
+
MaterialTableFilterDialogComponent,
|
|
54
|
+
MaterialTableRowCellComponent], imports: [CommonModule,
|
|
46
55
|
MatButtonModule,
|
|
47
56
|
MatIconModule,
|
|
48
57
|
MatTableModule,
|
|
@@ -64,8 +73,15 @@ export class StTablesModule {
|
|
|
64
73
|
MatDialogModule,
|
|
65
74
|
MatExpansionModule,
|
|
66
75
|
CdkDropList,
|
|
67
|
-
CdkDrag
|
|
68
|
-
|
|
76
|
+
CdkDrag,
|
|
77
|
+
InputTextModule,
|
|
78
|
+
PrimeTemplate,
|
|
79
|
+
StQtyInputModule,
|
|
80
|
+
TableModule,
|
|
81
|
+
MatDatepickerModule,
|
|
82
|
+
MatSlideToggleModule,
|
|
83
|
+
MatNativeDateModule], exports: [LocalTableComponent, SelectTableComponent, MaterialTableComponent] }); }
|
|
84
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StTablesModule, providers: [LocalTableService, MatDatepickerModule], imports: [CommonModule,
|
|
69
85
|
MatButtonModule,
|
|
70
86
|
MatIconModule,
|
|
71
87
|
MatTableModule,
|
|
@@ -84,7 +100,13 @@ export class StTablesModule {
|
|
|
84
100
|
MatProgressSpinner,
|
|
85
101
|
StBaseFunctionsModule,
|
|
86
102
|
MatDialogModule,
|
|
87
|
-
MatExpansionModule
|
|
103
|
+
MatExpansionModule,
|
|
104
|
+
InputTextModule,
|
|
105
|
+
StQtyInputModule,
|
|
106
|
+
TableModule,
|
|
107
|
+
MatDatepickerModule,
|
|
108
|
+
MatSlideToggleModule,
|
|
109
|
+
MatNativeDateModule] }); }
|
|
88
110
|
}
|
|
89
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StTablesModule, decorators: [{
|
|
90
112
|
type: NgModule,
|
|
@@ -97,6 +119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
97
119
|
MaterialTableComponent,
|
|
98
120
|
MaterialTableOrderColumnDialogComponent,
|
|
99
121
|
MaterialTableFilterDialogComponent,
|
|
122
|
+
MaterialTableRowCellComponent,
|
|
100
123
|
],
|
|
101
124
|
imports: [
|
|
102
125
|
CommonModule,
|
|
@@ -122,9 +145,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
122
145
|
MatExpansionModule,
|
|
123
146
|
CdkDropList,
|
|
124
147
|
CdkDrag,
|
|
148
|
+
InputTextModule,
|
|
149
|
+
PrimeTemplate,
|
|
150
|
+
StQtyInputModule,
|
|
151
|
+
TableModule,
|
|
152
|
+
MatDatepickerModule,
|
|
153
|
+
MatSlideToggleModule,
|
|
154
|
+
MatNativeDateModule,
|
|
125
155
|
],
|
|
126
156
|
exports: [LocalTableComponent, SelectTableComponent, MaterialTableComponent],
|
|
127
|
-
providers: [LocalTableService],
|
|
157
|
+
providers: [LocalTableService, MatDatepickerModule],
|
|
128
158
|
}]
|
|
129
159
|
}], ctorParameters: () => [{ type: i1.MatIconRegistry }] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXN0LXRhYmxlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3QtdGFibGVzL3NyYy9saWIvbmd4LXN0LXRhYmxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFGQUFxRixDQUFDO0FBQ3BJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxvSUFBb0ksQ0FBQztBQUM3TCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx3SEFBd0gsQ0FBQztBQUM1SyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUVMLGtCQUFrQixHQUVuQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQXdDOUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMzRSxDQUFDOytHQUhVLGNBQWM7Z0hBQWQsY0FBYyxpQkFwQ3ZCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QixzQkFBc0I7WUFDdEIsdUNBQXVDO1lBQ3ZDLGtDQUFrQyxhQUdsQyxZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsUUFBUTtZQUNSLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixXQUFXO1lBQ1gsT0FBTyxhQUVDLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHNCQUFzQjtnSEFHaEUsY0FBYyxhQUZkLENBQUMsaUJBQWlCLENBQUMsWUF6QjVCLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGlCQUFpQjtZQUVqQixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixrQkFBa0I7OzRGQU9ULGNBQWM7a0JBdEMxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLHNCQUFzQjt3QkFDdEIsdUNBQXVDO3dCQUN2QyxrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1Isa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLE9BQU87cUJBQ1I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7b0JBQzVFLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9jYWwtdGFibGUvbG9jYWwtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LXRhYmxlL3NlbGVjdC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2NhbC10YWJsZS9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2NhbFRhYmxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9jYWwtdGFibGUuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUsIE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IFN0RGF0ZUZvcm1hdE1vZHVsZSB9IGZyb20gJ25neC1zdC1kYXRlLWZvcm1hdCc7XHJcbmltcG9ydCB7IE1hdGVyaWFsVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUYWJsZUNhcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUtY2FwdGlvbi9tYXRlcmlhbC10YWJsZS1jYXB0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEJhZGdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgU3RCYXNlRnVuY3Rpb25zTW9kdWxlIH0gZnJvbSAnbmd4LXN0LWJhc2UtZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUYWJsZU9yZGVyQ29sdW1uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hdGVyaWFsLXRhYmxlL21hdGVyaWFsLXRhYmxlLWNhcHRpb24vbWF0ZXJpYWwtdGFibGUtb3JkZXItY29sdW1uLWRpYWxvZy9tYXRlcmlhbC10YWJsZS1vcmRlci1jb2x1bW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdGVyaWFsVGFibGVGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUtY2FwdGlvbi9tYXRlcmlhbC10YWJsZS1maWx0ZXItZGlhbG9nL21hdGVyaWFsLXRhYmxlLWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtcclxuICBNYXRBY2NvcmRpb24sXHJcbiAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gIE1hdEV4cGFuc2lvblBhbmVsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IENka0RyYWcsIENka0Ryb3BMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTG9jYWxUYWJsZUNvbXBvbmVudCxcclxuICAgIFNlbGVjdFRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ29uZmlndXJhdGlvbnNDb21wb25lbnQsXHJcbiAgICBNYXRlcmlhbFRhYmxlQ2FwdGlvbkNvbXBvbmVudCxcclxuICAgIE1hdGVyaWFsVGFibGVDb21wb25lbnQsXHJcbiAgICBNYXRlcmlhbFRhYmxlT3JkZXJDb2x1bW5EaWFsb2dDb21wb25lbnQsXHJcbiAgICBNYXRlcmlhbFRhYmxlRmlsdGVyRGlhbG9nQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgU3REYXRlRm9ybWF0TW9kdWxlLFxyXG4gICAgTWF0U29ydE1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEJhZGdlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyLFxyXG4gICAgU3RCYXNlRnVuY3Rpb25zTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgQ2RrRHJvcExpc3QsXHJcbiAgICBDZGtEcmFnLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0xvY2FsVGFibGVDb21wb25lbnQsIFNlbGVjdFRhYmxlQ29tcG9uZW50LCBNYXRlcmlhbFRhYmxlQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtMb2NhbFRhYmxlU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdFRhYmxlc01vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXRJY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSkge1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuc2V0RGVmYXVsdEZvbnRTZXRDbGFzcygnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXN0LXRhYmxlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3QtdGFibGVzL3NyYy9saWIvbmd4LXN0LXRhYmxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxF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YTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFFakIsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2Ysa0JBQWtCO1lBR2xCLGVBQWU7WUFFZixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsbUJBQW1COzs0RkFLVixjQUFjO2tCQTlDMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3QixzQkFBc0I7d0JBQ3RCLHVDQUF1Qzt3QkFDdkMsa0NBQWtDO3dCQUNsQyw2QkFBNkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1Isa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDNUUsU0FBUyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUM7aUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYWxUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2NhbC10YWJsZS9sb2NhbC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtdGFibGUvc2VsZWN0LXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvY2FsLXRhYmxlL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvY2FsVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbC10YWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSwgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgU3REYXRlRm9ybWF0TW9kdWxlIH0gZnJvbSAnbmd4LXN0LWRhdGUtZm9ybWF0JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYXRlcmlhbC10YWJsZS9tYXRlcmlhbC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbFRhYmxlQ2FwdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYXRlcmlhbC10YWJsZS9tYXRlcmlhbC10YWJsZS1jYXB0aW9uL21hdGVyaWFsLXRhYmxlLWNhcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QmFkZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBTdEJhc2VGdW5jdGlvbnNNb2R1bGUgfSBmcm9tICduZ3gtc3QtYmFzZS1mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbFRhYmxlT3JkZXJDb2x1bW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUtY2FwdGlvbi9tYXRlcmlhbC10YWJsZS1vcmRlci1jb2x1bW4tZGlhbG9nL21hdGVyaWFsLXRhYmxlLW9yZGVyLWNvbHVtbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUYWJsZUZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYXRlcmlhbC10YWJsZS9tYXRlcmlhbC10YWJsZS1jYXB0aW9uL21hdGVyaWFsLXRhYmxlLWZpbHRlci1kaWFsb2cvbWF0ZXJpYWwtdGFibGUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQge1xyXG4gIE1hdEFjY29yZGlvbixcclxuICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxUYWJsZVJvd0NlbGxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWF0ZXJpYWwtdGFibGUvbWF0ZXJpYWwtdGFibGUtcm93LWNlbGwvbWF0ZXJpYWwtdGFibGUtcm93LWNlbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5pbXBvcnQgeyBQcmltZVRlbXBsYXRlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBTdFF0eUlucHV0TW9kdWxlIH0gZnJvbSAnbmd4LXN0LXF0eS1pbnB1dCc7XHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7XHJcbiAgTWF0RGF0ZXBpY2tlcklucHV0LFxyXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExvY2FsVGFibGVDb21wb25lbnQsXHJcbiAgICBTZWxlY3RUYWJsZUNvbXBvbmVudCxcclxuICAgIENvbmZpZ3VyYXRpb25zQ29tcG9uZW50LFxyXG4gICAgTWF0ZXJpYWxUYWJsZUNhcHRpb25Db21wb25lbnQsXHJcbiAgICBNYXRlcmlhbFRhYmxlQ29tcG9uZW50LFxyXG4gICAgTWF0ZXJpYWxUYWJsZU9yZGVyQ29sdW1uRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgTWF0ZXJpYWxUYWJsZUZpbHRlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIE1hdGVyaWFsVGFibGVSb3dDZWxsQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgU3REYXRlRm9ybWF0TW9kdWxlLFxyXG4gICAgTWF0U29ydE1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEJhZGdlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyLFxyXG4gICAgU3RCYXNlRnVuY3Rpb25zTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgQ2RrRHJvcExpc3QsXHJcbiAgICBDZGtEcmFnLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgUHJpbWVUZW1wbGF0ZSxcclxuICAgIFN0UXR5SW5wdXRNb2R1bGUsXHJcbiAgICBUYWJsZU1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbTG9jYWxUYWJsZUNvbXBvbmVudCwgU2VsZWN0VGFibGVDb21wb25lbnQsIE1hdGVyaWFsVGFibGVDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW0xvY2FsVGFibGVTZXJ2aWNlLCBNYXREYXRlcGlja2VyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0VGFibGVzTW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5KSB7XHJcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5zZXREZWZhdWx0Rm9udFNldENsYXNzKCdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|