ngx-rs-ant 1.8.2 → 1.8.4
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/box-container/box-container.module.d.ts +6 -7
- package/data-grid/cell-component-template/cell-component-template.component.d.ts +12 -0
- package/data-grid/data-grid.component.d.ts +0 -1
- package/data-grid/data-grid.module.d.ts +8 -10
- package/data-grid/data-grid.service.d.ts +9 -15
- package/esm2020/box-container/PluginManager.mjs +36 -16
- package/esm2020/box-container/box-container.module.mjs +1 -4
- package/esm2020/data-grid/cell-component-template/cell-component-template.component.mjs +46 -0
- package/esm2020/data-grid/data-grid.component.mjs +6 -23
- package/esm2020/data-grid/data-grid.factory.mjs +47 -55
- package/esm2020/data-grid/data-grid.module.mjs +6 -12
- package/esm2020/data-grid/data-grid.service.mjs +2 -35
- package/esm2020/dynamic-params/dynamic-params.component.mjs +2 -2
- package/esm2020/public-api.mjs +9 -2
- package/esm2020/types/component/cell-component-base.mjs +4 -0
- package/esm2020/types/component/component-base.mjs +3 -0
- package/esm2020/types/component/form-item-component-base.mjs +15 -0
- package/esm2020/types/component/modal-component-base.mjs +4 -0
- package/esm2020/types/component/page-item-component-base.mjs +11 -0
- package/esm2020/types/config/cell-config-base.mjs +4 -0
- package/esm2020/types/config/config-base.mjs +3 -0
- package/esm2020/types/config/form-item-config-base.mjs +12 -0
- package/esm2020/types/config/modal-config-base.mjs +4 -0
- package/esm2020/types/config/page-item-config-base.mjs +12 -0
- package/esm2020/util/utils.mjs +13 -23
- package/fesm2015/ngx-rs-ant.mjs +188 -324
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +194 -324
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +8 -1
- package/styles/coast-var.scss +3 -3
- package/types/component/cell-component-base.d.ts +32 -0
- package/types/component/component-base.d.ts +11 -0
- package/types/component/form-item-component-base.d.ts +19 -0
- package/types/component/modal-component-base.d.ts +28 -0
- package/types/component/page-item-component-base.d.ts +11 -0
- package/types/config/cell-config-base.d.ts +3 -0
- package/types/config/config-base.d.ts +11 -0
- package/types/config/form-item-config-base.d.ts +12 -0
- package/types/config/modal-config-base.d.ts +3 -0
- package/types/config/page-item-config-base.d.ts +8 -0
- package/box-container/box-item/item-config/form-item-config-error/form-item-config-error.component.d.ts +0 -5
- package/data-grid/file-cell-template/file-cell-template.component.d.ts +0 -19
- package/data-grid/unit-info-template/unit-info-template.component.d.ts +0 -16
- package/data-grid/user-info-template/user-info-template.component.d.ts +0 -16
- package/esm2020/box-container/box-item/item-config/form-item-config-error/form-item-config-error.component.mjs +0 -11
- package/esm2020/data-grid/file-cell-template/file-cell-template.component.mjs +0 -86
- package/esm2020/data-grid/unit-info-template/unit-info-template.component.mjs +0 -49
- package/esm2020/data-grid/user-info-template/user-info-template.component.mjs +0 -49
- package/esm2020/util/form-item-config-base.mjs +0 -7
- package/util/form-item-config-base.d.ts +0 -6
|
@@ -10,14 +10,13 @@ import * as i8 from "./box-item/item-config/item-config.component";
|
|
|
10
10
|
import * as i9 from "./box-item/item-style/item-style.component";
|
|
11
11
|
import * as i10 from "./box-item/item-style/style-blank/style-blank.component";
|
|
12
12
|
import * as i11 from "./box-item/item-blank/item-blank.component";
|
|
13
|
-
import * as i12 from "./box-item/item-
|
|
14
|
-
import * as i13 from "./
|
|
15
|
-
import * as i14 from "./
|
|
16
|
-
import * as i15 from "
|
|
17
|
-
import * as i16 from "
|
|
18
|
-
import * as i17 from "devextreme-angular";
|
|
13
|
+
import * as i12 from "./box-item/item-style/style/style.component";
|
|
14
|
+
import * as i13 from "./plugin-not-found/plugin-not-found.component";
|
|
15
|
+
import * as i14 from "./box-item/item-config/config-blank/config-blank.component";
|
|
16
|
+
import * as i15 from "@angular/common";
|
|
17
|
+
import * as i16 from "devextreme-angular";
|
|
19
18
|
export declare class BoxContainerModule {
|
|
20
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<BoxContainerModule, never>;
|
|
21
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<BoxContainerModule, [typeof i1.BoxContainerComponent, typeof i2.BoxItemHostDirective, typeof i3.BoxItemComponent, typeof i4.PluginActiveComponent, typeof i5.DividerComponent, typeof i6.DividerLineComponent, typeof i7.PluginHoverComponent, typeof i8.ItemConfigComponent, typeof i9.ItemStyleComponent, typeof i10.StyleBlankComponent, typeof i11.ItemBlankComponent, typeof i12.
|
|
20
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<BoxContainerModule, [typeof i1.BoxContainerComponent, typeof i2.BoxItemHostDirective, typeof i3.BoxItemComponent, typeof i4.PluginActiveComponent, typeof i5.DividerComponent, typeof i6.DividerLineComponent, typeof i7.PluginHoverComponent, typeof i8.ItemConfigComponent, typeof i9.ItemStyleComponent, typeof i10.StyleBlankComponent, typeof i11.ItemBlankComponent, typeof i12.StyleComponent, typeof i13.PluginNotFoundComponent, typeof i14.ConfigBlankComponent], [typeof i15.CommonModule, typeof i16.DevExtremeModule], [typeof i1.BoxContainerComponent, typeof i8.ItemConfigComponent, typeof i9.ItemStyleComponent]>;
|
|
22
21
|
static ɵinj: i0.ɵɵInjectorDeclaration<BoxContainerModule>;
|
|
23
22
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { DataGridService } from "../data-grid.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class CellComponentTemplateComponent {
|
|
5
|
+
private service;
|
|
6
|
+
cellInfo: any;
|
|
7
|
+
cellComponentRef: ViewContainerRef;
|
|
8
|
+
constructor(service: DataGridService);
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CellComponentTemplateComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CellComponentTemplateComponent, "rs-cell-component-template", never, { "cellInfo": "cellInfo"; }, {}, never, never, false, never>;
|
|
12
|
+
}
|
|
@@ -40,7 +40,6 @@ export declare class DataGridComponent implements OnInit {
|
|
|
40
40
|
constructor(factory: DataGridFactory, service: DataGridService, viewContainerRef: ViewContainerRef);
|
|
41
41
|
ngOnInit(): void;
|
|
42
42
|
reload(): void;
|
|
43
|
-
protected convertMultipleValueCellText(cellInfo: any): any;
|
|
44
43
|
protected getOriginalValue(cellInfo: any, key: any): any;
|
|
45
44
|
getSelectedRowKeys(): any[] & Promise<any[]>;
|
|
46
45
|
getSelectedRowsData(): any[] & Promise<any[]>;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./data-grid.component";
|
|
3
|
-
import * as i2 from "./
|
|
4
|
-
import * as i3 from "./
|
|
5
|
-
import * as i4 from "./
|
|
6
|
-
import * as i5 from "./
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "
|
|
9
|
-
import * as i8 from "
|
|
10
|
-
import * as i9 from "devextreme-angular";
|
|
11
|
-
import * as i10 from "../form/form.module";
|
|
3
|
+
import * as i2 from "./instance-link-template/instance-link-template.component";
|
|
4
|
+
import * as i3 from "./row-buttons-template.directive";
|
|
5
|
+
import * as i4 from "./custom-template.directive";
|
|
6
|
+
import * as i5 from "./cell-component-template/cell-component-template.component";
|
|
7
|
+
import * as i6 from "@angular/common";
|
|
8
|
+
import * as i7 from "devextreme-angular";
|
|
9
|
+
import * as i8 from "../form/form.module";
|
|
12
10
|
export declare class DataGridModule {
|
|
13
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridModule, never>;
|
|
14
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DataGridModule, [typeof i1.DataGridComponent, typeof i2.
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DataGridModule, [typeof i1.DataGridComponent, typeof i2.InstanceLinkTemplateComponent, typeof i3.RowButtonsTemplateDirective, typeof i4.CustomTemplateDirective, typeof i5.CellComponentTemplateComponent], [typeof i6.CommonModule, typeof i7.DevExtremeModule, typeof i8.FormModule], [typeof i1.DataGridComponent, typeof i3.RowButtonsTemplateDirective, typeof i4.CustomTemplateDirective]>;
|
|
15
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<DataGridModule>;
|
|
16
14
|
}
|
|
@@ -1,28 +1,22 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { HttpClient } from "@angular/common/http";
|
|
3
|
-
import { Observable } from "rxjs";
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class DataGridService {
|
|
6
5
|
private http;
|
|
7
6
|
cellTemplateLoaded$: EventEmitter<void>;
|
|
8
7
|
constructor(http: HttpClient);
|
|
9
|
-
getMetadataByView(tenant: any, className: any, view?: any): Observable<any>;
|
|
10
|
-
getOne(tenant: any, className: any, oid: any, template?: any): Observable<any>;
|
|
11
|
-
getOneByFilter(tenant: any, className: any, key: any, value: any, view?: any): Observable<any>;
|
|
12
|
-
getMany(tenant: any, className: any, params: any): Observable<{
|
|
8
|
+
getMetadataByView(tenant: any, className: any, view?: any): import("rxjs").Observable<any>;
|
|
9
|
+
getOne(tenant: any, className: any, oid: any, template?: any): import("rxjs").Observable<any>;
|
|
10
|
+
getOneByFilter(tenant: any, className: any, key: any, value: any, view?: any): import("rxjs").Observable<any>;
|
|
11
|
+
getMany(tenant: any, className: any, params: any): import("rxjs").Observable<{
|
|
13
12
|
data: any;
|
|
14
13
|
totalCount: any;
|
|
15
14
|
}>;
|
|
16
|
-
getConstraintEntries(name: string): Observable<any>;
|
|
17
|
-
getUserColumnDataSource(tenant: any, className: any, view: any, field: any): Observable<any>;
|
|
18
|
-
getUnitColumnDataSource(tenant: any, className: any, view: any, field: any): Observable<any>;
|
|
19
|
-
getConstraintColumnDataSource(tenant: any, className: any, view: any, field: any, constraintName: any): Observable<any>;
|
|
20
|
-
getColumnDataSource(tenant: any, className: any, view: any, field: any): Observable<any>;
|
|
21
|
-
downloadAttachment(id: any): Observable<Blob>;
|
|
22
|
-
userInfoCache: any;
|
|
23
|
-
getUserInfo(uid: any): Observable<any>;
|
|
24
|
-
unitInfoCache: any;
|
|
25
|
-
getUnitInfo(uid: any): Observable<any>;
|
|
15
|
+
getConstraintEntries(name: string): import("rxjs").Observable<any>;
|
|
16
|
+
getUserColumnDataSource(tenant: any, className: any, view: any, field: any): import("rxjs").Observable<any>;
|
|
17
|
+
getUnitColumnDataSource(tenant: any, className: any, view: any, field: any): import("rxjs").Observable<any>;
|
|
18
|
+
getConstraintColumnDataSource(tenant: any, className: any, view: any, field: any, constraintName: any): import("rxjs").Observable<any>;
|
|
19
|
+
getColumnDataSource(tenant: any, className: any, view: any, field: any): import("rxjs").Observable<any>;
|
|
26
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridService, never>;
|
|
27
21
|
static ɵprov: i0.ɵɵInjectableDeclaration<DataGridService>;
|
|
28
22
|
}
|
|
@@ -6,8 +6,11 @@ import { PluginNotFoundComponent } from "./plugin-not-found/plugin-not-found.com
|
|
|
6
6
|
import { ConfigBlankComponent } from "./box-item/item-config/config-blank/config-blank.component";
|
|
7
7
|
import { StyleComponent } from "./box-item/item-style/style/style.component";
|
|
8
8
|
import { StyleBlankComponent } from "./box-item/item-style/style-blank/style-blank.component";
|
|
9
|
-
import { FormItemConfigBase } from "../
|
|
10
|
-
import {
|
|
9
|
+
import { FormItemConfigBase } from "../types/config/form-item-config-base";
|
|
10
|
+
import { PageItemConfigBase } from "../types/config/page-item-config-base";
|
|
11
|
+
import { PageItemComponentBase } from "../types/component/page-item-component-base";
|
|
12
|
+
import { FormItemComponentBase } from "../types/component/form-item-component-base";
|
|
13
|
+
import { ModalComponentBase } from "../types/component/modal-component-base";
|
|
11
14
|
export class PluginManager {
|
|
12
15
|
static createComponent(boxItem, index, style, config) {
|
|
13
16
|
let plugin = PluginFactory.get(config.name);
|
|
@@ -24,16 +27,31 @@ export class PluginManager {
|
|
|
24
27
|
const componentRef = viewContainerRef.createComponent(plugin.component);
|
|
25
28
|
const instance = componentRef.instance;
|
|
26
29
|
Object.assign(instance, config.pluginConfig);
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
if (PluginFactory.hasType(plugin, 'page')) {
|
|
31
|
+
if (!(instance instanceof PageItemComponentBase)) {
|
|
32
|
+
console.warn('page item component need extending PageItemComponentBase, name: ' + config.name);
|
|
33
|
+
}
|
|
34
|
+
instance.editMode = boxItem.boxContainer.editMode;
|
|
35
|
+
instance.tabId = boxItem.boxContainer.tabId;
|
|
36
|
+
}
|
|
37
|
+
if (PluginFactory.hasType(plugin, 'form')) {
|
|
38
|
+
if (!(instance instanceof FormItemComponentBase)) {
|
|
39
|
+
console.warn('form item component need extending FormItemComponentBase, name: ' + config.name);
|
|
40
|
+
}
|
|
41
|
+
instance.editMode = boxItem.boxContainer.editMode;
|
|
29
42
|
instance.model = boxItem.boxContainer.model;
|
|
43
|
+
instance.opener = boxItem.boxContainer.opener;
|
|
44
|
+
if (boxItem.boxContainer.readonly) {
|
|
45
|
+
instance.readonly = true;
|
|
46
|
+
}
|
|
30
47
|
}
|
|
31
|
-
if (
|
|
32
|
-
instance
|
|
48
|
+
if (PluginFactory.hasType(plugin, 'modal')) {
|
|
49
|
+
if (!(instance instanceof ModalComponentBase)) {
|
|
50
|
+
console.warn('modal component need extending ModalComponentBase, name: ' + config.name);
|
|
51
|
+
}
|
|
52
|
+
instance.opener = boxItem.boxContainer.opener;
|
|
33
53
|
}
|
|
34
|
-
instance.opener = boxItem.boxContainer.opener;
|
|
35
54
|
instance.params = boxItem.boxContainer.params;
|
|
36
|
-
instance.tabId = boxItem.boxContainer.tabId;
|
|
37
55
|
instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;
|
|
38
56
|
if (boxItem.boxContainer.editMode) {
|
|
39
57
|
instance.onRemove = () => {
|
|
@@ -146,21 +164,22 @@ export class PluginManager {
|
|
|
146
164
|
return;
|
|
147
165
|
}
|
|
148
166
|
const plugin = PluginFactory.get(item.config?.name);
|
|
149
|
-
const pluginType = plugin?.type;
|
|
150
167
|
const pluginConfig = PluginFactory.getConfig(item.config?.name);
|
|
151
168
|
if (pluginConfig) {
|
|
152
169
|
const componentRef = itemConfigContainerRef.createComponent(pluginConfig.component);
|
|
153
170
|
const instance = componentRef.instance;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
171
|
+
if (PluginFactory.hasType(plugin, 'page')) {
|
|
172
|
+
if (!(instance instanceof PageItemConfigBase)) {
|
|
173
|
+
console.warn('page item component config need extending PageItemConfigBase, name: ' + plugin.name);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (PluginFactory.hasType(plugin, 'form')) {
|
|
157
177
|
if (!(instance instanceof FormItemConfigBase)) {
|
|
158
|
-
|
|
159
|
-
itemConfigContainerRef.createComponent(FormItemConfigErrorComponent);
|
|
160
|
-
return;
|
|
178
|
+
console.warn('form item component config need extending FormItemConfigBase, name: ' + plugin.name);
|
|
161
179
|
}
|
|
162
180
|
instance.fieldTree = fieldTree;
|
|
163
181
|
}
|
|
182
|
+
instance.config = item.config.pluginConfig;
|
|
164
183
|
instance.configChange.subscribe((reload) => {
|
|
165
184
|
if (reload) {
|
|
166
185
|
const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);
|
|
@@ -172,6 +191,7 @@ export class PluginManager {
|
|
|
172
191
|
});
|
|
173
192
|
}
|
|
174
193
|
});
|
|
194
|
+
instance.tabViewContainerRef = item.boxItem.boxContainer.tabViewContainerRef;
|
|
175
195
|
}
|
|
176
196
|
else {
|
|
177
197
|
itemConfigContainerRef.createComponent(ConfigBlankComponent);
|
|
@@ -191,4 +211,4 @@ export class PluginManager {
|
|
|
191
211
|
PluginManager.hoverItems = [];
|
|
192
212
|
PluginManager.activeItem = new Subject();
|
|
193
213
|
PluginManager.activeItems = {};
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2JveC1jb250YWluZXIvUGx1Z2luTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDNUYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGdGQUFnRixDQUFDO0FBRXhGLE1BQU0sT0FBTyxhQUFhO0lBS3hCLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBeUIsRUFBRSxLQUFhLEVBQUUsS0FBVSxFQUFFLE1BQVc7UUFDdEYsSUFBSSxNQUFNLEdBQVEsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELE1BQU0sR0FBRztnQkFDUCxTQUFTLEVBQUUsdUJBQXVCO2dCQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSTthQUNyQixDQUFBO1NBQ0Y7UUFDRCxNQUFNLGdCQUFnQixHQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLGdCQUFnQixDQUFDO1FBQzdFLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEUsTUFBTSxRQUFRLEdBQVEsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM1QyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUNsRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQzFCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7U0FDN0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ2pDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQzFCO1FBQ0QsUUFBUSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUM5QyxRQUFRLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDNUMsUUFBUSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7UUFDeEUsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxRQUFRLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtnQkFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO2dCQUMvRixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDO1lBQ0YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDekQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDaEUsS0FBSyxJQUFJLEtBQUssSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQzlELEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQzthQUNwQztZQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7Z0JBQzlELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDdkIsTUFBTTthQUNQLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsZ0JBQWtDLEVBQUUsWUFBK0IsRUFBRSxPQUFlO1FBQzlHLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDakYsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDMUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUMvRSxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzlELFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2pGLEtBQUssSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDckMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDNUM7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNqRixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsT0FBeUIsRUFBRSxLQUFhLEVBQUUsWUFBK0IsRUFDekUsS0FBVSxFQUFFLE1BQVcsRUFBRSxTQUFrQjtRQUN0RSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGdCQUFnQixHQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLGdCQUFnQixDQUFDO1FBQzdFLE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkYsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ2xELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2xELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDaEYsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUNoRSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDNUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLEtBQUssSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDM0MsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDOUM7WUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25ELE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNuQixFQUFFO2dCQUNGLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBQzthQUNuRSxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFO1lBQ3RFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO2dCQUMxQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDaEI7aUJBQU07Z0JBQ0wsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUNwQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7b0JBQ3JDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7aUJBQ3REO3FCQUFNO29CQUNMLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTt3QkFDM0csT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO3FCQUN6RTt5QkFBTTt3QkFDTCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTs0QkFDbkMsSUFBSSxFQUFFLE1BQU07NEJBQ1osS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUs7NEJBQ3ZDLE1BQU0sRUFBRTtnQ0FDTixTQUFTO2dDQUNULElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7NkJBQy9EO3lCQUNGLENBQUMsQ0FBQztxQkFDSjtpQkFDRjtnQkFDRCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUM7UUFDRixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxzQkFBd0MsRUFBRSxJQUFTLEVBQUUsU0FBZTtRQUN6RixzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1Qsc0JBQXNCLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDN0QsT0FBTztTQUNSO1FBQ0QsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDaEMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEYsTUFBTSxRQUFRLEdBQVEsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUM1QyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQzNDLFFBQVEsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztZQUM3RSxJQUFJLFVBQVUsS0FBSyxNQUFNLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSxrQkFBa0IsQ0FBQyxFQUFFO29CQUM3QyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDL0Isc0JBQXNCLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUM7b0JBQ3JFLE9BQU87aUJBQ1I7Z0JBQ0QsUUFBUSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7YUFDaEM7WUFDRCxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWdCLEVBQUUsRUFBRTtnQkFDbkQsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RHLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUM3QztxQkFBTTtvQkFDTCxVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDdEUsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLHFCQUF1QyxFQUFFLElBQVM7UUFDdEUscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNELE9BQU87U0FDUjtRQUNELE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FBUSxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQzVDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDOztBQXBMTSx3QkFBVSxHQUFVLEVBQUUsQ0FBQztBQUN2Qix3QkFBVSxHQUFHLElBQUksT0FBTyxFQUE2QixDQUFDO0FBQ3RELHlCQUFXLEdBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQbHVnaW5GYWN0b3J5fSBmcm9tICdjb2FzdC1wbHVnaW4tcmVnaXN0ZXInO1xyXG5pbXBvcnQge1BsdWdpbkFjdGl2ZUNvbXBvbmVudH0gZnJvbSAnLi9wbHVnaW4tYWN0aXZlL3BsdWdpbi1hY3RpdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtQbHVnaW5Ib3ZlckNvbXBvbmVudH0gZnJvbSAnLi9wbHVnaW4taG92ZXIvcGx1Z2luLWhvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Qm94SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1BsdWdpbk5vdEZvdW5kQ29tcG9uZW50fSBmcm9tIFwiLi9wbHVnaW4tbm90LWZvdW5kL3BsdWdpbi1ub3QtZm91bmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29uZmlnQmxhbmtDb21wb25lbnR9IGZyb20gXCIuL2JveC1pdGVtL2l0ZW0tY29uZmlnL2NvbmZpZy1ibGFuay9jb25maWctYmxhbmsuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3R5bGVDb21wb25lbnR9IGZyb20gXCIuL2JveC1pdGVtL2l0ZW0tc3R5bGUvc3R5bGUvc3R5bGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3R5bGVCbGFua0NvbXBvbmVudH0gZnJvbSBcIi4vYm94LWl0ZW0vaXRlbS1zdHlsZS9zdHlsZS1ibGFuay9zdHlsZS1ibGFuay5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGb3JtSXRlbUNvbmZpZ0Jhc2V9IGZyb20gXCIuLi91dGlsL2Zvcm0taXRlbS1jb25maWctYmFzZVwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1JdGVtQ29uZmlnRXJyb3JDb21wb25lbnRcclxufSBmcm9tIFwiLi9ib3gtaXRlbS9pdGVtLWNvbmZpZy9mb3JtLWl0ZW0tY29uZmlnLWVycm9yL2Zvcm0taXRlbS1jb25maWctZXJyb3IuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGx1Z2luTWFuYWdlciB7XHJcbiAgc3RhdGljIGhvdmVySXRlbXM6IGFueVtdID0gW107XHJcbiAgc3RhdGljIGFjdGl2ZUl0ZW0gPSBuZXcgU3ViamVjdDx7IGlkOiBzeW1ib2wsIGl0ZW06IGFueSB9PigpO1xyXG4gIHN0YXRpYyBhY3RpdmVJdGVtczogeyBbaWQ6IHN5bWJvbF06IGFueSB9ID0ge307XHJcblxyXG4gIHN0YXRpYyBjcmVhdGVDb21wb25lbnQoYm94SXRlbTogQm94SXRlbUNvbXBvbmVudCwgaW5kZXg6IG51bWJlciwgc3R5bGU6IGFueSwgY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgbGV0IHBsdWdpbjogYW55ID0gUGx1Z2luRmFjdG9yeS5nZXQoY29uZmlnLm5hbWUpO1xyXG4gICAgaWYgKCFwbHVnaW4pIHtcclxuICAgICAgY29uc29sZS5lcnJvcigndW5kZWZpbmVkIHBsdWdpbjogJyArIGNvbmZpZy5uYW1lKTtcclxuICAgICAgcGx1Z2luID0ge1xyXG4gICAgICAgIGNvbXBvbmVudDogUGx1Z2luTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICAgICAgbmFtZTogY29uZmlnLm5hbWUsXHJcbiAgICAgICAgY2FwdGlvbjogY29uZmlnLm5hbWVcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZjogYW55ID0gYm94SXRlbS5pdGVtSG9zdHMuZ2V0KGluZGV4KT8udmlld0NvbnRhaW5lclJlZjtcclxuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHBsdWdpbi5jb21wb25lbnQpO1xyXG4gICAgY29uc3QgaW5zdGFuY2U6IGFueSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgIE9iamVjdC5hc3NpZ24oaW5zdGFuY2UsIGNvbmZpZy5wbHVnaW5Db25maWcpO1xyXG4gICAgaW5zdGFuY2UuZWRpdE1vZGUgPSBib3hJdGVtLmJveENvbnRhaW5lci5lZGl0TW9kZTtcclxuICAgIGlmIChwbHVnaW4udHlwZSA9PT0gJ2Zvcm0nKSB7XHJcbiAgICAgIGluc3RhbmNlLm1vZGVsID0gYm94SXRlbS5ib3hDb250YWluZXIubW9kZWw7XHJcbiAgICB9XHJcbiAgICBpZiAoYm94SXRlbS5ib3hDb250YWluZXIucmVhZG9ubHkpIHtcclxuICAgICAgaW5zdGFuY2UucmVhZG9ubHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaW5zdGFuY2Uub3BlbmVyID0gYm94SXRlbS5ib3hDb250YWluZXIub3BlbmVyO1xyXG4gICAgaW5zdGFuY2UucGFyYW1zID0gYm94SXRlbS5ib3hDb250YWluZXIucGFyYW1zO1xyXG4gICAgaW5zdGFuY2UudGFiSWQgPSBib3hJdGVtLmJveENvbnRhaW5lci50YWJJZDtcclxuICAgIGluc3RhbmNlLnRhYlZpZXdDb250YWluZXJSZWYgPSBib3hJdGVtLmJveENvbnRhaW5lci50YWJWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgaWYgKGJveEl0ZW0uYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XHJcbiAgICAgIGluc3RhbmNlLm9uUmVtb3ZlID0gKCkgPT4ge1xyXG4gICAgICAgIGJveEl0ZW0uY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IGJveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlfSk7XHJcbiAgICAgICAgYm94SXRlbS5sb2FkKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLm1hcmdpbiA9ICc4cHgnO1xyXG4gICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2FsbCc7XHJcbiAgICAgIGZvciAobGV0IGNoaWxkIG9mIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY2hpbGQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNyZWF0ZUhvdmVyQ29tcG9uZW50KHZpZXdDb250YWluZXJSZWYsIGNvbXBvbmVudFJlZiwgcGx1Z2luLmNhcHRpb24pO1xyXG4gICAgICB0aGlzLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudChib3hJdGVtLCBpbmRleCwgY29tcG9uZW50UmVmLCBzdHlsZSwge1xyXG4gICAgICAgIGNhcHRpb246IHBsdWdpbi5jYXB0aW9uLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICB9LCB0cnVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlSG92ZXJDb21wb25lbnQodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiwgY2FwdGlvbjogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IGhvdmVyQ29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoUGx1Z2luSG92ZXJDb21wb25lbnQpO1xyXG4gICAgaG92ZXJDb21wb25lbnRSZWYuaW5zdGFuY2UubmFtZSA9IGNhcHRpb247XHJcbiAgICBob3ZlckNvbXBvbmVudFJlZi5pbnN0YW5jZS50YXJnZXRFbGVtZW50ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBob3ZlckVsZW1lbnQgPSBob3ZlckNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoaG92ZXJFbGVtZW50KTtcclxuICAgIHRoaXMuaG92ZXJJdGVtcy5wdXNoKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgZm9yIChsZXQgaG92ZXJJdGVtIG9mIHRoaXMuaG92ZXJJdGVtcykge1xyXG4gICAgICAgIGhvdmVySXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdwbHVnaW4taG92ZXInKTtcclxuICAgICAgfVxyXG4gICAgICAkZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3BsdWdpbi1ob3ZlcicpO1xyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCRldmVudDogYW55KSA9PiB7XHJcbiAgICAgICRldmVudC50YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgncGx1Z2luLWhvdmVyJyk7XHJcbiAgICAgICRldmVudC50YXJnZXQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BsdWdpbi1ob3ZlcicpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaG92ZXJDb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlQWN0aXZlQ29tcG9uZW50KGJveEl0ZW06IEJveEl0ZW1Db21wb25lbnQsIGluZGV4OiBudW1iZXIsIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogYW55LCBjb25maWc6IGFueSwgc2hvd0Nsb3NlOiBib29sZWFuKTogYW55IHtcclxuICAgIGNvbnN0IGlkID0gYm94SXRlbS5ib3hDb250YWluZXIuaWQ7XHJcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBhbnkgPSBib3hJdGVtLml0ZW1Ib3N0cy5nZXQoaW5kZXgpPy52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgY29uc3QgYWN0aXZlQ29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoUGx1Z2luQWN0aXZlQ29tcG9uZW50KTtcclxuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gY29uZmlnLmNhcHRpb247XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvd0Nsb3NlID0gc2hvd0Nsb3NlO1xyXG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnRhcmdldEVsZW1lbnQgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBhY3RpdmVDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGFjdGl2ZUVsZW1lbnQpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlSXRlbXNbaWRdKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbXNbaWRdLnB1c2goY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVJdGVtc1tpZF0gPSBbY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnRdO1xyXG4gICAgfVxyXG4gICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBmb3IgKGxldCBhY3RpdmVJdGVtIG9mIHRoaXMuYWN0aXZlSXRlbXNbaWRdKSB7XHJcbiAgICAgICAgYWN0aXZlSXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdwbHVnaW4tYWN0aXZlJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbXNbaWRdLmluZGV4T2YoJGV2ZW50LnRhcmdldCkgPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbS5uZXh0KHtcclxuICAgICAgICBpZCxcclxuICAgICAgICBpdGVtOiB7Ym94SXRlbSwgaW5kZXgsIHN0eWxlLCBjb25maWc6IGNvbmZpZy5jb25maWcsIGNvbXBvbmVudFJlZn1cclxuICAgICAgfSk7XHJcbiAgICAgICRldmVudC50YXJnZXQuY2xhc3NMaXN0LmFkZCgncGx1Z2luLWFjdGl2ZScpO1xyXG4gICAgfSk7XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc3BsaXRJdGVtID0gKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykgPT4ge1xyXG4gICAgICBpZiAoYm94SXRlbS5jb25maWcuZGlyZWN0aW9uID09PSBkaXJlY3Rpb24pIHtcclxuICAgICAgICBib3hJdGVtLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCArIDEsIDAsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcclxuICAgICAgICBib3hJdGVtLmxvYWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoYm94SXRlbS5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgIGJveEl0ZW0uY29uZmlnLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgICAgICAgIGJveEl0ZW0uY29uZmlnLmxpc3QucHVzaCh7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChib3hJdGVtLmNvbmZpZy5saXN0W2luZGV4XS50eXBlID09PSAnaXRlbScgJiYgYm94SXRlbS5jb25maWcubGlzdFtpbmRleF0uY29uZmlnLmRpcmVjdGlvbiA9PT0gZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGJveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLmNvbmZpZy5saXN0LnB1c2goe3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYm94SXRlbS5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEsIHtcclxuICAgICAgICAgICAgICB0eXBlOiAnaXRlbScsXHJcbiAgICAgICAgICAgICAgc3R5bGU6IGJveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlLFxyXG4gICAgICAgICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgbGlzdDogW2JveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fV1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBib3hJdGVtLmxvYWQoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtUmVtb3ZlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbS5uZXh0KHtcclxuICAgICAgICBpZCxcclxuICAgICAgICBpdGVtOiAnJ1xyXG4gICAgICB9KTtcclxuICAgICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub25SZW1vdmUoKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFjdGl2ZUNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXNldEl0ZW1Db25maWcoaXRlbUNvbmZpZ0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgaXRlbTogYW55LCBmaWVsZFRyZWU/OiBhbnkpIHtcclxuICAgIGl0ZW1Db25maWdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICBpdGVtQ29uZmlnQ29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChDb25maWdCbGFua0NvbXBvbmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHBsdWdpbiA9IFBsdWdpbkZhY3RvcnkuZ2V0KGl0ZW0uY29uZmlnPy5uYW1lKTtcclxuICAgIGNvbnN0IHBsdWdpblR5cGUgPSBwbHVnaW4/LnR5cGU7XHJcbiAgICBjb25zdCBwbHVnaW5Db25maWcgPSBQbHVnaW5GYWN0b3J5LmdldENvbmZpZyhpdGVtLmNvbmZpZz8ubmFtZSk7XHJcbiAgICBpZiAocGx1Z2luQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGl0ZW1Db25maWdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHBsdWdpbkNvbmZpZy5jb21wb25lbnQpO1xyXG4gICAgICBjb25zdCBpbnN0YW5jZTogYW55ID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgICBpbnN0YW5jZS5jb25maWcgPSBpdGVtLmNvbmZpZy5wbHVnaW5Db25maWc7XHJcbiAgICAgIGluc3RhbmNlLnRhYlZpZXdDb250YWluZXJSZWYgPSBpdGVtLmJveEl0ZW0uYm94Q29udGFpbmVyLnRhYlZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgIGlmIChwbHVnaW5UeXBlID09PSAnZm9ybScpIHtcclxuICAgICAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIEZvcm1JdGVtQ29uZmlnQmFzZSkpIHtcclxuICAgICAgICAgIGl0ZW1Db25maWdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgICAgICAgIGl0ZW1Db25maWdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEZvcm1JdGVtQ29uZmlnRXJyb3JDb21wb25lbnQpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnN0YW5jZS5maWVsZFRyZWUgPSBmaWVsZFRyZWU7XHJcbiAgICAgIH1cclxuICAgICAgaW5zdGFuY2UuY29uZmlnQ2hhbmdlLnN1YnNjcmliZSgocmVsb2FkPzogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZWxvYWQpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IFBsdWdpbk1hbmFnZXIuY3JlYXRlQ29tcG9uZW50KGl0ZW0uYm94SXRlbSwgaXRlbS5pbmRleCwgaXRlbS5zdHlsZSwgaXRlbS5jb25maWcpO1xyXG4gICAgICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbS5jb21wb25lbnRSZWYuaW5zdGFuY2UsIGl0ZW0uY29uZmlnLnBsdWdpbkNvbmZpZyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbUNvbmZpZ0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoQ29uZmlnQmxhbmtDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJlc2V0SXRlbVN0eWxlKGl0ZW1TdHlsZUNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgaXRlbTogYW55KSB7XHJcbiAgICBpdGVtU3R5bGVDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICBpdGVtU3R5bGVDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFN0eWxlQmxhbmtDb21wb25lbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSBpdGVtU3R5bGVDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFN0eWxlQ29tcG9uZW50KTtcclxuICAgIGNvbnN0IGluc3RhbmNlOiBhbnkgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICBpbnN0YW5jZS5zdHlsZSA9IGl0ZW0uc3R5bGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2JveC1jb250YWluZXIvUGx1Z2luTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDNUYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsTUFBTSxPQUFPLGFBQWE7SUFLeEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUF5QixFQUFFLEtBQWEsRUFBRSxLQUFVLEVBQUUsTUFBVztRQUN0RixJQUFJLE1BQU0sR0FBUSxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMs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SSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDN0M7cUJBQU07b0JBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3RFLENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7U0FDOUU7YUFBTTtZQUNMLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzlEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMscUJBQXVDLEVBQUUsSUFBUztRQUN0RSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QscUJBQXFCLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDM0QsT0FBTztTQUNSO1FBQ0QsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFRLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDNUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7O0FBck1NLHdCQUFVLEdBQVUsRUFBRSxDQUFDO0FBQ3ZCLHdCQUFVLEdBQUcsSUFBSSxPQUFPLEVBQTZCLENBQUM7QUFDdEQseUJBQVcsR0FBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnRSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1BsdWdpbkZhY3Rvcnl9IGZyb20gJ2NvYXN0LXBsdWdpbi1yZWdpc3Rlcic7XHJcbmltcG9ydCB7UGx1Z2luQWN0aXZlQ29tcG9uZW50fSBmcm9tICcuL3BsdWdpbi1hY3RpdmUvcGx1Z2luLWFjdGl2ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1BsdWdpbkhvdmVyQ29tcG9uZW50fSBmcm9tICcuL3BsdWdpbi1ob3Zlci9wbHVnaW4taG92ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtCb3hJdGVtQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGx1Z2luTm90Rm91bmRDb21wb25lbnR9IGZyb20gXCIuL3BsdWdpbi1ub3QtZm91bmQvcGx1Z2luLW5vdC1mb3VuZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDb25maWdCbGFua0NvbXBvbmVudH0gZnJvbSBcIi4vYm94LWl0ZW0vaXRlbS1jb25maWcvY29uZmlnLWJsYW5rL2NvbmZpZy1ibGFuay5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdHlsZUNvbXBvbmVudH0gZnJvbSBcIi4vYm94LWl0ZW0vaXRlbS1zdHlsZS9zdHlsZS9zdHlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdHlsZUJsYW5rQ29tcG9uZW50fSBmcm9tIFwiLi9ib3gtaXRlbS9pdGVtLXN0eWxlL3N0eWxlLWJsYW5rL3N0eWxlLWJsYW5rLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1JdGVtQ29uZmlnQmFzZX0gZnJvbSBcIi4uL3R5cGVzL2NvbmZpZy9mb3JtLWl0ZW0tY29uZmlnLWJhc2VcIjtcclxuaW1wb3J0IHtQYWdlSXRlbUNvbmZpZ0Jhc2V9IGZyb20gXCIuLi90eXBlcy9jb25maWcvcGFnZS1pdGVtLWNvbmZpZy1iYXNlXCI7XHJcbmltcG9ydCB7UGFnZUl0ZW1Db21wb25lbnRCYXNlfSBmcm9tIFwiLi4vdHlwZXMvY29tcG9uZW50L3BhZ2UtaXRlbS1jb21wb25lbnQtYmFzZVwiO1xyXG5pbXBvcnQge0Zvcm1JdGVtQ29tcG9uZW50QmFzZX0gZnJvbSBcIi4uL3R5cGVzL2NvbXBvbmVudC9mb3JtLWl0ZW0tY29tcG9uZW50LWJhc2VcIjtcclxuaW1wb3J0IHtNb2RhbENvbXBvbmVudEJhc2V9IGZyb20gXCIuLi90eXBlcy9jb21wb25lbnQvbW9kYWwtY29tcG9uZW50LWJhc2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQbHVnaW5NYW5hZ2VyIHtcclxuICBzdGF0aWMgaG92ZXJJdGVtczogYW55W10gPSBbXTtcclxuICBzdGF0aWMgYWN0aXZlSXRlbSA9IG5ldyBTdWJqZWN0PHsgaWQ6IHN5bWJvbCwgaXRlbTogYW55IH0+KCk7XHJcbiAgc3RhdGljIGFjdGl2ZUl0ZW1zOiB7IFtpZDogc3ltYm9sXTogYW55IH0gPSB7fTtcclxuXHJcbiAgc3RhdGljIGNyZWF0ZUNvbXBvbmVudChib3hJdGVtOiBCb3hJdGVtQ29tcG9uZW50LCBpbmRleDogbnVtYmVyLCBzdHlsZTogYW55LCBjb25maWc6IGFueSk6IGFueSB7XHJcbiAgICBsZXQgcGx1Z2luOiBhbnkgPSBQbHVnaW5GYWN0b3J5LmdldChjb25maWcubmFtZSk7XHJcbiAgICBpZiAoIXBsdWdpbikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCd1bmRlZmluZWQgcGx1Z2luOiAnICsgY29uZmlnLm5hbWUpO1xyXG4gICAgICBwbHVnaW4gPSB7XHJcbiAgICAgICAgY29tcG9uZW50OiBQbHVnaW5Ob3RGb3VuZENvbXBvbmVudCxcclxuICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcclxuICAgICAgICBjYXB0aW9uOiBjb25maWcubmFtZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBhbnkgPSBib3hJdGVtLml0ZW1Ib3N0cy5nZXQoaW5kZXgpPy52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQocGx1Z2luLmNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBpbnN0YW5jZTogYW55ID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZSwgY29uZmlnLnBsdWdpbkNvbmZpZyk7XHJcbiAgICBpZiAoUGx1Z2luRmFjdG9yeS5oYXNUeXBlKHBsdWdpbiwgJ3BhZ2UnKSkge1xyXG4gICAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIFBhZ2VJdGVtQ29tcG9uZW50QmFzZSkpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ3BhZ2UgaXRlbSBjb21wb25lbnQgbmVlZCBleHRlbmRpbmcgUGFnZUl0ZW1Db21wb25lbnRCYXNlLCBuYW1lOiAnICsgY29uZmlnLm5hbWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGluc3RhbmNlLmVkaXRNb2RlID0gYm94SXRlbS5ib3hDb250YWluZXIuZWRpdE1vZGU7XHJcbiAgICAgIGluc3RhbmNlLnRhYklkID0gYm94SXRlbS5ib3hDb250YWluZXIudGFiSWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoUGx1Z2luRmFjdG9yeS5oYXNUeXBlKHBsdWdpbiwgJ2Zvcm0nKSkge1xyXG4gICAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIEZvcm1JdGVtQ29tcG9uZW50QmFzZSkpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ2Zvcm0gaXRlbSBjb21wb25lbnQgbmVlZCBleHRlbmRpbmcgRm9ybUl0ZW1Db21wb25lbnRCYXNlLCBuYW1lOiAnICsgY29uZmlnLm5hbWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGluc3RhbmNlLmVkaXRNb2RlID0gYm94SXRlbS5ib3hDb250YWluZXIuZWRpdE1vZGU7XHJcbiAgICAgIGluc3RhbmNlLm1vZGVsID0gYm94SXRlbS5ib3hDb250YWluZXIubW9kZWw7XHJcbiAgICAgIGluc3RhbmNlLm9wZW5lciA9IGJveEl0ZW0uYm94Q29udGFpbmVyLm9wZW5lcjtcclxuICAgICAgaWYgKGJveEl0ZW0uYm94Q29udGFpbmVyLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgaW5zdGFuY2UucmVhZG9ubHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoUGx1Z2luRmFjdG9yeS5oYXNUeXBlKHBsdWdpbiwgJ21vZGFsJykpIHtcclxuICAgICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBNb2RhbENvbXBvbmVudEJhc2UpKSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKCdtb2RhbCBjb21wb25lbnQgbmVlZCBleHRlbmRpbmcgTW9kYWxDb21wb25lbnRCYXNlLCBuYW1lOiAnICsgY29uZmlnLm5hbWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGluc3RhbmNlLm9wZW5lciA9IGJveEl0ZW0uYm94Q29udGFpbmVyLm9wZW5lcjtcclxuICAgIH1cclxuICAgIGluc3RhbmNlLnBhcmFtcyA9IGJveEl0ZW0uYm94Q29udGFpbmVyLnBhcmFtcztcclxuICAgIGluc3RhbmNlLnRhYlZpZXdDb250YWluZXJSZWYgPSBib3hJdGVtLmJveENvbnRhaW5lci50YWJWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgaWYgKGJveEl0ZW0uYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XHJcbiAgICAgIGluc3RhbmNlLm9uUmVtb3ZlID0gKCkgPT4ge1xyXG4gICAgICAgIGJveEl0ZW0uY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IGJveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlfSk7XHJcbiAgICAgICAgYm94SXRlbS5sb2FkKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLm1hcmdpbiA9ICc4cHgnO1xyXG4gICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2FsbCc7XHJcbiAgICAgIGZvciAobGV0IGNoaWxkIG9mIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY2hpbGQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNyZWF0ZUhvdmVyQ29tcG9uZW50KHZpZXdDb250YWluZXJSZWYsIGNvbXBvbmVudFJlZiwgcGx1Z2luLmNhcHRpb24pO1xyXG4gICAgICB0aGlzLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudChib3hJdGVtLCBpbmRleCwgY29tcG9uZW50UmVmLCBzdHlsZSwge1xyXG4gICAgICAgIGNhcHRpb246IHBsdWdpbi5jYXB0aW9uLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICB9LCB0cnVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlSG92ZXJDb21wb25lbnQodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiwgY2FwdGlvbjogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IGhvdmVyQ29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoUGx1Z2luSG92ZXJDb21wb25lbnQpO1xyXG4gICAgaG92ZXJDb21wb25lbnRSZWYuaW5zdGFuY2UubmFtZSA9IGNhcHRpb247XHJcbiAgICBob3ZlckNvbXBvbmVudFJlZi5pbnN0YW5jZS50YXJnZXRFbGVtZW50ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBob3ZlckVsZW1lbnQgPSBob3ZlckNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoaG92ZXJFbGVtZW50KTtcclxuICAgIHRoaXMuaG92ZXJJdGVtcy5wdXNoKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgZm9yIChsZXQgaG92ZXJJdGVtIG9mIHRoaXMuaG92ZXJJdGVtcykge1xyXG4gICAgICAgIGhvdmVySXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdwbHVnaW4taG92ZXInKTtcclxuICAgICAgfVxyXG4gICAgICAkZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3BsdWdpbi1ob3ZlcicpO1xyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCRldmVudDogYW55KSA9PiB7XHJcbiAgICAgICRldmVudC50YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgncGx1Z2luLWhvdmVyJyk7XHJcbiAgICAgICRldmVudC50YXJnZXQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BsdWdpbi1ob3ZlcicpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaG92ZXJDb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlQWN0aXZlQ29tcG9uZW50KGJveEl0ZW06IEJveEl0ZW1Db21wb25lbnQsIGluZGV4OiBudW1iZXIsIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogYW55LCBjb25maWc6IGFueSwgc2hvd0Nsb3NlOiBib29sZWFuKTogYW55IHtcclxuICAgIGNvbnN0IGlkID0gYm94SXRlbS5ib3hDb250YWluZXIuaWQ7XHJcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBhbnkgPSBib3hJdGVtLml0ZW1Ib3N0cy5nZXQoaW5kZXgpPy52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgY29uc3QgYWN0aXZlQ29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoUGx1Z2luQWN0aXZlQ29tcG9uZW50KTtcclxuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gY29uZmlnLmNhcHRpb247XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvd0Nsb3NlID0gc2hvd0Nsb3NlO1xyXG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnRhcmdldEVsZW1lbnQgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBhY3RpdmVDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGFjdGl2ZUVsZW1lbnQpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlSXRlbXNbaWRdKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbXNbaWRdLnB1c2goY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVJdGVtc1tpZF0gPSBbY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnRdO1xyXG4gICAgfVxyXG4gICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBmb3IgKGxldCBhY3RpdmVJdGVtIG9mIHRoaXMuYWN0aXZlSXRlbXNbaWRdKSB7XHJcbiAgICAgICAgYWN0aXZlSXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdwbHVnaW4tYWN0aXZlJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbXNbaWRdLmluZGV4T2YoJGV2ZW50LnRhcmdldCkgPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbS5uZXh0KHtcclxuICAgICAgICBpZCxcclxuICAgICAgICBpdGVtOiB7Ym94SXRlbSwgaW5kZXgsIHN0eWxlLCBjb25maWc6IGNvbmZpZy5jb25maWcsIGNvbXBvbmVudFJlZn1cclxuICAgICAgfSk7XHJcbiAgICAgICRldmVudC50YXJnZXQuY2xhc3NMaXN0LmFkZCgncGx1Z2luLWFjdGl2ZScpO1xyXG4gICAgfSk7XHJcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc3BsaXRJdGVtID0gKGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJykgPT4ge1xyXG4gICAgICBpZiAoYm94SXRlbS5jb25maWcuZGlyZWN0aW9uID09PSBkaXJlY3Rpb24pIHtcclxuICAgICAgICBib3hJdGVtLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCArIDEsIDAsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcclxuICAgICAgICBib3hJdGVtLmxvYWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoYm94SXRlbS5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgIGJveEl0ZW0uY29uZmlnLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgICAgICAgIGJveEl0ZW0uY29uZmlnLmxpc3QucHVzaCh7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChib3hJdGVtLmNvbmZpZy5saXN0W2luZGV4XS50eXBlID09PSAnaXRlbScgJiYgYm94SXRlbS5jb25maWcubGlzdFtpbmRleF0uY29uZmlnLmRpcmVjdGlvbiA9PT0gZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGJveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLmNvbmZpZy5saXN0LnB1c2goe3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYm94SXRlbS5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEsIHtcclxuICAgICAgICAgICAgICB0eXBlOiAnaXRlbScsXHJcbiAgICAgICAgICAgICAgc3R5bGU6IGJveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLnN0eWxlLFxyXG4gICAgICAgICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uLFxyXG4gICAgICAgICAgICAgICAgbGlzdDogW2JveEl0ZW0uY29uZmlnLmxpc3RbaW5kZXhdLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fV1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBib3hJdGVtLmxvYWQoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtUmVtb3ZlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbS5uZXh0KHtcclxuICAgICAgICBpZCxcclxuICAgICAgICBpdGVtOiAnJ1xyXG4gICAgICB9KTtcclxuICAgICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub25SZW1vdmUoKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFjdGl2ZUNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXNldEl0ZW1Db25maWcoaXRlbUNvbmZpZ0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgaXRlbTogYW55LCBmaWVsZFRyZWU/OiBhbnkpIHtcclxuICAgIGl0ZW1Db25maWdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICBpdGVtQ29uZmlnQ29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChDb25maWdCbGFua0NvbXBvbmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHBsdWdpbiA9IFBsdWdpbkZhY3RvcnkuZ2V0KGl0ZW0uY29uZmlnPy5uYW1lKTtcclxuICAgIGNvbnN0IHBsdWdpbkNvbmZpZyA9IFBsdWdpbkZhY3RvcnkuZ2V0Q29uZmlnKGl0ZW0uY29uZmlnPy5uYW1lKTtcclxuICAgIGlmIChwbHVnaW5Db25maWcpIHtcclxuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gaXRlbUNvbmZpZ0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQocGx1Z2luQ29uZmlnLmNvbXBvbmVudCk7XHJcbiAgICAgIGNvbnN0IGluc3RhbmNlOiBhbnkgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgIGlmIChQbHVnaW5GYWN0b3J5Lmhhc1R5cGUocGx1Z2luLCAncGFnZScpKSB7XHJcbiAgICAgICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBQYWdlSXRlbUNvbmZpZ0Jhc2UpKSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ3BhZ2UgaXRlbSBjb21wb25lbnQgY29uZmlnIG5lZWQgZXh0ZW5kaW5nIFBhZ2VJdGVtQ29uZmlnQmFzZSwgbmFtZTogJyArIHBsdWdpbi5uYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFBsdWdpbkZhY3RvcnkuaGFzVHlwZShwbHVnaW4sICdmb3JtJykpIHtcclxuICAgICAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIEZvcm1JdGVtQ29uZmlnQmFzZSkpIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybignZm9ybSBpdGVtIGNvbXBvbmVudCBjb25maWcgbmVlZCBleHRlbmRpbmcgRm9ybUl0ZW1Db25maWdCYXNlLCBuYW1lOiAnICsgcGx1Z2luLm5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnN0YW5jZS5maWVsZFRyZWUgPSBmaWVsZFRyZWU7XHJcbiAgICAgIH1cclxuICAgICAgaW5zdGFuY2UuY29uZmlnID0gaXRlbS5jb25maWcucGx1Z2luQ29uZmlnO1xyXG4gICAgICBpbnN0YW5jZS5jb25maWdDaGFuZ2Uuc3Vic2NyaWJlKChyZWxvYWQ/OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlbG9hZCkge1xyXG4gICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVDb21wb25lbnQoaXRlbS5ib3hJdGVtLCBpdGVtLmluZGV4LCBpdGVtLnN0eWxlLCBpdGVtLmNvbmZpZyk7XHJcbiAgICAgICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdGVtLmNvbXBvbmVudFJlZi5pbnN0YW5jZSwgaXRlbS5jb25maWcucGx1Z2luQ29uZmlnKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGluc3RhbmNlLnRhYlZpZXdDb250YWluZXJSZWYgPSBpdGVtLmJveEl0ZW0uYm94Q29udGFpbmVyLnRhYlZpZXdDb250YWluZXJSZWY7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtQ29uZmlnQ29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChDb25maWdCbGFua0NvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVzZXRJdGVtU3R5bGUoaXRlbVN0eWxlQ29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBpdGVtOiBhbnkpIHtcclxuICAgIGl0ZW1TdHlsZUNvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgaWYgKCFpdGVtKSB7XHJcbiAgICAgIGl0ZW1TdHlsZUNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoU3R5bGVCbGFua0NvbXBvbmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGl0ZW1TdHlsZUNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoU3R5bGVDb21wb25lbnQpO1xyXG4gICAgY29uc3QgaW5zdGFuY2U6IGFueSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgIGluc3RhbmNlLnN0eWxlID0gaXRlbS5zdHlsZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -15,7 +15,6 @@ import { StyleComponent } from './box-item/item-style/style/style.component';
|
|
|
15
15
|
import { PluginNotFoundComponent } from './plugin-not-found/plugin-not-found.component';
|
|
16
16
|
import { DevExtremeModule } from "devextreme-angular";
|
|
17
17
|
import { ConfigBlankComponent } from './box-item/item-config/config-blank/config-blank.component';
|
|
18
|
-
import { FormItemConfigErrorComponent } from './box-item/item-config/form-item-config-error/form-item-config-error.component';
|
|
19
18
|
import * as i0 from "@angular/core";
|
|
20
19
|
export class BoxContainerModule {
|
|
21
20
|
}
|
|
@@ -31,7 +30,6 @@ BoxContainerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
31
30
|
ItemStyleComponent,
|
|
32
31
|
StyleBlankComponent,
|
|
33
32
|
ItemBlankComponent,
|
|
34
|
-
FormItemConfigErrorComponent,
|
|
35
33
|
StyleComponent,
|
|
36
34
|
PluginNotFoundComponent,
|
|
37
35
|
ConfigBlankComponent], imports: [CommonModule,
|
|
@@ -55,7 +53,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
55
53
|
ItemStyleComponent,
|
|
56
54
|
StyleBlankComponent,
|
|
57
55
|
ItemBlankComponent,
|
|
58
|
-
FormItemConfigErrorComponent,
|
|
59
56
|
StyleComponent,
|
|
60
57
|
PluginNotFoundComponent,
|
|
61
58
|
ConfigBlankComponent
|
|
@@ -71,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
71
68
|
]
|
|
72
69
|
}]
|
|
73
70
|
}] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWNvbnRhaW5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1jb250YWluZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0REFBNEQsQ0FBQzs7QUE2QmhHLE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkF6QjNCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixvQkFBb0IsYUFHcEIsWUFBWTtRQUNaLGdCQUFnQixhQUdoQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGtCQUFrQjtpSEFHVCxrQkFBa0IsWUFUM0IsWUFBWTtRQUNaLGdCQUFnQjs0RkFRUCxrQkFBa0I7a0JBM0I5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGtCQUFrQjtxQkFDbkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Qm94Q29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2JveC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtCb3hJdGVtSG9zdERpcmVjdGl2ZX0gZnJvbSAnLi9ib3gtaXRlbS9ib3gtaXRlbS1ob3N0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7Qm94SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1BsdWdpbkFjdGl2ZUNvbXBvbmVudH0gZnJvbSBcIi4vcGx1Z2luLWFjdGl2ZS9wbHVnaW4tYWN0aXZlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1BsdWdpbkhvdmVyQ29tcG9uZW50fSBmcm9tIFwiLi9wbHVnaW4taG92ZXIvcGx1Z2luLWhvdmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RpdmlkZXJDb21wb25lbnR9IGZyb20gXCIuL3BsdWdpbi1hY3RpdmUvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RpdmlkZXJMaW5lQ29tcG9uZW50fSBmcm9tIFwiLi9wbHVnaW4tYWN0aXZlL2RpdmlkZXIvZGl2aWRlci1saW5lL2RpdmlkZXItbGluZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJdGVtQ29uZmlnQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2l0ZW0tY29uZmlnL2l0ZW0tY29uZmlnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SXRlbVN0eWxlQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2l0ZW0tc3R5bGUvaXRlbS1zdHlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0eWxlQmxhbmtDb21wb25lbnR9IGZyb20gJy4vYm94LWl0ZW0vaXRlbS1zdHlsZS9zdHlsZS1ibGFuay9zdHlsZS1ibGFuay5jb21wb25lbnQnO1xyXG5pbXBvcnQge0l0ZW1CbGFua0NvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9pdGVtLWJsYW5rL2l0ZW0tYmxhbmsuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdHlsZUNvbXBvbmVudH0gZnJvbSAnLi9ib3gtaXRlbS9pdGVtLXN0eWxlL3N0eWxlL3N0eWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGx1Z2luTm90Rm91bmRDb21wb25lbnR9IGZyb20gJy4vcGx1Z2luLW5vdC1mb3VuZC9wbHVnaW4tbm90LWZvdW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGV2RXh0cmVtZU1vZHVsZX0gZnJvbSBcImRldmV4dHJlbWUtYW5ndWxhclwiO1xyXG5pbXBvcnQge0NvbmZpZ0JsYW5rQ29tcG9uZW50fSBmcm9tICcuL2JveC1pdGVtL2l0ZW0tY29uZmlnL2NvbmZpZy1ibGFuay9jb25maWctYmxhbmsuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBCb3hDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBCb3hJdGVtSG9zdERpcmVjdGl2ZSxcclxuICAgIEJveEl0ZW1Db21wb25lbnQsXHJcbiAgICBQbHVnaW5BY3RpdmVDb21wb25lbnQsXHJcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgRGl2aWRlckxpbmVDb21wb25lbnQsXHJcbiAgICBQbHVnaW5Ib3ZlckNvbXBvbmVudCxcclxuICAgIEl0ZW1Db25maWdDb21wb25lbnQsXHJcbiAgICBJdGVtU3R5bGVDb21wb25lbnQsXHJcbiAgICBTdHlsZUJsYW5rQ29tcG9uZW50LFxyXG4gICAgSXRlbUJsYW5rQ29tcG9uZW50LFxyXG4gICAgU3R5bGVDb21wb25lbnQsXHJcbiAgICBQbHVnaW5Ob3RGb3VuZENvbXBvbmVudCxcclxuICAgIENvbmZpZ0JsYW5rQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBEZXZFeHRyZW1lTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBCb3hDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBJdGVtQ29uZmlnQ29tcG9uZW50LFxyXG4gICAgSXRlbVN0eWxlQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm94Q29udGFpbmVyTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { PluginFactory } from "coast-plugin-register";
|
|
3
|
+
import { PluginNotFoundComponent } from "../../box-container/plugin-not-found/plugin-not-found.component";
|
|
4
|
+
import { CellComponentBase } from "../../types/component/cell-component-base";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../data-grid.service";
|
|
7
|
+
export class CellComponentTemplateComponent {
|
|
8
|
+
constructor(service) {
|
|
9
|
+
this.service = service;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
const fieldConfig = this.cellInfo.column.config;
|
|
13
|
+
const cellComponentConfig = this.cellInfo.column.viewConfig.componentConfig;
|
|
14
|
+
this.cellComponentRef.clear();
|
|
15
|
+
const plugin = PluginFactory.get(this.cellInfo.column.viewConfig.component);
|
|
16
|
+
if (!plugin) {
|
|
17
|
+
this.cellComponentRef.createComponent(PluginNotFoundComponent);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const componentRef = this.cellComponentRef.createComponent(plugin.component);
|
|
21
|
+
const instance = componentRef.instance;
|
|
22
|
+
Object.assign(instance, cellComponentConfig);
|
|
23
|
+
if (!(instance instanceof CellComponentBase)) {
|
|
24
|
+
console.warn('cell component need extending CellComponentBase, name: ' + plugin.name);
|
|
25
|
+
}
|
|
26
|
+
instance.field = this.cellInfo.column.dataField;
|
|
27
|
+
instance.fieldConfig = fieldConfig;
|
|
28
|
+
instance.rowData = this.cellInfo.data;
|
|
29
|
+
instance.columnLookup = this.cellInfo.column.lookup;
|
|
30
|
+
instance.value = this.cellInfo.value;
|
|
31
|
+
instance.displayValue = this.cellInfo.displayValue;
|
|
32
|
+
instance.loaded$ = this.service.cellTemplateLoaded$;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
CellComponentTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellComponentTemplateComponent, deps: [{ token: i1.DataGridService }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
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
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellComponentTemplateComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'rs-cell-component-template', template: "<ng-container #cellComponent></ng-container>\n" }]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.DataGridService }]; }, propDecorators: { cellInfo: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], cellComponentRef: [{
|
|
43
|
+
type: ViewChild,
|
|
44
|
+
args: ['cellComponent', { static: true, read: ViewContainerRef }]
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1jb21wb25lbnQtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2NlbGwtY29tcG9uZW50LXRlbXBsYXRlL2NlbGwtY29tcG9uZW50LXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZS9jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDOzs7QUFPNUUsTUFBTSxPQUFPLDhCQUE4QjtJQUt6QyxZQUFvQixPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUM1QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDNUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDL0QsT0FBTztTQUNSO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0UsTUFBTSxRQUFRLEdBQVEsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM1QyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSxpQkFBaUIsQ0FBQyxFQUFFO1lBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMseURBQXlELEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZGO1FBQ0QsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDaEQsUUFBUSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDbkMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN0QyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNwRCxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkQsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0lBQ3RELENBQUM7OzRIQTlCVSw4QkFBOEI7Z0hBQTlCLDhCQUE4QixrTUFHUSxnQkFBZ0IsMkNDZG5FLGdEQUNBOzRGRFVhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw0QkFBNEI7c0dBTXRDLFFBQVE7c0JBRFAsS0FBSztnQkFFOEQsZ0JBQWdCO3NCQUFuRixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhR3JpZFNlcnZpY2V9IGZyb20gXCIuLi9kYXRhLWdyaWQuc2VydmljZVwiO1xuaW1wb3J0IHtQbHVnaW5GYWN0b3J5fSBmcm9tIFwiY29hc3QtcGx1Z2luLXJlZ2lzdGVyXCI7XG5pbXBvcnQge1BsdWdpbk5vdEZvdW5kQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vYm94LWNvbnRhaW5lci9wbHVnaW4tbm90LWZvdW5kL3BsdWdpbi1ub3QtZm91bmQuY29tcG9uZW50XCI7XG5pbXBvcnQge0NlbGxDb21wb25lbnRCYXNlfSBmcm9tIFwiLi4vLi4vdHlwZXMvY29tcG9uZW50L2NlbGwtY29tcG9uZW50LWJhc2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtY2VsbC1jb21wb25lbnQtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC1jb21wb25lbnQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENlbGxDb21wb25lbnRUZW1wbGF0ZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGNlbGxJbmZvOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ2NlbGxDb21wb25lbnQnLCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgY2VsbENvbXBvbmVudFJlZiE6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBEYXRhR3JpZFNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGZpZWxkQ29uZmlnID0gdGhpcy5jZWxsSW5mby5jb2x1bW4uY29uZmlnO1xuICAgIGNvbnN0IGNlbGxDb21wb25lbnRDb25maWcgPSB0aGlzLmNlbGxJbmZvLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudENvbmZpZztcbiAgICB0aGlzLmNlbGxDb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgICBjb25zdCBwbHVnaW4gPSBQbHVnaW5GYWN0b3J5LmdldCh0aGlzLmNlbGxJbmZvLmNvbHVtbi52aWV3Q29uZmlnLmNvbXBvbmVudCk7XG4gICAgaWYgKCFwbHVnaW4pIHtcbiAgICAgIHRoaXMuY2VsbENvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQoUGx1Z2luTm90Rm91bmRDb21wb25lbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNlbGxDb21wb25lbnRSZWYuY3JlYXRlQ29tcG9uZW50KHBsdWdpbi5jb21wb25lbnQpO1xuICAgIGNvbnN0IGluc3RhbmNlOiBhbnkgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZSwgY2VsbENvbXBvbmVudENvbmZpZyk7XG4gICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDZWxsQ29tcG9uZW50QmFzZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybignY2VsbCBjb21wb25lbnQgbmVlZCBleHRlbmRpbmcgQ2VsbENvbXBvbmVudEJhc2UsIG5hbWU6ICcgKyBwbHVnaW4ubmFtZSk7XG4gICAgfVxuICAgIGluc3RhbmNlLmZpZWxkID0gdGhpcy5jZWxsSW5mby5jb2x1bW4uZGF0YUZpZWxkO1xuICAgIGluc3RhbmNlLmZpZWxkQ29uZmlnID0gZmllbGRDb25maWc7XG4gICAgaW5zdGFuY2Uucm93RGF0YSA9IHRoaXMuY2VsbEluZm8uZGF0YTtcbiAgICBpbnN0YW5jZS5jb2x1bW5Mb29rdXAgPSB0aGlzLmNlbGxJbmZvLmNvbHVtbi5sb29rdXA7XG4gICAgaW5zdGFuY2UudmFsdWUgPSB0aGlzLmNlbGxJbmZvLnZhbHVlO1xuICAgIGluc3RhbmNlLmRpc3BsYXlWYWx1ZSA9IHRoaXMuY2VsbEluZm8uZGlzcGxheVZhbHVlO1xuICAgIGluc3RhbmNlLmxvYWRlZCQgPSB0aGlzLnNlcnZpY2UuY2VsbFRlbXBsYXRlTG9hZGVkJDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAjY2VsbENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|