@colijnit/corecomponents_v12 259.1.13 → 259.1.15

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.
@@ -26,6 +26,7 @@ export class DoubleCalendarComponent extends BaseInputDatePickerDirective {
26
26
  }
27
27
  }
28
28
  this.outputRangeIfValid();
29
+ this._closeIfRangeComplete();
29
30
  }
30
31
  handleSecondDateSelected(date) {
31
32
  this.selectedSecondDate = date;
@@ -41,6 +42,7 @@ export class DoubleCalendarComponent extends BaseInputDatePickerDirective {
41
42
  this.outputRangeIfValid();
42
43
  this.secondDateSelected.next();
43
44
  }
45
+ this._closeIfRangeComplete();
44
46
  }
45
47
  outputRangeIfValid() {
46
48
  if (this.selectedDates[0] instanceof Date && this.selectedDates[1] instanceof Date) {
@@ -57,6 +59,16 @@ export class DoubleCalendarComponent extends BaseInputDatePickerDirective {
57
59
  // Emit updated state to parent
58
60
  this.datesSelected.emit(this.selectedDates);
59
61
  }
62
+ _closeIfRangeComplete() {
63
+ if (this.selectedFirstDate instanceof Date && this.selectedSecondDate instanceof Date) {
64
+ // emit the selected range (keeps current behavior)
65
+ this.outputRangeIfValid();
66
+ // optional: keep your “second date chosen” signal
67
+ this.secondDateSelected.next();
68
+ // close the overlay/popup
69
+ this.clickedOutside.emit();
70
+ }
71
+ }
60
72
  }
61
73
  DoubleCalendarComponent.decorators = [
62
74
  { type: Component, args: [{
@@ -97,4 +109,4 @@ DoubleCalendarComponent.propDecorators = {
97
109
  clickedOutside: [{ type: Output }],
98
110
  showClass: [{ type: HostBinding, args: ["class.co-double-calendar",] }]
99
111
  };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb3VibGUtY2FsZW5kYXIvZG91YmxlLWNhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUErQnhHLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw0QkFBNEI7SUE3QnpFOztRQWdDUyxrQkFBYSxHQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1FBTTdFLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHakUsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHbEUsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQW9FdkUsQ0FBQztJQTdEUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sUUFBUTtRQUNiLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLHVCQUF1QixDQUFDLElBQVU7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDckQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN4RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2FBQ2hDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBR00sd0JBQXdCLENBQUMsSUFBVTtRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7YUFDaEM7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBR00sa0JBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLEVBQUU7WUFDbEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVNLHdCQUF3QixDQUFDLEdBQVM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBQ00sYUFBYTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsQywrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQS9HRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozs0QkFHRSxLQUFLOytCQUdMLEtBQUs7NEJBR0wsTUFBTTtpQ0FHTixNQUFNOzZCQUdOLE1BQU07d0JBT04sV0FBVyxTQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Jhc2VJbnB1dERhdGVQaWNrZXJEaXJlY3RpdmV9IGZyb20gXCIuLi9iYXNlLWlucHV0LWRhdGUtcGlja2VyL2Jhc2UtaW5wdXQtZGF0ZS1waWNrZXIuZGlyZWN0aXZlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1kb3VibGUtY2FsZW5kYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImR1YWwtY2FsZW5kYXItd3JhcHBlclwiIFtvdmVybGF5XT1cInBhcmVudEZvck92ZXJsYXlcIiAoY2xpY2tPdXRzaWRlKT1cImNsaWNrZWRPdXRzaWRlLm5leHQoKVwiPlxyXG4gICAgICA8Y2FsZW5kYXItdGVtcGxhdGVcclxuICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRmlyc3REYXRlXCJcclxuICAgICAgICBbc2Vjb25kU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkU2Vjb25kRGF0ZVwiXHJcbiAgICAgICAgW3NlY29uZEhvdmVyaW5nRGF0ZV09XCJzZWNvbmRIb3ZlcmluZ0RhdGVcIlxyXG4gICAgICAgIFtoaWdobGlnaHREYXlzQmV0d2VlbkRhdGVzXT1cInRydWVcIlxyXG4gICAgICAgIChkYXRlU2VsZWN0ZWQpPVwiaGFuZGxlRmlyc3REYXRlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgW3Nob3dCdXR0b25zXT1cImZhbHNlXCJcclxuICAgICAgICAoY2xlYXJEYXRlcyk9XCJjbGVhckFsbERhdGVzKClcIlxyXG4gICAgICAgIFtkb3VibGVDYWxlbmRhcl09XCJ0cnVlXCJcclxuICAgICAgPjwvY2FsZW5kYXItdGVtcGxhdGU+XHJcbiAgICAgIDxjYWxlbmRhci10ZW1wbGF0ZVxyXG4gICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWRTZWNvbmREYXRlXCJcclxuICAgICAgICBbc2Vjb25kU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRmlyc3REYXRlXCJcclxuICAgICAgICBbaGlnaGxpZ2h0RGF5c0JldHdlZW5EYXRlc109XCJ0cnVlXCJcclxuICAgICAgICAoaG92ZXJpbmdEYXRlKT1cImhhbmRsZVNlY29uZEhvdmVyaW5nRGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAoZGF0ZVNlbGVjdGVkKT1cImhhbmRsZVNlY29uZERhdGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAoY2xpY2tlZE91dHNpZGUpPVwiY2xpY2tlZE91dHNpZGUubmV4dCgpXCJcclxuICAgICAgICBbc2hvd0J1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2RvdWJsZUNhbGVuZGFyXT1cInRydWVcIlxyXG4gICAgICAgIChjbGVhckRhdGVzKT1cImNsZWFyQWxsRGF0ZXMoKVwiXHJcbiAgICAgID48L2NhbGVuZGFyLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb3VibGVDYWxlbmRhckNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dERhdGVQaWNrZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGVzOiBEYXRlW10gPSBbbnVsbCwgbnVsbF07IC8vIEluaXRpYWxpemUgd2l0aCB2YWxpZCBhcnJheSBlbGVtZW50c1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGF0ZXNTZWxlY3RlZDogRXZlbnRFbWl0dGVyPERhdGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNlY29uZERhdGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xpY2tlZE91dHNpZGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkRmlyc3REYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFNlY29uZERhdGU6IERhdGU7XHJcbiAgcHVibGljIHNlY29uZEhvdmVyaW5nRGF0ZTogRGF0ZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZG91YmxlLWNhbGVuZGFyXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gRW5zdXJlIGBzZWxlY3RlZERhdGVzYCBhbHdheXMgaGFzIHR3byBlbGVtZW50c1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzIHx8IFtudWxsLCBudWxsXTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZXNbMF07XHJcbiAgICB0aGlzLnNlbGVjdGVkU2Vjb25kRGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlc1sxXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVGaXJzdERhdGVTZWxlY3RlZChkYXRlOiBEYXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlyc3REYXRlID0gZGF0ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlc1swXSA9IGRhdGU7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlICYmIHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUpIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUuZ2V0VGltZSgpID4gdGhpcy5zZWxlY3RlZFNlY29uZERhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vdXRwdXRSYW5nZUlmVmFsaWQoKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2Vjb25kRGF0ZVNlbGVjdGVkKGRhdGU6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlID0gZGF0ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlc1sxXSA9IGRhdGU7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUgJiYgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUpIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlLmdldFRpbWUoKSA8IHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpcnN0RGF0ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2Vjb25kSG92ZXJpbmdEYXRlID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU2Vjb25kRGF0ZSAmJiB0aGlzLnNlbGVjdGVkRmlyc3REYXRlKSB7XHJcbiAgICAgIHRoaXMub3V0cHV0UmFuZ2VJZlZhbGlkKCk7XHJcbiAgICAgIHRoaXMuc2Vjb25kRGF0ZVNlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgb3V0cHV0UmFuZ2VJZlZhbGlkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlc1swXSBpbnN0YW5jZW9mIERhdGUgJiYgdGhpcy5zZWxlY3RlZERhdGVzWzFdIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICB0aGlzLmRhdGVzU2VsZWN0ZWQubmV4dCh0aGlzLnNlbGVjdGVkRGF0ZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlY29uZEhvdmVyaW5nRGF0ZShkYXk6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Vjb25kSG92ZXJpbmdEYXRlID0gZGF5O1xyXG4gIH1cclxuICBwdWJsaWMgY2xlYXJBbGxEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVzID0gW251bGwsIG51bGxdO1xyXG5cclxuICAgIC8vIEVtaXQgdXBkYXRlZCBzdGF0ZSB0byBwYXJlbnRcclxuICAgIHRoaXMuZGF0ZXNTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlcyk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb3VibGUtY2FsZW5kYXIvZG91YmxlLWNhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUErQnhHLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw0QkFBNEI7SUE3QnpFOztRQWdDUyxrQkFBYSxHQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1FBTTdFLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHakUsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHbEUsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQWlGdkUsQ0FBQztJQTFFUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sUUFBUTtRQUNiLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLHVCQUF1QixDQUFDLElBQVU7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixH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R04sTUFBTTs2QkFHTixNQUFNO3dCQU9OLFdBQVcsU0FBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCYXNlSW5wdXREYXRlUGlja2VyRGlyZWN0aXZlfSBmcm9tIFwiLi4vYmFzZS1pbnB1dC1kYXRlLXBpY2tlci9iYXNlLWlucHV0LWRhdGUtcGlja2VyLmRpcmVjdGl2ZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZG91YmxlLWNhbGVuZGFyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJkdWFsLWNhbGVuZGFyLXdyYXBwZXJcIiBbb3ZlcmxheV09XCJwYXJlbnRGb3JPdmVybGF5XCIgKGNsaWNrT3V0c2lkZSk9XCJjbGlja2VkT3V0c2lkZS5uZXh0KClcIj5cclxuICAgICAgPGNhbGVuZGFyLXRlbXBsYXRlXHJcbiAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZEZpcnN0RGF0ZVwiXHJcbiAgICAgICAgW3NlY29uZFNlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZFNlY29uZERhdGVcIlxyXG4gICAgICAgIFtzZWNvbmRIb3ZlcmluZ0RhdGVdPVwic2Vjb25kSG92ZXJpbmdEYXRlXCJcclxuICAgICAgICBbaGlnaGxpZ2h0RGF5c0JldHdlZW5EYXRlc109XCJ0cnVlXCJcclxuICAgICAgICAoZGF0ZVNlbGVjdGVkKT1cImhhbmRsZUZpcnN0RGF0ZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgIFtzaG93QnV0dG9uc109XCJmYWxzZVwiXHJcbiAgICAgICAgKGNsZWFyRGF0ZXMpPVwiY2xlYXJBbGxEYXRlcygpXCJcclxuICAgICAgICBbZG91YmxlQ2FsZW5kYXJdPVwidHJ1ZVwiXHJcbiAgICAgID48L2NhbGVuZGFyLXRlbXBsYXRlPlxyXG4gICAgICA8Y2FsZW5kYXItdGVtcGxhdGVcclxuICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkU2Vjb25kRGF0ZVwiXHJcbiAgICAgICAgW3NlY29uZFNlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZEZpcnN0RGF0ZVwiXHJcbiAgICAgICAgW2hpZ2hsaWdodERheXNCZXR3ZWVuRGF0ZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgKGhvdmVyaW5nRGF0ZSk9XCJoYW5kbGVTZWNvbmRIb3ZlcmluZ0RhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRhdGVTZWxlY3RlZCk9XCJoYW5kbGVTZWNvbmREYXRlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNsaWNrZWRPdXRzaWRlKT1cImNsaWNrZWRPdXRzaWRlLm5leHQoKVwiXHJcbiAgICAgICAgW3Nob3dCdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgIFtkb3VibGVDYWxlbmRhcl09XCJ0cnVlXCJcclxuICAgICAgICAoY2xlYXJEYXRlcyk9XCJjbGVhckFsbERhdGVzKClcIlxyXG4gICAgICA+PC9jYWxlbmRhci10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG91YmxlQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXREYXRlUGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWREYXRlczogRGF0ZVtdID0gW251bGwsIG51bGxdOyAvLyBJbml0aWFsaXplIHdpdGggdmFsaWQgYXJyYXkgZWxlbWVudHNcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFyZW50Rm9yT3ZlcmxheTogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRhdGVzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxEYXRlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWNvbmREYXRlU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsaWNrZWRPdXRzaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZEZpcnN0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgc2VsZWN0ZWRTZWNvbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBzZWNvbmRIb3ZlcmluZ0RhdGU6IERhdGU7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRvdWJsZS1jYWxlbmRhclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIEVuc3VyZSBgc2VsZWN0ZWREYXRlc2AgYWx3YXlzIGhhcyB0d28gZWxlbWVudHNcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlcyA9IHRoaXMuc2VsZWN0ZWREYXRlcyB8fCBbbnVsbCwgbnVsbF07XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlyc3REYXRlID0gdGhpcy5zZWxlY3RlZERhdGVzWzBdO1xyXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZXNbMV07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRmlyc3REYXRlU2VsZWN0ZWQoZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpcnN0RGF0ZSA9IGRhdGU7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZXNbMF0gPSBkYXRlO1xyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU2Vjb25kRGF0ZSAmJiB0aGlzLnNlbGVjdGVkRmlyc3REYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmlyc3REYXRlLmdldFRpbWUoKSA+IHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlLmdldFRpbWUoKSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3V0cHV0UmFuZ2VJZlZhbGlkKCk7XHJcbiAgICB0aGlzLl9jbG9zZUlmUmFuZ2VDb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWNvbmREYXRlU2VsZWN0ZWQoZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUgPSBkYXRlO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVzWzFdID0gZGF0ZTtcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZpcnN0RGF0ZSAmJiB0aGlzLnNlbGVjdGVkU2Vjb25kRGF0ZSkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFNlY29uZERhdGUuZ2V0VGltZSgpIDwgdGhpcy5zZWxlY3RlZEZpcnN0RGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlyc3REYXRlID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU2Vjb25kRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWNvbmRIb3ZlcmluZ0RhdGUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlICYmIHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUpIHtcclxuICAgICAgdGhpcy5vdXRwdXRSYW5nZUlmVmFsaWQoKTtcclxuICAgICAgdGhpcy5zZWNvbmREYXRlU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2xvc2VJZlJhbmdlQ29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgb3V0cHV0UmFuZ2VJZlZhbGlkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlc1swXSBpbnN0YW5jZW9mIERhdGUgJiYgdGhpcy5zZWxlY3RlZERhdGVzWzFdIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICB0aGlzLmRhdGVzU2VsZWN0ZWQubmV4dCh0aGlzLnNlbGVjdGVkRGF0ZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlY29uZEhvdmVyaW5nRGF0ZShkYXk6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Vjb25kSG92ZXJpbmdEYXRlID0gZGF5O1xyXG4gIH1cclxuICBwdWJsaWMgY2xlYXJBbGxEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZERhdGUgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVzID0gW251bGwsIG51bGxdO1xyXG5cclxuICAgIC8vIEVtaXQgdXBkYXRlZCBzdGF0ZSB0byBwYXJlbnRcclxuICAgIHRoaXMuZGF0ZXNTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlcyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Nsb3NlSWZSYW5nZUNvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGaXJzdERhdGUgaW5zdGFuY2VvZiBEYXRlICYmIHRoaXMuc2VsZWN0ZWRTZWNvbmREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAvLyBlbWl0IHRoZSBzZWxlY3RlZCByYW5nZSAoa2VlcHMgY3VycmVudCBiZWhhdmlvcilcclxuICAgICAgdGhpcy5vdXRwdXRSYW5nZUlmVmFsaWQoKTtcclxuICAgICAgLy8gb3B0aW9uYWw6IGtlZXAgeW91ciDigJxzZWNvbmQgZGF0ZSBjaG9zZW7igJ0gc2lnbmFsXHJcbiAgICAgIHRoaXMuc2Vjb25kRGF0ZVNlbGVjdGVkLm5leHQoKTtcclxuICAgICAgLy8gY2xvc2UgdGhlIG92ZXJsYXkvcG9wdXBcclxuICAgICAgdGhpcy5jbGlja2VkT3V0c2lkZS5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
@@ -120,36 +120,36 @@ export class SimpleGridCellComponent {
120
120
  SimpleGridCellComponent.decorators = [
121
121
  { type: Component, args: [{
122
122
  selector: "co-simple-grid-cell",
123
- template: `
124
- <div class="simple-grid-column-cell-value" [ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
125
- <ng-container *ngIf="editMode; else noInlineEdit">
126
- <div class="simple-grid-column-cell-field">
127
- <ng-container #editTemplate *ngIf="column.editTemplate; else noEditTemplate"
128
- [ngTemplateOutlet]="column.editTemplate"
129
- [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
130
- <ng-template #noEditTemplate>
131
- <ng-container *ngIf="column.template; else noTemplate">
132
- <ng-container [ngTemplateOutlet]="column.template"
133
- [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
134
- </ng-container>
135
- <ng-template #noTemplate>
136
- <co-input-text [(model)]="row[column.field]" [required]="column.required"></co-input-text>
137
- </ng-template>
138
- </ng-template>
139
- </div>
140
- </ng-container>
141
- <ng-template #noInlineEdit>
142
- <div class="simple-grid-column-cell-field">
143
- <ng-container *ngIf="column.template; else noTemplate">
144
- <ng-container [ngTemplateOutlet]="column.template"
145
- [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
146
- </ng-container>
147
- <ng-template #noTemplate>
148
- <span [textContent]="column.getFieldValue(row[column.field])"></span>
149
- </ng-template>
150
- </div>
151
- </ng-template>
152
- </div>
123
+ template: `
124
+ <div class="simple-grid-column-cell-value" [ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
125
+ <ng-container *ngIf="editMode; else noInlineEdit">
126
+ <div class="simple-grid-column-cell-field">
127
+ <ng-container #editTemplate *ngIf="column.editTemplate; else noEditTemplate"
128
+ [ngTemplateOutlet]="column.editTemplate"
129
+ [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
130
+ <ng-template #noEditTemplate>
131
+ <ng-container *ngIf="column.template; else noTemplate">
132
+ <ng-container [ngTemplateOutlet]="column.template"
133
+ [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
134
+ </ng-container>
135
+ <ng-template #noTemplate>
136
+ <co-input-text [(model)]="row[column.field]" [required]="column.required"></co-input-text>
137
+ </ng-template>
138
+ </ng-template>
139
+ </div>
140
+ </ng-container>
141
+ <ng-template #noInlineEdit>
142
+ <div class="simple-grid-column-cell-field">
143
+ <ng-container *ngIf="column.template; else noTemplate">
144
+ <ng-container [ngTemplateOutlet]="column.template"
145
+ [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
146
+ </ng-container>
147
+ <ng-template #noTemplate>
148
+ <span [textContent]="column.getFieldValue(row[column.field])" [title]="row[column.field]"></span>
149
+ </ng-template>
150
+ </div>
151
+ </ng-template>
152
+ </div>
153
153
  `,
154
154
  encapsulation: ViewEncapsulation.None
155
155
  },] }
@@ -169,4 +169,4 @@ SimpleGridCellComponent.propDecorators = {
169
169
  showClass: [{ type: HostBinding, args: ["class.co-simple-grid-cell",] }],
170
170
  handleClick: [{ type: HostListener, args: ['click', ['$event'],] }]
171
171
  };
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvc2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQTZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFxQ2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFzRWxDLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTlEdEMscUJBQWdCLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUE2QnpELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFhNUIsY0FBUyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBY3BFLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFNbEMsQ0FBQztJQXRFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUdELElBQTJELG1CQUFtQixDQUFDLFFBQVE7UUFDckYsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFpQyxxQkFBcUIsQ0FBQyxRQUFRO1FBQzdELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsSUFBNkIsaUJBQWlCLENBQUMsUUFBUTtRQUNyRCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1lBQy9CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQVVELElBQ1csYUFBYSxDQUFDLEtBQWM7UUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQU1NLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHTSxXQUFXLENBQUMsS0FBaUI7UUFDbEMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFXTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25DLElBQUksT0FBTyxFQUFFO2dCQUNYLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMxRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLE9BQU8sRUFBRTtvQkFDWCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDeEQsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNmLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ2xDO2dCQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQVc7UUFDcEMsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDNUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUFZLEVBQUUsU0FBaUI7UUFDckQsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLGFBQWEsSUFBSSxRQUFRLEVBQUU7WUFDN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxPQUFPLElBQUksTUFBTSxFQUFFO1lBQzVCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLEtBQXVCLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzVCO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hCO2FBQU07WUFDTCxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM3QjtRQUNELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMzRixJQUFJLFlBQVksRUFBRTtvQkFDaEIsT0FBTyxZQUFZLENBQUM7aUJBQ3JCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7O1lBOUtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBaERDLGlCQUFpQjs7O3VCQXFEaEIsS0FBSztrQ0FNTCxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFDO29DQU9wRCxTQUFTLFNBQUMsZ0JBQWdCO2dDQU8xQixTQUFTLFNBQUMsWUFBWTtxQkFPdEIsS0FBSztrQkFHTCxLQUFLOzRCQUtMLEtBQUs7d0JBVUwsTUFBTTt3QkFHTixXQUFXLFNBQUMsMkJBQTJCOzBCQUt2QyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCwgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sdW1uQWxpZ24sIFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmUgfSBmcm9tIFwiLi9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zaW1wbGUtZ3JpZC1jZWxsXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsLXZhbHVlXCIgW25nQ2xhc3NdPVwiY29sdW1uLnRleHRBbGlnbiA/IGNvbHVtbi50ZXh0QWxpZ24gOiBkZWZhdWx0VGV4dEFsaWduXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2Ugbm9JbmxpbmVFZGl0XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlZGl0VGVtcGxhdGUgKm5nSWY9XCJjb2x1bW4uZWRpdFRlbXBsYXRlOyBlbHNlIG5vRWRpdFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmVkaXRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7dmFsdWU6IHJvd1tjb2x1bW4uZmllbGRdLCByb3c6IHJvd31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9FZGl0VGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLnRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie3ZhbHVlOiByb3dbY29sdW1uLmZpZWxkXSwgcm93OiByb3d9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3dbY29sdW1uLmZpZWxkXVwiIFtyZXF1aXJlZF09XCJjb2x1bW4ucmVxdWlyZWRcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JbmxpbmVFZGl0PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tY2VsbC1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4udGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInt2YWx1ZTogcm93W2NvbHVtbi5maWVsZF0sIHJvdzogcm93fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImNvbHVtbi5nZXRGaWVsZFZhbHVlKHJvd1tjb2x1bW4uZmllbGRdKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZUdyaWRDZWxsQ29tcG9uZW50IHtcclxuICBnZXQgZWRpdE1vZGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZWRpdE1vZGU7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGVkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9lZGl0TW9kZSA9IHZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFRleHRBbGlnbjogQ29sdW1uQWxpZ24gPSBDb2x1bW5BbGlnbi5MZWZ0O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZWRpdFRlbXBsYXRlXCIsIHtyZWFkOiBCYXNlSW5wdXRDb21wb25lbnR9KSBzZXQgZWRpdFRlbXBsYXRlQ29udGVudCh0ZW1wbGF0ZSkge1xyXG4gICAgaWYgKHRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZChcIm5vRWRpdFRlbXBsYXRlXCIpIHNldCBub0VkaXRUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUpIHtcclxuICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZChcIm5vVGVtcGxhdGVcIikgc2V0IG5vVGVtcGxhdGVDb250ZW50KHRlbXBsYXRlKSB7XHJcbiAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5faW5wdXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sdW1uOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3c6IHt9O1xyXG5cclxuICBwcml2YXRlIF9lZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZmllbGRFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZmllbGRFZGl0TW9kZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0Rm9jdXNDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZmllbGRFZGl0TW9kZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9maWVsZEVkaXRNb2RlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNlbGxDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zaW1wbGUtZ3JpZC1jZWxsXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29sdW1uICYmICF0aGlzLmNvbHVtbi5yZWFkb25seSkge1xyXG4gICAgICB0aGlzLmNlbGxDbGljay5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWVsZEVkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2VkaXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF9pbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEZvY3VzQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2VkaXRNb2RlICYmIHRoaXMuZmllbGRFZGl0TW9kZSkge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZ2V0RWxlbWVudCgpO1xyXG4gICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGZvY3VzRXZlbnQgPSB0aGlzLl9jcmVhdGVOZXdFdmVudChlbGVtZW50LCAnZm9jdXMnKTtcclxuICAgICAgICBlbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGZvY3VzRXZlbnQpO1xyXG4gICAgICAgIHRoaXMuX2ZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5fZm9jdXNlZCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9nZXRFbGVtZW50KCk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgIGNvbnN0IGJsdXJFdmVudCA9IHRoaXMuX2NyZWF0ZU5ld0V2ZW50KGVsZW1lbnQsICdibHVyJyk7XHJcbiAgICAgICAgICBlbGVtZW50LmJsdXIoKTtcclxuICAgICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChibHVyRXZlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9mb2N1c2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEZpcnN0Rm9ybUlucHV0KHBhcmVudDogYW55KTogYW55IHtcclxuICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IEFycmF5LmZyb20ocGFyZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpKTtcclxuICAgICAgY29uc3Qgb3RoZXJDb2xsZWN0aW9uID0gQXJyYXkuZnJvbShwYXJlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RleHRhcmVhJykpO1xyXG4gICAgICBvdGhlckNvbGxlY3Rpb24ubWFwKG8gPT4gY29sbGVjdGlvbi5wdXNoKG8pKTtcclxuICAgICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uWzBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVOZXdFdmVudChlbGVtZW50OiBhbnksIGV2ZW50VHlwZTogc3RyaW5nKTogRXZlbnQge1xyXG4gICAgbGV0IGV2ZW50O1xyXG4gICAgaWYgKFwiY3JlYXRlRXZlbnRcIiBpbiBkb2N1bWVudCkge1xyXG4gICAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiRXZlbnRcIik7XHJcbiAgICAgIGV2ZW50LmluaXRFdmVudChldmVudFR5cGUsIHRydWUsIHRydWUpO1xyXG4gICAgfSBlbHNlIGlmIChcIkV2ZW50XCIgaW4gd2luZG93KSB7XHJcbiAgICAgIGV2ZW50ID0gbmV3IEV2ZW50KGV2ZW50VHlwZSwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBsZXQgdGVtcGw6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBpZiAodGhpcy5fZWRpdFRlbXBsYXRlKSB7XHJcbiAgICAgIHRlbXBsID0gdGhpcy5fZWRpdFRlbXBsYXRlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLl90ZW1wbGF0ZSkge1xyXG4gICAgICB0ZW1wbCA9IHRoaXMuX3RlbXBsYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGVtcGwgPSB0aGlzLl9pbnB1dFRlbXBsYXRlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRlbXBsKSB7XHJcbiAgICAgIGlmICh0ZW1wbCAmJiB0ZW1wbC5lbGVtZW50UmVmKSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5fZ2V0Rmlyc3RGb3JtSW5wdXQodGVtcGwuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xyXG4gICAgICAgIGlmIChpbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICAgIHJldHVybiBpbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvc2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQTZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFxQ2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFzRWxDLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTlEdEMscUJBQWdCLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUE2QnpELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFhNUIsY0FBUyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBY3BFLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFNbEMsQ0FBQztJQXRFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUdELElBQTJELG1CQUFtQixDQUFDLFFBQVE7UUFDckYsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsa0JBQWtCLEVB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O3VCQXFEaEIsS0FBSztrQ0FNTCxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFDO29DQU9wRCxTQUFTLFNBQUMsZ0JBQWdCO2dDQU8xQixTQUFTLFNBQUMsWUFBWTtxQkFPdEIsS0FBSztrQkFHTCxLQUFLOzRCQUtMLEtBQUs7d0JBVUwsTUFBTTt3QkFHTixXQUFXLFNBQUMsMkJBQTJCOzBCQUt2QyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbHVtbkFsaWduLCBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlIH0gZnJvbSBcIi4vc2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLXNpbXBsZS1ncmlkLWNlbGxcIixcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tY2VsbC12YWx1ZVwiIFtuZ0NsYXNzXT1cImNvbHVtbi50ZXh0QWxpZ24gPyBjb2x1bW4udGV4dEFsaWduIDogZGVmYXVsdFRleHRBbGlnblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0TW9kZTsgZWxzZSBub0lubGluZUVkaXRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjZWRpdFRlbXBsYXRlICpuZ0lmPVwiY29sdW1uLmVkaXRUZW1wbGF0ZTsgZWxzZSBub0VkaXRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4uZWRpdFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7dmFsdWU6IHJvd1tjb2x1bW4uZmllbGRdLCByb3c6IHJvd31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vRWRpdFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRlbXBsYXRlOyBlbHNlIG5vVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLnRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInt2YWx1ZTogcm93W2NvbHVtbi5maWVsZF0sIHJvdzogcm93fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwicm93W2NvbHVtbi5maWVsZF1cIiBbcmVxdWlyZWRdPVwiY29sdW1uLnJlcXVpcmVkXCI+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JbmxpbmVFZGl0PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWNlbGwtZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRlbXBsYXRlOyBlbHNlIG5vVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4udGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7dmFsdWU6IHJvd1tjb2x1bW4uZmllbGRdLCByb3c6IHJvd31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJjb2x1bW4uZ2V0RmllbGRWYWx1ZShyb3dbY29sdW1uLmZpZWxkXSlcIiAgW3RpdGxlXT1cInJvd1tjb2x1bW4uZmllbGRdXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTaW1wbGVHcmlkQ2VsbENvbXBvbmVudCB7XG4gIGdldCBlZGl0TW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdE1vZGU7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGVkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZWRpdE1vZGUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFRleHRBbGlnbjogQ29sdW1uQWxpZ24gPSBDb2x1bW5BbGlnbi5MZWZ0O1xuXG4gIEBWaWV3Q2hpbGQoXCJlZGl0VGVtcGxhdGVcIiwge3JlYWQ6IEJhc2VJbnB1dENvbXBvbmVudH0pIHNldCBlZGl0VGVtcGxhdGVDb250ZW50KHRlbXBsYXRlKSB7XG4gICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICB0aGlzLl9lZGl0VGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgIHRoaXMuX3NldEZvY3VzQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgQFZpZXdDaGlsZChcIm5vRWRpdFRlbXBsYXRlXCIpIHNldCBub0VkaXRUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUpIHtcbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIHRoaXMuX3RlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIEBWaWV3Q2hpbGQoXCJub1RlbXBsYXRlXCIpIHNldCBub1RlbXBsYXRlQ29udGVudCh0ZW1wbGF0ZSkge1xuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgdGhpcy5faW5wdXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICAgICAgdGhpcy5fc2V0Rm9jdXNDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sdW1uOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3c6IHt9O1xuXG4gIHByaXZhdGUgX2VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWVsZEVkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZmllbGRFZGl0TW9kZSA9IHZhbHVlO1xuICAgIHRoaXMuX3NldEZvY3VzQ29tcG9uZW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpZWxkRWRpdE1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkRWRpdE1vZGU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNlbGxDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXNpbXBsZS1ncmlkLWNlbGxcIilcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29sdW1uICYmICF0aGlzLmNvbHVtbi5yZWFkb25seSkge1xuICAgICAgdGhpcy5jZWxsQ2xpY2submV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpZWxkRWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9lZGl0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF9pbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Rm9jdXNDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2VkaXRNb2RlICYmIHRoaXMuZmllbGRFZGl0TW9kZSkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2dldEVsZW1lbnQoKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGZvY3VzRXZlbnQgPSB0aGlzLl9jcmVhdGVOZXdFdmVudChlbGVtZW50LCAnZm9jdXMnKTtcbiAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZm9jdXNFdmVudCk7XG4gICAgICAgIHRoaXMuX2ZvY3VzZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fZm9jdXNlZCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZ2V0RWxlbWVudCgpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIGNvbnN0IGJsdXJFdmVudCA9IHRoaXMuX2NyZWF0ZU5ld0V2ZW50KGVsZW1lbnQsICdibHVyJyk7XG4gICAgICAgICAgZWxlbWVudC5ibHVyKCk7XG4gICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGJsdXJFdmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRGaXJzdEZvcm1JbnB1dChwYXJlbnQ6IGFueSk6IGFueSB7XG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IEFycmF5LmZyb20ocGFyZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpKTtcbiAgICAgIGNvbnN0IG90aGVyQ29sbGVjdGlvbiA9IEFycmF5LmZyb20ocGFyZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZXh0YXJlYScpKTtcbiAgICAgIG90aGVyQ29sbGVjdGlvbi5tYXAobyA9PiBjb2xsZWN0aW9uLnB1c2gobykpO1xuICAgICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvblswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVOZXdFdmVudChlbGVtZW50OiBhbnksIGV2ZW50VHlwZTogc3RyaW5nKTogRXZlbnQge1xuICAgIGxldCBldmVudDtcbiAgICBpZiAoXCJjcmVhdGVFdmVudFwiIGluIGRvY3VtZW50KSB7XG4gICAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiRXZlbnRcIik7XG4gICAgICBldmVudC5pbml0RXZlbnQoZXZlbnRUeXBlLCB0cnVlLCB0cnVlKTtcbiAgICB9IGVsc2UgaWYgKFwiRXZlbnRcIiBpbiB3aW5kb3cpIHtcbiAgICAgIGV2ZW50ID0gbmV3IEV2ZW50KGV2ZW50VHlwZSwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZXZlbnQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBsZXQgdGVtcGw6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgaWYgKHRoaXMuX2VkaXRUZW1wbGF0ZSkge1xuICAgICAgdGVtcGwgPSB0aGlzLl9lZGl0VGVtcGxhdGU7XG4gICAgfSBlbHNlIGlmICh0aGlzLl90ZW1wbGF0ZSkge1xuICAgICAgdGVtcGwgPSB0aGlzLl90ZW1wbGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGVtcGwgPSB0aGlzLl9pbnB1dFRlbXBsYXRlO1xuICAgIH1cbiAgICBpZiAodGVtcGwpIHtcbiAgICAgIGlmICh0ZW1wbCAmJiB0ZW1wbC5lbGVtZW50UmVmKSB7XG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX2dldEZpcnN0Rm9ybUlucHV0KHRlbXBsLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KTtcbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xuICAgICAgICAgIHJldHVybiBpbnB1dEVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIl19