ngx-rs-ant 2.2.0 → 2.2.2
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/data-grid/cell-component-template/cell-component-template.component.d.ts +3 -1
- package/esm2020/data-grid/cell-component-template/cell-component-template.component.mjs +10 -3
- package/esm2020/data-grid/data-grid.component.mjs +7 -5
- package/esm2020/data-grid/data-grid.factory.mjs +2 -1
- package/esm2020/drawer/drawer.component.mjs +5 -1
- package/esm2020/drawer/drawer.service.mjs +2 -2
- package/esm2020/types/component/cell-component-base.mjs +1 -1
- package/esm2020/types/config/cell-config-base.mjs +1 -1
- package/fesm2015/ngx-rs-ant.mjs +21 -7
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +21 -7
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +1 -1
- package/types/component/cell-component-base.d.ts +12 -0
- package/types/config/cell-config-base.d.ts +8 -0
|
@@ -3,10 +3,12 @@ import { DataGridService } from "../data-grid.service";
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class CellComponentTemplateComponent {
|
|
5
5
|
private service;
|
|
6
|
+
tenant: any;
|
|
7
|
+
className: any;
|
|
6
8
|
cellInfo: any;
|
|
7
9
|
cellComponentRef: ViewContainerRef;
|
|
8
10
|
constructor(service: DataGridService);
|
|
9
11
|
ngOnInit(): void;
|
|
10
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<CellComponentTemplateComponent, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CellComponentTemplateComponent, "rs-cell-component-template", never, { "cellInfo": "cellInfo"; }, {}, never, never, false, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CellComponentTemplateComponent, "rs-cell-component-template", never, { "tenant": "tenant"; "className": "className"; "cellInfo": "cellInfo"; }, {}, never, never, false, never>;
|
|
12
14
|
}
|
|
@@ -20,6 +20,9 @@ export class CellComponentTemplateComponent {
|
|
|
20
20
|
const componentRef = this.cellComponentRef.createComponent(plugin.component);
|
|
21
21
|
const instance = componentRef.instance;
|
|
22
22
|
Object.assign(instance, cellComponentConfig);
|
|
23
|
+
instance.tenant = this.tenant;
|
|
24
|
+
instance.className = this.className;
|
|
25
|
+
instance.oid = this.cellInfo.data.oid;
|
|
23
26
|
instance.field = this.cellInfo.column.dataField;
|
|
24
27
|
instance.fieldConfig = fieldConfig;
|
|
25
28
|
instance.rowData = this.cellInfo.data;
|
|
@@ -31,14 +34,18 @@ export class CellComponentTemplateComponent {
|
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
CellComponentTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellComponentTemplateComponent, deps: [{ token: i1.DataGridService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
CellComponentTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: { cellInfo: "cellInfo" }, viewQueries: [{ propertyName: "cellComponentRef", first: true, predicate: ["cellComponent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #cellComponent></ng-container>\n", styles: [""] });
|
|
37
|
+
CellComponentTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: { tenant: "tenant", className: "className", cellInfo: "cellInfo" }, viewQueries: [{ propertyName: "cellComponentRef", first: true, predicate: ["cellComponent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #cellComponent></ng-container>\n", styles: [""] });
|
|
35
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellComponentTemplateComponent, decorators: [{
|
|
36
39
|
type: Component,
|
|
37
40
|
args: [{ selector: 'rs-cell-component-template', template: "<ng-container #cellComponent></ng-container>\n" }]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.DataGridService }]; }, propDecorators: {
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.DataGridService }]; }, propDecorators: { tenant: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], className: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], cellInfo: [{
|
|
39
46
|
type: Input
|
|
40
47
|
}], cellComponentRef: [{
|
|
41
48
|
type: ViewChild,
|
|
42
49
|
args: ['cellComponent', { static: true, read: ViewContainerRef }]
|
|
43
50
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1jb21wb25lbnQtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2NlbGwtY29tcG9uZW50LXRlbXBsYXRlL2NlbGwtY29tcG9uZW50LXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZS9jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDOzs7QUFPeEcsTUFBTSxPQUFPLDhCQUE4QjtJQVN6QyxZQUFvQixPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUM1QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDNUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDL0QsT0FBTztTQUNSO1FBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdFLE1BQU0sUUFBUSxHQUFRLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUM3QyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUIsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDdEMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDcEQsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNyQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQ25ELFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRIQXBDVSw4QkFBOEI7Z0hBQTlCLDhCQUE4Qiw0T0FPUSxnQkFBZ0IsMkNDakJuRSxnREFDQTs0RkRTYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNEJBQTRCO3NHQU10QyxNQUFNO3NCQURMLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFFOEQsZ0JBQWdCO3NCQUFuRixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RhdGFHcmlkU2VydmljZX0gZnJvbSBcIi4uL2RhdGEtZ3JpZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UGx1Z2luRmFjdG9yeX0gZnJvbSBcImNvYXN0LXBsdWdpbi1yZWdpc3RlclwiO1xyXG5pbXBvcnQge1BsdWdpbk5vdEZvdW5kQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vYm94LWNvbnRhaW5lci9wbHVnaW4tbm90LWZvdW5kL3BsdWdpbi1ub3QtZm91bmQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLWNlbGwtY29tcG9uZW50LXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC1jb21wb25lbnQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NlbGwtY29tcG9uZW50LXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENlbGxDb21wb25lbnRUZW1wbGF0ZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB0ZW5hbnQ6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGNsYXNzTmFtZSE6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGNlbGxJbmZvOiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgnY2VsbENvbXBvbmVudCcsIHtzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBjZWxsQ29tcG9uZW50UmVmITogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBEYXRhR3JpZFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgZmllbGRDb25maWcgPSB0aGlzLmNlbGxJbmZvLmNvbHVtbi5jb25maWc7XHJcbiAgICBjb25zdCBjZWxsQ29tcG9uZW50Q29uZmlnID0gdGhpcy5jZWxsSW5mby5jb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWc7XHJcbiAgICB0aGlzLmNlbGxDb21wb25lbnRSZWYuY2xlYXIoKTtcclxuICAgIGNvbnN0IHBsdWdpbiA9IFBsdWdpbkZhY3RvcnkuZ2V0KHRoaXMuY2VsbEluZm8uY29sdW1uLnZpZXdDb25maWcuY29tcG9uZW50KTtcclxuICAgIGlmICghcGx1Z2luKSB7XHJcbiAgICAgIHRoaXMuY2VsbENvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQoUGx1Z2luTm90Rm91bmRDb21wb25lbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jZWxsQ29tcG9uZW50UmVmLmNyZWF0ZUNvbXBvbmVudChwbHVnaW4uY29tcG9uZW50KTtcclxuICAgICAgY29uc3QgaW5zdGFuY2U6IGFueSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZSwgY2VsbENvbXBvbmVudENvbmZpZyk7XHJcbiAgICAgIGluc3RhbmNlLnRlbmFudCA9IHRoaXMudGVuYW50O1xyXG4gICAgICBpbnN0YW5jZS5jbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZTtcclxuICAgICAgaW5zdGFuY2Uub2lkID0gdGhpcy5jZWxsSW5mby5kYXRhLm9pZDtcclxuICAgICAgaW5zdGFuY2UuZmllbGQgPSB0aGlzLmNlbGxJbmZvLmNvbHVtbi5kYXRhRmllbGQ7XHJcbiAgICAgIGluc3RhbmNlLmZpZWxkQ29uZmlnID0gZmllbGRDb25maWc7XHJcbiAgICAgIGluc3RhbmNlLnJvd0RhdGEgPSB0aGlzLmNlbGxJbmZvLmRhdGE7XHJcbiAgICAgIGluc3RhbmNlLmNvbHVtbkxvb2t1cCA9IHRoaXMuY2VsbEluZm8uY29sdW1uLmxvb2t1cDtcclxuICAgICAgaW5zdGFuY2UudmFsdWUgPSB0aGlzLmNlbGxJbmZvLnZhbHVlO1xyXG4gICAgICBpbnN0YW5jZS5kaXNwbGF5VmFsdWUgPSB0aGlzLmNlbGxJbmZvLmRpc3BsYXlWYWx1ZTtcclxuICAgICAgaW5zdGFuY2UubG9hZGVkJCA9IHRoaXMuc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgI2NlbGxDb21wb25lbnQ+PC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -66,7 +66,8 @@ export class DataGridComponent {
|
|
|
66
66
|
fixed: true,
|
|
67
67
|
width: 48,
|
|
68
68
|
alignment: 'center',
|
|
69
|
-
cellTemplate: 'instanceLinkTemplate'
|
|
69
|
+
cellTemplate: 'instanceLinkTemplate',
|
|
70
|
+
renderAsync: true
|
|
70
71
|
});
|
|
71
72
|
}
|
|
72
73
|
if (this.showRowNum) {
|
|
@@ -75,7 +76,8 @@ export class DataGridComponent {
|
|
|
75
76
|
fixed: true,
|
|
76
77
|
width: 48,
|
|
77
78
|
alignment: 'center',
|
|
78
|
-
cellTemplate: 'rowIndexTemplate'
|
|
79
|
+
cellTemplate: 'rowIndexTemplate',
|
|
80
|
+
renderAsync: true
|
|
79
81
|
});
|
|
80
82
|
}
|
|
81
83
|
this.columns = columns;
|
|
@@ -128,10 +130,10 @@ export class DataGridComponent {
|
|
|
128
130
|
}
|
|
129
131
|
}
|
|
130
132
|
DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataGridComponent, deps: [{ token: i1.DataGridFactory }, { token: i2.DataGridService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", customColumnFn: "customColumnFn", keyExpr: "keyExpr", dataGridName: "dataGridName", height: "height", onlyFrontEnd: "onlyFrontEnd", pageSize: "pageSize", disablePage: "disablePage", dataSource: "dataSource", selectionMode: "selectionMode", selectedRowKeys: "selectedRowKeys", showRowNum: "showRowNum", instanceLinkType: "instanceLinkType", drawerInstanceLinkViewContainerRef: "drawerInstanceLinkViewContainerRef", drawerInstanceLinkSize: "drawerInstanceLinkSize", drawerInstanceLinkShowHeader: "drawerInstanceLinkShowHeader", drawerInstanceLinkFormTemplate: "drawerInstanceLinkFormTemplate" }, outputs: { selectedRowKeysChange: "selectedRowKeysChange", onCellPrepared: "onCellPrepared", onContentReady: "onContentReady", onEditorPreparing: "onEditorPreparing", onRowClick: "onRowClick", onRowDblClick: "onRowDblClick", onSelectionChanged: "onSelectionChanged" }, providers: [DataGridService], queries: [{ propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: CustomTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"pageSize\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"allowedPageSizes\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerShowHeader]=\"drawerInstanceLinkShowHeader\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{min-height:120px;display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i6.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i6.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i6.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i6.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i6.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i6.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i7.InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: ["tenant", "className", "oid", "instanceLinkType", "drawerViewContainerRef", "drawerSize", "drawerShowHeader", "drawerFormTemplate"] }, { kind: "component", type: i8.CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: ["cellInfo"] }] });
|
|
133
|
+
DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", customColumnFn: "customColumnFn", keyExpr: "keyExpr", dataGridName: "dataGridName", height: "height", onlyFrontEnd: "onlyFrontEnd", pageSize: "pageSize", disablePage: "disablePage", dataSource: "dataSource", selectionMode: "selectionMode", selectedRowKeys: "selectedRowKeys", showRowNum: "showRowNum", instanceLinkType: "instanceLinkType", drawerInstanceLinkViewContainerRef: "drawerInstanceLinkViewContainerRef", drawerInstanceLinkSize: "drawerInstanceLinkSize", drawerInstanceLinkShowHeader: "drawerInstanceLinkShowHeader", drawerInstanceLinkFormTemplate: "drawerInstanceLinkFormTemplate" }, outputs: { selectedRowKeysChange: "selectedRowKeysChange", onCellPrepared: "onCellPrepared", onContentReady: "onContentReady", onEditorPreparing: "onEditorPreparing", onRowClick: "onRowClick", onRowDblClick: "onRowDblClick", onSelectionChanged: "onSelectionChanged" }, providers: [DataGridService], queries: [{ propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: CustomTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"pageSize\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"allowedPageSizes\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerShowHeader]=\"drawerInstanceLinkShowHeader\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [tenant]=\"tenant\" [className]=\"className\"\r\n [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{min-height:120px;display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i6.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i6.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i6.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i6.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i6.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i6.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i7.InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: ["tenant", "className", "oid", "instanceLinkType", "drawerViewContainerRef", "drawerSize", "drawerShowHeader", "drawerFormTemplate"] }, { kind: "component", type: i8.CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: ["tenant", "className", "cellInfo"] }] });
|
|
132
134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataGridComponent, decorators: [{
|
|
133
135
|
type: Component,
|
|
134
|
-
args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"pageSize\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"allowedPageSizes\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerShowHeader]=\"drawerInstanceLinkShowHeader\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{min-height:120px;display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
|
|
136
|
+
args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"pageSize\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"allowedPageSizes\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerShowHeader]=\"drawerInstanceLinkShowHeader\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [tenant]=\"tenant\" [className]=\"className\"\r\n [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{min-height:120px;display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
|
|
135
137
|
}], ctorParameters: function () { return [{ type: i1.DataGridFactory }, { type: i2.DataGridService }, { type: i0.ViewContainerRef }]; }, propDecorators: { tenant: [{
|
|
136
138
|
type: Input
|
|
137
139
|
}], className: [{
|
|
@@ -196,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
196
198
|
type: ContentChild,
|
|
197
199
|
args: [CustomTemplateDirective]
|
|
198
200
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQTZENUIsWUFBb0IsT0FBd0IsRUFBWSxPQUF3QixFQUFVLGdCQUFrQztRQUF4RyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNENUgsV0FBTSxHQUFTLEdBQUcsQ0FBQztRQVVuQixZQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsa0NBQWtDO1FBTXhELGlCQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBRTdELGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIscUJBQWdCLEdBQWEsQ0FB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LEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04scUJBQXFCO3NCQURwQixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFHTixrQ0FBa0M7c0JBRGpDLEtBQUs7Z0JBR04sc0JBQXNCO3NCQURyQixLQUFLO2dCQUdOLDRCQUE0QjtzQkFEM0IsS0FBSztnQkFHTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBR04sY0FBYztzQkFEYixNQUFNO2dCQUdQLGNBQWM7c0JBRGIsTUFBTTtnQkFHUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxNQUFNO2dCQUdQLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxrQkFBa0I7c0JBRGpCLE1BQU07Z0JBRWlELFVBQVU7c0JBQWpFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNPLGtCQUFrQjtzQkFBdEUsWUFBWTt1QkFBQywyQkFBMkI7Z0JBQ1EsY0FBYztzQkFBOUQsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEeERhdGFHcmlkQ29tcG9uZW50fSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRTZXJ2aWNlfSBmcm9tIFwiLi9kYXRhLWdyaWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jvd0J1dHRvbnNUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vcm93LWJ1dHRvbnMtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRGYWN0b3J5fSBmcm9tIFwiLi9kYXRhLWdyaWQuZmFjdG9yeVwiO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtub3RpZnlfZXJyb3J9IGZyb20gXCIuLi91dGlsL3V0aWxzXCI7XHJcbmltcG9ydCB7Q3VzdG9tVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2N1c3RvbS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnMtZGF0YS1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1ncmlkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtEYXRhR3JpZFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICB0ZW5hbnQ/OiBhbnkgPSAnVCc7XHJcbiAgQElucHV0KClcclxuICBjbGFzc05hbWUhOiBhbnk7XHJcbiAgQElucHV0KClcclxuICB2aWV3PzogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVyPzogQXJyYXk8YW55PiB8IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGN1c3RvbUNvbHVtbkZuPzogKGNvbHVtbnM6IGFueVtdKSA9PiB2b2lkO1xyXG4gIEBJbnB1dCgpXHJcbiAga2V5RXhwcjogc3RyaW5nID0gJyc7IC8vIOeUqOS6juWunuS+i+WxnuaAp+mAieaLqeWZqO+8jOWKoOi9vee7hOS7tuWAvOaXtuS7pemAieS4reWtl+auteS4uuS4u+mUruiOt+WPlumAieS4reihjOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YUdyaWROYW1lPzogc3RyaW5nOyAvLyDnlKjkuo7lnKjojrflj5bmlbDmja7ml7blkIzml7bojrflj5blj7DotKbphY3nva7nmoTooYzlhoXmjInpkq5cclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgb25seUZyb250RW5kOiBib29sZWFuID0gZmFsc2U7IC8vIOS7heWJjeerr++8jOmcgOaMh+WummRhdGFTb3VyY2XvvIzkuI3oh6rliqjojrflj5booajmoLzmlbDmja5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSAxNTtcclxuICBhbGxvd2VkUGFnZVNpemVzOiBudW1iZXJbXSA9IFsxNSwgMzAsIDUwXTtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVQYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBkYXRhU291cmNlOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGlvbk1vZGU6ICdub25lJyB8ICdtdWx0aXBsZScgfCAnc2luZ2xlJyA9ICdub25lJztcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkUm93S2V5czogYW55W10gPSBbXTtcclxuICBAT3V0cHV0KClcclxuICBzZWxlY3RlZFJvd0tleXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1Jvd051bTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBpbnN0YW5jZUxpbmtUeXBlOiAndGFiJyB8ICdkcmF3ZXInIHwgJ25vbmUnID0gJ3RhYic7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtWaWV3Q29udGFpbmVyUmVmOiBhbnkgPSB0aGlzLnZpZXdDb250YWluZXJSZWY7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtTaXplOiAnZGVmYXVsdCcgfCAnbGFyZ2UnIHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gIEBJbnB1dCgpXHJcbiAgZHJhd2VySW5zdGFuY2VMaW5rU2hvd0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgZHJhd2VySW5zdGFuY2VMaW5rRm9ybVRlbXBsYXRlOiBhbnk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25DZWxsUHJlcGFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvbkNvbnRlbnRSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uRWRpdG9yUHJlcGFyaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25Sb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uUm93RGJsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkKER4RGF0YUdyaWRDb21wb25lbnQsIHtzdGF0aWM6IHRydWV9KSBwcml2YXRlIGR4RGF0YUdyaWQhOiBEeERhdGFHcmlkQ29tcG9uZW50O1xyXG4gIEBDb250ZW50Q2hpbGQoUm93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlKSBwcm90ZWN0ZWQgcm93QnV0dG9uc1RlbXBsYXRlITogUm93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlO1xyXG4gIEBDb250ZW50Q2hpbGQoQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmUpIHByb3RlY3RlZCBjdXN0b21UZW1wbGF0ZSE6IEN1c3RvbVRlbXBsYXRlRGlyZWN0aXZlO1xyXG4gIGNvbHVtbnM6IGFueVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogRGF0YUdyaWRGYWN0b3J5LCBwcm90ZWN0ZWQgc2VydmljZTogRGF0YUdyaWRTZXJ2aWNlLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucGFnZVNpemUgJiYgIXRoaXMuYWxsb3dlZFBhZ2VTaXplcy5pbmNsdWRlcyh0aGlzLnBhZ2VTaXplKSkge1xyXG4gICAgICB0aGlzLmFsbG93ZWRQYWdlU2l6ZXMucHVzaCh0aGlzLnBhZ2VTaXplKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVsb2FkKCk7XHJcbiAgICB0aGlzLnNlcnZpY2UuY2VsbFRlbXBsYXRlTG9hZGVkJC5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAoPGFueT50aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UpLnJlc2l6ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICByZWxvYWQoKSB7XHJcbiAgICB0aGlzLmNvbHVtbnMubGVuZ3RoID0gMDtcclxuICAgIHRoaXMuZmFjdG9yeS5tYWtlRGF0YUdyaWRDb2x1bW5zKHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwgdGhpcy52aWV3KS5zdWJzY3JpYmUoY29sdW1ucyA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmN1c3RvbUNvbHVtbkZuKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21Db2x1bW5Gbihjb2x1bW5zKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnN0YW5jZUxpbmtUeXBlID09PSAndGFiJyB8fCB0aGlzLmluc3RhbmNlTGlua1R5cGUgPT09ICdkcmF3ZXInKSB7XHJcbiAgICAgICAgY29sdW1ucy51bnNoaWZ0KHtcclxuICAgICAgICAgIGNhcHRpb246ICfor6bmg4UnLFxyXG4gICAgICAgICAgZml4ZWQ6IHRydWUsXHJcbiAgICAgICAgICB3aWR0aDogNDgsXHJcbiAgICAgICAgICBhbGlnbm1lbnQ6ICdjZW50ZXInLFxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAnaW5zdGFuY2VMaW5rVGVtcGxhdGUnXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuc2hvd1Jvd051bSkge1xyXG4gICAgICAgIGNvbHVtbnMudW5zaGlmdCh7XHJcbiAgICAgICAgICBjYXB0aW9uOiAn6KGM5Y+3JyxcclxuICAgICAgICAgIGZpeGVkOiB0cnVlLFxyXG4gICAgICAgICAgd2lkdGg6IDQ4LFxyXG4gICAgICAgICAgYWxpZ25tZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJ3Jvd0luZGV4VGVtcGxhdGUnXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcclxuICAgICAgaWYgKHRoaXMub25seUZyb250RW5kICYmIHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5maWx0ZXIpKSB7XHJcbiAgICAgICAgICB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UuZmlsdGVyKHRoaXMuZmlsdGVyKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmZpbHRlcihKU09OLnBhcnNlKHRoaXMuZmlsdGVyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLm9ubHlGcm9udEVuZCkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmICFBcnJheS5pc0FycmF5KHRoaXMuZGF0YVNvdXJjZSkpIHtcclxuICAgICAgICBub3RpZnlfZXJyb3IoJ+WboG9ubHlGcm9udEVuZOWPguaVsOS4unRydWXvvIzpnIDopoHmmI7noa7mjIflrppkYXRhU291cmNl5Y+C5pWw5Li65pWw57uEJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZmFjdG9yeS5tYWtlRGF0YUdyaWREYXRhU291cmNlKHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwgdGhpcy52aWV3LCB0aGlzLmZpbHRlciwgdGhpcy5rZXlFeHByLCB0aGlzLmRhdGFHcmlkTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmdldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UuZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaChjYWxsYmFjaz86IGFueSkge1xyXG4gICAgdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmNsZWFyU2VsZWN0aW9uKCk7XHJcbiAgICB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UucmVmcmVzaCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRHhEYXRhR3JpZEVkaXRvclByZXBhcmluZygkZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCRldmVudC5wYXJlbnRUeXBlID09PSAnZmlsdGVyUm93JyAmJiAkZXZlbnQuZWRpdG9yTmFtZSA9PT0gJ2R4VGV4dEJveCcpIHtcclxuICAgICAgJGV2ZW50LmVkaXRvck9wdGlvbnMudmFsdWVDaGFuZ2VFdmVudCA9ICdibHVyJztcclxuICAgICAgJGV2ZW50LmVkaXRvck9wdGlvbnMub25FbnRlcktleSA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBlLmNvbXBvbmVudC5ibHVyKCk7XHJcbiAgICAgIH07XHJcbiAgICAgICRldmVudC5lZGl0b3JPcHRpb25zLm9uUGFzdGUgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZS5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBpbnB1dEVsZW1lbnQudmFsdWU/LnRyaW0oKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMub25FZGl0b3JQcmVwYXJpbmcuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZHgtZGF0YS1ncmlkIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgICAgICAgIGRhdGVTZXJpYWxpemF0aW9uRm9ybWF0PVwieXl5eS9NTS9kZCBISDptbTpzc1wiXHJcbiAgICAgICAgICAgICAgW3N5bmNMb29rdXBGaWx0ZXJWYWx1ZXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcclxuICAgICAgICAgICAgICBba2V5RXhwcl09XCJrZXlFeHByXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRSb3dLZXlzXT1cInNlbGVjdGVkUm93S2V5c1wiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkUm93S2V5c0NoYW5nZSk9XCJzZWxlY3RlZFJvd0tleXNDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25DZWxsUHJlcGFyZWQpPVwib25DZWxsUHJlcGFyZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Db250ZW50UmVhZHkpPVwib25Db250ZW50UmVhZHkuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25FZGl0b3JQcmVwYXJpbmcpPVwib25EeERhdGFHcmlkRWRpdG9yUHJlcGFyaW5nKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblJvd0NsaWNrKT1cIm9uUm93Q2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Sb3dEYmxDbGljayk9XCJvblJvd0RibENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgPGR4by1zb3J0aW5nIG1vZGU9XCJtdWx0aXBsZVwiPjwvZHhvLXNvcnRpbmc+XHJcbiAgPGR4by1zZWxlY3Rpb24gW21vZGVdPVwic2VsZWN0aW9uTW9kZVwiIHNlbGVjdEFsbE1vZGU9XCJwYWdlXCIgc2hvd0NoZWNrQm94ZXNNb2RlPVwiYWx3YXlzXCI+PC9keG8tc2VsZWN0aW9uPlxyXG4gIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCIhb25seUZyb250RW5kXCI+XHJcbiAgICA8ZHhvLXNlYXJjaCBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tc2VhcmNoPlxyXG4gICAgPGR4by10ZXh0cyBbb2tdPVwiJ+ehruWumidcIj48L2R4by10ZXh0cz5cclxuICA8L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICA8ZHhvLXJlbW90ZS1vcGVyYXRpb25zIFtmaWx0ZXJpbmddPVwiIW9ubHlGcm9udEVuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ109XCIhb25seUZyb250RW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmddPVwiIW9ubHlGcm9udEVuZFwiPlxyXG4gIDwvZHhvLXJlbW90ZS1vcGVyYXRpb25zPlxyXG4gIDxkeG8tcGFnaW5nIFtlbmFibGVkXT1cIiFkaXNhYmxlUGFnZVwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiPjwvZHhvLXBhZ2luZz5cclxuICA8ZHhvLXBhZ2VyIFt2aXNpYmxlXT1cIiFkaXNhYmxlUGFnZVwiXHJcbiAgICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBpbmZvVGV4dD1cIuesrHswfemhte+8jOWFsXsxfemhte+8iOWFsXsyfeS4qumhueebru+8iVwiXHJcbiAgICAgICAgICAgICBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJhbGxvd2VkUGFnZVNpemVzXCJcclxuICA+PC9keG8tcGFnZXI+XHJcbiAgPGR4by1zY3JvbGxpbmcgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdyb3dJbmRleFRlbXBsYXRlJ1wiPlxyXG4gICAge3sgY2VsbEluZm8ucm93SW5kZXggKyAxIH19XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAnaW5zdGFuY2VMaW5rVGVtcGxhdGUnXCI+XHJcbiAgICA8cnMtaW5zdGFuY2UtbGluay10ZW1wbGF0ZSBbdGVuYW50XT1cInRlbmFudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImNsYXNzTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2lkXT1cImNlbGxJbmZvLmRhdGEub2lkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnN0YW5jZUxpbmtUeXBlXT1cImluc3RhbmNlTGlua1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlclZpZXdDb250YWluZXJSZWZdPVwiZHJhd2VySW5zdGFuY2VMaW5rVmlld0NvbnRhaW5lclJlZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJhd2VyU2l6ZV09XCJkcmF3ZXJJbnN0YW5jZUxpbmtTaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmF3ZXJTaG93SGVhZGVyXT1cImRyYXdlckluc3RhbmNlTGlua1Nob3dIZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlckZvcm1UZW1wbGF0ZV09XCJkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGVcIj5cclxuICAgIDwvcnMtaW5zdGFuY2UtbGluay10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdjZWxsQ29tcG9uZW50VGVtcGxhdGUnXCI+XHJcbiAgICA8cnMtY2VsbC1jb21wb25lbnQtdGVtcGxhdGUgW2NlbGxJbmZvXT1cImNlbGxJbmZvXCI+PC9ycy1jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdyb3dCdXR0b25zVGVtcGxhdGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJvd0J1dHRvbnNUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBjZWxsSW5mbywgY2VsbFRlbXBsYXRlTG9hZGVkJDogc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2N1c3RvbVRlbXBsYXRlJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21UZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBjZWxsSW5mbywgY2VsbFRlbXBsYXRlTG9hZGVkJDogc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2R4LWRhdGEtZ3JpZD5cclxuIl19
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQTZENUIsWUFBb0IsT0FBd0IsRUFBWSxPQUF3QixFQUFVLGdCQUFrQztRQUF4RyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNENUgsV0FBTSxHQUFTLEdBQUcsQ0FBQztRQVVuQixZQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsa0NBQWtDO1FBTXhELGlCQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBRTdELGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIscUJBQWdCLEdBQWEsQ0FB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Q0FBQzttS0FJNUIsTUFBTTtzQkFETCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLGVBQWU7c0JBRGQsS0FBSztnQkFHTixxQkFBcUI7c0JBRHBCLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLGtDQUFrQztzQkFEakMsS0FBSztnQkFHTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBR04sNEJBQTRCO3NCQUQzQixLQUFLO2dCQUdOLDhCQUE4QjtzQkFEN0IsS0FBSztnQkFHTixjQUFjO3NCQURiLE1BQU07Z0JBR1AsY0FBYztzQkFEYixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHUCxVQUFVO3NCQURULE1BQU07Z0JBR1AsYUFBYTtzQkFEWixNQUFNO2dCQUdQLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFFaUQsVUFBVTtzQkFBakUsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ08sa0JBQWtCO3NCQUF0RSxZQUFZO3VCQUFDLDJCQUEyQjtnQkFDUSxjQUFjO3NCQUE5RCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0R4RGF0YUdyaWRDb21wb25lbnR9IGZyb20gXCJkZXZleHRyZW1lLWFuZ3VsYXJcIjtcclxuaW1wb3J0IHtEYXRhR3JpZFNlcnZpY2V9IGZyb20gXCIuL2RhdGEtZ3JpZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3ctYnV0dG9ucy10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtEYXRhR3JpZEZhY3Rvcnl9IGZyb20gXCIuL2RhdGEtZ3JpZC5mYWN0b3J5XCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge25vdGlmeV9lcnJvcn0gZnJvbSBcIi4uL3V0aWwvdXRpbHNcIjtcclxuaW1wb3J0IHtDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vY3VzdG9tLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1kYXRhLWdyaWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0RhdGFHcmlkU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHRlbmFudD86IGFueSA9ICdUJztcclxuICBASW5wdXQoKVxyXG4gIGNsYXNzTmFtZSE6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHZpZXc/OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBmaWx0ZXI/OiBBcnJheTxhbnk+IHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VzdG9tQ29sdW1uRm4/OiAoY29sdW1uczogYW55W10pID0+IHZvaWQ7XHJcbiAgQElucHV0KClcclxuICBrZXlFeHByOiBzdHJpbmcgPSAnJzsgLy8g55So5LqO5a6e5L6L5bGe5oCn6YCJ5oup5Zmo77yM5Yqg6L2957uE5Lu25YC85pe25Lul6YCJ5Lit5a2X5q615Li65Li76ZSu6I635Y+W6YCJ5Lit6KGM5pWw5o2uXHJcbiAgQElucHV0KClcclxuICBkYXRhR3JpZE5hbWU/OiBzdHJpbmc7IC8vIOeUqOS6juWcqOiOt+WPluaVsOaNruaXtuWQjOaXtuiOt+WPluWPsOi0pumFjee9rueahOihjOWGheaMiemSrlxyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBvbmx5RnJvbnRFbmQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8g5LuF5YmN56uv77yM6ZyA5oyH5a6aZGF0YVNvdXJjZe+8jOS4jeiHquWKqOiOt+WPluihqOagvOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDE1O1xyXG4gIGFsbG93ZWRQYWdlU2l6ZXM6IG51bWJlcltdID0gWzE1LCAzMCwgNTBdO1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZVBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRhdGFTb3VyY2U6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0aW9uTW9kZTogJ25vbmUnIHwgJ211bHRpcGxlJyB8ICdzaW5nbGUnID0gJ25vbmUnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSb3dLZXlzOiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkUm93S2V5c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQElucHV0KClcclxuICBzaG93Um93TnVtOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIGluc3RhbmNlTGlua1R5cGU6ICd0YWInIHwgJ2RyYXdlcicgfCAnbm9uZScgPSAndGFiJztcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMudmlld0NvbnRhaW5lclJlZjtcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1NpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtTaG93SGVhZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGU6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBvbkNlbGxQcmVwYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ29udGVudFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25FZGl0b3JQcmVwYXJpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25Sb3dEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoRHhEYXRhR3JpZENvbXBvbmVudCwge3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgZHhEYXRhR3JpZCE6IER4RGF0YUdyaWRDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmUpIHByb3RlY3RlZCByb3dCdXR0b25zVGVtcGxhdGUhOiBSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZSkgcHJvdGVjdGVkIGN1c3RvbVRlbXBsYXRlITogQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgY29sdW1uczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBEYXRhR3JpZEZhY3RvcnksIHByb3RlY3RlZCBzZXJ2aWNlOiBEYXRhR3JpZFNlcnZpY2UsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlU2l6ZSAmJiAhdGhpcy5hbGxvd2VkUGFnZVNpemVzLmluY2x1ZGVzKHRoaXMucGFnZVNpemUpKSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZFBhZ2VTaXplcy5wdXNoKHRoaXMucGFnZVNpemUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZWxvYWQoKTtcclxuICAgIHRoaXMuc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICg8YW55PnRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZSkucmVzaXplKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHJlbG9hZCgpIHtcclxuICAgIHRoaXMuY29sdW1ucy5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy5mYWN0b3J5Lm1ha2VEYXRhR3JpZENvbHVtbnModGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLnZpZXcpLnN1YnNjcmliZShjb2x1bW5zID0+IHtcclxuICAgICAgaWYgKHRoaXMuY3VzdG9tQ29sdW1uRm4pIHtcclxuICAgICAgICB0aGlzLmN1c3RvbUNvbHVtbkZuKGNvbHVtbnMpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmluc3RhbmNlTGlua1R5cGUgPT09ICd0YWInIHx8IHRoaXMuaW5zdGFuY2VMaW5rVHlwZSA9PT0gJ2RyYXdlcicpIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgY2FwdGlvbjogJ+ivpuaDhScsXHJcbiAgICAgICAgICBmaXhlZDogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiA0OCxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICdpbnN0YW5jZUxpbmtUZW1wbGF0ZScsXHJcbiAgICAgICAgICByZW5kZXJBc3luYzogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNob3dSb3dOdW0pIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgY2FwdGlvbjogJ+ihjOWPtycsXHJcbiAgICAgICAgICBmaXhlZDogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiA0OCxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICdyb3dJbmRleFRlbXBsYXRlJyxcclxuICAgICAgICAgIHJlbmRlckFzeW5jOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcclxuICAgICAgaWYgKHRoaXMub25seUZyb250RW5kICYmIHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5maWx0ZXIpKSB7XHJcbiAgICAgICAgICB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UuZmlsdGVyKHRoaXMuZmlsdGVyKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmZpbHRlcihKU09OLnBhcnNlKHRoaXMuZmlsdGVyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLm9ubHlGcm9udEVuZCkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmICFBcnJheS5pc0FycmF5KHRoaXMuZGF0YVNvdXJjZSkpIHtcclxuICAgICAgICBub3RpZnlfZXJyb3IoJ+WboG9ubHlGcm9udEVuZOWPguaVsOS4unRydWXvvIzpnIDopoHmmI7noa7mjIflrppkYXRhU291cmNl5Y+C5pWw5Li65pWw57uEJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZmFjdG9yeS5tYWtlRGF0YUdyaWREYXRhU291cmNlKHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwgdGhpcy52aWV3LCB0aGlzLmZpbHRlciwgdGhpcy5rZXlFeHByLCB0aGlzLmRhdGFHcmlkTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmdldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UuZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaChjYWxsYmFjaz86IGFueSkge1xyXG4gICAgdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmNsZWFyU2VsZWN0aW9uKCk7XHJcbiAgICB0aGlzLmR4RGF0YUdyaWQuaW5zdGFuY2UucmVmcmVzaCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRHhEYXRhR3JpZEVkaXRvclByZXBhcmluZygkZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCRldmVudC5wYXJlbnRUeXBlID09PSAnZmlsdGVyUm93JyAmJiAkZXZlbnQuZWRpdG9yTmFtZSA9PT0gJ2R4VGV4dEJveCcpIHtcclxuICAgICAgJGV2ZW50LmVkaXRvck9wdGlvbnMudmFsdWVDaGFuZ2VFdmVudCA9ICdibHVyJztcclxuICAgICAgJGV2ZW50LmVkaXRvck9wdGlvbnMub25FbnRlcktleSA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBlLmNvbXBvbmVudC5ibHVyKCk7XHJcbiAgICAgIH07XHJcbiAgICAgICRldmVudC5lZGl0b3JPcHRpb25zLm9uUGFzdGUgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZS5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBpbnB1dEVsZW1lbnQudmFsdWU/LnRyaW0oKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMub25FZGl0b3JQcmVwYXJpbmcuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZHgtZGF0YS1ncmlkIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgICAgICAgIGRhdGVTZXJpYWxpemF0aW9uRm9ybWF0PVwieXl5eS9NTS9kZCBISDptbTpzc1wiXHJcbiAgICAgICAgICAgICAgW3N5bmNMb29rdXBGaWx0ZXJWYWx1ZXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcclxuICAgICAgICAgICAgICBba2V5RXhwcl09XCJrZXlFeHByXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRSb3dLZXlzXT1cInNlbGVjdGVkUm93S2V5c1wiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkUm93S2V5c0NoYW5nZSk9XCJzZWxlY3RlZFJvd0tleXNDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25DZWxsUHJlcGFyZWQpPVwib25DZWxsUHJlcGFyZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Db250ZW50UmVhZHkpPVwib25Db250ZW50UmVhZHkuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25FZGl0b3JQcmVwYXJpbmcpPVwib25EeERhdGFHcmlkRWRpdG9yUHJlcGFyaW5nKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblJvd0NsaWNrKT1cIm9uUm93Q2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Sb3dEYmxDbGljayk9XCJvblJvd0RibENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgPGR4by1zb3J0aW5nIG1vZGU9XCJtdWx0aXBsZVwiPjwvZHhvLXNvcnRpbmc+XHJcbiAgPGR4by1zZWxlY3Rpb24gW21vZGVdPVwic2VsZWN0aW9uTW9kZVwiIHNlbGVjdEFsbE1vZGU9XCJwYWdlXCIgc2hvd0NoZWNrQm94ZXNNb2RlPVwiYWx3YXlzXCI+PC9keG8tc2VsZWN0aW9uPlxyXG4gIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCIhb25seUZyb250RW5kXCI+XHJcbiAgICA8ZHhvLXNlYXJjaCBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tc2VhcmNoPlxyXG4gICAgPGR4by10ZXh0cyBbb2tdPVwiJ+ehruWumidcIj48L2R4by10ZXh0cz5cclxuICA8L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICA8ZHhvLXJlbW90ZS1vcGVyYXRpb25zIFtmaWx0ZXJpbmddPVwiIW9ubHlGcm9udEVuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ109XCIhb25seUZyb250RW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmddPVwiIW9ubHlGcm9udEVuZFwiPlxyXG4gIDwvZHhvLXJlbW90ZS1vcGVyYXRpb25zPlxyXG4gIDxkeG8tcGFnaW5nIFtlbmFibGVkXT1cIiFkaXNhYmxlUGFnZVwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiPjwvZHhvLXBhZ2luZz5cclxuICA8ZHhvLXBhZ2VyIFt2aXNpYmxlXT1cIiFkaXNhYmxlUGFnZVwiXHJcbiAgICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBpbmZvVGV4dD1cIuesrHswfemhte+8jOWFsXsxfemhte+8iOWFsXsyfeS4qumhueebru+8iVwiXHJcbiAgICAgICAgICAgICBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJhbGxvd2VkUGFnZVNpemVzXCJcclxuICA+PC9keG8tcGFnZXI+XHJcbiAgPGR4by1zY3JvbGxpbmcgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdyb3dJbmRleFRlbXBsYXRlJ1wiPlxyXG4gICAge3sgY2VsbEluZm8ucm93SW5kZXggKyAxIH19XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAnaW5zdGFuY2VMaW5rVGVtcGxhdGUnXCI+XHJcbiAgICA8cnMtaW5zdGFuY2UtbGluay10ZW1wbGF0ZSBbdGVuYW50XT1cInRlbmFudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImNsYXNzTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2lkXT1cImNlbGxJbmZvLmRhdGEub2lkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnN0YW5jZUxpbmtUeXBlXT1cImluc3RhbmNlTGlua1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlclZpZXdDb250YWluZXJSZWZdPVwiZHJhd2VySW5zdGFuY2VMaW5rVmlld0NvbnRhaW5lclJlZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJhd2VyU2l6ZV09XCJkcmF3ZXJJbnN0YW5jZUxpbmtTaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmF3ZXJTaG93SGVhZGVyXT1cImRyYXdlckluc3RhbmNlTGlua1Nob3dIZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlckZvcm1UZW1wbGF0ZV09XCJkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGVcIj5cclxuICAgIDwvcnMtaW5zdGFuY2UtbGluay10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdjZWxsQ29tcG9uZW50VGVtcGxhdGUnXCI+XHJcbiAgICA8cnMtY2VsbC1jb21wb25lbnQtdGVtcGxhdGUgW3RlbmFudF09XCJ0ZW5hbnRcIiBbY2xhc3NOYW1lXT1cImNsYXNzTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NlbGxJbmZvXT1cImNlbGxJbmZvXCI+PC9ycy1jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdyb3dCdXR0b25zVGVtcGxhdGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJvd0J1dHRvbnNUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBjZWxsSW5mbywgY2VsbFRlbXBsYXRlTG9hZGVkJDogc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2N1c3RvbVRlbXBsYXRlJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21UZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBjZWxsSW5mbywgY2VsbFRlbXBsYXRlTG9hZGVkJDogc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2R4LWRhdGEtZ3JpZD5cclxuIl19
|
|
@@ -67,6 +67,7 @@ export class DataGridFactory {
|
|
|
67
67
|
column.cellTemplate = 'cellComponentTemplate';
|
|
68
68
|
column.config = field.config;
|
|
69
69
|
column.viewConfig = field.viewConfig;
|
|
70
|
+
column.renderAsync = true;
|
|
70
71
|
}
|
|
71
72
|
switch (field.type) {
|
|
72
73
|
case 'FILE':
|
|
@@ -380,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
380
381
|
providedIn: 'root'
|
|
381
382
|
}]
|
|
382
383
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9kYXRhLWdyaWQvZGF0YS1ncmlkLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU01QixZQUFPLEdBQVE7WUFDckIsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDcEU7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGdCQUFnQixFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQzthQUNwRTtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsZ0JBQWdCLEVBQUUsRUFBRTthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7YUFDL0Q7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLFFBQVE7Z0JBQ2xC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V0FBVyxDQUFDLE1BQU0sQ0FBQztpQkFDN0I7Z0JBQ0QsSUFBSSxXQUFXLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7d0JBQy9CLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUN2QztvQkFDRCxJQUFJLE1BQU0sRUFBRTt3QkFDVixNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO3FCQUN2Qzt5QkFBTTt3QkFDTCxNQUFNLEdBQUcsV0FBVyxDQUFDO3FCQUN0QjtpQkFDRjtnQkFDRCxJQUFJLE1BQU0sRUFBRTtvQkFDVixNQUFNLElBQUksVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDbkU7Z0JBQ0QsTUFBTSxJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLE1BQU0sSUFBSSxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7aUJBQzNDO2dCQUNELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4RSxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBNVdVLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3VzdG9tU3RvcmUgZnJvbSBcImRldmV4dHJlbWUvZGF0YS9jdXN0b21fc3RvcmVcIjtcclxuaW1wb3J0IHtsYXN0VmFsdWVGcm9tLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Q29sdW1ufSBmcm9tIFwiZGV2ZXh0cmVtZS91aS9kYXRhX2dyaWRcIjtcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RhdGFHcmlkU2VydmljZX0gZnJvbSBcIi4vZGF0YS1ncmlkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFHcmlkRmFjdG9yeSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICB0aGlzLnNlcnZpY2UgPSBuZXcgRGF0YUdyaWRTZXJ2aWNlKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXJ2aWNlITogRGF0YUdyaWRTZXJ2aWNlO1xyXG5cclxuICBwcml2YXRlIHR5cGVNYXA6IGFueSA9IHtcclxuICAgIFNUUklORzoge1xyXG4gICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnY29udGFpbnMnLCAnc3RhcnRzd2l0aCcsICdlbmRzd2l0aCcsICc9JywgJzw+J11cclxuICAgIH0sXHJcbiAgICBURVhUOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWydjb250YWlucycsICdzdGFydHN3aXRoJywgJ2VuZHN3aXRoJywgJz0nLCAnPD4nXVxyXG4gICAgfSxcclxuICAgIEJPT0xFQU46IHtcclxuICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogW11cclxuICAgIH0sXHJcbiAgICBJTlRFR0VSOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc9JywgJzw+JywgJz4nLCAnPj0nLCAnPCcsICc8PScsICdiZXR3ZWVuJ11cclxuICAgIH0sXHJcbiAgICBET1VCTEU6IHtcclxuICAgICAgZGF0YVR5cGU6ICdudW1iZXInLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz0nLCAnPD4nLCAnPicsICc+PScsICc8JywgJzw9JywgJ2JldHdlZW4nXVxyXG4gICAgfSxcclxuICAgIERBVEU6IHtcclxuICAgICAgZGF0YVR5cGU6ICdkYXRlJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc9JywgJzw+JywgJz4nLCAnPj0nLCAnPCcsICc8PScsICdiZXR3ZWVuJ10sXHJcbiAgICAgIGZvcm1hdDogJ3l5eXkvTU0vZGQnXHJcbiAgICB9LFxyXG4gICAgREFURVRJTUU6IHtcclxuICAgICAgZGF0YVR5cGU6ICdkYXRldGltZScsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnPicsICc8JywgJ2JldHdlZW4nXSxcclxuICAgICAgZm9ybWF0OiAneXl5eS9NTS9kZCBISDptbTpzcydcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgbWFrZURhdGFHcmlkQ29sdW1ucyh0ZW5hbnQ6IGFueSwgY2xhc3NOYW1lOiBhbnksIHZpZXc6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldE1ldGFkYXRhQnlWaWV3KHRlbmFudCwgY2xhc3NOYW1lLCB2aWV3IHx8ICcnKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xyXG4gICAgICBjb25zdCBjb2x1bW5zID0gW107XHJcbiAgICAgIGZvciAobGV0IGZpZWxkIG9mIHJlc3BvbnNlLmRhdGEuY29sdW1ucykge1xyXG4gICAgICAgIGxldCBjb2x1bW46IGFueSA9IHtcclxuICAgICAgICAgIGRhdGFGaWVsZDogZmllbGQubmFtZSxcclxuICAgICAgICAgIGNhcHRpb246IGZpZWxkLmNhcHRpb24sXHJcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICBhbGlnbm1lbnQ6ICdsZWZ0JyxcclxuICAgICAgICAgIGFsbG93SGVhZGVyRmlsdGVyaW5nOiB0cnVlLFxyXG4gICAgICAgICAgYWxsb3dGaWx0ZXJpbmc6IHRydWUsXHJcbiAgICAgICAgICBhbGxvd1NvcnRpbmc6IHRydWUsXHJcbiAgICAgICAgICB2aXNpYmxlOiBmaWVsZC52aXNpYmxlLFxyXG4gICAgICAgICAgZml4ZWQ6IGZpZWxkLmZpeGVkXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoZmllbGQudmlld0NvbmZpZy5jb2x1bW5XaWR0aCkge1xyXG4gICAgICAgICAgY29sdW1uLndpZHRoID0gZmllbGQudmlld0NvbmZpZy5jb2x1bW5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpZWxkLnZpZXdDb25maWcuYWxpZ25DZW50ZXIpIHtcclxuICAgICAgICAgIGNvbHVtbi5hbGlnbm1lbnQgPSAnY2VudGVyJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpZWxkLnZpZXdDb25maWcuY29tcG9uZW50KSB7XHJcbiAgICAgICAgICBjb2x1bW4uY2VsbFRlbXBsYXRlID0gJ2NlbGxDb21wb25lbnRUZW1wbGF0ZSc7XHJcbiAgICAgICAgICBjb2x1bW4uY29uZmlnID0gZmllbGQuY29uZmlnO1xyXG4gICAgICAgICAgY29sdW1uLnZpZXdDb25maWcgPSBmaWVsZC52aWV3Q29uZmlnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgJ0ZJTEUnOlxyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dIZWFkZXJGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29sdW1uLmFsbG93RmlsdGVyaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd1NvcnRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdOT1JNQUwnOlxyXG4gICAgICAgICAgICBjb2x1bW4uZGF0YVR5cGUgPSB0aGlzLnR5cGVNYXBbZmllbGQuZGF0YVR5cGVdLmRhdGFUeXBlO1xyXG4gICAgICAgICAgICBjb2x1bW4uaGVhZGVyRmlsdGVyID0ge1xyXG4gICAgICAgICAgICAgIGFsbG93U2VsZWN0QWxsOiBmYWxzZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb2x1bW4uZmlsdGVyT3BlcmF0aW9ucyA9IHRoaXMudHlwZU1hcFtmaWVsZC5kYXRhVHlwZV0uZmlsdGVyT3BlcmF0aW9ucztcclxuICAgICAgICAgICAgY29sdW1uLmZvcm1hdCA9IHRoaXMudHlwZU1hcFtmaWVsZC5kYXRhVHlwZV0uZm9ybWF0O1xyXG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmRhdGFUeXBlKSB7XHJcbiAgICAgICAgICAgICAgY2FzZSAnQk9PTEVBTic6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dIZWFkZXJGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGlnbm1lbnQgPSAnY2VudGVyJztcclxuICAgICAgICAgICAgICAgIGNvbHVtbi50cnVlVGV4dCA9ICfmmK8nO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmZhbHNlVGV4dCA9ICflkKYnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgY2FzZSAnREFURSc6XHJcbiAgICAgICAgICAgICAgY2FzZSAnREFURVRJTUUnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0gKG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UuZ3JvdXAubGVuZ3RoID0gMztcclxuICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kYXRhU291cmNlLnBvc3RQcm9jZXNzID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEuZm9yRWFjaCgoeWVhcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB5ZWFyLnRleHQgPSB5ZWFyLmtleSArICflubQnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgeWVhci5pdGVtcy5mb3JFYWNoKChtb250aDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoLnRleHQgPSBtb250aC5rZXkgKyAn5pyIJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGguaXRlbXMuZm9yRWFjaCgoZGF5OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXkudGV4dCA9IGRheS5rZXkgKyAn5pelJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXkuaXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLnVuc2hpZnQoe1xyXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogJyjnqbrnmb0pJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIGNhc2UgJ0RPVUJMRSc6XHJcbiAgICAgICAgICAgICAgY2FzZSAnSU5URUdFUic6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uaGVhZGVyRmlsdGVyLmRhdGFTb3VyY2UgPSAob3B0aW9uczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF0YVNvdXJjZS5wb3N0UHJvY2VzcyA9IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLnVuc2hpZnQoe1xyXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogJyjnqbrnmb0pJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdfXycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdfXycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGlnbm1lbnQgPSAncmlnaHQnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgY2FzZSAnU1RSSU5HJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IChvcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgLy8gVE9ETyDotoXov4cyMOadoeS8muWIhumhtea3u+WKoOWkmuasoe+8jOS4jeWIhumhteWJjeerr+aAp+iDveW3ru+8jOiAg+iZkeWcqOaehOW7umRhdGFTb3VyY2Xml7blpITnkIbvvIzkuI7ml6XmnJ/nsbvlnovlrZjlnKjlhrLnqoFcclxuICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kYXRhU291cmNlLnBvc3RQcm9jZXNzID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEudW5zaGlmdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnKOepuueZvSknXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChmaWVsZC5jb25maWcuY29uc3RyYWludC50eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ1VTRVInOlxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4udmlld0NvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnZpZXdDb25maWcuY29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRmllbGQ6IGZpZWxkLm5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHN0b3JlOiBuZXcgQ3VzdG9tU3RvcmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldFVzZXJDb2x1bW5EYXRhU291cmNlKHRlbmFudCwgY2xhc3NOYW1lLCB2aWV3LCBmaWVsZC5uYW1lKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgcGFnaW5hdGU6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5jb25maWcuY29uc3RyYWludC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmFsbG93RmlsdGVyaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uY2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICh0aGlzOiBDb2x1bW4sIGZpbHRlclZhbHVlOiBhbnksIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24uYXBwbHkodGhpcywgW2ZpbHRlclZhbHVlLCAnPScsIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICdjb250YWlucycsIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVXNlcl9kaXNwbGF5TmFtZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uY2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICh0aGlzOiBhbnksIGZpbHRlclZhbHVlOiBhbnksIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT09ICdoZWFkZXJGaWx0ZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkID0gJ19fJyArIGZpZWxkLm5hbWUgKyAnXFx1MDAwMVVzZXJfdXNlcm5hbWUnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24uYXBwbHkodGhpcywgW2ZpbHRlclZhbHVlLCBzZWxlY3RlZEZpbHRlck9wZXJhdGlvbiwgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbi5uYW1lLCBzZWxlY3RlZEZpbHRlck9wZXJhdGlvbiwgZmlsdGVyVmFsdWVdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdvcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWydfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVc2VyX3VzZXJuYW1lJywgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ1VOSVQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4udmlld0NvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnZpZXdDb25maWcuY29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsRmllbGQ6IGZpZWxkLm5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHN0b3JlOiBuZXcgQ3VzdG9tU3RvcmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldFVuaXRDb2x1bW5EYXRhU291cmNlKHRlbmFudCwgY2xhc3NOYW1lLCB2aWV3LCBmaWVsZC5uYW1lKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgcGFnaW5hdGU6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5jb25maWcuY29uc3RyYWludC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmFsbG93RmlsdGVyaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uY2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICh0aGlzOiBDb2x1bW4sIGZpbHRlclZhbHVlOiBhbnksIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24uYXBwbHkodGhpcywgW2ZpbHRlclZhbHVlLCAnPScsIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICdjb250YWlucycsIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9kaXNwbGF5TmFtZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uY2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICh0aGlzOiBDb2x1bW4sIGZpbHRlclZhbHVlOiBhbnksIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgPT09ICdoZWFkZXJGaWx0ZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkID0gJ19fJyArIGZpZWxkLm5hbWUgKyAnXFx1MDAwMVVuaXRfbmFtZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCB0YXJnZXRdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uLm5hbWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCBmaWx0ZXJWYWx1ZV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbJ19fJyArIGZpZWxkLm5hbWUgKyAnXFx1MDAwMVVuaXRfbmFtZScsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCBmaWx0ZXJWYWx1ZV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICBjYXNlICdDVVNUT00nOlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHN0b3JlOiBuZXcgQ3VzdG9tU3RvcmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldENvbnN0cmFpbnRDb2x1bW5EYXRhU291cmNlKHRlbmFudCwgY2xhc3NOYW1lLCB2aWV3LCBmaWVsZC5uYW1lLCBmaWVsZC5jb25maWcuY29uc3RyYWludC5uYW1lKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgcGFnaW5hdGU6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5sb29rdXAgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlOiBuZXcgQ3VzdG9tU3RvcmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRDb25zdHJhaW50RW50cmllcyh0ZW5hbnQsIGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcjogJ3N0b3JlJyxcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlFeHByOiAnZGlzcGxheSdcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5maWx0ZXJPcGVyYXRpb25zID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uY2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICh0aGlzOiBDb2x1bW4sIGZpbHRlclZhbHVlOiBhbnksIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXJWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24uYXBwbHkodGhpcywgW2ZpbHRlclZhbHVlLCAnPScsIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICdjb250YWlucycsIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgY2FzZSAnVEVYVCc6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dIZWFkZXJGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnUkVMQVRJT04nOlxyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dIZWFkZXJGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29sdW1uLmFsbG93U29ydGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLnJlbGF0aW9uVHlwZSkge1xyXG4gICAgICAgICAgICAgIGNhc2UgJ01BTllfVE9fT05FJzpcclxuICAgICAgICAgICAgICBjYXNlICdPTkVfVE9fT05FJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5maWx0ZXJPcGVyYXRpb25zID0gWyc9J107XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmFsbG93RmlsdGVyaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICAgICAgfVxyXG4gICAgICByZXN1bHQubmV4dChjb2x1bW5zKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtYWtlRGF0YUdyaWREYXRhU291cmNlKHRlbmFudDogYW55LCBjbGFzc05hbWU6IGFueSwgdmlldzogYW55LCBleHRyYUZpbHRlcjogYW55LCBrZXlFeHByPzogc3RyaW5nLCBkYXRhR3JpZE5hbWU/OiBzdHJpbmcpOiBDdXN0b21TdG9yZSB7XHJcbiAgICBpZiAoIWtleUV4cHIpIHtcclxuICAgICAga2V5RXhwciA9ICdvaWQnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgIGtleToga2V5RXhwcixcclxuICAgICAgYnlLZXk6IChrZXk6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICgha2V5KSB7XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChrZXlFeHByID09PSAnb2lkJykge1xyXG4gICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldE9uZSh0ZW5hbnQsIGNsYXNzTmFtZSwga2V5KS5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0T25lQnlGaWx0ZXIodGVuYW50LCBjbGFzc05hbWUsIGtleUV4cHIsIGtleSwgdmlldykpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgbG9hZDogKGxvYWRPcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuZGF0YUZpZWxkKSB7XHJcbiAgICAgICAgICAvLyDmnKrph43lhploZWFkZXJGaWx0ZXLnmoRkYXRhU291cmNl5pe277yMaGVhZGVyRmlsdGVy5Lya6LCD55SobG9hZOaWueazleWKoOi9veetm+mAieagke+8jOmHjeWGmeivpeaWueazleafpeivouivpeihqOaJgOacieaVsOaNrlxyXG4gICAgICAgICAgLy8g6K+l5pa55byP5a2Y5Zyo6aOO6Zmp77yM5peg5rOV6K+G5YirRGV2RXh0cmVtZeS4gOWumuaYr+mAmui/h2hlYWRlckZpbHRlcui/h+a7pOaJjeWtmOWcqGRhdGFGaWVsZOWPguaVsFxyXG4gICAgICAgICAgLy8gVE9ETyDpnIDopoHogIPomZHlt7LlrZjlnKjnmoTov4fmu6TmnaHku7bvvIzkuI7luKbnuqbmnZ/nmoTlrZfmrrXlrZjlnKjlhrLnqoHvvIzmraTlpITlrZjlnKjov4fmu6TmnaHku7bvvIzliqDovb3liJfml7bluKbnuqbmnZ/nmoTlrZfmrrXmnoTlu7rnmoRkYXRhU291cmNl6I635Y+W5LiN5Yiw6L+H5ruk5p2h5Lu2XHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0Q29sdW1uRGF0YVNvdXJjZSh0ZW5hbnQsIGNsYXNzTmFtZSwgdmlldywgbG9hZE9wdGlvbnMuZGF0YUZpZWxkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBwYXJhbXMgPSAnPyc7XHJcbiAgICAgICAgaWYgKGxvYWRPcHRpb25zLnNraXAgfHwgbG9hZE9wdGlvbnMudGFrZSkge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICdvZmZzZXQ9JyArIGxvYWRPcHRpb25zLnNraXA7XHJcbiAgICAgICAgICBwYXJhbXMgKz0gJyZsaW1pdD0nICsgbG9hZE9wdGlvbnMudGFrZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICdsaW1pdD0wJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxvYWRPcHRpb25zLnNvcnQpIHtcclxuICAgICAgICAgIGxldCBmaXJzdCA9IHRydWU7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IHRoaXNTb3J0IG9mIGxvYWRPcHRpb25zLnNvcnQpIHtcclxuICAgICAgICAgICAgaWYgKGZpcnN0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcmb3JkZXJCeT0nICsgdGhpc1NvcnQuc2VsZWN0b3I7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcsJyArIHRoaXNTb3J0LnNlbGVjdG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzU29ydC5kZXNjKSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcgZGVzYyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGZpbHRlcjtcclxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuZmlsdGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIgPSBsb2FkT3B0aW9ucy5maWx0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChleHRyYUZpbHRlcikge1xyXG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGV4dHJhRmlsdGVyKSkge1xyXG4gICAgICAgICAgICBleHRyYUZpbHRlciA9IEpTT04ucGFyc2UoZXh0cmFGaWx0ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICBmaWx0ZXIgPSBbZmlsdGVyLCAnYW5kJywgZXh0cmFGaWx0ZXJdO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlsdGVyID0gZXh0cmFGaWx0ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWx0ZXIpIHtcclxuICAgICAgICAgIHBhcmFtcyArPSAnJmZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGZpbHRlcikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYXJhbXMgKz0gJyZ2aWV3PScgKyAodmlldyB8fCAnJyk7XHJcbiAgICAgICAgaWYgKGRhdGFHcmlkTmFtZSkge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICcmZGF0YUdyaWROYW1lPScgKyBkYXRhR3JpZE5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRNYW55KHRlbmFudCwgY2xhc3NOYW1lLCBwYXJhbXMpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9kYXRhLWdyaWQvZGF0YS1ncmlkLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU01QixZQUFPLEdBQVE7WUFDckIsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDcEU7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGdCQUFnQixFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQzthQUNwRTtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsZ0JBQWdCLEVBQUUsRUFBRTthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7YUFDL0Q7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLFFBQVE7Z0JBQ2xC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V0FBVyxDQUFDLE1BQU0sRUFBRTtvQkFDdEIsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7aUJBQzdCO2dCQUNELElBQUksV0FBVyxFQUFFO29CQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUMvQixXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDdkM7b0JBQ0QsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztxQkFDdkM7eUJBQU07d0JBQ0wsTUFBTSxHQUFHLFdBQVcsQ0FBQztxQkFDdEI7aUJBQ0Y7Z0JBQ0QsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsTUFBTSxJQUFJLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQ25FO2dCQUNELE1BQU0sSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksWUFBWSxFQUFFO29CQUNoQixNQUFNLElBQUksZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO2lCQUMzQztnQkFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEUsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQTdXVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEN1c3RvbVN0b3JlIGZyb20gXCJkZXZleHRyZW1lL2RhdGEvY3VzdG9tX3N0b3JlXCI7XHJcbmltcG9ydCB7bGFzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0NvbHVtbn0gZnJvbSBcImRldmV4dHJlbWUvdWkvZGF0YV9ncmlkXCI7XHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEYXRhR3JpZFNlcnZpY2V9IGZyb20gXCIuL2RhdGEtZ3JpZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZEZhY3Rvcnkge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlID0gbmV3IERhdGFHcmlkU2VydmljZShodHRwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VydmljZSE6IERhdGFHcmlkU2VydmljZTtcclxuXHJcbiAgcHJpdmF0ZSB0eXBlTWFwOiBhbnkgPSB7XHJcbiAgICBTVFJJTkc6IHtcclxuICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJ2NvbnRhaW5zJywgJ3N0YXJ0c3dpdGgnLCAnZW5kc3dpdGgnLCAnPScsICc8PiddXHJcbiAgICB9LFxyXG4gICAgVEVYVDoge1xyXG4gICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnY29udGFpbnMnLCAnc3RhcnRzd2l0aCcsICdlbmRzd2l0aCcsICc9JywgJzw+J11cclxuICAgIH0sXHJcbiAgICBCT09MRUFOOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFtdXHJcbiAgICB9LFxyXG4gICAgSU5URUdFUjoge1xyXG4gICAgICBkYXRhVHlwZTogJ251bWJlcicsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnPScsICc8PicsICc+JywgJz49JywgJzwnLCAnPD0nLCAnYmV0d2VlbiddXHJcbiAgICB9LFxyXG4gICAgRE9VQkxFOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcclxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc9JywgJzw+JywgJz4nLCAnPj0nLCAnPCcsICc8PScsICdiZXR3ZWVuJ11cclxuICAgIH0sXHJcbiAgICBEQVRFOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXHJcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnPScsICc8PicsICc+JywgJz49JywgJzwnLCAnPD0nLCAnYmV0d2VlbiddLFxyXG4gICAgICBmb3JtYXQ6ICd5eXl5L01NL2RkJ1xyXG4gICAgfSxcclxuICAgIERBVEVUSU1FOiB7XHJcbiAgICAgIGRhdGFUeXBlOiAnZGF0ZXRpbWUnLFxyXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz4nLCAnPCcsICdiZXR3ZWVuJ10sXHJcbiAgICAgIGZvcm1hdDogJ3l5eXkvTU0vZGQgSEg6bW06c3MnXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIG1ha2VEYXRhR3JpZENvbHVtbnModGVuYW50OiBhbnksIGNsYXNzTmFtZTogYW55LCB2aWV3OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2VydmljZS5nZXRNZXRhZGF0YUJ5Vmlldyh0ZW5hbnQsIGNsYXNzTmFtZSwgdmlldyB8fCAnJykuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBmaWVsZCBvZiByZXNwb25zZS5kYXRhLmNvbHVtbnMpIHtcclxuICAgICAgICBsZXQgY29sdW1uOiBhbnkgPSB7XHJcbiAgICAgICAgICBkYXRhRmllbGQ6IGZpZWxkLm5hbWUsXHJcbiAgICAgICAgICBjYXB0aW9uOiBmaWVsZC5jYXB0aW9uLFxyXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgYWxpZ25tZW50OiAnbGVmdCcsXHJcbiAgICAgICAgICBhbGxvd0hlYWRlckZpbHRlcmluZzogdHJ1ZSxcclxuICAgICAgICAgIGFsbG93RmlsdGVyaW5nOiB0cnVlLFxyXG4gICAgICAgICAgYWxsb3dTb3J0aW5nOiB0cnVlLFxyXG4gICAgICAgICAgdmlzaWJsZTogZmllbGQudmlzaWJsZSxcclxuICAgICAgICAgIGZpeGVkOiBmaWVsZC5maXhlZFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGZpZWxkLnZpZXdDb25maWcuY29sdW1uV2lkdGgpIHtcclxuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IGZpZWxkLnZpZXdDb25maWcuY29sdW1uV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWVsZC52aWV3Q29uZmlnLmFsaWduQ2VudGVyKSB7XHJcbiAgICAgICAgICBjb2x1bW4uYWxpZ25tZW50ID0gJ2NlbnRlcic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWVsZC52aWV3Q29uZmlnLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgY29sdW1uLmNlbGxUZW1wbGF0ZSA9ICdjZWxsQ29tcG9uZW50VGVtcGxhdGUnO1xyXG4gICAgICAgICAgY29sdW1uLmNvbmZpZyA9IGZpZWxkLmNvbmZpZztcclxuICAgICAgICAgIGNvbHVtbi52aWV3Q29uZmlnID0gZmllbGQudmlld0NvbmZpZztcclxuICAgICAgICAgIGNvbHVtbi5yZW5kZXJBc3luYyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSAnRklMRSc6XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29sdW1uLmFsbG93U29ydGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ05PUk1BTCc6XHJcbiAgICAgICAgICAgIGNvbHVtbi5kYXRhVHlwZSA9IHRoaXMudHlwZU1hcFtmaWVsZC5kYXRhVHlwZV0uZGF0YVR5cGU7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgICAgYWxsb3dTZWxlY3RBbGw6IGZhbHNlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNvbHVtbi5maWx0ZXJPcGVyYXRpb25zID0gdGhpcy50eXBlTWFwW2ZpZWxkLmRhdGFUeXBlXS5maWx0ZXJPcGVyYXRpb25zO1xyXG4gICAgICAgICAgICBjb2x1bW4uZm9ybWF0ID0gdGhpcy50eXBlTWFwW2ZpZWxkLmRhdGFUeXBlXS5mb3JtYXQ7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZmllbGQuZGF0YVR5cGUpIHtcclxuICAgICAgICAgICAgICBjYXNlICdCT09MRUFOJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmFsaWdubWVudCA9ICdjZW50ZXInO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLnRydWVUZXh0ID0gJ+aYryc7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uZmFsc2VUZXh0ID0gJ+WQpic7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdEQVRFJzpcclxuICAgICAgICAgICAgICBjYXNlICdEQVRFVElNRSc6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uaGVhZGVyRmlsdGVyLmRhdGFTb3VyY2UgPSAob3B0aW9uczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF0YVNvdXJjZS5ncm91cC5sZW5ndGggPSAzO1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UucG9zdFByb2Nlc3MgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKCh5ZWFyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHllYXIudGV4dCA9IHllYXIua2V5ICsgJ+W5tCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB5ZWFyLml0ZW1zLmZvckVhY2goKG1vbnRoOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGgudGV4dCA9IG1vbnRoLmtleSArICfmnIgnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aC5pdGVtcy5mb3JFYWNoKChkYXk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRheS50ZXh0ID0gZGF5LmtleSArICfml6UnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRheS5pdGVtcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEudW5zaGlmdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnKOepuueZvSknXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgY2FzZSAnRE9VQkxFJzpcclxuICAgICAgICAgICAgICBjYXNlICdJTlRFR0VSJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJGaWx0ZXIuZGF0YVNvdXJjZSA9IChvcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kYXRhU291cmNlLnBvc3RQcm9jZXNzID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEudW5zaGlmdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnKOepuueZvSknXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ19fJyxcclxuICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmFsaWdubWVudCA9ICdyaWdodCc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdTVFJJTkcnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0gKG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAvLyBUT0RPIOi2hei/hzIw5p2h5Lya5YiG6aG15re75Yqg5aSa5qyh77yM5LiN5YiG6aG15YmN56uv5oCn6IO95beu77yM6ICD6JmR5Zyo5p6E5bu6ZGF0YVNvdXJjZeaXtuWkhOeQhu+8jOS4juaXpeacn+exu+Wei+WtmOWcqOWGsueqgVxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25zLmRhdGFTb3VyY2UucG9zdFByb2Nlc3MgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICco56m655m9KSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfXycsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnX18nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50LnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnVVNFUic6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi52aWV3Q29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZDogZmllbGQubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0VXNlckNvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFGaWVsZCA9ICdfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVc2VyX2Rpc3BsYXlOYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gJ2hlYWRlckZpbHRlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVXNlcl91c2VybmFtZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCB0YXJnZXRdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uLm5hbWUsIHNlbGVjdGVkRmlsdGVyT3BlcmF0aW9uLCBmaWx0ZXJWYWx1ZV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbJ19fJyArIGZpZWxkLm5hbWUgKyAnXFx1MDAwMVVzZXJfdXNlcm5hbWUnLCBzZWxlY3RlZEZpbHRlck9wZXJhdGlvbiwgZmlsdGVyVmFsdWVdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnVU5JVCc6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbi52aWV3Q29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlld0NvbmZpZy5jb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZDogZmllbGQubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0VW5pdENvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uLmRhdGFGaWVsZCA9ICdfXycgKyBmaWVsZC5uYW1lICsgJ1xcdTAwMDFVbml0X2Rpc3BsYXlOYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gJ2hlYWRlckZpbHRlcicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQgPSAnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9uYW1lJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIHRhcmdldF0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW4ubmFtZSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnb3InLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsnX18nICsgZmllbGQubmFtZSArICdcXHUwMDAxVW5pdF9uYW1lJywgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb24sIGZpbHRlclZhbHVlXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ0NVU1RPTSc6XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckZpbHRlci5kYXRhU291cmNlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0Q29uc3RyYWludENvbHVtbkRhdGFTb3VyY2UodGVuYW50LCBjbGFzc05hbWUsIHZpZXcsIGZpZWxkLm5hbWUsIGZpZWxkLmNvbmZpZy5jb25zdHJhaW50Lm5hbWUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0ZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmxvb2t1cCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmU6IG5ldyBDdXN0b21TdG9yZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldENvbnN0cmFpbnRFbnRyaWVzKHRlbmFudCwgZmllbGQuY29uZmlnLmNvbnN0cmFpbnQubmFtZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2luYXRlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVFeHByOiAnc3RvcmUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUV4cHI6ICdkaXNwbGF5J1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuY29uZmlnLmNvbnN0cmFpbnQubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5jYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uID0gZnVuY3Rpb24gKHRoaXM6IENvbHVtbiwgZmlsdGVyVmFsdWU6IGFueSwgc2VsZWN0ZWRGaWx0ZXJPcGVyYXRpb246IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENhbGN1bGF0ZUZpbHRlckV4cHJlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0Q2FsY3VsYXRlRmlsdGVyRXhwcmVzc2lvbi5hcHBseSh0aGlzLCBbZmlsdGVyVmFsdWUsICc9JywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRDYWxjdWxhdGVGaWx0ZXJFeHByZXNzaW9uLmFwcGx5KHRoaXMsIFtmaWx0ZXJWYWx1ZSwgJ2NvbnRhaW5zJywgdGFyZ2V0XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICBjYXNlICdURVhUJzpcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdSRUxBVElPTic6XHJcbiAgICAgICAgICAgIGNvbHVtbi5hbGxvd0hlYWRlckZpbHRlcmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb2x1bW4uYWxsb3dTb3J0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZmllbGQucmVsYXRpb25UeXBlKSB7XHJcbiAgICAgICAgICAgICAgY2FzZSAnTUFOWV9UT19PTkUnOlxyXG4gICAgICAgICAgICAgIGNhc2UgJ09ORV9UT19PTkUnOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLmZpbHRlck9wZXJhdGlvbnMgPSBbJz0nXTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uYWxsb3dGaWx0ZXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbHVtbnMucHVzaChjb2x1bW4pO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdC5uZXh0KGNvbHVtbnMpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1ha2VEYXRhR3JpZERhdGFTb3VyY2UodGVuYW50OiBhbnksIGNsYXNzTmFtZTogYW55LCB2aWV3OiBhbnksIGV4dHJhRmlsdGVyOiBhbnksIGtleUV4cHI/OiBzdHJpbmcsIGRhdGFHcmlkTmFtZT86IHN0cmluZyk6IEN1c3RvbVN0b3JlIHtcclxuICAgIGlmICgha2V5RXhwcikge1xyXG4gICAgICBrZXlFeHByID0gJ29pZCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEN1c3RvbVN0b3JlKHtcclxuICAgICAga2V5OiBrZXlFeHByLFxyXG4gICAgICBieUtleTogKGtleTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCFrZXkpIHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGtleUV4cHIgPT09ICdvaWQnKSB7XHJcbiAgICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0T25lKHRlbmFudCwgY2xhc3NOYW1lLCBrZXkpLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRPbmVCeUZpbHRlcih0ZW5hbnQsIGNsYXNzTmFtZSwga2V5RXhwciwga2V5LCB2aWV3KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBsb2FkOiAobG9hZE9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChsb2FkT3B0aW9ucy5kYXRhRmllbGQpIHtcclxuICAgICAgICAgIC8vIOacqumHjeWGmWhlYWRlckZpbHRlcueahGRhdGFTb3VyY2Xml7bvvIxoZWFkZXJGaWx0ZXLkvJrosIPnlKhsb2Fk5pa55rOV5Yqg6L29562b6YCJ5qCR77yM6YeN5YaZ6K+l5pa55rOV5p+l6K+i6K+l6KGo5omA5pyJ5pWw5o2uXHJcbiAgICAgICAgICAvLyDor6XmlrnlvI/lrZjlnKjpo47pmanvvIzml6Dms5Xor4bliKtEZXZFeHRyZW1l5LiA5a6a5piv6YCa6L+HaGVhZGVyRmlsdGVy6L+H5ruk5omN5a2Y5ZyoZGF0YUZpZWxk5Y+C5pWwXHJcbiAgICAgICAgICAvLyBUT0RPIOmcgOimgeiAg+iZkeW3suWtmOWcqOeahOi/h+a7pOadoeS7tu+8jOS4juW4pue6puadn+eahOWtl+auteWtmOWcqOWGsueqge+8jOatpOWkhOWtmOWcqOi/h+a7pOadoeS7tu+8jOWKoOi9veWIl+aXtuW4pue6puadn+eahOWtl+auteaehOW7uueahGRhdGFTb3VyY2Xojrflj5bkuI3liLDov4fmu6TmnaHku7ZcclxuICAgICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRDb2x1bW5EYXRhU291cmNlKHRlbmFudCwgY2xhc3NOYW1lLCB2aWV3LCBsb2FkT3B0aW9ucy5kYXRhRmllbGQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9ICc/JztcclxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuc2tpcCB8fCBsb2FkT3B0aW9ucy50YWtlKSB7XHJcbiAgICAgICAgICBwYXJhbXMgKz0gJ29mZnNldD0nICsgbG9hZE9wdGlvbnMuc2tpcDtcclxuICAgICAgICAgIHBhcmFtcyArPSAnJmxpbWl0PScgKyBsb2FkT3B0aW9ucy50YWtlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwYXJhbXMgKz0gJ2xpbWl0PTAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuc29ydCkge1xyXG4gICAgICAgICAgbGV0IGZpcnN0ID0gdHJ1ZTtcclxuICAgICAgICAgIGZvciAoY29uc3QgdGhpc1NvcnQgb2YgbG9hZE9wdGlvbnMuc29ydCkge1xyXG4gICAgICAgICAgICBpZiAoZmlyc3QpIHtcclxuICAgICAgICAgICAgICBwYXJhbXMgKz0gJyZvcmRlckJ5PScgKyB0aGlzU29ydC5zZWxlY3RvcjtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBwYXJhbXMgKz0gJywnICsgdGhpc1NvcnQuc2VsZWN0b3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXNTb3J0LmRlc2MpIHtcclxuICAgICAgICAgICAgICBwYXJhbXMgKz0gJyBkZXNjJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZmlsdGVyO1xyXG4gICAgICAgIGlmIChsb2FkT3B0aW9ucy5maWx0ZXIpIHtcclxuICAgICAgICAgIGZpbHRlciA9IGxvYWRPcHRpb25zLmZpbHRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGV4dHJhRmlsdGVyKSB7XHJcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXh0cmFGaWx0ZXIpKSB7XHJcbiAgICAgICAgICAgIGV4dHJhRmlsdGVyID0gSlNPTi5wYXJzZShleHRyYUZpbHRlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgIGZpbHRlciA9IFtmaWx0ZXIsICdhbmQnLCBleHRyYUZpbHRlcl07XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWx0ZXIgPSBleHRyYUZpbHRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgcGFyYW1zICs9ICcmZmlsdGVyPScgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZmlsdGVyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmFtcyArPSAnJnZpZXc9JyArICh2aWV3IHx8ICcnKTtcclxuICAgICAgICBpZiAoZGF0YUdyaWROYW1lKSB7XHJcbiAgICAgICAgICBwYXJhbXMgKz0gJyZkYXRhR3JpZE5hbWU9JyArIGRhdGFHcmlkTmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5zZXJ2aWNlLmdldE1hbnkodGVuYW50LCBjbGFzc05hbWUsIHBhcmFtcykpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -25,6 +25,10 @@ export class DrawerComponent {
|
|
|
25
25
|
$event.stopPropagation();
|
|
26
26
|
}
|
|
27
27
|
autoHide($event) {
|
|
28
|
+
// 拖动内嵌表格滚动条时不触发自动关闭
|
|
29
|
+
if (!$event.DXCLICK_FIRED) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
28
32
|
if (this.config?.hideOnOutsideClick) {
|
|
29
33
|
this.hide();
|
|
30
34
|
}
|
|
@@ -42,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
42
46
|
type: HostListener,
|
|
43
47
|
args: ['window:click', ['$event']]
|
|
44
48
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RyYXdlci9kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZHJhd2VyL2RyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBYyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9uRSxNQUFNLE9BQU8sZUFBZTtJQVMxQjtRQVJBLFNBQUksR0FBaUMsU0FBUyxDQUFDO1FBQy9DLFdBQU0sR0FBVyxPQUFPLENBQUM7SUFRekIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFZO1FBQ2YsY0FBYztJQUNoQixDQUFDO0lBR0QsZUFBZSxDQUFDLE1BQVc7UUFDekIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxRQUFRLENBQUMsTUFBVztRQUNsQixvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDekIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7NkdBeENVLGVBQWU7aUdBQWYsZUFBZSxrSkNQNUIsd3NCQWFBOzRGRE5hLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsV0FBVzswRUErQnJCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWpDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWRyYXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcmF3ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb21wb25lbnQge1xuICBzaXplOiAnZGVmYXVsdCcgfCAnbGFyZ2UnIHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xuICBfd2lkdGg6IHN0cmluZyA9ICc0ODBweCc7XG4gIGhlYWRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgaGVhZGVyVGVtcGxhdGVDb250ZXh0OiBhbnk7XG4gIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueTtcbiAgY29uZmlnOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaXplID09PSAnZGVmYXVsdCcpIHtcbiAgICAgIHRoaXMuX3dpZHRoID0gJzQ4MHB4JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJykge1xuICAgICAgdGhpcy5fd2lkdGggPSAnOTYwcHgnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl93aWR0aCA9IHRoaXMuc2l6ZTtcbiAgICB9XG4gIH1cblxuICBoaWRlKCRldmVudD86IGFueSkge1xuICAgIC8vIOWcqHNlcnZpY2XkuK3ph43lhplcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgc3RvcFByb3BhZ2F0aW9uKCRldmVudDogYW55KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgYXV0b0hpZGUoJGV2ZW50OiBhbnkpIHtcbiAgICAvLyDmi5bliqjlhoXltYzooajmoLzmu5rliqjmnaHml7bkuI3op6blj5Hoh6rliqjlhbPpl61cbiAgICBpZiAoISRldmVudC5EWENMSUNLX0ZJUkVEKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8uaGlkZU9uT3V0c2lkZUNsaWNrKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcmF3ZXJcIiBbY2xhc3MuaGlkZS1vbi1vdXRzaWRlLWNsaWNrXT1cImNvbmZpZz8uaGlkZU9uT3V0c2lkZUNsaWNrXCIgW25nU3R5bGVdPVwie3dpZHRoOiBfd2lkdGh9XCI+XG4gIDxkaXYgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiIGNsYXNzPVwiZHJhd2VyLWhlYWRlclwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBoZWFkZXJUZW1wbGF0ZUNvbnRleHR9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkcmF3ZXItY29udGVudFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogY29udGVudFRlbXBsYXRlQ29udGV4dH1cIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRyYXdlci1jbG9zZVwiPlxuICAgIDxkeC1idXR0b24gaGVpZ2h0PVwiODBweFwiIGljb249XCJjb2FzdC1pY29uIGNvYXN0LWljb24tYXJyb3ctcmlnaHQtZmlsbGluZ1wiIChvbkNsaWNrKT1cImhpZGUoJGV2ZW50KVwiPjwvZHgtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -19,7 +19,7 @@ export class DrawerService {
|
|
|
19
19
|
drawerRef.instance.contentTemplate = contentTemplate;
|
|
20
20
|
drawerRef.instance.contentTemplateContext = contentTemplateContext;
|
|
21
21
|
drawerRef.instance.config = config || {
|
|
22
|
-
hideOnOutsideClick:
|
|
22
|
+
hideOnOutsideClick: true
|
|
23
23
|
};
|
|
24
24
|
return drawerRef.instance;
|
|
25
25
|
}
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
32
32
|
providedIn: 'root'
|
|
33
33
|
}]
|
|
34
34
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9kcmF3ZXIvZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQUtuRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixJQUFJLENBQUMsZ0JBQWtDLEVBQ2xDLE9BQXFDLFNBQVMsRUFDOUMsZUFBaUMsRUFDakMsc0JBQTJCLEVBQzNCLGNBQWlDLEVBQ2pDLHFCQUEyQixFQUMzQixNQUFZO1FBQ2YsYUFBYTtRQUNiLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25HLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsK0NBQStDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuRjtRQUNELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQVksRUFBRSxFQUFFO1lBQ3pDLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUM7WUFDakMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUE7UUFDRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDL0IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ25ELFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDakUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3JELFNBQVMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDbkUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJO1lBQ3BDLGtCQUFrQixFQUFFLElBQUk7U0FDekIsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDOzsyR0EzQlUsYUFBYTsrR0FBYixhQUFhLGNBRlosTUFBTTs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcmF3ZXJDb21wb25lbnR9IGZyb20gXCIuL2RyYXdlci5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyU2VydmljZSB7XG4gIG9wZW4odmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICBzaXplOiAnZGVmYXVsdCcgfCAnbGFyZ2UnIHwgc3RyaW5nID0gJ2RlZmF1bHQnLFxuICAgICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICBjb250ZW50VGVtcGxhdGVDb250ZXh0OiBhbnksXG4gICAgICAgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgIGhlYWRlclRlbXBsYXRlQ29udGV4dD86IGFueSxcbiAgICAgICBjb25maWc/OiBhbnkpIHtcbiAgICAvLyDoi6Xlt7LlrZjlnKjmir3lsYnvvIzlhYjlhbPpl61cbiAgICBjb25zdCBkcmF3ZXJzID0gdmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdSUy1EUkFXRVInKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRyYXdlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRyYXdlcnNbaV0ucXVlcnlTZWxlY3RvcignLmRyYXdlci1jbG9zZSAuY29hc3QtaWNvbi1hcnJvdy1yaWdodC1maWxsaW5nJykuY2xpY2soKTtcbiAgICB9XG4gICAgY29uc3QgZHJhd2VyUmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRHJhd2VyQ29tcG9uZW50KTtcbiAgICBkcmF3ZXJSZWYuaW5zdGFuY2UuaGlkZSA9ICgkZXZlbnQ/OiBhbnkpID0+IHtcbiAgICAgICRldmVudD8uZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZHJhd2VyUmVmLmhvc3RWaWV3LmRlc3Ryb3koKTtcbiAgICB9XG4gICAgZHJhd2VyUmVmLmluc3RhbmNlLnNpemUgPSBzaXplO1xuICAgIGRyYXdlclJlZi5pbnN0YW5jZS5oZWFkZXJUZW1wbGF0ZSA9IGhlYWRlclRlbXBsYXRlO1xuICAgIGRyYXdlclJlZi5pbnN0YW5jZS5oZWFkZXJUZW1wbGF0ZUNvbnRleHQgPSBoZWFkZXJUZW1wbGF0ZUNvbnRleHQ7XG4gICAgZHJhd2VyUmVmLmluc3RhbmNlLmNvbnRlbnRUZW1wbGF0ZSA9IGNvbnRlbnRUZW1wbGF0ZTtcbiAgICBkcmF3ZXJSZWYuaW5zdGFuY2UuY29udGVudFRlbXBsYXRlQ29udGV4dCA9IGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ7XG4gICAgZHJhd2VyUmVmLmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZyB8fCB7XG4gICAgICBoaWRlT25PdXRzaWRlQ2xpY2s6IHRydWVcbiAgICB9O1xuICAgIHJldHVybiBkcmF3ZXJSZWYuaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ComponentBase } from "./component-base";
|
|
2
2
|
export class CellComponentBase extends ComponentBase {
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1jb21wb25lbnQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL3R5cGVzL2NvbXBvbmVudC9jZWxsLWNvbXBvbmVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUcvQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtDQXlDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudEJhc2V9IGZyb20gXCIuL2NvbXBvbmVudC1iYXNlXCI7XHJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENlbGxDb21wb25lbnRCYXNlIGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbiAgLyoqXHJcbiAgICog5b2T5YmN5Y+w6LSm5a+55bqU5pWw5o2u57G756ef5oi3XHJcbiAgICovXHJcbiAgdGVuYW50OiBhbnk7XHJcbiAgLyoqXHJcbiAgICog5b2T5YmN5Y+w6LSm5a+55bqU5pWw5o2u57G75ZCNXHJcbiAgICovXHJcbiAgY2xhc3NOYW1lOiBhbnk7XHJcbiAgLyoqXHJcbiAgICog5b2T5YmN6KGM5a+55bqU5pWw5o2u5a6e5L6Lb2lkXHJcbiAgICovXHJcbiAgb2lkOiBhbnk7XHJcbiAgLyoqXHJcbiAgICog5bGe5oCnXHJcbiAgICovXHJcbiAgZmllbGQ6IGFueTtcclxuICAvKipcclxuICAgKiDlsZ7mgKfphY3nva5cclxuICAgKi9cclxuICBmaWVsZENvbmZpZzogYW55O1xyXG4gIC8qKlxyXG4gICAqIOW9k+WJjeihjOaVsOaNrlxyXG4gICAqL1xyXG4gIHJvd0RhdGE6IGFueTtcclxuICAvKipcclxuICAgKiDlsZ7mgKfnuqbmnZ/vvIzlr7nlupTooajlpLTkuIvmi4nov4fmu6TliJfooajvvIzlj6/og73kuLrnqbpcclxuICAgKi9cclxuICBjb2x1bW5Mb29rdXA6IGFueTtcclxuICAvKipcclxuICAgKiDlvZPliY3ljZXlhYPmoLznmoTlgLxcclxuICAgKi9cclxuICB2YWx1ZTogYW55O1xyXG4gIC8qKlxyXG4gICAqIOW9k+WJjeWNleWFg+agvOeahOaYvuekuuWAvFxyXG4gICAqL1xyXG4gIGRpc3BsYXlWYWx1ZTogYW55O1xyXG4gIC8qKlxyXG4gICAqIOWNleWFg+agvOWKoOi9veWujOaIkOS6i+S7tu+8jOiLpeWNleWFg+agvOWKoOi9veWQjuiHqumAguW6lOeahOWIl+WuveS4jeWkn++8jGVtaXQoKeS8muinpuWPkeS4iuWxgumHjeaWsOiwg+aVtOihqOagvOWIl+WuvVxyXG4gICAqL1xyXG4gIGxvYWRlZCQhOiBFdmVudEVtaXR0ZXI8dm9pZD47XHJcbn1cclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ConfigBase } from "./config-base";
|
|
2
2
|
export class CellConfigBase extends ConfigBase {
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1jb25maWctYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL3R5cGVzL2NvbmZpZy9jZWxsLWNvbmZpZy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0NBUzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWdCYXNlfSBmcm9tIFwiLi9jb25maWctYmFzZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENlbGxDb25maWdCYXNlIGV4dGVuZHMgQ29uZmlnQmFzZSB7XHJcbiAgLyoqXHJcbiAgICog5b2T5YmN6KeG5Zu+5a+55bqU5pWw5o2u57G756ef5oi3XHJcbiAgICovXHJcbiAgdGVuYW50OiBhbnk7XHJcbiAgLyoqXHJcbiAgICog5b2T5YmN6KeG5Zu+5a+55bqU5pWw5o2u57G75ZCNXHJcbiAgICovXHJcbiAgY2xhc3NOYW1lOiBhbnk7XHJcbn1cclxuIl19
|