tnx-shared 5.3.297 → 5.3.299
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/bundles/tnx-shared.umd.js +9 -2
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/components/entity-picker/entity-picker.component.d.ts +1 -0
- package/components/entity-picker/entity-picker.component.d.ts.map +1 -1
- package/esm2015/components/entity-picker/entity-picker.component.js +5 -3
- package/esm2015/services/signalr.service.js +6 -1
- package/fesm2015/tnx-shared.js +9 -2
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/services/signalr.service.d.ts +1 -0
- package/services/signalr.service.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
|
@@ -17,6 +17,7 @@ export declare class EntityPickerComponent extends DataListBase implements OnIni
|
|
|
17
17
|
control: EntityPickerControlSchema;
|
|
18
18
|
disabled: boolean;
|
|
19
19
|
readOnly: boolean;
|
|
20
|
+
required: boolean;
|
|
20
21
|
children: QueryList<TemplateRef<any>>;
|
|
21
22
|
onInit: EventEmitter<any>;
|
|
22
23
|
onSelect: EventEmitter<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-picker.component.d.ts","sourceRoot":"","sources":["../../../../projects/tnx-shared/src/lib/components/entity-picker/entity-picker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,YAAY,EAEZ,QAAQ,EAER,MAAM,EAEN,SAAS,EACT,WAAW,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAoB,yBAAyB,EAAwB,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACzH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAca,qBAAsB,SAAQ,YAAa,YAAW,MAAM,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"entity-picker.component.d.ts","sourceRoot":"","sources":["../../../../projects/tnx-shared/src/lib/components/entity-picker/entity-picker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,YAAY,EAEZ,QAAQ,EAER,MAAM,EAEN,SAAS,EACT,WAAW,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAoB,yBAAyB,EAAwB,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACzH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAca,qBAAsB,SAAQ,YAAa,YAAW,MAAM,EAAE,oBAAoB;IAyBvF,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,aAAa;IACrB,SAAS,CAAC,YAAY,EAAE,WAAW;IA1BvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,QAAQ,CAAC;IAEX,OAAO,EAAE,yBAAyB,CAAC;IACnC,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAErC,MAAM,oBAA2B;IACvB,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACpD,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IACzD,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAA2B;IAE5E,SAAS,EAAE,SAAS,CAIjB;IACH,8BAA8B,EAAE,GAAG,CAAC;IACpC,aAAa,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,uBAAuB,CAAiC;IACrE,KAAK,UAAS;gBAEF,oBAAoB,EAAE,mBAAmB,EACzC,aAAa,EAAE,YAAY,EACzB,YAAY,EAAE,WAAW,EACnC,SAAS,EAAE,QAAQ;IAKvB,QAAQ;IAqER,YAAY;IAKN,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAuBjC,YAAY;IAOlB,SAAS;IAiBT,kBAAkB,CAAC,IAAI,KAAA;IAmBvB,uBAAuB;IAoBvB,8BAA8B,CAAC,IAAI,KAAA;IAQnC,kBAAkB,CAAC,GAAG,KAAA;IAItB,oBAAoB,CAAC,GAAG,KAAA;IAIxB,kBAAkB,CAAC,GAAG,KAAA;IAQtB,UAAU,CAAC,IAAI,KAAA;IAOf,mBAAmB,CAAC,GAAG,KAAA,EAAE,eAAe,EAAE,wBAAwB;IAYlE,eAAe;IAMf,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAoB1B,OAAO,CAAC,0BAA0B;IAQlC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,gBAAgB,CAAC,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAG/C"}
|
|
@@ -18,6 +18,7 @@ export class EntityPickerComponent extends DataListBase {
|
|
|
18
18
|
this._userService = _userService;
|
|
19
19
|
this.disabled = false;
|
|
20
20
|
this.readOnly = false;
|
|
21
|
+
this.required = false;
|
|
21
22
|
this.onInit = new EventEmitter();
|
|
22
23
|
this.onSelect = new EventEmitter();
|
|
23
24
|
this.onUnSelect = new EventEmitter();
|
|
@@ -258,7 +259,7 @@ export class EntityPickerComponent extends DataListBase {
|
|
|
258
259
|
EntityPickerComponent.decorators = [
|
|
259
260
|
{ type: Component, args: [{
|
|
260
261
|
selector: 'entity-picker',
|
|
261
|
-
template: "<crud-list #crudList [templates]=\"children\" [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\n [hiddenDelete]=\"readOnly\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\n (onReloaded)=\"_unmarkLoading()\" class=\"--no-wrapper-padding\">\n <ng-template #toolbar let-crudList=\"crudList\">\n <button *ngIf=\"!readOnly\" type=\"button\" pButton icon=\"pi pi-external-link\" class=\"p-button-text\"\n [label]=\"control.title\" [disabled]=\"control.disabled\" (click)=\"selectEntity()\"></button>\n <ng-container *ngIf=\"control.multiple && !readOnly && !setting.hiddenCheckbox\">\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" label=\"B\u1ECF m\u1EE5c \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\"\n [disabled]=\"model.selectedItems.length == 0\" (click)=\"handleUnMultiPickEntity()\"></button>\n </ng-container>\n </ng-template>\n <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\" let-index=\"index\">\n <div *ngIf=\"!control.rowButtonTemplate && !readOnly\" class=\"p-toolbar-group-center button-group\">\n <ng-container *ngIf=\"control.rowButtonBeforeTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonBeforeTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </ng-container>\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" pTooltip=\"B\u1ECF ch\u1ECDn m\u1EE5c n\u00E0y\" tooltipPosition=\"top\"\n (click)=\"handleUnPickEntity(rowData)\"></button>\n </div>\n <div *ngIf=\"control.rowButtonTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </div>\n </ng-template>\n</crud-list>\n<tn-dialog #dialog *ngIf=\"showDetailForm\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\n <entity-picker-box #entityPickerBox [control]=\"control\" [parentSetting]=\"setting\" [advanceData]=\"advanceData\"\n (onRowSelect)=\"handleEntityPickerBoxRowSelect($event)\" [selectedValue]=\"selectedValue\"\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\">\n </entity-picker-box>\n <ng-template #footer>\n <button type=\"button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\n </ng-template>\n</tn-dialog>",
|
|
262
|
+
template: "<crud-list #crudList [templates]=\"children\" [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\n [hiddenDelete]=\"readOnly\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\n (onReloaded)=\"_unmarkLoading()\" class=\"--no-wrapper-padding\">\n <ng-template #toolbar let-crudList=\"crudList\">\n <button *ngIf=\"!readOnly\" type=\"button\" pButton icon=\"pi pi-external-link\" class=\"p-button-text\"\n [label]=\"control.title\" [disabled]=\"control.disabled\" (click)=\"selectEntity()\"></button>\n <ng-container *ngIf=\"required\">\n <span class=\"star-required\">*</span>\n </ng-container>\n <ng-container *ngIf=\"control.multiple && !readOnly && !setting.hiddenCheckbox\">\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" label=\"B\u1ECF m\u1EE5c \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\"\n [disabled]=\"model.selectedItems.length == 0\" (click)=\"handleUnMultiPickEntity()\"></button>\n </ng-container>\n </ng-template>\n <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\" let-index=\"index\">\n <div *ngIf=\"!control.rowButtonTemplate && !readOnly\" class=\"p-toolbar-group-center button-group\">\n <ng-container *ngIf=\"control.rowButtonBeforeTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonBeforeTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </ng-container>\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" pTooltip=\"B\u1ECF ch\u1ECDn m\u1EE5c n\u00E0y\" tooltipPosition=\"top\"\n (click)=\"handleUnPickEntity(rowData)\"></button>\n </div>\n <div *ngIf=\"control.rowButtonTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </div>\n </ng-template>\n</crud-list>\n<tn-dialog #dialog *ngIf=\"showDetailForm\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\n <entity-picker-box #entityPickerBox [control]=\"control\" [parentSetting]=\"setting\" [advanceData]=\"advanceData\"\n (onRowSelect)=\"handleEntityPickerBoxRowSelect($event)\" [selectedValue]=\"selectedValue\"\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\">\n </entity-picker-box>\n <ng-template #footer>\n <button type=\"button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\n </ng-template>\n</tn-dialog>",
|
|
262
263
|
providers: [
|
|
263
264
|
{
|
|
264
265
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -268,7 +269,7 @@ EntityPickerComponent.decorators = [
|
|
|
268
269
|
ComponentContextService,
|
|
269
270
|
EntityMetadataService
|
|
270
271
|
],
|
|
271
|
-
styles: [".user-selected ::ng-deep ul{text-align:left}:host::ng-deep .ui-g>.ui-g-12{padding:0 0 10px}:host::ng-deep .ui-g>.button-group{padding-left:0}"]
|
|
272
|
+
styles: [".user-selected ::ng-deep ul{text-align:left}:host::ng-deep .ui-g>.ui-g-12{padding:0 0 10px}:host::ng-deep .ui-g>.button-group{padding-left:0}.star-required{color:red;transform:translateY(5px);display:inline-block}"]
|
|
272
273
|
},] }
|
|
273
274
|
];
|
|
274
275
|
EntityPickerComponent.ctorParameters = () => [
|
|
@@ -281,10 +282,11 @@ EntityPickerComponent.propDecorators = {
|
|
|
281
282
|
control: [{ type: Input }],
|
|
282
283
|
disabled: [{ type: Input }],
|
|
283
284
|
readOnly: [{ type: Input }],
|
|
285
|
+
required: [{ type: Input }],
|
|
284
286
|
children: [{ type: Input }],
|
|
285
287
|
onInit: [{ type: Output }],
|
|
286
288
|
onSelect: [{ type: Output, args: ['onSelect',] }],
|
|
287
289
|
onUnSelect: [{ type: Output, args: ['onUnSelect',] }],
|
|
288
290
|
onChanged: [{ type: Output, args: ['onChanged',] }]
|
|
289
291
|
};
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQWdCL0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUF1Qm5ELFlBQ1ksb0JBQXlDLEVBQ3pDLGFBQTJCLEVBQ3pCLFlBQXlCLEVBQ25DLFNBQW1CO1FBRW5CLEtBQUssQ0FBQyxTQUFTLENBQUMs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RyxFQUFFLENBQUMscUJBQXFCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNkO29CQUNELHVCQUF1QjtvQkFDdkIscUJBQXFCO2lCQUN4Qjs7YUFDSjs7O1lBbkJRLG1CQUFtQjtZQU5uQixZQUFZO1lBT1osV0FBVztZQWZoQixRQUFROzs7c0JBc0NQLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBRUwsTUFBTTt1QkFDTixNQUFNLFNBQUMsVUFBVTt5QkFDakIsTUFBTSxTQUFDLFlBQVk7d0JBQ25CLE1BQU0sU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhTGlzdEJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvZGF0YS1saXN0LWJhc2UnO1xuaW1wb3J0IHsgQ29sdW1uU2NoZW1hQmFzZSwgRW50aXR5UGlja2VyQ29udHJvbFNjaGVtYSwgSGVpZ2h0VHlwZSwgT3BlcmF0b3IsIFBvcHVwU2l6ZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xuaW1wb3J0IHsgR3JpZEluZm8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1pbmZvJztcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VudGl0eS1tZXRhZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEVudGl0eVBpY2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRpdHktcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwZW5kRGVmYXVsdEZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBFbnRpdHlQaWNrZXJCb3hDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1waWNrZXItYm94L2VudGl0eS1waWNrZXItYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciB9IGZyb20gJy4vbW9kZWwvYWR2YW5jZS1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbnRpdHktcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVudGl0eVBpY2tlckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDb21wb25lbnRDb250ZXh0U2VydmljZSxcbiAgICAgICAgRW50aXR5TWV0YWRhdGFTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBEYXRhTGlzdEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBvbkNoYW5nZTogRnVuY3Rpb247XG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbjtcblxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWE7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNoaWxkcmVuOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgnb25TZWxlY3QnKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCdvblVuU2VsZWN0Jykgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCdvbkNoYW5nZWQnKSBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwb3B1cFNpemU6IFBvcHVwU2l6ZSA9IG5ldyBQb3B1cFNpemUoe1xuICAgICAgICB3aWR0aDogMTEwMCxcbiAgICAgICAgaGVpZ2h0OiA5MDAsXG4gICAgICAgIG1heGltaXplOiB0cnVlXG4gICAgfSk7XG4gICAgc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhOiBhbnk7XG4gICAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICAgIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciA9IG5ldyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcigpO1xuICAgIGRpcnR5ID0gZmFsc2U7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VudGl0eVBpY2tlclNlcnZpY2U6IEVudGl0eVBpY2tlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgX2luamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvYWREZXRhaWxGcm9tUXVlcnlQYXJhbSA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudXNlRGVmYXVsdFBsdXNsVXJsSW5MaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmcucGFnZVNldHRpbmcucGFnZVNpemUgPSB0aGlzLmNvbnRyb2wucGFnZVNpemU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMgPSBbXTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnRpdGxlID0gJyc7XG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuY29udHJvbC5iYXNlU2VydmljZTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5pZ25vcmVXb3JrZmxvdykge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLnVzZVdvcmtmbG93ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXR0aW5nLmhlaWdodFR5cGUgPSBIZWlnaHRUeXBlLmR5bmFtaWM7XG4gICAgICAgIHRoaXMuc2V0dGluZy5maXhIZWlnaHRUeXBlSW5EaWFsb2cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkF1dGhvcml6ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5DaGVja2JveCA9IHRoaXMuY29udHJvbC5oaWRkZW5DaGVja2JveDtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNldHRpbmdLZXkgPSAnZW50aXR5UGlja2VyJztcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdXb3JrZmxvdyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nUGVybWlzc2lvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoID0gdGhpcy5jb250cm9sLmhpZGRlbkFkdmFuY2VTZWFyY2g7XG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLmNvbnRyb2wuZmllbGRTZWFyY2hUZXh0O1xuICAgICAgICB0aGlzLnNldHRpbmcuc2hvd0VkaXRMaW5rID0gIXRoaXMucmVhZE9ubHkgJiYgdGhpcy5jb250cm9sLnNob3dFZGl0TGluaztcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblBhZ2VTZXR0aW5nID0gdGhpcy5jb250cm9sLmhpZGRlblBhZ2VTZXR0aW5nO1xuICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcbiAgICAgICAgLy8gVG9kbzogSGlldU5EXG4gICAgICAgIHRoaXMuY29udHJvbC5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW4uaXNEaXNwbGF5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q29sID0gbmV3IENvbHVtblNjaGVtYUJhc2Uoe1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmNvZGUsXG4gICAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBjb2x1bW4ubXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKSxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5kYXRhVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogY29sdW1uLm1kV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogY29sdW1uLnRleHRBbGlnbixcbiAgICAgICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IGNvbHVtbi5iYXNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogY29sdW1uLnZhbHVlRmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogY29sdW1uLmRpc3BsYXlGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRQbHVzOiBjb2x1bW4uZmllbGRQbHVzLFxuICAgICAgICAgICAgICAgICAgICBzb3J0RmllbGQ6IGNvbHVtbi5zb3J0RmllbGQsXG4gICAgICAgICAgICAgICAgICAgIHNvcnREaXI6IGNvbHVtbi5zb3J0RGlyLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZEZpbHRlcjogY29sdW1uLmZpZWxkRmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbHRlcjogY29sdW1uLmFsbG93RmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBtb2RpZnlGaWx0ZXI6IGNvbHVtbi5tb2RpZnlGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJzOiBjb2x1bW4uZGVmYXVsdEZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlRmlsdGVyOiBjb2x1bW4udGVtcGxhdGVGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIGZ1bmNHZXRMYWJlbDogY29sdW1uLmZ1bmNHZXRMYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgZnVuY1NldFZhbHVlUm93OiBjb2x1bW4uZnVuY1NldFZhbHVlUm93LFxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlU2VsZWN0OiBjb2x1bW4uaW5jbHVkZVNlbGVjdCxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogY29sdW1uLmRhdGFTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogY29sdW1uLmdyb3VwQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGNvbHVtbi5vcmRlcixcbiAgICAgICAgICAgICAgICAgICAgc29ydDogY29sdW1uLnNvcnQsXG4gICAgICAgICAgICAgICAgICAgIHNob3dFZGl0TGluazogY29sdW1uLnNob3dFZGl0TGlua1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uZGF0YVR5cGUgPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q29sLmRhdGFUeXBlID0gY29sdW1uLmNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZy5jb2xzLnB1c2gobmV3Q29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWR2YW5jZURhdGEuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBzZWxlY3RFbnRpdHkoKSB7XG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSB0cnVlO1xuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgYXN5bmMgbW9kaWZ5R3JpZEluZm8oZ3JpZEluZm86IEdyaWRJbmZvKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT0gbnVsbCB8fCB0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmluLCB0aGlzLnNlbGVjdGVkVmFsdWUubWFwKHggPT4geFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnNlbGVjdGVkVmFsdWVbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnVzZURlZmF1bHRGaWx0ZXJJbkxpc3QgJiYgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKSB7XG4gICAgICAgICAgICBhd2FpdCBhcHBlbmREZWZhdWx0RmlsdGVyKGdyaWRJbmZvLmZpbHRlcnMsIHRoaXMuY29udHJvbC5kZWZhdWx0RmlsdGVycyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBhZnRlckdldERhdGEoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhKHRoaXMubW9kZWwuZGF0YVNvdXJjZSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBM4bqleSB1bmlvbiBj4bunYTogc2VsZWN0ZWRGaWVsZCwgZmllbGRQbHVzLCBkaXNwbGF5IGZpZWxkcyBjw7MgdHJvbmcgdGFibGUuXG4gICAgZ2V0RmllbGRzKCkge1xuICAgICAgICBjb25zdCBhcnJGaWVsZDogc3RyaW5nW10gPSBbJ2lkJ107XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAmJiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAhPSAnaWQnKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZmllbGRQbHVzKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKC4uLnRoaXMuY29udHJvbC5maWVsZFBsdXMuc3BsaXQoJywnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcnJEaXNwbGF5RmllbGQgPSB0aGlzLmNvbnRyb2wuY29sdW1ucy5maWx0ZXIoeCA9PiB4LmlzRGlzcGxheSA9PSB0cnVlICYmICF4Lm5vdEluRmllbGRzICYmIHguZGF0YVR5cGUgIT0gJ2N1c3RvbScpXG4gICAgICAgICAgICAubWFwKHggPT4geC5jb2RlKTtcblxuICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmFkZERpc3RpbmN0KGFyckRpc3BsYXlGaWVsZCwgYXJyRmllbGQpO1xuICAgICAgICByZXR1cm4gYXJyRmllbGQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVVblBpY2tFbnRpdHkoZGF0YSkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWUuZmlsdGVyKHggPT4geFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0gIT0gZGF0YVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG5cbiAgICAgICAgLy8gZGF0YSBlbWl0IHBo4bqjaSBnaeG7kW5nIHbhu5tpIGjDoG0gaGFuZGxlVW5TZWxlY3RFbnRpdHlcbiAgICAgICAgdGhpcy5vblVuU2VsZWN0LmVtaXQoe1xuICAgICAgICAgICAgaXRlbXM6IFtkYXRhXSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlVW5NdWx0aVBpY2tFbnRpdHkoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlc1VuU2VsZWN0ID0gdGhpcy5tb2RlbC5zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHhbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS5maWx0ZXIoeCA9PiAhdmFsdWVzVW5TZWxlY3QuaW5jbHVkZXMoeFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuXG4gICAgICAgIC8vIGRhdGEgZW1pdCBwaOG6o2kgZ2nhu5FuZyB24bubaSBow6BtIGhhbmRsZVVuU2VsZWN0RW50aXR5XG4gICAgICAgIHRoaXMub25VblNlbGVjdC5lbWl0KHtcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLm1vZGVsLnNlbGVjdGVkSXRlbXMsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgIH1cblxuICAgIGhhbmRsZUVudGl0eVBpY2tlckJveFJvd1NlbGVjdChpdGVtKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhID0gaXRlbTtcbiAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3RFbnRpdHkoZXZ0KSB7XG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZVVuU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZUVudGl0eShldnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZXZ0LnZhbHVlO1xuICAgICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgICAgICB0aGlzLmZpcmVDaGFuZ2VFdmVudCgpO1xuXG4gICAgfVxuXG4gICAgaGFuZGxlSGlkZShkYXRhKSB7XG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZGlydHkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DbGlja1N1Ym1pdEJ1dHRvbihldnQsIGVudGl0eVBpY2tlckJveDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSGlkZShldnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhKSB7XG4gICAgICAgICAgICBlbnRpdHlQaWNrZXJCb3ggJiYgZW50aXR5UGlja2VyQm94LmhhbmRsZVBpY2sodGhpcy5zZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlsRm9ybSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlyZUNoYW5nZUV2ZW50KCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBbXTtcbiAgICAgICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlID0gb2JqO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvYmoubWFwKHggPT4gdGhpcy5nZXRPYmpTZWxlY3RWYWx1ZUZyb21WYWx1ZSh4KSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICBpZiAob2JqKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGhpcy5nZXRPYmpTZWxlY3RWYWx1ZUZyb21WYWx1ZShvYmopO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPYmpTZWxlY3RWYWx1ZUZyb21WYWx1ZSh2YWx1ZSkge1xuICAgICAgICBjb25zdCB0ZW1wID0ge1xuICAgICAgICAgICAgX2Ryb3Bkb3dudmFsdWU6IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLFxuICAgICAgICB9O1xuICAgICAgICB0ZW1wW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktcGlja2VyL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQWdCL0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFlBQVk7SUF3Qm5ELFlBQ1ksb0JBQXlDLEVBQ3pDLGFBQTJCLEVBQ3pCLFlBQXlCLEVBQ25DLFNBQW1CO1FBRW5CLEtBQUssQ0FBQyxTQUFTLENBQUMs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MUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0QsdUJBQXVCO29CQUN2QixxQkFBcUI7aUJBQ3hCOzthQUNKOzs7WUFuQlEsbUJBQW1CO1lBTm5CLFlBQVk7WUFPWixXQUFXO1lBZmhCLFFBQVE7OztzQkFzQ1AsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUVMLE1BQU07dUJBQ04sTUFBTSxTQUFDLFVBQVU7eUJBQ2pCLE1BQU0sU0FBQyxZQUFZO3dCQUNuQixNQUFNLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YUxpc3RCYXNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9iYXNlL2RhdGEtbGlzdC1iYXNlJztcbmltcG9ydCB7IENvbHVtblNjaGVtYUJhc2UsIEVudGl0eVBpY2tlckNvbnRyb2xTY2hlbWEsIEhlaWdodFR5cGUsIE9wZXJhdG9yLCBQb3B1cFNpemUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcbmltcG9ydCB7IEdyaWRJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtaW5mbyc7XG5pbXBvcnQgeyBFbnRpdHlNZXRhZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRpdHktbWV0YWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50aXR5LXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IGFwcGVuZERlZmF1bHRGaWx0ZXIgfSBmcm9tICcuLi8uLi91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgRW50aXR5UGlja2VyQm94Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktcGlja2VyLWJveC9lbnRpdHktcGlja2VyLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWR2YW5jZURhdGFFbnRpdHlQaWNrZXIgfSBmcm9tICcuL21vZGVsL2FkdmFuY2UtZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZW50aXR5LXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VudGl0eS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbnRpdHlQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UsXG4gICAgICAgIEVudGl0eU1ldGFkYXRhU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5UGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRGF0YUxpc3RCYXNlIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XG5cbiAgICBASW5wdXQoKSBjb250cm9sOiBFbnRpdHlQaWNrZXJDb250cm9sU2NoZW1hO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNoaWxkcmVuOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgnb25TZWxlY3QnKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCdvblVuU2VsZWN0Jykgb25VblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCdvbkNoYW5nZWQnKSBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwb3B1cFNpemU6IFBvcHVwU2l6ZSA9IG5ldyBQb3B1cFNpemUoe1xuICAgICAgICB3aWR0aDogMTEwMCxcbiAgICAgICAgaGVpZ2h0OiA5MDAsXG4gICAgICAgIG1heGltaXplOiB0cnVlXG4gICAgfSk7XG4gICAgc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhOiBhbnk7XG4gICAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICAgIGFkdmFuY2VEYXRhOiBBZHZhbmNlRGF0YUVudGl0eVBpY2tlciA9IG5ldyBBZHZhbmNlRGF0YUVudGl0eVBpY2tlcigpO1xuICAgIGRpcnR5ID0gZmFsc2U7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VudGl0eVBpY2tlclNlcnZpY2U6IEVudGl0eVBpY2tlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgX2luamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihfaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvYWREZXRhaWxGcm9tUXVlcnlQYXJhbSA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudXNlRGVmYXVsdFBsdXNsVXJsSW5MaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmcucGFnZVNldHRpbmcucGFnZVNpemUgPSB0aGlzLmNvbnRyb2wucGFnZVNpemU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXR0aW5nLmNvbHMgPSBbXTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnRpdGxlID0gJyc7XG4gICAgICAgIHRoaXMuc2V0dGluZy5iYXNlU2VydmljZSA9IHRoaXMuY29udHJvbC5iYXNlU2VydmljZTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5pZ25vcmVXb3JrZmxvdykge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5nLmJhc2VTZXJ2aWNlLnVzZVdvcmtmbG93ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXR0aW5nLmhlaWdodFR5cGUgPSBIZWlnaHRUeXBlLmR5bmFtaWM7XG4gICAgICAgIHRoaXMuc2V0dGluZy5maXhIZWlnaHRUeXBlSW5EaWFsb2cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlbkF1dGhvcml6ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5DaGVja2JveCA9IHRoaXMuY29udHJvbC5oaWRkZW5DaGVja2JveDtcbiAgICAgICAgdGhpcy5zZXR0aW5nLnNldHRpbmdLZXkgPSAnZW50aXR5UGlja2VyJztcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblNldHRpbmdXb3JrZmxvdyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5TZXR0aW5nUGVybWlzc2lvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dGluZy5oaWRkZW5BZHZhbmNlU2VhcmNoID0gdGhpcy5jb250cm9sLmhpZGRlbkFkdmFuY2VTZWFyY2g7XG4gICAgICAgIHRoaXMuc2V0dGluZy5maWVsZFNlYXJjaFRleHQgPSB0aGlzLmNvbnRyb2wuZmllbGRTZWFyY2hUZXh0O1xuICAgICAgICB0aGlzLnNldHRpbmcuc2hvd0VkaXRMaW5rID0gIXRoaXMucmVhZE9ubHkgJiYgdGhpcy5jb250cm9sLnNob3dFZGl0TGluaztcbiAgICAgICAgdGhpcy5zZXR0aW5nLmhpZGRlblBhZ2VTZXR0aW5nID0gdGhpcy5jb250cm9sLmhpZGRlblBhZ2VTZXR0aW5nO1xuICAgICAgICB0aGlzLnBsdXNVcmwgPSB0aGlzLmNvbnRyb2wucGx1c1VybDtcbiAgICAgICAgLy8gVG9kbzogSGlldU5EXG4gICAgICAgIHRoaXMuY29udHJvbC5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW4uaXNEaXNwbGF5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q29sID0gbmV3IENvbHVtblNjaGVtYUJhc2Uoe1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmNvZGUsXG4gICAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBjb2x1bW4ubXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmxhYmVsKSxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5kYXRhVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgbWRXaWR0aDogY29sdW1uLm1kV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogY29sdW1uLnRleHRBbGlnbixcbiAgICAgICAgICAgICAgICAgICAgYmFzZVNlcnZpY2U6IGNvbHVtbi5iYXNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogY29sdW1uLnZhbHVlRmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogY29sdW1uLmRpc3BsYXlGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRQbHVzOiBjb2x1bW4uZmllbGRQbHVzLFxuICAgICAgICAgICAgICAgICAgICBzb3J0RmllbGQ6IGNvbHVtbi5zb3J0RmllbGQsXG4gICAgICAgICAgICAgICAgICAgIHNvcnREaXI6IGNvbHVtbi5zb3J0RGlyLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZEZpbHRlcjogY29sdW1uLmZpZWxkRmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbHRlcjogY29sdW1uLmFsbG93RmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBtb2RpZnlGaWx0ZXI6IGNvbHVtbi5tb2RpZnlGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJzOiBjb2x1bW4uZGVmYXVsdEZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlRmlsdGVyOiBjb2x1bW4udGVtcGxhdGVGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIGZ1bmNHZXRMYWJlbDogY29sdW1uLmZ1bmNHZXRMYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgZnVuY1NldFZhbHVlUm93OiBjb2x1bW4uZnVuY1NldFZhbHVlUm93LFxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlU2VsZWN0OiBjb2x1bW4uaW5jbHVkZVNlbGVjdCxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogY29sdW1uLmRhdGFTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogY29sdW1uLmdyb3VwQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGNvbHVtbi5vcmRlcixcbiAgICAgICAgICAgICAgICAgICAgc29ydDogY29sdW1uLnNvcnQsXG4gICAgICAgICAgICAgICAgICAgIHNob3dFZGl0TGluazogY29sdW1uLnNob3dFZGl0TGlua1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uZGF0YVR5cGUgPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q29sLmRhdGFUeXBlID0gY29sdW1uLmNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZy5jb2xzLnB1c2gobmV3Q29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWR2YW5jZURhdGEuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBzZWxlY3RFbnRpdHkoKSB7XG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSB0cnVlO1xuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgYXN5bmMgbW9kaWZ5R3JpZEluZm8oZ3JpZEluZm86IEdyaWRJbmZvKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT0gbnVsbCB8fCB0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmluLCB0aGlzLnNlbGVjdGVkVmFsdWUubWFwKHggPT4geFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBncmlkSW5mby5maWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIodGhpcy5jb250cm9sLnZhbHVlRmllbGQsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnNlbGVjdGVkVmFsdWVbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnVzZURlZmF1bHRGaWx0ZXJJbkxpc3QgJiYgdGhpcy5jb250cm9sLmRlZmF1bHRGaWx0ZXJzKSB7XG4gICAgICAgICAgICBhd2FpdCBhcHBlbmREZWZhdWx0RmlsdGVyKGdyaWRJbmZvLmZpbHRlcnMsIHRoaXMuY29udHJvbC5kZWZhdWx0RmlsdGVycyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBhZnRlckdldERhdGEoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRyb2wuYWZ0ZXJHZXREYXRhKHRoaXMubW9kZWwuZGF0YVNvdXJjZSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBM4bqleSB1bmlvbiBj4bunYTogc2VsZWN0ZWRGaWVsZCwgZmllbGRQbHVzLCBkaXNwbGF5IGZpZWxkcyBjw7MgdHJvbmcgdGFibGUuXG4gICAgZ2V0RmllbGRzKCkge1xuICAgICAgICBjb25zdCBhcnJGaWVsZDogc3RyaW5nW10gPSBbJ2lkJ107XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAmJiB0aGlzLmNvbnRyb2wudmFsdWVGaWVsZCAhPSAnaWQnKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKHRoaXMuY29udHJvbC52YWx1ZUZpZWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZmllbGRQbHVzKSB7XG4gICAgICAgICAgICBhcnJGaWVsZC5wdXNoKC4uLnRoaXMuY29udHJvbC5maWVsZFBsdXMuc3BsaXQoJywnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcnJEaXNwbGF5RmllbGQgPSB0aGlzLmNvbnRyb2wuY29sdW1ucy5maWx0ZXIoeCA9PiB4LmlzRGlzcGxheSA9PSB0cnVlICYmICF4Lm5vdEluRmllbGRzICYmIHguZGF0YVR5cGUgIT0gJ2N1c3RvbScpXG4gICAgICAgICAgICAubWFwKHggPT4geC5jb2RlKTtcblxuICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmFkZERpc3RpbmN0KGFyckRpc3BsYXlGaWVsZCwgYXJyRmllbGQpO1xuICAgICAgICByZXR1cm4gYXJyRmllbGQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVVblBpY2tFbnRpdHkoZGF0YSkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWUuZmlsdGVyKHggPT4geFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0gIT0gZGF0YVt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG5cbiAgICAgICAgLy8gZGF0YSBlbWl0IHBo4bqjaSBnaeG7kW5nIHbhu5tpIGjDoG0gaGFuZGxlVW5TZWxlY3RFbnRpdHlcbiAgICAgICAgdGhpcy5vblVuU2VsZWN0LmVtaXQoe1xuICAgICAgICAgICAgaXRlbXM6IFtkYXRhXSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlclByb2Nlc3NEYXRhKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlVW5NdWx0aVBpY2tFbnRpdHkoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlc1VuU2VsZWN0ID0gdGhpcy5tb2RlbC5zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHhbdGhpcy5jb250cm9sLnZhbHVlRmllbGRdKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS5maWx0ZXIoeCA9PiAhdmFsdWVzVW5TZWxlY3QuaW5jbHVkZXMoeFt0aGlzLmNvbnRyb2wudmFsdWVGaWVsZF0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuXG4gICAgICAgIC8vIGRhdGEgZW1pdCBwaOG6o2kgZ2nhu5FuZyB24bubaSBow6BtIGhhbmRsZVVuU2VsZWN0RW50aXR5XG4gICAgICAgIHRoaXMub25VblNlbGVjdC5lbWl0KHtcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLm1vZGVsLnNlbGVjdGVkSXRlbXMsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgIH1cblxuICAgIGhhbmRsZUVudGl0eVBpY2tlckJveFJvd1NlbGVjdChpdGVtKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhID0gaXRlbTtcbiAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3RFbnRpdHkoZXZ0KSB7XG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZVVuU2VsZWN0RW50aXR5KGV2dCkge1xuICAgICAgICB0aGlzLm9uVW5TZWxlY3QuZW1pdChldnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZUVudGl0eShldnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZXZ0LnZhbHVlO1xuICAgICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgICAgICB0aGlzLmZpcmVDaGFuZ2VFdmVudCgpO1xuXG4gICAgfVxuXG4gICAgaGFuZGxlSGlkZShkYXRhKSB7XG4gICAgICAgIHRoaXMuc2hvd0RldGFpbEZvcm0gPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZGlydHkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DbGlja1N1Ym1pdEJ1dHRvbihldnQsIGVudGl0eVBpY2tlckJveDogRW50aXR5UGlja2VyQm94Q29tcG9uZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSGlkZShldnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRFbnRpdHlQaWNrZXJCb3hSb3dEYXRhKSB7XG4gICAgICAgICAgICBlbnRpdHlQaWNrZXJCb3ggJiYgZW50aXR5UGlja2VyQm94LmhhbmRsZVBpY2sodGhpcy5zZWxlY3RlZEVudGl0eVBpY2tlckJveFJvd0RhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlsRm9ybSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlyZUNoYW5nZUV2ZW50KCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVmFsdWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBbXTtcbiAgICAgICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlID0gb2JqO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvYmoubWFwKHggPT4gdGhpcy5nZXRPYmpTZWxlY3RWYWx1ZUZyb21WYWx1ZSh4KSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICBpZiAob2JqKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGhpcy5nZXRPYmpTZWxlY3RWYWx1ZUZyb21WYWx1ZShvYmopO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJQcm9jZXNzRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPYmpTZWxlY3RWYWx1ZUZyb21WYWx1ZSh2YWx1ZSkge1xuICAgICAgICBjb25zdCB0ZW1wID0ge1xuICAgICAgICAgICAgX2Ryb3Bkb3dudmFsdWU6IHRoaXMuY29udHJvbC52YWx1ZUZpZWxkLFxuICAgICAgICB9O1xuICAgICAgICB0ZW1wW3RoaXMuY29udHJvbC52YWx1ZUZpZWxkXSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -15,12 +15,17 @@ export class SignalRService {
|
|
|
15
15
|
this.delayStarters = [];
|
|
16
16
|
this.connected = false;
|
|
17
17
|
this.maxRetryTimes = 10;
|
|
18
|
+
this.isInited = false;
|
|
18
19
|
this.wait = ms => new Promise(r => setTimeout(r, ms));
|
|
19
20
|
this._moduleConfig = this._moduleConfigService.getConfig();
|
|
20
21
|
this.hubsSetting = this._moduleConfig.environment.signalrConfig.hubs;
|
|
21
22
|
}
|
|
22
23
|
init() {
|
|
23
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
if (this.isInited) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.isInited = true;
|
|
24
29
|
if (this.hubsSetting && this.hubsSetting.enableCommonHub) {
|
|
25
30
|
this.hubs['CommonHub'] = this.createConnection('CommonHub');
|
|
26
31
|
yield this.startConnection(this.hubs['CommonHub']);
|
|
@@ -147,4 +152,4 @@ SignalRService.ctorParameters = () => [
|
|
|
147
152
|
{ type: ModuleConfigService },
|
|
148
153
|
{ type: AuthenService }
|
|
149
154
|
];
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtqRCxNQUFNLE9BQU8sY0FBYztJQWlCdkIsWUFDWSxvQkFBeUMsRUFDekMsY0FBNkI7UUFEN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQWZ6QyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1Ysa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQW1IWCxTQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQXZHckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7SUFFSyxJQUFJOztZQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzVELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQzlDO1lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDdEUsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2FBQ25EO1lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFO2dCQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQzlCO1lBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFMUIsQ0FBQztLQUFBO0lBRUQsS0FBSyxDQUFDLEtBQWEsRUFBRSxRQUFnQixFQUFFLFFBQTZCO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixLQUFLLEdBQUcsV0FBVyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQ0k7WUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDZCxPQUFPLENBQUMsS0FBSyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO2VBQy9FLENBQUMsS0FBSyxLQUFLLGdCQUFnQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztlQUN6RixDQUFDLEtBQUssS0FBSyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUM7ZUFDM0YsQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxhQUE0QixFQUFFLFFBQWdCLEVBQUUsUUFBNkI7UUFFM0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDckQ7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQy9DLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixLQUFLLEdBQUcsV0FBVyxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pELE9BQU8sSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUU7YUFDcEMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLG9CQUFvQixJQUFJLEtBQUssRUFBRSxFQUNoRixFQUFFLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzdDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxhQUFhLENBQUMsYUFBNEI7UUFDOUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFTLEVBQUU7WUFDN0IsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBSU8sZUFBZSxDQUFDLGFBQTRCLEVBQUUsVUFBVSxHQUFHLENBQUM7UUFDaEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFPLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUV6Qyx5QkFBeUI7WUFDekIsZ0RBQWdEO1lBQ2hELE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXhELGFBQWE7aUJBQ1IsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFO29CQUVyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUM7eUJBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7eUJBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUM7eUJBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN0QjtnQkFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sU0FBUyxDQUFDLGFBQTRCLEVBQUUsUUFBZ0IsRUFBRSxRQUE2QjtRQUMzRixJQUFJLFFBQVEsSUFBSSxhQUFhLEVBQUU7WUFDM0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxhQUE0QixFQUFFLFFBQWdCO1FBQzlELElBQUksUUFBUSxJQUFJLGFBQWEsRUFBRTtZQUMzQixhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7Ozs7WUF2S0osVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFMUSxtQkFBbUI7WUFDbkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb24gfSBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW5TZXJ2aWNlIH0gZnJvbSAnLi9hdXRoZW4uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUlNlcnZpY2Uge1xuICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZzogTW9kdWxlQ29uZmlnO1xuICAgIHByaXZhdGUgX2h1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb247XG5cbiAgICBjb25uZWN0aW9ucyA9IFtdO1xuICAgIGh1YnMgPSB7fTtcbiAgICBkZWxheVN0YXJ0ZXJzID0gW107XG4gICAgY29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBtYXhSZXRyeVRpbWVzID0gMTA7XG4gICAgdmlld0NvZGVTdWJzOiB7XG4gICAgICAgIHZpZXdDb2RlOiBzdHJpbmcsXG4gICAgICAgIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkXG4gICAgfVtdO1xuXG4gICAgaHVic1NldHRpbmc6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9tb2R1bGVDb25maWdTZXJ2aWNlOiBNb2R1bGVDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW5TZXJ2aWNlOiBBdXRoZW5TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX21vZHVsZUNvbmZpZyA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgICAgIHRoaXMuaHVic1NldHRpbmcgPSB0aGlzLl9tb2R1bGVDb25maWcuZW52aXJvbm1lbnQuc2lnbmFsckNvbmZpZy5odWJzO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlQ29tbW9uSHViKSB7XG4gICAgICAgICAgICB0aGlzLmh1YnNbJ0NvbW1vbkh1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdDb21tb25IdWInKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snQ29tbW9uSHViJ10pO1xuICAgICAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snQ29tbW9uSHViJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb25zaXN0ZW5jeUh1Yikge1xuICAgICAgICAgICAgdGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdDb25zaXN0ZW5jeUh1YicpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVOb3RpZmljYXRpb25IdWIpIHtcbiAgICAgICAgICAgIHRoaXMuaHVic1snTm90aWZpY2F0aW9uSHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ05vdGlmaWNhdGlvbkh1YicpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSk7XG4gICAgICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZVB1YmxpY0h1Yikge1xuICAgICAgICAgICAgdGhpcy5odWJzWydQdWJsaWNIdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignUHVibGljSHViJyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ1B1YmxpY0h1YiddKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ1B1YmxpY0h1YiddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlICh0aGlzLmRlbGF5U3RhcnRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5kZWxheVN0YXJ0ZXJzLnBvcCgpKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbm5lY3RlZCA9IHRydWU7XG5cbiAgICB9XG5cbiAgICBzdGFydCh0b3BpYzogc3RyaW5nLCB2aWV3Q29kZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuICAgICAgICBpZiAoIXRvcGljKSB7XG4gICAgICAgICAgICB0b3BpYyA9ICdDb21tb25IdWInO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzSHViRW5hYmxlZCh0b3BpYykpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5kZWxheVN0YXJ0ZXJzLnB1c2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVmlld0NvZGUodGhpcy5odWJzW3RvcGljXSwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVWaWV3Q29kZSh0aGlzLmh1YnNbdG9waWNdLCB2aWV3Q29kZSwgY2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNIdWJFbmFibGVkKHRvcGljKSB7XG4gICAgICAgIHJldHVybiAodG9waWMgPT09ICdDb21tb25IdWInICYmIHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb21tb25IdWIpXG4gICAgICAgICAgICB8fCAodG9waWMgPT09ICdDb25zaXN0ZW5jeUh1YicgJiYgdGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZUNvbnNpc3RlbmN5SHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnTm90aWZpY2F0aW9uSHViJyAmJiB0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlTm90aWZpY2F0aW9uSHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnUHVibGljSHViJyk7XG5cbiAgICB9XG5cbiAgICBzdG9wKCkge1xuICAgICAgICB0aGlzLl9odWJDb25uZWN0aW9uLnN0b3AoKTtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmVWaWV3Q29kZShodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uLCB2aWV3Q29kZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuXG4gICAgICAgIGlmICghdGhpcy52aWV3Q29kZVN1YnMpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvZGVTdWJzID0gW3sgdmlld0NvZGUsIGNhbGxiYWNrIH1dO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmUoaHViQ29ubmVjdGlvbiwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZpZXdDb2RlU3Vicy5maW5kSW5kZXgoeCA9PiB4LnZpZXdDb2RlID09PSB2aWV3Q29kZSkgPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb2RlU3Vicy5wdXNoKHsgdmlld0NvZGUsIGNhbGxiYWNrIH0pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmUoaHViQ29ubmVjdGlvbiwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuU3Vic2NyaWJlVmlld0NvZGUodG9waWM6IHN0cmluZywgdmlld0NvZGU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRvcGljKSB7XG4gICAgICAgICAgICB0b3BpYyA9ICdDb21tb25IdWInO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGh1YkNvbm5lY3Rpb24gPSB0aGlzLmh1YnNbdG9waWNdO1xuICAgICAgICBpZiAodGhpcy52aWV3Q29kZVN1YnMpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvZGVTdWJzID0gdGhpcy52aWV3Q29kZVN1YnMuZmlsdGVyKHggPT4geC52aWV3Q29kZSAhPT0gdmlld0NvZGUpO1xuICAgICAgICAgICAgdGhpcy51blN1YnNjcmliZShodWJDb25uZWN0aW9uLCB2aWV3Q29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNvbm5lY3Rpb24odG9waWM6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IHRoaXMuX2F1dGhlblNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgcmV0dXJuIG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcbiAgICAgICAgICAgIC53aXRoVXJsKGAke3RoaXMuX21vZHVsZUNvbmZpZy5lbnZpcm9ubWVudC5hcGlEb21haW4ubm90aWZpY2F0aW9uRW5kcG9pbnR9LyR7dG9waWN9YCxcbiAgICAgICAgICAgICAgICB7IGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4gYWNjZXNzVG9rZW4gfSlcbiAgICAgICAgICAgIC5idWlsZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXV0b1JlY29ubmVjdChodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uKSB7XG4gICAgICAgIGh1YkNvbm5lY3Rpb24ub25jbG9zZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbihodWJDb25uZWN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0ID0gbXMgPT4gbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIG1zKSk7XG5cbiAgICBwcml2YXRlIHN0YXJ0Q29ubmVjdGlvbihodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uLCByZXRyeUNvdW50ID0gMSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgICAgICAgIC8vIG5vdCBzdXJlIGFib3V0IGl0IDopKSlcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hc3BuZXQvU2lnbmFsUi9pc3N1ZXMvMjM4OVxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldCwgJ09QRU4nLCB7IHZhbHVlOiAxLCB9KTtcblxuICAgICAgICAgICAgaHViQ29ubmVjdGlvblxuICAgICAgICAgICAgICAgIC5zdGFydCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF4UmV0cnlUaW1lcyAtIHJldHJ5Q291bnQgPiAwKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLndhaXQocmV0cnlDb3VudCAqIHJldHJ5Q291bnQgKiAxMDAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHRoaXMuc3RhcnRDb25uZWN0aW9uLmJpbmQodGhpcywgaHViQ29ubmVjdGlvbiwgKytyZXRyeUNvdW50KSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmUoaHViQ29ubmVjdGlvbjogSHViQ29ubmVjdGlvbiwgdmlld0NvZGU6IHN0cmluZywgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKHZpZXdDb2RlICYmIGh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24uaW52b2tlKCdKb2luUm9vbScsIHZpZXdDb2RlKS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIudG9TdHJpbmcoKSkpO1xuICAgICAgICAgICAgaHViQ29ubmVjdGlvbi5vbih2aWV3Q29kZSwgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVuU3Vic2NyaWJlKGh1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZpZXdDb2RlICYmIGh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24uaW52b2tlKCdsZWF2ZVJvb20nLCB2aWV3Q29kZSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyLnRvU3RyaW5nKCkpKTtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24ub2ZmKHZpZXdDb2RlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtqRCxNQUFNLE9BQU8sY0FBYztJQWtCdkIsWUFDWSxvQkFBeUMsRUFDekMsY0FBNkI7UUFEN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQWhCekMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFPbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQWlIVCxTQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQTNHckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7SUFFSyxJQUFJOztZQUNOLElBQUksSUFBSSxDQUFDLFFBQVEs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QUMsYUFBNEIsRUFBRSxRQUFnQjtRQUM5RCxJQUFJLFFBQVEsSUFBSSxhQUFhLEVBQUU7WUFDM0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDOzs7O1lBNUtKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBTFEsbUJBQW1CO1lBQ25CLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uIH0gZnJvbSAnQGFzcG5ldC9zaWduYWxyJztcbmltcG9ydCAqIGFzIHNpZ25hbFIgZnJvbSAnQGFzcG5ldC9zaWduYWxyJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZ3MvbW9kdWxlLWNvbmZpZyc7XG5pbXBvcnQgeyBNb2R1bGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb2R1bGUtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVuU2VydmljZSB9IGZyb20gJy4vYXV0aGVuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25hbFJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9tb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZztcbiAgICBwcml2YXRlIF9odWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uO1xuXG4gICAgY29ubmVjdGlvbnMgPSBbXTtcbiAgICBodWJzID0ge307XG4gICAgZGVsYXlTdGFydGVycyA9IFtdO1xuICAgIGNvbm5lY3RlZCA9IGZhbHNlO1xuXG4gICAgbWF4UmV0cnlUaW1lcyA9IDEwO1xuICAgIHZpZXdDb2RlU3Viczoge1xuICAgICAgICB2aWV3Q29kZTogc3RyaW5nLFxuICAgICAgICBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZFxuICAgIH1bXTtcblxuICAgIGh1YnNTZXR0aW5nOiBhbnk7XG4gICAgaXNJbml0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9tb2R1bGVDb25maWdTZXJ2aWNlOiBNb2R1bGVDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW5TZXJ2aWNlOiBBdXRoZW5TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX21vZHVsZUNvbmZpZyA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgICAgIHRoaXMuaHVic1NldHRpbmcgPSB0aGlzLl9tb2R1bGVDb25maWcuZW52aXJvbm1lbnQuc2lnbmFsckNvbmZpZy5odWJzO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0luaXRlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlQ29tbW9uSHViKSB7XG4gICAgICAgICAgICB0aGlzLmh1YnNbJ0NvbW1vbkh1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdDb21tb25IdWInKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snQ29tbW9uSHViJ10pO1xuICAgICAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snQ29tbW9uSHViJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb25zaXN0ZW5jeUh1Yikge1xuICAgICAgICAgICAgdGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdDb25zaXN0ZW5jeUh1YicpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVOb3RpZmljYXRpb25IdWIpIHtcbiAgICAgICAgICAgIHRoaXMuaHVic1snTm90aWZpY2F0aW9uSHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ05vdGlmaWNhdGlvbkh1YicpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSk7XG4gICAgICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZVB1YmxpY0h1Yikge1xuICAgICAgICAgICAgdGhpcy5odWJzWydQdWJsaWNIdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignUHVibGljSHViJyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ1B1YmxpY0h1YiddKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ1B1YmxpY0h1YiddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlICh0aGlzLmRlbGF5U3RhcnRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5kZWxheVN0YXJ0ZXJzLnBvcCgpKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbm5lY3RlZCA9IHRydWU7XG5cbiAgICB9XG5cbiAgICBzdGFydCh0b3BpYzogc3RyaW5nLCB2aWV3Q29kZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuICAgICAgICBpZiAoIXRvcGljKSB7XG4gICAgICAgICAgICB0b3BpYyA9ICdDb21tb25IdWInO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzSHViRW5hYmxlZCh0b3BpYykpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5kZWxheVN0YXJ0ZXJzLnB1c2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVmlld0NvZGUodGhpcy5odWJzW3RvcGljXSwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVWaWV3Q29kZSh0aGlzLmh1YnNbdG9waWNdLCB2aWV3Q29kZSwgY2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNIdWJFbmFibGVkKHRvcGljKSB7XG4gICAgICAgIHJldHVybiAodG9waWMgPT09ICdDb21tb25IdWInICYmIHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb21tb25IdWIpXG4gICAgICAgICAgICB8fCAodG9waWMgPT09ICdDb25zaXN0ZW5jeUh1YicgJiYgdGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZUNvbnNpc3RlbmN5SHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnTm90aWZpY2F0aW9uSHViJyAmJiB0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlTm90aWZpY2F0aW9uSHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnUHVibGljSHViJyk7XG5cbiAgICB9XG5cbiAgICBzdG9wKCkge1xuICAgICAgICB0aGlzLl9odWJDb25uZWN0aW9uLnN0b3AoKTtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmVWaWV3Q29kZShodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uLCB2aWV3Q29kZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuXG4gICAgICAgIGlmICghdGhpcy52aWV3Q29kZVN1YnMpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvZGVTdWJzID0gW3sgdmlld0NvZGUsIGNhbGxiYWNrIH1dO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmUoaHViQ29ubmVjdGlvbiwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZpZXdDb2RlU3Vicy5maW5kSW5kZXgoeCA9PiB4LnZpZXdDb2RlID09PSB2aWV3Q29kZSkgPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb2RlU3Vicy5wdXNoKHsgdmlld0NvZGUsIGNhbGxiYWNrIH0pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmUoaHViQ29ubmVjdGlvbiwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuU3Vic2NyaWJlVmlld0NvZGUodG9waWM6IHN0cmluZywgdmlld0NvZGU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRvcGljKSB7XG4gICAgICAgICAgICB0b3BpYyA9ICdDb21tb25IdWInO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGh1YkNvbm5lY3Rpb24gPSB0aGlzLmh1YnNbdG9waWNdO1xuICAgICAgICBpZiAodGhpcy52aWV3Q29kZVN1YnMpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvZGVTdWJzID0gdGhpcy52aWV3Q29kZVN1YnMuZmlsdGVyKHggPT4geC52aWV3Q29kZSAhPT0gdmlld0NvZGUpO1xuICAgICAgICAgICAgdGhpcy51blN1YnNjcmliZShodWJDb25uZWN0aW9uLCB2aWV3Q29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNvbm5lY3Rpb24odG9waWM6IHN0cmluZykge1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IHRoaXMuX2F1dGhlblNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgcmV0dXJuIG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcbiAgICAgICAgICAgIC53aXRoVXJsKGAke3RoaXMuX21vZHVsZUNvbmZpZy5lbnZpcm9ubWVudC5hcGlEb21haW4ubm90aWZpY2F0aW9uRW5kcG9pbnR9LyR7dG9waWN9YCxcbiAgICAgICAgICAgICAgICB7IGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4gYWNjZXNzVG9rZW4gfSlcbiAgICAgICAgICAgIC5idWlsZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXV0b1JlY29ubmVjdChodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uKSB7XG4gICAgICAgIGh1YkNvbm5lY3Rpb24ub25jbG9zZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbihodWJDb25uZWN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0ID0gbXMgPT4gbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIG1zKSk7XG5cbiAgICBwcml2YXRlIHN0YXJ0Q29ubmVjdGlvbihodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uLCByZXRyeUNvdW50ID0gMSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgICAgICAgIC8vIG5vdCBzdXJlIGFib3V0IGl0IDopKSlcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hc3BuZXQvU2lnbmFsUi9pc3N1ZXMvMjM4OVxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldCwgJ09QRU4nLCB7IHZhbHVlOiAxLCB9KTtcblxuICAgICAgICAgICAgaHViQ29ubmVjdGlvblxuICAgICAgICAgICAgICAgIC5zdGFydCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF4UmV0cnlUaW1lcyAtIHJldHJ5Q291bnQgPiAwKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLndhaXQocmV0cnlDb3VudCAqIHJldHJ5Q291bnQgKiAxMDAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHRoaXMuc3RhcnRDb25uZWN0aW9uLmJpbmQodGhpcywgaHViQ29ubmVjdGlvbiwgKytyZXRyeUNvdW50KSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmUoaHViQ29ubmVjdGlvbjogSHViQ29ubmVjdGlvbiwgdmlld0NvZGU6IHN0cmluZywgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKHZpZXdDb2RlICYmIGh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24uaW52b2tlKCdKb2luUm9vbScsIHZpZXdDb2RlKS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIudG9TdHJpbmcoKSkpO1xuICAgICAgICAgICAgaHViQ29ubmVjdGlvbi5vbih2aWV3Q29kZSwgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVuU3Vic2NyaWJlKGh1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZpZXdDb2RlICYmIGh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24uaW52b2tlKCdsZWF2ZVJvb20nLCB2aWV3Q29kZSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyLnRvU3RyaW5nKCkpKTtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24ub2ZmKHZpZXdDb2RlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
package/fesm2015/tnx-shared.js
CHANGED
|
@@ -4938,12 +4938,17 @@ class SignalRService {
|
|
|
4938
4938
|
this.delayStarters = [];
|
|
4939
4939
|
this.connected = false;
|
|
4940
4940
|
this.maxRetryTimes = 10;
|
|
4941
|
+
this.isInited = false;
|
|
4941
4942
|
this.wait = ms => new Promise(r => setTimeout(r, ms));
|
|
4942
4943
|
this._moduleConfig = this._moduleConfigService.getConfig();
|
|
4943
4944
|
this.hubsSetting = this._moduleConfig.environment.signalrConfig.hubs;
|
|
4944
4945
|
}
|
|
4945
4946
|
init() {
|
|
4946
4947
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4948
|
+
if (this.isInited) {
|
|
4949
|
+
return;
|
|
4950
|
+
}
|
|
4951
|
+
this.isInited = true;
|
|
4947
4952
|
if (this.hubsSetting && this.hubsSetting.enableCommonHub) {
|
|
4948
4953
|
this.hubs['CommonHub'] = this.createConnection('CommonHub');
|
|
4949
4954
|
yield this.startConnection(this.hubs['CommonHub']);
|
|
@@ -41235,6 +41240,7 @@ class EntityPickerComponent extends DataListBase {
|
|
|
41235
41240
|
this._userService = _userService;
|
|
41236
41241
|
this.disabled = false;
|
|
41237
41242
|
this.readOnly = false;
|
|
41243
|
+
this.required = false;
|
|
41238
41244
|
this.onInit = new EventEmitter();
|
|
41239
41245
|
this.onSelect = new EventEmitter();
|
|
41240
41246
|
this.onUnSelect = new EventEmitter();
|
|
@@ -41475,7 +41481,7 @@ class EntityPickerComponent extends DataListBase {
|
|
|
41475
41481
|
EntityPickerComponent.decorators = [
|
|
41476
41482
|
{ type: Component, args: [{
|
|
41477
41483
|
selector: 'entity-picker',
|
|
41478
|
-
template: "<crud-list #crudList [templates]=\"children\" [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\n [hiddenDelete]=\"readOnly\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\n (onReloaded)=\"_unmarkLoading()\" class=\"--no-wrapper-padding\">\n <ng-template #toolbar let-crudList=\"crudList\">\n <button *ngIf=\"!readOnly\" type=\"button\" pButton icon=\"pi pi-external-link\" class=\"p-button-text\"\n [label]=\"control.title\" [disabled]=\"control.disabled\" (click)=\"selectEntity()\"></button>\n <ng-container *ngIf=\"control.multiple && !readOnly && !setting.hiddenCheckbox\">\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" label=\"B\u1ECF m\u1EE5c \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\"\n [disabled]=\"model.selectedItems.length == 0\" (click)=\"handleUnMultiPickEntity()\"></button>\n </ng-container>\n </ng-template>\n <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\" let-index=\"index\">\n <div *ngIf=\"!control.rowButtonTemplate && !readOnly\" class=\"p-toolbar-group-center button-group\">\n <ng-container *ngIf=\"control.rowButtonBeforeTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonBeforeTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </ng-container>\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" pTooltip=\"B\u1ECF ch\u1ECDn m\u1EE5c n\u00E0y\" tooltipPosition=\"top\"\n (click)=\"handleUnPickEntity(rowData)\"></button>\n </div>\n <div *ngIf=\"control.rowButtonTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </div>\n </ng-template>\n</crud-list>\n<tn-dialog #dialog *ngIf=\"showDetailForm\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\n <entity-picker-box #entityPickerBox [control]=\"control\" [parentSetting]=\"setting\" [advanceData]=\"advanceData\"\n (onRowSelect)=\"handleEntityPickerBoxRowSelect($event)\" [selectedValue]=\"selectedValue\"\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\">\n </entity-picker-box>\n <ng-template #footer>\n <button type=\"button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\n </ng-template>\n</tn-dialog>",
|
|
41484
|
+
template: "<crud-list #crudList [templates]=\"children\" [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\n [hiddenDelete]=\"readOnly\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\n (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\"\n (onReloaded)=\"_unmarkLoading()\" class=\"--no-wrapper-padding\">\n <ng-template #toolbar let-crudList=\"crudList\">\n <button *ngIf=\"!readOnly\" type=\"button\" pButton icon=\"pi pi-external-link\" class=\"p-button-text\"\n [label]=\"control.title\" [disabled]=\"control.disabled\" (click)=\"selectEntity()\"></button>\n <ng-container *ngIf=\"required\">\n <span class=\"star-required\">*</span>\n </ng-container>\n <ng-container *ngIf=\"control.multiple && !readOnly && !setting.hiddenCheckbox\">\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" label=\"B\u1ECF m\u1EE5c \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\"\n [disabled]=\"model.selectedItems.length == 0\" (click)=\"handleUnMultiPickEntity()\"></button>\n </ng-container>\n </ng-template>\n <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\" let-index=\"index\">\n <div *ngIf=\"!control.rowButtonTemplate && !readOnly\" class=\"p-toolbar-group-center button-group\">\n <ng-container *ngIf=\"control.rowButtonBeforeTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonBeforeTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </ng-container>\n <button type=\"button\" pButton class=\"p-button-warning p-button-text p-button-rounded link-or-action\"\n icon=\"pi pi-trash\" pTooltip=\"B\u1ECF ch\u1ECDn m\u1EE5c n\u00E0y\" tooltipPosition=\"top\"\n (click)=\"handleUnPickEntity(rowData)\"></button>\n </div>\n <div *ngIf=\"control.rowButtonTemplate\" class=\"p-toolbar-group-center button-group\">\n <ng-container\n *ngTemplateOutlet=\"control.rowButtonTemplate; context: {rowData: rowData, rowIndex: index, control: control}\">\n </ng-container>\n </div>\n </ng-template>\n</crud-list>\n<tn-dialog #dialog *ngIf=\"showDetailForm\" styleClass=\"entity-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\n <entity-picker-box #entityPickerBox [control]=\"control\" [parentSetting]=\"setting\" [advanceData]=\"advanceData\"\n (onRowSelect)=\"handleEntityPickerBoxRowSelect($event)\" [selectedValue]=\"selectedValue\"\n (onChanged)=\"handleChangeEntity($event)\" (onSelect)=\"handleSelectEntity($event)\"\n (onUnSelect)=\"handleUnSelectEntity($event)\" (onDone)=\"handleHide($event)\">\n </entity-picker-box>\n <ng-template #footer>\n <button type=\"button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, entityPickerBox)\"\n [label]=\"'Ho\u00E0n th\u00E0nh' | translate\" icon=\"pi pi-check\"></button>\n </ng-template>\n</tn-dialog>",
|
|
41479
41485
|
providers: [
|
|
41480
41486
|
{
|
|
41481
41487
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -41485,7 +41491,7 @@ EntityPickerComponent.decorators = [
|
|
|
41485
41491
|
ComponentContextService,
|
|
41486
41492
|
EntityMetadataService
|
|
41487
41493
|
],
|
|
41488
|
-
styles: [".user-selected ::ng-deep ul{text-align:left}:host::ng-deep .ui-g>.ui-g-12{padding:0 0 10px}:host::ng-deep .ui-g>.button-group{padding-left:0}"]
|
|
41494
|
+
styles: [".user-selected ::ng-deep ul{text-align:left}:host::ng-deep .ui-g>.ui-g-12{padding:0 0 10px}:host::ng-deep .ui-g>.button-group{padding-left:0}.star-required{color:red;transform:translateY(5px);display:inline-block}"]
|
|
41489
41495
|
},] }
|
|
41490
41496
|
];
|
|
41491
41497
|
EntityPickerComponent.ctorParameters = () => [
|
|
@@ -41498,6 +41504,7 @@ EntityPickerComponent.propDecorators = {
|
|
|
41498
41504
|
control: [{ type: Input }],
|
|
41499
41505
|
disabled: [{ type: Input }],
|
|
41500
41506
|
readOnly: [{ type: Input }],
|
|
41507
|
+
required: [{ type: Input }],
|
|
41501
41508
|
children: [{ type: Input }],
|
|
41502
41509
|
onInit: [{ type: Output }],
|
|
41503
41510
|
onSelect: [{ type: Output, args: ['onSelect',] }],
|