ca-components 1.1.998 → 1.1.9991

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.
@@ -28,6 +28,7 @@ export class CaInputAddressDropdownComponent {
28
28
  set activeAddress(value) {
29
29
  if (value) {
30
30
  this._activeAddress = value;
31
+ this.getActiveAddressAndSetData();
31
32
  }
32
33
  }
33
34
  set receivedAddressData(value) {
@@ -92,13 +93,16 @@ export class CaInputAddressDropdownComponent {
92
93
  this.superControl.valueAccessor = this;
93
94
  }
94
95
  ngAfterContentInit() {
95
- if (this._activeAddress) {
96
- this.inputDropdown.setDropdownValue(this._activeAddress, 'address', 'address');
97
- this.onChange(this._activeAddress.address);
98
- }
96
+ this.getActiveAddressAndSetData();
99
97
  }
100
98
  writeValue(_) {
101
- //this.onChange(_);
99
+ this.getActiveAddressAndSetData();
100
+ }
101
+ getActiveAddressAndSetData() {
102
+ if (this._activeAddress) {
103
+ this.inputDropdown?.setDropdownValue(this._activeAddress, 'address', 'address');
104
+ this.onChange(this._activeAddress?.address);
105
+ }
102
106
  }
103
107
  registerOnChange(fn) {
104
108
  this.onChange = fn;
@@ -344,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
344
348
  type: HostListener,
345
349
  args: ['document:keydown', ['$event']]
346
350
  }] } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksR0FFZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUlILFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBS3hCLGFBQWE7QUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FB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b2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCZWhhdmlvclN1YmplY3QsXG4gICAgY2F0Y2hFcnJvcixcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIE9ic2VydmFibGUsXG4gICAgb2YsXG4gICAgU3ViamVjdCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVVudGlsLFxuICAgIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIFVudHlwZWRGb3JtR3JvdXAsXG4gICAgTmdDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIENvbmZpZ1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi9jYS1pbnB1dC9jb25maWcvY2EtaW5wdXQuY29uZmlnJztcblxuLy8gQ29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtaW5wdXQtZHJvcGRvd24vY2EtaW5wdXQtZHJvcGRvd24uY29tcG9uZW50JztcblxuLy8gTW9kdWxlc1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuLy8gZW51bXNcbmltcG9ydCB7IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1jb21tYW5kcy1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLXN0b3AtdHlwZXMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtdHlwZS1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLWxheWVycy1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBlSW5wdXRCYXNpY1N0cmluZyB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1iYXNpYy1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQWRkcmVzc0RhdGEgfSBmcm9tICcuL21vZGVscy9hZGRyZXNzLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgQWRkcmVzc0xpc3QgfSBmcm9tICcuL21vZGVscy9hZGRyZXNzLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWFuZHNIYW5kbGVyIH0gZnJvbSAnLi9tb2RlbHMvY29tbWFuZHMtaGFuZGxlci5tb2RlbCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVTZWFyY2hMYXllciB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtc2VhcmNoLWxheWVyLm1vZGVsJztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZyB9IGZyb20gJy4vbW9kZWxzL2lucHV0LWFkZHJlc3MtY29tbWFuZHMtc3RyaW5nLm1vZGVsJztcbmltcG9ydCB7IFNlbnRBZGRyZXNzRGF0YSB9IGZyb20gJy4vbW9kZWxzL3NlbnQtYWRkcmVzcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NMaXN0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy1saXN0LXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NFbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy1lbnRpdHkubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICAgICAgICAnLi4vY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gTW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXRcbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dERyb3Bkb3duJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBpbnB1dERyb3Bkb3duITogQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgc2V0IHBsYWNlaG9sZGVyVHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2hlY2tTZWFyY2hMYXllcnModmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgYWN0aXZlQWRkcmVzcyh2YWx1ZTogQWRkcmVzc0VudGl0eSB8IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVBZGRyZXNzID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlY2VpdmVkQWRkcmVzc0RhdGEodmFsdWU6IEFkZHJlc3NEYXRhIHwgbnVsbCkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0ge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6IHZhbHVlLmFkZHJlc3MhLFxuICAgICAgICAgICAgICAgIHZhbGlkOiB2YWx1ZS5hZGRyZXNzICYmIHZhbHVlLmxvbmdMYXQgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgbG9uZ0xhdDogdmFsdWUubG9uZ0xhdCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzLmVtaXQodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlY2VpdmVkQWRkcmVzc0xpc3QodmFsdWU6IEFkZHJlc3NMaXN0UmVzcG9uc2UgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuX3JlY2VpdmVkQWRkcmVzc0xpc3QgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlPy5hZGRyZXNzZXMpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzTGlzdCA9IHZhbHVlLmFkZHJlc3Nlcy5tYXAoXG4gICAgICAgICAgICAgICAgKGl0ZW06IHN0cmluZywgaW5keDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGluZHgsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgc2VudEFkZHJlc3NWYWx1ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBpbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb21tYW5kSGFuZGxlciE6IENvbW1hbmRzSGFuZGxlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNSb3V0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGNsb3NlZEJvcmRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGhpZGVFbXB0eUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBhZGRyZXNMaXN0ITogQWRkcmVzc0xpc3RbXTtcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZEFkZHJlc3M6IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YT4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3NEYXRhPigpO1xuICAgIEBPdXRwdXQoKSBzZW50QWRkcmVzc0RhdGE6IEV2ZW50RW1pdHRlcjxTZW50QWRkcmVzc0RhdGE+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxTZW50QWRkcmVzc0RhdGE+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjbG9zZURyb3Bkb3duOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPEFkZHJlc3NEYXRhIHwge30+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICAgICAgQWRkcmVzc0RhdGEgfCB7fVxuICAgID4oKTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlRmxhZzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBpbmNvcnJlY3RFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcubmFtZSA9PSBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5ST1VUSU5HX0FERFJFU1NcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uRU5URVIpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNvbW1hbmRzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ09ORklSTVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uRVNDQVBFKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcklucHV0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vQWRkcmVzcyBkYXRhXG4gICAgcHJpdmF0ZSBzZWFyY2hMYXllcnMhOiBBdXRvY29tcGxldGVTZWFyY2hMYXllcltdO1xuICAgIHB1YmxpYyBjdXJyZW50QWRkcmVzc0RhdGE6IEFkZHJlc3NEYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvL0NvbmZnXG4gICAgcHVibGljIGFkZHJlc3NFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjaG9zZW5Gcm9tRHJvcGRvd246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGFsbG93VmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzdG9wVHlwZTogc3RyaW5nID0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5FTVBUWTtcbiAgICBwcml2YXRlIHJlcXVlc3RTZW50OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIF9yZWNlaXZlZEFkZHJlc3NMaXN0OiBBZGRyZXNzTGlzdFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIF9hY3RpdmVBZGRyZXNzOiBBZGRyZXNzRW50aXR5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwdWJsaWMgYWRkcmVzc0Zvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBTZWxmKCkgcHVibGljIHN1cGVyQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdXBlckNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlQWRkcmVzcykge1xuICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duLnNldERyb3Bkb3duVmFsdWUoXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAnYWRkcmVzcycsXG4gICAgICAgICAgICAgICAgJ2FkZHJlc3MnXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2FjdGl2ZUFkZHJlc3MuYWRkcmVzcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKF86IGFueSk6IHZvaWQge1xuICAgICAgICAvL3RoaXMub25DaGFuZ2UoXyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChfOiBhbnkpOiB2b2lkIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0Q2hhbmdlc0xpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZhYmxlSW5wdXRTZWFyY2ggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyBvYnNlcnZhYmxlSW5wdXRTZWFyY2gkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgICAgICB0aGlzLm9ic2VydmFibGVJbnB1dFNlYXJjaC5hc09ic2VydmFibGUoKTtcblxuICAgIHB1YmxpYyBoYW5kbGVTZWFyY2hJbnB1dCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlSW5wdXRTZWFyY2gubmV4dCh0ZXh0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENoYW5nZXNMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlSW5wdXRTZWFyY2gkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICB0YXAoKHRlcm0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3Bpbm5lcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGVJbnB1dEJhc2ljU3RyaW5nLlNNQUxMLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBlSW5wdXRCYXNpY1N0cmluZy5XSElURSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NwaW5uZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkcmVzTGlzdCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVybSAhPT0gdGhpcy5jdXJyZW50QWRkcmVzc0RhdGE/LmFkZHJlc3MuYWRkcmVzcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZy5uYW1lID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlJPVVRJTkdfQUREUkVTU1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93VmFsaWRhdGlvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duLmlucHV0UmVmLmlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nTGF0OiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcy5lbWl0KGFkZHJlc3NEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dWYWxpZGF0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHRlcm06IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGVybT8ubGVuZ3RoID49IDM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChxdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaExheWVyczogdGhpcy5zZWFyY2hMYXllcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9zZWRCb3JkZXI6IHRoaXMuY2xvc2VkQm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VudEFkZHJlc3NEYXRhLm5leHQocGFyYW1zKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5yZWNlaXZlZEFkZHJlc3NMaXN0KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGdldFN1cGVyQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VwZXJDb250cm9sLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xvc2VEcm9wZG93bihldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24uZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFkZHJlc3NEYXRhKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlcXVlc3RTZW50ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnNlbnRBZGRyZXNzVmFsdWUuZW1pdChhZGRyZXNzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3REcm9wZG93bihldmVudDogQWRkcmVzc0xpc3QgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSBldmVudFxuICAgICAgICAgICAgPyB7IC4uLmV2ZW50LCBhZGRyZXNzOiBldmVudD8uYWRkcmVzcyB9XG4gICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgaWYgKGV2ZW50Py5hZGRyZXNzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWFyY2hMYXllcnNbMF0gPT09IElucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTUykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLmNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oZXZlbnQuYWRkcmVzcyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFkZHJlc3NEYXRhKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRWYWx1ZShldmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc0RhdGEoZXZlbnQuYWRkcmVzcyk7XG4gICAgICAgICAgICAgICAgLy90aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShldmVudC5hZGRyZXNzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsZWFySW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5wb3BvdmVyUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbW1hbmRzKFxuICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgdHlwZTogSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdcbiAgICApOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHR5cGUgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5DT05GSVJNICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEpIHx8XG4gICAgICAgICAgICB0eXBlID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ0FOQ0VMXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhLnR5cGUgPSB0eXBlO1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kRXZlbnQuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA/PyB7fSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZGRyZXNzKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZHJlc3NFeHBhbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hZGRyZXNzRXhwYW5kZWQpIHRoaXMuYWRkcmVzc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBZGRyZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3NFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSBudWxsO1xuICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LmlucHV0UmVmPy5jbGVhcklucHV0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU2VhcmNoTGF5ZXJzKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hMYXllcnMgPVxuICAgICAgICAgICAgdmFsdWUgPT09IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLkxPTkdfQUREUkVTU1xuICAgICAgICAgICAgICAgID8gW0lucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTU11cbiAgICAgICAgICAgICAgICA6IHZhbHVlID09PSBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5TSE9SVF9BRERSRVNTXG4gICAgICAgICAgICAgICAgICA/IFtJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtLkxPQ0FMSVRZXVxuICAgICAgICAgICAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlU3RvcFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGxldCBmbGFnID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnN0b3BUeXBlID09PSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3BUeXBlID0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5MT0FERUQ7XG4gICAgICAgICAgICBmbGFnID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcFR5cGUgPSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGbGFnLmVtaXQoZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNob3NlbkZyb21Ecm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5pbnB1dFJlZj8uaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXREcm9wZG93bi5pbnB1dFJlZi5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkluY29ycmVjdElucHV0KGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5jb3JyZWN0RXZlbnQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYXJJbnB1dEV2ZW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHt9LFxuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgbG9uZ0xhdDoge30sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzLmVtaXQoYWRkcmVzc0RhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc3RyZWV0TnVtID0gL1xcZC4qXFxkLztcblxuICAgICAgICByZXR1cm4gc3RyZWV0TnVtLnRlc3QoYWRkcmVzcykgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZHJlc3NfaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAoY2xpY2spPVwiYWRkcmVzc0V4cGFuZCgpXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1haW5fYWRkcmVzc19ob2xkZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICBpbnB1dF9mb3Jfcm91dGluZzogaXNSb3V0aW5nLFxuICAgICAgICAgICAgbm90X2V4cGFuZGVkOiBpc1JvdXRpbmcgJiYgIWFkZHJlc3NFeHBhbmRlZCxcbiAgICAgICAgICAgIGV4cGFuZGVkX2FkZHJlc3M6IGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQsXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPGFwcC1jYS1pbnB1dC1kcm9wZG93blxuICAgICAgICAgICAgW2xhYmVsXT1cIidhZGRyZXNzJ1wiXG4gICAgICAgICAgICBbb3B0aW9uVmFsdWVdPVwiJ2FkZHJlc3MnXCJcbiAgICAgICAgICAgICNpbnB1dERyb3Bkb3duXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZGRyZXNMaXN0XCJcbiAgICAgICAgICAgIFthY3RpdmVJdGVtXT1cIl9hY3RpdmVBZGRyZXNzXCJcbiAgICAgICAgICAgIFtpc0luY29ycmVjdFZhbHVlXT1cImluY29ycmVjdFZhbHVlXCJcbiAgICAgICAgICAgIFtpc0FkZHJlc3NEcm9wZG93bl09XCJ0cnVlXCJcbiAgICAgICAgICAgIChpbmNvcnJlY3RFdmVudCk9XCJvbkluY29ycmVjdElucHV0KCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdERyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGNsb3NlRHJvcGRvd24pPVwib25DbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFySW5wdXRFdmVudCk9XCJvbkNsZWFySW5wdXRFdmVudCgpXCJcbiAgICAgICAgICAgIChzZWFyY2hJbnB1dEV2ZW50KT1cImhhbmRsZVNlYXJjaElucHV0KCRldmVudClcIlxuICAgICAgICA+PC9hcHAtY2EtaW5wdXQtZHJvcGRvd24+XG4gICAgICAgIEBpZiAoaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCAmJiAhaGlkZUVtcHR5TG9hZGVkKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdG9wX2hvbGQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RvcFR5cGUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3BfdGV4dFwiPnt7IHN0b3BUeXBlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZHMgYWRkcmVzcy1mbGFnIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW4tY29tbWFuZHMgY2EtaW5wdXQtY29tbWFuZC1maXJzdFwiXG4gICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cD8ubmFtZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgICAgICAgICAgPy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYS1pbnB1dC1jb21tYW5kLXN2Zy1maXJzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hbGxvd19jb25maXJtXT1cImNob3NlbkZyb21Ecm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY29tbWFuZEhhbmRsZXIuY29tbWFuZHMuZmlyc3RDb21tYW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ29tbWFuZHMoJGV2ZW50LCAnY29uZmlybScpXCJcbiAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbi1jb21tYW5kcyBjYS1pbnB1dC1jb21tYW5kLXNlY29uZFwiXG4gICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uc2Vjb25kQ29tbWFuZD8ucG9wdXA/Lm5hbWVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgICAgICAgICA/LmJhY2tncm91bmRDb2xvclxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAhY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZC1zdmctc2Vjb25kXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb21tYW5kSGFuZGxlci5jb21tYW5kcy5zZWNvbmRDb21tYW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ29tbWFuZHMoJGV2ZW50LCAnY2FuY2VsJylcIlxuICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
351
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksR0FFZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUlILFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBS3hCLGFBQWE7QUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FB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QWM7c0JBQXZCLE1BQU07Z0JBSVAsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQmVoYXZpb3JTdWJqZWN0LFxuICAgIGNhdGNoRXJyb3IsXG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBPYnNlcnZhYmxlLFxuICAgIG9mLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIE5nQ29udHJvbCxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBDb25maWdcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2NhLWlucHV0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8vIE1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8vIGVudW1zXG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtY29tbWFuZHMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1zdG9wLXR5cGVzLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLXR5cGUtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1sYXllcnMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgZUlucHV0QmFzaWNTdHJpbmcgfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtYmFzaWMtc3RyaW5nLmVudW0nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IEFkZHJlc3NEYXRhIH0gZnJvbSAnLi9tb2RlbHMvYWRkcmVzcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NMaXN0IH0gZnJvbSAnLi9tb2RlbHMvYWRkcmVzcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IENvbW1hbmRzSGFuZGxlciB9IGZyb20gJy4vbW9kZWxzL2NvbW1hbmRzLWhhbmRsZXIubW9kZWwnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU2VhcmNoTGF5ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXV0b2NvbXBsZXRlLXNlYXJjaC1sYXllci5tb2RlbCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmcgfSBmcm9tICcuL21vZGVscy9pbnB1dC1hZGRyZXNzLWNvbW1hbmRzLXN0cmluZy5tb2RlbCc7XG5pbXBvcnQgeyBTZW50QWRkcmVzc0RhdGEgfSBmcm9tICcuL21vZGVscy9zZW50LWFkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MtbGlzdC1yZXNwb25zZS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzRW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MtZW50aXR5Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJyxcbiAgICAgICAgJy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdiTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcblxuICAgICAgICAvLyBDb21wb25lbnRzXG4gICAgICAgIENhSW5wdXREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dEFkZHJlc3NEcm9wZG93bkNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0XG57XG4gICAgQFZpZXdDaGlsZCgnaW5wdXREcm9wZG93bicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgaW5wdXREcm9wZG93biE6IENhSW5wdXREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlclR5cGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNoZWNrU2VhcmNoTGF5ZXJzKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGFjdGl2ZUFkZHJlc3ModmFsdWU6IEFkZHJlc3NFbnRpdHkgfCBudWxsKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlQWRkcmVzcyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5nZXRBY3RpdmVBZGRyZXNzQW5kU2V0RGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgcHVibGljIHNldCByZWNlaXZlZEFkZHJlc3NEYXRhKHZhbHVlOiBBZGRyZXNzRGF0YSB8IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiB2YWx1ZS5hZGRyZXNzISxcbiAgICAgICAgICAgICAgICB2YWxpZDogdmFsdWUuYWRkcmVzcyAmJiB2YWx1ZS5sb25nTGF0ID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxvbmdMYXQ6IHZhbHVlLmxvbmdMYXQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcy5lbWl0KHRoaXMuY3VycmVudEFkZHJlc3NEYXRhISk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQElucHV0KCkgcHVibGljIHNldCByZWNlaXZlZEFkZHJlc3NMaXN0KHZhbHVlOiBBZGRyZXNzTGlzdFJlc3BvbnNlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9yZWNlaXZlZEFkZHJlc3NMaXN0ID0gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZT8uYWRkcmVzc2VzKSB7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSB2YWx1ZS5hZGRyZXNzZXMubWFwKFxuICAgICAgICAgICAgICAgIChpdGVtOiBzdHJpbmcsIGluZHg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpbmR4LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNlbnRBZGRyZXNzVmFsdWU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgaW5wdXRDb25maWchOiBJQ2FJbnB1dDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29tbWFuZEhhbmRsZXIhOiBDb21tYW5kc0hhbmRsZXI7XG4gICAgQElucHV0KCkgcHVibGljIGlzUm91dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbG9zZWRCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW5jb3JyZWN0VmFsdWUhOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoaWRlRW1wdHlMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgYWRkcmVzTGlzdCE6IEFkZHJlc3NMaXN0W107XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRBZGRyZXNzOiBFdmVudEVtaXR0ZXI8QWRkcmVzc0RhdGE+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YT4oKTtcbiAgICBAT3V0cHV0KCkgc2VudEFkZHJlc3NEYXRhOiBFdmVudEVtaXR0ZXI8U2VudEFkZHJlc3NEYXRhPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8U2VudEFkZHJlc3NEYXRhPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VEcm9wZG93bjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBjb21tYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YSB8IHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgICAgIEFkZHJlc3NEYXRhIHwge31cbiAgICA+KCk7XG4gICAgQE91dHB1dCgpIGNoYW5nZUZsYWc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgaW5jb3JyZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgPT0gSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkVOVEVSKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFkZHJlc3NEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Db21tYW5kcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkNPTkZJUk1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkVTQ0FQRSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL0FkZHJlc3MgZGF0YVxuICAgIHByaXZhdGUgc2VhcmNoTGF5ZXJzITogQXV0b2NvbXBsZXRlU2VhcmNoTGF5ZXJbXTtcbiAgICBwdWJsaWMgY3VycmVudEFkZHJlc3NEYXRhOiBBZGRyZXNzRGF0YSB8IG51bGwgPSBudWxsO1xuXG4gICAgLy9Db25mZ1xuICAgIHB1YmxpYyBhZGRyZXNzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2hvc2VuRnJvbURyb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBhbGxvd1ZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgc3RvcFR5cGU6IHN0cmluZyA9IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFk7XG4gICAgcHJpdmF0ZSByZXF1ZXN0U2VudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBfcmVjZWl2ZWRBZGRyZXNzTGlzdDogQWRkcmVzc0xpc3RSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBfYWN0aXZlQWRkcmVzczogQWRkcmVzc0VudGl0eSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIGFkZHJlc3NGb3JtITogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAU2VsZigpIHB1YmxpYyBzdXBlckNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3VwZXJDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRBY3RpdmVBZGRyZXNzQW5kU2V0RGF0YSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUoXzogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0QWN0aXZlQWRkcmVzc0FuZFNldERhdGEoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlQWRkcmVzc0FuZFNldERhdGEoKSB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVBZGRyZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LnNldERyb3Bkb3duVmFsdWUoXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAnYWRkcmVzcycsXG4gICAgICAgICAgICAgICAgJ2FkZHJlc3MnXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2FjdGl2ZUFkZHJlc3M/LmFkZHJlc3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChfOiBhbnkpOiB2b2lkIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0Q2hhbmdlc0xpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZhYmxlSW5wdXRTZWFyY2ggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyBvYnNlcnZhYmxlSW5wdXRTZWFyY2gkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgICAgICB0aGlzLm9ic2VydmFibGVJbnB1dFNlYXJjaC5hc09ic2VydmFibGUoKTtcblxuICAgIHB1YmxpYyBoYW5kbGVTZWFyY2hJbnB1dCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlSW5wdXRTZWFyY2gubmV4dCh0ZXh0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENoYW5nZXNMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlSW5wdXRTZWFyY2gkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICB0YXAoKHRlcm0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3Bpbm5lcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGVJbnB1dEJhc2ljU3RyaW5nLlNNQUxMLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBlSW5wdXRCYXNpY1N0cmluZy5XSElURSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NwaW5uZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkcmVzTGlzdCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVybSAhPT0gdGhpcy5jdXJyZW50QWRkcmVzc0RhdGE/LmFkZHJlc3MuYWRkcmVzcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZy5uYW1lID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlJPVVRJTkdfQUREUkVTU1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93VmFsaWRhdGlvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duLmlucHV0UmVmLmlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nTGF0OiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcy5lbWl0KGFkZHJlc3NEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dWYWxpZGF0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHRlcm06IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGVybT8ubGVuZ3RoID49IDM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChxdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaExheWVyczogdGhpcy5zZWFyY2hMYXllcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9zZWRCb3JkZXI6IHRoaXMuY2xvc2VkQm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VudEFkZHJlc3NEYXRhLm5leHQocGFyYW1zKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5yZWNlaXZlZEFkZHJlc3NMaXN0KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGdldFN1cGVyQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VwZXJDb250cm9sLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xvc2VEcm9wZG93bihldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24uZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFkZHJlc3NEYXRhKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlcXVlc3RTZW50ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnNlbnRBZGRyZXNzVmFsdWUuZW1pdChhZGRyZXNzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3REcm9wZG93bihldmVudDogQWRkcmVzc0xpc3QgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSBldmVudFxuICAgICAgICAgICAgPyB7IC4uLmV2ZW50LCBhZGRyZXNzOiBldmVudD8uYWRkcmVzcyB9XG4gICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgaWYgKGV2ZW50Py5hZGRyZXNzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWFyY2hMYXllcnNbMF0gPT09IElucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTUykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLmNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oZXZlbnQuYWRkcmVzcyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFkZHJlc3NEYXRhKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRWYWx1ZShldmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc0RhdGEoZXZlbnQuYWRkcmVzcyk7XG4gICAgICAgICAgICAgICAgLy90aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShldmVudC5hZGRyZXNzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsZWFySW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5wb3BvdmVyUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbW1hbmRzKFxuICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgdHlwZTogSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdcbiAgICApOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHR5cGUgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5DT05GSVJNICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEpIHx8XG4gICAgICAgICAgICB0eXBlID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ0FOQ0VMXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhLnR5cGUgPSB0eXBlO1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kRXZlbnQuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA/PyB7fSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZGRyZXNzKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZHJlc3NFeHBhbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hZGRyZXNzRXhwYW5kZWQpIHRoaXMuYWRkcmVzc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBZGRyZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3NFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSBudWxsO1xuICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LmlucHV0UmVmPy5jbGVhcklucHV0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU2VhcmNoTGF5ZXJzKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hMYXllcnMgPVxuICAgICAgICAgICAgdmFsdWUgPT09IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLkxPTkdfQUREUkVTU1xuICAgICAgICAgICAgICAgID8gW0lucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTU11cbiAgICAgICAgICAgICAgICA6IHZhbHVlID09PSBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5TSE9SVF9BRERSRVNTXG4gICAgICAgICAgICAgICAgICA/IFtJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtLkxPQ0FMSVRZXVxuICAgICAgICAgICAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlU3RvcFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGxldCBmbGFnID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnN0b3BUeXBlID09PSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3BUeXBlID0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5MT0FERUQ7XG4gICAgICAgICAgICBmbGFnID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcFR5cGUgPSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGbGFnLmVtaXQoZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNob3NlbkZyb21Ecm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5pbnB1dFJlZj8uaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXREcm9wZG93bi5pbnB1dFJlZi5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkluY29ycmVjdElucHV0KGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5jb3JyZWN0RXZlbnQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYXJJbnB1dEV2ZW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHt9LFxuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgbG9uZ0xhdDoge30sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzLmVtaXQoYWRkcmVzc0RhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc3RyZWV0TnVtID0gL1xcZC4qXFxkLztcblxuICAgICAgICByZXR1cm4gc3RyZWV0TnVtLnRlc3QoYWRkcmVzcykgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZHJlc3NfaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAoY2xpY2spPVwiYWRkcmVzc0V4cGFuZCgpXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1haW5fYWRkcmVzc19ob2xkZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICBpbnB1dF9mb3Jfcm91dGluZzogaXNSb3V0aW5nLFxuICAgICAgICAgICAgbm90X2V4cGFuZGVkOiBpc1JvdXRpbmcgJiYgIWFkZHJlc3NFeHBhbmRlZCxcbiAgICAgICAgICAgIGV4cGFuZGVkX2FkZHJlc3M6IGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQsXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPGFwcC1jYS1pbnB1dC1kcm9wZG93blxuICAgICAgICAgICAgW2xhYmVsXT1cIidhZGRyZXNzJ1wiXG4gICAgICAgICAgICBbb3B0aW9uVmFsdWVdPVwiJ2FkZHJlc3MnXCJcbiAgICAgICAgICAgICNpbnB1dERyb3Bkb3duXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZGRyZXNMaXN0XCJcbiAgICAgICAgICAgIFthY3RpdmVJdGVtXT1cIl9hY3RpdmVBZGRyZXNzXCJcbiAgICAgICAgICAgIFtpc0luY29ycmVjdFZhbHVlXT1cImluY29ycmVjdFZhbHVlXCJcbiAgICAgICAgICAgIFtpc0FkZHJlc3NEcm9wZG93bl09XCJ0cnVlXCJcbiAgICAgICAgICAgIChpbmNvcnJlY3RFdmVudCk9XCJvbkluY29ycmVjdElucHV0KCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdERyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGNsb3NlRHJvcGRvd24pPVwib25DbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFySW5wdXRFdmVudCk9XCJvbkNsZWFySW5wdXRFdmVudCgpXCJcbiAgICAgICAgICAgIChzZWFyY2hJbnB1dEV2ZW50KT1cImhhbmRsZVNlYXJjaElucHV0KCRldmVudClcIlxuICAgICAgICA+PC9hcHAtY2EtaW5wdXQtZHJvcGRvd24+XG4gICAgICAgIEBpZiAoaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCAmJiAhaGlkZUVtcHR5TG9hZGVkKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdG9wX2hvbGQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RvcFR5cGUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3BfdGV4dFwiPnt7IHN0b3BUeXBlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZHMgYWRkcmVzcy1mbGFnIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW4tY29tbWFuZHMgY2EtaW5wdXQtY29tbWFuZC1maXJzdFwiXG4gICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cD8ubmFtZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgICAgICAgICAgPy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYS1pbnB1dC1jb21tYW5kLXN2Zy1maXJzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hbGxvd19jb25maXJtXT1cImNob3NlbkZyb21Ecm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY29tbWFuZEhhbmRsZXIuY29tbWFuZHMuZmlyc3RDb21tYW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ29tbWFuZHMoJGV2ZW50LCAnY29uZmlybScpXCJcbiAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbi1jb21tYW5kcyBjYS1pbnB1dC1jb21tYW5kLXNlY29uZFwiXG4gICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uc2Vjb25kQ29tbWFuZD8ucG9wdXA/Lm5hbWVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgICAgICAgICA/LmJhY2tncm91bmRDb2xvclxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAhY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZC1zdmctc2Vjb25kXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb21tYW5kSGFuZGxlci5jb21tYW5kcy5zZWNvbmRDb21tYW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ29tbWFuZHMoJGV2ZW50LCAnY2FuY2VsJylcIlxuICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
@@ -12653,6 +12653,7 @@ class CaInputAddressDropdownComponent {
12653
12653
  set activeAddress(value) {
12654
12654
  if (value) {
12655
12655
  this._activeAddress = value;
12656
+ this.getActiveAddressAndSetData();
12656
12657
  }
12657
12658
  }
12658
12659
  set receivedAddressData(value) {
@@ -12717,13 +12718,16 @@ class CaInputAddressDropdownComponent {
12717
12718
  this.superControl.valueAccessor = this;
12718
12719
  }
12719
12720
  ngAfterContentInit() {
12720
- if (this._activeAddress) {
12721
- this.inputDropdown.setDropdownValue(this._activeAddress, 'address', 'address');
12722
- this.onChange(this._activeAddress.address);
12723
- }
12721
+ this.getActiveAddressAndSetData();
12724
12722
  }
12725
12723
  writeValue(_) {
12726
- //this.onChange(_);
12724
+ this.getActiveAddressAndSetData();
12725
+ }
12726
+ getActiveAddressAndSetData() {
12727
+ if (this._activeAddress) {
12728
+ this.inputDropdown?.setDropdownValue(this._activeAddress, 'address', 'address');
12729
+ this.onChange(this._activeAddress?.address);
12730
+ }
12727
12731
  }
12728
12732
  registerOnChange(fn) {
12729
12733
  this.onChange = fn;