@colijnit/corecomponents_v12 12.2.27 → 12.2.28

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.
@@ -24,6 +24,7 @@ export class InputTextComponent extends BaseInputComponent {
24
24
  this.excludePlusMinus = true;
25
25
  this.showClearButton = true;
26
26
  this.showPlaceholderOnFocus = true;
27
+ this.selectOnFocus = false;
27
28
  this.noStyle = false;
28
29
  this.hideArrowButtons = false;
29
30
  this.leftIconClick = new EventEmitter();
@@ -117,12 +118,14 @@ export class InputTextComponent extends BaseInputComponent {
117
118
  handleInputFocus(event) {
118
119
  event.preventDefault();
119
120
  event.stopPropagation();
121
+ if (this.selectOnFocus) {
122
+ this.input.select();
123
+ }
120
124
  this.isFocused.emit(this.focused);
121
125
  }
122
126
  handleBlur(event) {
123
127
  event.preventDefault();
124
128
  event.stopPropagation();
125
- this.focused = false;
126
129
  this.isFocused.emit(false);
127
130
  }
128
131
  clearInput(event) {
@@ -163,7 +166,7 @@ InputTextComponent.decorators = [
163
166
  <ng-content></ng-content>
164
167
  </div>
165
168
  </ng-container>
166
- <co-icon [class.show]="showClearButton && hasValue && focused && !readonly" class="input-text-clear-button" [icon]="icons.CrossSkinny" (click)="clearInput($event)"></co-icon>
169
+ <co-icon [class.show]="showClearButton && hasValue && !readonly" class="input-text-clear-button" [icon]="icons.CrossSkinny" (click)="clearInput($event)"></co-icon>
167
170
  <div class="required-indicator"></div>
168
171
  </div>
169
172
  <div *ngIf="rightIcon || rightIconData" class="spacer right-icon"></div>
@@ -218,6 +221,7 @@ InputTextComponent.propDecorators = {
218
221
  rightIcon: [{ type: Input }],
219
222
  leftIconData: [{ type: Input }],
220
223
  rightIconData: [{ type: Input }],
224
+ selectOnFocus: [{ type: Input }],
221
225
  noStyle: [{ type: HostBinding, args: ['class.no-style',] }, { type: Input }],
222
226
  hideArrowButtons: [{ type: Input }, { type: HostBinding, args: ['class.hide-arrows',] }],
223
227
  isDate: [{ type: HostBinding, args: ["class.isDate",] }],
@@ -236,4 +240,4 @@ InputTextComponent.propDecorators = {
236
240
  handleDocumentMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }],
237
241
  model: [{ type: Input }]
238
242
  };
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUNWLFdBQVcsRUFBRSxZQUFZLEVBQ3pCLEtBQUssRUFDTCxRQUFRLEVBQUUsTUFBTSxFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFHL0gsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTZEN0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUF1QjtJQXVJN0QsWUFDcUIsYUFBNEIsRUFDckMsY0FBaUMsRUFDakMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1QjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFSaEcsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBMEM7UUFDaEUsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQWE7UUEzSXpCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUd2QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBU3RCLFlBQU8sR0FBVyxZQUFZLENBQUM7UUFHL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFHakMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFNaEMsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBZ0J2QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBSXpCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQVFsQyxrQkFBYSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3pFLHNCQUFpQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzdFLG9CQUFlLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHM0UsbUJBQWMsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUcxRSx1QkFBa0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUc5RSxxQkFBZ0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUc1RSxtQkFBYyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzFFLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQWtCL0QsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUE2QjNCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QywwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFZN0MsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUF4RkQsSUFDVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBMkJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUNXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUM7SUFDakUsQ0FBQztJQU1NLHFCQUFxQixDQUFDLEtBQWlCO1FBQzVDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUFVO1FBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hFLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUNyQjtTQUNGO2FBQU07WUFDTCxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQWtCRCxzR0FBc0c7SUFDL0Ysb0JBQW9CLENBQUMsS0FBSztRQUMvQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQWlCO1FBQzFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQWlCO1FBQzlDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEtBQWlCO1FBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLHdCQUF3QixDQUFDLEtBQWlCO1FBQy9DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxLQUFpQjtRQUM3QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUI7UUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFpQjtRQUNqQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUE5UUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q1Q7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGNBQWMsRUFBRTt3QkFDZCxPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO3FCQUNsRCxFQUFFO3dCQUNELE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFdBQVcsRUFBRSxrQkFBa0I7cUJBQ2hDO2lCQUFDO2dCQUNKLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE5RE8sYUFBYSx1QkF1TWhCLFFBQVE7WUF2TlgsaUJBQWlCO1lBa0JYLGNBQWM7WUFoQnBCLHdCQUF3QjtZQVlsQix1Q0FBdUM7WUFDdkMsb0JBQW9CO1lBWjFCLFVBQVU7Ozt5QkE4RVQsS0FBSzswQkFHTCxLQUFLO29CQUdMLEtBQUs7bUJBR0wsS0FBSztrQkFHTCxLQUFLO2tCQUdMLEtBQUs7c0JBR0wsS0FBSzt5QkFHTCxLQUFLOytCQUdMLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO3FDQUdMLEtBQUs7dUJBR0wsS0FBSzt3QkFHTCxLQUFLOzJCQUdMLEtBQUs7NEJBR0wsS0FBSztzQkFHTCxXQUFXLFNBQUMsZ0JBQWdCLGNBQzVCLEtBQUs7K0JBR0wsS0FBSyxZQUNMLFdBQVcsU0FBQyxtQkFBbUI7cUJBRy9CLFdBQVcsU0FBQyxjQUFjOzRCQUsxQixNQUFNO2dDQUdOLE1BQU07OEJBR04sTUFBTTs2QkFHTixNQUFNO2lDQUdOLE1BQU07K0JBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQjswQkFLakMsV0FBVyxTQUFDLHFCQUFxQjsyQkFLakMsV0FBVyxTQUFDLHNCQUFzQjswQkFLbEMsV0FBVyxTQUFDLHFCQUFxQjtvQ0FHakMsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO29CQVUzQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCwgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjcmVlbi1jb25maWctYWRhcHRlci1jb21wb25lbnQtaW50ZXJmYWNlLW5hbWUnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge0tleWJvYXJkQ29kZX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWNvZGUuZW51bSc7XHJcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL25nLXpvbmUtd3JhcHBlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28taW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10ZXh0LXdyYXBwZXJcIiBvdmVybGF5UGFyZW50ICNwYXJlbnRGb3JPdmVybGF5PVwib3ZlcmxheVBhcmVudFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cImxlZnRJY29uIHx8IGxlZnRJY29uRGF0YVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1sZWZ0LWljb25cIiBbaWNvbl09XCJsZWZ0SWNvblwiIFtpY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGVmdEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKG1vdXNldXApPVwiaGFuZGxlTGVmdEljb25Nb3VzZVVwKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJsZWZ0SWNvbiB8fCBsZWZ0SWNvbkRhdGFcIiBjbGFzcz1cInNwYWNlciBsZWZ0LWljb25cIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJzaG93UGxhY2Vob2xkZXJPbkZvY3VzIHx8ICghc2hvd1BsYWNlaG9sZGVyT25Gb2N1cyAmJiAhaGFzVmFsdWUgJiYgIWZvY3VzZWQpXCJcclxuICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCI+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgI2lucHV0XHJcbiAgICAgICAgICAgICAgIFtjbGFzcy5pbnB1dC1pbnB1dC1oaWRkZW5dPVwidXNlQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImFsaWduXCJcclxuICAgICAgICAgICAgICAgW3R5cGVdPVwiZGlnaXRzT25seSA/ICdudW1iZXInIDogdHlwZVwiXHJcbiAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cInR5cGUgPT09ICdkYXRlJyA/IHBhdHRlcm4gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgICAgICAgIFttaW5dPVwiKHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdkYXRlJykgJiYgdGhpcy5taW4gPyB0aGlzLm1pbiA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgIFttYXhdPVwiKHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdkYXRlJykgJiYgdGhpcy5tYXggPyB0aGlzLm1heCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgIChrZXlkb3duKT1cImRpZ2l0c09ubHkgPyBleGNsdWRlTm9uRGlnaXRDaGFycygkZXZlbnQpIDogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgIChrZXl1cCk9XCJrZXlVcC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNpbik9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZUNvbnRlbnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGNvLWljb24gW2NsYXNzLnNob3ddPVwic2hvd0NsZWFyQnV0dG9uICYmIGhhc1ZhbHVlICYmIGZvY3VzZWQgJiYgIXJlYWRvbmx5XCIgY2xhc3M9XCJpbnB1dC10ZXh0LWNsZWFyLWJ1dHRvblwiIFtpY29uXT1cImljb25zLkNyb3NzU2tpbm55XCIgKGNsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWQtaW5kaWNhdG9yXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwicmlnaHRJY29uIHx8IHJpZ2h0SWNvbkRhdGFcIiBjbGFzcz1cInNwYWNlciByaWdodC1pY29uXCI+PC9kaXY+XHJcbiAgICAgIDxjby1pY29uICpuZ0lmPVwicmlnaHRJY29uIHx8IHJpZ2h0SWNvbkRhdGFcIiBjbGFzcz1cImlucHV0LXRleHQtcmlnaHQtaWNvblwiIFtpY29uXT1cInJpZ2h0SWNvblwiIFtpY29uRGF0YV09XCJyaWdodEljb25EYXRhXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVJpZ2h0SWNvbkNsaWNrKCRldmVudClcIiAobW91c2Vkb3duKT1cImhhbmRsZVJpZ2h0SWNvbk1vdXNlRG93bigkZXZlbnQpXCIgKG1vdXNldXApPVwiaGFuZGxlUmlnaHRJY29uTW91c2VVcCgkZXZlbnQpXCI+PC9jby1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tXHJcbiAgICAgICAgICAgIDxjby1jb21taXQtYnV0dG9ucyAqbmdJZj1cInNob3dTYXZlQ2FuY2VsICYmIGZvY3VzZWQgJiYgY2FuU2F2ZU9yQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21taXR0aW5nXT1cImNvbW1pdHRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbW1pdEZpbmlzaGVkXT1cImNvbW1pdEZpbmlzaGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21taXRDbGljayk9XCJjb21taXRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjYW5jZWxDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWNvbW1pdC1idXR0b25zPlxyXG4gICAgLS0+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE92ZXJsYXlTZXJ2aWNlLCB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGV4dENvbXBvbmVudClcclxuICAgIH0sIHtcclxuICAgICAgcHJvdmlkZTogQmFzZUlucHV0Q29tcG9uZW50LFxyXG4gICAgICB1c2VFeGlzdGluZzogSW5wdXRUZXh0Q29tcG9uZW50XHJcbiAgICB9XSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8YW55PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VDb250ZW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxpZ246IHN0cmluZyA9ICdsZWZ0JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW46IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhdHRlcm46IHN0cmluZyA9ICdkZC1NTS15eXl5JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlnaXRzT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleGNsdWRlUGx1c01pbnVzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5RG93bldoaXRlTGlzdDogS2V5Ym9hcmRDb2RlW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQbGFjZWhvbGRlck9uRm9jdXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbjogQ29yZUNvbXBvbmVudHNJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb246IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Mubm8tc3R5bGUnKVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5vU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGUtYXJyb3dzJylcclxuICBwdWJsaWMgaGlkZUFycm93QnV0dG9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pc0RhdGVcIilcclxuICBwdWJsaWMgZ2V0IGlzRGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFwiZGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbk1vdXNlVXA6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25Nb3VzZURvd246IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbk1vdXNlVXA6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsZWFySWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBpc0ZvY3VzZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC10ZXh0JylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1sZWZ0LWljb24nKVxyXG4gIHB1YmxpYyBnZXQgaGFzTGVmdEljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5sZWZ0SWNvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMubGVmdEljb24gIT09IG51bGw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1yaWdodC1pY29uJylcclxuICBwdWJsaWMgZ2V0IGhhc1JpZ2h0SWNvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJpZ2h0SWNvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucmlnaHRJY29uICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtb3duLWxhYmVsJylcclxuICBwdWJsaWMgaGFzT3duTGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnRNb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93bikge1xyXG4gICAgICB0aGlzLmxlZnRJY29uTW91c2VVcC5uZXh0KGV2ZW50KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93bikge1xyXG4gICAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlVXAubmV4dChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbHVlKSkge1xyXG4gICAgICBpZiAodGhpcy5taW4gJiYgdmFsdWUgPCB0aGlzLm1pbiB8fCB0aGlzLm1heCAmJiB2YWx1ZSA+IHRoaXMubWF4KSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB0aGlzLl9pbml0aWFsTW9kZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbW9kZWwoKSB7XHJcbiAgICByZXR1cm4gc3VwZXIubW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc0xlZnRJY29uTW91c2VEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNSaWdodEljb25Nb3VzZURvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybUNvbXBvbmVudDogRm9ybUNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheVNlcnZpY2UsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZXhjbHVkZSBzb21lIG5vbi1kaWdpdCBjaGFyYWN0ZXJzLCBzaW5jZSBpbnB1dCB0eXBlICdudW1iZXInIHN0aWxsIGFsbG93cyB0aGUgY2hhcmFjdGVycyAtLCArIGFuZCBlXHJcbiAgcHVibGljIGV4Y2x1ZGVOb25EaWdpdENoYXJzKGV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBleGNsdWRlZEtleXMgPSB0aGlzLmV4Y2x1ZGVQbHVzTWludXMgPyBbJ2UnLCAnLScsICcrJ10gOiBbJ2UnXTtcclxuXHJcbiAgICByZXR1cm4gIWV4Y2x1ZGVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMubGVmdEljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLmxlZnRJY29uTW91c2VEb3duLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmlnaHRJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlRG93bi5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuaXNGb2N1c2VkLmVtaXQodGhpcy5mb2N1c2VkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNGb2N1c2VkLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFySW5wdXQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuc2V0TW9kZWwobnVsbCk7XHJcbiAgICB0aGlzLmNsZWFySWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUNWLFdBQVcsRUFBRSxZQUFZLEVBQ3pCLEtBQUssRUFDTCxRQUFRLEVBQUUsTUFBTSxFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFHL0gsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTZEN0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUF1QjtJQTBJN0QsWUFDcUIsYUFBNEIsRUFDckMsY0FBaUMsRUFDakMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1QjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFSaEcsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBMEM7UUFDaEUsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQWE7UUE5SXpCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUd2QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBU3RCLFlBQU8sR0FBVyxZQUFZLENBQUM7UUFHL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFHakMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFNaEMsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBZXZDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBSS9CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFJekIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBUWxDLGtCQUFhLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHekUsc0JBQWlCLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHN0Usb0JBQWUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUczRSxtQkFBYyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzFFLHVCQUFrQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzlFLHFCQUFnQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzVFLG1CQUFjLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHMUUsY0FBUyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBa0IvRCxnQkFBVyxHQUFZLElBQUksQ0FBQztRQTZCM0IseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQVk3QyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQXhGRCxJQUNXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQzlCLENBQUM7SUEyQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQztJQUNqRSxDQUFDO0lBTU0scUJBQXFCLENBQUMsS0FBaUI7UUFDNUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQVU7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDaEUsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQ3JCO1NBQ0Y7YUFBTTtZQUNMLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBa0JELHNHQUFzRztJQUMvRixvQkFBb0IsQ0FBQyxLQUFLO1FBQy9CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBaUI7UUFDOUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWlCO1FBQzVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsS0FBaUI7UUFDM0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBaUI7UUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLEtBQWlCO1FBQzdDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUN2QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBaUI7UUFDakMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7O1lBblJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOENUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjLEVBQUU7d0JBQ2QsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztxQkFDbEQsRUFBRTt3QkFDRCxPQUFPLEVBQUUsa0JBQWtCO3dCQUMzQixXQUFXLEVBQUUsa0JBQWtCO3FCQUNoQztpQkFBQztnQkFDSixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOURPLGFBQWEsdUJBME1oQixRQUFRO1lBMU5YLGlCQUFpQjtZQWtCWCxjQUFjO1lBaEJwQix3QkFBd0I7WUFZbEIsdUNBQXVDO1lBQ3ZDLG9CQUFvQjtZQVoxQixVQUFVOzs7eUJBOEVULEtBQUs7MEJBR0wsS0FBSztvQkFHTCxLQUFLO21CQUdMLEtBQUs7a0JBR0wsS0FBSztrQkFHTCxLQUFLO3NCQUdMLEtBQUs7eUJBR0wsS0FBSzsrQkFHTCxLQUFLOzhCQUdMLEtBQUs7K0JBR0wsS0FBSztxQ0FHTCxLQUFLO3VCQUdMLEtBQUs7d0JBR0wsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLEtBQUs7NEJBR0wsS0FBSztzQkFHTCxXQUFXLFNBQUMsZ0JBQWdCLGNBQzVCLEtBQUs7K0JBR0wsS0FBSyxZQUNMLFdBQVcsU0FBQyxtQkFBbUI7cUJBRy9CLFdBQVcsU0FBQyxjQUFjOzRCQUsxQixNQUFNO2dDQUdOLE1BQU07OEJBR04sTUFBTTs2QkFHTixNQUFNO2lDQUdOLE1BQU07K0JBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQjswQkFLakMsV0FBVyxTQUFDLHFCQUFxQjsyQkFLakMsV0FBVyxTQUFDLHNCQUFzQjswQkFLbEMsV0FBVyxTQUFDLHFCQUFxQjtvQ0FHakMsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO29CQVUzQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCwgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjcmVlbi1jb25maWctYWRhcHRlci1jb21wb25lbnQtaW50ZXJmYWNlLW5hbWUnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge0tleWJvYXJkQ29kZX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWNvZGUuZW51bSc7XHJcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL25nLXpvbmUtd3JhcHBlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28taW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10ZXh0LXdyYXBwZXJcIiBvdmVybGF5UGFyZW50ICNwYXJlbnRGb3JPdmVybGF5PVwib3ZlcmxheVBhcmVudFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cImxlZnRJY29uIHx8IGxlZnRJY29uRGF0YVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1sZWZ0LWljb25cIiBbaWNvbl09XCJsZWZ0SWNvblwiIFtpY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGVmdEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKG1vdXNldXApPVwiaGFuZGxlTGVmdEljb25Nb3VzZVVwKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJsZWZ0SWNvbiB8fCBsZWZ0SWNvbkRhdGFcIiBjbGFzcz1cInNwYWNlciBsZWZ0LWljb25cIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJzaG93UGxhY2Vob2xkZXJPbkZvY3VzIHx8ICghc2hvd1BsYWNlaG9sZGVyT25Gb2N1cyAmJiAhaGFzVmFsdWUgJiYgIWZvY3VzZWQpXCJcclxuICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCI+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgI2lucHV0XHJcbiAgICAgICAgICAgICAgIFtjbGFzcy5pbnB1dC1pbnB1dC1oaWRkZW5dPVwidXNlQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImFsaWduXCJcclxuICAgICAgICAgICAgICAgW3R5cGVdPVwiZGlnaXRzT25seSA/ICdudW1iZXInIDogdHlwZVwiXHJcbiAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cInR5cGUgPT09ICdkYXRlJyA/IHBhdHRlcm4gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgICAgICAgIFttaW5dPVwiKHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdkYXRlJykgJiYgdGhpcy5taW4gPyB0aGlzLm1pbiA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgIFttYXhdPVwiKHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdkYXRlJykgJiYgdGhpcy5tYXggPyB0aGlzLm1heCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgIChrZXlkb3duKT1cImRpZ2l0c09ubHkgPyBleGNsdWRlTm9uRGlnaXRDaGFycygkZXZlbnQpIDogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgIChrZXl1cCk9XCJrZXlVcC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNpbik9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZUNvbnRlbnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGNvLWljb24gW2NsYXNzLnNob3ddPVwic2hvd0NsZWFyQnV0dG9uICYmIGhhc1ZhbHVlICYmICFyZWFkb25seVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1jbGVhci1idXR0b25cIiBbaWNvbl09XCJpY29ucy5Dcm9zc1NraW5ueVwiIChjbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpcmVkLWluZGljYXRvclwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJzcGFjZXIgcmlnaHQtaWNvblwiPjwvZGl2PlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJpbnB1dC10ZXh0LXJpZ2h0LWljb25cIiBbaWNvbl09XCJyaWdodEljb25cIiBbaWNvbkRhdGFdPVwicmlnaHRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSaWdodEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVSaWdodEljb25Nb3VzZURvd24oJGV2ZW50KVwiIChtb3VzZXVwKT1cImhhbmRsZVJpZ2h0SWNvbk1vdXNlVXAoJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLVxyXG4gICAgICAgICAgICA8Y28tY29tbWl0LWJ1dHRvbnMgKm5nSWY9XCJzaG93U2F2ZUNhbmNlbCAmJiBmb2N1c2VkICYmIGNhblNhdmVPckNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0dGluZ109XCJjb21taXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21taXRGaW5pc2hlZF09XCJjb21taXRGaW5pc2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0Q2xpY2spPVwiY29tbWl0Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1jb21taXQtYnV0dG9ucz5cclxuICAgIC0tPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZSwge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpXHJcbiAgICB9LCB7XHJcbiAgICAgIHByb3ZpZGU6IEJhc2VJbnB1dENvbXBvbmVudCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IElucHV0VGV4dENvbXBvbmVudFxyXG4gICAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsaWduOiBzdHJpbmcgPSAnbGVmdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWluOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXR0ZXJuOiBzdHJpbmcgPSAnZGQtTU0teXl5eSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpZ2l0c09ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhjbHVkZVBsdXNNaW51czogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGtleURvd25XaGl0ZUxpc3Q6IEtleWJvYXJkQ29kZVtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UGxhY2Vob2xkZXJPbkZvY3VzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb246IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uOiBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RPbkZvY3VzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Mubm8tc3R5bGUnKVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5vU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGUtYXJyb3dzJylcclxuICBwdWJsaWMgaGlkZUFycm93QnV0dG9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pc0RhdGVcIilcclxuICBwdWJsaWMgZ2V0IGlzRGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFwiZGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbk1vdXNlVXA6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25Nb3VzZURvd246IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbk1vdXNlVXA6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsZWFySWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBpc0ZvY3VzZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC10ZXh0JylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1sZWZ0LWljb24nKVxyXG4gIHB1YmxpYyBnZXQgaGFzTGVmdEljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5sZWZ0SWNvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMubGVmdEljb24gIT09IG51bGw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1yaWdodC1pY29uJylcclxuICBwdWJsaWMgZ2V0IGhhc1JpZ2h0SWNvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJpZ2h0SWNvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucmlnaHRJY29uICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtb3duLWxhYmVsJylcclxuICBwdWJsaWMgaGFzT3duTGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnRNb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93bikge1xyXG4gICAgICB0aGlzLmxlZnRJY29uTW91c2VVcC5uZXh0KGV2ZW50KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93bikge1xyXG4gICAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlVXAubmV4dChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbHVlKSkge1xyXG4gICAgICBpZiAodGhpcy5taW4gJiYgdmFsdWUgPCB0aGlzLm1pbiB8fCB0aGlzLm1heCAmJiB2YWx1ZSA+IHRoaXMubWF4KSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB0aGlzLl9pbml0aWFsTW9kZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbW9kZWwoKSB7XHJcbiAgICByZXR1cm4gc3VwZXIubW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc0xlZnRJY29uTW91c2VEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNSaWdodEljb25Nb3VzZURvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybUNvbXBvbmVudDogRm9ybUNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheVNlcnZpY2UsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZXhjbHVkZSBzb21lIG5vbi1kaWdpdCBjaGFyYWN0ZXJzLCBzaW5jZSBpbnB1dCB0eXBlICdudW1iZXInIHN0aWxsIGFsbG93cyB0aGUgY2hhcmFjdGVycyAtLCArIGFuZCBlXHJcbiAgcHVibGljIGV4Y2x1ZGVOb25EaWdpdENoYXJzKGV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBleGNsdWRlZEtleXMgPSB0aGlzLmV4Y2x1ZGVQbHVzTWludXMgPyBbJ2UnLCAnLScsICcrJ10gOiBbJ2UnXTtcclxuXHJcbiAgICByZXR1cm4gIWV4Y2x1ZGVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMubGVmdEljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLmxlZnRJY29uTW91c2VEb3duLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmlnaHRJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlRG93bi5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmKHRoaXMuc2VsZWN0T25Gb2N1cykge1xyXG4gICAgICB0aGlzLmlucHV0LnNlbGVjdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZvY3VzZWQuZW1pdCh0aGlzLmZvY3VzZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuaXNGb2N1c2VkLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFySW5wdXQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuc2V0TW9kZWwobnVsbCk7XHJcbiAgICB0aGlzLmNsZWFySWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -26,6 +26,7 @@ export class BaseSimpleGridComponent {
26
26
  this.rowVisible = new EventEmitter();
27
27
  this.columns = [];
28
28
  this.headerColumns = [];
29
+ this.headerColumnsCopy = [];
29
30
  this._data = [];
30
31
  this.disabledRows = [];
31
32
  this._prepared = false;
@@ -100,6 +101,7 @@ export class BaseSimpleGridComponent {
100
101
  this.disabledRows.length = 0;
101
102
  if (this.columns && this.columns.length > 0) {
102
103
  this.headerColumns = this.columns.filter(c => !c.singleColumn);
104
+ this.headerColumnsCopy = this.headerColumns;
103
105
  let singleColumnIndex = -1;
104
106
  for (let i = 0; i < this.columns.length; i++) {
105
107
  if (this.columns[i].singleColumn) {
@@ -161,4 +163,4 @@ BaseSimpleGridComponent.propDecorators = {
161
163
  handleMouseMove: [{ type: HostListener, args: ['document:mousemove', ['$event'],] }],
162
164
  handleMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
163
165
  };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQW9DLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHN0IsTUFBTSxPQUFnQix1QkFBdUI7SUFEN0M7UUFFa0IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLGdCQUFXLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFtQjFELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBR2pDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRzdCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFbkM7OztXQUdHO1FBRUksaUJBQVksR0FBWSxLQUFLLENBQUM7UUFROUIsV0FBTSxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUdsRyxjQUFTLEdBQXFCLElBQUksWUFBWSxFQUFNLENBQUM7UUFHckQsZ0JBQVcsR0FBcUIsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUd2RCxZQUFPLEdBQXFCLElBQUksWUFBWSxFQUFNLENBQUM7UUFHbkQsY0FBUyxHQUFxQixJQUFJLFlBQVks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QyxNQUFNLEdBQUcsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFpQyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtnQkFDakgsTUFBTSxJQUFJLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakYsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUExTEYsU0FBUzs7O3NCQUtQLGVBQWUsU0FBQyx5QkFBeUI7bUJBS3pDLEtBQUs7OEJBV0wsS0FBSzt3QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSzswQkFHTCxLQUFLO3lCQUdMLEtBQUs7MkJBT0wsS0FBSzsyQkFHTCxLQUFLO3FCQUtMLE1BQU07d0JBR04sTUFBTTswQkFHTixNQUFNO3NCQUdOLE1BQU07d0JBR04sTUFBTTtxQkFHTixNQUFNO3lCQUdOLE1BQU07OEJBR04sWUFBWSxTQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDOzRCQU83QyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7U2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZX0gZnJvbSBcIi4vc2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0Nka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTaW1wbGVHcmlkQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgTUlOX0NPTFVNTl9XSURUSDogbnVtYmVyID0gNTA7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlKSBzZXQgY29udGVudChjb2x1bW5Db21wb25lbnRzOiBRdWVyeUxpc3Q8U2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZT4pIHtcclxuICAgIHRoaXMuX3NldENvbHVtbnMoY29sdW1uQ29tcG9uZW50cy50b0FycmF5KCkpO1xyXG4gICAgdGhpcy5fcHJlcGFyZURhdGEoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBPYmplY3RbXSkge1xyXG4gICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fcHJlcGFyZURhdGEoKTtcclxuICAgIHRoaXMuZGF0YUNoYW5nZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkYXRhKCk6IE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZHJhZ0Ryb3BFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbmxpbmVFZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dFZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dG9BZGRSb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdWxkIGNvbXBvbmVudCBlbWl0IGRyYWcgYW5kIGRyb3AgYWN0aW9ucyBpbnN0ZWFkIG9mIGhhbmRsZVxyXG4gICAqICh1cGRhdGUgY29sbGVjdGlvbikgYnkgaXRzZWxmXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1pdERyYWdEcm9wOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBleHRyYUNvbHVtbnModmFsdWU6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSkge1xyXG4gICAgdGhpcy5fc2V0Q29sdW1ucyh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25Ecm9wOiBFdmVudEVtaXR0ZXI8e2Zyb206IG51bWJlciwgdG86IG51bWJlcn0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7ZnJvbTogbnVtYmVyOyB0bzogbnVtYmVyfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNlbGVjdFJvdzogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkYmxDbGlja1JvdzogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzYXZlUm93OiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlbGV0ZVJvdzogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRSb3c6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJvd1Zpc2libGU6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZSAmJiBldmVudC5idXR0b25zID09PSAxICYmIHRoaXMuX2NvbHVtbkZvclJlc2l6ZSkge1xyXG4gICAgICAvLyB0aGlzLl9jb2x1bW5Gb3JSZXNpemUud2lkdGggPSB0aGlzLl9jb2x1bW5Gb3JSZXNpemUub3JpZ2luYWxXaWR0aCAtICh0aGlzLl9zdGFydE1vdXNlUG9zaXRpb25YIC0gZXZlbnQuY2xpZW50WCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RhcnRNb3VzZVBvc2l0aW9uWCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX2NvbHVtbkZvclJlc2l6ZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb2x1bW5zOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlW10gPSBbXTtcclxuICBwdWJsaWMgaGVhZGVyQ29sdW1uczogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZVtdID0gW107XHJcblxyXG4gIHByb3RlY3RlZCBfZGF0YTogT2JqZWN0W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgZGlzYWJsZWRSb3dzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9jb2x1bW5Gb3JSZXNpemU6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmU7XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9zdGFydE1vdXNlUG9zaXRpb25YOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaXplck1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgY29sdW1uOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRXaWR0aE9mQWxsQ29sdW1ucygpO1xyXG4gICAgdGhpcy5fc3RhcnRNb3VzZVBvc2l0aW9uWCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLl9jb2x1bW5Gb3JSZXNpemUgPSBjb2x1bW47XHJcbiAgICB0aGlzLl9jb2x1bW5Gb3JSZXNpemUub3JpZ2luYWxXaWR0aCA9IHRoaXMuX2NvbHVtbkZvclJlc2l6ZS53aWR0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYW5EcmFnRHJvcChkcmFnOiBDZGtEcmFnLCBkcm9wOiBDZGtEcm9wTGlzdCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8T2JqZWN0W10+KTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBmcm9tOiBudW1iZXIgPSBldmVudC5wcmV2aW91c0luZGV4O1xyXG4gICAgICBjb25zdCB0bzogbnVtYmVyID0gZXZlbnQuY3VycmVudEluZGV4O1xyXG4gICAgICBpZiAoZnJvbSA9PT0gdG8pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZW1pdERyYWdEcm9wKSB7XHJcbiAgICAgICAgdGhpcy5vbkRyb3AubmV4dCh7ZnJvbTogZnJvbSwgdG86IHRvfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZGF0YSwgZnJvbSwgdG8pO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTaW5nbGVDb2x1bW5Sb3cocm93OiBPYmplY3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiByb3cuaGFzT3duUHJvcGVydHkoJ3NpbmdsZUNvbHVtbkluZGV4Jyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2luZ2xlQ29sdW1uSW5kZXgocm93OiBPYmplY3QpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIChyb3cgYXMgYW55KS5zaW5nbGVDb2x1bW5JbmRleDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwcmVwYXJlRGF0YVJvdyhyb3c6IGFueSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldENvbHVtbnMoY29sdW1uczogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbHVtbnMucHVzaCguLi5jb2x1bW5zKTtcclxuICAgIHRoaXMuY29sdW1ucy5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIDwgYi5vcmRlciA/IC0xIDogMSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9wcmVwYXJlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpc2FibGVkUm93cy5sZW5ndGggPSAwO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbHVtbnMgJiYgdGhpcy5jb2x1bW5zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5oZWFkZXJDb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+ICFjLnNpbmdsZUNvbHVtbik7XHJcbiAgICAgIGxldCBzaW5nbGVDb2x1bW5JbmRleDogbnVtYmVyID0gLTE7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uc1tpXS5zaW5nbGVDb2x1bW4pIHtcclxuICAgICAgICAgIHNpbmdsZUNvbHVtbkluZGV4ID0gaTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBmaXJzdCBjaGVjayBpZiB0aGVyZSdzIHNpbmdsZSBjb2x1bW4gZGF0YVxyXG4gICAgICBpZiAoc2luZ2xlQ29sdW1uSW5kZXggPiAtMSAmJiB0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCBmaWVsZDogc3RyaW5nID0gdGhpcy5jb2x1bW5zW3NpbmdsZUNvbHVtbkluZGV4XS5maWVsZDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7IGkrKykgeyAvLyB0aGVuIG1hcmsgcm93IGFzIHNpbmdsZSBjb2x1bW4gcm93XHJcbiAgICAgICAgICBpZiAodGhpcy5kYXRhW2ldW2ZpZWxkXSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YVtpXVtmaWVsZF0gIT09IG51bGwgJiYgdGhpcy5kYXRhW2ldW2ZpZWxkXSAhPT0gXCJcIikge1xyXG4gICAgICAgICAgICAvLyBiaXQgbmFzdHkgdG8gYWRkIHByb3AsIGJ1dCBjb29sIGZvciBub3dcclxuICAgICAgICAgICAgKHRoaXMuZGF0YVtpXSBhcyBhbnkpLnNpbmdsZUNvbHVtbkluZGV4ID0gc2luZ2xlQ29sdW1uSW5kZXg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnByZXBhcmVEYXRhUm93KHRoaXMuZGF0YVtpXSwgaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl9wcmVwYXJlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9yZXNpemVDb2x1bW5zVG9GaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZUNvbHVtbnNUb0ZpdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNhbGN1bGF0ZUNvbHVtbnM6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiAhYy5hdXRvRml0ICYmICFjLndpZHRoKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FsY3VsYXRlQ29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjYWxjdWxhdGVDb2x1bW5zW2ldLndpZHRoID0gYCR7MTAwIC8gY2FsY3VsYXRlQ29sdW1ucy5sZW5ndGh9JWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRXaWR0aE9mQWxsQ29sdW1ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmUpID0+IHtcclxuICAgICAgaWYgKChjb2x1bW4ud2lkdGggPT09IHVuZGVmaW5lZCB8fCBjb2x1bW4ud2lkdGggPT09IG51bGwpICYmIGNvbHVtbi5lbGVtZW50UmVmICYmIGNvbHVtbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCByZWN0OiBDbGllbnRSZWN0ID0gY29sdW1uLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBjb2x1bW4ud2lkdGggPSByZWN0LndpZHRoO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQW9DLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHN0IsTUFBTSxPQUFnQix1QkFBdUI7SUFEN0M7UUFFa0IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLGdCQUFXLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFtQjFELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBR2pDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRzdCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFbkM7OztXQUdHO1FBRUksaUJBQVksR0FBWSxLQUFLLENBQUM7UUFROUIsV0FBTSxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUdsRyxjQUFTLEdBQXFCLElBQUksWUFBWSxFQUFNLENBQUM7UUFHckQsZ0JBQVcsR0FBcUIsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUd2RCxZQUFPLEdBQXFCLElBQUksWUFBWSxFQUFNLENBQUM7UUFHbkQsY0FBUyxHQUFxQixJQUFJLFlBQVksRUFBTSxDQUFDO1FBR3JELFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd0RCxlQUFVLEdBQXFCLElBQUksWUFBWSxFQUFNLENBQUM7UUFldEQsWUFBTyxHQUFnQyxFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBZ0MsRUFBRSxDQUFDO1FBQ2hELHNCQUFpQixHQUFnQyxFQUFFLENBQUM7UUFFakQsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUc5QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBaUdyQyxDQUFDO0lBekxDLElBQWdELE9BQU8sQ0FBQyxnQkFBc0Q7UUFDNUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDVyxJQUFJLENBQUMsS0FBZTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUEyQkQsSUFDVyxZQUFZLENBQUMsS0FBa0M7UUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBd0JNLGVBQWUsQ0FBQyxLQUFpQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xFLG1IQUFtSDtTQUNwSDtJQUNILENBQUM7SUFHTSxhQUFhLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFhTSxvQkFBb0IsQ0FBQyxLQUFpQixFQUFFLE1BQWlDO1FBQzlFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFhLEVBQUUsSUFBaUI7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQTRCO1FBQzVDLElBQUk7WUFDRixNQUFNLElBQUksR0FBVyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxHQUFXLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDdEMsSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFO2dCQUNmLE9BQU87YUFDUjtZQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNMLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN0QztTQUNGO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEdBQVc7UUFDbEMsT0FBUSxHQUFXLENBQUMsaUJBQWlCLENBQUM7SUFDeEMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxHQUFRLEVBQUUsS0FBYTtJQUVoRCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQW9DO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzVDLElBQUksaUJBQWlCLEdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFO29CQUNoQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7b0JBQ3RCLE1BQU07aUJBQ1A7YUFDRjtZQUNELDRDQUE0QztZQUM1QyxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMvRCxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUM1RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxxQ0FBcUM7b0JBQ2hGLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ25HLDBDQUEwQzt3QkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztxQkFDN0Q7b0JBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUN0QzthQUNGO1lBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sZ0JBQWdCLEdBQWdDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRTtZQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFO2dCQUNqSCxNQUFNLElBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNqRixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQTVMRixTQUFTOzs7c0JBS1AsZUFBZSxTQUFDLHlCQUF5QjttQkFLekMsS0FBSzs4QkFXTCxLQUFLO3dCQUdMLEtBQUs7eUJBR0wsS0FBSzt1QkFHTCxLQUFLOzBCQUdMLEtBQUs7eUJBR0wsS0FBSzsyQkFPTCxLQUFLOzJCQUdMLEtBQUs7cUJBS0wsTUFBTTt3QkFHTixNQUFNOzBCQUdOLE1BQU07c0JBR04sTUFBTTt3QkFHTixNQUFNO3FCQUdOLE1BQU07eUJBR04sTUFBTTs4QkFHTixZQUFZLFNBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBTzdDLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlfSBmcm9tIFwiLi9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7Q2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBtb3ZlSXRlbUluQXJyYXl9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNpbXBsZUdyaWRDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBNSU5fQ09MVU1OX1dJRFRIOiBudW1iZXIgPSA1MDtcclxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmUpIHNldCBjb250ZW50KGNvbHVtbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlPikge1xyXG4gICAgdGhpcy5fc2V0Q29sdW1ucyhjb2x1bW5Db21wb25lbnRzLnRvQXJyYXkoKSk7XHJcbiAgICB0aGlzLl9wcmVwYXJlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGRhdGEodmFsdWU6IE9iamVjdFtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICB0aGlzLl9wcmVwYXJlRGF0YSgpO1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRhdGEoKTogT2JqZWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkcmFnRHJvcEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlubGluZUVkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0VkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1Rvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXV0b0FkZFJvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTaG91bGQgY29tcG9uZW50IGVtaXQgZHJhZyBhbmQgZHJvcCBhY3Rpb25zIGluc3RlYWQgb2YgaGFuZGxlXHJcbiAgICogKHVwZGF0ZSBjb2xsZWN0aW9uKSBieSBpdHNlbGZcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWl0RHJhZ0Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGV4dHJhQ29sdW1ucyh2YWx1ZTogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZVtdKSB7XHJcbiAgICB0aGlzLl9zZXRDb2x1bW5zKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkRyb3A6IEV2ZW50RW1pdHRlcjx7ZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtmcm9tOiBudW1iZXI7IHRvOiBudW1iZXJ9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VsZWN0Um93OiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRibENsaWNrUm93OiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVSb3c6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVsZXRlUm93OiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZFJvdzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcm93VmlzaWJsZTogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZU1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlICYmIGV2ZW50LmJ1dHRvbnMgPT09IDEgJiYgdGhpcy5fY29sdW1uRm9yUmVzaXplKSB7XHJcbiAgICAgIC8vIHRoaXMuX2NvbHVtbkZvclJlc2l6ZS53aWR0aCA9IHRoaXMuX2NvbHVtbkZvclJlc2l6ZS5vcmlnaW5hbFdpZHRoIC0gKHRoaXMuX3N0YXJ0TW91c2VQb3NpdGlvblggLSBldmVudC5jbGllbnRYKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVNb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdGFydE1vdXNlUG9zaXRpb25YID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fY29sdW1uRm9yUmVzaXplID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbHVtbnM6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSA9IFtdO1xyXG4gIHB1YmxpYyBoZWFkZXJDb2x1bW5zOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlW10gPSBbXTtcclxuICBwdWJsaWMgaGVhZGVyQ29sdW1uc0NvcHk6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSA9IFtdO1xyXG5cclxuICBwcm90ZWN0ZWQgX2RhdGE6IE9iamVjdFtdID0gW107XHJcbiAgcHJvdGVjdGVkIGRpc2FibGVkUm93czogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfY29sdW1uRm9yUmVzaXplOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlO1xyXG4gIHByaXZhdGUgX3ByZXBhcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc3RhcnRNb3VzZVBvc2l0aW9uWDogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlU2l6ZXJNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbHVtbjogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0V2lkdGhPZkFsbENvbHVtbnMoKTtcclxuICAgIHRoaXMuX3N0YXJ0TW91c2VQb3NpdGlvblggPSBldmVudC5jbGllbnRYO1xyXG4gICAgdGhpcy5fY29sdW1uRm9yUmVzaXplID0gY29sdW1uO1xyXG4gICAgdGhpcy5fY29sdW1uRm9yUmVzaXplLm9yaWdpbmFsV2lkdGggPSB0aGlzLl9jb2x1bW5Gb3JSZXNpemUud2lkdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuRHJhZ0Ryb3AoZHJhZzogQ2RrRHJhZywgZHJvcDogQ2RrRHJvcExpc3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyb3AoZXZlbnQ6IENka0RyYWdEcm9wPE9iamVjdFtdPik6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZnJvbTogbnVtYmVyID0gZXZlbnQucHJldmlvdXNJbmRleDtcclxuICAgICAgY29uc3QgdG86IG51bWJlciA9IGV2ZW50LmN1cnJlbnRJbmRleDtcclxuICAgICAgaWYgKGZyb20gPT09IHRvKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVtaXREcmFnRHJvcCkge1xyXG4gICAgICAgIHRoaXMub25Ecm9wLm5leHQoe2Zyb206IGZyb20sIHRvOiB0b30pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmRhdGEsIGZyb20sIHRvKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU2luZ2xlQ29sdW1uUm93KHJvdzogT2JqZWN0KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gcm93Lmhhc093blByb3BlcnR5KCdzaW5nbGVDb2x1bW5JbmRleCcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNpbmdsZUNvbHVtbkluZGV4KHJvdzogT2JqZWN0KTogbnVtYmVyIHtcclxuICAgIHJldHVybiAocm93IGFzIGFueSkuc2luZ2xlQ29sdW1uSW5kZXg7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJlcGFyZURhdGFSb3cocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRDb2x1bW5zKGNvbHVtbnM6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goLi4uY29sdW1ucyk7XHJcbiAgICB0aGlzLmNvbHVtbnMuc29ydCgoYSwgYikgPT4gYS5vcmRlciA8IGIub3JkZXIgPyAtMSA6IDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZURhdGEoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcHJlcGFyZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNhYmxlZFJvd3MubGVuZ3RoID0gMDtcclxuXHJcbiAgICBpZiAodGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiAhYy5zaW5nbGVDb2x1bW4pO1xyXG4gICAgICB0aGlzLmhlYWRlckNvbHVtbnNDb3B5ID0gdGhpcy5oZWFkZXJDb2x1bW5zO1xyXG4gICAgICBsZXQgc2luZ2xlQ29sdW1uSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnNbaV0uc2luZ2xlQ29sdW1uKSB7XHJcbiAgICAgICAgICBzaW5nbGVDb2x1bW5JbmRleCA9IGk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBzaW5nbGUgY29sdW1uIGRhdGFcclxuICAgICAgaWYgKHNpbmdsZUNvbHVtbkluZGV4ID4gLTEgJiYgdGhpcy5kYXRhICYmIHRoaXMuZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZmllbGQ6IHN0cmluZyA9IHRoaXMuY29sdW1uc1tzaW5nbGVDb2x1bW5JbmRleF0uZmllbGQ7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRhdGEubGVuZ3RoOyBpKyspIHsgLy8gdGhlbiBtYXJrIHJvdyBhcyBzaW5nbGUgY29sdW1uIHJvd1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGF0YVtpXVtmaWVsZF0gIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRhdGFbaV1bZmllbGRdICE9PSBudWxsICYmIHRoaXMuZGF0YVtpXVtmaWVsZF0gIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgLy8gYml0IG5hc3R5IHRvIGFkZCBwcm9wLCBidXQgY29vbCBmb3Igbm93XHJcbiAgICAgICAgICAgICh0aGlzLmRhdGFbaV0gYXMgYW55KS5zaW5nbGVDb2x1bW5JbmRleCA9IHNpbmdsZUNvbHVtbkluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5wcmVwYXJlRGF0YVJvdyh0aGlzLmRhdGFbaV0sIGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVzaXplQ29sdW1uc1RvRml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNpemVDb2x1bW5zVG9GaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjYWxjdWxhdGVDb2x1bW5zOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlW10gPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gIWMuYXV0b0ZpdCAmJiAhYy53aWR0aCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbGN1bGF0ZUNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY2FsY3VsYXRlQ29sdW1uc1tpXS53aWR0aCA9IGAkezEwMCAvIGNhbGN1bGF0ZUNvbHVtbnMubGVuZ3RofSVgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0V2lkdGhPZkFsbENvbHVtbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlKSA9PiB7XHJcbiAgICAgIGlmICgoY29sdW1uLndpZHRoID09PSB1bmRlZmluZWQgfHwgY29sdW1uLndpZHRoID09PSBudWxsKSAmJiBjb2x1bW4uZWxlbWVudFJlZiAmJiBjb2x1bW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3QgcmVjdDogQ2xpZW50UmVjdCA9IGNvbHVtbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgY29sdW1uLndpZHRoID0gcmVjdC53aWR0aDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -11,6 +11,7 @@ export class SimpleGridColumnDirective {
11
11
  this.resizable = true;
12
12
  this.required = false;
13
13
  this.autoFit = false;
14
+ this.isSelected = false;
14
15
  this.readonly = false;
15
16
  this.order = 0;
16
17
  this.singleColumn = false;
@@ -102,10 +103,11 @@ SimpleGridColumnDirective.propDecorators = {
102
103
  resizable: [{ type: Input }],
103
104
  required: [{ type: Input }],
104
105
  autoFit: [{ type: Input }],
106
+ isSelected: [{ type: Input }],
105
107
  width: [{ type: Input }],
106
108
  readonly: [{ type: Input }],
107
109
  collection: [{ type: Input }],
108
110
  order: [{ type: Input }],
109
111
  singleColumn: [{ type: Input }]
110
112
  };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtZ3JpZC9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7SUFDdkIsb0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBS0QsTUFBTSxPQUFPLHlCQUF5QjtJQWlHcEMsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTFDbEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFvQnpCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFNMUIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUdsQixpQkFBWSxHQUFZLEtBQUssQ0FBQztJQVFyQyxDQUFDO0lBL0ZELElBQ1csY0FBYyxDQUFDLFFBQTBCO1FBQ2xELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDVyxRQUFRLENBQUMsUUFBMEI7UUFDNUMsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNXLFlBQVksQ0FBQyxRQUEwQjtRQUNoRCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQTZCRCxJQUNXLEtBQUssQ0FBQyxLQUFzQjtRQUNyQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2FBQ3JCO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBc0JELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBVTtRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDdEUsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFNTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQzs7QUFqSWMsaURBQXVCLEdBQVcsRUFBRSxDQUFDOztZQUpyRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjthQUNsQzs7O1lBVmdDLFVBQVU7Ozs2QkFjeEMsWUFBWSxTQUFDLGdCQUFnQjt1QkFXN0IsWUFBWSxTQUFDLFVBQVU7MkJBV3ZCLFlBQVksU0FBQyxjQUFjO3lCQVczQixLQUFLO29CQUdMLEtBQUs7d0JBR0wsS0FBSzsyQkFHTCxLQUFLO3dCQUdMLEtBQUs7cUJBR0wsS0FBSzt3QkFHTCxLQUFLO3VCQUdMLEtBQUs7c0JBR0wsS0FBSztvQkFHTCxLQUFLO3VCQWlCTCxLQUFLO3lCQUdMLEtBQUs7b0JBR0wsS0FBSzsyQkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgZW51bSBDb2x1bW5BbGlnbiB7XHJcbiAgTGVmdCA9IFwibGVmdC1hbGlnblwiLFxyXG4gIENlbnRlciA9IFwiY2VudGVyLWFsaWduXCIsXHJcbiAgUmlnaHQgPSBcInJpZ2h0LWFsaWduXCJcclxufVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc2ltcGxlLWdyaWQtY29sdW1uXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX01pbk1hbnVhbFJlc2l6ZVdpZHRoUHg6IG51bWJlciA9IDUwO1xyXG5cclxuICBAQ29udGVudENoaWxkKCdoZWFkZXJUZW1wbGF0ZScpXHJcbiAgcHVibGljIHNldCBoZWFkZXJUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgaWYgKHRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuX2hlYWRlclRlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlYWRlclRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZCgndGVtcGxhdGUnKVxyXG4gIHB1YmxpYyBzZXQgdGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2VkaXRUZW1wbGF0ZScpXHJcbiAgcHVibGljIHNldCBlZGl0VGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl9lZGl0VGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZWRpdFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VkaXRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRleHQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmllbGQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29kZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc3BsYXlGaWVsZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0ZXh0QWxpZ246IENvbHVtbkFsaWduO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmb3JtYXQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXV0b0ZpdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgd2lkdGgodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHZhbHVlLmluZGV4T2YoJyUnKSkge1xyXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50YWdlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fd2lkdGggPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb246IHt9W107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9yZGVyOiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaW5nbGVDb2x1bW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIG9yaWdpbmFsV2lkdGg6IG51bWJlciB8IHN0cmluZztcclxuICBwdWJsaWMgd2lkdGhQZXJjZW50YWdlOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX3dpZHRoOiBudW1iZXIgfCBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFNpbmdsZUNvbHVtblByb3BzKClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGVhZGVyVGVtcGxhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl90ZW1wbGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX2VkaXRUZW1wbGF0ZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGaWVsZFZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY29sbGVjdGlvbiAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNvbGxlY3Rpb24uZmluZChjID0+IGNbdGhpcy5jb2RlRmllbGRdID09PSB2YWx1ZSk7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0W3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfZWRpdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9zZXRTaW5nbGVDb2x1bW5Qcm9wcygpe1xyXG4gICAgaWYgKHRoaXMuc2luZ2xlQ29sdW1uKXtcclxuICAgICAgdGhpcy5yZXNpemFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5yZWFkb25seSA9IHRydWU7XHJcbiAgICAgIHRoaXMud2lkdGggPSAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtZ3JpZC9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7SUFDdkIsb0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBS0QsTUFBTSxPQUFPLHlCQUF5QjtJQW9HcEMsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTdDbEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQW9CNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU0xQixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2xCLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBUXJDLENBQUM7SUFsR0QsSUFDVyxjQUFjLENBQUMsUUFBMEI7UUFDbEQsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNXLFFBQVEsQ0FBQyxRQUEwQjtRQUM1QyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ1csWUFBWSxDQUFDLFFBQTBCO1FBQ2hELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBZ0NELElBQ1csS0FBSyxDQUFDLEtBQXNCO1FBQ3JDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDckI7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFzQkQsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDakMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN0RSxJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEM7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQU1PLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDaEI7SUFDSCxDQUFDOztBQXBJYyxpREFBdUIsR0FBVyxFQUFFLENBQUM7O1lBSnJELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDOzs7WUFWZ0MsVUFBVTs7OzZCQWN4QyxZQUFZLFNBQUMsZ0JBQWdCO3VCQVc3QixZQUFZLFNBQUMsVUFBVTsyQkFXdkIsWUFBWSxTQUFDLGNBQWM7eUJBVzNCLEtBQUs7b0JBR0wsS0FBSzt3QkFHTCxLQUFLOzJCQUdMLEtBQUs7d0JBR0wsS0FBSztxQkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSztzQkFHTCxLQUFLO3lCQUdMLEtBQUs7b0JBR0wsS0FBSzt1QkFpQkwsS0FBSzt5QkFHTCxLQUFLO29CQUdMLEtBQUs7MkJBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGVudW0gQ29sdW1uQWxpZ24ge1xyXG4gIExlZnQgPSBcImxlZnQtYWxpZ25cIixcclxuICBDZW50ZXIgPSBcImNlbnRlci1hbGlnblwiLFxyXG4gIFJpZ2h0ID0gXCJyaWdodC1hbGlnblwiXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXNpbXBsZS1ncmlkLWNvbHVtblwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGljIF9NaW5NYW51YWxSZXNpemVXaWR0aFB4OiBudW1iZXIgPSA1MDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyVGVtcGxhdGUnKVxyXG4gIHB1YmxpYyBzZXQgaGVhZGVyVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl9oZWFkZXJUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9oZWFkZXJUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ3RlbXBsYXRlJylcclxuICBwdWJsaWMgc2V0IHRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5fdGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICBAQ29udGVudENoaWxkKCdlZGl0VGVtcGxhdGUnKVxyXG4gIHB1YmxpYyBzZXQgZWRpdFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5fZWRpdFRlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGVkaXRUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0VGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoZWFkZXJUZXh0OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvZGVGaWVsZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNwbGF5RmllbGQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGV4dEFsaWduOiBDb2x1bW5BbGlnbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZm9ybWF0OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlc2l6YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dG9GaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgd2lkdGgodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHZhbHVlLmluZGV4T2YoJyUnKSkge1xyXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50YWdlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fd2lkdGggPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb246IHt9W107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9yZGVyOiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaW5nbGVDb2x1bW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIG9yaWdpbmFsV2lkdGg6IG51bWJlciB8IHN0cmluZztcclxuICBwdWJsaWMgd2lkdGhQZXJjZW50YWdlOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX3dpZHRoOiBudW1iZXIgfCBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFNpbmdsZUNvbHVtblByb3BzKClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGVhZGVyVGVtcGxhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl90ZW1wbGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX2VkaXRUZW1wbGF0ZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGaWVsZFZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY29sbGVjdGlvbiAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNvbGxlY3Rpb24uZmluZChjID0+IGNbdGhpcy5jb2RlRmllbGRdID09PSB2YWx1ZSk7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0W3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcHJpdmF0ZSBfZWRpdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9zZXRTaW5nbGVDb2x1bW5Qcm9wcygpe1xyXG4gICAgaWYgKHRoaXMuc2luZ2xlQ29sdW1uKXtcclxuICAgICAgdGhpcy5yZXNpemFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5yZWFkb25seSA9IHRydWU7XHJcbiAgICAgIHRoaXMud2lkdGggPSAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=