@lumeer/pivot 0.0.12 → 0.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/esm2022/lib/directives/lmr-templates.directive.mjs +8 -8
- package/esm2022/lib/lmr-pivot-table.component.mjs +5 -5
- package/esm2022/lib/lmr-pivot-table.module.mjs +4 -4
- package/esm2022/lib/lmr-simple-pivot-table.component.mjs +4 -4
- package/esm2022/lib/pipes/cell-has-value.pipe.mjs +3 -3
- package/esm2022/lib/pipes/contrast-color.pipe.mjs +4 -4
- package/esm2022/lib/pipes/filter-visible-cells.pipe.mjs +3 -3
- package/esm2022/lib/pipes/is-cell-expandable.pipe.mjs +3 -3
- package/esm2022/lib/pipes/is-cell-expanded.pipe.mjs +4 -4
- package/esm2022/lib/pipes/is-cell-rows-expandable.pipe.mjs +3 -3
- package/esm2022/lib/pipes/pivot-data-empty.pipe.mjs +3 -3
- package/esm2022/lib/util/lmr-pivot-state.mjs +1 -1
- package/esm2022/lib/util/pivot-data-converter.mjs +1 -1
- package/esm2022/lib/util/pivot-table-converter.mjs +1 -1
- package/esm2022/lib/util/pivot-util.mjs +1 -1
- package/fesm2022/lumeer-pivot.mjs +41 -41
- package/fesm2022/lumeer-pivot.mjs.map +1 -1
- package/lumeer-pivot-0.0.13.tgz +0 -0
- package/package.json +4 -4
- package/lumeer-pivot-0.0.12.tgz +0 -0
|
@@ -5,23 +5,23 @@ export class LmrEmptyTablesTemplateDirective {
|
|
|
5
5
|
constructor(template) {
|
|
6
6
|
this.template = template;
|
|
7
7
|
}
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrEmptyTablesTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: LmrEmptyTablesTemplateDirective, selector: "[lmr-empty-tables-tmp]", ngImport: i0 });
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrEmptyTablesTemplateDirective, decorators: [{
|
|
12
12
|
type: Directive,
|
|
13
13
|
args: [{ selector: '[lmr-empty-tables-tmp]' }]
|
|
14
|
-
}], ctorParameters:
|
|
14
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
15
15
|
export class LmrTableCellTemplateDirective {
|
|
16
16
|
template;
|
|
17
17
|
constructor(template) {
|
|
18
18
|
this.template = template;
|
|
19
19
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrTableCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: LmrTableCellTemplateDirective, selector: "[lmr-table-cell-tmp]", ngImport: i0 });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrTableCellTemplateDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{ selector: '[lmr-table-cell-tmp]' }]
|
|
26
|
-
}], ctorParameters:
|
|
26
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
27
27
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXRlbXBsYXRlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9kaXJlY3RpdmVzL2xtci10ZW1wbGF0ZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBR3JELE1BQU0sT0FBTywrQkFBK0I7SUFDdkI7SUFBbkIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDO3dHQUR2QywrQkFBK0I7NEZBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTs7QUFNakQsTUFBTSxPQUFPLDZCQUE2QjtJQUNyQjtJQUFuQixZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFJLENBQUM7d0dBRHZDLDZCQUE2Qjs0RkFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xtci1lbXB0eS10YWJsZXMtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7IH1cbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xtci10YWJsZS1jZWxsLXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxufVxuIl19
|
|
@@ -90,12 +90,12 @@ export class LmrPivotTableComponent {
|
|
|
90
90
|
statesCopy.splice(index, 1, state);
|
|
91
91
|
this.pivotStates$.next(statesCopy);
|
|
92
92
|
}
|
|
93
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
94
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
93
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrPivotTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LmrPivotTableComponent, selector: "lmr-pivot-table", inputs: { collections: "collections", data: "data", linkTypes: "linkTypes", query: "query", constraintData: "constraintData", config: "config", transform: "transform", emptyTablesTemplateInput: "emptyTablesTemplateInput", tableCellTemplateInput: "tableCellTemplateInput", initiallyCollapsed: "initiallyCollapsed" }, outputs: { cellClick: "cellClick", pivotDataChange: "pivotDataChange", pivotTablesChange: "pivotTablesChange" }, queries: [{ propertyName: "emptyTablesTemplate", first: true, predicate: LmrEmptyTablesTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tableCellTemplate", first: true, predicate: LmrTableCellTemplateDirective, descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"{pivotTables: pivotTables$ | async, pivotStates: pivotStates$ | async, pivotData: pivotData$ | async} as data\">\n <ng-container *ngIf=\"data.pivotTables?.length && !(data.pivotData | pivotDataEmpty)\">\n <table *ngFor=\"let pivotTable of data.pivotTables; let first; let tableIndex = index\"\n class=\"table table-without-padding table-borderless table-md\"\n [class.mt-4]=\"!first\">\n <tr *ngFor=\"let rowCells of pivotTable | filterVisibleCells:data.pivotStates[tableIndex]; let rowIndex = index\">\n\n <ng-container *ngFor=\"let cell of rowCells; let cellIndex = index\">\n <td *ngIf=\"cell && {hasValue: cell | cellHasValue} as cellData\"\n class=\"cell position-relative {{cell.constraint ? (cell.constraint.type | lowercase) : ''}} text-truncate\"\n [class.expandable]=\"cell | isCellExpandable\"\n [class.expandable-rows]=\"cell | isCellRowsExpandable\"\n [class.expanded]=\"cell | isCellExpanded:cellIndex:data.pivotStates[tableIndex]\"\n [class.sticky-start]=\"cell.stickyStart\"\n [class.sticky-top]=\"cell.stickyTop\"\n [rowSpan]=\"cell.rowSpan\"\n [colSpan]=\"cell.colSpan\"\n [style.top.px]=\"cell.stickyTop ? (rowIndex * stickyColumnHeight) : undefined\"\n [style.left.px]=\"cell.stickyStart ? (cellIndex * stickyColumnWidth) : undefined\"\n [style.width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : undefined\"\n [style.max-width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : 300\"\n [style.min-width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : undefined\"\n [ngClass]=\"cell.cssClass\"\n [style.background]=\"cell.background\"\n [style.color]=\"cell.background && (cell.background | contrastColor)\"\n (click)=\"onCellClick(cell, rowCells, tableIndex, rowIndex, cellIndex)\">\n <ng-container *ngIf=\"cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <div class=\"d-flex align-items-center h-100\">\n <span class=\"summary me-2\">{{cell.summary}}</span>\n <ng-template #defaultTableCellTemplate>\n <span class=\"flex-grow-1 h-100 text-truncate d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || tableCellTemplateInput || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\">\n <span class=\"d-block\" style=\"overflow: hidden; white-space: normal\">{{cell.summary}}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"d-block\" style=\"overflow: hidden; white-space: normal; cursor: pointer\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || tableCellTemplateInput || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\"> </ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"!data.pivotTables?.length || (data.pivotData | pivotDataEmpty)\">\n <ng-template #defaultEmptyTablesTemplate>\n <div> </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"emptyTablesTemplate || emptyTablesTemplateInput || defaultEmptyTablesTemplate\"\n [ngTemplateOutletContext]=\"{ }\">\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".table{border-spacing:0;border-collapse:separate}.pivot-data-cell,.pivot-data-group-cell,.pivot-column-header-cell,.pivot-column-group-header-cell{text-align:right}.pivot-column-header-cell,.pivot-row-attribute-header-cell,.pivot-row-header-cell,.pivot-data-group-cell,.pivot-row-group-header-cell,.pivot-column-group-header-cell{font-weight:700;border:1px #f8f9fa solid}.pivot-row-header-cell.sticky-start,.pivot-row-group-header-cell.sticky-start,.pivot-empty-cell.sticky-start{position:sticky!important;width:150px;min-width:150px;max-width:150px!important;z-index:9}.pivot-row-header-cell.expandable,.pivot-row-group-header-cell.expandable{position:absolute;cursor:pointer;padding-right:15px}.pivot-row-header-cell.expandable:after,.pivot-row-group-header-cell.expandable:after{content:\"\";position:absolute;top:50%;right:5px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #253746;transform:translateY(-50%)}.pivot-row-header-cell.expandable.expanded.expandable-rows:after,.pivot-row-header-cell.expandable.expanded:after,.pivot-row-group-header-cell.expandable.expanded.expandable-rows:after,.pivot-row-group-header-cell.expandable.expanded:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #253746;border-bottom:0}.pivot-column-header-cell.sticky-top,.pivot-row-attribute-header-cell.sticky-top,.pivot-column-group-header-cell.sticky-top,.pivot-empty-cell.sticky-top{position:sticky!important;z-index:10}.pivot-row-attribute-header-cell.sticky-top,.pivot-row-attribute-header-cell.sticky-start{position:sticky!important;z-index:11}.pivot-empty-cell{background:#fff;border:1px white solid}.pivot-empty-cell.sticky-top{z-index:11}.cell.color{padding:0!important;height:30px}.cell.color .summary{padding-left:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i2.PivotDataEmptyPipe, name: "pivotDataEmpty" }, { kind: "pipe", type: i3.CellHasValuePipe, name: "cellHasValue" }, { kind: "pipe", type: i4.IsCellExpandablePipe, name: "isCellExpandable" }, { kind: "pipe", type: i5.IsCellExpandedPipe, name: "isCellExpanded" }, { kind: "pipe", type: i6.IsCellRowsExpandablePipe, name: "isCellRowsExpandable" }, { kind: "pipe", type: i7.FilterVisibleCellsPipe, name: "filterVisibleCells" }, { kind: "pipe", type: i8.ContrastColorPipe, name: "contrastColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrPivotTableComponent, decorators: [{
|
|
97
97
|
type: Component,
|
|
98
|
-
args: [{ selector: 'lmr-pivot-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{pivotTables: pivotTables$ | async, pivotStates: pivotStates$ | async, pivotData: pivotData$ | async} as data\">\n <ng-container *ngIf=\"data.pivotTables?.length && !(data.pivotData | pivotDataEmpty)\">\n <table *ngFor=\"let pivotTable of data.pivotTables; let first; let tableIndex = index\"\n class=\"table table-without-padding table-borderless table-md\"\n [class.mt-4]=\"!first\">\n <tr *ngFor=\"let rowCells of pivotTable | filterVisibleCells:data.pivotStates[tableIndex]; let rowIndex = index\">\n\n <ng-container *ngFor=\"let cell of rowCells; let cellIndex = index\">\n <td *ngIf=\"cell && {hasValue: cell | cellHasValue} as cellData\"\n class=\"cell position-relative {{cell.constraint ? (cell.constraint.type | lowercase) : ''}} text-truncate\"\n [class.expandable]=\"cell | isCellExpandable\"\n [class.expandable-rows]=\"cell | isCellRowsExpandable\"\n [class.expanded]=\"cell | isCellExpanded:cellIndex:data.pivotStates[tableIndex]\"\n [class.sticky-start]=\"cell.stickyStart\"\n [class.sticky-top]=\"cell.stickyTop\"\n [rowSpan]=\"cell.rowSpan\"\n [colSpan]=\"cell.colSpan\"\n [style.top.px]=\"cell.stickyTop ? (rowIndex * stickyColumnHeight) : undefined\"\n [style.left.px]=\"cell.stickyStart ? (cellIndex * stickyColumnWidth) : undefined\"\n [style.width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : undefined\"\n [style.max-width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : 300\"\n [style.min-width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : undefined\"\n [ngClass]=\"cell.cssClass\"\n [style.background]=\"cell.background\"\n [style.color]=\"cell.background && (cell.background | contrastColor)\"\n (click)=\"onCellClick(cell, rowCells, tableIndex, rowIndex, cellIndex)\">\n <ng-container *ngIf=\"cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <div class=\"d-flex align-items-center h-100\">\n <span class=\"summary me-2\">{{cell.summary}}</span>\n <ng-template #defaultTableCellTemplate>\n <span class=\"flex-grow-1 h-100 text-truncate d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || tableCellTemplateInput || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\">\n <span class=\"d-block\" style=\"overflow: hidden; white-space: normal\">{{cell.summary}}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"d-block\" style=\"overflow: hidden; white-space: normal; cursor: pointer\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || tableCellTemplateInput || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\"> </ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"!data.pivotTables?.length || (data.pivotData | pivotDataEmpty)\">\n <ng-template #defaultEmptyTablesTemplate>\n <div> </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"emptyTablesTemplate || emptyTablesTemplateInput || defaultEmptyTablesTemplate\"\n [ngTemplateOutletContext]=\"{ }\">\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".table{border-spacing:0;border-collapse:separate}.pivot-data-cell,.pivot-data-group-cell,.pivot-column-header-cell,.pivot-column-group-header-cell{text-align:right}.pivot-column-header-cell,.pivot-row-attribute-header-cell,.pivot-row-header-cell,.pivot-data-group-cell,.pivot-row-group-header-cell,.pivot-column-group-header-cell{font-weight:700;border:1px #f8f9fa solid}.pivot-row-header-cell.sticky-start,.pivot-row-group-header-cell.sticky-start,.pivot-empty-cell.sticky-start{position:sticky!important;width:150px;min-width:150px;max-width:150px!important;z-index:9}.pivot-row-header-cell.expandable,.pivot-row-group-header-cell.expandable{position:absolute;cursor:pointer;padding-right:15px}.pivot-row-header-cell.expandable:after,.pivot-row-group-header-cell.expandable:after{content:\"\";position:absolute;top:50%;right:5px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #253746;transform:translateY(-50%)}.pivot-row-header-cell.expandable.expanded.expandable-rows:after,.pivot-row-header-cell.expandable.expanded:after,.pivot-row-group-header-cell.expandable.expanded.expandable-rows:after,.pivot-row-group-header-cell.expandable.expanded:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #253746;border-bottom:0}.pivot-column-header-cell.sticky-top,.pivot-row-attribute-header-cell.sticky-top,.pivot-column-group-header-cell.sticky-top,.pivot-empty-cell.sticky-top{position:sticky!important;z-index:10}.pivot-row-attribute-header-cell.sticky-top,.pivot-row-attribute-header-cell.sticky-start{position:sticky!important;z-index:11}.pivot-empty-cell{background
|
|
98
|
+
args: [{ selector: 'lmr-pivot-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{pivotTables: pivotTables$ | async, pivotStates: pivotStates$ | async, pivotData: pivotData$ | async} as data\">\n <ng-container *ngIf=\"data.pivotTables?.length && !(data.pivotData | pivotDataEmpty)\">\n <table *ngFor=\"let pivotTable of data.pivotTables; let first; let tableIndex = index\"\n class=\"table table-without-padding table-borderless table-md\"\n [class.mt-4]=\"!first\">\n <tr *ngFor=\"let rowCells of pivotTable | filterVisibleCells:data.pivotStates[tableIndex]; let rowIndex = index\">\n\n <ng-container *ngFor=\"let cell of rowCells; let cellIndex = index\">\n <td *ngIf=\"cell && {hasValue: cell | cellHasValue} as cellData\"\n class=\"cell position-relative {{cell.constraint ? (cell.constraint.type | lowercase) : ''}} text-truncate\"\n [class.expandable]=\"cell | isCellExpandable\"\n [class.expandable-rows]=\"cell | isCellRowsExpandable\"\n [class.expanded]=\"cell | isCellExpanded:cellIndex:data.pivotStates[tableIndex]\"\n [class.sticky-start]=\"cell.stickyStart\"\n [class.sticky-top]=\"cell.stickyTop\"\n [rowSpan]=\"cell.rowSpan\"\n [colSpan]=\"cell.colSpan\"\n [style.top.px]=\"cell.stickyTop ? (rowIndex * stickyColumnHeight) : undefined\"\n [style.left.px]=\"cell.stickyStart ? (cellIndex * stickyColumnWidth) : undefined\"\n [style.width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : undefined\"\n [style.max-width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : 300\"\n [style.min-width.px]=\"cell.stickyStart ? (cell.colSpan * stickyColumnWidth) : undefined\"\n [ngClass]=\"cell.cssClass\"\n [style.background]=\"cell.background\"\n [style.color]=\"cell.background && (cell.background | contrastColor)\"\n (click)=\"onCellClick(cell, rowCells, tableIndex, rowIndex, cellIndex)\">\n <ng-container *ngIf=\"cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <div class=\"d-flex align-items-center h-100\">\n <span class=\"summary me-2\">{{cell.summary}}</span>\n <ng-template #defaultTableCellTemplate>\n <span class=\"flex-grow-1 h-100 text-truncate d-inline-block\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || tableCellTemplateInput || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\">\n <span class=\"d-block\" style=\"overflow: hidden; white-space: normal\">{{cell.summary}}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.summary\">\n <ng-container *ngIf=\"cellData.hasValue\">\n <ng-template #defaultTableCellTemplate>\n <span class=\"d-block\" style=\"overflow: hidden; white-space: normal; cursor: pointer\">\n {{ cell.value }}\n </span>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"tableCellTemplate || tableCellTemplateInput || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{ value: cell.value, cell: cell }\">\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!cellData.hasValue\"> </ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"!data.pivotTables?.length || (data.pivotData | pivotDataEmpty)\">\n <ng-template #defaultEmptyTablesTemplate>\n <div> </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"emptyTablesTemplate || emptyTablesTemplateInput || defaultEmptyTablesTemplate\"\n [ngTemplateOutletContext]=\"{ }\">\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".table{border-spacing:0;border-collapse:separate}.pivot-data-cell,.pivot-data-group-cell,.pivot-column-header-cell,.pivot-column-group-header-cell{text-align:right}.pivot-column-header-cell,.pivot-row-attribute-header-cell,.pivot-row-header-cell,.pivot-data-group-cell,.pivot-row-group-header-cell,.pivot-column-group-header-cell{font-weight:700;border:1px #f8f9fa solid}.pivot-row-header-cell.sticky-start,.pivot-row-group-header-cell.sticky-start,.pivot-empty-cell.sticky-start{position:sticky!important;width:150px;min-width:150px;max-width:150px!important;z-index:9}.pivot-row-header-cell.expandable,.pivot-row-group-header-cell.expandable{position:absolute;cursor:pointer;padding-right:15px}.pivot-row-header-cell.expandable:after,.pivot-row-group-header-cell.expandable:after{content:\"\";position:absolute;top:50%;right:5px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #253746;transform:translateY(-50%)}.pivot-row-header-cell.expandable.expanded.expandable-rows:after,.pivot-row-header-cell.expandable.expanded:after,.pivot-row-group-header-cell.expandable.expanded.expandable-rows:after,.pivot-row-group-header-cell.expandable.expanded:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #253746;border-bottom:0}.pivot-column-header-cell.sticky-top,.pivot-row-attribute-header-cell.sticky-top,.pivot-column-group-header-cell.sticky-top,.pivot-empty-cell.sticky-top{position:sticky!important;z-index:10}.pivot-row-attribute-header-cell.sticky-top,.pivot-row-attribute-header-cell.sticky-start{position:sticky!important;z-index:11}.pivot-empty-cell{background:#fff;border:1px white solid}.pivot-empty-cell.sticky-top{z-index:11}.cell.color{padding:0!important;height:30px}.cell.color .summary{padding-left:.5rem}\n"] }]
|
|
99
99
|
}], propDecorators: { collections: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}], data: [{
|
|
@@ -144,4 +144,4 @@ function tablesAreVeryDifferent(t1, t2) {
|
|
|
144
144
|
// row numbers are different
|
|
145
145
|
return (t1 || []).some((t, index) => t.cells?.length !== t2[index].cells?.length);
|
|
146
146
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1waXZvdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0osT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQywrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBc0IsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFrQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHMUIsV0FBVyxDQUFlO0lBRzFCLElBQUksQ0FBd0I7SUFHNUIsU0FBUyxDQUFhO0lBR3RCLEtBQUssQ0FBUTtJQUdiLGNBQWMsQ0FBaUI7SUFHL0IsTUFBTSxDQUFpQjtJQUd2QixTQUFTLENBQW9CO0lBRzdCLHdCQUF3QixDQUFtQjtJQUczQyxzQkFBc0IsQ0FBbUI7SUFH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QUFnQixDQUFDLE9BQXNCO0lBQzlDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUErQixDQUFBO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUE4QixDQUFBO1FBQ3JFLE9BQU8sb0JBQW9CLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBO0tBQ3pEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxFQUFtQixFQUFFLEVBQW1CO0lBQ3RFLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUMzQyxPQUFPLElBQUksQ0FBQTtLQUNaO0lBQ0QsNEJBQTRCO0lBQzVCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG1yUGl2b3RDb25maWcsIExtclBpdm90VHJhbnNmb3JtfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LWNvbmZpZyc7XG5pbXBvcnQge0NvbGxlY3Rpb24sIENvbnN0cmFpbnREYXRhLCBEb2N1bWVudHNBbmRMaW5rc0RhdGEsIExpbmtUeXBlLCBRdWVyeX0gZnJvbSAnQGx1bWVlci9kYXRhLWZpbHRlcnMnO1xuaW1wb3J0IHtQaXZvdERhdGFDb252ZXJ0ZXJ9IGZyb20gJy4vdXRpbC9waXZvdC1kYXRhLWNvbnZlcnRlcic7XG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1kYXRhJztcbmltcG9ydCB7YXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHRhcCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtQaXZvdFRhYmxlQ29udmVydGVyfSBmcm9tICcuL3V0aWwvcGl2b3QtdGFibGUtY29udmVydGVyJztcbmltcG9ydCB7TG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge2NvbGxhcHNlQWxsQ2VsbHMsIGlzQ2VsbEV4cGFuZGFibGUsIExtclBpdm90VGFibGVTdGF0ZSwgdG9nZ2xlRXhwYW5kZWR9IGZyb20gJy4vdXRpbC9sbXItcGl2b3Qtc3RhdGUnO1xuaW1wb3J0IHtpc1Bpdm90Q29uZmlnQ2hhbmdlZH0gZnJvbSAnLi91dGlsL3Bpdm90LXV0aWwnO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG4gIGxpbmtUeXBlczogTGlua1R5cGVbXTtcbiAgZGF0YTogRG9jdW1lbnRzQW5kTGlua3NEYXRhO1xuICBxdWVyeTogUXVlcnk7XG4gIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcbiAgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcbiAgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbG1yLXBpdm90LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICdsbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExtclBpdm90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGlua1R5cGVzOiBMaW5rVHlwZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeTogUXVlcnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1wdHlUYWJsZXNUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsbHlDb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjZWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbDsgdGFibGVJbmRleDogbnVtYmVyOyByb3dJbmRleDogbnVtYmVyOyBjb2x1bW5JbmRleDogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwaXZvdERhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExtclBpdm90RGF0YT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90VGFibGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMbXJQaXZvdFRhYmxlW10+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBlbXB0eVRhYmxlc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSB0YWJsZUNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBpdm90VHJhbnNmb3JtZXIgPSBuZXcgUGl2b3REYXRhQ29udmVydGVyKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGl2b3RUYWJsZUNvbnZlcnRlcjogUGl2b3RUYWJsZUNvbnZlcnRlciA9IG5ldyBQaXZvdFRhYmxlQ29udmVydGVyKCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGlja3lDb2x1bW5XaWR0aCA9IDE1MDtcbiAgcHVibGljIHJlYWRvbmx5IHN0aWNreUNvbHVtbkhlaWdodCA9IDQwO1xuXG4gIHByaXZhdGUgZGF0YVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhPihudWxsKTtcbiAgcHJpdmF0ZSBjdXJyZW50VGFibGVzOiBMbXJQaXZvdFRhYmxlW107XG5cbiAgcHVibGljIHBpdm90RGF0YSQ6IE9ic2VydmFibGU8TG1yUGl2b3REYXRhPjtcbiAgcHVibGljIHBpdm90VGFibGVzJDogT2JzZXJ2YWJsZTxMbXJQaXZvdFRhYmxlW10+O1xuICBwdWJsaWMgcGl2b3RTdGF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMbXJQaXZvdFRhYmxlU3RhdGVbXT4oW10pO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5kYXRhU3ViamVjdCQucGlwZShmaWx0ZXIoZGF0YSA9PiAhIWRhdGEpKTtcblxuICAgIHRoaXMucGl2b3REYXRhJCA9IG9ic2VydmFibGUucGlwZShcbiAgICAgIHRocm90dGxlVGltZSgyMDAsIGFzeW5jU2NoZWR1bGVyLCB7dHJhaWxpbmc6IHRydWUsIGxlYWRpbmc6IHRydWV9KSxcbiAgICAgIG1hcChkYXRhID0+IHRoaXMuaGFuZGxlRGF0YShkYXRhKSksXG4gICAgICB0YXAoZGF0YSA9PiB0aGlzLm9uUGl2b3REYXRhQ2hhbmdlKGRhdGEpKSxcbiAgICApO1xuXG4gICAgdGhpcy5waXZvdFRhYmxlcyQgPSB0aGlzLnBpdm90RGF0YSQucGlwZShcbiAgICAgIG1hcChkYXRhID0+IHRoaXMucGl2b3RUYWJsZUNvbnZlcnRlci5jcmVhdGVUYWJsZXMoZGF0YSwgdGhpcy50cmFuc2Zvcm0pKSxcbiAgICAgIHRhcCh0YWJsZXMgPT4gdGhpcy5vblBpdm90VGFibGVzQ2hhbmdlKHRhYmxlcykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QaXZvdERhdGFDaGFuZ2UoZGF0YTogTG1yUGl2b3REYXRhKSB7XG4gICAgdGhpcy5waXZvdERhdGFDaGFuZ2UuZW1pdChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QaXZvdFRhYmxlc0NoYW5nZSh0YWJsZXM6IExtclBpdm90VGFibGVbXSkge1xuICAgIGlmICh0aGlzLmluaXRpYWxseUNvbGxhcHNlZCAmJiB0YWJsZXNBcmVWZXJ5RGlmZmVyZW50KHRoaXMuY3VycmVudFRhYmxlcywgdGFibGVzKSkge1xuICAgICAgdGhpcy5waXZvdFN0YXRlcyQubmV4dCh0YWJsZXMubWFwKHRhYmxlID0+IGNvbGxhcHNlQWxsQ2VsbHModGFibGUpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50VGFibGVzID0gdGFibGVzO1xuICAgIHRoaXMucGl2b3RUYWJsZXNDaGFuZ2UuZW1pdCh0YWJsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXRhKGRhdGE6IERhdGEpOiBMbXJQaXZvdERhdGEge1xuICAgIHJldHVybiB0aGlzLnBpdm90VHJhbnNmb3JtZXIuY3JlYXRlRGF0YShcbiAgICAgIGRhdGEuY29uZmlnLFxuICAgICAgZGF0YS50cmFuc2Zvcm0sXG4gICAgICBkYXRhLmNvbGxlY3Rpb25zLFxuICAgICAgZGF0YS5saW5rVHlwZXMsXG4gICAgICBkYXRhLmRhdGEsXG4gICAgICBkYXRhLnF1ZXJ5LFxuICAgICAgZGF0YS5jb25zdHJhaW50RGF0YVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChzaG91bGRSZXNldFN0YXRlKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLnJlc2V0U3RhdGUoKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhU3ViamVjdCQubmV4dCh7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgdHJhbnNmb3JtOiB0aGlzLnRyYW5zZm9ybSxcbiAgICAgIGNvbGxlY3Rpb25zOiB0aGlzLmNvbGxlY3Rpb25zLFxuICAgICAgbGlua1R5cGVzOiB0aGlzLmxpbmtUeXBlcyxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJ5LFxuICAgICAgY29uc3RyYWludERhdGE6IHRoaXMuY29uc3RyYWludERhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U3RhdGUoKSB7XG4gICAgLy8gdGhpcy5waXZvdFN0YXRlcyQubmV4dChbXSk7XG4gIH1cblxuICBwdWJsaWMgb25DZWxsQ2xpY2soY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwsIHJvdzogTG1yUGl2b3RUYWJsZUNlbGxbXSwgdGFibGVJbmRleDogbnVtYmVyLCByb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGlzQ2VsbEV4cGFuZGFibGUoY2VsbCkpIHtcbiAgICAgIGNvbnN0IG9sZFN0YXRlID0gdGhpcy5waXZvdFN0YXRlcyQudmFsdWVbdGFibGVJbmRleF1cbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gdG9nZ2xlRXhwYW5kZWQoY2VsbCwgY29sdW1uSW5kZXgsIG9sZFN0YXRlKVxuICAgICAgdGhpcy5zZXRTdGF0ZSh0YWJsZUluZGV4LCBuZXdTdGF0ZSlcbiAgICB9IGVsc2UgaWYgKGNlbGw/LmlzSGVhZGVyIHx8IGNlbGw/LmlzVmFsdWUpIHtcbiAgICAgIGNvbnN0IGhlYWRlckNlbGwgPSBjZWxsLmlzSGVhZGVyID8gY2VsbCA6IHJvdy5maW5kKGMgPT4gYy5pc0hlYWRlcilcbiAgICAgIHRoaXMuY2VsbENsaWNrLmVtaXQoe2NlbGwsIHRhYmxlSW5kZXgsIHJvd0luZGV4OiBoZWFkZXJDZWxsPy5vcmlnaW5hbFJvd0luZGV4IHx8IHJvd0luZGV4LCBjb2x1bW5JbmRleH0pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0ZShpbmRleDogbnVtYmVyLCBzdGF0ZTogTG1yUGl2b3RUYWJsZVN0YXRlKSB7XG4gICAgY29uc3Qgc3RhdGVzQ29weSA9IFsuLi4odGhpcy5waXZvdFN0YXRlcyQudmFsdWUgfHwgW10pXTtcbiAgICBzdGF0ZXNDb3B5LnNwbGljZShpbmRleCwgMSwgc3RhdGUpXG4gICAgdGhpcy5waXZvdFN0YXRlcyQubmV4dChzdGF0ZXNDb3B5KVxuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZFJlc2V0U3RhdGUoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gY2hhbmdlc1snY29uZmlnJ10ucHJldmlvdXNWYWx1ZSBhcyBMbXJQaXZvdENvbmZpZ1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZSBhcyBMbXJQaXZvdENvbmZpZ1xuICAgIHJldHVybiBpc1Bpdm90Q29uZmlnQ2hhbmdlZChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpXG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiB0YWJsZXNBcmVWZXJ5RGlmZmVyZW50KHQxOiBMbXJQaXZvdFRhYmxlW10sIHQyOiBMbXJQaXZvdFRhYmxlW10pOiBib29sZWFuIHtcbiAgaWYgKCh0MSB8fCBbXSkubGVuZ3RoICE9PSAodDIgfHwgW10pLmxlbmd0aCkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgLy8gcm93IG51bWJlcnMgYXJlIGRpZmZlcmVudFxuICByZXR1cm4gKHQxIHx8IFtdKS5zb21lKCh0LCBpbmRleCkgPT4gdC5jZWxscz8ubGVuZ3RoICE9PSB0MltpbmRleF0uY2VsbHM/Lmxlbmd0aCk7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwie3Bpdm90VGFibGVzOiBwaXZvdFRhYmxlcyQgfCBhc3luYywgcGl2b3RTdGF0ZXM6IHBpdm90U3RhdGVzJCB8IGFzeW5jLCBwaXZvdERhdGE6IHBpdm90RGF0YSQgfCBhc3luY30gYXMgZGF0YVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5waXZvdFRhYmxlcz8ubGVuZ3RoICYmICEoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8dGFibGUgKm5nRm9yPVwibGV0IHBpdm90VGFibGUgb2YgZGF0YS5waXZvdFRhYmxlczsgbGV0IGZpcnN0OyBsZXQgdGFibGVJbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgY2xhc3M9XCJ0YWJsZSB0YWJsZS13aXRob3V0LXBhZGRpbmcgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1tZFwiXG4gICAgICAgICAgIFtjbGFzcy5tdC00XT1cIiFmaXJzdFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3dDZWxscyBvZiBwaXZvdFRhYmxlIHwgZmlsdGVyVmlzaWJsZUNlbGxzOmRhdGEucGl2b3RTdGF0ZXNbdGFibGVJbmRleF07IGxldCByb3dJbmRleCA9IGluZGV4XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2VsbCBvZiByb3dDZWxsczsgbGV0IGNlbGxJbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgPHRkICpuZ0lmPVwiY2VsbCAmJiB7aGFzVmFsdWU6IGNlbGwgfCBjZWxsSGFzVmFsdWV9IGFzIGNlbGxEYXRhXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsIHBvc2l0aW9uLXJlbGF0aXZlIHt7Y2VsbC5jb25zdHJhaW50ID8gKGNlbGwuY29uc3RyYWludC50eXBlIHwgbG93ZXJjYXNlKSA6ICcnfX0gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5leHBhbmRhYmxlXT1cImNlbGwgfCBpc0NlbGxFeHBhbmRhYmxlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmV4cGFuZGFibGUtcm93c109XCJjZWxsIHwgaXNDZWxsUm93c0V4cGFuZGFibGVcIlxuICAgICAgICAgICAgICBbY2xhc3MuZXhwYW5kZWRdPVwiY2VsbCB8IGlzQ2VsbEV4cGFuZGVkOmNlbGxJbmRleDpkYXRhLnBpdm90U3RhdGVzW3RhYmxlSW5kZXhdXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnN0aWNreS1zdGFydF09XCJjZWxsLnN0aWNreVN0YXJ0XCJcbiAgICAgICAgICAgICAgW2NsYXNzLnN0aWNreS10b3BdPVwiY2VsbC5zdGlja3lUb3BcIlxuICAgICAgICAgICAgICBbcm93U3Bhbl09XCJjZWxsLnJvd1NwYW5cIlxuICAgICAgICAgICAgICBbY29sU3Bhbl09XCJjZWxsLmNvbFNwYW5cIlxuICAgICAgICAgICAgICBbc3R5bGUudG9wLnB4XT1cImNlbGwuc3RpY2t5VG9wID8gKHJvd0luZGV4ICogc3RpY2t5Q29sdW1uSGVpZ2h0KSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbEluZGV4ICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbC5jb2xTcGFuICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJjZWxsLnN0aWNreVN0YXJ0ID8gKGNlbGwuY29sU3BhbiAqIHN0aWNreUNvbHVtbldpZHRoKSA6IDMwMFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiY2VsbC5zdGlja3lTdGFydCA/IChjZWxsLmNvbFNwYW4gKiBzdGlja3lDb2x1bW5XaWR0aCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJjZWxsLmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiY2VsbC5iYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNlbGwuYmFja2dyb3VuZCAmJiAoY2VsbC5iYWNrZ3JvdW5kIHwgY29udHJhc3RDb2xvcilcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DZWxsQ2xpY2soY2VsbCwgcm93Q2VsbHMsIHRhYmxlSW5kZXgsIHJvd0luZGV4LCBjZWxsSW5kZXgpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5zdW1tYXJ5XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnkgbWUtMlwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWdyb3ctMSBoLTEwMCB0ZXh0LXRydW5jYXRlIGQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgY2VsbC52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDZWxsVGVtcGxhdGUgfHwgdGFibGVDZWxsVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0VGFibGVDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB2YWx1ZTogY2VsbC52YWx1ZSwgY2VsbDogY2VsbCB9XCI+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ibG9ja1wiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vcm1hbFwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNlbGwuc3VtbWFyeVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbERhdGEuaGFzVmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ibG9ja1wiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgY3Vyc29yOiBwb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNlbGwudmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUNlbGxUZW1wbGF0ZSB8fCB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0IHx8IGRlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB2YWx1ZTogY2VsbC52YWx1ZSwgY2VsbDogY2VsbCB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2VsbERhdGEuaGFzVmFsdWVcIj4mbmJzcDs8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90cj5cbiAgICA8L3RhYmxlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEucGl2b3RUYWJsZXM/Lmxlbmd0aCB8fCAoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eVRhYmxlc1RlbXBsYXRlPlxuICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eVRhYmxlc1RlbXBsYXRlIHx8IGVtcHR5VGFibGVzVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0RW1wdHlUYWJsZXNUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAgfVwiPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1waXZvdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0osT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQywrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBc0IsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFrQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHMUIsV0FBVyxDQUFlO0lBRzFCLElBQUksQ0FBd0I7SUFHNUIsU0FBUyxDQUFhO0lBR3RCLEtBQUssQ0FBUTtJQUdiLGNBQWMsQ0FBaUI7SUFHL0IsTUFBTSxDQUFpQjtJQUd2QixTQUFTLENBQW9CO0lBRzdCLHdCQUF3QixDQUFtQjtJQUczQyxzQkFBc0IsQ0FBbUI7SUFH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RUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDOztBQTJGbEUsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFzQjtJQUM5QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUErQixDQUFBO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUE4QixDQUFBO1FBQ3JFLE9BQU8sb0JBQW9CLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEVBQW1CLEVBQUUsRUFBbUI7SUFDdEUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsNEJBQTRCO0lBQzVCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG1yUGl2b3RDb25maWcsIExtclBpdm90VHJhbnNmb3JtfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LWNvbmZpZyc7XG5pbXBvcnQge0NvbGxlY3Rpb24sIENvbnN0cmFpbnREYXRhLCBEb2N1bWVudHNBbmRMaW5rc0RhdGEsIExpbmtUeXBlLCBRdWVyeX0gZnJvbSAnQGx1bWVlci9kYXRhLWZpbHRlcnMnO1xuaW1wb3J0IHtQaXZvdERhdGFDb252ZXJ0ZXJ9IGZyb20gJy4vdXRpbC9waXZvdC1kYXRhLWNvbnZlcnRlcic7XG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1kYXRhJztcbmltcG9ydCB7YXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHRhcCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtQaXZvdFRhYmxlQ29udmVydGVyfSBmcm9tICcuL3V0aWwvcGl2b3QtdGFibGUtY29udmVydGVyJztcbmltcG9ydCB7TG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge2NvbGxhcHNlQWxsQ2VsbHMsIGlzQ2VsbEV4cGFuZGFibGUsIExtclBpdm90VGFibGVTdGF0ZSwgdG9nZ2xlRXhwYW5kZWR9IGZyb20gJy4vdXRpbC9sbXItcGl2b3Qtc3RhdGUnO1xuaW1wb3J0IHtpc1Bpdm90Q29uZmlnQ2hhbmdlZH0gZnJvbSAnLi91dGlsL3Bpdm90LXV0aWwnO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG4gIGxpbmtUeXBlczogTGlua1R5cGVbXTtcbiAgZGF0YTogRG9jdW1lbnRzQW5kTGlua3NEYXRhO1xuICBxdWVyeTogUXVlcnk7XG4gIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcbiAgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcbiAgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbG1yLXBpdm90LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICdsbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExtclBpdm90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGlua1R5cGVzOiBMaW5rVHlwZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeTogUXVlcnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1wdHlUYWJsZXNUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsbHlDb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjZWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbDsgdGFibGVJbmRleDogbnVtYmVyOyByb3dJbmRleDogbnVtYmVyOyBjb2x1bW5JbmRleDogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwaXZvdERhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExtclBpdm90RGF0YT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90VGFibGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMbXJQaXZvdFRhYmxlW10+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBlbXB0eVRhYmxlc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSB0YWJsZUNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBpdm90VHJhbnNmb3JtZXIgPSBuZXcgUGl2b3REYXRhQ29udmVydGVyKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGl2b3RUYWJsZUNvbnZlcnRlcjogUGl2b3RUYWJsZUNvbnZlcnRlciA9IG5ldyBQaXZvdFRhYmxlQ29udmVydGVyKCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGlja3lDb2x1bW5XaWR0aCA9IDE1MDtcbiAgcHVibGljIHJlYWRvbmx5IHN0aWNreUNvbHVtbkhlaWdodCA9IDQwO1xuXG4gIHByaXZhdGUgZGF0YVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhPihudWxsKTtcbiAgcHJpdmF0ZSBjdXJyZW50VGFibGVzOiBMbXJQaXZvdFRhYmxlW107XG5cbiAgcHVibGljIHBpdm90RGF0YSQ6IE9ic2VydmFibGU8TG1yUGl2b3REYXRhPjtcbiAgcHVibGljIHBpdm90VGFibGVzJDogT2JzZXJ2YWJsZTxMbXJQaXZvdFRhYmxlW10+O1xuICBwdWJsaWMgcGl2b3RTdGF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMbXJQaXZvdFRhYmxlU3RhdGVbXT4oW10pO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5kYXRhU3ViamVjdCQucGlwZShmaWx0ZXIoZGF0YSA9PiAhIWRhdGEpKTtcblxuICAgIHRoaXMucGl2b3REYXRhJCA9IG9ic2VydmFibGUucGlwZShcbiAgICAgIHRocm90dGxlVGltZSgyMDAsIGFzeW5jU2NoZWR1bGVyLCB7dHJhaWxpbmc6IHRydWUsIGxlYWRpbmc6IHRydWV9KSxcbiAgICAgIG1hcChkYXRhID0+IHRoaXMuaGFuZGxlRGF0YShkYXRhKSksXG4gICAgICB0YXAoZGF0YSA9PiB0aGlzLm9uUGl2b3REYXRhQ2hhbmdlKGRhdGEpKSxcbiAgICApO1xuXG4gICAgdGhpcy5waXZvdFRhYmxlcyQgPSB0aGlzLnBpdm90RGF0YSQucGlwZShcbiAgICAgIG1hcChkYXRhID0+IHRoaXMucGl2b3RUYWJsZUNvbnZlcnRlci5jcmVhdGVUYWJsZXMoZGF0YSwgdGhpcy50cmFuc2Zvcm0pKSxcbiAgICAgIHRhcCh0YWJsZXMgPT4gdGhpcy5vblBpdm90VGFibGVzQ2hhbmdlKHRhYmxlcykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QaXZvdERhdGFDaGFuZ2UoZGF0YTogTG1yUGl2b3REYXRhKSB7XG4gICAgdGhpcy5waXZvdERhdGFDaGFuZ2UuZW1pdChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QaXZvdFRhYmxlc0NoYW5nZSh0YWJsZXM6IExtclBpdm90VGFibGVbXSkge1xuICAgIGlmICh0aGlzLmluaXRpYWxseUNvbGxhcHNlZCAmJiB0YWJsZXNBcmVWZXJ5RGlmZmVyZW50KHRoaXMuY3VycmVudFRhYmxlcywgdGFibGVzKSkge1xuICAgICAgdGhpcy5waXZvdFN0YXRlcyQubmV4dCh0YWJsZXMubWFwKHRhYmxlID0+IGNvbGxhcHNlQWxsQ2VsbHModGFibGUpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50VGFibGVzID0gdGFibGVzO1xuICAgIHRoaXMucGl2b3RUYWJsZXNDaGFuZ2UuZW1pdCh0YWJsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXRhKGRhdGE6IERhdGEpOiBMbXJQaXZvdERhdGEge1xuICAgIHJldHVybiB0aGlzLnBpdm90VHJhbnNmb3JtZXIuY3JlYXRlRGF0YShcbiAgICAgIGRhdGEuY29uZmlnLFxuICAgICAgZGF0YS50cmFuc2Zvcm0sXG4gICAgICBkYXRhLmNvbGxlY3Rpb25zLFxuICAgICAgZGF0YS5saW5rVHlwZXMsXG4gICAgICBkYXRhLmRhdGEsXG4gICAgICBkYXRhLnF1ZXJ5LFxuICAgICAgZGF0YS5jb25zdHJhaW50RGF0YVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChzaG91bGRSZXNldFN0YXRlKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLnJlc2V0U3RhdGUoKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhU3ViamVjdCQubmV4dCh7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgdHJhbnNmb3JtOiB0aGlzLnRyYW5zZm9ybSxcbiAgICAgIGNvbGxlY3Rpb25zOiB0aGlzLmNvbGxlY3Rpb25zLFxuICAgICAgbGlua1R5cGVzOiB0aGlzLmxpbmtUeXBlcyxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJ5LFxuICAgICAgY29uc3RyYWludERhdGE6IHRoaXMuY29uc3RyYWludERhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U3RhdGUoKSB7XG4gICAgLy8gdGhpcy5waXZvdFN0YXRlcyQubmV4dChbXSk7XG4gIH1cblxuICBwdWJsaWMgb25DZWxsQ2xpY2soY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwsIHJvdzogTG1yUGl2b3RUYWJsZUNlbGxbXSwgdGFibGVJbmRleDogbnVtYmVyLCByb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGlzQ2VsbEV4cGFuZGFibGUoY2VsbCkpIHtcbiAgICAgIGNvbnN0IG9sZFN0YXRlID0gdGhpcy5waXZvdFN0YXRlcyQudmFsdWVbdGFibGVJbmRleF1cbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gdG9nZ2xlRXhwYW5kZWQoY2VsbCwgY29sdW1uSW5kZXgsIG9sZFN0YXRlKVxuICAgICAgdGhpcy5zZXRTdGF0ZSh0YWJsZUluZGV4LCBuZXdTdGF0ZSlcbiAgICB9IGVsc2UgaWYgKGNlbGw/LmlzSGVhZGVyIHx8IGNlbGw/LmlzVmFsdWUpIHtcbiAgICAgIGNvbnN0IGhlYWRlckNlbGwgPSBjZWxsLmlzSGVhZGVyID8gY2VsbCA6IHJvdy5maW5kKGMgPT4gYy5pc0hlYWRlcilcbiAgICAgIHRoaXMuY2VsbENsaWNrLmVtaXQoe2NlbGwsIHRhYmxlSW5kZXgsIHJvd0luZGV4OiBoZWFkZXJDZWxsPy5vcmlnaW5hbFJvd0luZGV4IHx8IHJvd0luZGV4LCBjb2x1bW5JbmRleH0pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0ZShpbmRleDogbnVtYmVyLCBzdGF0ZTogTG1yUGl2b3RUYWJsZVN0YXRlKSB7XG4gICAgY29uc3Qgc3RhdGVzQ29weSA9IFsuLi4odGhpcy5waXZvdFN0YXRlcyQudmFsdWUgfHwgW10pXTtcbiAgICBzdGF0ZXNDb3B5LnNwbGljZShpbmRleCwgMSwgc3RhdGUpXG4gICAgdGhpcy5waXZvdFN0YXRlcyQubmV4dChzdGF0ZXNDb3B5KVxuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZFJlc2V0U3RhdGUoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gY2hhbmdlc1snY29uZmlnJ10ucHJldmlvdXNWYWx1ZSBhcyBMbXJQaXZvdENvbmZpZ1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZSBhcyBMbXJQaXZvdENvbmZpZ1xuICAgIHJldHVybiBpc1Bpdm90Q29uZmlnQ2hhbmdlZChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpXG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiB0YWJsZXNBcmVWZXJ5RGlmZmVyZW50KHQxOiBMbXJQaXZvdFRhYmxlW10sIHQyOiBMbXJQaXZvdFRhYmxlW10pOiBib29sZWFuIHtcbiAgaWYgKCh0MSB8fCBbXSkubGVuZ3RoICE9PSAodDIgfHwgW10pLmxlbmd0aCkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgLy8gcm93IG51bWJlcnMgYXJlIGRpZmZlcmVudFxuICByZXR1cm4gKHQxIHx8IFtdKS5zb21lKCh0LCBpbmRleCkgPT4gdC5jZWxscz8ubGVuZ3RoICE9PSB0MltpbmRleF0uY2VsbHM/Lmxlbmd0aCk7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwie3Bpdm90VGFibGVzOiBwaXZvdFRhYmxlcyQgfCBhc3luYywgcGl2b3RTdGF0ZXM6IHBpdm90U3RhdGVzJCB8IGFzeW5jLCBwaXZvdERhdGE6IHBpdm90RGF0YSQgfCBhc3luY30gYXMgZGF0YVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5waXZvdFRhYmxlcz8ubGVuZ3RoICYmICEoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8dGFibGUgKm5nRm9yPVwibGV0IHBpdm90VGFibGUgb2YgZGF0YS5waXZvdFRhYmxlczsgbGV0IGZpcnN0OyBsZXQgdGFibGVJbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgY2xhc3M9XCJ0YWJsZSB0YWJsZS13aXRob3V0LXBhZGRpbmcgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1tZFwiXG4gICAgICAgICAgIFtjbGFzcy5tdC00XT1cIiFmaXJzdFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3dDZWxscyBvZiBwaXZvdFRhYmxlIHwgZmlsdGVyVmlzaWJsZUNlbGxzOmRhdGEucGl2b3RTdGF0ZXNbdGFibGVJbmRleF07IGxldCByb3dJbmRleCA9IGluZGV4XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2VsbCBvZiByb3dDZWxsczsgbGV0IGNlbGxJbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgPHRkICpuZ0lmPVwiY2VsbCAmJiB7aGFzVmFsdWU6IGNlbGwgfCBjZWxsSGFzVmFsdWV9IGFzIGNlbGxEYXRhXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsIHBvc2l0aW9uLXJlbGF0aXZlIHt7Y2VsbC5jb25zdHJhaW50ID8gKGNlbGwuY29uc3RyYWludC50eXBlIHwgbG93ZXJjYXNlKSA6ICcnfX0gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5leHBhbmRhYmxlXT1cImNlbGwgfCBpc0NlbGxFeHBhbmRhYmxlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmV4cGFuZGFibGUtcm93c109XCJjZWxsIHwgaXNDZWxsUm93c0V4cGFuZGFibGVcIlxuICAgICAgICAgICAgICBbY2xhc3MuZXhwYW5kZWRdPVwiY2VsbCB8IGlzQ2VsbEV4cGFuZGVkOmNlbGxJbmRleDpkYXRhLnBpdm90U3RhdGVzW3RhYmxlSW5kZXhdXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnN0aWNreS1zdGFydF09XCJjZWxsLnN0aWNreVN0YXJ0XCJcbiAgICAgICAgICAgICAgW2NsYXNzLnN0aWNreS10b3BdPVwiY2VsbC5zdGlja3lUb3BcIlxuICAgICAgICAgICAgICBbcm93U3Bhbl09XCJjZWxsLnJvd1NwYW5cIlxuICAgICAgICAgICAgICBbY29sU3Bhbl09XCJjZWxsLmNvbFNwYW5cIlxuICAgICAgICAgICAgICBbc3R5bGUudG9wLnB4XT1cImNlbGwuc3RpY2t5VG9wID8gKHJvd0luZGV4ICogc3RpY2t5Q29sdW1uSGVpZ2h0KSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbEluZGV4ICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbC5jb2xTcGFuICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJjZWxsLnN0aWNreVN0YXJ0ID8gKGNlbGwuY29sU3BhbiAqIHN0aWNreUNvbHVtbldpZHRoKSA6IDMwMFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiY2VsbC5zdGlja3lTdGFydCA/IChjZWxsLmNvbFNwYW4gKiBzdGlja3lDb2x1bW5XaWR0aCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJjZWxsLmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiY2VsbC5iYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNlbGwuYmFja2dyb3VuZCAmJiAoY2VsbC5iYWNrZ3JvdW5kIHwgY29udHJhc3RDb2xvcilcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DZWxsQ2xpY2soY2VsbCwgcm93Q2VsbHMsIHRhYmxlSW5kZXgsIHJvd0luZGV4LCBjZWxsSW5kZXgpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5zdW1tYXJ5XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnkgbWUtMlwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWdyb3ctMSBoLTEwMCB0ZXh0LXRydW5jYXRlIGQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgY2VsbC52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDZWxsVGVtcGxhdGUgfHwgdGFibGVDZWxsVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0VGFibGVDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB2YWx1ZTogY2VsbC52YWx1ZSwgY2VsbDogY2VsbCB9XCI+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ibG9ja1wiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vcm1hbFwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNlbGwuc3VtbWFyeVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbERhdGEuaGFzVmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ibG9ja1wiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgY3Vyc29yOiBwb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNlbGwudmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUNlbGxUZW1wbGF0ZSB8fCB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0IHx8IGRlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB2YWx1ZTogY2VsbC52YWx1ZSwgY2VsbDogY2VsbCB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2VsbERhdGEuaGFzVmFsdWVcIj4mbmJzcDs8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90cj5cbiAgICA8L3RhYmxlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEucGl2b3RUYWJsZXM/Lmxlbmd0aCB8fCAoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eVRhYmxlc1RlbXBsYXRlPlxuICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eVRhYmxlc1RlbXBsYXRlIHx8IGVtcHR5VGFibGVzVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0RW1wdHlUYWJsZXNUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAgfVwiPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -13,8 +13,8 @@ import { IsCellExpandedPipe } from './pipes/is-cell-expanded.pipe';
|
|
|
13
13
|
import { IsCellRowsExpandablePipe } from './pipes/is-cell-rows-expandable.pipe';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
export class LmrPivotTableModule {
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrPivotTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: LmrPivotTableModule, declarations: [LmrPivotTableComponent,
|
|
18
18
|
LmrSimplePivotTableComponent,
|
|
19
19
|
PivotDataEmptyPipe,
|
|
20
20
|
CellHasValuePipe,
|
|
@@ -29,10 +29,10 @@ export class LmrPivotTableModule {
|
|
|
29
29
|
LmrSimplePivotTableComponent,
|
|
30
30
|
LmrEmptyTablesTemplateDirective,
|
|
31
31
|
LmrTableCellTemplateDirective] });
|
|
32
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
32
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrPivotTableModule, imports: [CommonModule,
|
|
33
33
|
ScrollingModule] });
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrPivotTableModule, decorators: [{
|
|
36
36
|
type: NgModule,
|
|
37
37
|
args: [{
|
|
38
38
|
declarations: [
|
|
@@ -65,10 +65,10 @@ export class LmrSimplePivotTableComponent {
|
|
|
65
65
|
}]
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrSimplePivotTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LmrSimplePivotTableComponent, selector: "lmr-simple-pivot-table", inputs: { rows: "rows", attributes: "attributes", color: "color", config: "config", transform: "transform", locale: "locale", initiallyCollapsed: "initiallyCollapsed" }, outputs: { cellClick: "cellClick", pivotDataChange: "pivotDataChange", pivotTablesChange: "pivotTablesChange" }, queries: [{ propertyName: "emptyTablesTemplate", first: true, predicate: LmrEmptyTablesTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tableCellTemplate", first: true, predicate: LmrTableCellTemplateDirective, descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<lmr-pivot-table [transform]=\"transform\"\n [data]=\"data\"\n [config]=\"pivotConfig\"\n [query]=\"query\"\n [constraintData]=\"constraintData\"\n [collections]=\"[collection]\"\n [emptyTablesTemplateInput]=\"emptyTablesTemplate\"\n [tableCellTemplateInput]=\"tableCellTemplate\"\n [initiallyCollapsed]=\"initiallyCollapsed\"\n (cellClick)=\"cellClick.emit($event)\"\n (pivotDataChange)=\"pivotDataChange.emit($event)\"\n (pivotTablesChange)=\"pivotTablesChange.emit($event)\">\n</lmr-pivot-table>\n", dependencies: [{ kind: "component", type: i1.LmrPivotTableComponent, selector: "lmr-pivot-table", inputs: ["collections", "data", "linkTypes", "query", "constraintData", "config", "transform", "emptyTablesTemplateInput", "tableCellTemplateInput", "initiallyCollapsed"], outputs: ["cellClick", "pivotDataChange", "pivotTablesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LmrSimplePivotTableComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
73
|
args: [{ selector: 'lmr-simple-pivot-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lmr-pivot-table [transform]=\"transform\"\n [data]=\"data\"\n [config]=\"pivotConfig\"\n [query]=\"query\"\n [constraintData]=\"constraintData\"\n [collections]=\"[collection]\"\n [emptyTablesTemplateInput]=\"emptyTablesTemplate\"\n [tableCellTemplateInput]=\"tableCellTemplate\"\n [initiallyCollapsed]=\"initiallyCollapsed\"\n (cellClick)=\"cellClick.emit($event)\"\n (pivotDataChange)=\"pivotDataChange.emit($event)\"\n (pivotTablesChange)=\"pivotTablesChange.emit($event)\">\n</lmr-pivot-table>\n" }]
|
|
74
74
|
}], propDecorators: { rows: [{
|
|
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
98
98
|
type: ContentChild,
|
|
99
99
|
args: [LmrTableCellTemplateDirective, { read: TemplateRef }]
|
|
100
100
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXNpbXBsZS1waXZvdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItc2ltcGxlLXBpdm90LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1zaW1wbGUtcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuSixPQUFPLEVBQVksc0JBQXNCLEVBQW9FLFVBQVUsRUFBRSxXQUFXLEVBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUl6SyxPQUFPLEVBQUMsK0JBQStCLEVBQUUsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBT3BILE1BQU0sT0FBTyw0QkFBNEI7SUFHaEMsSUFBSSxDQUF3QjtJQUc1QixVQUFVLENBQWM7SUFHeEIsS0FBSyxDQUFTO0lBR2QsTUFBTSxDQUF1QjtJQUc3QixTQUFTLENBQW9CO0lBRzdCLE1BQU0sQ0FBYztJQUdwQixrQkFBa0IsQ0FBVTtJQUc1QixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXlGLENBQUM7SUFHdEgsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBR25ELGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRU8sbUJBQW1CLENBQW1CO0lBQ3hDLGlCQUFpQixDQUFtQjtJQUV4RixZQUFZLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDM0IsS0FBSyxHQUFVLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFD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RUFBRTtZQUN2QixXQUFXLEVBQUUsQ0FBQztvQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN6QixhQUFhLEVBQUUsRUFBRTtvQkFDakIsU0FBUztpQkFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0F4RlUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsMFlBZ0N6QiwrQkFBK0IsMkJBQVUsV0FBVyxpRUFDcEQsNkJBQTZCLDJCQUFVLFdBQVcsa0RDOUNsRSxzcUJBYUE7OzRGREFhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU07OEJBS3hDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixNQUFNO2dCQUlBLGVBQWU7c0JBRHJCLE1BQU07Z0JBSUEsaUJBQWlCO3NCQUR2QixNQUFNO2dCQUcrRCxtQkFBbUI7c0JBQXhGLFlBQVk7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNBLGlCQUFpQjtzQkFBcEYsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG1yUGl2b3RDb25maWcsIExtclBpdm90VHJhbnNmb3JtfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LWNvbmZpZyc7XG5pbXBvcnQge0F0dHJpYnV0ZSwgQXR0cmlidXRlc1Jlc291cmNlVHlwZSwgQ29sbGVjdGlvbiwgQ29uc3RyYWludERhdGEsIERvY3VtZW50TW9kZWwsIERvY3VtZW50c0FuZExpbmtzRGF0YSwgZ2VuZXJhdGVJZCwgTGFuZ3VhZ2VUYWcsIFF1ZXJ5fSBmcm9tICdAbHVtZWVyL2RhdGEtZmlsdGVycyc7XG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1kYXRhJztcbmltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtMbXJTaW1wbGVQaXZvdENvbmZpZ30gZnJvbSAnLi91dGlsL2xtci1zaW1wbGUtcGl2b3QtY29uZmlnJztcbmltcG9ydCB7TG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xtci1zaW1wbGUtcGl2b3QtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJ2xtci1zaW1wbGUtcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTG1yU2ltcGxlUGl2b3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd3M6IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXR0cmlidXRlczogQXR0cmlidXRlW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZzogTG1yU2ltcGxlUGl2b3RDb25maWc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRyYW5zZm9ybTogTG1yUGl2b3RUcmFuc2Zvcm07XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxvY2FsZTogTGFuZ3VhZ2VUYWc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxseUNvbGxhcHNlZDogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNlbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e2NlbGw6IExtclBpdm90VGFibGVDZWxsOyB0YWJsZUluZGV4OiBudW1iZXI7IHJvd0luZGV4OiBudW1iZXI7IGNvbHVtbkluZGV4OiBudW1iZXIgfT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90RGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TG1yUGl2b3REYXRhPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcGl2b3RUYWJsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExtclBpdm90VGFibGVbXT4oKTtcblxuICBAQ29udGVudENoaWxkKExtckVtcHR5VGFibGVzVGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgZW1wdHlUYWJsZXNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChMbXJUYWJsZUNlbGxUZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0YWJsZUNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29sbGVjdGlvbklkID0gZ2VuZXJhdGVJZCgpXG4gIHB1YmxpYyByZWFkb25seSBxdWVyeTogUXVlcnkgPSB7c3RlbXM6IFt7Y29sbGVjdGlvbklkOiB0aGlzLmNvbGxlY3Rpb25JZH1dfTtcblxuICBwdWJsaWMgY29sbGVjdGlvbjogQ29sbGVjdGlvbiA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbigpO1xuICBwdWJsaWMgcGl2b3RDb25maWc6IExtclBpdm90Q29uZmlnID0gdGhpcy5jcmVhdGVDb25maWcoKTtcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YSA9IHRoaXMuY3JlYXRlUm93cygpO1xuICBwdWJsaWMgY29uc3RyYWludERhdGE6IENvbnN0cmFpbnREYXRhO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3Jvd3MnXSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5jcmVhdGVSb3dzKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydhdHRyaWJ1dGVzJ10gfHwgY2hhbmdlc1snY29sb3InXSkge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5waXZvdENvbmZpZyA9IHRoaXMuY3JlYXRlQ29uZmlnKCk7XG4gICAgfVxuICAgIHRoaXMuY29uc3RyYWludERhdGEgPSB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlIHx8IExhbmd1YWdlVGFnLlVTQSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbGxlY3Rpb24oKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmNvbGxlY3Rpb25JZCxcbiAgICAgIGF0dHJpYnV0ZXM6ICh0aGlzLmF0dHJpYnV0ZXMgfHwgW10pLFxuICAgICAgY29sb3I6IHRoaXMuY29sb3IsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb25maWcoKTogTG1yUGl2b3RDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBzdGVtc0NvbmZpZ3M6IFt7XG4gICAgICAgIHN0ZW06IHRoaXMucXVlcnkuc3RlbXNbMF0sXG4gICAgICAgIHJvd0F0dHJpYnV0ZXM6ICh0aGlzLmNvbmZpZz8ucm93QXR0cmlidXRlcyB8fCBbXSkubWFwKGF0dHJpYnV0ZSA9PiAoey4uLmF0dHJpYnV0ZSwgcmVzb3VyY2VJZDogdGhpcy5jb2xsZWN0aW9uSWQsIHJlc291cmNlSW5kZXg6IDAsIHJlc291cmNlVHlwZTogQXR0cmlidXRlc1Jlc291cmNlVHlwZS5Db2xsZWN0aW9ufSkpLFxuICAgICAgICBjb2x1bW5BdHRyaWJ1dGVzOiAodGhpcy5jb25maWc/LmNvbHVtbkF0dHJpYnV0ZXMgfHwgW10pLm1hcChhdHRyaWJ1dGUgPT4gKHsuLi5hdHRyaWJ1dGUsIHJlc291cmNlSWQ6IHRoaXMuY29sbGVjdGlvbklkLCByZXNvdXJjZUluZGV4OiAwLCByZXNvdXJjZVR5cGU6IEF0dHJpYnV0ZXNSZXNvdXJjZVR5cGUuQ29sbGVjdGlvbn0pKSxcbiAgICAgICAgdmFsdWVBdHRyaWJ1dGVzOiAodGhpcy5jb25maWc/LnZhbHVlQXR0cmlidXRlcyB8fCBbXSkubWFwKGF0dHJpYnV0ZSA9PiAoey4uLmF0dHJpYnV0ZSwgcmVzb3VyY2VJZDogdGhpcy5jb2xsZWN0aW9uSWQsIHJlc291cmNlSW5kZXg6IDAsIHJlc291cmNlVHlwZTogQXR0cmlidXRlc1Jlc291cmNlVHlwZS5Db2xsZWN0aW9ufSkpXG4gICAgICB9XVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUm93cygpOiBEb2N1bWVudHNBbmRMaW5rc0RhdGEge1xuICAgIGNvbnN0IGRvY3VtZW50cyA9ICh0aGlzLnJvd3MgfHwgW10pLm1hcDxEb2N1bWVudE1vZGVsPigocm93LCBpbmRleCkgPT4gKHtpZDogaW5kZXgudG9TdHJpbmcoKSwgY29sbGVjdGlvbklkOiB0aGlzLmNvbGxlY3Rpb24uaWQsIGRhdGE6IHJvd30pKTtcbiAgICByZXR1cm4gKHtcbiAgICAgIHVuaXF1ZURvY3VtZW50czogZG9jdW1lbnRzLFxuICAgICAgdW5pcXVlTGlua0luc3RhbmNlczogW10sXG4gICAgICBkYXRhQnlTdGVtczogW3tcbiAgICAgICAgc3RlbTogdGhpcy5xdWVyeS5zdGVtc1swXSxcbiAgICAgICAgbGlua0luc3RhbmNlczogW10sXG4gICAgICAgIGRvY3VtZW50c1xuICAgICAgfV1cbiAgICB9KVxuICB9XG5cbn1cbiIsIjxsbXItcGl2b3QtdGFibGUgW3RyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJwaXZvdENvbmZpZ1wiXG4gICAgICAgICAgICAgICAgIFtxdWVyeV09XCJxdWVyeVwiXG4gICAgICAgICAgICAgICAgIFtjb25zdHJhaW50RGF0YV09XCJjb25zdHJhaW50RGF0YVwiXG4gICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uc109XCJbY29sbGVjdGlvbl1cIlxuICAgICAgICAgICAgICAgICBbZW1wdHlUYWJsZXNUZW1wbGF0ZUlucHV0XT1cImVtcHR5VGFibGVzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICBbdGFibGVDZWxsVGVtcGxhdGVJbnB1dF09XCJ0YWJsZUNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgIFtpbml0aWFsbHlDb2xsYXBzZWRdPVwiaW5pdGlhbGx5Q29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxDbGljayk9XCJjZWxsQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKHBpdm90RGF0YUNoYW5nZSk9XCJwaXZvdERhdGFDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKHBpdm90VGFibGVzQ2hhbmdlKT1cInBpdm90VGFibGVzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuPC9sbXItcGl2b3QtdGFibGU+XG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXNpbXBsZS1waXZvdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItc2ltcGxlLXBpdm90LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1zaW1wbGUtcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuSixPQUFPLEVBQVksc0JBQXNCLEVBQW9FLFVBQVUsRUFBRSxXQUFXLEVBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUl6SyxPQUFPLEVBQUMsK0JBQStCLEVBQUUsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBT3BILE1BQU0sT0FBTyw0QkFBNEI7SUFHaEMsSUFBSSxDQUF3QjtJQUc1QixVQUFVLENBQWM7SUFHeEIsS0FBSyxDQUFTO0lBR2QsTUFBTSxDQUF1QjtJQUc3QixTQUFTLENBQW9CO0lBRzdCLE1BQU0sQ0FBYztJQUdwQixrQkFBa0IsQ0FBVTtJQUc1QixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXlGLENBQUM7SUFHdEgsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBR25ELGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRU8sbUJBQW1CLENBQW1CO0lBQ3hDLGlCQUFpQixDQUFtQjtJQUV4RixZQUFZLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDM0IsS0FBSyxHQUFVLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFD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ZSxFQUFFLFNBQVM7WUFDMUIsbUJBQW1CLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUUsQ0FBQztvQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN6QixhQUFhLEVBQUUsRUFBRTtvQkFDakIsU0FBUztpQkFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0F4RlUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsMFlBZ0N6QiwrQkFBK0IsMkJBQVUsV0FBVyxpRUFDcEQsNkJBQTZCLDJCQUFVLFdBQVcsa0RDOUNsRSxzcUJBYUE7OzRGREFhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU07OEJBS3hDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixNQUFNO2dCQUlBLGVBQWU7c0JBRHJCLE1BQU07Z0JBSUEsaUJBQWlCO3NCQUR2QixNQUFNO2dCQUcrRCxtQkFBbUI7c0JBQXhGLFlBQVk7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNBLGlCQUFpQjtzQkFBcEYsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG1yUGl2b3RDb25maWcsIExtclBpdm90VHJhbnNmb3JtfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LWNvbmZpZyc7XG5pbXBvcnQge0F0dHJpYnV0ZSwgQXR0cmlidXRlc1Jlc291cmNlVHlwZSwgQ29sbGVjdGlvbiwgQ29uc3RyYWludERhdGEsIERvY3VtZW50TW9kZWwsIERvY3VtZW50c0FuZExpbmtzRGF0YSwgZ2VuZXJhdGVJZCwgTGFuZ3VhZ2VUYWcsIFF1ZXJ5fSBmcm9tICdAbHVtZWVyL2RhdGEtZmlsdGVycyc7XG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1kYXRhJztcbmltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtMbXJTaW1wbGVQaXZvdENvbmZpZ30gZnJvbSAnLi91dGlsL2xtci1zaW1wbGUtcGl2b3QtY29uZmlnJztcbmltcG9ydCB7TG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xtci1zaW1wbGUtcGl2b3QtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJ2xtci1zaW1wbGUtcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTG1yU2ltcGxlUGl2b3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvd3M6IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXR0cmlidXRlczogQXR0cmlidXRlW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZzogTG1yU2ltcGxlUGl2b3RDb25maWc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRyYW5zZm9ybTogTG1yUGl2b3RUcmFuc2Zvcm07XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxvY2FsZTogTGFuZ3VhZ2VUYWc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxseUNvbGxhcHNlZDogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNlbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e2NlbGw6IExtclBpdm90VGFibGVDZWxsOyB0YWJsZUluZGV4OiBudW1iZXI7IHJvd0luZGV4OiBudW1iZXI7IGNvbHVtbkluZGV4OiBudW1iZXIgfT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90RGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TG1yUGl2b3REYXRhPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcGl2b3RUYWJsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExtclBpdm90VGFibGVbXT4oKTtcblxuICBAQ29udGVudENoaWxkKExtckVtcHR5VGFibGVzVGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgZW1wdHlUYWJsZXNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChMbXJUYWJsZUNlbGxUZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0YWJsZUNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29sbGVjdGlvbklkID0gZ2VuZXJhdGVJZCgpXG4gIHB1YmxpYyByZWFkb25seSBxdWVyeTogUXVlcnkgPSB7c3RlbXM6IFt7Y29sbGVjdGlvbklkOiB0aGlzLmNvbGxlY3Rpb25JZH1dfTtcblxuICBwdWJsaWMgY29sbGVjdGlvbjogQ29sbGVjdGlvbiA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbigpO1xuICBwdWJsaWMgcGl2b3RDb25maWc6IExtclBpdm90Q29uZmlnID0gdGhpcy5jcmVhdGVDb25maWcoKTtcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YSA9IHRoaXMuY3JlYXRlUm93cygpO1xuICBwdWJsaWMgY29uc3RyYWludERhdGE6IENvbnN0cmFpbnREYXRhO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3Jvd3MnXSkge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5jcmVhdGVSb3dzKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydhdHRyaWJ1dGVzJ10gfHwgY2hhbmdlc1snY29sb3InXSkge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5waXZvdENvbmZpZyA9IHRoaXMuY3JlYXRlQ29uZmlnKCk7XG4gICAgfVxuICAgIHRoaXMuY29uc3RyYWludERhdGEgPSB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlIHx8IExhbmd1YWdlVGFnLlVTQSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbGxlY3Rpb24oKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmNvbGxlY3Rpb25JZCxcbiAgICAgIGF0dHJpYnV0ZXM6ICh0aGlzLmF0dHJpYnV0ZXMgfHwgW10pLFxuICAgICAgY29sb3I6IHRoaXMuY29sb3IsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb25maWcoKTogTG1yUGl2b3RDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBzdGVtc0NvbmZpZ3M6IFt7XG4gICAgICAgIHN0ZW06IHRoaXMucXVlcnkuc3RlbXNbMF0sXG4gICAgICAgIHJvd0F0dHJpYnV0ZXM6ICh0aGlzLmNvbmZpZz8ucm93QXR0cmlidXRlcyB8fCBbXSkubWFwKGF0dHJpYnV0ZSA9PiAoey4uLmF0dHJpYnV0ZSwgcmVzb3VyY2VJZDogdGhpcy5jb2xsZWN0aW9uSWQsIHJlc291cmNlSW5kZXg6IDAsIHJlc291cmNlVHlwZTogQXR0cmlidXRlc1Jlc291cmNlVHlwZS5Db2xsZWN0aW9ufSkpLFxuICAgICAgICBjb2x1bW5BdHRyaWJ1dGVzOiAodGhpcy5jb25maWc/LmNvbHVtbkF0dHJpYnV0ZXMgfHwgW10pLm1hcChhdHRyaWJ1dGUgPT4gKHsuLi5hdHRyaWJ1dGUsIHJlc291cmNlSWQ6IHRoaXMuY29sbGVjdGlvbklkLCByZXNvdXJjZUluZGV4OiAwLCByZXNvdXJjZVR5cGU6IEF0dHJpYnV0ZXNSZXNvdXJjZVR5cGUuQ29sbGVjdGlvbn0pKSxcbiAgICAgICAgdmFsdWVBdHRyaWJ1dGVzOiAodGhpcy5jb25maWc/LnZhbHVlQXR0cmlidXRlcyB8fCBbXSkubWFwKGF0dHJpYnV0ZSA9PiAoey4uLmF0dHJpYnV0ZSwgcmVzb3VyY2VJZDogdGhpcy5jb2xsZWN0aW9uSWQsIHJlc291cmNlSW5kZXg6IDAsIHJlc291cmNlVHlwZTogQXR0cmlidXRlc1Jlc291cmNlVHlwZS5Db2xsZWN0aW9ufSkpXG4gICAgICB9XVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUm93cygpOiBEb2N1bWVudHNBbmRMaW5rc0RhdGEge1xuICAgIGNvbnN0IGRvY3VtZW50cyA9ICh0aGlzLnJvd3MgfHwgW10pLm1hcDxEb2N1bWVudE1vZGVsPigocm93LCBpbmRleCkgPT4gKHtpZDogaW5kZXgudG9TdHJpbmcoKSwgY29sbGVjdGlvbklkOiB0aGlzLmNvbGxlY3Rpb24uaWQsIGRhdGE6IHJvd30pKTtcbiAgICByZXR1cm4gKHtcbiAgICAgIHVuaXF1ZURvY3VtZW50czogZG9jdW1lbnRzLFxuICAgICAgdW5pcXVlTGlua0luc3RhbmNlczogW10sXG4gICAgICBkYXRhQnlTdGVtczogW3tcbiAgICAgICAgc3RlbTogdGhpcy5xdWVyeS5zdGVtc1swXSxcbiAgICAgICAgbGlua0luc3RhbmNlczogW10sXG4gICAgICAgIGRvY3VtZW50c1xuICAgICAgfV1cbiAgICB9KVxuICB9XG5cbn1cbiIsIjxsbXItcGl2b3QtdGFibGUgW3RyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJwaXZvdENvbmZpZ1wiXG4gICAgICAgICAgICAgICAgIFtxdWVyeV09XCJxdWVyeVwiXG4gICAgICAgICAgICAgICAgIFtjb25zdHJhaW50RGF0YV09XCJjb25zdHJhaW50RGF0YVwiXG4gICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uc109XCJbY29sbGVjdGlvbl1cIlxuICAgICAgICAgICAgICAgICBbZW1wdHlUYWJsZXNUZW1wbGF0ZUlucHV0XT1cImVtcHR5VGFibGVzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICBbdGFibGVDZWxsVGVtcGxhdGVJbnB1dF09XCJ0YWJsZUNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgIFtpbml0aWFsbHlDb2xsYXBzZWRdPVwiaW5pdGlhbGx5Q29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxDbGljayk9XCJjZWxsQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKHBpdm90RGF0YUNoYW5nZSk9XCJwaXZvdERhdGFDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKHBpdm90VGFibGVzQ2hhbmdlKT1cInBpdm90VGFibGVzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuPC9sbXItcGl2b3QtdGFibGU+XG4iXX0=
|
|
@@ -23,10 +23,10 @@ export class CellHasValuePipe {
|
|
|
23
23
|
transform(cell) {
|
|
24
24
|
return isNotNullOrUndefined(cell.value) && String(cell.value).trim() !== '';
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellHasValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CellHasValuePipe, name: "cellHasValue" });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellHasValuePipe, decorators: [{
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{
|
|
32
32
|
name: 'cellHasValue',
|
|
@@ -23,11 +23,11 @@ export class ContrastColorPipe {
|
|
|
23
23
|
transform(color, returnCodes, opacity) {
|
|
24
24
|
return contrastColor(color, returnCodes, opacity);
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
28
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContrastColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ContrastColorPipe, name: "contrastColor" });
|
|
28
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContrastColorPipe, providedIn: 'root' });
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContrastColorPipe, decorators: [{
|
|
31
31
|
type: Pipe,
|
|
32
32
|
args: [{
|
|
33
33
|
name: 'contrastColor',
|
|
@@ -23,10 +23,10 @@ export class FilterVisibleCellsPipe {
|
|
|
23
23
|
transform(table, state) {
|
|
24
24
|
return filterVisibleCells(table.cells, state?.cells);
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterVisibleCellsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FilterVisibleCellsPipe, name: "filterVisibleCells" });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterVisibleCellsPipe, decorators: [{
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{
|
|
32
32
|
name: 'filterVisibleCells',
|
|
@@ -23,10 +23,10 @@ export class IsCellExpandablePipe {
|
|
|
23
23
|
transform(cell) {
|
|
24
24
|
return isCellExpandable(cell);
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsCellExpandablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsCellExpandablePipe, name: "isCellExpandable" });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsCellExpandablePipe, decorators: [{
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{
|
|
32
32
|
name: 'isCellExpandable',
|
|
@@ -25,13 +25,13 @@ export class IsCellExpandedPipe {
|
|
|
25
25
|
}
|
|
26
26
|
return false;
|
|
27
27
|
}
|
|
28
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsCellExpandedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsCellExpandedPipe, name: "isCellExpanded" });
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsCellExpandedPipe, decorators: [{
|
|
32
32
|
type: Pipe,
|
|
33
33
|
args: [{
|
|
34
34
|
name: 'isCellExpanded',
|
|
35
35
|
}]
|
|
36
36
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2VsbC1leHBhbmRlZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG1yLXBpdm90LXRhYmxlL3NyYy9saWIvcGlwZXMvaXMtY2VsbC1leHBhbmRlZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQVFsRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFNBQVMsQ0FBQyxJQUF1QixFQUFFLFdBQW1CLEVBQUUsS0FBeUI7UUFDdEYsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxDQUFBO1FBQ3pFLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7d0dBTlUsa0JBQWtCO3NHQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSDlCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTHVtZWVyOiBNb2Rlcm4gRGF0YSBEZWZpbml0aW9uIGFuZCBQcm9jZXNzaW5nIFBsYXRmb3JtXG4gKlxuICogQ29weXJpZ2h0IChDKSBzaW5jZSAyMDE3IEx1bWVlci5pbywgcy5yLm8uIGFuZC9vciBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0xtclBpdm90VGFibGUsIExtclBpdm90VGFibGVDZWxsfSBmcm9tICcuLi91dGlsL2xtci1waXZvdC10YWJsZSc7XG5pbXBvcnQge2FyZUNlbGxzU2FtZSwgTG1yUGl2b3RUYWJsZVN0YXRlfSBmcm9tICcuLi91dGlsL2xtci1waXZvdC1zdGF0ZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzQ2VsbEV4cGFuZGVkJyxcbn0pXG5leHBvcnQgY2xhc3MgSXNDZWxsRXhwYW5kZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwsIGNvbHVtbkluZGV4OiBudW1iZXIsIHN0YXRlOiBMbXJQaXZvdFRhYmxlU3RhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoY2VsbC5vcmlnaW5hbFJvd0luZGV4KSB7XG4gICAgICByZXR1cm4gIXN0YXRlPy5jZWxscz8uW2NlbGwub3JpZ2luYWxSb3dJbmRleF0/Lltjb2x1bW5JbmRleF0/LmNvbGxhcHNlZFxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIl19
|
|
@@ -23,10 +23,10 @@ export class IsCellRowsExpandablePipe {
|
|
|
23
23
|
transform(cell) {
|
|
24
24
|
return isCellRowsExpandable(cell);
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsCellRowsExpandablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsCellRowsExpandablePipe, name: "isCellRowsExpandable" });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsCellRowsExpandablePipe, decorators: [{
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{
|
|
32
32
|
name: 'isCellRowsExpandable',
|
|
@@ -26,10 +26,10 @@ export class PivotDataEmptyPipe {
|
|
|
26
26
|
});
|
|
27
27
|
return !anythingToDisplay;
|
|
28
28
|
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PivotDataEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
30
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PivotDataEmptyPipe, name: "pivotDataEmpty" });
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PivotDataEmptyPipe, decorators: [{
|
|
33
33
|
type: Pipe,
|
|
34
34
|
args: [{
|
|
35
35
|
name: 'pivotDataEmpty',
|
|
@@ -153,4 +153,4 @@ export function collapseAllCells(table) {
|
|
|
153
153
|
}
|
|
154
154
|
return { cells };
|
|
155
155
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG1yLXBpdm90LXRhYmxlL3NyYy9saWIvdXRpbC9sbXItcGl2b3Qtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBVWhELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUF1QjtJQUN0RCxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBdUI7SUFDN0QsT0FBTyxJQUFJLEVBQUUsVUFBVSxJQUFJLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXVCO0lBQzFELE9BQU8sSUFBSSxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBdUIsRUFBRSxXQUFtQixFQUFFLEtBQXlCO0lBQ3BHLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3pCLE9BQU8sbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQTtLQUN0RTtJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBcUIsRUFBRSxFQUFxQjtJQUN2RSxPQUFPLEVBQUUsRUFBRSxPQUFPLEtBQUssRUFBRSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsS0FBSyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUE7QUFDL0QsQ0FBQztBQUVELFNBQVMsbUJBQW1C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QUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksSUFBSSxFQUFFLE9BQU8sSUFBSSxJQUFJLEVBQUUsaUJBQWlCLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDOUQsTUFBTTthQUNQO1lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUNmO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQzthQUNqQztTQUNGO0tBQ0Y7SUFDRCxPQUFPLEVBQUMsS0FBSyxFQUFDLENBQUE7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vbG1yLXBpdm90LXRhYmxlJztcbmltcG9ydCB7aXNOdWxsT3JVbmRlZmluZWR9IGZyb20gJ0BsdW1lZXIvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90VGFibGVTdGF0ZSB7XG4gIGNlbGxzPzogTG1yUGl2b3RUYWJsZUNlbGxTdGF0ZVtdW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMbXJQaXZvdFRhYmxlQ2VsbFN0YXRlIHtcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2VsbEV4cGFuZGFibGUoY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQ2VsbENvbHVtbnNFeHBhbmRhYmxlKGNlbGwpIHx8IGlzQ2VsbFJvd3NFeHBhbmRhYmxlKGNlbGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDZWxsQ29sdW1uc0V4cGFuZGFibGUoY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNlbGw/LmV4cGFuZGFibGUgJiYgY2VsbD8uY2hpbGRJbmRleGVzPy5sZW5ndGggPiAxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDZWxsUm93c0V4cGFuZGFibGUoY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNlbGw/LmV4cGFuZGFibGUgJiYgY2VsbD8ucm93SW5kZXhlcz8ubGVuZ3RoID4gMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUV4cGFuZGVkKGNlbGw6IExtclBpdm90VGFibGVDZWxsLCBjb2x1bW5JbmRleDogbnVtYmVyLCBzdGF0ZTogTG1yUGl2b3RUYWJsZVN0YXRlKTogTG1yUGl2b3RUYWJsZVN0YXRlIHtcbiAgaWYgKGNlbGwub3JpZ2luYWxSb3dJbmRleCkge1xuICAgIHJldHVybiB0b2dnbGVFeHBhbmRlZFN0YXRlKHN0YXRlLCBjZWxsLm9yaWdpbmFsUm93SW5kZXgsIGNvbHVtbkluZGV4KVxuICB9XG4gIHJldHVybiBzdGF0ZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlQ2VsbHNTYW1lKGMxOiBMbXJQaXZvdFRhYmxlQ2VsbCwgYzI6IExtclBpdm90VGFibGVDZWxsKTogYm9vbGVhbiB7XG4gIHJldHVybiBjMT8uc3VtbWFyeSA9PT0gYzI/LnN1bW1hcnkgJiYgYzE/LnZhbHVlID09PSBjMj8udmFsdWVcbn1cblxuZnVuY3Rpb24gdG9nZ2xlRXhwYW5kZWRTdGF0ZShzdGF0ZTogTG1yUGl2b3RUYWJsZVN0YXRlLCByb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogTG1yUGl2b3RUYWJsZVN0YXRlIHtcbiAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHJvd0luZGV4KSB8fCBpc051bGxPclVuZGVmaW5lZChjb2x1bW5JbmRleCkgfHwgcm93SW5kZXggPCAwIHx8IGNvbHVtbkluZGV4IDwgMCkge1xuICAgIHJldHVybiBzdGF0ZVxuICB9XG5cbiAgY29uc3QgY2VsbHNDb3B5ID0gWy4uLihzdGF0ZT8uY2VsbHMgfHwgW10pXVxuICBjb25zdCByb3dDb3B5ID0gWy4uLihjZWxsc0NvcHlbcm93SW5kZXhdIHx8IFtdKV1cbiAgcm93Q29weVtjb2x1bW5JbmRleF0gPSB7Li4ucm93Q29weVtjb2x1bW5JbmRleF0sIGNvbGxhcHNlZDogIXJvd0NvcHlbY29sdW1uSW5kZXhdPy5jb2xsYXBzZWR9XG4gIGNlbGxzQ29weVtyb3dJbmRleF0gPSByb3dDb3B5XG4gIHJldHVybiB7Li4uc3RhdGUsIGNlbGxzOiBjZWxsc0NvcHl9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJWaXNpYmxlQ2VsbHMoY2VsbHM6IExtclBpdm90VGFibGVDZWxsW11bXSwgc3RhdGU6IExtclBpdm90VGFibGVDZWxsU3RhdGVbXVtdLCBwYXJlbnRJbmRleDogbnVtYmVyID0gMCk6IExtclBpdm90VGFibGVDZWxsW11bXSB7XG4gIGNvbnN0IGNlbGxzQ2hpbGRJbmRleGVzTWFwID0gY3JlYXRlQ2VsbHNDaGlsZEluZGV4ZXNNYXAoY2VsbHMpO1xuICByZXR1cm4gY2VsbHMucmVkdWNlPExtclBpdm90VGFibGVDZWxsW11bXT4oKGN1cnJlbnRSb3dzLCByb3csIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZmlyc3RDZWxsID0gcm93WzBdXG4gICAgaWYgKCFmaXJzdENlbGwpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Um93c1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbFJvd0luZGV4ID0gcGFyZW50SW5kZXggKyBpbmRleFxuICAgIGlmIChmaXJzdENlbGwuaXNBdHRyaWJ1dGVIZWFkZXIgfHwgZmlyc3RDZWxsLmlzU3VtbWFyeSB8fCBmaXJzdENlbGwuaXNWYWx1ZSkge1xuICAgICAgY3VycmVudFJvd3MucHVzaChzZXRPcmlnaW5hbFJvd0luZGV4Rm9ySGVhZGVycyhyb3csIG9yaWdpbmFsUm93SW5kZXgpKVxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBmaXJzdENlbGwucm93U3BhbjsgaSsrKSB7XG4gICAgICAgIGN1cnJlbnRSb3dzLnB1c2goc2V0T3JpZ2luYWxSb3dJbmRleEZvckhlYWRlcnMoY2VsbHNbaW5kZXggKyBpXSwgb3JpZ2luYWxSb3dJbmRleCArIGkpKVxuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnRSb3dzXG4gICAgfVxuXG4gICAgaWYgKGlzUm93VmlzaWJsZShpbmRleCwgY2VsbHNDaGlsZEluZGV4ZXNNYXAsIDAsIHN0YXRlKSkge1xuICAgICAgaWYgKHJvdy5zb21lKGNlbGwgPT4gaXNDZWxsQ29sdW1uc0V4cGFuZGFibGUoY2VsbCkpKSB7XG4gICAgICAgIGNvbnN0IGlzQ29sbGFwc2VkID0gc3RhdGU/LltpbmRleF0/LlswXT8uY29sbGFwc2VkXG4gICAgICAgIGlmIChpc0NvbGxhcHNlZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RGF0YUhlYWRlckluZGV4ID0gdGFrZUlmKHJvdy5maW5kSW5kZXgoY2VsbCA9PiBjZWxsLmlzVmFsdWUpLCByZXN1bHQgPT4gcmVzdWx0ID49IDApID8/IDFcbiAgICAgICAgICBjb25zdCByb3dDb3B5ID0gWy4uLnJvd11cbiAgICAgICAgICByb3dDb3B5WzBdID0ge1xuICAgICAgICAgICAgLi4ucm93WzBdLFxuICAgICAgICAgICAgY29sU3BhbjogZmlyc3REYXRhSGVhZGVySW5kZXgsXG4gICAgICAgICAgICByb3dTcGFuOiAxLFxuICAgICAgICAgICAgb3JpZ2luYWxSb3dJbmRleCxcbiAgICAgICAgICB9XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBmaXJzdERhdGFIZWFkZXJJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICByb3dDb3B5W2ldID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGN1cnJlbnRSb3dzLnB1c2gocm93Q29weSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXN0ZWRDZWxscyA9IHNsaWNlTWF0cml4KGNlbGxzLCBpbmRleCwgaW5kZXggKyBmaXJzdENlbGwucm93U3BhbiAtIDEsIDEsIGNlbGxzWzBdLmxlbmd0aCAtIDEpXG4gICAgICAgICAgY29uc3QgbmVzdGVkU3RhdGUgPSBzbGljZU1hdHJpeChzdGF0ZSwgaW5kZXgsIGluZGV4ICsgZmlyc3RDZWxsLnJvd1NwYW4gLSAxLCAxLCBjZWxsc1swXS5sZW5ndGggLSAxKVxuICAgICAgICAgIGNvbnN0IG5lc3RlZEZpbHRlcmVkUm93cyA9IGZpbHRlclZpc2libGVDZWxscyhuZXN0ZWRDZWxscywgbmVzdGVkU3RhdGUsIG9yaWdpbmFsUm93SW5kZXgpXG4gICAgICAgICAgY29uc3QgY2hhbmdlZENlbGwgPSB7XG4gICAgICAgICAgICAuLi5yb3dbMF0sXG4gICAgICAgICAgICByb3dTcGFuOiBuZXN0ZWRGaWx0ZXJlZFJvd3MubGVuZ3RoLFxuICAgICAgICAgICAgb3JpZ2luYWxSb3dJbmRleCxcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbmV3Um93cyA9IGFwcGVuZENlbGxUb01hdHJpeChjaGFuZ2VkQ2VsbCwgbmVzdGVkRmlsdGVyZWRSb3dzKTtcbiAgICAgICAgICBjdXJyZW50Um93cy5wdXNoKC4uLm5ld1Jvd3MpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnRSb3dzLnB1c2goc2V0T3JpZ2luYWxSb3dJbmRleEZvckhlYWRlcnMocm93LCBvcmlnaW5hbFJvd0luZGV4KSlcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBmaXJzdENlbGwucm93U3BhbjsgaSsrKSB7XG4gICAgICAgICAgY3VycmVudFJvd3MucHVzaChzZXRPcmlnaW5hbFJvd0luZGV4Rm9ySGVhZGVycyhjZWxsc1tpbmRleCArIGldLCBvcmlnaW5hbFJvd0luZGV4ICsgaSkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudFJvd3NcbiAgfSwgW10pXG59XG5cbmZ1bmN0aW9uIHNldE9yaWdpbmFsUm93SW5kZXhGb3JIZWFkZXJzKHJvdzogTG1yUGl2b3RUYWJsZUNlbGxbXSwgb3JpZ2luYWxSb3dJbmRleDogbnVtYmVyKTogTG1yUGl2b3RUYWJsZUNlbGxbXSB7XG4gIGNvbnN0IG5ld1JvdyA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNlbGwgPSByb3dbaV07XG4gICAgaWYgKCFjZWxsKSB7XG4gICAgICBuZXdSb3cucHVzaChjZWxsKTtcbiAgICB9IGVsc2UgaWYgKGNlbGwuaXNWYWx1ZSkge1xuICAgICAgcmV0dXJuIFsuLi5uZXdSb3csIC4uLnJvdy5zbGljZShpKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld1Jvdy5wdXNoKHsuLi5jZWxsLCBvcmlnaW5hbFJvd0luZGV4fSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ld1Jvd1xufVxuXG5mdW5jdGlvbiBhcHBlbmRDZWxsVG9NYXRyaXgoY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwsIHJvd3M6IExtclBpdm90VGFibGVDZWxsW11bXSk6IExtclBpdm90VGFibGVDZWxsW11bXSB7XG4gIHJldHVybiByb3dzLm1hcCgocm93LCBpbmRleCkgPT4gaW5kZXggPiAwID8gW3VuZGVmaW5lZCwgLi4ucm93XSA6IFtjZWxsLCAuLi5yb3ddKVxufVxuXG5mdW5jdGlvbiB0YWtlSWY8VD4odmFsdWU6IFQsIHByZWRpY2F0ZTogKHY6IFQpID0+IGJvb2xlYW4pOiBUIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHByZWRpY2F0ZSh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBzbGljZU1hdHJpeDxUPihjZWxsczogVFtdW10sIGZyb21Sb3c6IG51bWJlciwgdG9Sb3c6IG51bWJlciwgZnJvbUNvbHVtbjogbnVtYmVyLCB0b0NvbHVtbjogbnVtYmVyKTogVFtdW10ge1xuICBjb25zdCBzbGljZWRNYXRyaXg6IFRbXVtdID0gW107XG4gIGZvciAobGV0IGkgPSBmcm9tUm93OyBpIDw9IHRvUm93OyBpKyspIHtcbiAgICBjb25zdCByb3c6IFRbXSA9IChjZWxscz8uW2ldIHx8IFtdKS5zbGljZShmcm9tQ29sdW1uLCB0b0NvbHVtbiArIDEpO1xuICAgIHNsaWNlZE1hdHJpeC5wdXNoKHJvdyk7XG4gIH1cblxuICByZXR1cm4gc2xpY2VkTWF0cml4O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDZWxsc0NoaWxkSW5kZXhlc01hcChyb3dDZWxsczogTG1yUGl2b3RUYWJsZUNlbGxbXVtdKTogbnVtYmVyW11bXSB7XG4gIGNvbnN0IGZpcnN0Q2VsbHMgPSByb3dDZWxscy5tYXAocm93Q2VsbHMgPT4gcm93Q2VsbHNbMF0pO1xuICByZXR1cm4gY3JlYXRlUm93c0NoaWxkSW5kZXhlc01hcChmaXJzdENlbGxzKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUm93c0NoaWxkSW5kZXhlc01hcChyb3dDZWxsczogTG1yUGl2b3RUYWJsZUNlbGxbXSk6IG51bWJlcltdW10ge1xuICByZXR1cm4gKHJvd0NlbGxzIHx8IFtdKS5yZWR1Y2UoKG1hcCwgY2VsbCwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWNlbGw/LmV4cGFuZGFibGUpIHtcbiAgICAgIHJldHVybiBtYXBcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkSW5kZXggb2YgKGNlbGw/LnJvd0luZGV4ZXMgfHwgW10pKSB7XG4gICAgICBpZiAoIW1hcFtjaGlsZEluZGV4XSlcbiAgICAgICAgbWFwW2NoaWxkSW5kZXhdID0gW11cbiAgICAgIG1hcFtjaGlsZEluZGV4XS5wdXNoKGluZGV4KVxuICAgIH1cblxuICAgIHJldHVybiBtYXA7XG4gIH0sIFtdKTtcbn1cblxuZnVuY3Rpb24gaXNSb3dWaXNpYmxlKGluZGV4OiBudW1iZXIsIGNoaWxkSW5kZXhlc01hcDogbnVtYmVyW11bXSwgY29sdW1uSW5kZXg6IG51bWJlciwgc3RhdGU6IExtclBpdm90VGFibGVDZWxsU3RhdGVbXVtdKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNoaWxkSW5kZXhlcyA9IGNoaWxkSW5kZXhlc01hcD8uW2luZGV4XSB8fCBbXVxuICByZXR1cm4gIWNoaWxkSW5kZXhlcy5sZW5ndGggfHwgY2hpbGRJbmRleGVzLnNvbWUoY2hpbGRJbmRleCA9PiAhc3RhdGU/LltjaGlsZEluZGV4XT8uW2NvbHVtbkluZGV4XT8uY29sbGFwc2VkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29sbGFwc2VBbGxDZWxscyh0YWJsZTogTG1yUGl2b3RUYWJsZSk6IExtclBpdm90VGFibGVTdGF0ZSB7XG4gIGNvbnN0IGNlbGxzOiBMbXJQaXZvdFRhYmxlQ2VsbFN0YXRlW11bXSA9IFtdO1xuICBjb25zdCB0YWJsZUNlbGxzID0gdGFibGU/LmNlbGxzIHx8IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlQ2VsbHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCByb3cgPSB0YWJsZUNlbGxzW2ldO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcm93Lmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBjZWxsID0gcm93W2pdO1xuICAgICAgaWYgKGNlbGw/LmlzVmFsdWUgfHwgY2VsbD8uaXNBdHRyaWJ1dGVIZWFkZXIgfHwgY2VsbD8uaXNIZWFkZXIpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoaXNDZWxsRXhwYW5kYWJsZShjZWxsKSkge1xuICAgICAgICBpZiAoIWNlbGxzW2ldKSB7XG4gICAgICAgICAgY2VsbHNbaV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjZWxsc1tpXVtqXSA9IHtjb2xsYXBzZWQ6IHRydWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4ge2NlbGxzfVxufVxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG1yLXBpdm90LXRhYmxlL3NyYy9saWIvdXRpbC9sbXItcGl2b3Qtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBVWhELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUF1QjtJQUN0RCxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBdUI7SUFDN0QsT0FBTyxJQUFJLEVBQUUsVUFBVSxJQUFJLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXVCO0lBQzFELE9BQU8sSUFBSSxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBdUIsRUFBRSxXQUFtQixFQUFFLEtBQXlCO0lBQ3BHLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQXFCLEVBQUUsRUFBcUI7SUFDdkUsT0FBTyxFQUFFLEVBQUUsT0FBTyxLQUFLLEVBQUUsRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFBO0FBQy9ELENBQUM7QUFFRCxT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RyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksSUFBSSxFQUFFLE9BQU8sSUFBSSxJQUFJLEVBQUUsaUJBQWlCLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUMvRCxNQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNkLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBQyxLQUFLLEVBQUMsQ0FBQTtBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMbXJQaXZvdFRhYmxlLCBMbXJQaXZvdFRhYmxlQ2VsbH0gZnJvbSAnLi9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtpc051bGxPclVuZGVmaW5lZH0gZnJvbSAnQGx1bWVlci91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG1yUGl2b3RUYWJsZVN0YXRlIHtcbiAgY2VsbHM/OiBMbXJQaXZvdFRhYmxlQ2VsbFN0YXRlW11bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExtclBpdm90VGFibGVDZWxsU3RhdGUge1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDZWxsRXhwYW5kYWJsZShjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNDZWxsQ29sdW1uc0V4cGFuZGFibGUoY2VsbCkgfHwgaXNDZWxsUm93c0V4cGFuZGFibGUoY2VsbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NlbGxDb2x1bW5zRXhwYW5kYWJsZShjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2VsbD8uZXhwYW5kYWJsZSAmJiBjZWxsPy5jaGlsZEluZGV4ZXM/Lmxlbmd0aCA+IDE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NlbGxSb3dzRXhwYW5kYWJsZShjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2VsbD8uZXhwYW5kYWJsZSAmJiBjZWxsPy5yb3dJbmRleGVzPy5sZW5ndGggPiAxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlRXhwYW5kZWQoY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwsIGNvbHVtbkluZGV4OiBudW1iZXIsIHN0YXRlOiBMbXJQaXZvdFRhYmxlU3RhdGUpOiBMbXJQaXZvdFRhYmxlU3RhdGUge1xuICBpZiAoY2VsbC5vcmlnaW5hbFJvd0luZGV4KSB7XG4gICAgcmV0dXJuIHRvZ2dsZUV4cGFuZGVkU3RhdGUoc3RhdGUsIGNlbGwub3JpZ2luYWxSb3dJbmRleCwgY29sdW1uSW5kZXgpXG4gIH1cbiAgcmV0dXJuIHN0YXRlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVDZWxsc1NhbWUoYzE6IExtclBpdm90VGFibGVDZWxsLCBjMjogTG1yUGl2b3RUYWJsZUNlbGwpOiBib29sZWFuIHtcbiAgcmV0dXJuIGMxPy5zdW1tYXJ5ID09PSBjMj8uc3VtbWFyeSAmJiBjMT8udmFsdWUgPT09IGMyPy52YWx1ZVxufVxuXG5mdW5jdGlvbiB0b2dnbGVFeHBhbmRlZFN0YXRlKHN0YXRlOiBMbXJQaXZvdFRhYmxlU3RhdGUsIHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBMbXJQaXZvdFRhYmxlU3RhdGUge1xuICBpZiAoaXNOdWxsT3JVbmRlZmluZWQocm93SW5kZXgpIHx8IGlzTnVsbE9yVW5kZWZpbmVkKGNvbHVtbkluZGV4KSB8fCByb3dJbmRleCA8IDAgfHwgY29sdW1uSW5kZXggPCAwKSB7XG4gICAgcmV0dXJuIHN0YXRlXG4gIH1cblxuICBjb25zdCBjZWxsc0NvcHkgPSBbLi4uKHN0YXRlPy5jZWxscyB8fCBbXSldXG4gIGNvbnN0IHJvd0NvcHkgPSBbLi4uKGNlbGxzQ29weVtyb3dJbmRleF0gfHwgW10pXVxuICByb3dDb3B5W2NvbHVtbkluZGV4XSA9IHsuLi5yb3dDb3B5W2NvbHVtbkluZGV4XSwgY29sbGFwc2VkOiAhcm93Q29weVtjb2x1bW5JbmRleF0/LmNvbGxhcHNlZH1cbiAgY2VsbHNDb3B5W3Jvd0luZGV4XSA9IHJvd0NvcHlcbiAgcmV0dXJuIHsuLi5zdGF0ZSwgY2VsbHM6IGNlbGxzQ29weX1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclZpc2libGVDZWxscyhjZWxsczogTG1yUGl2b3RUYWJsZUNlbGxbXVtdLCBzdGF0ZTogTG1yUGl2b3RUYWJsZUNlbGxTdGF0ZVtdW10sIHBhcmVudEluZGV4OiBudW1iZXIgPSAwKTogTG1yUGl2b3RUYWJsZUNlbGxbXVtdIHtcbiAgY29uc3QgY2VsbHNDaGlsZEluZGV4ZXNNYXAgPSBjcmVhdGVDZWxsc0NoaWxkSW5kZXhlc01hcChjZWxscyk7XG4gIHJldHVybiBjZWxscy5yZWR1Y2U8TG1yUGl2b3RUYWJsZUNlbGxbXVtdPigoY3VycmVudFJvd3MsIHJvdywgaW5kZXgpID0+IHtcbiAgICBjb25zdCBmaXJzdENlbGwgPSByb3dbMF1cbiAgICBpZiAoIWZpcnN0Q2VsbCkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRSb3dzXG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsUm93SW5kZXggPSBwYXJlbnRJbmRleCArIGluZGV4XG4gICAgaWYgKGZpcnN0Q2VsbC5pc0F0dHJpYnV0ZUhlYWRlciB8fCBmaXJzdENlbGwuaXNTdW1tYXJ5IHx8IGZpcnN0Q2VsbC5pc1ZhbHVlKSB7XG4gICAgICBjdXJyZW50Um93cy5wdXNoKHNldE9yaWdpbmFsUm93SW5kZXhGb3JIZWFkZXJzKHJvdywgb3JpZ2luYWxSb3dJbmRleCkpXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGZpcnN0Q2VsbC5yb3dTcGFuOyBpKyspIHtcbiAgICAgICAgY3VycmVudFJvd3MucHVzaChzZXRPcmlnaW5hbFJvd0luZGV4Rm9ySGVhZGVycyhjZWxsc1tpbmRleCArIGldLCBvcmlnaW5hbFJvd0luZGV4ICsgaSkpXG4gICAgICB9XG4gICAgICByZXR1cm4gY3VycmVudFJvd3NcbiAgICB9XG5cbiAgICBpZiAoaXNSb3dWaXNpYmxlKGluZGV4LCBjZWxsc0NoaWxkSW5kZXhlc01hcCwgMCwgc3RhdGUpKSB7XG4gICAgICBpZiAocm93LnNvbWUoY2VsbCA9PiBpc0NlbGxDb2x1bW5zRXhwYW5kYWJsZShjZWxsKSkpIHtcbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBzdGF0ZT8uW2luZGV4XT8uWzBdPy5jb2xsYXBzZWRcbiAgICAgICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgY29uc3QgZmlyc3REYXRhSGVhZGVySW5kZXggPSB0YWtlSWYocm93LmZpbmRJbmRleChjZWxsID0+IGNlbGwuaXNWYWx1ZSksIHJlc3VsdCA9PiByZXN1bHQgPj0gMCkgPz8gMVxuICAgICAgICAgIGNvbnN0IHJvd0NvcHkgPSBbLi4ucm93XVxuICAgICAgICAgIHJvd0NvcHlbMF0gPSB7XG4gICAgICAgICAgICAuLi5yb3dbMF0sXG4gICAgICAgICAgICBjb2xTcGFuOiBmaXJzdERhdGFIZWFkZXJJbmRleCxcbiAgICAgICAgICAgIHJvd1NwYW46IDEsXG4gICAgICAgICAgICBvcmlnaW5hbFJvd0luZGV4LFxuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGZpcnN0RGF0YUhlYWRlckluZGV4OyBpKyspIHtcbiAgICAgICAgICAgIHJvd0NvcHlbaV0gPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgY3VycmVudFJvd3MucHVzaChyb3dDb3B5KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5lc3RlZENlbGxzID0gc2xpY2VNYXRyaXgoY2VsbHMsIGluZGV4LCBpbmRleCArIGZpcnN0Q2VsbC5yb3dTcGFuIC0gMSwgMSwgY2VsbHNbMF0ubGVuZ3RoIC0gMSlcbiAgICAgICAgICBjb25zdCBuZXN0ZWRTdGF0ZSA9IHNsaWNlTWF0cml4KHN0YXRlLCBpbmRleCwgaW5kZXggKyBmaXJzdENlbGwucm93U3BhbiAtIDEsIDEsIGNlbGxzWzBdLmxlbmd0aCAtIDEpXG4gICAgICAgICAgY29uc3QgbmVzdGVkRmlsdGVyZWRSb3dzID0gZmlsdGVyVmlzaWJsZUNlbGxzKG5lc3RlZENlbGxzLCBuZXN0ZWRTdGF0ZSwgb3JpZ2luYWxSb3dJbmRleClcbiAgICAgICAgICBjb25zdCBjaGFuZ2VkQ2VsbCA9IHtcbiAgICAgICAgICAgIC4uLnJvd1swXSxcbiAgICAgICAgICAgIHJvd1NwYW46IG5lc3RlZEZpbHRlcmVkUm93cy5sZW5ndGgsXG4gICAgICAgICAgICBvcmlnaW5hbFJvd0luZGV4LFxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXdSb3dzID0gYXBwZW5kQ2VsbFRvTWF0cml4KGNoYW5nZWRDZWxsLCBuZXN0ZWRGaWx0ZXJlZFJvd3MpO1xuICAgICAgICAgIGN1cnJlbnRSb3dzLnB1c2goLi4ubmV3Um93cylcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3VycmVudFJvd3MucHVzaChzZXRPcmlnaW5hbFJvd0luZGV4Rm9ySGVhZGVycyhyb3csIG9yaWdpbmFsUm93SW5kZXgpKVxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGZpcnN0Q2VsbC5yb3dTcGFuOyBpKyspIHtcbiAgICAgICAgICBjdXJyZW50Um93cy5wdXNoKHNldE9yaWdpbmFsUm93SW5kZXhGb3JIZWFkZXJzKGNlbGxzW2luZGV4ICsgaV0sIG9yaWdpbmFsUm93SW5kZXggKyBpKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50Um93c1xuICB9LCBbXSlcbn1cblxuZnVuY3Rpb24gc2V0T3JpZ2luYWxSb3dJbmRleEZvckhlYWRlcnMocm93OiBMbXJQaXZvdFRhYmxlQ2VsbFtdLCBvcmlnaW5hbFJvd0luZGV4OiBudW1iZXIpOiBMbXJQaXZvdFRhYmxlQ2VsbFtdIHtcbiAgY29uc3QgbmV3Um93ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcm93Lmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2VsbCA9IHJvd1tpXTtcbiAgICBpZiAoIWNlbGwpIHtcbiAgICAgIG5ld1Jvdy5wdXNoKGNlbGwpO1xuICAgIH0gZWxzZSBpZiAoY2VsbC5pc1ZhbHVlKSB7XG4gICAgICByZXR1cm4gWy4uLm5ld1JvdywgLi4ucm93LnNsaWNlKGkpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Um93LnB1c2goey4uLmNlbGwsIG9yaWdpbmFsUm93SW5kZXh9KVxuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3Um93XG59XG5cbmZ1bmN0aW9uIGFwcGVuZENlbGxUb01hdHJpeChjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbCwgcm93czogTG1yUGl2b3RUYWJsZUNlbGxbXVtdKTogTG1yUGl2b3RUYWJsZUNlbGxbXVtdIHtcbiAgcmV0dXJuIHJvd3MubWFwKChyb3csIGluZGV4KSA9PiBpbmRleCA+IDAgPyBbdW5kZWZpbmVkLCAuLi5yb3ddIDogW2NlbGwsIC4uLnJvd10pXG59XG5cbmZ1bmN0aW9uIHRha2VJZjxUPih2YWx1ZTogVCwgcHJlZGljYXRlOiAodjogVCkgPT4gYm9vbGVhbik6IFQgfCB1bmRlZmluZWQge1xuICByZXR1cm4gcHJlZGljYXRlKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIHNsaWNlTWF0cml4PFQ+KGNlbGxzOiBUW11bXSwgZnJvbVJvdzogbnVtYmVyLCB0b1JvdzogbnVtYmVyLCBmcm9tQ29sdW1uOiBudW1iZXIsIHRvQ29sdW1uOiBudW1iZXIpOiBUW11bXSB7XG4gIGNvbnN0IHNsaWNlZE1hdHJpeDogVFtdW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IGZyb21Sb3c7IGkgPD0gdG9Sb3c7IGkrKykge1xuICAgIGNvbnN0IHJvdzogVFtdID0gKGNlbGxzPy5baV0gfHwgW10pLnNsaWNlKGZyb21Db2x1bW4sIHRvQ29sdW1uICsgMSk7XG4gICAgc2xpY2VkTWF0cml4LnB1c2gocm93KTtcbiAgfVxuXG4gIHJldHVybiBzbGljZWRNYXRyaXg7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNlbGxzQ2hpbGRJbmRleGVzTWFwKHJvd0NlbGxzOiBMbXJQaXZvdFRhYmxlQ2VsbFtdW10pOiBudW1iZXJbXVtdIHtcbiAgY29uc3QgZmlyc3RDZWxscyA9IHJvd0NlbGxzLm1hcChyb3dDZWxscyA9PiByb3dDZWxsc1swXSk7XG4gIHJldHVybiBjcmVhdGVSb3dzQ2hpbGRJbmRleGVzTWFwKGZpcnN0Q2VsbHMpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSb3dzQ2hpbGRJbmRleGVzTWFwKHJvd0NlbGxzOiBMbXJQaXZvdFRhYmxlQ2VsbFtdKTogbnVtYmVyW11bXSB7XG4gIHJldHVybiAocm93Q2VsbHMgfHwgW10pLnJlZHVjZSgobWFwLCBjZWxsLCBpbmRleCkgPT4ge1xuICAgIGlmICghY2VsbD8uZXhwYW5kYWJsZSkge1xuICAgICAgcmV0dXJuIG1hcFxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGRJbmRleCBvZiAoY2VsbD8ucm93SW5kZXhlcyB8fCBbXSkpIHtcbiAgICAgIGlmICghbWFwW2NoaWxkSW5kZXhdKVxuICAgICAgICBtYXBbY2hpbGRJbmRleF0gPSBbXVxuICAgICAgbWFwW2NoaWxkSW5kZXhdLnB1c2goaW5kZXgpXG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcDtcbiAgfSwgW10pO1xufVxuXG5mdW5jdGlvbiBpc1Jvd1Zpc2libGUoaW5kZXg6IG51bWJlciwgY2hpbGRJbmRleGVzTWFwOiBudW1iZXJbXVtdLCBjb2x1bW5JbmRleDogbnVtYmVyLCBzdGF0ZTogTG1yUGl2b3RUYWJsZUNlbGxTdGF0ZVtdW10pOiBib29sZWFuIHtcbiAgY29uc3QgY2hpbGRJbmRleGVzID0gY2hpbGRJbmRleGVzTWFwPy5baW5kZXhdIHx8IFtdXG4gIHJldHVybiAhY2hpbGRJbmRleGVzLmxlbmd0aCB8fCBjaGlsZEluZGV4ZXMuc29tZShjaGlsZEluZGV4ID0+ICFzdGF0ZT8uW2NoaWxkSW5kZXhdPy5bY29sdW1uSW5kZXhdPy5jb2xsYXBzZWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsYXBzZUFsbENlbGxzKHRhYmxlOiBMbXJQaXZvdFRhYmxlKTogTG1yUGl2b3RUYWJsZVN0YXRlIHtcbiAgY29uc3QgY2VsbHM6IExtclBpdm90VGFibGVDZWxsU3RhdGVbXVtdID0gW107XG4gIGNvbnN0IHRhYmxlQ2VsbHMgPSB0YWJsZT8uY2VsbHMgfHwgW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGVDZWxscy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHJvdyA9IHRhYmxlQ2VsbHNbaV07XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCByb3cubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IGNlbGwgPSByb3dbal07XG4gICAgICBpZiAoY2VsbD8uaXNWYWx1ZSB8fCBjZWxsPy5pc0F0dHJpYnV0ZUhlYWRlciB8fCBjZWxsPy5pc0hlYWRlcikge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmIChpc0NlbGxFeHBhbmRhYmxlKGNlbGwpKSB7XG4gICAgICAgIGlmICghY2VsbHNbaV0pIHtcbiAgICAgICAgICBjZWxsc1tpXSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNlbGxzW2ldW2pdID0ge2NvbGxhcHNlZDogdHJ1ZX07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB7Y2VsbHN9XG59XG4iXX0=
|