ms-data-grid 0.0.49 → 0.0.51
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/data-grid/data-grid.component.mjs +55 -31
- package/esm2022/lib/directives/cell-render-init.directive.mjs +21 -3
- package/esm2022/lib/services/split-columns.service.mjs +3 -3
- package/fesm2022/ms-data-grid.mjs +76 -34
- package/fesm2022/ms-data-grid.mjs.map +1 -1
- package/lib/data-grid/data-grid.component.d.ts +5 -2
- package/lib/directives/cell-render-init.directive.d.ts +6 -2
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Directive, Input, Injector } from '@angular/core';
|
|
1
|
+
import { Directive, Input, Injector, EventEmitter, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class CellRenderInitDirective {
|
|
4
4
|
constructor(vcr, injector) {
|
|
5
5
|
this.vcr = vcr;
|
|
6
6
|
this.injector = injector;
|
|
7
|
+
this.cellEvent = new EventEmitter();
|
|
7
8
|
}
|
|
8
9
|
ngOnInit() {
|
|
9
10
|
if (!this.componentType)
|
|
@@ -27,9 +28,24 @@ export class CellRenderInitDirective {
|
|
|
27
28
|
value: this.cellValue
|
|
28
29
|
});
|
|
29
30
|
}
|
|
31
|
+
for (const key of Object.keys(componentRef.instance)) {
|
|
32
|
+
const property = componentRef.instance[key];
|
|
33
|
+
if (property instanceof EventEmitter) {
|
|
34
|
+
property.subscribe((value) => {
|
|
35
|
+
this.cellEvent.emit({
|
|
36
|
+
eventName: key,
|
|
37
|
+
data: {
|
|
38
|
+
row: this.rowData,
|
|
39
|
+
col: this.colData,
|
|
40
|
+
value,
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
30
46
|
}
|
|
31
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellRenderInitDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CellRenderInitDirective, selector: "[cellRenderInit]", inputs: { componentType: ["cellRenderInit", "componentType"], rowData: "rowData", colData: "colData", cellValue: "cellValue" }, ngImport: i0 }); }
|
|
48
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CellRenderInitDirective, selector: "[cellRenderInit]", inputs: { componentType: ["cellRenderInit", "componentType"], rowData: "rowData", colData: "colData", cellValue: "cellValue" }, outputs: { cellEvent: "cellEvent" }, ngImport: i0 }); }
|
|
33
49
|
}
|
|
34
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellRenderInitDirective, decorators: [{
|
|
35
51
|
type: Directive,
|
|
@@ -45,5 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
45
61
|
type: Input
|
|
46
62
|
}], cellValue: [{
|
|
47
63
|
type: Input
|
|
64
|
+
}], cellEvent: [{
|
|
65
|
+
type: Output
|
|
48
66
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXItaW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9kaXJlY3RpdmVzL2NlbGwtcmVuZGVyLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFFBQVEsRUFHUixZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8sdUJBQXVCO0lBUWxDLFlBQW9CLEdBQXFCLEVBQVUsUUFBa0I7UUFBakQsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRjNELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0MsQ0FBQztJQUVGLENBQUM7SUFFMUUsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFaEMscUNBQXFDO1FBQ3JDLE1BQU0sWUFBWSxHQUFzQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ25GLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUM5QyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQzlDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtpQkFDbkQ7Z0JBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3RCLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCx3REFBd0Q7UUFDeEQsSUFBSSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUN4RCxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUzthQUN0QixDQUFDLENBQUM7U0FDSjtRQUNELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxJQUFJLFFBQVEsWUFBWSxZQUFZLEVBQUU7Z0JBQ3BDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2xCLFNBQVMsRUFBRSxHQUFHO3dCQUNkLElBQUksRUFBRTs0QkFDSixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87NEJBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTzs0QkFDakIsS0FBSzt5QkFDTjtxQkFDRixDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQzsrR0FoRFUsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OEhBRTBCLGFBQWE7c0JBQXJDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNkLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgSW5qZWN0b3IsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIFR5cGUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY2VsbFJlbmRlckluaXRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2VsbFJlbmRlckluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgnY2VsbFJlbmRlckluaXQnKSBjb21wb25lbnRUeXBlITogVHlwZTxhbnk+O1xyXG4gIEBJbnB1dCgpIHJvd0RhdGE6IGFueTtcclxuICBASW5wdXQoKSBjb2xEYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgY2VsbFZhbHVlOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBjZWxsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZXZlbnROYW1lOiBzdHJpbmc7IGRhdGE6IGFueSB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZjcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb21wb25lbnRUeXBlKSByZXR1cm47XHJcblxyXG4gICAgLy8g4pyFIER5bmFtaWNhbGx5IGNyZWF0ZSB0aGUgY29tcG9uZW50XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gdGhpcy52Y3IuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50VHlwZSwge1xyXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgIHsgcHJvdmlkZTogJ3Jvd0RhdGEnLCB1c2VWYWx1ZTogdGhpcy5yb3dEYXRhIH0sXHJcbiAgICAgICAgICB7IHByb3ZpZGU6ICdjb2xEYXRhJywgdXNlVmFsdWU6IHRoaXMuY29sRGF0YSB9LFxyXG4gICAgICAgICAgeyBwcm92aWRlOiAnY2VsbFZhbHVlJywgdXNlVmFsdWU6IHRoaXMuY2VsbFZhbHVlIH1cclxuICAgICAgICBdLFxyXG4gICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8g4pyFIEF1dG9tYXRpY2FsbHkgY2FsbCBjdXN0b20gbGlmZWN5Y2xlIGhvb2sgaWYgcHJlc2VudFxyXG4gICAgaWYgKHR5cGVvZiBjb21wb25lbnRSZWYuaW5zdGFuY2UuZ3JpZEluaXQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmdyaWRJbml0KHtcclxuICAgICAgICByb3c6IHRoaXMucm93RGF0YSxcclxuICAgICAgICBjb2w6IHRoaXMuY29sRGF0YSxcclxuICAgICAgICB2YWx1ZTogdGhpcy5jZWxsVmFsdWVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRSZWYuaW5zdGFuY2UpKSB7XHJcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gY29tcG9uZW50UmVmLmluc3RhbmNlW2tleV07XHJcbiAgICAgIGlmIChwcm9wZXJ0eSBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlcikge1xyXG4gICAgICAgIHByb3BlcnR5LnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZWxsRXZlbnQuZW1pdCh7XHJcbiAgICAgICAgICAgIGV2ZW50TmFtZToga2V5LFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgcm93OiB0aGlzLnJvd0RhdGEsXHJcbiAgICAgICAgICAgICAgY29sOiB0aGlzLmNvbERhdGEsXHJcbiAgICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -87,8 +87,8 @@ export class SplitColumnsService {
|
|
|
87
87
|
if (!visibleLeafCols.length)
|
|
88
88
|
return columns;
|
|
89
89
|
let defaultWidth = Math.floor(containerWidth / visibleLeafCols.length);
|
|
90
|
-
if (defaultWidth <
|
|
91
|
-
defaultWidth =
|
|
90
|
+
if (defaultWidth < 150)
|
|
91
|
+
defaultWidth = 150;
|
|
92
92
|
const cloneColumns = (cols) => cols.map((col) => {
|
|
93
93
|
if (col.children?.length) {
|
|
94
94
|
const newChildren = col.children.map((child) => {
|
|
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
140
140
|
providedIn: 'root',
|
|
141
141
|
}]
|
|
142
142
|
}] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvc3BsaXQtY29sdW1ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsY0FBYyxDQUFDLE9BQWMsRUFBRSxjQUFzQjtRQUNuRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFVLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN4QixNQUFNLFlBQVksR0FBVSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO2dCQUVoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxLQUFLO3dCQUFFLFNBQVM7b0JBRXpDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7b0JBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBRTdDLElBQUksTUFBTSxLQUFLLE1BQU07d0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzt5QkFDckQsSUFBSSxNQUFNLEtBQUssT0FBTzt3QkFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzt3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LFFBQVEsQ0FBQyxNQUFNLENBQ3pDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FDbkMsQ0FBQztnQkFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUM7YUFDakM7aUJBQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRTtnQkFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0E3SVUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGxpdENvbHVtbnNTZXJ2aWNlIHtcclxuICBwcmVwYXJlQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSwgY29udGFpbmVyV2lkdGg6IG51bWJlcik6IGFueSB7XHJcbiAgICBjb25zdCBsZWZ0OiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgY2VudGVyOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgcmlnaHQ6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBsZWZ0Q2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3QgY2VudGVyQ2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZHJlbjogYW55W10gPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcclxuICAgICAgICAgIGlmIChjaGlsZC5pc192aXNpYmxlID09PSBmYWxzZSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgY29uc3QgcGlubmVkID0gY2hpbGQucGlubmVkID8/IGNvbC5waW5uZWQgPz8gbnVsbDtcclxuICAgICAgICAgIGNvbnN0IGNoaWxkV2l0aFBpbm5lZCA9IHsgLi4uY2hpbGQsIHBpbm5lZCB9O1xyXG5cclxuICAgICAgICAgIGlmIChwaW5uZWQgPT09ICdsZWZ0JykgbGVmdENoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcclxuICAgICAgICAgIGVsc2UgaWYgKHBpbm5lZCA9PT0gJ3JpZ2h0JykgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgICBlbHNlIGNlbnRlckNoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChsZWZ0Q2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBsZWZ0LnB1c2goeyBoZWFkZXI6IGNvbC5oZWFkZXIsIGNoaWxkcmVuOiBsZWZ0Q2hpbGRyZW4sIGlkOiBjb2w/LmlkIHx8IGNvbD8uX2lkIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY2VudGVyQ2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjZW50ZXIucHVzaCh7XHJcbiAgICAgICAgICAgIGhlYWRlcjogY29sLmhlYWRlcixcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNlbnRlckNoaWxkcmVuLFxyXG4gICAgICAgICAgICBpZDogY29sLmlkIHx8IGNvbC5faWQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByaWdodC5wdXNoKHtcclxuICAgICAgICAgICAgaGVhZGVyOiBjb2wuaGVhZGVyLFxyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmlnaHRDaGlsZHJlbixcclxuICAgICAgICAgICAgaWQ6IGNvbC5pZCB8fCBjb2wuX2lkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGNvbC5pc192aXNpYmxlICE9PSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IHBpbm5lZCA9IGNvbC5waW5uZWQgPz8gbnVsbDtcclxuICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnQucHVzaChjb2wpO1xyXG4gICAgICAgIGVsc2UgaWYgKHBpbm5lZCA9PT0gJ3JpZ2h0JykgcmlnaHQucHVzaChjb2wpO1xyXG4gICAgICAgIGVsc2UgY2VudGVyLnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGxlZnQsIGNlbnRlciwgcmlnaHQgfTtcclxuICB9XHJcblxyXG4gIHNldENvbHVtbnNRdWVyeShjb2x1bW5zOiBhbnlbXSkge1xyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICAvLyBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgLy8gICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbC5jaGlsZHJlbikge1xyXG4gICAgICAvLyAgICAgaWYgKCFjaGlsZD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNoaWxkPy5xdWVyeT8uX2lkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgICAgIGNoaWxkWydxdWVyeSddID0ge1xyXG4gICAgICAvLyAgICAgICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgICAgIGZpcnN0X3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgICAgIGNvbmRpdGlvbjogJ25vbmUnLFxyXG4gICAgICAvLyAgICAgICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgICAgICBzZWNvbmRfdmFsdWU6IG51bGwsXHJcbiAgICAgIC8vICAgICAgICAgX2lkczogW10sXHJcbiAgICAgIC8vICAgICAgIH07XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICAgIC8vIGlmICghY29sPy5xdWVyeT8uZmlydF92YWx1ZSAmJiAhY29sPy5xdWVyeT8uX2lkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgY29sLnF1ZXJ5ID0ge1xyXG4gICAgICAvLyAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXHJcbiAgICAgIC8vICAgICBmaXJzdF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgIGNvbmRpdGlvbjogJ25vbmUnLFxyXG4gICAgICAvLyAgICAgc2Vjb25kX2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgX2lkczogW10sXHJcbiAgICAgIC8vICAgfTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKCdVcGRhdGVkIENvbHVtbnM6ICcsIGNvbHVtbnMpO1xyXG5cclxuICAgIHJldHVybiBjb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgIGFzc2lnbkRlZmF1bHRXaWR0aHMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgY29uc3QgdmlzaWJsZUxlYWZDb2xzID0gdGhpcy5nZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1ucyk7XHJcblxyXG4gIGlmICghdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCkgcmV0dXJuIGNvbHVtbnM7XHJcblxyXG4gIGxldCBkZWZhdWx0V2lkdGggPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCk7XHJcbiAgaWYgKGRlZmF1bHRXaWR0aCA8IDgwKSBkZWZhdWx0V2lkdGggPSA4MDtcclxuXHJcbiAgY29uc3QgY2xvbmVDb2x1bW5zID0gKGNvbHM6IGFueVtdKTogYW55W10gPT5cclxuICAgIGNvbHMubWFwKChjb2wpID0+IHtcclxuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBjb2wuY2hpbGRyZW4ubWFwKChjaGlsZDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyBJZiB2aXNpYmxlIOKGkiBkeW5hbWljIGRlZmF1bHQgd2lkdGhcclxuICAgICAgICAgIC8vIElmIGludmlzaWJsZSDihpIgZml4ZWQgMTUwcHhcclxuICAgICAgICAgIGlmICghY2hpbGQud2lkdGgpIHtcclxuICAgICAgICAgICAgaWYgKGNoaWxkLmlzX3Zpc2libGUgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uY2hpbGQsIHdpZHRoOiAxNTAgfTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4geyAuLi5jaGlsZCwgd2lkdGg6IGRlZmF1bHRXaWR0aCB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jaGlsZCB9O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4geyAuLi5jb2wsIGNoaWxkcmVuOiBuZXdDaGlsZHJlbiB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIWNvbC53aWR0aCkge1xyXG4gICAgICAgIGlmIChjb2wuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgIHJldHVybiB7IC4uLmNvbCwgd2lkdGg6IDE1MCB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jb2wsIHdpZHRoOiBkZWZhdWx0V2lkdGggfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB7IC4uLmNvbCB9O1xyXG4gICAgfSk7XHJcblxyXG4gIHJldHVybiBjbG9uZUNvbHVtbnMoY29sdW1ucyk7XHJcbn1cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0VmlzaWJsZUxlYWZDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYW55W10ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gY29sLmNoaWxkcmVuLmZpbHRlcihcclxuICAgICAgICAgIChjOiBhbnkpID0+IGMuaXNfdmlzaWJsZSAhPT0gZmFsc2VcclxuICAgICAgICApO1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnZpc2libGVDaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29sLmlzX3Zpc2libGUgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmVzdWx0LnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvc3BsaXQtY29sdW1ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsY0FBYyxDQUFDLE9BQWMsRUFBRSxjQUFzQjtRQUNuRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFVLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN4QixNQUFNLFlBQVksR0FBVSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO2dCQUVoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxLQUFLO3dCQUFFLFNBQVM7b0JBRXpDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7b0JBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBRTdDLElBQUksTUFBTSxLQUFLLE1BQU07d0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzt5QkFDckQsSUFBSSxNQUFNLEtBQUssT0FBTzt3QkFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzt3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LFFBQVEsQ0FBQyxNQUFNLENBQ3pDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FDbkMsQ0FBQztnQkFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUM7YUFDakM7aUJBQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRTtnQkFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0E3SVUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGxpdENvbHVtbnNTZXJ2aWNlIHtcclxuICBwcmVwYXJlQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSwgY29udGFpbmVyV2lkdGg6IG51bWJlcik6IGFueSB7XHJcbiAgICBjb25zdCBsZWZ0OiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgY2VudGVyOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgcmlnaHQ6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBsZWZ0Q2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3QgY2VudGVyQ2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZHJlbjogYW55W10gPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcclxuICAgICAgICAgIGlmIChjaGlsZC5pc192aXNpYmxlID09PSBmYWxzZSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgY29uc3QgcGlubmVkID0gY2hpbGQucGlubmVkID8/IGNvbC5waW5uZWQgPz8gbnVsbDtcclxuICAgICAgICAgIGNvbnN0IGNoaWxkV2l0aFBpbm5lZCA9IHsgLi4uY2hpbGQsIHBpbm5lZCB9O1xyXG5cclxuICAgICAgICAgIGlmIChwaW5uZWQgPT09ICdsZWZ0JykgbGVmdENoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcclxuICAgICAgICAgIGVsc2UgaWYgKHBpbm5lZCA9PT0gJ3JpZ2h0JykgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgICBlbHNlIGNlbnRlckNoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChsZWZ0Q2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBsZWZ0LnB1c2goeyBoZWFkZXI6IGNvbC5oZWFkZXIsIGNoaWxkcmVuOiBsZWZ0Q2hpbGRyZW4sIGlkOiBjb2w/LmlkIHx8IGNvbD8uX2lkIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY2VudGVyQ2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjZW50ZXIucHVzaCh7XHJcbiAgICAgICAgICAgIGhlYWRlcjogY29sLmhlYWRlcixcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNlbnRlckNoaWxkcmVuLFxyXG4gICAgICAgICAgICBpZDogY29sLmlkIHx8IGNvbC5faWQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByaWdodC5wdXNoKHtcclxuICAgICAgICAgICAgaGVhZGVyOiBjb2wuaGVhZGVyLFxyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmlnaHRDaGlsZHJlbixcclxuICAgICAgICAgICAgaWQ6IGNvbC5pZCB8fCBjb2wuX2lkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGNvbC5pc192aXNpYmxlICE9PSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IHBpbm5lZCA9IGNvbC5waW5uZWQgPz8gbnVsbDtcclxuICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnQucHVzaChjb2wpO1xyXG4gICAgICAgIGVsc2UgaWYgKHBpbm5lZCA9PT0gJ3JpZ2h0JykgcmlnaHQucHVzaChjb2wpO1xyXG4gICAgICAgIGVsc2UgY2VudGVyLnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGxlZnQsIGNlbnRlciwgcmlnaHQgfTtcclxuICB9XHJcblxyXG4gIHNldENvbHVtbnNRdWVyeShjb2x1bW5zOiBhbnlbXSkge1xyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICAvLyBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgLy8gICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbC5jaGlsZHJlbikge1xyXG4gICAgICAvLyAgICAgaWYgKCFjaGlsZD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNoaWxkPy5xdWVyeT8uX2lkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgICAgIGNoaWxkWydxdWVyeSddID0ge1xyXG4gICAgICAvLyAgICAgICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgICAgIGZpcnN0X3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgICAgIGNvbmRpdGlvbjogJ25vbmUnLFxyXG4gICAgICAvLyAgICAgICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgICAgICBzZWNvbmRfdmFsdWU6IG51bGwsXHJcbiAgICAgIC8vICAgICAgICAgX2lkczogW10sXHJcbiAgICAgIC8vICAgICAgIH07XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICAgIC8vIGlmICghY29sPy5xdWVyeT8uZmlydF92YWx1ZSAmJiAhY29sPy5xdWVyeT8uX2lkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgY29sLnF1ZXJ5ID0ge1xyXG4gICAgICAvLyAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXHJcbiAgICAgIC8vICAgICBmaXJzdF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgIGNvbmRpdGlvbjogJ25vbmUnLFxyXG4gICAgICAvLyAgICAgc2Vjb25kX2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgX2lkczogW10sXHJcbiAgICAgIC8vICAgfTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKCdVcGRhdGVkIENvbHVtbnM6ICcsIGNvbHVtbnMpO1xyXG5cclxuICAgIHJldHVybiBjb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgIGFzc2lnbkRlZmF1bHRXaWR0aHMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgY29uc3QgdmlzaWJsZUxlYWZDb2xzID0gdGhpcy5nZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1ucyk7XHJcblxyXG4gIGlmICghdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCkgcmV0dXJuIGNvbHVtbnM7XHJcblxyXG4gIGxldCBkZWZhdWx0V2lkdGggPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCk7XHJcbiAgaWYgKGRlZmF1bHRXaWR0aCA8IDE1MCkgZGVmYXVsdFdpZHRoID0gMTUwO1xyXG5cclxuICBjb25zdCBjbG9uZUNvbHVtbnMgPSAoY29sczogYW55W10pOiBhbnlbXSA9PlxyXG4gICAgY29scy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBuZXdDaGlsZHJlbiA9IGNvbC5jaGlsZHJlbi5tYXAoKGNoaWxkOiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vIElmIHZpc2libGUg4oaSIGR5bmFtaWMgZGVmYXVsdCB3aWR0aFxyXG4gICAgICAgICAgLy8gSWYgaW52aXNpYmxlIOKGkiBmaXhlZCAxNTBweFxyXG4gICAgICAgICAgaWYgKCFjaGlsZC53aWR0aCkge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICByZXR1cm4geyAuLi5jaGlsZCwgd2lkdGg6IDE1MCB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7IC4uLmNoaWxkLCB3aWR0aDogZGVmYXVsdFdpZHRoIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB7IC4uLmNoaWxkIH07XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB7IC4uLmNvbCwgY2hpbGRyZW46IG5ld0NoaWxkcmVuIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghY29sLndpZHRoKSB7XHJcbiAgICAgICAgaWYgKGNvbC5pc192aXNpYmxlID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogMTUwIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB7IC4uLmNvbCwgd2lkdGg6IGRlZmF1bHRXaWR0aCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHsgLi4uY29sIH07XHJcbiAgICB9KTtcclxuXHJcbiAgcmV0dXJuIGNsb25lQ29sdW1ucyhjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1uczogYW55W10pOiBhbnlbXSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjb2wuY2hpbGRyZW4uZmlsdGVyKFxyXG4gICAgICAgICAgKGM6IGFueSkgPT4gYy5pc192aXNpYmxlICE9PSBmYWxzZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmVzdWx0LnB1c2goLi4udmlzaWJsZUNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICByZXN1bHQucHVzaChjb2wpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
|