@datorama/core 22.13.0-beta.1 → 22.13.0-beta.11
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/bundle.scss +2391 -1231
- package/bundles/datorama-core.umd.js +70 -29
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +49 -49
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.metadata.json +1 -1
- package/esm2015/lib/grid/grid/grid.component.js +34 -4
- package/esm2015/lib/grid-v2/grid/grid-v2.component.js +6 -4
- package/esm2015/lib/grid-v2/grid/grid-v2.config.js +2 -2
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +3 -3
- package/esm2015/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +7 -10
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +14 -9
- package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +7 -1
- package/esm5/lib/grid/grid/grid.component.js +34 -4
- package/esm5/lib/grid-v2/grid/grid-v2.component.js +6 -4
- package/esm5/lib/grid-v2/grid/grid-v2.config.js +2 -2
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +3 -3
- package/esm5/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
- package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +7 -10
- package/esm5/lib/grid-v2/grid-store/grid.service.js +14 -9
- package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +8 -1
- package/fesm2015/datorama-core.js +69 -29
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +70 -29
- package/fesm5/datorama-core.js.map +1 -1
- package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +4 -4
- package/lib/grid-v2/grid-store/grid.service.d.ts +4 -0
- package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -105,6 +105,7 @@ let DatoGridV2ToolbarComponent = class DatoGridV2ToolbarComponent {
|
|
|
105
105
|
});
|
|
106
106
|
this.registerGroupListeners();
|
|
107
107
|
this.subscribeRowsSelectionData();
|
|
108
|
+
this.subscribeReloadGridActions();
|
|
108
109
|
}
|
|
109
110
|
onActionClick(action) {
|
|
110
111
|
if (isFunction(action.onClick)) {
|
|
@@ -341,6 +342,11 @@ let DatoGridV2ToolbarComponent = class DatoGridV2ToolbarComponent {
|
|
|
341
342
|
this.cdr.detectChanges();
|
|
342
343
|
});
|
|
343
344
|
}
|
|
345
|
+
subscribeReloadGridActions() {
|
|
346
|
+
this.gridService.onReloadGridActions().subscribe(() => {
|
|
347
|
+
this.initGridActions();
|
|
348
|
+
});
|
|
349
|
+
}
|
|
344
350
|
selectAllPages() {
|
|
345
351
|
if (this.gridQuery.isServerSide) {
|
|
346
352
|
this.gridService.setServerSidePagination({ selectAllRowsEnabled: true, excludedFromSelectAll: [] });
|
|
@@ -406,4 +412,4 @@ DatoGridV2ToolbarComponent = __decorate([
|
|
|
406
412
|
GridService])
|
|
407
413
|
], DatoGridV2ToolbarComponent);
|
|
408
414
|
export { DatoGridV2ToolbarComponent };
|
|
409
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsY0FBYyxFQUdmLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFD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YXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgaXNEZXZNb2RlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZVRvb2xiYXJBY3Rpb24sXG4gIEdyaWRBY3Rpb24sXG4gIEdyaWRBY3Rpb25UeXBlLFxuICBHcmlkUm93QWN0aW9uc1NjcmVlblRocmVzaG9sZCxcbiAgUm93QWN0aW9uXG59IGZyb20gJy4vZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkQ29udHJvbGxlckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtY29udHJvbGxlci9ncmlkLWNvbnRyb2xsZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBQcm9jZXNzQ2VsbEZvckV4cG9ydFBhcmFtcywgUm93R3JvdXBPcGVuZWRFdmVudCwgUm93Tm9kZSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdG9Qb3BvdmVyIH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0b0dyaWRHcm91cHNNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1ncm91cHMtbWVudS9ncmlkLWdyb3Vwcy1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkUXVlcnkgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQucXVlcnknO1xuaW1wb3J0IHsgZ2V0VmlzaWJsZUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLXYyLnV0aWwnO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9GT1JNQVQgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZENvbHVtbkRpc3BsYXlNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb2x1bW5zLWRpc3BsYXktbWVudS9ncmlkLWNvbHVtbnMtZGlzcGxheS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgc2l6ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgR3JpZFJvd3NTZWxlY3Rpb25EYXRhIH0gZnJvbSAnLi4vZ3JpZC9ncmlkLXYyLnR5cGVzJztcblxudHlwZSBUYWJsZUFjdGlvbiA9XG4gIHwgJ0F1dG9maXQgdG8gQ29udGVudCdcbiAgfCAnQXV0b2ZpdCB0byBQYWdlJ1xuICB8ICdTaG93IEhpZGUgQ29sdW1uJ1xuICB8ICdSZXNldCBTZXR0aW5ncydcbiAgfCAnUmVzZXQgRmlsdGVycydcbiAgfCAnR3JvdXAgZnJvbSBTZXR0aW5ncydcbiAgfCAnR3JvdXAgZnJvbSBUb29sYmFyJ1xuICB8ICdFeHBvcnQnXG4gIHwgJ0NvbGxhcHNlIEV4cGFuZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZC10b29sYmFyLXYyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQtdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZFYyVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfVklTSUJMRV9ST1dfQUNUSU9OUyA9IDU7XG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1ZJU0lCTEVfR1JJRF9BQ1RJT05TID0gMjtcbiAgcHJpdmF0ZSBfbWF4Um93QWN0aW9ucyA9IHRoaXMuTUFYX1ZJU0lCTEVfUk9XX0FDVElPTlM7XG5cbiAgQFZpZXdDaGlsZCgnZ3JvdXBUcmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIGdyb3VwVHJpZ2dlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2V0dGluZ3NUcmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHNldHRpbmdzVHJpZ2dlcjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBkaXNwbGF5RXhwb3J0ID0gdHJ1ZTtcbiAgY3JlYXRlQWN0aW9uOiBHcmlkQWN0aW9uO1xuICByb3dBY3Rpb25zOiB7IG1haW5MaXN0OiBSb3dBY3Rpb25bXTsgbW9yZU1lbnU6IFJvd0FjdGlvbltdIH0gPSB7IG1haW5MaXN0OiBbXSwgbW9yZU1lbnU6IFtdIH07XG4gIGdyaWRBY3Rpb25zOiB7IG1haW5MaXN0OiBHcmlkQWN0aW9uW107IG1vcmVNZW51OiBHcmlkQWN0aW9uW10gfSA9IHsgbWFpbkxpc3Q6IFtdLCBtb3JlTWVudTogW10gfTtcblxuICBASW5wdXQoKSBzZXQgbWF4Um93QWN0aW9ucyhtYXhSb3dBY3Rpb25zOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5lbmFibGVWMl8xKSB7XG4gICAgICB0aGlzLl9tYXhSb3dBY3Rpb25zID0gTWF0aC5taW4obWF4Um93QWN0aW9ucywgdGhpcy5NQVhfVklTSUJMRV9ST1dfQUNUSU9OUyk7XG4gICAgICBpZiAobWF4Um93QWN0aW9ucyA+IHRoaXMuTUFYX1ZJU0lCTEVfUk9XX0FDVElPTlMgJiYgaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBEYXRvR3JpZCBWMi4xIC0gbWF4Um93QWN0aW9ucyBjYW5ub3QgYmUgb3ZlciAke3RoaXMuTUFYX1ZJU0lCTEVfUk9XX0FDVElPTlN9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX21heFJvd0FjdGlvbnMgPSBtYXhSb3dBY3Rpb25zO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIGhpZGVHcm91cGluZzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUuc2VhcmNoJyk7XG4gIEBJbnB1dCgpIHJvd0FjdGlvbnNTaG9ydExhYmVsVGhyZXNob2xkOiBHcmlkUm93QWN0aW9uc1NjcmVlblRocmVzaG9sZCA9IDE1Mzk7XG4gIEBJbnB1dCgpIGRpc3BsYXlDdXN0b21HcmlkQWN0aW9uc1NlcGFyYXRvciA9IHRydWU7XG5cbiAgb3Blbk1lbnVzID0ge1xuICAgIGdyb3VwOiBmYWxzZSxcbiAgICBzZXR0aW5nczogZmFsc2VcbiAgfTtcbiAgcm93R3JvdXBzQ29sbGFwc2VkID0gZmFsc2U7XG4gIGdyb3Vwc0FsbG93ZWQgPSAhdGhpcy5oaWRlR3JvdXBpbmc7XG4gIGlzU2VsZWN0ZWRSb3cgPSBmYWxzZTtcbiAgaXNUcmVlTW9kZTogYm9vbGVhbiA9IHRoaXMuZ3JpZFNlcnZpY2UudHJlZURhdGE7XG4gIHRvdGFsUm93c0NvdW50ID0gMDtcbiAgc2VsZWN0ZWRSb3dzQ291bnQgPSAwO1xuICBhbGxQYWdlUm93c1NlbGVjdGVkID0gZmFsc2U7XG4gIHdpZHRoVG9IaWRlQWN0aW9uc0xhYmVsczogR3JpZFJvd0FjdGlvbnNTY3JlZW5UaHJlc2hvbGQgPSAxNDM5O1xuXG4gIGdldCBlbmFibGVWMl8xKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRPcHRpb25zLmVuYWJsZVYyXzE7XG4gIH1cblxuICBnZXQgZW5hYmxlU2VhcmNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRPcHRpb25zLmVuYWJsZVNlYXJjaDtcbiAgfVxuXG4gIGdldCBlbmFibGVCYWNrZ3JvdW5kKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRPcHRpb25zLmVuYWJsZUJhY2tncm91bmQ7XG4gIH1cblxuICBnZXQgaXNSb3dBY3Rpb25zVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZW5hYmxlVjJfMSB8fCAodGhpcy5lbmFibGVWMl8xICYmIHRoaXMuaXNTZWxlY3RlZFJvdyk7XG4gIH1cblxuICBnZXQgaGFzUm93QWN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2l6ZSh0aGlzLnJvd0FjdGlvbnMubWFpbkxpc3QpID4gMCB8fCBzaXplKHRoaXMucm93QWN0aW9ucy5tb3JlTWVudSkgPiAwO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdyaWRDb250cm9sbGVyOiBEYXRvR3JpZENvbnRyb2xsZXJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBvcG92ZXI6IERhdG9Qb3BvdmVyLFxuICAgIHByaXZhdGUgZ3JpZFF1ZXJ5OiBHcmlkUXVlcnksXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldCBoaWRkZW5Db2x1bW5zKCkge1xuICAgIHJldHVybiBgKCR7dGhpcy5ncmlkUXVlcnkuZ2V0QWxsRGlzcGxheWVkQ29sdW1ucygpLmxlbmd0aH0vJHt0aGlzLmdyaWRRdWVyeS5nZXRBbGxDb2x1bW5zKCkubGVuZ3RofSlgO1xuICB9XG5cbiAgZ2V0IGhhc0FjdGl2ZU1vcmVBY3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnJvd0FjdGlvbnMubW9yZU1lbnUuc29tZSgoeyB2aXNpYmxlIH0pID0+IHZpc2libGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRRdWVyeS5hcGk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkYXRhQ2hhbmdlcyA9IHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFF1ZXJ5LndhaXRGb3JHcmlkKCgpID0+XG4gICAgICBtZXJnZShcbiAgICAgICAgdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5jZWxsVmFsdWVDaGFuZ2VkLFxuICAgICAgICB0aGlzLmdyaWRRdWVyeS5ncmlkUmVmLnJvd0RhdGFVcGRhdGVkLFxuICAgICAgICB0aGlzLmdyaWRRdWVyeS5yb3dBY3Rpb25WaXNpYmlsaXR5Q2hhbmdlZCRcbiAgICAgICkucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBncmlkSW5pdCA9IHRoaXMuZ3JpZFF1ZXJ5LmdyaWRSZWFkeSQucGlwZSh0YWtlKDEpKTtcbiAgICBncmlkSW5pdC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5ncm91cHNBbGxvd2VkID0gIXRoaXMuaGlkZUdyb3VwaW5nICYmICF0aGlzLmdyaWRRdWVyeS5nZXRWYWx1ZSgpLnNlcnZlclNpZGVQYWdpbmF0aW9uLmVuYWJsZWQ7XG4gICAgfSk7XG4gICAgdGhpcy5pbml0R3JpZEFjdGlvbnMoKTtcbiAgICBjb25zdCBzZWxlY3RlZFJvd3NDaGFuZ2VkJCA9IHRoaXMuZ3JpZFF1ZXJ5LnNlbGVjdGVkUm93c0NoYW5nZSQ7XG4gICAgY29uc3QgaXNTZWxlY3RBbGxSb3dzQ2hhbmdlZCQgPSB0aGlzLmdyaWRRdWVyeS5zZWxlY3RJc1NlbGVjdEFsbFJvd3NFbmFibGVkKCk7XG4gICAgbWVyZ2UoZGF0YUNoYW5nZXMsIGdyaWRJbml0LCBzZWxlY3RlZFJvd3NDaGFuZ2VkJCwgaXNTZWxlY3RBbGxSb3dzQ2hhbmdlZCQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5hcGkpLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzb2x2ZVZpc2libGVBY3Rpb25zKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMucmVnaXN0ZXJHcm91cExpc3RlbmVycygpO1xuXG4gICAgdGhpcy5zdWJzY3JpYmVSb3dzU2VsZWN0aW9uRGF0YSgpO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IEJhc2VUb29sYmFyQWN0aW9uKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oYWN0aW9uLm9uQ2xpY2spKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFJvd3NDb3VudCA9IHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFF1ZXJ5LmdldFNlbGVjdGVkUm93c0NvdW50KCk7XG4gICAgICB0aGlzLmdyaWRTZXJ2aWNlLl9sb2dFdmVudChDb3JlRXZlbnRUeXBlcy5HUklEX1RBQkxFX0FDVElPTiwge1xuICAgICAgICBhY3Rpb246IGFjdGlvbi5rZXksXG4gICAgICAgIG51bU9mSXRlbXM6IHNlbGVjdGVkUm93c0NvdW50LFxuICAgICAgICBmcm9tOiAnVG9vbGJhcidcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2VsZWN0QWxsUm93c0VuYWJsZWQpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0QWxsRmlsdGVyID0gdGhpcy5ncmlkU2VydmljZS5nZXRGaWx0ZXJGb3JTZXJ2ZXJBY3Rpb25PblNlbGVjdEFsbCgpO1xuICAgICAgICBhY3Rpb24ub25DbGljayhudWxsLCB0cnVlLCBzZWxlY3RBbGxGaWx0ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRRdWVyeS5nZXRTZWxlY3RlZFJvd05vZGVzKCk7XG4gICAgICAgIGFjdGlvbi5vbkNsaWNrKHNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKChhY3Rpb24gYXMgR3JpZEFjdGlvbikuYWN0aW9uVHlwZSA9PT0gR3JpZEFjdGlvblR5cGUuRVhQT1JUKSB7XG4gICAgICB0aGlzLmV4ZWN1dGVUYWJsZUFjdGlvbignRXhwb3J0Jyk7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZVZpc2libGVBY3Rpb25zKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5ncmlkUXVlcnkuZ2V0U2VsZWN0ZWRSb3dOb2RlcygpO1xuICAgIHRoaXMuaXNTZWxlY3RlZFJvdyA9IHNlbGVjdGVkLmxlbmd0aCA+IDAgfHwgdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTZWxlY3RBbGxSb3dzRW5hYmxlZDtcbiAgICBjb25zdCB2aXNpYmxlQWN0aW9ucyA9IGdldFZpc2libGVBY3Rpb25zKFxuICAgICAgdGhpcy5ncmlkQ29udHJvbGxlci5yb3dBY3Rpb25zLFxuICAgICAgdGhpcy5ncmlkUXVlcnkuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKSxcbiAgICAgIHNlbGVjdGVkLFxuICAgICAgdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTZWxlY3RBbGxSb3dzRW5hYmxlZFxuICAgICkuZmlsdGVyKChhY3Rpb246IFJvd0FjdGlvbikgPT4gIXRoaXMuaXNSb3dBY3Rpb25IaWRkZW4oYWN0aW9uKSk7XG4gICAgdGhpcy5yb3dBY3Rpb25zID0ge1xuICAgICAgbWFpbkxpc3Q6IHZpc2libGVBY3Rpb25zLnNsaWNlKDAsIHRoaXMuX21heFJvd0FjdGlvbnMpLFxuICAgICAgbW9yZU1lbnU6IHZpc2libGVBY3Rpb25zLnNsaWNlKHRoaXMuX21heFJvd0FjdGlvbnMsIHZpc2libGVBY3Rpb25zLmxlbmd0aClcbiAgICB9O1xuICAgIHRoaXMuaW5pdFdpZHRoVG9IaWRlQWN0aW9uc0xhYmVscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0V2lkdGhUb0hpZGVBY3Rpb25zTGFiZWxzKCkge1xuICAgIGNvbnN0IHZpc2libGVBY3Rpb25zQ291bnQgPVxuICAgICAgdGhpcy5yb3dBY3Rpb25zLm1haW5MaXN0Lmxlbmd0aCArXG4gICAgICAodGhpcy5yb3dBY3Rpb25zLm1vcmVNZW51Lmxlbmd0aCA+IDAgPyAxIDogMCkgK1xuICAgICAgKHRoaXMuZ3JpZEFjdGlvbnMubW9yZU1lbnUubGVuZ3RoID4gMCA/IDEgOiAwKSArXG4gICAgICAodGhpcy5jcmVhdGVBY3Rpb24gPyAxIDogMCk7XG5cbiAgICBjb25zdCB3aW5kb3dXaWR0aFRocmVzaG9sZHM6IEdyaWRSb3dBY3Rpb25zU2NyZWVuVGhyZXNob2xkW10gPSBbMTIzOSwgMTMzOSwgMTQzOSwgMTUzOV07XG4gICAgdGhpcy53aWR0aFRvSGlkZUFjdGlvbnNMYWJlbHMgPVxuICAgICAgd2luZG93V2lkdGhUaHJlc2hvbGRzW01hdGgubWluKE1hdGgubWF4KHZpc2libGVBY3Rpb25zQ291bnQgLSA1LCAwKSwgd2luZG93V2lkdGhUaHJlc2hvbGRzLmxlbmd0aCAtIDEpXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEdyaWRBY3Rpb25zKCkge1xuICAgIGNvbnN0IGdyaWRBY3Rpb25zID0gdGhpcy5ncmlkQ29udHJvbGxlci5ncmlkQWN0aW9ucztcbiAgICB0aGlzLmluaXRDcmVhdGVBY3Rpb24oZ3JpZEFjdGlvbnMpO1xuICAgIHRoaXMuaW5pdEV4cG9ydEFjdGlvbihncmlkQWN0aW9ucyk7XG4gICAgbGV0IG1heFZpc2libGVBY3Rpb25zID0gdGhpcy5NQVhfVklTSUJMRV9HUklEX0FDVElPTlMgLSAodGhpcy5kaXNwbGF5RXhwb3J0ID8gMSA6IDApO1xuICAgIGlmIChzaXplKGdyaWRBY3Rpb25zKSA9PT0gbWF4VmlzaWJsZUFjdGlvbnMgKyAxKSB7XG4gICAgICBtYXhWaXNpYmxlQWN0aW9ucysrO1xuICAgIH1cbiAgICB0aGlzLmdyaWRBY3Rpb25zID0ge1xuICAgICAgbWFpbkxpc3Q6IGdyaWRBY3Rpb25zLnNsaWNlKDAsIG1heFZpc2libGVBY3Rpb25zKSxcbiAgICAgIG1vcmVNZW51OiBncmlkQWN0aW9ucy5zbGljZShtYXhWaXNpYmxlQWN0aW9ucywgZ3JpZEFjdGlvbnMubGVuZ3RoKVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGluaXRDcmVhdGVBY3Rpb24oZ3JpZEFjdGlvbnM6IEdyaWRBY3Rpb25bXSkge1xuICAgIGNvbnN0IGNyZWF0ZUFjdGlvbkluZGV4ID0gZ3JpZEFjdGlvbnMuZmluZEluZGV4KCh7IGFjdGlvblR5cGUgfSkgPT4gYWN0aW9uVHlwZSA9PT0gR3JpZEFjdGlvblR5cGUuQ1JFQVRFKTtcbiAgICB0aGlzLmNyZWF0ZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbkluZGV4ID49IDAgPyBncmlkQWN0aW9ucy5zcGxpY2UoY3JlYXRlQWN0aW9uSW5kZXgsIDEpWzBdIDogbnVsbDtcbiAgICBpZiAodGhpcy5jcmVhdGVBY3Rpb24pIHtcbiAgICAgIHRoaXMuY3JlYXRlQWN0aW9uLmxhYmVsID0gdGhpcy5jcmVhdGVBY3Rpb24ubGFiZWwgfHwgJ2NvcmUuY3JlYXRlLW5ldyc7XG4gICAgICB0aGlzLmNyZWF0ZUFjdGlvbi5rZXkgPSB0aGlzLmNyZWF0ZUFjdGlvbi5rZXkgfHwgJ2NyZWF0ZS1uZXcnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEV4cG9ydEFjdGlvbihncmlkQWN0aW9uczogR3JpZEFjdGlvbltdKSB7XG4gICAgY29uc3QgZXhwb3J0QWN0aW9uID0gZ3JpZEFjdGlvbnMuZmluZCgoeyBhY3Rpb25UeXBlIH0pID0+IGFjdGlvblR5cGUgPT09IEdyaWRBY3Rpb25UeXBlLkVYUE9SVCk7XG4gICAgaWYgKGV4cG9ydEFjdGlvbikge1xuICAgICAgY29uc3QgeyBvbkNsaWNrLCBpY29uLCBsYWJlbCwgdG9vbHRpcCwga2V5IH0gPSBleHBvcnRBY3Rpb247XG4gICAgICBleHBvcnRBY3Rpb24ub25DbGljayA9IG9uQ2xpY2sgfHwgKCgpID0+IHRoaXMuZXhlY3V0ZVRhYmxlQWN0aW9uKCdFeHBvcnQnKSk7XG4gICAgICBleHBvcnRBY3Rpb24uaWNvbiA9IGljb24gfHwgJ2V4cG9ydCc7XG4gICAgICBleHBvcnRBY3Rpb24ubGFiZWwgPSBsYWJlbCB8fCAnY29yZS5leHBvcnQtdGFibGUnO1xuICAgICAgZXhwb3J0QWN0aW9uLnRvb2x0aXAgPSB0b29sdGlwIHx8ICdjb3JlLmV4cG9ydC10YWJsZSc7XG4gICAgICBleHBvcnRBY3Rpb24ua2V5ID0ga2V5IHx8ICdleHBvcnQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIGFjdGlvblxuICAgKi9cbiAgZXhlY3V0ZVRhYmxlQWN0aW9uKGFjdGlvbjogVGFibGVBY3Rpb24pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLl9sb2dFdmVudChDb3JlRXZlbnRUeXBlcy5HUklEX0dFTkVSQUxfVEFCTEVfQUNUSU9OLCB7IGFjdGlvbiB9KTtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAnQXV0b2ZpdCB0byBDb250ZW50JzpcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5maXRHcmlkKCdjb250ZW50Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXV0b2ZpdCB0byBQYWdlJzpcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5maXRHcmlkKCdjb250YWluZXInKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdDb2xsYXBzZSBFeHBhbmQnOlxuICAgICAgICB0aGlzLnRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXhwb3J0JzpcbiAgICAgICAgdGhpcy5leHBvcnRUYWJsZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0dyb3VwIGZyb20gU2V0dGluZ3MnOlxuICAgICAgY2FzZSAnR3JvdXAgZnJvbSBUb29sYmFyJzpcbiAgICAgICAgdGhpcy5vcGVuR3JvdXBNZW51KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUmVzZXQgRmlsdGVycyc6XG4gICAgICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUmVzZXQgU2V0dGluZ3MnOlxuICAgICAgICB0aGlzLnJlc2V0U2V0dGluZ3MoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdTaG93IEhpZGUgQ29sdW1uJzpcbiAgICAgICAgdGhpcy5vcGVuQ29sdW1uTWVudSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICB0aGlzLnJvd0dyb3Vwc0NvbGxhcHNlZCA/IHRoaXMuYXBpLmdyaWQuZXhwYW5kQWxsKCkgOiB0aGlzLmFwaS5ncmlkLmNvbGxhcHNlQWxsKCk7XG4gICAgdGhpcy5yb3dHcm91cHNDb2xsYXBzZWQgPSAhdGhpcy5yb3dHcm91cHNDb2xsYXBzZWQ7XG4gIH1cblxuICBnZXQgaGFzR3JvdXBzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFwaS5jb2x1bW5zLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBleHBvcnRUYWJsZSgpIHtcbiAgICBjb25zdCB7IGdyaWROYW1lLCBleHBvcnRHcmlkIH0gPSB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRPcHRpb25zO1xuICAgIGlmIChpc0Z1bmN0aW9uKGV4cG9ydEdyaWQpKSB7XG4gICAgICBleHBvcnRHcmlkKHsgLi4udGhpcy5hcGksIC4uLnRoaXMuZ3JpZFF1ZXJ5LmdldFZhbHVlKCkuc2V0dGluZ3MgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRvZGF5ID0gZm9ybWF0KG5ldyBEYXRlKCksIERFRkFVTFRfRk9STUFUKTtcbiAgICAgIHRoaXMuYXBpLmdyaWQuZXhwb3J0RGF0YUFzRXhjZWwoe1xuICAgICAgICBmaWxlTmFtZTogYCR7Z3JpZE5hbWV9IC0gJHt0b2RheX1gLFxuICAgICAgICBwcm9jZXNzQ2VsbENhbGxiYWNrOiAoeyBjb2x1bW4sIHZhbHVlIH06IFByb2Nlc3NDZWxsRm9yRXhwb3J0UGFyYW1zKSA9PiB7XG4gICAgICAgICAgY29uc3QgZm9ybWF0dGVyID0gY29sdW1uLmdldENvbERlZigpLnZhbHVlRm9ybWF0dGVyO1xuICAgICAgICAgIC8vIFRPRE86IGZvbGxvd3VwOiBodHRwczovL2FnLWdyaWQuemVuZGVzay5jb20vaGMvZW4tdXMvcmVxdWVzdHMvMTA5NjM/cGFnZT0xXG4gICAgICAgICAgcmV0dXJuIGZvcm1hdHRlciA/IGZvcm1hdHRlcih7IHZhbHVlIH0gYXMgYW55KSA6IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXNldFNldHRpbmdzKCkge1xuICAgIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFNlcnZpY2UucmVzZXRUYWJsZVNldHRpbmdzKCk7XG4gIH1cblxuICBvcGVuQ29sdW1uTWVudSgpIHtcbiAgICB0aGlzLnBvcG92ZXIub3BlbihEYXRvR3JpZENvbHVtbkRpc3BsYXlNZW51Q29tcG9uZW50LCB0aGlzLnNldHRpbmdzVHJpZ2dlci5uYXRpdmVFbGVtZW50LCB7XG4gICAgICB3aWR0aDogMjIwLFxuICAgICAgY2xhc3NOYW1lOiAnZGF0by1ncmlkLWNvbHVtbnMtZGlzcGxheS1tZW51JyxcbiAgICAgIHBvcHBlcjogeyBwbGFjZW1lbnQ6ICdib3R0b20tZW5kJyB9LFxuICAgICAgZGF0YToge1xuICAgICAgICBhcGk6IHRoaXMuYXBpLFxuICAgICAgICBncmlkU2VydmljZTogdGhpcy5ncmlkU2VydmljZSxcbiAgICAgICAgZ3JpZFF1ZXJ5OiB0aGlzLmdyaWRRdWVyeVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFNlcnZpY2UuY2xlYXJBbGxGaWx0ZXJzKCk7XG4gIH1cblxuICBvcGVuR3JvdXBNZW51KCkge1xuICAgIHRoaXMub3Blbk1lbnVzLmdyb3VwID0gdHJ1ZTtcbiAgICBjb25zdCB3YWl0Rm9yQW5pbWF0aW9uID0gdGhpcy5oYXNHcm91cHMgPyAwIDogMjAwO1xuICAgIC8qKiBXaGVuIGNoYW5naW5nIHRoZSB0YWJsZXMgZ3JvdXBpbmcgYWxsIHRoZSByb3dzIGFyZSBhdXRvbWF0aWNhbGx5IGV4cGFuZGVkLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaWNvbiBzdGF0ZSAqL1xuICAgIGNvbnN0IGV4cGFuZFN1YnNjcmlwdGlvbiA9IHRoaXMuZ3JpZFF1ZXJ5LmdyaWRSZWYuY29sdW1uUm93R3JvdXBDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJvd0dyb3Vwc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucG9wb3ZlclxuICAgICAgICAub3BlbihEYXRvR3JpZEdyb3Vwc01lbnVDb21wb25lbnQsIHRoaXMuZ3JvdXBUcmlnZ2VyLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBoZWlnaHQ6IDIwNixcbiAgICAgICAgICB3aWR0aDogMjUwLFxuICAgICAgICAgIGNsYXNzTmFtZTogJ2RhdG8tZ3JpZC1ncm91cHMtbWVudScsXG4gICAgICAgICAgcG9wcGVyOiB7IHBsYWNlbWVudDogJ2JvdHRvbS1lbmQnIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgYXBpOiB0aGlzLmFwaSxcbiAgICAgICAgICAgIGdyaWRTZXJ2aWNlOiB0aGlzLmdyaWRTZXJ2aWNlXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgZXhwYW5kU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5vcGVuTWVudXMuZ3JvdXAgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH0sIHdhaXRGb3JBbmltYXRpb24pO1xuICB9XG5cbiAgaXNBY3Rpb25EaXNhYmxlZChyb3dBY3Rpb246IFJvd0FjdGlvbikge1xuICAgIHJldHVybiAhcm93QWN0aW9uLnZpc2libGU7XG4gIH1cblxuICBpc1Jvd0FjdGlvbkhpZGRlbihyb3dBY3Rpb246IFJvd0FjdGlvbikge1xuICAgIHJldHVybiAhcm93QWN0aW9uLnZpc2libGUgJiYgdGhpcy5lbmFibGVWMl8xO1xuICB9XG5cbiAgY2xlYXJTZWxlY3RlZFJvd3MoKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5kZXNlbGVjdEFsbFJvd3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cblxuICBwcml2YXRlIGdldENvbGxhcHNlU3RhdGUoeyBub2RlLCBhcGkgfTogUm93R3JvdXBPcGVuZWRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGxldCBjb2xsYXBzZWQgPSB0cnVlO1xuICAgIGlmIChub2RlLnJvd0dyb3VwSW5kZXggPT09IDApIHtcbiAgICAgIGFwaS5mb3JFYWNoTm9kZUFmdGVyRmlsdGVyQW5kU29ydCgoeyBleHBhbmRlZCwgcm93R3JvdXBJbmRleCB9OiBSb3dOb2RlKSA9PiB7XG4gICAgICAgIGlmIChyb3dHcm91cEluZGV4ID09PSAwICYmIGV4cGFuZGVkKSB7XG4gICAgICAgICAgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gY29sbGFwc2VkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3Rlckdyb3VwTGlzdGVuZXJzKCkge1xuICAgIC8qKiBMaXN0ZW4gdG8gYWRkaW5nIG9yIHJlbW92aW5nIHJvdyBncm91cHMgZnJvbSB0aGUgY29sdW1ucyBhbmQgbm90IHRoZSBncm91cHMgbWVudSAqL1xuICAgIHRoaXMuZ3JpZFF1ZXJ5XG4gICAgICAud2FpdEZvckdyaWQoKCkgPT4gdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5jb2x1bW5Sb3dHcm91cENoYW5nZWQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLm9wZW5NZW51cy5ncm91cCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yb3dHcm91cHNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgLyoqIExpc3RlbiB0byByb3cgY29sbGFwc2Ugc3RhdGUgdG8gdXBkYXRlIHRoZSBpY29uICovXG4gICAgdGhpcy5ncmlkUXVlcnlcbiAgICAgIC53YWl0Rm9yR3JpZCgoKSA9PiB0aGlzLmdyaWRRdWVyeS5ncmlkUmVmLnJvd0dyb3VwT3BlbmVkKVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogUm93R3JvdXBPcGVuZWRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBjb2xsYXBzZWQgPSB0aGlzLmdldENvbGxhcHNlU3RhdGUoZXZlbnQpO1xuICAgICAgICBpZiAoY29sbGFwc2VkICE9PSB0aGlzLnJvd0dyb3Vwc0NvbGxhcHNlZCkge1xuICAgICAgICAgIHRoaXMucm93R3JvdXBzQ29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVJvd3NTZWxlY3Rpb25EYXRhKCkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5LnJvd3NTZWxlY3Rpb25EYXRhJFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoe1xuICAgICAgICAgIHRvdGFsUm93c0NvdW50LFxuICAgICAgICAgIHNlbGVjdGVkUm93c0NvdW50LFxuICAgICAgICAgIHNlbGVjdGVkUGFnZVJvd3NDb3VudCxcbiAgICAgICAgICBpc0FsbFBhZ2VSb3dzU2VsZWN0ZWRcbiAgICAgICAgfTogR3JpZFJvd3NTZWxlY3Rpb25EYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy50b3RhbFJvd3NDb3VudCA9IHRvdGFsUm93c0NvdW50O1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQgPSBzZWxlY3RlZFJvd3NDb3VudDtcbiAgICAgICAgICBjb25zdCB7IGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uIH0gPSB0aGlzLmdyaWRRdWVyeS5nZXRHcmlkT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuYWxsUGFnZVJvd3NTZWxlY3RlZCA9XG4gICAgICAgICAgICBlbmFibGVBbGxQYWdlc1NlbGVjdGlvbiAmJlxuICAgICAgICAgICAgaXNBbGxQYWdlUm93c1NlbGVjdGVkICYmXG4gICAgICAgICAgICBzZWxlY3RlZFJvd3NDb3VudCA9PT0gc2VsZWN0ZWRQYWdlUm93c0NvdW50ICYmXG4gICAgICAgICAgICBzZWxlY3RlZFJvd3NDb3VudCA8IHRvdGFsUm93c0NvdW50O1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHNlbGVjdEFsbFBhZ2VzKCkge1xuICAgIGlmICh0aGlzLmdyaWRRdWVyeS5pc1NlcnZlclNpZGUpIHtcbiAgICAgIHRoaXMuZ3JpZFNlcnZpY2Uuc2V0U2VydmVyU2lkZVBhZ2luYXRpb24oeyBzZWxlY3RBbGxSb3dzRW5hYmxlZDogdHJ1ZSwgZXhjbHVkZWRGcm9tU2VsZWN0QWxsOiBbXSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ncmlkU2VydmljZS5hcGkuZ3JpZC5zZWxlY3RBbGxGaWx0ZXJlZCgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
415
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsY0FBYyxFQUdmLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFD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OztLQUNoRCxDQUFDO3FDQWdFeUIsMkJBQTJCO1FBQ3JDLGlCQUFpQjtRQUNYLG9CQUFvQjtRQUN0QixXQUFXO1FBQ1QsU0FBUztRQUNQLFdBQVc7R0FwRXZCLDBCQUEwQixDQWtadEM7U0FsWlksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlVG9vbGJhckFjdGlvbixcbiAgR3JpZEFjdGlvbixcbiAgR3JpZEFjdGlvblR5cGUsXG4gIEdyaWRSb3dBY3Rpb25zU2NyZWVuVGhyZXNob2xkLFxuICBSb3dBY3Rpb25cbn0gZnJvbSAnLi9ncmlkLXRvb2xiYXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFByb2Nlc3NDZWxsRm9yRXhwb3J0UGFyYW1zLCBSb3dHcm91cE9wZW5lZEV2ZW50LCBSb3dOb2RlIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0b1BvcG92ZXIgfSBmcm9tICcuLi8uLi9wb3BvdmVyL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRvR3JpZEdyb3Vwc01lbnVDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWdyb3Vwcy1tZW51L2dyaWQtZ3JvdXBzLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRRdWVyeSB9IGZyb20gJy4uL2dyaWQtc3RvcmUvZ3JpZC5xdWVyeSc7XG5pbXBvcnQgeyBnZXRWaXNpYmxlQWN0aW9ucyB9IGZyb20gJy4uL2dyaWQtdjIudXRpbCc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBERUZBVUxUX0ZPUk1BVCB9IGZyb20gJy4uLy4uL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkQ29sdW1uRGlzcGxheU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWNvbHVtbnMtZGlzcGxheS1tZW51L2dyaWQtY29sdW1ucy1kaXNwbGF5LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29yZUV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi9ldmVudC1sb2dnZXInO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBzaXplIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBHcmlkUm93c1NlbGVjdGlvbkRhdGEgfSBmcm9tICcuLi9ncmlkL2dyaWQtdjIudHlwZXMnO1xuXG50eXBlIFRhYmxlQWN0aW9uID1cbiAgfCAnQXV0b2ZpdCB0byBDb250ZW50J1xuICB8ICdBdXRvZml0IHRvIFBhZ2UnXG4gIHwgJ1Nob3cgSGlkZSBDb2x1bW4nXG4gIHwgJ1Jlc2V0IFNldHRpbmdzJ1xuICB8ICdSZXNldCBGaWx0ZXJzJ1xuICB8ICdHcm91cCBmcm9tIFNldHRpbmdzJ1xuICB8ICdHcm91cCBmcm9tIFRvb2xiYXInXG4gIHwgJ0V4cG9ydCdcbiAgfCAnQ29sbGFwc2UgRXhwYW5kJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLXRvb2xiYXItdjInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkVjJUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IE1BWF9WSVNJQkxFX1JPV19BQ1RJT05TID0gNTtcbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfVklTSUJMRV9HUklEX0FDVElPTlMgPSAyO1xuICBwcml2YXRlIF9tYXhSb3dBY3Rpb25zID0gdGhpcy5NQVhfVklTSUJMRV9ST1dfQUNUSU9OUztcblxuICBAVmlld0NoaWxkKCdncm91cFRyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgZ3JvdXBUcmlnZ2VyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzZXR0aW5nc1RyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgc2V0dGluZ3NUcmlnZ2VyOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIGRpc3BsYXlFeHBvcnQgPSB0cnVlO1xuICBjcmVhdGVBY3Rpb246IEdyaWRBY3Rpb247XG4gIHJvd0FjdGlvbnM6IHsgbWFpbkxpc3Q6IFJvd0FjdGlvbltdOyBtb3JlTWVudTogUm93QWN0aW9uW10gfSA9IHsgbWFpbkxpc3Q6IFtdLCBtb3JlTWVudTogW10gfTtcbiAgZ3JpZEFjdGlvbnM6IHsgbWFpbkxpc3Q6IEdyaWRBY3Rpb25bXTsgbW9yZU1lbnU6IEdyaWRBY3Rpb25bXSB9ID0geyBtYWluTGlzdDogW10sIG1vcmVNZW51OiBbXSB9O1xuXG4gIEBJbnB1dCgpIHNldCBtYXhSb3dBY3Rpb25zKG1heFJvd0FjdGlvbnM6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmVuYWJsZVYyXzEpIHtcbiAgICAgIHRoaXMuX21heFJvd0FjdGlvbnMgPSBNYXRoLm1pbihtYXhSb3dBY3Rpb25zLCB0aGlzLk1BWF9WSVNJQkxFX1JPV19BQ1RJT05TKTtcbiAgICAgIGlmIChtYXhSb3dBY3Rpb25zID4gdGhpcy5NQVhfVklTSUJMRV9ST1dfQUNUSU9OUyAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYERhdG9HcmlkIFYyLjEgLSBtYXhSb3dBY3Rpb25zIGNhbm5vdCBiZSBvdmVyICR7dGhpcy5NQVhfVklTSUJMRV9ST1dfQUNUSU9OU31gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWF4Um93QWN0aW9ucyA9IG1heFJvd0FjdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgaGlkZUdyb3VwaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlciA9IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybSgnY29yZS5zZWFyY2gnKTtcbiAgQElucHV0KCkgcm93QWN0aW9uc1Nob3J0TGFiZWxUaHJlc2hvbGQ6IEdyaWRSb3dBY3Rpb25zU2NyZWVuVGhyZXNob2xkID0gMTUzOTtcbiAgQElucHV0KCkgZGlzcGxheUN1c3RvbUdyaWRBY3Rpb25zU2VwYXJhdG9yID0gdHJ1ZTtcblxuICBvcGVuTWVudXMgPSB7XG4gICAgZ3JvdXA6IGZhbHNlLFxuICAgIHNldHRpbmdzOiBmYWxzZVxuICB9O1xuICByb3dHcm91cHNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgZ3JvdXBzQWxsb3dlZCA9ICF0aGlzLmhpZGVHcm91cGluZztcbiAgaXNTZWxlY3RlZFJvdyA9IGZhbHNlO1xuICBpc1RyZWVNb2RlOiBib29sZWFuID0gdGhpcy5ncmlkU2VydmljZS50cmVlRGF0YTtcbiAgdG90YWxSb3dzQ291bnQgPSAwO1xuICBzZWxlY3RlZFJvd3NDb3VudCA9IDA7XG4gIGFsbFBhZ2VSb3dzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgd2lkdGhUb0hpZGVBY3Rpb25zTGFiZWxzOiBHcmlkUm93QWN0aW9uc1NjcmVlblRocmVzaG9sZCA9IDE0Mzk7XG5cbiAgZ2V0IGVuYWJsZVYyXzEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZE9wdGlvbnMuZW5hYmxlVjJfMTtcbiAgfVxuXG4gIGdldCBlbmFibGVTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZE9wdGlvbnMuZW5hYmxlU2VhcmNoO1xuICB9XG5cbiAgZ2V0IGVuYWJsZUJhY2tncm91bmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZE9wdGlvbnMuZW5hYmxlQmFja2dyb3VuZDtcbiAgfVxuXG4gIGdldCBpc1Jvd0FjdGlvbnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5lbmFibGVWMl8xIHx8ICh0aGlzLmVuYWJsZVYyXzEgJiYgdGhpcy5pc1NlbGVjdGVkUm93KTtcbiAgfVxuXG4gIGdldCBoYXNSb3dBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaXplKHRoaXMucm93QWN0aW9ucy5tYWluTGlzdCkgPiAwIHx8IHNpemUodGhpcy5yb3dBY3Rpb25zLm1vcmVNZW51KSA+IDA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZ3JpZENvbnRyb2xsZXI6IERhdG9HcmlkQ29udHJvbGxlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IERhdG9UcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9wb3ZlcjogRGF0b1BvcG92ZXIsXG4gICAgcHJpdmF0ZSBncmlkUXVlcnk6IEdyaWRRdWVyeSxcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZVxuICApIHt9XG5cbiAgZ2V0IGhpZGRlbkNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIGAoJHt0aGlzLmdyaWRRdWVyeS5nZXRBbGxEaXNwbGF5ZWRDb2x1bW5zKCkubGVuZ3RofS8ke3RoaXMuZ3JpZFF1ZXJ5LmdldEFsbENvbHVtbnMoKS5sZW5ndGh9KWA7XG4gIH1cblxuICBnZXQgaGFzQWN0aXZlTW9yZUFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucm93QWN0aW9ucy5tb3JlTWVudS5zb21lKCh7IHZpc2libGUgfSkgPT4gdmlzaWJsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBhcGkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFF1ZXJ5LmFwaTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGRhdGFDaGFuZ2VzID0gdGhpcy5ncmlkQ29udHJvbGxlci5ncmlkUXVlcnkud2FpdEZvckdyaWQoKCkgPT5cbiAgICAgIG1lcmdlKFxuICAgICAgICB0aGlzLmdyaWRRdWVyeS5ncmlkUmVmLmNlbGxWYWx1ZUNoYW5nZWQsXG4gICAgICAgIHRoaXMuZ3JpZFF1ZXJ5LmdyaWRSZWYucm93RGF0YVVwZGF0ZWQsXG4gICAgICAgIHRoaXMuZ3JpZFF1ZXJ5LnJvd0FjdGlvblZpc2liaWxpdHlDaGFuZ2VkJFxuICAgICAgKS5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICApO1xuICAgIGNvbnN0IGdyaWRJbml0ID0gdGhpcy5ncmlkUXVlcnkuZ3JpZFJlYWR5JC5waXBlKHRha2UoMSkpO1xuICAgIGdyaWRJbml0LnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmdyb3Vwc0FsbG93ZWQgPSAhdGhpcy5oaWRlR3JvdXBpbmcgJiYgIXRoaXMuZ3JpZFF1ZXJ5LmdldFZhbHVlKCkuc2VydmVyU2lkZVBhZ2luYXRpb24uZW5hYmxlZDtcbiAgICB9KTtcbiAgICB0aGlzLmluaXRHcmlkQWN0aW9ucygpO1xuICAgIGNvbnN0IHNlbGVjdGVkUm93c0NoYW5nZWQkID0gdGhpcy5ncmlkUXVlcnkuc2VsZWN0ZWRSb3dzQ2hhbmdlJDtcbiAgICBjb25zdCBpc1NlbGVjdEFsbFJvd3NDaGFuZ2VkJCA9IHRoaXMuZ3JpZFF1ZXJ5LnNlbGVjdElzU2VsZWN0QWxsUm93c0VuYWJsZWQoKTtcbiAgICBtZXJnZShkYXRhQ2hhbmdlcywgZ3JpZEluaXQsIHNlbGVjdGVkUm93c0NoYW5nZWQkLCBpc1NlbGVjdEFsbFJvd3NDaGFuZ2VkJClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLmFwaSksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXNvbHZlVmlzaWJsZUFjdGlvbnMoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgdGhpcy5yZWdpc3Rlckdyb3VwTGlzdGVuZXJzKCk7XG5cbiAgICB0aGlzLnN1YnNjcmliZVJvd3NTZWxlY3Rpb25EYXRhKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVSZWxvYWRHcmlkQWN0aW9ucygpO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IEJhc2VUb29sYmFyQWN0aW9uKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oYWN0aW9uLm9uQ2xpY2spKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFJvd3NDb3VudCA9IHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFF1ZXJ5LmdldFNlbGVjdGVkUm93c0NvdW50KCk7XG4gICAgICB0aGlzLmdyaWRTZXJ2aWNlLl9sb2dFdmVudChDb3JlRXZlbnRUeXBlcy5HUklEX1RBQkxFX0FDVElPTiwge1xuICAgICAgICBhY3Rpb246IGFjdGlvbi5rZXksXG4gICAgICAgIG51bU9mSXRlbXM6IHNlbGVjdGVkUm93c0NvdW50LFxuICAgICAgICBmcm9tOiAnVG9vbGJhcidcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMuZ3JpZFF1ZXJ5LmlzU2VydmVyU2VsZWN0QWxsUm93c0VuYWJsZWQpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0QWxsRmlsdGVyID0gdGhpcy5ncmlkU2VydmljZS5nZXRGaWx0ZXJGb3JTZXJ2ZXJBY3Rpb25PblNlbGVjdEFsbCgpO1xuICAgICAgICBhY3Rpb24ub25DbGljayhudWxsLCB0cnVlLCBzZWxlY3RBbGxGaWx0ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRRdWVyeS5nZXRTZWxlY3RlZFJvd05vZGVzKCk7XG4gICAgICAgIGFjdGlvbi5vbkNsaWNrKHNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKChhY3Rpb24gYXMgR3JpZEFjdGlvbikuYWN0aW9uVHlwZSA9PT0gR3JpZEFjdGlvblR5cGUuRVhQT1JUKSB7XG4gICAgICB0aGlzLmV4ZWN1dGVUYWJsZUFjdGlvbignRXhwb3J0Jyk7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZVZpc2libGVBY3Rpb25zKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5ncmlkUXVlcnkuZ2V0U2VsZWN0ZWRSb3dOb2RlcygpO1xuICAgIHRoaXMuaXNTZWxlY3RlZFJvdyA9IHNlbGVjdGVkLmxlbmd0aCA+IDAgfHwgdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTZWxlY3RBbGxSb3dzRW5hYmxlZDtcbiAgICBjb25zdCB2aXNpYmxlQWN0aW9ucyA9IGdldFZpc2libGVBY3Rpb25zKFxuICAgICAgdGhpcy5ncmlkQ29udHJvbGxlci5yb3dBY3Rpb25zLFxuICAgICAgdGhpcy5ncmlkUXVlcnkuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKSxcbiAgICAgIHNlbGVjdGVkLFxuICAgICAgdGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTZWxlY3RBbGxSb3dzRW5hYmxlZFxuICAgICkuZmlsdGVyKChhY3Rpb246IFJvd0FjdGlvbikgPT4gIXRoaXMuaXNSb3dBY3Rpb25IaWRkZW4oYWN0aW9uKSk7XG4gICAgdGhpcy5yb3dBY3Rpb25zID0ge1xuICAgICAgbWFpbkxpc3Q6IHZpc2libGVBY3Rpb25zLnNsaWNlKDAsIHRoaXMuX21heFJvd0FjdGlvbnMpLFxuICAgICAgbW9yZU1lbnU6IHZpc2libGVBY3Rpb25zLnNsaWNlKHRoaXMuX21heFJvd0FjdGlvbnMsIHZpc2libGVBY3Rpb25zLmxlbmd0aClcbiAgICB9O1xuICAgIHRoaXMuaW5pdFdpZHRoVG9IaWRlQWN0aW9uc0xhYmVscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0V2lkdGhUb0hpZGVBY3Rpb25zTGFiZWxzKCkge1xuICAgIGNvbnN0IHZpc2libGVBY3Rpb25zQ291bnQgPVxuICAgICAgdGhpcy5yb3dBY3Rpb25zLm1haW5MaXN0Lmxlbmd0aCArXG4gICAgICAodGhpcy5yb3dBY3Rpb25zLm1vcmVNZW51Lmxlbmd0aCA+IDAgPyAxIDogMCkgK1xuICAgICAgKHRoaXMuZ3JpZEFjdGlvbnMubW9yZU1lbnUubGVuZ3RoID4gMCA/IDEgOiAwKSArXG4gICAgICAodGhpcy5jcmVhdGVBY3Rpb24gPyAxIDogMCk7XG5cbiAgICBjb25zdCB3aW5kb3dXaWR0aFRocmVzaG9sZHM6IEdyaWRSb3dBY3Rpb25zU2NyZWVuVGhyZXNob2xkW10gPSBbMTIzOSwgMTMzOSwgMTQzOSwgMTUzOV07XG4gICAgdGhpcy53aWR0aFRvSGlkZUFjdGlvbnNMYWJlbHMgPVxuICAgICAgd2luZG93V2lkdGhUaHJlc2hvbGRzW01hdGgubWluKE1hdGgubWF4KHZpc2libGVBY3Rpb25zQ291bnQgLSA1LCAwKSwgd2luZG93V2lkdGhUaHJlc2hvbGRzLmxlbmd0aCAtIDEpXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEdyaWRBY3Rpb25zKCkge1xuICAgIGNvbnN0IGdyaWRBY3Rpb25zID0gdGhpcy5ncmlkQ29udHJvbGxlci5ncmlkQWN0aW9ucztcbiAgICB0aGlzLmluaXRDcmVhdGVBY3Rpb24oZ3JpZEFjdGlvbnMpO1xuICAgIHRoaXMuaW5pdEV4cG9ydEFjdGlvbihncmlkQWN0aW9ucyk7XG4gICAgbGV0IG1heFZpc2libGVBY3Rpb25zID0gdGhpcy5NQVhfVklTSUJMRV9HUklEX0FDVElPTlMgLSAodGhpcy5kaXNwbGF5RXhwb3J0ID8gMSA6IDApO1xuICAgIGlmIChzaXplKGdyaWRBY3Rpb25zKSA9PT0gbWF4VmlzaWJsZUFjdGlvbnMgKyAxKSB7XG4gICAgICBtYXhWaXNpYmxlQWN0aW9ucysrO1xuICAgIH1cbiAgICB0aGlzLmdyaWRBY3Rpb25zID0ge1xuICAgICAgbWFpbkxpc3Q6IGdyaWRBY3Rpb25zLnNsaWNlKDAsIG1heFZpc2libGVBY3Rpb25zKSxcbiAgICAgIG1vcmVNZW51OiBncmlkQWN0aW9ucy5zbGljZShtYXhWaXNpYmxlQWN0aW9ucywgZ3JpZEFjdGlvbnMubGVuZ3RoKVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGluaXRDcmVhdGVBY3Rpb24oZ3JpZEFjdGlvbnM6IEdyaWRBY3Rpb25bXSkge1xuICAgIGNvbnN0IGNyZWF0ZUFjdGlvbkluZGV4ID0gZ3JpZEFjdGlvbnMuZmluZEluZGV4KCh7IGFjdGlvblR5cGUgfSkgPT4gYWN0aW9uVHlwZSA9PT0gR3JpZEFjdGlvblR5cGUuQ1JFQVRFKTtcbiAgICB0aGlzLmNyZWF0ZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbkluZGV4ID49IDAgPyBncmlkQWN0aW9ucy5zcGxpY2UoY3JlYXRlQWN0aW9uSW5kZXgsIDEpWzBdIDogbnVsbDtcbiAgICBpZiAodGhpcy5jcmVhdGVBY3Rpb24pIHtcbiAgICAgIHRoaXMuY3JlYXRlQWN0aW9uLmxhYmVsID0gdGhpcy5jcmVhdGVBY3Rpb24ubGFiZWwgfHwgJ2NvcmUuY3JlYXRlLW5ldyc7XG4gICAgICB0aGlzLmNyZWF0ZUFjdGlvbi5rZXkgPSB0aGlzLmNyZWF0ZUFjdGlvbi5rZXkgfHwgJ2NyZWF0ZS1uZXcnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEV4cG9ydEFjdGlvbihncmlkQWN0aW9uczogR3JpZEFjdGlvbltdKSB7XG4gICAgY29uc3QgZXhwb3J0QWN0aW9uID0gZ3JpZEFjdGlvbnMuZmluZCgoeyBhY3Rpb25UeXBlIH0pID0+IGFjdGlvblR5cGUgPT09IEdyaWRBY3Rpb25UeXBlLkVYUE9SVCk7XG4gICAgaWYgKGV4cG9ydEFjdGlvbikge1xuICAgICAgY29uc3QgeyBvbkNsaWNrLCBpY29uLCBsYWJlbCwgdG9vbHRpcCwga2V5IH0gPSBleHBvcnRBY3Rpb247XG4gICAgICBleHBvcnRBY3Rpb24ub25DbGljayA9IG9uQ2xpY2sgfHwgKCgpID0+IHRoaXMuZXhlY3V0ZVRhYmxlQWN0aW9uKCdFeHBvcnQnKSk7XG4gICAgICBleHBvcnRBY3Rpb24uaWNvbiA9IGljb24gfHwgJ2V4cG9ydCc7XG4gICAgICBleHBvcnRBY3Rpb24ubGFiZWwgPSBsYWJlbCB8fCAnY29yZS5leHBvcnQtdGFibGUnO1xuICAgICAgZXhwb3J0QWN0aW9uLnRvb2x0aXAgPSB0b29sdGlwIHx8ICdjb3JlLmV4cG9ydC10YWJsZSc7XG4gICAgICBleHBvcnRBY3Rpb24ua2V5ID0ga2V5IHx8ICdleHBvcnQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIGFjdGlvblxuICAgKi9cbiAgZXhlY3V0ZVRhYmxlQWN0aW9uKGFjdGlvbjogVGFibGVBY3Rpb24pIHtcbiAgICB0aGlzLmdyaWRTZXJ2aWNlLl9sb2dFdmVudChDb3JlRXZlbnRUeXBlcy5HUklEX0dFTkVSQUxfVEFCTEVfQUNUSU9OLCB7IGFjdGlvbiB9KTtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAnQXV0b2ZpdCB0byBDb250ZW50JzpcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5maXRHcmlkKCdjb250ZW50Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXV0b2ZpdCB0byBQYWdlJzpcbiAgICAgICAgdGhpcy5ncmlkU2VydmljZS5maXRHcmlkKCdjb250YWluZXInKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdDb2xsYXBzZSBFeHBhbmQnOlxuICAgICAgICB0aGlzLnRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXhwb3J0JzpcbiAgICAgICAgdGhpcy5leHBvcnRUYWJsZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0dyb3VwIGZyb20gU2V0dGluZ3MnOlxuICAgICAgY2FzZSAnR3JvdXAgZnJvbSBUb29sYmFyJzpcbiAgICAgICAgdGhpcy5vcGVuR3JvdXBNZW51KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUmVzZXQgRmlsdGVycyc6XG4gICAgICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUmVzZXQgU2V0dGluZ3MnOlxuICAgICAgICB0aGlzLnJlc2V0U2V0dGluZ3MoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdTaG93IEhpZGUgQ29sdW1uJzpcbiAgICAgICAgdGhpcy5vcGVuQ29sdW1uTWVudSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICB0aGlzLnJvd0dyb3Vwc0NvbGxhcHNlZCA/IHRoaXMuYXBpLmdyaWQuZXhwYW5kQWxsKCkgOiB0aGlzLmFwaS5ncmlkLmNvbGxhcHNlQWxsKCk7XG4gICAgdGhpcy5yb3dHcm91cHNDb2xsYXBzZWQgPSAhdGhpcy5yb3dHcm91cHNDb2xsYXBzZWQ7XG4gIH1cblxuICBnZXQgaGFzR3JvdXBzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFwaS5jb2x1bW5zLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBleHBvcnRUYWJsZSgpIHtcbiAgICBjb25zdCB7IGdyaWROYW1lLCBleHBvcnRHcmlkIH0gPSB0aGlzLmdyaWRDb250cm9sbGVyLmdyaWRPcHRpb25zO1xuICAgIGlmIChpc0Z1bmN0aW9uKGV4cG9ydEdyaWQpKSB7XG4gICAgICBleHBvcnRHcmlkKHsgLi4udGhpcy5hcGksIC4uLnRoaXMuZ3JpZFF1ZXJ5LmdldFZhbHVlKCkuc2V0dGluZ3MgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRvZGF5ID0gZm9ybWF0KG5ldyBEYXRlKCksIERFRkFVTFRfRk9STUFUKTtcbiAgICAgIHRoaXMuYXBpLmdyaWQuZXhwb3J0RGF0YUFzRXhjZWwoe1xuICAgICAgICBmaWxlTmFtZTogYCR7Z3JpZE5hbWV9IC0gJHt0b2RheX1gLFxuICAgICAgICBwcm9jZXNzQ2VsbENhbGxiYWNrOiAoeyBjb2x1bW4sIHZhbHVlIH06IFByb2Nlc3NDZWxsRm9yRXhwb3J0UGFyYW1zKSA9PiB7XG4gICAgICAgICAgY29uc3QgZm9ybWF0dGVyID0gY29sdW1uLmdldENvbERlZigpLnZhbHVlRm9ybWF0dGVyO1xuICAgICAgICAgIC8vIFRPRE86IGZvbGxvd3VwOiBodHRwczovL2FnLWdyaWQuemVuZGVzay5jb20vaGMvZW4tdXMvcmVxdWVzdHMvMTA5NjM/cGFnZT0xXG4gICAgICAgICAgcmV0dXJuIGZvcm1hdHRlciA/IGZvcm1hdHRlcih7IHZhbHVlIH0gYXMgYW55KSA6IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXNldFNldHRpbmdzKCkge1xuICAgIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFNlcnZpY2UucmVzZXRUYWJsZVNldHRpbmdzKCk7XG4gIH1cblxuICBvcGVuQ29sdW1uTWVudSgpIHtcbiAgICB0aGlzLnBvcG92ZXIub3BlbihEYXRvR3JpZENvbHVtbkRpc3BsYXlNZW51Q29tcG9uZW50LCB0aGlzLnNldHRpbmdzVHJpZ2dlci5uYXRpdmVFbGVtZW50LCB7XG4gICAgICB3aWR0aDogMjIwLFxuICAgICAgY2xhc3NOYW1lOiAnZGF0by1ncmlkLWNvbHVtbnMtZGlzcGxheS1tZW51JyxcbiAgICAgIHBvcHBlcjogeyBwbGFjZW1lbnQ6ICdib3R0b20tZW5kJyB9LFxuICAgICAgZGF0YToge1xuICAgICAgICBhcGk6IHRoaXMuYXBpLFxuICAgICAgICBncmlkU2VydmljZTogdGhpcy5ncmlkU2VydmljZSxcbiAgICAgICAgZ3JpZFF1ZXJ5OiB0aGlzLmdyaWRRdWVyeVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZ3JpZENvbnRyb2xsZXIuZ3JpZFNlcnZpY2UuY2xlYXJBbGxGaWx0ZXJzKCk7XG4gIH1cblxuICBvcGVuR3JvdXBNZW51KCkge1xuICAgIHRoaXMub3Blbk1lbnVzLmdyb3VwID0gdHJ1ZTtcbiAgICBjb25zdCB3YWl0Rm9yQW5pbWF0aW9uID0gdGhpcy5oYXNHcm91cHMgPyAwIDogMjAwO1xuICAgIC8qKiBXaGVuIGNoYW5naW5nIHRoZSB0YWJsZXMgZ3JvdXBpbmcgYWxsIHRoZSByb3dzIGFyZSBhdXRvbWF0aWNhbGx5IGV4cGFuZGVkLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaWNvbiBzdGF0ZSAqL1xuICAgIGNvbnN0IGV4cGFuZFN1YnNjcmlwdGlvbiA9IHRoaXMuZ3JpZFF1ZXJ5LmdyaWRSZWYuY29sdW1uUm93R3JvdXBDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJvd0dyb3Vwc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucG9wb3ZlclxuICAgICAgICAub3BlbihEYXRvR3JpZEdyb3Vwc01lbnVDb21wb25lbnQsIHRoaXMuZ3JvdXBUcmlnZ2VyLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBoZWlnaHQ6IDIwNixcbiAgICAgICAgICB3aWR0aDogMjUwLFxuICAgICAgICAgIGNsYXNzTmFtZTogJ2RhdG8tZ3JpZC1ncm91cHMtbWVudScsXG4gICAgICAgICAgcG9wcGVyOiB7IHBsYWNlbWVudDogJ2JvdHRvbS1lbmQnIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgYXBpOiB0aGlzLmFwaSxcbiAgICAgICAgICAgIGdyaWRTZXJ2aWNlOiB0aGlzLmdyaWRTZXJ2aWNlXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgZXhwYW5kU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5vcGVuTWVudXMuZ3JvdXAgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH0sIHdhaXRGb3JBbmltYXRpb24pO1xuICB9XG5cbiAgaXNBY3Rpb25EaXNhYmxlZChyb3dBY3Rpb246IFJvd0FjdGlvbikge1xuICAgIHJldHVybiAhcm93QWN0aW9uLnZpc2libGU7XG4gIH1cblxuICBpc1Jvd0FjdGlvbkhpZGRlbihyb3dBY3Rpb246IFJvd0FjdGlvbikge1xuICAgIHJldHVybiAhcm93QWN0aW9uLnZpc2libGUgJiYgdGhpcy5lbmFibGVWMl8xO1xuICB9XG5cbiAgY2xlYXJTZWxlY3RlZFJvd3MoKSB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5kZXNlbGVjdEFsbFJvd3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge31cblxuICBwcml2YXRlIGdldENvbGxhcHNlU3RhdGUoeyBub2RlLCBhcGkgfTogUm93R3JvdXBPcGVuZWRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGxldCBjb2xsYXBzZWQgPSB0cnVlO1xuICAgIGlmIChub2RlLnJvd0dyb3VwSW5kZXggPT09IDApIHtcbiAgICAgIGFwaS5mb3JFYWNoTm9kZUFmdGVyRmlsdGVyQW5kU29ydCgoeyBleHBhbmRlZCwgcm93R3JvdXBJbmRleCB9OiBSb3dOb2RlKSA9PiB7XG4gICAgICAgIGlmIChyb3dHcm91cEluZGV4ID09PSAwICYmIGV4cGFuZGVkKSB7XG4gICAgICAgICAgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gY29sbGFwc2VkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3Rlckdyb3VwTGlzdGVuZXJzKCkge1xuICAgIC8qKiBMaXN0ZW4gdG8gYWRkaW5nIG9yIHJlbW92aW5nIHJvdyBncm91cHMgZnJvbSB0aGUgY29sdW1ucyBhbmQgbm90IHRoZSBncm91cHMgbWVudSAqL1xuICAgIHRoaXMuZ3JpZFF1ZXJ5XG4gICAgICAud2FpdEZvckdyaWQoKCkgPT4gdGhpcy5ncmlkUXVlcnkuZ3JpZFJlZi5jb2x1bW5Sb3dHcm91cENoYW5nZWQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLm9wZW5NZW51cy5ncm91cCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yb3dHcm91cHNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgLyoqIExpc3RlbiB0byByb3cgY29sbGFwc2Ugc3RhdGUgdG8gdXBkYXRlIHRoZSBpY29uICovXG4gICAgdGhpcy5ncmlkUXVlcnlcbiAgICAgIC53YWl0Rm9yR3JpZCgoKSA9PiB0aGlzLmdyaWRRdWVyeS5ncmlkUmVmLnJvd0dyb3VwT3BlbmVkKVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogUm93R3JvdXBPcGVuZWRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBjb2xsYXBzZWQgPSB0aGlzLmdldENvbGxhcHNlU3RhdGUoZXZlbnQpO1xuICAgICAgICBpZiAoY29sbGFwc2VkICE9PSB0aGlzLnJvd0dyb3Vwc0NvbGxhcHNlZCkge1xuICAgICAgICAgIHRoaXMucm93R3JvdXBzQ29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVJvd3NTZWxlY3Rpb25EYXRhKCkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5LnJvd3NTZWxlY3Rpb25EYXRhJFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoe1xuICAgICAgICAgIHRvdGFsUm93c0NvdW50LFxuICAgICAgICAgIHNlbGVjdGVkUm93c0NvdW50LFxuICAgICAgICAgIHNlbGVjdGVkUGFnZVJvd3NDb3VudCxcbiAgICAgICAgICBpc0FsbFBhZ2VSb3dzU2VsZWN0ZWRcbiAgICAgICAgfTogR3JpZFJvd3NTZWxlY3Rpb25EYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy50b3RhbFJvd3NDb3VudCA9IHRvdGFsUm93c0NvdW50O1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQgPSBzZWxlY3RlZFJvd3NDb3VudDtcbiAgICAgICAgICBjb25zdCB7IGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uIH0gPSB0aGlzLmdyaWRRdWVyeS5nZXRHcmlkT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuYWxsUGFnZVJvd3NTZWxlY3RlZCA9XG4gICAgICAgICAgICBlbmFibGVBbGxQYWdlc1NlbGVjdGlvbiAmJlxuICAgICAgICAgICAgaXNBbGxQYWdlUm93c1NlbGVjdGVkICYmXG4gICAgICAgICAgICBzZWxlY3RlZFJvd3NDb3VudCA9PT0gc2VsZWN0ZWRQYWdlUm93c0NvdW50ICYmXG4gICAgICAgICAgICBzZWxlY3RlZFJvd3NDb3VudCA8IHRvdGFsUm93c0NvdW50O1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlUmVsb2FkR3JpZEFjdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkU2VydmljZS5vblJlbG9hZEdyaWRBY3Rpb25zKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaW5pdEdyaWRBY3Rpb25zKCk7XG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RBbGxQYWdlcygpIHtcbiAgICBpZiAodGhpcy5ncmlkUXVlcnkuaXNTZXJ2ZXJTaWRlKSB7XG4gICAgICB0aGlzLmdyaWRTZXJ2aWNlLnNldFNlcnZlclNpZGVQYWdpbmF0aW9uKHsgc2VsZWN0QWxsUm93c0VuYWJsZWQ6IHRydWUsIGV4Y2x1ZGVkRnJvbVNlbGVjdEFsbDogW10gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ3JpZFNlcnZpY2UuYXBpLmdyaWQuc2VsZWN0QWxsRmlsdGVyZWQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -20,6 +20,7 @@ import { addClass, removeClass } from '../../internal/helpers';
|
|
|
20
20
|
import { AgGridAngular } from 'ag-grid-angular';
|
|
21
21
|
import { DatoGridPaginationComponent } from '../grid-pagination/grid-pagination.component';
|
|
22
22
|
import { coerceArray } from '@datorama/akita';
|
|
23
|
+
import { copyToClipboard } from '../../directives/clipboard.directive';
|
|
23
24
|
var valueAccessor = {
|
|
24
25
|
provide: NG_VALUE_ACCESSOR,
|
|
25
26
|
useExisting: forwardRef(function () { return DatoGridComponent; }),
|
|
@@ -62,7 +63,35 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
62
63
|
rowDeselection: true,
|
|
63
64
|
unSortIcon: true,
|
|
64
65
|
animateRows: true,
|
|
65
|
-
rememberGroupStateWhenNewData: true
|
|
66
|
+
rememberGroupStateWhenNewData: true,
|
|
67
|
+
getContextMenuItems: function (params) {
|
|
68
|
+
return [
|
|
69
|
+
{
|
|
70
|
+
name: 'Copy',
|
|
71
|
+
action: function () {
|
|
72
|
+
var value = params.value;
|
|
73
|
+
copyToClipboard(value);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'Copy with Headers',
|
|
78
|
+
action: function () {
|
|
79
|
+
var value = params.value;
|
|
80
|
+
var headerName = params.column.getColDef().headerName;
|
|
81
|
+
copyToClipboard(headerName + "\n" + value);
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Paste',
|
|
86
|
+
action: function () {
|
|
87
|
+
//
|
|
88
|
+
},
|
|
89
|
+
disabled: true
|
|
90
|
+
},
|
|
91
|
+
'separator',
|
|
92
|
+
'export'
|
|
93
|
+
];
|
|
94
|
+
}
|
|
66
95
|
};
|
|
67
96
|
_this.infinitePagination = false;
|
|
68
97
|
_this.isRowsCollapsed = true;
|
|
@@ -110,7 +139,8 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
110
139
|
this.gridColumnApi = event.columnApi;
|
|
111
140
|
if (this.gridColumnApi.getRowGroupColumns().length >= 1) {
|
|
112
141
|
this.gridComponent.rowGroupOpened.pipe(untilDestroyed(this)).subscribe(function (event) { return _this.rowGroupStateChange(event); });
|
|
113
|
-
this.paginationComponent
|
|
142
|
+
this.paginationComponent &&
|
|
143
|
+
this.paginationComponent.toggleRowGroup.pipe(untilDestroyed(this)).subscribe(function () { return _this.toggleCollapseState(); });
|
|
114
144
|
}
|
|
115
145
|
this.cdr.detectChanges();
|
|
116
146
|
this.gridReady.emit(event);
|
|
@@ -228,7 +258,7 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
228
258
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
229
259
|
encapsulation: ViewEncapsulation.None,
|
|
230
260
|
providers: [valueAccessor],
|
|
231
|
-
styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
|
|
261
|
+
styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/font-woff;charset=utf-8;base64,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\") format(\"woff\"),url(\"data:application/x-font-ttf;charset=utf-8;base64,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AAAAdAAAADoAAAB1AAAAdQAAAEkAAAB2AAAAdgAAAE4AAAB3AAAAdwAAAD4AAAB4AAAAeAAAAEUAAAB5AAAAeQAAAEsAAAB6AAAAegAAAE0AAPEBAADxAQAAAAEAAPECAADxAgAAAAIAAPEDAADxAwAAAAMAAPEEAADxBAAAAAQAAPEFAADxBQAAAAUAAPEGAADxBgAAAAYAAPEHAADxBwAAAAcAAPEIAADxCAAAAAgAAPEJAADxCQAAAAkAAPEKAADxCgAAAAoAAPELAADxCwAAAAsAAPEMAADxDAAAAAwAAPENAADxDQAAAA0AAPEOAADxDgAAAA4AAPEPAADxDwAAAA8AAPEQAADxEAAAABAAAPERAADxEQAAABEAAPESAADxEgAAABIAAPETAADxEwAAABMAAPEUAADxFAAAABUAAPEVAADxFQAAABYAAPEWAADxFgAAABcAAPEXAADxFwAAABgAAPEYAADxGAAAABkAAPEZAADxGQAAABoAAPEaAADxGgAAABsAAPEbAADxGwAAABwAAPEcAADxHAAAAB0AAPEdAADxHQAAAB4AAPEeAADxHgAAAB8AAPEfAADxHwAAACAAAPEgAADxIAAAACEAAPEhAADxIQAAACIAAPEiAADxIgAAACMAAPEjAADxIwAAACQAAPEkAADxJAAAACUAAPElAADxJQAAACYAAPEmAADxJgAAACcAAPEnAADxJwAAACgAAPEoAADxKAAAACkAAPEpAADxKQAAACoAAPEqAADxKgAAACsAAPErAADxKwAAACwAAPEsAADxLAAAAC0AAPEtAADxLQAAAC4AAPEuAADxLgAAAC8AAPEvAADxLwAAADAAAPEwAADxMAAAADEAAPExAADxMQAAADIAAPEyAADxMgAAADMAAPEzAADxMwAAADEAAPE0AADxNAAAACIAAPE1AADxNQAAAC8AAPE2AADxNgAAADQAAAAAABgAUgBqAIQA0AEUAVQBjAG+AdQCAAJIAmwCjgMUA2YDfgO+BCQEigTmBPwFFgViBaYF+AYQBigG0AcCB1QHcAfCB9AH4ggECFoIeAiUCPYJCgkcCWIJvAnUCf4KDAoaCigKNgpKCtQLXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteAAEAAAAAAzYDawAJ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AHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVAAC2FnZ3JlZ2F0aW9uBmFycm93cwNhc2MGY2FuY2VsBWNoYXJ0EGNoZWNrYm94LWNoZWNrZWQWY2hlY2tib3gtaW5kZXRlcm1pbmF0ZRJjaGVja2JveC11bmNoZWNrZWQMY29sb3ItcGlja2VyBmNvbHVtbgdjb2x1bW5zCmNvbnRyYWN0ZWQEY29weQVjcm9zcwNjdXQEZGF0YQRkZXNjCGV4cGFuZGVkCWV5ZS1zbGFzaAtleWUtc2xhc2gtMQNleWUGZmlsdGVyBWZpcnN0BGdyaXAFZ3JvdXANaW5kZXRlcm1pbmF0ZQRsYXN0BGxlZnQGbGlua2VkB2xvYWRpbmcIbWF4aW1pemUEbWVudQhtaW5pbWl6ZQVtaW51cwRuZXh0BG5vbmULbm90LWFsbG93ZWQFcGFzdGUDcGluBXBpdm90BHBsdXMIcHJldmlvdXMQcmFkaW8tYnV0dG9uLW9mZg9yYWRpby1idXR0b24tb24FcmlnaHQEc2F2ZQpzbWFsbC1kb3duCnNtYWxsLWxlZnQLc21hbGwtcmlnaHQIc21hbGwtdXAEdGljawh1bmxpbmtlZAp1bmxpbmtlZC0xAWEBZwFyAWUBdAFpAW8BbgF3AXMBYwFsAWgBawFiAXgBLQFkAW0BdQFwAXkBZgF6AXYAAAA=\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
|
|
232
262
|
}),
|
|
233
263
|
__metadata("design:paramtypes", [DatoGridHelper,
|
|
234
264
|
ElementRef,
|
|
@@ -238,4 +268,4 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
238
268
|
return DatoGridComponent;
|
|
239
269
|
}(BaseCustomControl));
|
|
240
270
|
export { DatoGridComponent };
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBWXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLElB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QUFZO1lBQ3JCLGlCQUFpQjtPQTNFckIsaUJBQWlCLENBa003QjtJQUFELHdCQUFDO0NBQUEsQUFsTUQsQ0FBdUMsaUJBQWlCLEdBa012RDtTQWxNWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgRGF0b3JhbWEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gQXBhY2hlIExpY2Vuc2UgMi4wIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL2RhdG9yYW1hL2NsaWVudC1jb3JlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIEdyaWRPcHRpb25zLFxuICBHcmlkUmVhZHlFdmVudCxcbiAgQ29sRGVmLFxuICBDb2xHcm91cERlZixcbiAgUm93RGF0YUNoYW5nZWRFdmVudCxcbiAgUm93RGF0YVVwZGF0ZWRFdmVudCxcbiAgUm93R3JvdXBPcGVuZWRFdmVudCxcbiAgUm93Tm9kZVxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBJY29uUmVnaXN0cnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pY29uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IGdldEdyaWRJY29ucyB9IGZyb20gJy4vZ3JpZC1pY29ucyc7XG5pbXBvcnQgeyBCYXNlQ3VzdG9tQ29udHJvbCB9IGZyb20gJy4uLy4uL2N1c3RvbS1jb250cm9sL2Jhc2UtY3VzdG9tLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRBUEkgfSBmcm9tICcuLi9kYXRvLWdyaWQtYXBpJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRvR3JpZEhlbHBlciB9IGZyb20gJy4uL2dyaWQtaGVscGVyJztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCB7IERhdG9UYWJsZUFsaWdubWVudCB9IGZyb20gJy4uL2dyaWQudHlwZXMnO1xuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XG5cbmNvbnN0IHZhbHVlQWNjZXNzb3IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRvR3JpZENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3ZhbHVlQWNjZXNzb3JdXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUN1c3RvbUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgYXBpOiBEYXRvR3JpZEFQSTxhbnk+O1xuICBncmlkQ29sdW1uQXBpOiBDb2x1bW5BcGk7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgcm93RGF0YUNoYW5nZWQgPSBuZXcgU3ViamVjdDxSb3dEYXRhQ2hhbmdlZEV2ZW50IHwgUm93RGF0YVVwZGF0ZWRFdmVudD4oKTtcbiAgaGFzUGFnaW5hdGlvbiA9IHRydWU7XG4gIEBWaWV3Q2hpbGQoQWdHcmlkQW5ndWxhciwgeyBzdGF0aWM6IHRydWUgfSkgZ3JpZENvbXBvbmVudDogQWdHcmlkQW5ndWxhcjtcbiAgQFZpZXdDaGlsZChEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRpb25Db21wb25lbnQ6IERhdG9HcmlkUGFnaW5hdGlvbkNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBHcmlkT3B0aW9ucykge1xuICAgIG9wdGlvbnMuY29sdW1uRGVmcyA9IHRoaXMuZ3JpZEhlbHBlci5ub3JtYWxpemVDb2x1bW5zKG9wdGlvbnMuY29sdW1uRGVmcyk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4uKG9wdGlvbnMuZGVmYXVsdENvbERlZiB8fCB7fSlcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5zdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zLnJvd0NsYXNzID0gJ3NlbGVjdGFibGUnO1xuICAgIH1cbiAgICAvLyBjaGVjayBpZiB3ZSBnb3QgYSBwYWdpbmF0aW9uXG4gICAgdGhpcy5oYXNQYWdpbmF0aW9uID0gdGhpcy5ncmlkT3B0aW9ucy5wYWdpbmF0aW9uO1xuICAgIGNvbnN0IGNsYXNzRnVuYyA9IHRoaXMuaGFzUGFnaW5hdGlvbiA/IGFkZENsYXNzIDogcmVtb3ZlQ2xhc3M7XG4gICAgY2xhc3NGdW5jKHRoaXMuaG9zdEVsZW1lbnQsICdncmlkLXBhZ2luYXRpb24nKTtcbiAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdpbmZpbml0ZScgfHwgdGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdzZXJ2ZXJTaWRlJykge1xuICAgICAgdGhpcy5pbmZpbml0ZVBhZ2luYXRpb24gPSB0cnVlO1xuICAgICAgY29uc3QgeyBkZWZhdWx0Q29sRGVmIH0gPSB0aGlzLmdyaWRPcHRpb25zO1xuICAgICAgaWYgKGRlZmF1bHRDb2xEZWYuZmlsdGVyKSB7XG4gICAgICAgIGRlZmF1bHRDb2xEZWYuZmlsdGVyUGFyYW1zID0geyBuZXdSb3dzQWN0aW9uOiAna2VlcCcgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgZ3JpZFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD4oKTtcblxuICBwcml2YXRlIGljb25zO1xuICBwcml2YXRlIGFjdGl2ZU1lbnU7XG4gIHByaXZhdGUgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAvKiogUmVwbGFjZSB0aGUgYnVpbGQtaW4gcGFnaW5hdGlvbiAqL1xuICAgIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsOiB0cnVlLFxuICAgIHBhZ2luYXRpb246IHRydWUsXG4gICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICBmaWx0ZXI6ICdhZ1RleHRDb2x1bW5GaWx0ZXInLFxuICAgICAgbWVudVRhYnM6IFsnZmlsdGVyTWVudVRhYiddXG4gICAgfSxcbiAgICByb3dIZWlnaHQ6IDM1LFxuICAgIGhlYWRlckhlaWdodDogMzAsXG4gICAgb25Sb3dEYXRhQ2hhbmdlZDogZXZlbnQgPT4ge1xuICAgICAgdGhpcy5yb3dEYXRhQ2hhbmdlZC5uZXh0KGV2ZW50KTtcbiAgICB9LFxuICAgIG9uUm93RGF0YVVwZGF0ZWQ6IGV2ZW50ID0+IHtcbiAgICAgIHRoaXMucm93RGF0YUNoYW5nZWQubmV4dChldmVudCk7XG4gICAgfSxcbiAgICBvblNlbGVjdGlvbkNoYW5nZWQ6IGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkUm93cygpO1xuICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZFJvd3MpO1xuICAgIH0sXG4gICAgcm93U2VsZWN0aW9uOiAnbXVsdGlwbGUnLFxuICAgIHJvd0Rlc2VsZWN0aW9uOiB0cnVlLFxuICAgIHVuU29ydEljb246IHRydWUsXG4gICAgYW5pbWF0ZVJvd3M6IHRydWUsXG4gICAgcmVtZW1iZXJHcm91cFN0YXRlV2hlbk5ld0RhdGE6IHRydWVcbiAgfTtcbiAgaW5maW5pdGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIGlzUm93c0NvbGxhcHNlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBncmlkSGVscGVyOiBEYXRvR3JpZEhlbHBlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFwaSA9IG5ldyBEYXRvR3JpZEFQSSgpO1xuICAgIHRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmljb25zID0gZ2V0R3JpZEljb25zKCk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMgfTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IEdyaWRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm93RGF0YUNoYW5nZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBncmlkIHJlYWR5XG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2ZW50XG4gICAqL1xuICBvbkdyaWRSZWFkeShldmVudDogR3JpZFJlYWR5RXZlbnQpIHtcbiAgICAvLyBzZXQgZ3JpZCBBUElcbiAgICB0aGlzLmFwaS5ncmlkQXBpID0gZXZlbnQuYXBpO1xuICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IGV2ZW50LmNvbHVtbkFwaTtcbiAgICBpZiAodGhpcy5ncmlkQ29sdW1uQXBpLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+PSAxKSB7XG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQucm93R3JvdXBPcGVuZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMucm93R3JvdXBTdGF0ZUNoYW5nZShldmVudCkpO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LnRvZ2dsZVJvd0dyb3VwLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbGxhcHNlU3RhdGUoKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmdyaWRSZWFkeS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGFsaWduVGFibGUoYWxpZ25Nb2RlOiBEYXRvVGFibGVBbGlnbm1lbnQpIHtcbiAgICBpZiAoYWxpZ25Nb2RlID09PSBEYXRvVGFibGVBbGlnbm1lbnQuRklUX0NPTlRBSU5FUikge1xuICAgICAgdGhpcy5maXRUb0NvbnRhaW5lcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpdFRvQ29udGVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhZXQgdGhlIGNvbHVtbnMgZGVmaW5pdGlvbnNcbiAgICogQHBhcmFtIHsoQ29sRGVmIHwgQ29sR3JvdXBEZWYpW119IGNvbHVtbkRlZnNcbiAgICovXG4gIHVwZGF0ZUNvbHVtbnMoY29sdW1uRGVmczogKENvbERlZiB8IENvbEdyb3VwRGVmKVtdKSB7XG4gICAgdGhpcy5ncmlkSGVscGVyLnVwZGF0ZUNvbHVtbnModGhpcy5hcGkuZ3JpZEFwaSwgY29sdW1uRGVmcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgcm93cyA9IG9iaiA/IGNvZXJjZUFycmF5KG9iaikgOiBbXTtcblxuICAgIGlmICh0aGlzLmFwaS5yZWFkeSkge1xuICAgICAgdGhpcy5hcGkuc2V0U2VsZWN0ZWRSb3dzKHJvd3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB3YWl0IGZvciB0aGUgZ3JpZCB0byBiZSByZWFkeSBhbmQgdGhlIGRhdGEgaGFzIGJlZW4gc2V0XG4gICAgICBjb21iaW5lTGF0ZXN0KHRoaXMucm93RGF0YUNoYW5nZWQsIHRoaXMuZ3JpZFJlYWR5KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFwaS5zZXRTZWxlY3RlZFJvd3Mocm93cykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIGFnLWdyaWQncyBzaXplIGFsbCBjb2x1bW5zIHRvIGZpdCB0byBjb250YWluZXJcbiAgICovXG4gIHByaXZhdGUgZml0VG9Db250YWluZXIoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhbGwgYWctZ3JpZCdzIHNpemUgYWxsIGNvbHVtbnMgdG8gZml0IHRvIGNvbnRlbnRcbiAgICovXG4gIHByaXZhdGUgZml0VG9Db250ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpLmF1dG9TaXplQWxsQ29sdW1ucygpO1xuICAgIGNvbnN0IHsgd2lkdGggfSA9IHRoaXMuaG9zdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYWdCb2R5ID0gdGhpcy5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWctYm9keS1jb250YWluZXInKTtcbiAgICBjb25zdCBib2R5V2lkdGg6IG51bWJlciA9IGFnQm9keSA/IGFnQm9keS5jbGllbnRXaWR0aCA6IDA7XG4gICAgaWYgKHdpZHRoID4gYm9keVdpZHRoKSB7XG4gICAgICB0aGlzLmZpdFRvQ29udGFpbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3dHcm91cFN0YXRlQ2hhbmdlKGV2ZW50OiBSb3dHcm91cE9wZW5lZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Lm5vZGUucm93R3JvdXBJbmRleCA9PT0gMCkge1xuICAgICAgbGV0IGNvbGxhcHNlZCA9IHRydWU7XG4gICAgICBldmVudC5hcGkuZm9yRWFjaE5vZGUoKG5vZGU6IFJvd05vZGUpID0+IHtcbiAgICAgICAgaWYgKG5vZGUucm93R3JvdXBJbmRleCA9PT0gMCAmJiBub2RlLmV4cGFuZGVkKSB7XG4gICAgICAgICAgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc1Jvd3NDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICB0aGlzLnBhZ2luYXRpb25Db21wb25lbnQuaW5pdFBhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY29sbGFwc2UgYW5kIGV4cG9hbmQgYWxsIHRoZSBncm91cGVkIHJvd3MgaW4gY3Jvc3MgdGFiIHRhYmxlXG4gICAqIHdoZW4gdHJpZ2dlcmVkIGZyb20gdGhlIG5hdmlnYXRpb24tY29udHJvbCBwYW5lbFxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGVDb2xsYXBzZVN0YXRlKCkge1xuICAgIGlmICh0aGlzLmlzUm93c0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5hcGkuZ3JpZEFwaS5leHBhbmRBbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hcGkuZ3JpZEFwaS5jb2xsYXBzZUFsbCgpO1xuICAgIH1cbiAgICB0aGlzLmlzUm93c0NvbGxhcHNlZCA9ICF0aGlzLmlzUm93c0NvbGxhcHNlZDtcbiAgICB0aGlzLnBhZ2luYXRpb25Db21wb25lbnQuaW5pdFBhZ2luYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhvc3RFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU1lbnVJY29uKCkge1xuICAgIHJlbW92ZUNsYXNzKHRoaXMuYWN0aXZlTWVudSwgJ21lbnUtYWN0aXZlJyk7XG4gICAgdGhpcy5hY3RpdmVNZW51ID0gbnVsbDtcbiAgfVxufVxuIl19
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBWXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9B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SUFFTyx3Q0FBWSxHQUFwQjtRQUNFLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7O2dCQTFIcUIsY0FBYztnQkFDakIsVUFBVTtnQkFDTCxZQUFZO2dCQUNyQixpQkFBaUI7O0lBbkdZO1FBQTNDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBQWdCLGFBQWE7NERBQUM7SUFDZjtRQUF6RCxTQUFTLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBQXNCLDJCQUEyQjtrRUFBQztJQUczRztRQURDLEtBQUssRUFBRTs7O29EQXlCUDtJQUVTO1FBQVQsTUFBTSxFQUFFOzt3REFBZ0Q7SUFwQzlDLGlCQUFpQjtRQVI3QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsV0FBVztZQUNyQix5ekNBQW9DO1lBRXBDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3JDLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQzs7U0FDM0IsQ0FBQzt5Q0F1R3NCLGNBQWM7WUFDakIsVUFBVTtZQUNMLFlBQVk7WUFDckIsaUJBQWlCO09BekdyQixpQkFBaUIsQ0FpTzdCO0lBQUQsd0JBQUM7Q0FBQSxBQWpPRCxDQUF1QyxpQkFBaUIsR0FpT3ZEO1NBak9ZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbHVtbkFwaSxcbiAgR3JpZE9wdGlvbnMsXG4gIEdyaWRSZWFkeUV2ZW50LFxuICBDb2xEZWYsXG4gIENvbEdyb3VwRGVmLFxuICBSb3dEYXRhQ2hhbmdlZEV2ZW50LFxuICBSb3dEYXRhVXBkYXRlZEV2ZW50LFxuICBSb3dHcm91cE9wZW5lZEV2ZW50LFxuICBSb3dOb2RlXG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgZ2V0R3JpZEljb25zIH0gZnJvbSAnLi9ncmlkLWljb25zJztcbmltcG9ydCB7IEJhc2VDdXN0b21Db250cm9sIH0gZnJvbSAnLi4vLi4vY3VzdG9tLWNvbnRyb2wvYmFzZS1jdXN0b20tY29udHJvbCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRvR3JpZEFQSSB9IGZyb20gJy4uL2RhdG8tZ3JpZC1hcGknO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERhdG9HcmlkSGVscGVyIH0gZnJvbSAnLi4vZ3JpZC1oZWxwZXInO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGFkZENsYXNzLCByZW1vdmVDbGFzcyB9IGZyb20gJy4uLy4uL2ludGVybmFsL2hlbHBlcnMnO1xuaW1wb3J0IHsgRGF0b1RhYmxlQWxpZ25tZW50IH0gZnJvbSAnLi4vZ3JpZC50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IERhdG9HcmlkUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtcGFnaW5hdGlvbi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcbmltcG9ydCB7IEdldENvbnRleHRNZW51SXRlbXNQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eS9kaXN0L2xpYi9lbnRpdGllcy9ncmlkT3B0aW9ucyc7XG5pbXBvcnQgeyBjb3B5VG9DbGlwYm9hcmQgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NsaXBib2FyZC5kaXJlY3RpdmUnO1xuXG5jb25zdCB2YWx1ZUFjY2Vzc29yID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0b0dyaWRDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt2YWx1ZUFjY2Vzc29yXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZENvbXBvbmVudCBleHRlbmRzIEJhc2VDdXN0b21Db250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gIGFwaTogRGF0b0dyaWRBUEk8YW55PjtcbiAgZ3JpZENvbHVtbkFwaTogQ29sdW1uQXBpO1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHJvd0RhdGFDaGFuZ2VkID0gbmV3IFN1YmplY3Q8Um93RGF0YUNoYW5nZWRFdmVudCB8IFJvd0RhdGFVcGRhdGVkRXZlbnQ+KCk7XG4gIGhhc1BhZ2luYXRpb24gPSB0cnVlO1xuICBAVmlld0NoaWxkKEFnR3JpZEFuZ3VsYXIsIHsgc3RhdGljOiB0cnVlIH0pIGdyaWRDb21wb25lbnQ6IEFnR3JpZEFuZ3VsYXI7XG4gIEBWaWV3Q2hpbGQoRGF0b0dyaWRQYWdpbmF0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0aW9uQ29tcG9uZW50OiBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogR3JpZE9wdGlvbnMpIHtcbiAgICBvcHRpb25zLmNvbHVtbkRlZnMgPSB0aGlzLmdyaWRIZWxwZXIubm9ybWFsaXplQ29sdW1ucyhvcHRpb25zLmNvbHVtbkRlZnMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmRlZmF1bHRDb2xEZWYsXG4gICAgICAgIC4uLihvcHRpb25zLmRlZmF1bHRDb2xEZWYgfHwge30pXG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAoIXRoaXMuZ3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbikge1xuICAgICAgdGhpcy5ncmlkT3B0aW9ucy5yb3dDbGFzcyA9ICdzZWxlY3RhYmxlJztcbiAgICB9XG4gICAgLy8gY2hlY2sgaWYgd2UgZ290IGEgcGFnaW5hdGlvblxuICAgIHRoaXMuaGFzUGFnaW5hdGlvbiA9IHRoaXMuZ3JpZE9wdGlvbnMucGFnaW5hdGlvbjtcbiAgICBjb25zdCBjbGFzc0Z1bmMgPSB0aGlzLmhhc1BhZ2luYXRpb24gPyBhZGRDbGFzcyA6IHJlbW92ZUNsYXNzO1xuICAgIGNsYXNzRnVuYyh0aGlzLmhvc3RFbGVtZW50LCAnZ3JpZC1wYWdpbmF0aW9uJyk7XG4gICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMucm93TW9kZWxUeXBlID09PSAnaW5maW5pdGUnIHx8IHRoaXMuZ3JpZE9wdGlvbnMucm93TW9kZWxUeXBlID09PSAnc2VydmVyU2lkZScpIHtcbiAgICAgIHRoaXMuaW5maW5pdGVQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHsgZGVmYXVsdENvbERlZiB9ID0gdGhpcy5ncmlkT3B0aW9ucztcbiAgICAgIGlmIChkZWZhdWx0Q29sRGVmLmZpbHRlcikge1xuICAgICAgICBkZWZhdWx0Q29sRGVmLmZpbHRlclBhcmFtcyA9IHsgbmV3Um93c0FjdGlvbjogJ2tlZXAnIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIGdyaWRSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBpY29ucztcbiAgcHJpdmF0ZSBhY3RpdmVNZW51O1xuICBwcml2YXRlIGRlZmF1bHRHcmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB7XG4gICAgLyoqIFJlcGxhY2UgdGhlIGJ1aWxkLWluIHBhZ2luYXRpb24gKi9cbiAgICBzdXBwcmVzc1BhZ2luYXRpb25QYW5lbDogdHJ1ZSxcbiAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgZmlsdGVyOiAnYWdUZXh0Q29sdW1uRmlsdGVyJyxcbiAgICAgIG1lbnVUYWJzOiBbJ2ZpbHRlck1lbnVUYWInXVxuICAgIH0sXG4gICAgcm93SGVpZ2h0OiAzNSxcbiAgICBoZWFkZXJIZWlnaHQ6IDMwLFxuICAgIG9uUm93RGF0YUNoYW5nZWQ6IGV2ZW50ID0+IHtcbiAgICAgIHRoaXMucm93RGF0YUNoYW5nZWQubmV4dChldmVudCk7XG4gICAgfSxcbiAgICBvblJvd0RhdGFVcGRhdGVkOiBldmVudCA9PiB7XG4gICAgICB0aGlzLnJvd0RhdGFDaGFuZ2VkLm5leHQoZXZlbnQpO1xuICAgIH0sXG4gICAgb25TZWxlY3Rpb25DaGFuZ2VkOiBldmVudCA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZFJvd3MoKTtcbiAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRSb3dzKTtcbiAgICB9LFxuICAgIHJvd1NlbGVjdGlvbjogJ211bHRpcGxlJyxcbiAgICByb3dEZXNlbGVjdGlvbjogdHJ1ZSxcbiAgICB1blNvcnRJY29uOiB0cnVlLFxuICAgIGFuaW1hdGVSb3dzOiB0cnVlLFxuICAgIHJlbWVtYmVyR3JvdXBTdGF0ZVdoZW5OZXdEYXRhOiB0cnVlLFxuICAgIGdldENvbnRleHRNZW51SXRlbXM6IChwYXJhbXM6IEdldENvbnRleHRNZW51SXRlbXNQYXJhbXMpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ29weScsXG4gICAgICAgICAgYWN0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICAgICAgICBjb3B5VG9DbGlwYm9hcmQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDb3B5IHdpdGggSGVhZGVycycsXG4gICAgICAgICAgYWN0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaGVhZGVyTmFtZSA9IHBhcmFtcy5jb2x1bW4uZ2V0Q29sRGVmKCkuaGVhZGVyTmFtZTtcblxuICAgICAgICAgICAgY29weVRvQ2xpcGJvYXJkKGAke2hlYWRlck5hbWV9XFxuJHt2YWx1ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnUGFzdGUnLFxuICAgICAgICAgIGFjdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzYWJsZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgJ3NlcGFyYXRvcicsXG4gICAgICAgICdleHBvcnQnXG4gICAgICBdO1xuICAgIH1cbiAgfTtcbiAgaW5maW5pdGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIGlzUm93c0NvbGxhcHNlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBncmlkSGVscGVyOiBEYXRvR3JpZEhlbHBlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFwaSA9IG5ldyBEYXRvR3JpZEFQSSgpO1xuICAgIHRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmljb25zID0gZ2V0R3JpZEljb25zKCk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMgfTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IEdyaWRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm93RGF0YUNoYW5nZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBncmlkIHJlYWR5XG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2ZW50XG4gICAqL1xuICBvbkdyaWRSZWFkeShldmVudDogR3JpZFJlYWR5RXZlbnQpIHtcbiAgICAvLyBzZXQgZ3JpZCBBUElcbiAgICB0aGlzLmFwaS5ncmlkQXBpID0gZXZlbnQuYXBpO1xuICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IGV2ZW50LmNvbHVtbkFwaTtcbiAgICBpZiAodGhpcy5ncmlkQ29sdW1uQXBpLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+PSAxKSB7XG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQucm93R3JvdXBPcGVuZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMucm93R3JvdXBTdGF0ZUNoYW5nZShldmVudCkpO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50ICYmXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbkNvbXBvbmVudC50b2dnbGVSb3dHcm91cC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVDb2xsYXBzZVN0YXRlKCkpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5ncmlkUmVhZHkuZW1pdChldmVudCk7XG4gIH1cblxuICBhbGlnblRhYmxlKGFsaWduTW9kZTogRGF0b1RhYmxlQWxpZ25tZW50KSB7XG4gICAgaWYgKGFsaWduTW9kZSA9PT0gRGF0b1RhYmxlQWxpZ25tZW50LkZJVF9DT05UQUlORVIpIHtcbiAgICAgIHRoaXMuZml0VG9Db250YWluZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maXRUb0NvbnRlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYWV0IHRoZSBjb2x1bW5zIGRlZmluaXRpb25zXG4gICAqIEBwYXJhbSB7KENvbERlZiB8IENvbEdyb3VwRGVmKVtdfSBjb2x1bW5EZWZzXG4gICAqL1xuICB1cGRhdGVDb2x1bW5zKGNvbHVtbkRlZnM6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSkge1xuICAgIHRoaXMuZ3JpZEhlbHBlci51cGRhdGVDb2x1bW5zKHRoaXMuYXBpLmdyaWRBcGksIGNvbHVtbkRlZnMpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHJvd3MgPSBvYmogPyBjb2VyY2VBcnJheShvYmopIDogW107XG5cbiAgICBpZiAodGhpcy5hcGkucmVhZHkpIHtcbiAgICAgIHRoaXMuYXBpLnNldFNlbGVjdGVkUm93cyhyb3dzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gd2FpdCBmb3IgdGhlIGdyaWQgdG8gYmUgcmVhZHkgYW5kIHRoZSBkYXRhIGhhcyBiZWVuIHNldFxuICAgICAgY29tYmluZUxhdGVzdCh0aGlzLnJvd0RhdGFDaGFuZ2VkLCB0aGlzLmdyaWRSZWFkeSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hcGkuc2V0U2VsZWN0ZWRSb3dzKHJvd3MpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2FsbCBhZy1ncmlkJ3Mgc2l6ZSBhbGwgY29sdW1ucyB0byBmaXQgdG8gY29udGFpbmVyXG4gICAqL1xuICBwcml2YXRlIGZpdFRvQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIGFnLWdyaWQncyBzaXplIGFsbCBjb2x1bW5zIHRvIGZpdCB0byBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIGZpdFRvQ29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkFwaS5hdXRvU2l6ZUFsbENvbHVtbnMoKTtcbiAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLmhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGFnQm9keSA9IHRoaXMuaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmFnLWJvZHktY29udGFpbmVyJyk7XG4gICAgY29uc3QgYm9keVdpZHRoOiBudW1iZXIgPSBhZ0JvZHkgPyBhZ0JvZHkuY2xpZW50V2lkdGggOiAwO1xuICAgIGlmICh3aWR0aCA+IGJvZHlXaWR0aCkge1xuICAgICAgdGhpcy5maXRUb0NvbnRhaW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcm93R3JvdXBTdGF0ZUNoYW5nZShldmVudDogUm93R3JvdXBPcGVuZWRFdmVudCkge1xuICAgIGlmIChldmVudC5ub2RlLnJvd0dyb3VwSW5kZXggPT09IDApIHtcbiAgICAgIGxldCBjb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgZXZlbnQuYXBpLmZvckVhY2hOb2RlKChub2RlOiBSb3dOb2RlKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnJvd0dyb3VwSW5kZXggPT09IDAgJiYgbm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNSb3dzQ29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LmluaXRQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxhcHNlIGFuZCBleHBvYW5kIGFsbCB0aGUgZ3JvdXBlZCByb3dzIGluIGNyb3NzIHRhYiB0YWJsZVxuICAgKiB3aGVuIHRyaWdnZXJlZCBmcm9tIHRoZSBuYXZpZ2F0aW9uLWNvbnRyb2wgcGFuZWxcbiAgICovXG4gIHByaXZhdGUgdG9nZ2xlQ29sbGFwc2VTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5pc1Jvd3NDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuYXBpLmdyaWRBcGkuZXhwYW5kQWxsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBpLmdyaWRBcGkuY29sbGFwc2VBbGwoKTtcbiAgICB9XG4gICAgdGhpcy5pc1Jvd3NDb2xsYXBzZWQgPSAhdGhpcy5pc1Jvd3NDb2xsYXBzZWQ7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LmluaXRQYWdpbmF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGhpZGVNZW51SWNvbigpIHtcbiAgICByZW1vdmVDbGFzcyh0aGlzLmFjdGl2ZU1lbnUsICdtZW51LWFjdGl2ZScpO1xuICAgIHRoaXMuYWN0aXZlTWVudSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17,8 +17,10 @@ var DatoGridV2Component = /** @class */ (function () {
|
|
|
17
17
|
}
|
|
18
18
|
Object.defineProperty(DatoGridV2Component.prototype, "grid", {
|
|
19
19
|
set: function (agGrid) {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
if (agGrid) {
|
|
21
|
+
var agGridEl = query('ag-grid-angular', this.host.nativeElement);
|
|
22
|
+
this.controller.initializeGrid(agGrid, agGridEl);
|
|
23
|
+
}
|
|
22
24
|
},
|
|
23
25
|
enumerable: true,
|
|
24
26
|
configurable: true
|
|
@@ -56,7 +58,7 @@ var DatoGridV2Component = /** @class */ (function () {
|
|
|
56
58
|
{ type: ElementRef }
|
|
57
59
|
]; };
|
|
58
60
|
__decorate([
|
|
59
|
-
ViewChild(AgGridAngular, { static:
|
|
61
|
+
ViewChild(AgGridAngular, { static: false }),
|
|
60
62
|
__metadata("design:type", AgGridAngular),
|
|
61
63
|
__metadata("design:paramtypes", [AgGridAngular])
|
|
62
64
|
], DatoGridV2Component.prototype, "grid", null);
|
|
@@ -73,4 +75,4 @@ var DatoGridV2Component = /** @class */ (function () {
|
|
|
73
75
|
return DatoGridV2Component;
|
|
74
76
|
}());
|
|
75
77
|
export { DatoGridV2Component };
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkLXYyL2dyaWQvZ3JpZC12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVS9DO0lBd0JFLDZCQUFvQixVQUF1QyxFQUFVLElBQWdCO1FBQWpFLGVBQVUsR0FBVixVQUFVLENBQTZCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUF2QjVDLHNCQUFJLHFDQUFJO2FBQVIsVUFBUyxNQUFxQjtZQUN6RSxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw0Q0FBVzthQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlELENBQUM7OztPQUFBO0lBRUQsc0JBQUksaURBQWdCO2FBQXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBVTthQUFkO1lBQ0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2hFLENBQUM7OztPQUFBO0lBRUQsc0JBQUksNkNBQVk7YUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUNoRSxDQUFDOzs7T0FBQTs7Z0JBRStCLDJCQUEyQjtnQkFBZ0IsVUFBVTs7SUF2QnhDO1FBQTVDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7a0NBQWtCLGFBQWE7eUNBQWIsYUFBYTttREFLMUU7SUFOVSxtQkFBbUI7UUFQL0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGNBQWM7WUFDeEIscWFBQXVDO1lBRXZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN0QyxDQUFDO3lDQXlCZ0MsMkJBQTJCLEVBQWdCLFVBQVU7T0F4QjFFLG1CQUFtQixDQXlCL0I7SUFBRCwwQkFBQztDQUFBLEFBekJELElBeUJDO1NBekJZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgcXVlcnkgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCB7IERhdG9HcmlkT3B0aW9ucyB9IGZyb20gJy4vZ3JpZC12Mi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZC12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC12Mi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZFYyQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChBZ0dyaWRBbmd1bGFyLCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IGdyaWQoYWdHcmlkOiBBZ0dyaWRBbmd1bGFyKSB7XG4gICAgaWYgKGFnR3JpZCkge1xuICAgICAgY29uc3QgYWdHcmlkRWwgPSBxdWVyeSgnYWctZ3JpZC1hbmd1bGFyJywgdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5jb250cm9sbGVyLmluaXRpYWxpemVHcmlkKGFnR3JpZCwgYWdHcmlkRWwpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBncmlkT3B0aW9ucygpOiBEYXRvR3JpZE9wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIgPyB0aGlzLmNvbnRyb2xsZXIuZ3JpZE9wdGlvbnMgOiBudWxsO1xuICB9XG5cbiAgZ2V0IGVuYWJsZUJhY2tncm91bmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZE9wdGlvbnMgPyB0aGlzLmdyaWRPcHRpb25zLmVuYWJsZUJhY2tncm91bmQgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBlbmFibGVWMl8xKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyaWRPcHRpb25zID8gdGhpcy5ncmlkT3B0aW9ucy5lbmFibGVWMl8xIDogZmFsc2U7XG4gIH1cblxuICBnZXQgaXNQaXZvdFN0eWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyaWRPcHRpb25zICYmIHRoaXMuZ3JpZE9wdGlvbnMudXNlUGl2b3RHcmlkU3R5bGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRyb2xsZXI6IERhdG9HcmlkQ29udHJvbGxlckNvbXBvbmVudCwgcHJpdmF0ZSBob3N0OiBFbGVtZW50UmVmKSB7fVxufVxuIl19
|