@cqa-lib/cqa-ui 1.0.109 → 1.0.111

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.
@@ -18,16 +18,6 @@ export class DaterangepickerComponent {
18
18
  this.onTouched = () => { };
19
19
  }
20
20
  ngOnInit() {
21
- this.updatePickerOptions();
22
- }
23
- ngOnChanges(changes) {
24
- if (changes['ranges'] || changes['autoApply'] || changes['alwaysShowCalendars'] ||
25
- changes['opens'] || changes['drops'] || changes['isInvalidDate'] || changes['parentEl'] ||
26
- changes['startDate'] || changes['endDate'] || changes['minDate'] || changes['maxDate']) {
27
- this.updatePickerOptions();
28
- }
29
- }
30
- updatePickerOptions() {
31
21
  this.pickerOptions = {
32
22
  startDate: this.startDate ? new Date(this.startDate) : undefined,
33
23
  endDate: this.endDate ? new Date(this.endDate) : undefined,
@@ -104,7 +94,7 @@ DaterangepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
104
94
  useExisting: forwardRef(() => DaterangepickerComponent),
105
95
  multi: true
106
96
  }
107
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
97
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], ngImport: i0, template: `
108
98
  <div class="cqa-ui-root">
109
99
  <label *ngIf="label" class="form-label cqa-text-[#374151] cqa-text-[14px] cqa-font-medium cqa-block cqa-leading-[1.4] cqa-mb-2">
110
100
  {{ label }}
@@ -244,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
244
234
  type: ViewChild,
245
235
  args: ['inputRef', { static: true }]
246
236
  }] } });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBMkQsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQTBEekUsTUFBTSxPQUFPLHdCQUF3QjtJQXZEckM7UUEwRFcsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU1qQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQWdDLFFBQVEsQ0FBQztRQUM5QyxVQUFLLEdBQTJCLE1BQU0sQ0FBQztRQUl0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvRCxDQUFDO1FBQ3BGLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvRCxDQUFDO1FBSTlGLGtCQUFhLEdBQTJCLEVBQUUsQ0FBQztRQUVuQyxhQUFRLEdBQUcsQ0FBQyxLQUFzRCxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUUsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQTBGOUI7SUF4RkMsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxPQUFPLENB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Ozs7Ozs7Ozs7Ozs7OztHQTRDVDsyRkFTVSx3QkFBd0I7a0JBdkRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1Q7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVrQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsIERhdGVSYW5nZVBpY2tlck9wdGlvbnMgfSBmcm9tICcuL2RhdGVyYW5nZXBpY2tlci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZGF0ZXJhbmdlcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIj5cbiAgICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJmb3JtLWxhYmVsIGNxYS10ZXh0LVsjMzc0MTUxXSBjcWEtdGV4dC1bMTRweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS1ibG9jayBjcWEtbGVhZGluZy1bMS40XSBjcWEtbWItMlwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZGF0ZXJhbmdlcGlja2VyLXdyYXBwZXIgY3FhLXVpLWRhdGVyYW5nZS1waWNrZXJcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgI2lucHV0UmVmXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWRhdGVyYW5nZXBpY2tlci1pbnB1dFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICdTdGFydCBEYXRlIC0gRW5kIERhdGUnXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBjcWFEYXRlcmFuZ2VwaWNrZXJcbiAgICAgICAgICBbb3B0aW9uc109XCJwaWNrZXJPcHRpb25zXCJcbiAgICAgICAgICBbc3RhcnREYXRlXT1cInN0YXJ0RGF0ZVwiXG4gICAgICAgICAgW2VuZERhdGVdPVwiZW5kRGF0ZVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJvbkRhdGVzVXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoY2FuY2VsQ2xpY2tlZCk9XCJvbkNhbmNlbCgpXCJcbiAgICAgICAgICAoYXBwbHlDbGlja2VkKT1cIm9uQXBwbHkoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1kYXRlcmFuZ2VwaWNrZXItaWNvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5QaWNrZXIoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiT3BlbiBkYXRlIHJhbmdlIHBpY2tlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUuMzMzOTggMS4zMzIwM1YzLjk5ODdcIiBzdHJva2U9XCIjMEEwQTBBXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNjY2IDEuMzMyMDNWMy45OTg3XCIgc3Ryb2tlPVwiIzBBMEEwQVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi42NjY3IDIuNjY3OTdIMy4zMzMzM0MyLjU5Njk1IDIuNjY3OTcgMiAzLjI2NDkyIDIgNC4wMDEzVjEzLjMzNDZDMiAxNC4wNzEgMi41OTY5NSAxNC42NjggMy4zMzMzMyAxNC42NjhIMTIuNjY2N0MxMy40MDMgMTQuNjY4IDE0IDE0LjA3MSAxNCAxMy4zMzQ2VjQuMDAxM0MxNCAzLjI2NDkyIDEzLjQwMyAyLjY2Nzk3IDEyLjY2NjcgMi42Njc5N1pcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzBBMEEwQVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMiA2LjY2Nzk3SDE0XCIgc3Ryb2tlPVwiIzBBMEEwQVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzdGFydERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBASW5wdXQoKSBlbmREYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgQElucHV0KCkgbWluRGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBASW5wdXQoKSByYW5nZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGF1dG9BcHBseSA9IGZhbHNlO1xuICBASW5wdXQoKSBhbHdheXNTaG93Q2FsZW5kYXJzID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9wZW5zOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgQElucHV0KCkgZHJvcHM6ICdkb3duJyB8ICd1cCcgfCAnYXV0bycgPSAnZG93bic7XG4gIEBJbnB1dCgpIGlzSW52YWxpZERhdGU/OiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcbiAgQElucHV0KCkgcGFyZW50RWw/OiBzdHJpbmcgfCBIVE1MRWxlbWVudDtcblxuICBAT3V0cHV0KCkgZGF0ZXNVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7IGVuZERhdGU6IERhdGUgfCBudWxsIH0+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYXBwbHlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7IGVuZERhdGU6IERhdGUgfCBudWxsIH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZiE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcGlja2VyT3B0aW9uczogRGF0ZVJhbmdlUGlja2VyT3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IHsgc3RhcnQ6IERhdGUgfCBudWxsOyBlbmQ6IERhdGUgfCBudWxsIH0gfCBudWxsKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVBpY2tlck9wdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncmFuZ2VzJ10gfHwgY2hhbmdlc1snYXV0b0FwcGx5J10gfHwgY2hhbmdlc1snYWx3YXlzU2hvd0NhbGVuZGFycyddIHx8IFxuICAgICAgICBjaGFuZ2VzWydvcGVucyddIHx8IGNoYW5nZXNbJ2Ryb3BzJ10gfHwgY2hhbmdlc1snaXNJbnZhbGlkRGF0ZSddIHx8IGNoYW5nZXNbJ3BhcmVudEVsJ10gfHxcbiAgICAgICAgY2hhbmdlc1snc3RhcnREYXRlJ10gfHwgY2hhbmdlc1snZW5kRGF0ZSddIHx8IGNoYW5nZXNbJ21pbkRhdGUnXSB8fCBjaGFuZ2VzWydtYXhEYXRlJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlUGlja2VyT3B0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUGlja2VyT3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBzdGFydERhdGU6IHRoaXMuc3RhcnREYXRlID8gbmV3IERhdGUodGhpcy5zdGFydERhdGUpIDogdW5kZWZpbmVkLFxuICAgICAgZW5kRGF0ZTogdGhpcy5lbmREYXRlID8gbmV3IERhdGUodGhpcy5lbmREYXRlKSA6IHVuZGVmaW5lZCxcbiAgICAgIG1pbkRhdGU6IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkgOiB1bmRlZmluZWQsXG4gICAgICBtYXhEYXRlOiB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpIDogdW5kZWZpbmVkLFxuICAgICAgcmFuZ2VzOiB0aGlzLnJhbmdlcyxcbiAgICAgIGF1dG9BcHBseTogdGhpcy5hdXRvQXBwbHksXG4gICAgICBhbHdheXNTaG93Q2FsZW5kYXJzOiB0aGlzLmFsd2F5c1Nob3dDYWxlbmRhcnMsXG4gICAgICBvcGVuczogdGhpcy5vcGVucyxcbiAgICAgIGRyb3BzOiB0aGlzLmRyb3BzLFxuICAgICAgaXNJbnZhbGlkRGF0ZTogdGhpcy5pc0ludmFsaWREYXRlLFxuICAgICAgcGFyZW50RWw6IHRoaXMucGFyZW50RWwsXG4gICAgICBsb2NhbGU6IHtcbiAgICAgICAgZm9ybWF0OiAnTU0vREQvWVlZWScsXG4gICAgICAgIHNlcGFyYXRvcjogJyAtICcsXG4gICAgICAgIGFwcGx5TGFiZWw6ICdBcHBseScsXG4gICAgICAgIGNhbmNlbExhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgZnJvbUxhYmVsOiAnRnJvbScsXG4gICAgICAgIHRvTGFiZWw6ICdUbycsXG4gICAgICAgIGN1c3RvbVJhbmdlTGFiZWw6ICdDdXN0b20nLFxuICAgICAgICB3ZWVrTGFiZWw6ICdXJyxcbiAgICAgICAgZGF5c09mV2VlazogWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddLFxuICAgICAgICBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSxcbiAgICAgICAgZmlyc3REYXk6IDBcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xlYW51cCBoYW5kbGVkIGJ5IGRpcmVjdGl2ZVxuICB9XG5cbiAgb25EYXRlc1VwZGF0ZWQoZXZlbnQ6IHsgc3RhcnREYXRlOiBEYXRlIHwgbnVsbDsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfSk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnREYXRlID0gZXZlbnQuc3RhcnREYXRlIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmVuZERhdGUgPSBldmVudC5lbmREYXRlIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHsgc3RhcnQ6IGV2ZW50LnN0YXJ0RGF0ZSwgZW5kOiBldmVudC5lbmREYXRlIH0pO1xuICAgIHRoaXMuZGF0ZXNVcGRhdGVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxDbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uQXBwbHkoZXZlbnQ6IHsgc3RhcnREYXRlOiBEYXRlIHwgbnVsbDsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfSk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogeyBzdGFydDogRGF0ZSB8IG51bGw7IGVuZDogRGF0ZSB8IG51bGwgfSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gdmFsdWUuc3RhcnQgfHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy5lbmREYXRlID0gdmFsdWUuZW5kIHx8IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydERhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmVuZERhdGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB7IHN0YXJ0OiBEYXRlIHwgbnVsbDsgZW5kOiBEYXRlIHwgbnVsbCB9IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgb3BlblBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG59XG5cbiJdfQ==
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBaUMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQTBEekUsTUFBTSxPQUFPLHdCQUF3QjtJQXZEckM7UUEwRFcsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU1qQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQWdDLFFBQVEsQ0FBQztRQUM5QyxVQUFLLEdBQTJCLE1BQU0sQ0FBQztRQUl0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvRCxDQUFDO1FBQ3BGLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvRCxDQUFDO1FBSTlGLGtCQUFhLEdBQTJCLEVBQUUsQ0FBQztRQUVuQyxhQUFRLEdBQUcsQ0FBQyxLQUFzRCxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUUsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQThFOUI7SUE1RUMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNoRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FB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T0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFFa0MsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSwgRGF0ZVJhbmdlUGlja2VyT3B0aW9ucyB9IGZyb20gJy4vZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1kYXRlcmFuZ2VwaWNrZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiPlxuICAgICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImZvcm0tbGFiZWwgY3FhLXRleHQtWyMzNzQxNTFdIGNxYS10ZXh0LVsxNHB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWJsb2NrIGNxYS1sZWFkaW5nLVsxLjRdIGNxYS1tYi0yXCI+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1kYXRlcmFuZ2VwaWNrZXItd3JhcHBlciBjcWEtdWktZGF0ZXJhbmdlLXBpY2tlclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtZGF0ZXJhbmdlcGlja2VyLWlucHV0XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJ1N0YXJ0IERhdGUgLSBFbmQgRGF0ZSdcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIGNxYURhdGVyYW5nZXBpY2tlclxuICAgICAgICAgIFtvcHRpb25zXT1cInBpY2tlck9wdGlvbnNcIlxuICAgICAgICAgIFtzdGFydERhdGVdPVwic3RhcnREYXRlXCJcbiAgICAgICAgICBbZW5kRGF0ZV09XCJlbmREYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cIm9uRGF0ZXNVcGRhdGVkKCRldmVudClcIlxuICAgICAgICAgIChjYW5jZWxDbGlja2VkKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgIChhcHBseUNsaWNrZWQpPVwib25BcHBseSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWRhdGVyYW5nZXBpY2tlci1pY29uXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlblBpY2tlcigpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIGRhdGUgcmFuZ2UgcGlja2VyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS4zMzM5OCAxLjMzMjAzVjMuOTk4N1wiIHN0cm9rZT1cIiMwQTBBMEFcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC42NjYgMS4zMzIwM1YzLjk5ODdcIiBzdHJva2U9XCIjMEEwQTBBXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjY2NjcgMi42Njc5N0gzLjMzMzMzQzIuNTk2OTUgMi42Njc5NyAyIDMuMjY0OTIgMiA0LjAwMTNWMTMuMzM0NkMyIDE0LjA3MSAyLjU5Njk1IDE0LjY2OCAzLjMzMzMzIDE0LjY2OEgxMi42NjY3QzEzLjQwMyAxNC42NjggMTQgMTQuMDcxIDE0IDEzLjMzNDZWNC4wMDEzQzE0IDMuMjY0OTIgMTMuNDAzIDIuNjY3OTcgMTIuNjY2NyAyLjY2Nzk3WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMEEwQTBBXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yIDYuNjY3OTdIMTRcIiBzdHJva2U9XCIjMEEwQTBBXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzdGFydERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBASW5wdXQoKSBlbmREYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgQElucHV0KCkgbWluRGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBASW5wdXQoKSByYW5nZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGF1dG9BcHBseSA9IGZhbHNlO1xuICBASW5wdXQoKSBhbHdheXNTaG93Q2FsZW5kYXJzID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9wZW5zOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgQElucHV0KCkgZHJvcHM6ICdkb3duJyB8ICd1cCcgfCAnYXV0bycgPSAnZG93bic7XG4gIEBJbnB1dCgpIGlzSW52YWxpZERhdGU/OiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcbiAgQElucHV0KCkgcGFyZW50RWw/OiBzdHJpbmcgfCBIVE1MRWxlbWVudDtcblxuICBAT3V0cHV0KCkgZGF0ZXNVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7IGVuZERhdGU6IERhdGUgfCBudWxsIH0+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYXBwbHlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7IGVuZERhdGU6IERhdGUgfCBudWxsIH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZiE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcGlja2VyT3B0aW9uczogRGF0ZVJhbmdlUGlja2VyT3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IHsgc3RhcnQ6IERhdGUgfCBudWxsOyBlbmQ6IERhdGUgfCBudWxsIH0gfCBudWxsKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBpY2tlck9wdGlvbnMgPSB7XG4gICAgICBzdGFydERhdGU6IHRoaXMuc3RhcnREYXRlID8gbmV3IERhdGUodGhpcy5zdGFydERhdGUpIDogdW5kZWZpbmVkLFxuICAgICAgZW5kRGF0ZTogdGhpcy5lbmREYXRlID8gbmV3IERhdGUodGhpcy5lbmREYXRlKSA6IHVuZGVmaW5lZCxcbiAgICAgIG1pbkRhdGU6IHRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkgOiB1bmRlZmluZWQsXG4gICAgICBtYXhEYXRlOiB0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpIDogdW5kZWZpbmVkLFxuICAgICAgcmFuZ2VzOiB0aGlzLnJhbmdlcyxcbiAgICAgIGF1dG9BcHBseTogdGhpcy5hdXRvQXBwbHksXG4gICAgICBhbHdheXNTaG93Q2FsZW5kYXJzOiB0aGlzLmFsd2F5c1Nob3dDYWxlbmRhcnMsXG4gICAgICBvcGVuczogdGhpcy5vcGVucyxcbiAgICAgIGRyb3BzOiB0aGlzLmRyb3BzLFxuICAgICAgaXNJbnZhbGlkRGF0ZTogdGhpcy5pc0ludmFsaWREYXRlLFxuICAgICAgcGFyZW50RWw6IHRoaXMucGFyZW50RWwsXG4gICAgICBsb2NhbGU6IHtcbiAgICAgICAgZm9ybWF0OiAnTU0vREQvWVlZWScsXG4gICAgICAgIHNlcGFyYXRvcjogJyAtICcsXG4gICAgICAgIGFwcGx5TGFiZWw6ICdBcHBseScsXG4gICAgICAgIGNhbmNlbExhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgZnJvbUxhYmVsOiAnRnJvbScsXG4gICAgICAgIHRvTGFiZWw6ICdUbycsXG4gICAgICAgIGN1c3RvbVJhbmdlTGFiZWw6ICdDdXN0b20nLFxuICAgICAgICB3ZWVrTGFiZWw6ICdXJyxcbiAgICAgICAgZGF5c09mV2VlazogWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddLFxuICAgICAgICBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSxcbiAgICAgICAgZmlyc3REYXk6IDBcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xlYW51cCBoYW5kbGVkIGJ5IGRpcmVjdGl2ZVxuICB9XG5cbiAgb25EYXRlc1VwZGF0ZWQoZXZlbnQ6IHsgc3RhcnREYXRlOiBEYXRlIHwgbnVsbDsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfSk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnREYXRlID0gZXZlbnQuc3RhcnREYXRlIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmVuZERhdGUgPSBldmVudC5lbmREYXRlIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHsgc3RhcnQ6IGV2ZW50LnN0YXJ0RGF0ZSwgZW5kOiBldmVudC5lbmREYXRlIH0pO1xuICAgIHRoaXMuZGF0ZXNVcGRhdGVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxDbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uQXBwbHkoZXZlbnQ6IHsgc3RhcnREYXRlOiBEYXRlIHwgbnVsbDsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfSk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogeyBzdGFydDogRGF0ZSB8IG51bGw7IGVuZDogRGF0ZSB8IG51bGwgfSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gdmFsdWUuc3RhcnQgfHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy5lbmREYXRlID0gdmFsdWUuZW5kIHx8IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydERhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmVuZERhdGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB7IHN0YXJ0OiBEYXRlIHwgbnVsbDsgZW5kOiBEYXRlIHwgbnVsbCB9IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgb3BlblBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG59XG5cbiJdfQ==
@@ -78,11 +78,8 @@ export class DaterangepickerDirective {
78
78
  console.error('moment.js must be loaded for daterangepicker to work');
79
79
  return;
80
80
  }
81
- // Resolve parent element to scope styles; default to closest .cqa-ui-daterange-picker, fallback to body.
82
- const parentElCandidate = $(this.el.nativeElement).closest('.cqa-ui-daterange-picker');
83
- const resolvedParentEl = this.options?.parentEl
84
- ? this.options.parentEl
85
- : (parentElCandidate && parentElCandidate.length ? parentElCandidate : 'body');
81
+ // Resolve parent element to scope styles; allow override via options.parentEl, else use body.
82
+ const resolvedParentEl = this.options?.parentEl || 'body';
86
83
  const baseOptions = {
87
84
  opens: 'left',
88
85
  drops: 'down',
@@ -319,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
319
316
  }], applyClicked: [{
320
317
  type: Output
321
318
  }] } });
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUErQyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8saUJBQWlCLENBQUM7O0FBRXpCLDBFQUEwRTtBQUMxRSxNQUFNLENBQUMsR0FBUyxNQUFjLENBQUMsT0FBTyxJQUFLLE1BQWMsQ0FBQztBQUMxRCxNQUFNLE1BQU0sR0FBUyxZQUFvQixDQUFDLE9BQU8sSUFBSyxZQUFvQixDQUFDO0FBRTNFLDBFQUEwRTtBQUMxRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNoQyxNQUFjLENBQUMsTUFBTSxHQUFJLE1BQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQWMsQ0FBQyxDQUFDLEdBQUksTUFBYyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsTUFBYyxDQUFDLE1BQU0sR0FBSSxNQUFjLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQztDQUMzRDtBQXlDRCxNQUFNLE9BQU8sd0JBQXdCO0lBc0NuQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJDekIsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFLcEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBb0QsQ0FBQztRQUNwRixrQkFBYSxHQUFHLElBQUks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QUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSx3QkFBd0I7a0JBVnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjtpR0FFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBqcXVlcnkgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCAqIGFzIG1vbWVudEltcG9ydCBmcm9tICdtb21lbnQnO1xuaW1wb3J0ICdkYXRlcmFuZ2VwaWNrZXInO1xuXG4vLyBOb3JtYWxpemUgbW9kdWxlIGRlZmF1bHQvbmFtZXNwYWNlIGludGVyb3AgZm9yIGJvdGggRVNNIGFuZCBDSlMgYnVpbGRzLlxuY29uc3QgJDogYW55ID0gKGpxdWVyeSBhcyBhbnkpLmRlZmF1bHQgfHwgKGpxdWVyeSBhcyBhbnkpO1xuY29uc3QgbW9tZW50OiBhbnkgPSAobW9tZW50SW1wb3J0IGFzIGFueSkuZGVmYXVsdCB8fCAobW9tZW50SW1wb3J0IGFzIGFueSk7XG5cbi8vIEVuc3VyZSBnbG9iYWxzIGFyZSBwcmVzZW50IGZvciB0aGUgZGF0ZXJhbmdlcGlja2VyIHBsdWdpbiByZWdpc3RyYXRpb24uXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgKHdpbmRvdyBhcyBhbnkpLmpRdWVyeSA9ICh3aW5kb3cgYXMgYW55KS5qUXVlcnkgfHwgJDtcbiAgKHdpbmRvdyBhcyBhbnkpLiQgPSAod2luZG93IGFzIGFueSkuJCB8fCAkO1xuICAod2luZG93IGFzIGFueSkubW9tZW50ID0gKHdpbmRvdyBhcyBhbnkpLm1vbWVudCB8fCBtb21lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVJhbmdlUGlja2VyT3B0aW9ucyB7XG4gIHN0YXJ0RGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIGVuZERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBtaW5EYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgbWF4RGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIGxvY2FsZT86IGFueTtcbiAgcmFuZ2VzPzogYW55O1xuICBvcGVucz86ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJztcbiAgZHJvcHM/OiAnZG93bicgfCAndXAnIHwgJ2F1dG8nO1xuICBidXR0b25DbGFzc2VzPzogc3RyaW5nO1xuICBhcHBseUJ1dHRvbkNsYXNzZXM/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvbkNsYXNzZXM/OiBzdHJpbmc7XG4gIGF1dG9BcHBseT86IGJvb2xlYW47XG4gIGFsd2F5c1Nob3dDYWxlbmRhcnM/OiBib29sZWFuO1xuICBzaG93RHJvcGRvd25zPzogYm9vbGVhbjtcbiAgc2hvd1dlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgc2hvd0lTT1dlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgc2luZ2xlRGF0ZVBpY2tlcj86IGJvb2xlYW47XG4gIHRpbWVQaWNrZXI/OiBib29sZWFuO1xuICB0aW1lUGlja2VyMjRIb3VyPzogYm9vbGVhbjtcbiAgdGltZVBpY2tlckluY3JlbWVudD86IG51bWJlcjtcbiAgdGltZVBpY2tlclNlY29uZHM/OiBib29sZWFuO1xuICBsaW5rZWRDYWxlbmRhcnM/OiBib29sZWFuO1xuICBhdXRvVXBkYXRlSW5wdXQ/OiBib29sZWFuO1xuICBpc0ludmFsaWREYXRlPzogKGRhdGU6IERhdGUpID0+IGJvb2xlYW47XG4gIGlzQ3VzdG9tRGF0ZT86IChkYXRlOiBEYXRlKSA9PiBzdHJpbmcgfCBib29sZWFuO1xuICBwYXJlbnRFbD86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY3FhRGF0ZXJhbmdlcGlja2VyXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgb3B0aW9uczogRGF0ZVJhbmdlUGlja2VyT3B0aW9ucyA9IHt9O1xuICBASW5wdXQoKSBzdGFydERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBASW5wdXQoKSBlbmREYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgQElucHV0KCkgbWluRGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBAT3V0cHV0KCkgZGF0ZXNVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7IGVuZERhdGU6IERhdGUgfCBudWxsIH0+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYXBwbHlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGw7IGVuZERhdGU6IERhdGUgfCBudWxsIH0+KCk7XG5cbiAgcHJpdmF0ZSBwaWNrZXJJbnN0YW5jZTogYW55O1xuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBTYWZlbHkgdXBkYXRlIHRoZSBpbnB1dCB0ZXh0IHRvIGF2b2lkIFwiSW52YWxpZCBkYXRlXCIgb3IgXCJ1bmRlZmluZWRcIiBzdHJpbmdzLlxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVJbnB1dFZhbHVlKHN0YXJ0OiBhbnksIGVuZDogYW55KTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiAod2luZG93IGFzIGFueSkubW9tZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIGNvbnN0IG0gPSAod2luZG93IGFzIGFueSkubW9tZW50O1xuICAgIGNvbnN0IGZvcm1hdCA9ICh0aGlzLm9wdGlvbnM/LmxvY2FsZSAmJiB0aGlzLm9wdGlvbnMubG9jYWxlLmZvcm1hdCkgfHwgJ01NL0REL1lZWVknO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9ICh0aGlzLm9wdGlvbnM/LmxvY2FsZSAmJiB0aGlzLm9wdGlvbnMubG9jYWxlLnNlcGFyYXRvcikgfHwgJyAtICc7XG5cbiAgICBjb25zdCBoYXNTdGFydCA9IHN0YXJ0ICYmIG0uaXNNb21lbnQoc3RhcnQpO1xuICAgIGNvbnN0IGhhc0VuZCA9IGVuZCAmJiBtLmlzTW9tZW50KGVuZCk7XG5cbiAgICBpZiAoaGFzU3RhcnQgJiYgaGFzRW5kKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0ZXh0ID0gYCR7c3RhcnQuZm9ybWF0KGZvcm1hdCl9JHtzZXBhcmF0b3J9JHtlbmQuZm9ybWF0KGZvcm1hdCl9YDtcbiAgICAgICAgJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLnZhbCh0ZXh0KTtcbiAgICAgIH0gY2F0Y2gge31cbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLnZhbCgnJyk7XG4gICAgICB9IGNhdGNoIHt9XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXREYXRlcmFuZ2VwaWNrZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5waWNrZXJJbnN0YW5jZSkge1xuICAgICAgaWYgKGNoYW5nZXNbJ3N0YXJ0RGF0ZSddIHx8IGNoYW5nZXNbJ2VuZERhdGUnXSkge1xuICAgICAgICB0aGlzLnVwZGF0ZURhdGVzKCk7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snbWluRGF0ZSddIHx8IGNoYW5nZXNbJ21heERhdGUnXSkge1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbk1heERhdGVzKCk7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snb3B0aW9ucyddKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveVBpY2tlcigpO1xuICAgICAgICB0aGlzLmluaXREYXRlcmFuZ2VwaWNrZXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lQaWNrZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERhdGVyYW5nZXBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mICQgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiAoJC5mbiBhcyBhbnkpLmRhdGVyYW5nZXBpY2tlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2pRdWVyeSBhbmQgZGF0ZXJhbmdlcGlja2VyIG11c3QgYmUgbG9hZGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgbW9tZW50LmpzIGlzIGF2YWlsYWJsZVxuICAgIGlmICh0eXBlb2YgKHdpbmRvdyBhcyBhbnkpLm1vbWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ21vbWVudC5qcyBtdXN0IGJlIGxvYWRlZCBmb3IgZGF0ZXJhbmdlcGlja2VyIHRvIHdvcmsnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBSZXNvbHZlIHBhcmVudCBlbGVtZW50IHRvIHNjb3BlIHN0eWxlczsgZGVmYXVsdCB0byBjbG9zZXN0IC5jcWEtdWktZGF0ZXJhbmdlLXBpY2tlciwgZmFsbGJhY2sgdG8gYm9keS5cbiAgICBjb25zdCBwYXJlbnRFbENhbmRpZGF0ZSA9ICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KS5jbG9zZXN0KCcuY3FhLXVpLWRhdGVyYW5nZS1waWNrZXInKTtcbiAgICBjb25zdCByZXNvbHZlZFBhcmVudEVsID0gdGhpcy5vcHRpb25zPy5wYXJlbnRFbFxuICAgICAgPyB0aGlzLm9wdGlvbnMucGFyZW50RWxcbiAgICAgIDogKHBhcmVudEVsQ2FuZGlkYXRlICYmIHBhcmVudEVsQ2FuZGlkYXRlLmxlbmd0aCA/IHBhcmVudEVsQ2FuZGlkYXRlIDogJ2JvZHknKTtcblxuICAgIGNvbnN0IGJhc2VPcHRpb25zOiBEYXRlUmFuZ2VQaWNrZXJPcHRpb25zID0ge1xuICAgICAgb3BlbnM6ICdsZWZ0JyxcbiAgICAgIGRyb3BzOiAnZG93bicsXG4gICAgICBhdXRvQXBwbHk6IHRydWUsXG4gICAgICBhdXRvVXBkYXRlSW5wdXQ6IGZhbHNlLCAvLyB3ZSBtYW5hZ2UgdGhlIGlucHV0IG91cnNlbHZlcyB0byBwcmV2ZW50IFwiSW52YWxpZCBkYXRlXCJcbiAgICAgIGxvY2FsZToge1xuICAgICAgICBmb3JtYXQ6ICdNTS9ERC9ZWVlZJyxcbiAgICAgICAgc2VwYXJhdG9yOiAnIC0gJyxcbiAgICAgICAgYXBwbHlMYWJlbDogJ0FwcGx5JyxcbiAgICAgICAgY2FuY2VsTGFiZWw6ICdDYW5jZWwnLFxuICAgICAgICBmcm9tTGFiZWw6ICdGcm9tJyxcbiAgICAgICAgdG9MYWJlbDogJ1RvJyxcbiAgICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogJ0N1c3RvbScsXG4gICAgICAgIHdlZWtMYWJlbDogJ1cnLFxuICAgICAgICBkYXlzT2ZXZWVrOiBbJ1N1JywgJ01vJywgJ1R1JywgJ1dlJywgJ1RoJywgJ0ZyJywgJ1NhJ10sXG4gICAgICAgIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLFxuICAgICAgICBmaXJzdERheTogMFxuICAgICAgfSxcbiAgICAgIHBhcmVudEVsOiByZXNvbHZlZFBhcmVudEVsIGFzIGFueVxuICAgIH07XG5cbiAgICAvLyBNZXJnZSBvcHRpb25zIGJ1dCBmb3JjZS1kaXNhYmxlIHBsdWdpbiBhdXRvVXBkYXRlSW5wdXQgdG8gYXZvaWQgaW52YWxpZCB2YWx1ZXMuXG4gICAgY29uc3QgZGVmYXVsdE9wdGlvbnM6IERhdGVSYW5nZVBpY2tlck9wdGlvbnMgPSB7XG4gICAgICAuLi5iYXNlT3B0aW9ucyxcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIGxvY2FsZToge1xuICAgICAgICAuLi5iYXNlT3B0aW9ucy5sb2NhbGUsXG4gICAgICAgIC4uLih0aGlzLm9wdGlvbnM/LmxvY2FsZSB8fCB7fSlcbiAgICAgIH0sXG4gICAgICBhdXRvVXBkYXRlSW5wdXQ6IGZhbHNlXG4gICAgfTtcblxuICAgIC8vIENvbnZlcnQgRGF0ZSBvYmplY3RzIHRvIG1vbWVudCBvYmplY3RzIGZvciBkYXRlcmFuZ2VwaWNrZXJcbiAgICBjb25zdCB0b01vbWVudCA9IChkOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGFueSA9PiB7XG4gICAgICBpZiAoIWQpIHJldHVybiBudWxsO1xuICAgICAgaWYgKHR5cGVvZiBkID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBsb3dlciA9IGQudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChsb3dlciA9PT0gJ3VuZGVmaW5lZCcgfHwgbG93ZXIgPT09ICdudWxsJyB8fCBsb3dlciA9PT0gJycpIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKG1vbWVudC5pc01vbWVudCAmJiBtb21lbnQuaXNNb21lbnQoZCkpIHJldHVybiBkO1xuICAgICAgY29uc3QgZGF0ZSA9IHR5cGVvZiBkID09PSAnc3RyaW5nJyA/IG5ldyBEYXRlKGQpIDogZDtcbiAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIFxuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gdG9Nb21lbnQodGhpcy5zdGFydERhdGUpO1xuICAgIGNvbnN0IGVuZE1vbWVudCA9IHRvTW9tZW50KHRoaXMuZW5kRGF0ZSk7XG4gICAgY29uc3QgbWluTW9tZW50ID0gdG9Nb21lbnQodGhpcy5taW5EYXRlKTtcbiAgICBjb25zdCBtYXhNb21lbnQgPSB0b01vbWVudCh0aGlzLm1heERhdGUpO1xuICAgIFxuICAgIGlmIChzdGFydE1vbWVudCkgZGVmYXVsdE9wdGlvbnMuc3RhcnREYXRlID0gc3RhcnRNb21lbnQ7XG4gICAgaWYgKGVuZE1vbWVudCkgZGVmYXVsdE9wdGlvbnMuZW5kRGF0ZSA9IGVuZE1vbWVudDtcbiAgICBpZiAobWluTW9tZW50KSBkZWZhdWx0T3B0aW9ucy5taW5EYXRlID0gbWluTW9tZW50O1xuICAgIGlmIChtYXhNb21lbnQpIGRlZmF1bHRPcHRpb25zLm1heERhdGUgPSBtYXhNb21lbnQ7XG5cbiAgICAvLyBJZiBubyBpbml0aWFsIGRhdGVzLCBlbnN1cmUgdGhlIGlucHV0IGlzIGJsYW5rIGJlZm9yZSBwbHVnaW4gaW5pdC5cbiAgICBpZiAoIXN0YXJ0TW9tZW50ICYmICFlbmRNb21lbnQpIHtcbiAgICAgIHRyeSB7ICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KS52YWwoJycpOyB9IGNhdGNoIHt9XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgcGlja2VyXG4gICAgJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLmRhdGVyYW5nZXBpY2tlcihkZWZhdWx0T3B0aW9ucywgKHN0YXJ0OiBhbnksIGVuZDogYW55LCBsYWJlbDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGUgPSBzdGFydCA/IHN0YXJ0LnRvRGF0ZSgpIDogbnVsbDtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmQgPyBlbmQudG9EYXRlKCkgOiBudWxsO1xuICAgICAgXG4gICAgICB0aGlzLm9uQ2hhbmdlKHsgc3RhcnQ6IHN0YXJ0RGF0ZSwgZW5kOiBlbmREYXRlIH0pO1xuICAgICAgdGhpcy5kYXRlc1VwZGF0ZWQuZW1pdCh7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9KTtcbiAgICAgIHRoaXMuYXBwbHlDbGlja2VkLmVtaXQoeyBzdGFydERhdGUsIGVuZERhdGUgfSk7XG4gICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoc3RhcnQsIGVuZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnBpY2tlckluc3RhbmNlID0gJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLmRhdGEoJ2RhdGVyYW5nZXBpY2tlcicpO1xuXG4gICAgLy8gRW5zdXJlIHRoZSBvdmVybGF5IGdldHMgdGhlIHN0eWxpbmcgc2NvcGUgY2xhc3MgaWYgbm90IGFscmVhZHkgcHJlc2VudC5cbiAgICBpZiAodGhpcy5waWNrZXJJbnN0YW5jZT8uY29udGFpbmVyKSB7XG4gICAgICBjb25zdCBjID0gdGhpcy5waWNrZXJJbnN0YW5jZS5jb250YWluZXI7XG4gICAgICBpZiAoIWMuaGFzQ2xhc3MoJ2NxYS11aS1kYXRlcmFuZ2UtcGlja2VyJykpIHtcbiAgICAgICAgYy5hZGRDbGFzcygnY3FhLXVpLWRhdGVyYW5nZS1waWNrZXInKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgY2FuY2VsIGV2ZW50XG4gICAgJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLm9uKCdjYW5jZWwuZGF0ZXJhbmdlcGlja2VyJywgKCkgPT4ge1xuICAgICAgdGhpcy5jYW5jZWxDbGlja2VkLmVtaXQoKTtcbiAgICAgIHRoaXMudXBkYXRlSW5wdXRWYWx1ZShudWxsLCBudWxsKTtcbiAgICB9KTtcblxuICAgIC8vIFVwZGF0ZSBpbml0aWFsIHZhbHVlIGlmIHByb3ZpZGVkXG4gICAgdGhpcy51cGRhdGVEYXRlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEYXRlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGlja2VySW5zdGFuY2UpIHJldHVybjtcbiAgICBpZiAodHlwZW9mICh3aW5kb3cgYXMgYW55KS5tb21lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG5cbiAgICBjb25zdCBtb21lbnQgPSAod2luZG93IGFzIGFueSkubW9tZW50O1xuICAgIFxuICAgIC8vIENvbnZlcnQgRGF0ZSBvYmplY3RzIHRvIG1vbWVudCBvYmplY3RzXG4gICAgY29uc3QgdG9Nb21lbnQgPSAoZDogRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBhbnkgPT4ge1xuICAgICAgaWYgKCFkKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmICh0eXBlb2YgZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG93ZXIgPSBkLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAobG93ZXIgPT09ICd1bmRlZmluZWQnIHx8IGxvd2VyID09PSAnbnVsbCcgfHwgbG93ZXIgPT09ICcnKSByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChtb21lbnQuaXNNb21lbnQgJiYgbW9tZW50LmlzTW9tZW50KGQpKSByZXR1cm4gZDtcbiAgICAgIGNvbnN0IGRhdGUgPSB0eXBlb2YgZCA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZShkKSA6IGQ7XG4gICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgICBcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IHRvTW9tZW50KHRoaXMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmRNb21lbnQgPSB0b01vbWVudCh0aGlzLmVuZERhdGUpO1xuICAgIFxuICAgIGlmIChzdGFydE1vbWVudCkge1xuICAgICAgdGhpcy5waWNrZXJJbnN0YW5jZS5zZXRTdGFydERhdGUoc3RhcnRNb21lbnQpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoZW5kTW9tZW50KSB7XG4gICAgICB0aGlzLnBpY2tlckluc3RhbmNlLnNldEVuZERhdGUoZW5kTW9tZW50KTtcbiAgICB9XG4gICAgXG4gICAgLy8gVXBkYXRlIGlucHV0IHRleHQgdG8gcmVmbGVjdCBjdXJyZW50IHZhbHVlc1xuICAgIHRoaXMudXBkYXRlSW5wdXRWYWx1ZShzdGFydE1vbWVudCwgZW5kTW9tZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWluTWF4RGF0ZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBpY2tlckluc3RhbmNlKSByZXR1cm47XG4gICAgaWYgKHR5cGVvZiAod2luZG93IGFzIGFueSkubW9tZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuXG4gICAgY29uc3QgbW9tZW50ID0gKHdpbmRvdyBhcyBhbnkpLm1vbWVudDtcbiAgICBcbiAgICAvLyBDb252ZXJ0IERhdGUgb2JqZWN0cyB0byBtb21lbnQgb2JqZWN0c1xuICAgIGNvbnN0IHRvTW9tZW50ID0gKGQ6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYW55ID0+IHtcbiAgICAgIGlmICghZCkgcmV0dXJuIG51bGw7XG4gICAgICBpZiAobW9tZW50LmlzTW9tZW50ICYmIG1vbWVudC5pc01vbWVudChkKSkgcmV0dXJuIGQ7XG4gICAgICBjb25zdCBkYXRlID0gdHlwZW9mIGQgPT09ICdzdHJpbmcnID8gbmV3IERhdGUoZCkgOiBkO1xuICAgICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gICAgXG4gICAgY29uc3QgbWluTW9tZW50ID0gdG9Nb21lbnQodGhpcy5taW5EYXRlKTtcbiAgICBjb25zdCBtYXhNb21lbnQgPSB0b01vbWVudCh0aGlzLm1heERhdGUpO1xuICAgIFxuICAgIGlmIChtaW5Nb21lbnQpIHtcbiAgICAgIHRoaXMucGlja2VySW5zdGFuY2Uuc2V0TWluRGF0ZShtaW5Nb21lbnQpO1xuICAgIH1cbiAgICBpZiAobWF4TW9tZW50KSB7XG4gICAgICB0aGlzLnBpY2tlckluc3RhbmNlLnNldE1heERhdGUobWF4TW9tZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lQaWNrZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGlja2VySW5zdGFuY2UgJiYgdHlwZW9mICQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAkKHRoaXMuZWwubmF0aXZlRWxlbWVudCkub2ZmKCdjYW5jZWwuZGF0ZXJhbmdlcGlja2VyJyk7XG4gICAgICAkKHRoaXMuZWwubmF0aXZlRWxlbWVudCkuZGF0YSgnZGF0ZXJhbmdlcGlja2VyJyk/LnJlbW92ZSgpO1xuICAgICAgdGhpcy5waWNrZXJJbnN0YW5jZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogeyBzdGFydDogRGF0ZSB8IG51bGw7IGVuZDogRGF0ZSB8IG51bGwgfSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgKHZhbHVlLnN0YXJ0IHx8IHZhbHVlLmVuZCkpIHtcbiAgICAgIC8vIFZhbGlkYXRlIGRhdGVzIGJlZm9yZSBzZXR0aW5nXG4gICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9IChkOiBEYXRlIHwgbnVsbCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gZCAhPT0gbnVsbCAmJiBkIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZC5nZXRUaW1lKCkpO1xuICAgICAgfTtcbiAgICAgIFxuICAgICAgdGhpcy5zdGFydERhdGUgPSAodmFsdWUuc3RhcnQgJiYgaXNWYWxpZERhdGUodmFsdWUuc3RhcnQpKSA/IHZhbHVlLnN0YXJ0IDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5lbmREYXRlID0gKHZhbHVlLmVuZCAmJiBpc1ZhbGlkRGF0ZSh2YWx1ZS5lbmQpKSA/IHZhbHVlLmVuZCA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXBkYXRlRGF0ZXMoKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBudWxsIHx8ICh2YWx1ZSAmJiAhdmFsdWUuc3RhcnQgJiYgIXZhbHVlLmVuZCkpIHtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5lbmREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKHRoaXMucGlja2VySW5zdGFuY2UpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBtID0gKHdpbmRvdyBhcyBhbnkpLm1vbWVudDtcbiAgICAgICAgICBpZiAobSkge1xuICAgICAgICAgICAgLy8gUmVzZXQgcGlja2VyIGludGVybmFscyB0byBhIHNhZmUgdmFsdWUgaW5zdGVhZCBvZiBudWxsIHRvIGF2b2lkIFwiSW52YWxpZCBkYXRlXCJcbiAgICAgICAgICAgIHRoaXMucGlja2VySW5zdGFuY2Uuc2V0U3RhcnREYXRlKG0oKSk7XG4gICAgICAgICAgICB0aGlzLnBpY2tlckluc3RhbmNlLnNldEVuZERhdGUobSgpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKG51bGwsIG51bGwpO1xuICAgICAgICB9IGNhdGNoIHt9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4iXX0=
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmlsdGVycy9kYXRlcmFuZ2VwaWNrZXIvZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUErQyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8saUJBQWlCLENBQUM7O0FBRXpCLDBFQUEwRTtBQUMxRSxNQUFNLENBQUMsR0FBUyxNQUFjLENBQUMsT0FBTyxJQUFLLE1BQWMsQ0FBQztBQUMxRCxNQUFNLE1BQU0sR0FBUyxZQUFvQixDQUFDLE9BQU8sSUFBSyxZQUFvQixDQUFDO0FBRTNFLDBFQUEwRTtBQUMxRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNoQyxNQUFjLENBQUMsTUFBTSxHQUFJLE1BQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQWMsQ0FBQyxDQUFDLEdBQUksTUFBYyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsTUFBYyxDQUFDLE1BQU0sR0FBSSxNQUFjLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQztDQUMzRDtBQXlDRCxNQUFNLE9BQU8sd0JBQXdCO0lBc0NuQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJDekIsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFLcEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBb0QsQ0FBQztRQUNwRixrQkFBYSxHQUFHLElBQUks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O2lCQUNGO2lHQUVVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIGpxdWVyeSBmcm9tICdqcXVlcnknO1xuaW1wb3J0ICogYXMgbW9tZW50SW1wb3J0IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgJ2RhdGVyYW5nZXBpY2tlcic7XG5cbi8vIE5vcm1hbGl6ZSBtb2R1bGUgZGVmYXVsdC9uYW1lc3BhY2UgaW50ZXJvcCBmb3IgYm90aCBFU00gYW5kIENKUyBidWlsZHMuXG5jb25zdCAkOiBhbnkgPSAoanF1ZXJ5IGFzIGFueSkuZGVmYXVsdCB8fCAoanF1ZXJ5IGFzIGFueSk7XG5jb25zdCBtb21lbnQ6IGFueSA9IChtb21lbnRJbXBvcnQgYXMgYW55KS5kZWZhdWx0IHx8IChtb21lbnRJbXBvcnQgYXMgYW55KTtcblxuLy8gRW5zdXJlIGdsb2JhbHMgYXJlIHByZXNlbnQgZm9yIHRoZSBkYXRlcmFuZ2VwaWNrZXIgcGx1Z2luIHJlZ2lzdHJhdGlvbi5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAod2luZG93IGFzIGFueSkualF1ZXJ5ID0gKHdpbmRvdyBhcyBhbnkpLmpRdWVyeSB8fCAkO1xuICAod2luZG93IGFzIGFueSkuJCA9ICh3aW5kb3cgYXMgYW55KS4kIHx8ICQ7XG4gICh3aW5kb3cgYXMgYW55KS5tb21lbnQgPSAod2luZG93IGFzIGFueSkubW9tZW50IHx8IG1vbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlUmFuZ2VQaWNrZXJPcHRpb25zIHtcbiAgc3RhcnREYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgZW5kRGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIG1pbkRhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBtYXhEYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgbG9jYWxlPzogYW55O1xuICByYW5nZXM/OiBhbnk7XG4gIG9wZW5zPzogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuICBkcm9wcz86ICdkb3duJyB8ICd1cCcgfCAnYXV0byc7XG4gIGJ1dHRvbkNsYXNzZXM/OiBzdHJpbmc7XG4gIGFwcGx5QnV0dG9uQ2xhc3Nlcz86IHN0cmluZztcbiAgY2FuY2VsQnV0dG9uQ2xhc3Nlcz86IHN0cmluZztcbiAgYXV0b0FwcGx5PzogYm9vbGVhbjtcbiAgYWx3YXlzU2hvd0NhbGVuZGFycz86IGJvb2xlYW47XG4gIHNob3dEcm9wZG93bnM/OiBib29sZWFuO1xuICBzaG93V2Vla051bWJlcnM/OiBib29sZWFuO1xuICBzaG93SVNPV2Vla051bWJlcnM/OiBib29sZWFuO1xuICBzaW5nbGVEYXRlUGlja2VyPzogYm9vbGVhbjtcbiAgdGltZVBpY2tlcj86IGJvb2xlYW47XG4gIHRpbWVQaWNrZXIyNEhvdXI/OiBib29sZWFuO1xuICB0aW1lUGlja2VySW5jcmVtZW50PzogbnVtYmVyO1xuICB0aW1lUGlja2VyU2Vjb25kcz86IGJvb2xlYW47XG4gIGxpbmtlZENhbGVuZGFycz86IGJvb2xlYW47XG4gIGF1dG9VcGRhdGVJbnB1dD86IGJvb2xlYW47XG4gIGlzSW52YWxpZERhdGU/OiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcbiAgaXNDdXN0b21EYXRlPzogKGRhdGU6IERhdGUpID0+IHN0cmluZyB8IGJvb2xlYW47XG4gIHBhcmVudEVsPzogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjcWFEYXRlcmFuZ2VwaWNrZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBvcHRpb25zOiBEYXRlUmFuZ2VQaWNrZXJPcHRpb25zID0ge307XG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGVuZERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICBASW5wdXQoKSBtaW5EYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgQElucHV0KCkgbWF4RGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIEBPdXRwdXQoKSBkYXRlc1VwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhcnREYXRlOiBEYXRlIHwgbnVsbDsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfT4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBhcHBseUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhcnREYXRlOiBEYXRlIHwgbnVsbDsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfT4oKTtcblxuICBwcml2YXRlIHBpY2tlckluc3RhbmNlOiBhbnk7XG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIFNhZmVseSB1cGRhdGUgdGhlIGlucHV0IHRleHQgdG8gYXZvaWQgXCJJbnZhbGlkIGRhdGVcIiBvciBcInVuZGVmaW5lZFwiIHN0cmluZ3MuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUlucHV0VmFsdWUoc3RhcnQ6IGFueSwgZW5kOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mICh3aW5kb3cgYXMgYW55KS5tb21lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgY29uc3QgbSA9ICh3aW5kb3cgYXMgYW55KS5tb21lbnQ7XG4gICAgY29uc3QgZm9ybWF0ID0gKHRoaXMub3B0aW9ucz8ubG9jYWxlICYmIHRoaXMub3B0aW9ucy5sb2NhbGUuZm9ybWF0KSB8fCAnTU0vREQvWVlZWSc7XG4gICAgY29uc3Qgc2VwYXJhdG9yID0gKHRoaXMub3B0aW9ucz8ubG9jYWxlICYmIHRoaXMub3B0aW9ucy5sb2NhbGUuc2VwYXJhdG9yKSB8fCAnIC0gJztcblxuICAgIGNvbnN0IGhhc1N0YXJ0ID0gc3RhcnQgJiYgbS5pc01vbWVudChzdGFydCk7XG4gICAgY29uc3QgaGFzRW5kID0gZW5kICYmIG0uaXNNb21lbnQoZW5kKTtcblxuICAgIGlmIChoYXNTdGFydCAmJiBoYXNFbmQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRleHQgPSBgJHtzdGFydC5mb3JtYXQoZm9ybWF0KX0ke3NlcGFyYXRvcn0ke2VuZC5mb3JtYXQoZm9ybWF0KX1gO1xuICAgICAgICAkKHRoaXMuZWwubmF0aXZlRWxlbWVudCkudmFsKHRleHQpO1xuICAgICAgfSBjYXRjaCB7fVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICAkKHRoaXMuZWwubmF0aXZlRWxlbWVudCkudmFsKCcnKTtcbiAgICAgIH0gY2F0Y2gge31cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdERhdGVyYW5nZXBpY2tlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBpY2tlckluc3RhbmNlKSB7XG4gICAgICBpZiAoY2hhbmdlc1snc3RhcnREYXRlJ10gfHwgY2hhbmdlc1snZW5kRGF0ZSddKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRGF0ZXMoKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2VzWydtaW5EYXRlJ10gfHwgY2hhbmdlc1snbWF4RGF0ZSddKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWluTWF4RGF0ZXMoKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2VzWydvcHRpb25zJ10pIHtcbiAgICAgICAgdGhpcy5kZXN0cm95UGlja2VyKCk7XG4gICAgICAgIHRoaXMuaW5pdERhdGVyYW5nZXBpY2tlcigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVBpY2tlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RGF0ZXJhbmdlcGlja2VyKCk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgJCA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mICgkLmZuIGFzIGFueSkuZGF0ZXJhbmdlcGlja2VyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcignalF1ZXJ5IGFuZCBkYXRlcmFuZ2VwaWNrZXIgbXVzdCBiZSBsb2FkZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiBtb21lbnQuanMgaXMgYXZhaWxhYmxlXG4gICAgaWYgKHR5cGVvZiAod2luZG93IGFzIGFueSkubW9tZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcignbW9tZW50LmpzIG11c3QgYmUgbG9hZGVkIGZvciBkYXRlcmFuZ2VwaWNrZXIgdG8gd29yaycpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgcGFyZW50IGVsZW1lbnQgdG8gc2NvcGUgc3R5bGVzOyBhbGxvdyBvdmVycmlkZSB2aWEgb3B0aW9ucy5wYXJlbnRFbCwgZWxzZSB1c2UgYm9keS5cbiAgICBjb25zdCByZXNvbHZlZFBhcmVudEVsID0gdGhpcy5vcHRpb25zPy5wYXJlbnRFbCB8fCAnYm9keSc7XG5cbiAgICBjb25zdCBiYXNlT3B0aW9uczogRGF0ZVJhbmdlUGlja2VyT3B0aW9ucyA9IHtcbiAgICAgIG9wZW5zOiAnbGVmdCcsXG4gICAgICBkcm9wczogJ2Rvd24nLFxuICAgICAgYXV0b0FwcGx5OiB0cnVlLFxuICAgICAgYXV0b1VwZGF0ZUlucHV0OiBmYWxzZSwgLy8gd2UgbWFuYWdlIHRoZSBpbnB1dCBvdXJzZWx2ZXMgdG8gcHJldmVudCBcIkludmFsaWQgZGF0ZVwiXG4gICAgICBsb2NhbGU6IHtcbiAgICAgICAgZm9ybWF0OiAnTU0vREQvWVlZWScsXG4gICAgICAgIHNlcGFyYXRvcjogJyAtICcsXG4gICAgICAgIGFwcGx5TGFiZWw6ICdBcHBseScsXG4gICAgICAgIGNhbmNlbExhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgZnJvbUxhYmVsOiAnRnJvbScsXG4gICAgICAgIHRvTGFiZWw6ICdUbycsXG4gICAgICAgIGN1c3RvbVJhbmdlTGFiZWw6ICdDdXN0b20nLFxuICAgICAgICB3ZWVrTGFiZWw6ICdXJyxcbiAgICAgICAgZGF5c09mV2VlazogWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddLFxuICAgICAgICBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSxcbiAgICAgICAgZmlyc3REYXk6IDBcbiAgICAgIH0sXG4gICAgICBwYXJlbnRFbDogcmVzb2x2ZWRQYXJlbnRFbCBhcyBhbnlcbiAgICB9O1xuXG4gICAgLy8gTWVyZ2Ugb3B0aW9ucyBidXQgZm9yY2UtZGlzYWJsZSBwbHVnaW4gYXV0b1VwZGF0ZUlucHV0IHRvIGF2b2lkIGludmFsaWQgdmFsdWVzLlxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBEYXRlUmFuZ2VQaWNrZXJPcHRpb25zID0ge1xuICAgICAgLi4uYmFzZU9wdGlvbnMsXG4gICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICBsb2NhbGU6IHtcbiAgICAgICAgLi4uYmFzZU9wdGlvbnMubG9jYWxlLFxuICAgICAgICAuLi4odGhpcy5vcHRpb25zPy5sb2NhbGUgfHwge30pXG4gICAgICB9LFxuICAgICAgYXV0b1VwZGF0ZUlucHV0OiBmYWxzZVxuICAgIH07XG5cbiAgICAvLyBDb252ZXJ0IERhdGUgb2JqZWN0cyB0byBtb21lbnQgb2JqZWN0cyBmb3IgZGF0ZXJhbmdlcGlja2VyXG4gICAgY29uc3QgdG9Nb21lbnQgPSAoZDogRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBhbnkgPT4ge1xuICAgICAgaWYgKCFkKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmICh0eXBlb2YgZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG93ZXIgPSBkLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAobG93ZXIgPT09ICd1bmRlZmluZWQnIHx8IGxvd2VyID09PSAnbnVsbCcgfHwgbG93ZXIgPT09ICcnKSByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChtb21lbnQuaXNNb21lbnQgJiYgbW9tZW50LmlzTW9tZW50KGQpKSByZXR1cm4gZDtcbiAgICAgIGNvbnN0IGRhdGUgPSB0eXBlb2YgZCA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZShkKSA6IGQ7XG4gICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgICBcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IHRvTW9tZW50KHRoaXMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmRNb21lbnQgPSB0b01vbWVudCh0aGlzLmVuZERhdGUpO1xuICAgIGNvbnN0IG1pbk1vbWVudCA9IHRvTW9tZW50KHRoaXMubWluRGF0ZSk7XG4gICAgY29uc3QgbWF4TW9tZW50ID0gdG9Nb21lbnQodGhpcy5tYXhEYXRlKTtcbiAgICBcbiAgICBpZiAoc3RhcnRNb21lbnQpIGRlZmF1bHRPcHRpb25zLnN0YXJ0RGF0ZSA9IHN0YXJ0TW9tZW50O1xuICAgIGlmIChlbmRNb21lbnQpIGRlZmF1bHRPcHRpb25zLmVuZERhdGUgPSBlbmRNb21lbnQ7XG4gICAgaWYgKG1pbk1vbWVudCkgZGVmYXVsdE9wdGlvbnMubWluRGF0ZSA9IG1pbk1vbWVudDtcbiAgICBpZiAobWF4TW9tZW50KSBkZWZhdWx0T3B0aW9ucy5tYXhEYXRlID0gbWF4TW9tZW50O1xuXG4gICAgLy8gSWYgbm8gaW5pdGlhbCBkYXRlcywgZW5zdXJlIHRoZSBpbnB1dCBpcyBibGFuayBiZWZvcmUgcGx1Z2luIGluaXQuXG4gICAgaWYgKCFzdGFydE1vbWVudCAmJiAhZW5kTW9tZW50KSB7XG4gICAgICB0cnkgeyAkKHRoaXMuZWwubmF0aXZlRWxlbWVudCkudmFsKCcnKTsgfSBjYXRjaCB7fVxuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgdGhlIHBpY2tlclxuICAgICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KS5kYXRlcmFuZ2VwaWNrZXIoZGVmYXVsdE9wdGlvbnMsIChzdGFydDogYW55LCBlbmQ6IGFueSwgbGFiZWw6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnQgPyBzdGFydC50b0RhdGUoKSA6IG51bGw7XG4gICAgICBjb25zdCBlbmREYXRlID0gZW5kID8gZW5kLnRvRGF0ZSgpIDogbnVsbDtcbiAgICAgIFxuICAgICAgdGhpcy5vbkNoYW5nZSh7IHN0YXJ0OiBzdGFydERhdGUsIGVuZDogZW5kRGF0ZSB9KTtcbiAgICAgIHRoaXMuZGF0ZXNVcGRhdGVkLmVtaXQoeyBzdGFydERhdGUsIGVuZERhdGUgfSk7XG4gICAgICB0aGlzLmFwcGx5Q2xpY2tlZC5lbWl0KHsgc3RhcnREYXRlLCBlbmREYXRlIH0pO1xuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHN0YXJ0LCBlbmQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5waWNrZXJJbnN0YW5jZSA9ICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KS5kYXRhKCdkYXRlcmFuZ2VwaWNrZXInKTtcblxuICAgIC8vIEVuc3VyZSB0aGUgb3ZlcmxheSBnZXRzIHRoZSBzdHlsaW5nIHNjb3BlIGNsYXNzIGlmIG5vdCBhbHJlYWR5IHByZXNlbnQuXG4gICAgaWYgKHRoaXMucGlja2VySW5zdGFuY2U/LmNvbnRhaW5lcikge1xuICAgICAgY29uc3QgYyA9IHRoaXMucGlja2VySW5zdGFuY2UuY29udGFpbmVyO1xuICAgICAgaWYgKCFjLmhhc0NsYXNzKCdjcWEtdWktZGF0ZXJhbmdlLXBpY2tlcicpKSB7XG4gICAgICAgIGMuYWRkQ2xhc3MoJ2NxYS11aS1kYXRlcmFuZ2UtcGlja2VyJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIGNhbmNlbCBldmVudFxuICAgICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KS5vbignY2FuY2VsLmRhdGVyYW5nZXBpY2tlcicsICgpID0+IHtcbiAgICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUobnVsbCwgbnVsbCk7XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgaW5pdGlhbCB2YWx1ZSBpZiBwcm92aWRlZFxuICAgIHRoaXMudXBkYXRlRGF0ZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGF0ZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBpY2tlckluc3RhbmNlKSByZXR1cm47XG4gICAgaWYgKHR5cGVvZiAod2luZG93IGFzIGFueSkubW9tZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuXG4gICAgY29uc3QgbW9tZW50ID0gKHdpbmRvdyBhcyBhbnkpLm1vbWVudDtcbiAgICBcbiAgICAvLyBDb252ZXJ0IERhdGUgb2JqZWN0cyB0byBtb21lbnQgb2JqZWN0c1xuICAgIGNvbnN0IHRvTW9tZW50ID0gKGQ6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYW55ID0+IHtcbiAgICAgIGlmICghZCkgcmV0dXJuIG51bGw7XG4gICAgICBpZiAodHlwZW9mIGQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvd2VyID0gZC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGxvd2VyID09PSAndW5kZWZpbmVkJyB8fCBsb3dlciA9PT0gJ251bGwnIHx8IGxvd2VyID09PSAnJykgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAobW9tZW50LmlzTW9tZW50ICYmIG1vbWVudC5pc01vbWVudChkKSkgcmV0dXJuIGQ7XG4gICAgICBjb25zdCBkYXRlID0gdHlwZW9mIGQgPT09ICdzdHJpbmcnID8gbmV3IERhdGUoZCkgOiBkO1xuICAgICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gICAgXG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSB0b01vbWVudCh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgY29uc3QgZW5kTW9tZW50ID0gdG9Nb21lbnQodGhpcy5lbmREYXRlKTtcbiAgICBcbiAgICBpZiAoc3RhcnRNb21lbnQpIHtcbiAgICAgIHRoaXMucGlja2VySW5zdGFuY2Uuc2V0U3RhcnREYXRlKHN0YXJ0TW9tZW50KTtcbiAgICB9XG4gICAgXG4gICAgaWYgKGVuZE1vbWVudCkge1xuICAgICAgdGhpcy5waWNrZXJJbnN0YW5jZS5zZXRFbmREYXRlKGVuZE1vbWVudCk7XG4gICAgfVxuICAgIFxuICAgIC8vIFVwZGF0ZSBpbnB1dCB0ZXh0IHRvIHJlZmxlY3QgY3VycmVudCB2YWx1ZXNcbiAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoc3RhcnRNb21lbnQsIGVuZE1vbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1pbk1heERhdGVzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5waWNrZXJJbnN0YW5jZSkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgKHdpbmRvdyBhcyBhbnkpLm1vbWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcblxuICAgIGNvbnN0IG1vbWVudCA9ICh3aW5kb3cgYXMgYW55KS5tb21lbnQ7XG4gICAgXG4gICAgLy8gQ29udmVydCBEYXRlIG9iamVjdHMgdG8gbW9tZW50IG9iamVjdHNcbiAgICBjb25zdCB0b01vbWVudCA9IChkOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGFueSA9PiB7XG4gICAgICBpZiAoIWQpIHJldHVybiBudWxsO1xuICAgICAgaWYgKG1vbWVudC5pc01vbWVudCAmJiBtb21lbnQuaXNNb21lbnQoZCkpIHJldHVybiBkO1xuICAgICAgY29uc3QgZGF0ZSA9IHR5cGVvZiBkID09PSAnc3RyaW5nJyA/IG5ldyBEYXRlKGQpIDogZDtcbiAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIFxuICAgIGNvbnN0IG1pbk1vbWVudCA9IHRvTW9tZW50KHRoaXMubWluRGF0ZSk7XG4gICAgY29uc3QgbWF4TW9tZW50ID0gdG9Nb21lbnQodGhpcy5tYXhEYXRlKTtcbiAgICBcbiAgICBpZiAobWluTW9tZW50KSB7XG4gICAgICB0aGlzLnBpY2tlckluc3RhbmNlLnNldE1pbkRhdGUobWluTW9tZW50KTtcbiAgICB9XG4gICAgaWYgKG1heE1vbWVudCkge1xuICAgICAgdGhpcy5waWNrZXJJbnN0YW5jZS5zZXRNYXhEYXRlKG1heE1vbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95UGlja2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBpY2tlckluc3RhbmNlICYmIHR5cGVvZiAkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLm9mZignY2FuY2VsLmRhdGVyYW5nZXBpY2tlcicpO1xuICAgICAgJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLmRhdGEoJ2RhdGVyYW5nZXBpY2tlcicpPy5yZW1vdmUoKTtcbiAgICAgIHRoaXMucGlja2VySW5zdGFuY2UgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodmFsdWU6IHsgc3RhcnQ6IERhdGUgfCBudWxsOyBlbmQ6IERhdGUgfCBudWxsIH0gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICYmICh2YWx1ZS5zdGFydCB8fCB2YWx1ZS5lbmQpKSB7XG4gICAgICAvLyBWYWxpZGF0ZSBkYXRlcyBiZWZvcmUgc2V0dGluZ1xuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSAoZDogRGF0ZSB8IG51bGwpOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGQgIT09IG51bGwgJiYgZCBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGQuZ2V0VGltZSgpKTtcbiAgICAgIH07XG4gICAgICBcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gKHZhbHVlLnN0YXJ0ICYmIGlzVmFsaWREYXRlKHZhbHVlLnN0YXJ0KSkgPyB2YWx1ZS5zdGFydCA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZW5kRGF0ZSA9ICh2YWx1ZS5lbmQgJiYgaXNWYWxpZERhdGUodmFsdWUuZW5kKSkgPyB2YWx1ZS5lbmQgOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVwZGF0ZURhdGVzKCk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCAodmFsdWUgJiYgIXZhbHVlLnN0YXJ0ICYmICF2YWx1ZS5lbmQpKSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0aGlzLnBpY2tlckluc3RhbmNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbSA9ICh3aW5kb3cgYXMgYW55KS5tb21lbnQ7XG4gICAgICAgICAgaWYgKG0pIHtcbiAgICAgICAgICAgIC8vIFJlc2V0IHBpY2tlciBpbnRlcm5hbHMgdG8gYSBzYWZlIHZhbHVlIGluc3RlYWQgb2YgbnVsbCB0byBhdm9pZCBcIkludmFsaWQgZGF0ZVwiXG4gICAgICAgICAgICB0aGlzLnBpY2tlckluc3RhbmNlLnNldFN0YXJ0RGF0ZShtKCkpO1xuICAgICAgICAgICAgdGhpcy5waWNrZXJJbnN0YW5jZS5zZXRFbmREYXRlKG0oKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRWYWx1ZShudWxsLCBudWxsKTtcbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuIl19
@@ -2138,11 +2138,8 @@ class DaterangepickerDirective {
2138
2138
  console.error('moment.js must be loaded for daterangepicker to work');
2139
2139
  return;
2140
2140
  }
2141
- // Resolve parent element to scope styles; default to closest .cqa-ui-daterange-picker, fallback to body.
2142
- const parentElCandidate = $(this.el.nativeElement).closest('.cqa-ui-daterange-picker');
2143
- const resolvedParentEl = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.parentEl)
2144
- ? this.options.parentEl
2145
- : (parentElCandidate && parentElCandidate.length ? parentElCandidate : 'body');
2141
+ // Resolve parent element to scope styles; allow override via options.parentEl, else use body.
2142
+ const resolvedParentEl = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.parentEl) || 'body';
2146
2143
  const baseOptions = {
2147
2144
  opens: 'left',
2148
2145
  drops: 'down',
@@ -2388,16 +2385,6 @@ class DaterangepickerComponent {
2388
2385
  this.onTouched = () => { };
2389
2386
  }
2390
2387
  ngOnInit() {
2391
- this.updatePickerOptions();
2392
- }
2393
- ngOnChanges(changes) {
2394
- if (changes['ranges'] || changes['autoApply'] || changes['alwaysShowCalendars'] ||
2395
- changes['opens'] || changes['drops'] || changes['isInvalidDate'] || changes['parentEl'] ||
2396
- changes['startDate'] || changes['endDate'] || changes['minDate'] || changes['maxDate']) {
2397
- this.updatePickerOptions();
2398
- }
2399
- }
2400
- updatePickerOptions() {
2401
2388
  this.pickerOptions = {
2402
2389
  startDate: this.startDate ? new Date(this.startDate) : undefined,
2403
2390
  endDate: this.endDate ? new Date(this.endDate) : undefined,
@@ -2475,7 +2462,7 @@ DaterangepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
2475
2462
  useExisting: forwardRef(() => DaterangepickerComponent),
2476
2463
  multi: true
2477
2464
  }
2478
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
2465
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], ngImport: i0, template: `
2479
2466
  <div class="cqa-ui-root">
2480
2467
  <label *ngIf="label" class="form-label cqa-text-[#374151] cqa-text-[14px] cqa-font-medium cqa-block cqa-leading-[1.4] cqa-mb-2">
2481
2468
  {{ label }}