@skyux/datetime 5.0.0 → 5.1.0

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.
Files changed (48) hide show
  1. package/bundles/skyux-datetime-testing.umd.js +2 -2
  2. package/bundles/skyux-datetime.umd.js +515 -169
  3. package/bundles/skyux-datetime.umd.js.map +1 -1
  4. package/documentation.json +1151 -772
  5. package/esm2015/modules/date-pipe/date-pipe.module.js +5 -5
  6. package/esm2015/modules/date-pipe/date.pipe.js +4 -4
  7. package/esm2015/modules/date-pipe/fuzzy-date.pipe.js +4 -4
  8. package/esm2015/modules/date-range-picker/date-range-picker.component.js +5 -5
  9. package/esm2015/modules/date-range-picker/date-range-picker.module.js +8 -6
  10. package/esm2015/modules/date-range-picker/date-range.service.js +5 -8
  11. package/esm2015/modules/datepicker/datepicker-adapter.service.js +4 -4
  12. package/esm2015/modules/datepicker/datepicker-calendar-change.js +2 -0
  13. package/esm2015/modules/datepicker/datepicker-calendar-inner.component.js +33 -8
  14. package/esm2015/modules/datepicker/datepicker-calendar.component.js +17 -7
  15. package/esm2015/modules/datepicker/datepicker-config.service.js +4 -4
  16. package/esm2015/modules/datepicker/datepicker-custom-date.js +2 -0
  17. package/esm2015/modules/datepicker/datepicker-date.js +1 -1
  18. package/esm2015/modules/datepicker/datepicker-input-fuzzy.directive.js +4 -4
  19. package/esm2015/modules/datepicker/datepicker-input.directive.js +4 -4
  20. package/esm2015/modules/datepicker/datepicker.component.js +48 -6
  21. package/esm2015/modules/datepicker/datepicker.module.js +31 -12
  22. package/esm2015/modules/datepicker/datepicker.service.js +21 -0
  23. package/esm2015/modules/datepicker/daypicker-button.component.js +25 -0
  24. package/esm2015/modules/datepicker/daypicker-cell.component.js +130 -0
  25. package/esm2015/modules/datepicker/daypicker.component.js +98 -7
  26. package/esm2015/modules/datepicker/fuzzy-date.service.js +4 -4
  27. package/esm2015/modules/datepicker/monthpicker.component.js +4 -4
  28. package/esm2015/modules/datepicker/yearpicker.component.js +4 -4
  29. package/esm2015/modules/shared/sky-datetime-resources.module.js +5 -5
  30. package/esm2015/modules/timepicker/timepicker.component.js +4 -4
  31. package/esm2015/modules/timepicker/timepicker.directive.js +4 -4
  32. package/esm2015/modules/timepicker/timepicker.module.js +5 -5
  33. package/esm2015/public-api.js +3 -1
  34. package/fesm2015/skyux-datetime.js +434 -95
  35. package/fesm2015/skyux-datetime.js.map +1 -1
  36. package/modules/datepicker/datepicker-calendar-change.d.ts +24 -0
  37. package/modules/datepicker/datepicker-calendar-inner.component.d.ts +13 -3
  38. package/modules/datepicker/datepicker-calendar.component.d.ts +8 -2
  39. package/modules/datepicker/datepicker-custom-date.d.ts +21 -0
  40. package/modules/datepicker/datepicker-date.d.ts +2 -0
  41. package/modules/datepicker/datepicker.component.d.ts +14 -1
  42. package/modules/datepicker/datepicker.module.d.ts +11 -8
  43. package/modules/datepicker/datepicker.service.d.ts +15 -0
  44. package/modules/datepicker/daypicker-button.component.d.ts +16 -0
  45. package/modules/datepicker/daypicker-cell.component.d.ts +40 -0
  46. package/modules/datepicker/daypicker.component.d.ts +18 -3
  47. package/package.json +10 -10
  48. package/public-api.d.ts +2 -0
@@ -72,9 +72,9 @@ export class SkyMonthPickerComponent {
72
72
  this.datepicker.activeDate.setMonth(date);
73
73
  }
74
74
  }
75
- SkyMonthPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMonthPickerComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
76
- SkyMonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyMonthPickerComponent, selector: "sky-monthpicker", ngImport: i0, template: "<table *ngIf=\"datepicker.datepickerMode==='month'\" role=\"grid\">\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button></th>\n <th [attr.colspan]=\"((datepicker.monthColLimit - 2) <= 0) ? 1 : datepicker.monthColLimit - 2\">\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === maxMode}\"\n tabindex=\"-1\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\">\n <td\n *ngFor=\"let date of row\"\n class=\"text-center\"\n role=\"gridcell\"\n id=\"{{date.uid}}\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-datepicker-btn-date\"\n [ngClass]=\"{'sky-datepicker-btn-selected': date.selected, 'sky-btn-disabled': date.disabled, 'sky-btn-active': datepicker.isActive(date)}\"\n [disabled]=\"date.disabled\"\n (click)=\"datepicker.selectCalendar($event, date.date)\"\n tabindex=\"-1\"\n >\n <span [ngClass]=\"{'sky-datepicker-current': date.current}\">{{date.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMonthPickerComponent, decorators: [{
75
+ SkyMonthPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyMonthPickerComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
76
+ SkyMonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyMonthPickerComponent, selector: "sky-monthpicker", ngImport: i0, template: "<table *ngIf=\"datepicker.datepickerMode==='month'\" role=\"grid\">\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button></th>\n <th [attr.colspan]=\"((datepicker.monthColLimit - 2) <= 0) ? 1 : datepicker.monthColLimit - 2\">\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === maxMode}\"\n tabindex=\"-1\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\">\n <td\n *ngFor=\"let date of row\"\n class=\"text-center\"\n role=\"gridcell\"\n id=\"{{date.uid}}\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-datepicker-btn-date\"\n [ngClass]=\"{'sky-datepicker-btn-selected': date.selected, 'sky-btn-disabled': date.disabled, 'sky-btn-active': datepicker.isActive(date)}\"\n [disabled]=\"date.disabled\"\n (click)=\"datepicker.selectCalendar($event, date.date)\"\n tabindex=\"-1\"\n >\n <span [ngClass]=\"{'sky-datepicker-current': date.current}\">{{date.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyMonthPickerComponent, decorators: [{
78
78
  type: Component,
79
79
  args: [{
80
80
  selector: 'sky-monthpicker',
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
82
82
  styleUrls: ['./monthpicker.component.scss']
83
83
  }]
84
84
  }], ctorParameters: function () { return [{ type: i1.SkyDatepickerCalendarInnerComponent }]; } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0ZXRpbWUvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci9tb250aHBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy9kYXRlcGlja2VyL21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU3ZCOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQVVsQyxZQUFtQixVQUErQztRQUozRCxTQUFJLEdBQW9DLEVBQUUsQ0FBQztRQUtoRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUTtRQUViLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHO1lBQzFCLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFXLEVBQUUsS0FBb0IsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7SUFF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QUMsQ0FBQztTQUNWO2FBQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOztvSEFuRlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdURDcEJwQyw2cEZBOEVBOzJGRDFEYSx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudFxufSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItaW5uZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RGF0ZXBpY2tlckRhdGVcbn0gZnJvbSAnLi9kYXRlcGlja2VyLWRhdGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9udGhwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJ21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9udGhwaWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb250aFBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGRhdGVwaWNrZXI6IFNreURhdGVwaWNrZXJDYWxlbmRhcklubmVyQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBtYXhNb2RlOiBzdHJpbmc7XG5cbiAgcHVibGljIHJvd3M6IEFycmF5PEFycmF5PFNreURhdGVwaWNrZXJEYXRlPj4gPSBbXTtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZGF0ZXBpY2tlcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIgPSBkYXRlcGlja2VyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0ZXBNb250aCA9IHtcbiAgICAgIHllYXJzOiAxXG4gICAgfTtcblxuICAgIHRoaXMuZGF0ZXBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoTW9udGhWaWV3KCk7XG4gICAgfSwgJ21vbnRoJyk7XG5cbiAgICB0aGlzLmRhdGVwaWNrZXIuc2V0Q29tcGFyZUhhbmRsZXIodGhpcy5jb21wYXJlTW9udGgsICdtb250aCcpO1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnJlZnJlc2hWaWV3KCk7XG5cbiAgICB0aGlzLmRhdGVwaWNrZXIuc2V0S2V5ZG93bkhhbmRsZXIoKGtleTogc3RyaW5nLCBldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgdGhpcy5rZXlkb3duTW9udGhzKGtleSwgZXZlbnQpO1xuICAgIH0sICdtb250aCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wYXJlTW9udGgoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogbnVtYmVyIHtcbiAgICBsZXQgZDEgPSBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpKTtcbiAgICBsZXQgZDIgPSBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpKTtcbiAgICByZXR1cm4gZDEuZ2V0VGltZSgpIC0gZDIuZ2V0VGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoTW9udGhWaWV3KCk6IHZvaWQge1xuICAgIGxldCBtb250aHM6IEFycmF5PFNreURhdGVwaWNrZXJEYXRlPiA9IG5ldyBBcnJheSgxMik7XG4gICAgbGV0IHllYXI6IG51bWJlciA9IHRoaXMuZGF0ZXBpY2tlci5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgbGV0IGRhdGU6IERhdGU7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBpLCAxKTtcbiAgICAgIGRhdGUgPSB0aGlzLmRhdGVwaWNrZXIuZml4VGltZVpvbmUoZGF0ZSk7XG4gICAgICBtb250aHNbaV0gPVxuICAgICAgICB0aGlzLmRhdGVwaWNrZXIuY3JlYXRlRGF0ZU9iamVjdChcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5mb3JtYXRNb250aCxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0aGlzLmRhdGVwaWNrZXIuZGF0ZXBpY2tlcklkICsgJy0nICsgaVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGl0bGUgPVxuICAgICAgdGhpcy5kYXRlcGlja2VyLmRhdGVGaWx0ZXIodGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUsIHRoaXMuZGF0ZXBpY2tlci5mb3JtYXRNb250aFRpdGxlKTtcbiAgICB0aGlzLnJvd3MgPSB0aGlzLmRhdGVwaWNrZXIuY3JlYXRlQ2FsZW5kYXJSb3dzKG1vbnRocywgdGhpcy5kYXRlcGlja2VyLm1vbnRoQ29sTGltaXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlkb3duTW9udGhzKGtleTogc3RyaW5nLCBldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGxldCBkYXRlID0gdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0TW9udGgoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKGtleSA9PT0gJ2xlZnQnKSB7XG4gICAgICBkYXRlID0gZGF0ZSAtIDE7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICd1cCcpIHtcbiAgICAgIGRhdGUgPSBkYXRlIC0gdGhpcy5kYXRlcGlja2VyLm1vbnRoQ29sTGltaXQ7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdyaWdodCcpIHtcbiAgICAgIGRhdGUgPSBkYXRlICsgMTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2Rvd24nKSB7XG4gICAgICBkYXRlID0gZGF0ZSArIHRoaXMuZGF0ZXBpY2tlci5tb250aENvbExpbWl0O1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncGFnZXVwJyB8fCBrZXkgPT09ICdwYWdlZG93bicpIHtcbiAgICAgIGxldCB5ZWFyID0gdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSArIChrZXkgPT09ICdwYWdldXAnID8gLSAxIDogMSk7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2hvbWUnKSB7XG4gICAgICBkYXRlID0gMDtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2VuZCcpIHtcbiAgICAgIGRhdGUgPSAxMTtcbiAgICB9XG4gICAgdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuc2V0TW9udGgoZGF0ZSk7XG4gIH1cbn1cbiIsIjx0YWJsZSAqbmdJZj1cImRhdGVwaWNrZXIuZGF0ZXBpY2tlck1vZGU9PT0nbW9udGgnXCIgcm9sZT1cImdyaWRcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICBjbGFzcz1cInNreS1kYXRlcGlja2VyLWhlYWRlci1sZWZ0XCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1zbSBza3ktZGF0ZXBpY2tlci1idG4tcHJldmlvdXNcIlxuICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLm1vdmVDYWxlbmRhcigkZXZlbnQsIC0xKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLWRlZmF1bHRcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInNreS1kYXRlcGlja2VyLWNoZXZyb24tbW9kZXJuXCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWxlZnRcIlxuICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPjwvdGg+XG4gICAgICA8dGggW2F0dHIuY29sc3Bhbl09XCIoKGRhdGVwaWNrZXIubW9udGhDb2xMaW1pdCAtIDIpIDw9IDApID8gMSA6IGRhdGVwaWNrZXIubW9udGhDb2xMaW1pdCAtIDJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtpZF09XCJkYXRlcGlja2VyLmRhdGVwaWNrZXJJZCArICctdGl0bGUnXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4tc20gc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItdGl0bGVcIlxuICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZU1vZGVDYWxlbmRhcigkZXZlbnQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0ZXBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gbWF4TW9kZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydza3ktYnRuLWRpc2FibGVkJzogZGF0ZXBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gbWF4TW9kZX1cIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3Ryb25nPnt7dGl0bGV9fTwvc3Ryb25nPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1oZWFkZXItcmlnaHRcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLXNtIHNreS1kYXRlcGlja2VyLWJ0bi1uZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5tb3ZlQ2FsZW5kYXIoJGV2ZW50LCAxKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLWRlZmF1bHRcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLW1vZGVyblwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XG4gICAgICA8dGRcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGUgb2Ygcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiXG4gICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgIGlkPVwie3tkYXRlLnVpZH19XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1kYXRlcGlja2VyLWJ0bi1kYXRlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3NreS1kYXRlcGlja2VyLWJ0bi1zZWxlY3RlZCc6IGRhdGUuc2VsZWN0ZWQsICdza3ktYnRuLWRpc2FibGVkJzogZGF0ZS5kaXNhYmxlZCwgJ3NreS1idG4tYWN0aXZlJzogZGF0ZXBpY2tlci5pc0FjdGl2ZShkYXRlKX1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5zZWxlY3RDYWxlbmRhcigkZXZlbnQsIGRhdGUuZGF0ZSlcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NreS1kYXRlcGlja2VyLWN1cnJlbnQnOiBkYXRlLmN1cnJlbnR9XCI+e3tkYXRlLmxhYmVsfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0ZXRpbWUvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci9tb250aHBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy9kYXRlcGlja2VyL21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU3ZCOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQVVsQyxZQUFtQixVQUErQztRQUozRCxTQUFJLEdBQW9DLEVBQUUsQ0FBQztRQUtoRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUTtRQUViLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHO1lBQzFCLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFXLEVBQUUsS0FBb0IsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7SUFF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QUMsQ0FBQztTQUNWO2FBQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOztxSEFuRlUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsdURDcEJwQyw2cEZBOEVBOzRGRDFEYSx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudFxufSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItaW5uZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RGF0ZXBpY2tlckRhdGVcbn0gZnJvbSAnLi9kYXRlcGlja2VyLWRhdGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9udGhwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJ21vbnRocGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9udGhwaWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb250aFBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGRhdGVwaWNrZXI6IFNreURhdGVwaWNrZXJDYWxlbmRhcklubmVyQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBtYXhNb2RlOiBzdHJpbmc7XG5cbiAgcHVibGljIHJvd3M6IEFycmF5PEFycmF5PFNreURhdGVwaWNrZXJEYXRlPj4gPSBbXTtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZGF0ZXBpY2tlcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIgPSBkYXRlcGlja2VyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0ZXBNb250aCA9IHtcbiAgICAgIHllYXJzOiAxXG4gICAgfTtcblxuICAgIHRoaXMuZGF0ZXBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoTW9udGhWaWV3KCk7XG4gICAgfSwgJ21vbnRoJyk7XG5cbiAgICB0aGlzLmRhdGVwaWNrZXIuc2V0Q29tcGFyZUhhbmRsZXIodGhpcy5jb21wYXJlTW9udGgsICdtb250aCcpO1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnJlZnJlc2hWaWV3KCk7XG5cbiAgICB0aGlzLmRhdGVwaWNrZXIuc2V0S2V5ZG93bkhhbmRsZXIoKGtleTogc3RyaW5nLCBldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgdGhpcy5rZXlkb3duTW9udGhzKGtleSwgZXZlbnQpO1xuICAgIH0sICdtb250aCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wYXJlTW9udGgoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogbnVtYmVyIHtcbiAgICBsZXQgZDEgPSBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpKTtcbiAgICBsZXQgZDIgPSBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpKTtcbiAgICByZXR1cm4gZDEuZ2V0VGltZSgpIC0gZDIuZ2V0VGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoTW9udGhWaWV3KCk6IHZvaWQge1xuICAgIGxldCBtb250aHM6IEFycmF5PFNreURhdGVwaWNrZXJEYXRlPiA9IG5ldyBBcnJheSgxMik7XG4gICAgbGV0IHllYXI6IG51bWJlciA9IHRoaXMuZGF0ZXBpY2tlci5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgbGV0IGRhdGU6IERhdGU7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBpLCAxKTtcbiAgICAgIGRhdGUgPSB0aGlzLmRhdGVwaWNrZXIuZml4VGltZVpvbmUoZGF0ZSk7XG4gICAgICBtb250aHNbaV0gPVxuICAgICAgICB0aGlzLmRhdGVwaWNrZXIuY3JlYXRlRGF0ZU9iamVjdChcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5mb3JtYXRNb250aCxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICB0aGlzLmRhdGVwaWNrZXIuZGF0ZXBpY2tlcklkICsgJy0nICsgaVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGl0bGUgPVxuICAgICAgdGhpcy5kYXRlcGlja2VyLmRhdGVGaWx0ZXIodGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUsIHRoaXMuZGF0ZXBpY2tlci5mb3JtYXRNb250aFRpdGxlKTtcbiAgICB0aGlzLnJvd3MgPSB0aGlzLmRhdGVwaWNrZXIuY3JlYXRlQ2FsZW5kYXJSb3dzKG1vbnRocywgdGhpcy5kYXRlcGlja2VyLm1vbnRoQ29sTGltaXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBrZXlkb3duTW9udGhzKGtleTogc3RyaW5nLCBldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGxldCBkYXRlID0gdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0TW9udGgoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKGtleSA9PT0gJ2xlZnQnKSB7XG4gICAgICBkYXRlID0gZGF0ZSAtIDE7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICd1cCcpIHtcbiAgICAgIGRhdGUgPSBkYXRlIC0gdGhpcy5kYXRlcGlja2VyLm1vbnRoQ29sTGltaXQ7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdyaWdodCcpIHtcbiAgICAgIGRhdGUgPSBkYXRlICsgMTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2Rvd24nKSB7XG4gICAgICBkYXRlID0gZGF0ZSArIHRoaXMuZGF0ZXBpY2tlci5tb250aENvbExpbWl0O1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncGFnZXVwJyB8fCBrZXkgPT09ICdwYWdlZG93bicpIHtcbiAgICAgIGxldCB5ZWFyID0gdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSArIChrZXkgPT09ICdwYWdldXAnID8gLSAxIDogMSk7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuYWN0aXZlRGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2hvbWUnKSB7XG4gICAgICBkYXRlID0gMDtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2VuZCcpIHtcbiAgICAgIGRhdGUgPSAxMTtcbiAgICB9XG4gICAgdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuc2V0TW9udGgoZGF0ZSk7XG4gIH1cbn1cbiIsIjx0YWJsZSAqbmdJZj1cImRhdGVwaWNrZXIuZGF0ZXBpY2tlck1vZGU9PT0nbW9udGgnXCIgcm9sZT1cImdyaWRcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICBjbGFzcz1cInNreS1kYXRlcGlja2VyLWhlYWRlci1sZWZ0XCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1zbSBza3ktZGF0ZXBpY2tlci1idG4tcHJldmlvdXNcIlxuICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLm1vdmVDYWxlbmRhcigkZXZlbnQsIC0xKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLWRlZmF1bHRcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInNreS1kYXRlcGlja2VyLWNoZXZyb24tbW9kZXJuXCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWxlZnRcIlxuICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPjwvdGg+XG4gICAgICA8dGggW2F0dHIuY29sc3Bhbl09XCIoKGRhdGVwaWNrZXIubW9udGhDb2xMaW1pdCAtIDIpIDw9IDApID8gMSA6IGRhdGVwaWNrZXIubW9udGhDb2xMaW1pdCAtIDJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtpZF09XCJkYXRlcGlja2VyLmRhdGVwaWNrZXJJZCArICctdGl0bGUnXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4tc20gc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItdGl0bGVcIlxuICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZU1vZGVDYWxlbmRhcigkZXZlbnQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0ZXBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gbWF4TW9kZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydza3ktYnRuLWRpc2FibGVkJzogZGF0ZXBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gbWF4TW9kZX1cIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3Ryb25nPnt7dGl0bGV9fTwvc3Ryb25nPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1oZWFkZXItcmlnaHRcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLXNtIHNreS1kYXRlcGlja2VyLWJ0bi1uZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5tb3ZlQ2FsZW5kYXIoJGV2ZW50LCAxKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLWRlZmF1bHRcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLW1vZGVyblwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XG4gICAgICA8dGRcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGUgb2Ygcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiXG4gICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgIGlkPVwie3tkYXRlLnVpZH19XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1kYXRlcGlja2VyLWJ0bi1kYXRlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3NreS1kYXRlcGlja2VyLWJ0bi1zZWxlY3RlZCc6IGRhdGUuc2VsZWN0ZWQsICdza3ktYnRuLWRpc2FibGVkJzogZGF0ZS5kaXNhYmxlZCwgJ3NreS1idG4tYWN0aXZlJzogZGF0ZXBpY2tlci5pc0FjdGl2ZShkYXRlKX1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5zZWxlY3RDYWxlbmRhcigkZXZlbnQsIGRhdGUuZGF0ZSlcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NreS1kYXRlcGlja2VyLWN1cnJlbnQnOiBkYXRlLmN1cnJlbnR9XCI+e3tkYXRlLmxhYmVsfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
@@ -71,9 +71,9 @@ export class SkyYearPickerComponent {
71
71
  this.datepicker.activeDate.setFullYear(date);
72
72
  }
73
73
  }
74
- SkyYearPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyYearPickerComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
75
- SkyYearPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyYearPickerComponent, selector: "sky-yearpicker", ngImport: i0, template: "<table *ngIf=\"datepicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n <th [attr.colspan]=\"((datepicker.yearColLimit - 2) <= 0) ? 1 : datepicker.yearColLimit - 2\">\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n role=\"heading\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === datepicker.maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === datepicker.maxMode}\"\n tabindex=\"-1\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\">\n <td\n *ngFor=\"let date of row\"\n class=\"sky-datepicker-row\"\n role=\"gridcell\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-datepicker-btn-date\"\n [ngClass]=\"{'sky-datepicker-btn-selected': date.selected, 'sky-btn-disabled': date.disabled, 'sky-btn-active': datepicker.isActive(date)}\"\n [disabled]=\"date.disabled\"\n (click)=\"datepicker.selectCalendar($event, date.date)\"\n tabindex=\"-1\"\n >\n <span\n [ngClass]=\"{'sky-datepicker-current': date.current }\">{{date.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyYearPickerComponent, decorators: [{
74
+ SkyYearPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyYearPickerComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
75
+ SkyYearPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyYearPickerComponent, selector: "sky-yearpicker", ngImport: i0, template: "<table *ngIf=\"datepicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n <th [attr.colspan]=\"((datepicker.yearColLimit - 2) <= 0) ? 1 : datepicker.yearColLimit - 2\">\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n role=\"heading\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === datepicker.maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === datepicker.maxMode}\"\n tabindex=\"-1\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\">\n <td\n *ngFor=\"let date of row\"\n class=\"sky-datepicker-row\"\n role=\"gridcell\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-datepicker-btn-date\"\n [ngClass]=\"{'sky-datepicker-btn-selected': date.selected, 'sky-btn-disabled': date.disabled, 'sky-btn-active': datepicker.isActive(date)}\"\n [disabled]=\"date.disabled\"\n (click)=\"datepicker.selectCalendar($event, date.date)\"\n tabindex=\"-1\"\n >\n <span\n [ngClass]=\"{'sky-datepicker-current': date.current }\">{{date.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyYearPickerComponent, decorators: [{
77
77
  type: Component,
78
78
  args: [{
79
79
  selector: 'sky-yearpicker',
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
81
81
  styleUrls: ['./yearpicker.component.scss']
82
82
  }]
83
83
  }], ctorParameters: function () { return [{ type: i1.SkyDatepickerCalendarInnerComponent }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhcnBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy9kYXRlcGlja2VyL3llYXJwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0ZXRpbWUvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci95ZWFycGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXZCOztHQUVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUFtQixVQUErQztRQUozRCxTQUFJLEdBQW9DLEVBQUUsQ0FBQztRQUtoRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUTtRQUViLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVYLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBVyxFQUFFLEtBQW9CLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFD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QUssTUFBTSxFQUFFO1lBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDdkU7YUFBTSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDeEIsSUFBSTtrQkFDQSxJQUFJLENBQUMsZUFBZSxDQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FDdkMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0MsQ0FBQzs7bUhBckZVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHNEQ3JCbkMsc3RGQWlGQTsyRkQ1RGEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSwyQkFBMkI7b0JBQ3hDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudFxufSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItaW5uZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RGF0ZXBpY2tlckRhdGVcbn0gZnJvbSAnLi9kYXRlcGlja2VyLWRhdGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3kteWVhcnBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAneWVhcnBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3llYXJwaWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lZZWFyUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZGF0ZXBpY2tlcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQ7XG5cbiAgcHVibGljIHJvd3M6IEFycmF5PEFycmF5PFNreURhdGVwaWNrZXJEYXRlPj4gPSBbXTtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZGF0ZXBpY2tlcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIgPSBkYXRlcGlja2VyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0ZXBZZWFyID0ge3llYXJzOiB0aGlzLmRhdGVwaWNrZXIueWVhclJhbmdlfTtcblxuICAgIHRoaXMuZGF0ZXBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoWWVhclZpZXcoKTtcbiAgICB9LCAneWVhcicpO1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnNldENvbXBhcmVIYW5kbGVyKHRoaXMuY29tcGFyZVllYXJzLCAneWVhcicpO1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnNldEtleWRvd25IYW5kbGVyKChrZXk6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIHRoaXMua2V5ZG93blllYXJzKGtleSwgZXZlbnQpO1xuICAgIH0sICd5ZWFyJyk7XG5cbiAgICB0aGlzLmRhdGVwaWNrZXIucmVmcmVzaFZpZXcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTdGFydGluZ1llYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcigoeWVhciAtIDEpIC8gdGhpcy5kYXRlcGlja2VyLnllYXJSYW5nZSkgKiB0aGlzLmRhdGVwaWNrZXIueWVhclJhbmdlICsgMTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZVllYXJzKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUxLmdldEZ1bGxZZWFyKCkgLSBkYXRlMi5nZXRGdWxsWWVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoWWVhclZpZXcoKSB7XG4gICAgbGV0IHllYXJzOiBBcnJheTxTa3lEYXRlcGlja2VyRGF0ZT4gPSBuZXcgQXJyYXkodGhpcy5kYXRlcGlja2VyLnllYXJSYW5nZSk7XG4gICAgbGV0IGRhdGU6IERhdGU7XG4gICAgbGV0IHN0YXJ0ID0gdGhpcy5nZXRTdGFydGluZ1llYXIodGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGF0ZXBpY2tlci55ZWFyUmFuZ2U7IGkrKykge1xuICAgICAgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGF0ZXBpY2tlci5hY3RpdmVEYXRlKTtcbiAgICAgIGRhdGUuc2V0RnVsbFllYXIoc3RhcnQgKyBpLCAwLCAxKTtcblxuICAgICAgeWVhcnNbaV0gPVxuICAgICAgICB0aGlzLmRhdGVwaWNrZXIuY3JlYXRlRGF0ZU9iamVjdChcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5mb3JtYXRZZWFyLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5kYXRlcGlja2VySWQgKyAnLScgKyBpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50aXRsZSA9IFt5ZWFyc1swXS5sYWJlbCxcbiAgICAgIHllYXJzW3RoaXMuZGF0ZXBpY2tlci55ZWFyUmFuZ2UgLSAxXS5sYWJlbF0uam9pbignIC0gJyk7XG4gICAgdGhpcy5yb3dzID0gdGhpcy5kYXRlcGlja2VyLmNyZWF0ZUNhbGVuZGFyUm93cyh5ZWFycywgdGhpcy5kYXRlcGlja2VyLnllYXJDb2xMaW1pdCk7XG4gIH1cblxuICBwcml2YXRlIGtleWRvd25ZZWFycyhrZXk6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBsZXQgZGF0ZSA9IHRoaXMuZGF0ZXBpY2tlci5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChrZXkgPT09ICdsZWZ0Jykge1xuICAgICAgZGF0ZSA9IGRhdGUgLSAxO1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAndXAnKSB7XG4gICAgICBkYXRlID0gZGF0ZSAtIHRoaXMuZGF0ZXBpY2tlci55ZWFyQ29sTGltaXQ7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdyaWdodCcpIHtcbiAgICAgIGRhdGUgPSBkYXRlICsgMTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2Rvd24nKSB7XG4gICAgICBkYXRlID0gZGF0ZSArIHRoaXMuZGF0ZXBpY2tlci55ZWFyQ29sTGltaXQ7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdwYWdldXAnIHx8IGtleSA9PT0gJ3BhZ2Vkb3duJykge1xuICAgICAgZGF0ZSArPSAoa2V5ID09PSAncGFnZXVwJyA/IC0gMSA6IDEpICogdGhpcy5kYXRlcGlja2VyLnllYXJSYW5nZTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2hvbWUnKSB7XG4gICAgICBkYXRlID0gdGhpcy5nZXRTdGFydGluZ1llYXIodGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdlbmQnKSB7XG4gICAgICBkYXRlXG4gICAgICAgID0gdGhpcy5nZXRTdGFydGluZ1llYXIoXG4gICAgICAgICAgdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKVxuICAgICAgICAgICkgKyB0aGlzLmRhdGVwaWNrZXIueWVhclJhbmdlIC0gMTtcbiAgICB9XG4gICAgdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuc2V0RnVsbFllYXIoZGF0ZSk7XG5cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiZGF0ZXBpY2tlci5kYXRlcGlja2VyTW9kZT09PSd5ZWFyJ1wiIHJvbGU9XCJncmlkXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1oZWFkZXItbGVmdFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4tc20gc2t5LWRhdGVwaWNrZXItYnRuLXByZXZpb3VzXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5tb3ZlQ2FsZW5kYXIoJGV2ZW50LCAtMSlcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWRhdGVwaWNrZXItY2hldnJvbi1kZWZhdWx0XCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWxlZnRcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLW1vZGVyblwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggW2F0dHIuY29sc3Bhbl09XCIoKGRhdGVwaWNrZXIueWVhckNvbExpbWl0IC0gMikgPD0gMCkgPyAxIDogZGF0ZXBpY2tlci55ZWFyQ29sTGltaXQgLSAyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWRdPVwiZGF0ZXBpY2tlci5kYXRlcGlja2VySWQgKyAnLXRpdGxlJ1wiXG4gICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1zbSBza3ktZGF0ZXBpY2tlci1jYWxlbmRhci10aXRsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIudG9nZ2xlTW9kZUNhbGVuZGFyKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlcGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSBkYXRlcGlja2VyLm1heE1vZGVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2t5LWJ0bi1kaXNhYmxlZCc6IGRhdGVwaWNrZXIuZGF0ZXBpY2tlck1vZGUgPT09IGRhdGVwaWNrZXIubWF4TW9kZX1cIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3Ryb25nPnt7dGl0bGV9fTwvc3Ryb25nPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1oZWFkZXItcmlnaHRcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLXNtIHNreS1kYXRlcGlja2VyLWJ0bi1uZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5tb3ZlQ2FsZW5kYXIoJGV2ZW50LCAxKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLWRlZmF1bHRcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLW1vZGVyblwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XG4gICAgICA8dGRcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGUgb2Ygcm93XCJcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1yb3dcIlxuICAgICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1kYXRlcGlja2VyLWJ0bi1kYXRlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3NreS1kYXRlcGlja2VyLWJ0bi1zZWxlY3RlZCc6IGRhdGUuc2VsZWN0ZWQsICdza3ktYnRuLWRpc2FibGVkJzogZGF0ZS5kaXNhYmxlZCwgJ3NreS1idG4tYWN0aXZlJzogZGF0ZXBpY2tlci5pc0FjdGl2ZShkYXRlKX1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5zZWxlY3RDYWxlbmRhcigkZXZlbnQsIGRhdGUuZGF0ZSlcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydza3ktZGF0ZXBpY2tlci1jdXJyZW50JzogZGF0ZS5jdXJyZW50IH1cIj57e2RhdGUubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhcnBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy9kYXRlcGlja2VyL3llYXJwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0ZXRpbWUvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci95ZWFycGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXZCOztHQUVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUFtQixVQUErQztRQUozRCxTQUFJLEdBQW9DLEVBQUUsQ0FBQztRQUtoRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUTtRQUViLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVYLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBVyxFQUFFLEtBQW9CLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFD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QUssTUFBTSxFQUFFO1lBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDdkU7YUFBTSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDeEIsSUFBSTtrQkFDQSxJQUFJLENBQUMsZUFBZSxDQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FDdkMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0MsQ0FBQzs7b0hBckZVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHNEQ3JCbkMsc3RGQWlGQTs0RkQ1RGEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSwyQkFBMkI7b0JBQ3hDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudFxufSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItaW5uZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgU2t5RGF0ZXBpY2tlckRhdGVcbn0gZnJvbSAnLi9kYXRlcGlja2VyLWRhdGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3kteWVhcnBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAneWVhcnBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3llYXJwaWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lZZWFyUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZGF0ZXBpY2tlcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQ7XG5cbiAgcHVibGljIHJvd3M6IEFycmF5PEFycmF5PFNreURhdGVwaWNrZXJEYXRlPj4gPSBbXTtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZGF0ZXBpY2tlcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIgPSBkYXRlcGlja2VyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0ZXBZZWFyID0ge3llYXJzOiB0aGlzLmRhdGVwaWNrZXIueWVhclJhbmdlfTtcblxuICAgIHRoaXMuZGF0ZXBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoWWVhclZpZXcoKTtcbiAgICB9LCAneWVhcicpO1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnNldENvbXBhcmVIYW5kbGVyKHRoaXMuY29tcGFyZVllYXJzLCAneWVhcicpO1xuXG4gICAgdGhpcy5kYXRlcGlja2VyLnNldEtleWRvd25IYW5kbGVyKChrZXk6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIHRoaXMua2V5ZG93blllYXJzKGtleSwgZXZlbnQpO1xuICAgIH0sICd5ZWFyJyk7XG5cbiAgICB0aGlzLmRhdGVwaWNrZXIucmVmcmVzaFZpZXcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTdGFydGluZ1llYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcigoeWVhciAtIDEpIC8gdGhpcy5kYXRlcGlja2VyLnllYXJSYW5nZSkgKiB0aGlzLmRhdGVwaWNrZXIueWVhclJhbmdlICsgMTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZVllYXJzKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUxLmdldEZ1bGxZZWFyKCkgLSBkYXRlMi5nZXRGdWxsWWVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoWWVhclZpZXcoKSB7XG4gICAgbGV0IHllYXJzOiBBcnJheTxTa3lEYXRlcGlja2VyRGF0ZT4gPSBuZXcgQXJyYXkodGhpcy5kYXRlcGlja2VyLnllYXJSYW5nZSk7XG4gICAgbGV0IGRhdGU6IERhdGU7XG4gICAgbGV0IHN0YXJ0ID0gdGhpcy5nZXRTdGFydGluZ1llYXIodGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGF0ZXBpY2tlci55ZWFyUmFuZ2U7IGkrKykge1xuICAgICAgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGF0ZXBpY2tlci5hY3RpdmVEYXRlKTtcbiAgICAgIGRhdGUuc2V0RnVsbFllYXIoc3RhcnQgKyBpLCAwLCAxKTtcblxuICAgICAgeWVhcnNbaV0gPVxuICAgICAgICB0aGlzLmRhdGVwaWNrZXIuY3JlYXRlRGF0ZU9iamVjdChcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5mb3JtYXRZZWFyLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5kYXRlcGlja2VySWQgKyAnLScgKyBpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50aXRsZSA9IFt5ZWFyc1swXS5sYWJlbCxcbiAgICAgIHllYXJzW3RoaXMuZGF0ZXBpY2tlci55ZWFyUmFuZ2UgLSAxXS5sYWJlbF0uam9pbignIC0gJyk7XG4gICAgdGhpcy5yb3dzID0gdGhpcy5kYXRlcGlja2VyLmNyZWF0ZUNhbGVuZGFyUm93cyh5ZWFycywgdGhpcy5kYXRlcGlja2VyLnllYXJDb2xMaW1pdCk7XG4gIH1cblxuICBwcml2YXRlIGtleWRvd25ZZWFycyhrZXk6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBsZXQgZGF0ZSA9IHRoaXMuZGF0ZXBpY2tlci5hY3RpdmVEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChrZXkgPT09ICdsZWZ0Jykge1xuICAgICAgZGF0ZSA9IGRhdGUgLSAxO1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAndXAnKSB7XG4gICAgICBkYXRlID0gZGF0ZSAtIHRoaXMuZGF0ZXBpY2tlci55ZWFyQ29sTGltaXQ7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdyaWdodCcpIHtcbiAgICAgIGRhdGUgPSBkYXRlICsgMTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2Rvd24nKSB7XG4gICAgICBkYXRlID0gZGF0ZSArIHRoaXMuZGF0ZXBpY2tlci55ZWFyQ29sTGltaXQ7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdwYWdldXAnIHx8IGtleSA9PT0gJ3BhZ2Vkb3duJykge1xuICAgICAgZGF0ZSArPSAoa2V5ID09PSAncGFnZXVwJyA/IC0gMSA6IDEpICogdGhpcy5kYXRlcGlja2VyLnllYXJSYW5nZTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2hvbWUnKSB7XG4gICAgICBkYXRlID0gdGhpcy5nZXRTdGFydGluZ1llYXIodGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdlbmQnKSB7XG4gICAgICBkYXRlXG4gICAgICAgID0gdGhpcy5nZXRTdGFydGluZ1llYXIoXG4gICAgICAgICAgdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKVxuICAgICAgICAgICkgKyB0aGlzLmRhdGVwaWNrZXIueWVhclJhbmdlIC0gMTtcbiAgICB9XG4gICAgdGhpcy5kYXRlcGlja2VyLmFjdGl2ZURhdGUuc2V0RnVsbFllYXIoZGF0ZSk7XG5cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiZGF0ZXBpY2tlci5kYXRlcGlja2VyTW9kZT09PSd5ZWFyJ1wiIHJvbGU9XCJncmlkXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1oZWFkZXItbGVmdFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4tc20gc2t5LWRhdGVwaWNrZXItYnRuLXByZXZpb3VzXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5tb3ZlQ2FsZW5kYXIoJGV2ZW50LCAtMSlcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWRhdGVwaWNrZXItY2hldnJvbi1kZWZhdWx0XCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWxlZnRcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLW1vZGVyblwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggW2F0dHIuY29sc3Bhbl09XCIoKGRhdGVwaWNrZXIueWVhckNvbExpbWl0IC0gMikgPD0gMCkgPyAxIDogZGF0ZXBpY2tlci55ZWFyQ29sTGltaXQgLSAyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWRdPVwiZGF0ZXBpY2tlci5kYXRlcGlja2VySWQgKyAnLXRpdGxlJ1wiXG4gICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1zbSBza3ktZGF0ZXBpY2tlci1jYWxlbmRhci10aXRsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIudG9nZ2xlTW9kZUNhbGVuZGFyKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlcGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSBkYXRlcGlja2VyLm1heE1vZGVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2t5LWJ0bi1kaXNhYmxlZCc6IGRhdGVwaWNrZXIuZGF0ZXBpY2tlck1vZGUgPT09IGRhdGVwaWNrZXIubWF4TW9kZX1cIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3Ryb25nPnt7dGl0bGV9fTwvc3Ryb25nPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1oZWFkZXItcmlnaHRcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLXNtIHNreS1kYXRlcGlja2VyLWJ0bi1uZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5tb3ZlQ2FsZW5kYXIoJGV2ZW50LCAxKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLWRlZmF1bHRcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jaGV2cm9uLW1vZGVyblwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XG4gICAgICA8dGRcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGUgb2Ygcm93XCJcbiAgICAgICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1yb3dcIlxuICAgICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1kYXRlcGlja2VyLWJ0bi1kYXRlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3NreS1kYXRlcGlja2VyLWJ0bi1zZWxlY3RlZCc6IGRhdGUuc2VsZWN0ZWQsICdza3ktYnRuLWRpc2FibGVkJzogZGF0ZS5kaXNhYmxlZCwgJ3NreS1idG4tYWN0aXZlJzogZGF0ZXBpY2tlci5pc0FjdGl2ZShkYXRlKX1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5zZWxlY3RDYWxlbmRhcigkZXZlbnQsIGRhdGUuZGF0ZSlcIlxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydza3ktZGF0ZXBpY2tlci1jdXJyZW50JzogZGF0ZS5jdXJyZW50IH1cIj57e2RhdGUubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -23,14 +23,14 @@ export class SkyDatetimeResourcesProvider {
23
23
  */
24
24
  export class SkyDatetimeResourcesModule {
25
25
  }
26
- SkyDatetimeResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDatetimeResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- SkyDatetimeResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDatetimeResourcesModule, exports: [SkyI18nModule] });
28
- SkyDatetimeResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDatetimeResourcesModule, providers: [{
26
+ SkyDatetimeResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
+ SkyDatetimeResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, exports: [SkyI18nModule] });
28
+ SkyDatetimeResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, providers: [{
29
29
  provide: SKY_LIB_RESOURCES_PROVIDERS,
30
30
  useClass: SkyDatetimeResourcesProvider,
31
31
  multi: true
32
32
  }], imports: [SkyI18nModule] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDatetimeResourcesModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  exports: [SkyI18nModule],
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
41
41
  }]
42
42
  }]
43
43
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy9zaGFyZWQvc2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFFckIsYUFBYSxFQUdiLDJCQUEyQixFQUM1QixNQUFNLGFBQWEsQ0FBQzs7QUFFckIsTUFBTSxTQUFTLEdBQTBDO0lBQ3ZELE9BQU8sRUFBRSxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMscUJBQXFCLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQkFBcUIsRUFBQyxFQUFDO0lBQ3hSLE9BQU8sRUFBRSxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMscUJBQXFCLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQkFBcUIsRUFBQyxFQUFDO0lBQ3hSLE9BQU8sRUFBRSxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMscUJBQXFCLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQkFBcUIsRUFBQyxFQUFDO0lBQ3hSLE9BQU8sRUFBRSxFQUFDLGdDQUFnQyxFQUFDLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxFQUFDLHVDQUF1QyxFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLCtCQUErQixFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLHdCQUF3QixFQUFDLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxFQUFDLHNDQUFzQyxFQUFDLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxFQUFDLHVDQUF1QyxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMscURBQXFELEVBQUMsRUFBQyxTQUFTLEVBQUMsZ0JBQWdCLEVBQUMsRUFBQyw2Q0FBNkMsRUFBQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsRUFBQyw0Q0FBNEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQywrQ0FBK0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyw0Q0FBNEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQywrQ0FBK0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyxpREFBaUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxpREFBaUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxpREFBaUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxtREFBbUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFjLEVBQUMsRUFBQyxtREFBbUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFjLEVBQUMsRUFBQyxtREFBbUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFjLEVBQUMsRUFBQyx5REFBeUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxvQkFBb0IsRUFBQyxFQUFDLHlEQUF5RCxFQUFDLEVBQUMsU0FBUyxFQUFDLG9CQUFvQixFQUFDLEVBQUMseURBQXlELEVBQUMsRUFBQyxTQUFTLEVBQUMsb0JBQW9CLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxrQkFBa0IsRUFBQyxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLGtCQUFrQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMsa0JBQWtCLEVBQUMsRUFBQywwQ0FBMEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyx3Q0FBd0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQywyQ0FBMkMsRUFBQyxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsRUFBQywwQ0FBMEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQztDQUN4eUUsQ0FBQztBQUVGLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsU0FBUyxDQUFDLFVBQTRCLEVBQUUsSUFBWTtRQUN6RCxPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBU0gsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLFlBUDNCLGFBQWE7d0hBT1osMEJBQTBCLGFBTjFCLENBQUM7WUFDVixPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLFlBTFEsYUFBYTsyRkFPWiwwQkFBMEI7a0JBUnRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsNEJBQTRCOzRCQUN0QyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO2lCQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIG1vZHVsZXMvc2hhcmVkL3NreS1kYXRldGltZScgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZXRMaWJTdHJpbmdGb3JMb2NhbGUsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSU1xufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLUFVJzoge1wic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJUaGlzIGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJOZXh0IGZpbmFuY2lhbCB5ZWFyXCJ9fSxcbiAgJ0VOLUdCJzoge1wic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJUaGlzIGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJOZXh0IGZpbmFuY2lhbCB5ZWFyXCJ9fSxcbiAgJ0VOLU5aJzoge1wic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJUaGlzIGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJOZXh0IGZpbmFuY2lhbCB5ZWFyXCJ9fSxcbiAgJ0VOLVVTJzoge1wic2t5dXhfZGF0ZV9maWVsZF9kZWZhdWx0X2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiRGF0ZVwifSxcInNreXV4X2RhdGVwaWNrZXJfdHJpZ2dlcl9idXR0b25fbGFiZWxcIjp7XCJtZXNzYWdlXCI6XCJTZWxlY3QgZGF0ZVwifSxcInNreXV4X3RpbWVwaWNrZXJfYnV0dG9uX2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiQ2hvb3NlIHRpbWVcIn0sXCJza3l1eF90aW1lcGlja2VyX2Nsb3NlXCI6e1wibWVzc2FnZVwiOlwiRG9uZVwifSxcInNreXV4X3RpbWVwaWNrZXJfaW5wdXRfZGVmYXVsdF9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIlRpbWVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9kZWZhdWx0X2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiU2VsZWN0IGEgZGF0ZSByYW5nZVwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9zcGVjaWZpY19yYW5nZVwiOntcIm1lc3NhZ2VcIjpcIlNwZWNpZmljIHJhbmdlXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2JlZm9yZVwiOntcIm1lc3NhZ2VcIjpcIkJlZm9yZVwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9hZnRlclwiOntcIm1lc3NhZ2VcIjpcIkFmdGVyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2FueV90aW1lXCI6e1wibWVzc2FnZVwiOlwiQXQgYW55IHRpbWVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfeWVzdGVyZGF5XCI6e1wibWVzc2FnZVwiOlwiWWVzdGVyZGF5XCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RvZGF5XCI6e1wibWVzc2FnZVwiOlwiVG9kYXlcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdG9tb3Jyb3dcIjp7XCJtZXNzYWdlXCI6XCJUb21vcnJvd1wifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X3dlZWtcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IHdlZWtcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc193ZWVrXCI6e1wibWVzc2FnZVwiOlwiVGhpcyB3ZWVrXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfd2Vla1wiOntcIm1lc3NhZ2VcIjpcIk5leHQgd2Vla1wifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X21vbnRoXCI6e1wibWVzc2FnZVwiOlwiTGFzdCBtb250aFwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX21vbnRoXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBtb250aFwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X21vbnRoXCI6e1wibWVzc2FnZVwiOlwiTmV4dCBtb250aFwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X3F1YXJ0ZXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IHF1YXJ0ZXJcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19xdWFydGVyXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBxdWFydGVyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfcXVhcnRlclwiOntcIm1lc3NhZ2VcIjpcIk5leHQgcXVhcnRlclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2NhbGVuZGFyX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGNhbGVuZGFyIHllYXJcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19jYWxlbmRhcl95ZWFyXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBjYWxlbmRhciB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfY2FsZW5kYXJfeWVhclwiOntcIm1lc3NhZ2VcIjpcIk5leHQgY2FsZW5kYXIgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2Zpc2NhbF95ZWFyXCI6e1wibWVzc2FnZVwiOlwiTGFzdCBmaXNjYWwgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX2Zpc2NhbF95ZWFyXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBmaXNjYWwgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X2Zpc2NhbF95ZWFyXCI6e1wibWVzc2FnZVwiOlwiTmV4dCBmaXNjYWwgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX3N0YXJ0X2RhdGVfbGFiZWxcIjp7XCJtZXNzYWdlXCI6XCJGcm9tIGRhdGVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9lbmRfZGF0ZV9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIlRvIGRhdGVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9iZWZvcmVfZGF0ZV9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIkJlZm9yZSBkYXRlXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfYWZ0ZXJfZGF0ZV9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIkFmdGVyIGRhdGVcIn19LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreURhdGV0aW1lUmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgdXNlQ2xhc3M6IFNreURhdGV0aW1lUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXRpbWVSZXNvdXJjZXNNb2R1bGUgeyB9XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy9zaGFyZWQvc2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFFckIsYUFBYSxFQUdiLDJCQUEyQixFQUM1QixNQUFNLGFBQWEsQ0FBQzs7QUFFckIsTUFBTSxTQUFTLEdBQTBDO0lBQ3ZELE9BQU8sRUFBRSxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMscUJBQXFCLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQkFBcUIsRUFBQyxFQUFDO0lBQ3hSLE9BQU8sRUFBRSxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMscUJBQXFCLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQkFBcUIsRUFBQyxFQUFDO0lBQ3hSLE9BQU8sRUFBRSxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMscUJBQXFCLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQkFBcUIsRUFBQyxFQUFDO0lBQ3hSLE9BQU8sRUFBRSxFQUFDLGdDQUFnQyxFQUFDLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxFQUFDLHVDQUF1QyxFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLCtCQUErQixFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLHdCQUF3QixFQUFDLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxFQUFDLHNDQUFzQyxFQUFDLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxFQUFDLHVDQUF1QyxFQUFDLEVBQUMsU0FBUyxFQUFDLHFCQUFxQixFQUFDLEVBQUMscURBQXFELEVBQUMsRUFBQyxTQUFTLEVBQUMsZ0JBQWdCLEVBQUMsRUFBQyw2Q0FBNkMsRUFBQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsRUFBQyw0Q0FBNEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQywrQ0FBK0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyw0Q0FBNEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQywrQ0FBK0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyxnREFBZ0QsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyxpREFBaUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxpREFBaUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxpREFBaUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxtREFBbUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFjLEVBQUMsRUFBQyxtREFBbUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFjLEVBQUMsRUFBQyxtREFBbUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFjLEVBQUMsRUFBQyx5REFBeUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxvQkFBb0IsRUFBQyxFQUFDLHlEQUF5RCxFQUFDLEVBQUMsU0FBUyxFQUFDLG9CQUFvQixFQUFDLEVBQUMseURBQXlELEVBQUMsRUFBQyxTQUFTLEVBQUMsb0JBQW9CLEVBQUMsRUFBQyx1REFBdUQsRUFBQyxFQUFDLFNBQVMsRUFBQyxrQkFBa0IsRUFBQyxFQUFDLHVEQUF1RCxFQUFDLEVBQUMsU0FBUyxFQUFDLGtCQUFrQixFQUFDLEVBQUMsdURBQXVELEVBQUMsRUFBQyxTQUFTLEVBQUMsa0JBQWtCLEVBQUMsRUFBQywwQ0FBMEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsRUFBQyx3Q0FBd0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQywyQ0FBMkMsRUFBQyxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsRUFBQywwQ0FBMEMsRUFBQyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQztDQUN4eUUsQ0FBQztBQUVGLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsU0FBUyxDQUFDLFVBQTRCLEVBQUUsSUFBWTtRQUN6RCxPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBU0gsTUFBTSxPQUFPLDBCQUEwQjs7d0hBQTFCLDBCQUEwQjt5SEFBMUIsMEJBQTBCLFlBUDNCLGFBQWE7eUhBT1osMEJBQTBCLGFBTjFCLENBQUM7WUFDVixPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLFlBTFEsYUFBYTs0RkFPWiwwQkFBMEI7a0JBUnRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsNEJBQTRCOzRCQUN0QyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO2lCQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIG1vZHVsZXMvc2hhcmVkL3NreS1kYXRldGltZScgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZXRMaWJTdHJpbmdGb3JMb2NhbGUsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSU1xufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLUFVJzoge1wic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJUaGlzIGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJOZXh0IGZpbmFuY2lhbCB5ZWFyXCJ9fSxcbiAgJ0VOLUdCJzoge1wic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJUaGlzIGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJOZXh0IGZpbmFuY2lhbCB5ZWFyXCJ9fSxcbiAgJ0VOLU5aJzoge1wic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJUaGlzIGZpbmFuY2lhbCB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJOZXh0IGZpbmFuY2lhbCB5ZWFyXCJ9fSxcbiAgJ0VOLVVTJzoge1wic2t5dXhfZGF0ZV9maWVsZF9kZWZhdWx0X2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiRGF0ZVwifSxcInNreXV4X2RhdGVwaWNrZXJfdHJpZ2dlcl9idXR0b25fbGFiZWxcIjp7XCJtZXNzYWdlXCI6XCJTZWxlY3QgZGF0ZVwifSxcInNreXV4X3RpbWVwaWNrZXJfYnV0dG9uX2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiQ2hvb3NlIHRpbWVcIn0sXCJza3l1eF90aW1lcGlja2VyX2Nsb3NlXCI6e1wibWVzc2FnZVwiOlwiRG9uZVwifSxcInNreXV4X3RpbWVwaWNrZXJfaW5wdXRfZGVmYXVsdF9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIlRpbWVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9kZWZhdWx0X2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiU2VsZWN0IGEgZGF0ZSByYW5nZVwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9zcGVjaWZpY19yYW5nZVwiOntcIm1lc3NhZ2VcIjpcIlNwZWNpZmljIHJhbmdlXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2JlZm9yZVwiOntcIm1lc3NhZ2VcIjpcIkJlZm9yZVwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9hZnRlclwiOntcIm1lc3NhZ2VcIjpcIkFmdGVyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2FueV90aW1lXCI6e1wibWVzc2FnZVwiOlwiQXQgYW55IHRpbWVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfeWVzdGVyZGF5XCI6e1wibWVzc2FnZVwiOlwiWWVzdGVyZGF5XCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RvZGF5XCI6e1wibWVzc2FnZVwiOlwiVG9kYXlcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdG9tb3Jyb3dcIjp7XCJtZXNzYWdlXCI6XCJUb21vcnJvd1wifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X3dlZWtcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IHdlZWtcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc193ZWVrXCI6e1wibWVzc2FnZVwiOlwiVGhpcyB3ZWVrXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfd2Vla1wiOntcIm1lc3NhZ2VcIjpcIk5leHQgd2Vla1wifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X21vbnRoXCI6e1wibWVzc2FnZVwiOlwiTGFzdCBtb250aFwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX21vbnRoXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBtb250aFwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X21vbnRoXCI6e1wibWVzc2FnZVwiOlwiTmV4dCBtb250aFwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X3F1YXJ0ZXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IHF1YXJ0ZXJcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19xdWFydGVyXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBxdWFydGVyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfcXVhcnRlclwiOntcIm1lc3NhZ2VcIjpcIk5leHQgcXVhcnRlclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2NhbGVuZGFyX3llYXJcIjp7XCJtZXNzYWdlXCI6XCJMYXN0IGNhbGVuZGFyIHllYXJcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19jYWxlbmRhcl95ZWFyXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBjYWxlbmRhciB5ZWFyXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfY2FsZW5kYXJfeWVhclwiOntcIm1lc3NhZ2VcIjpcIk5leHQgY2FsZW5kYXIgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2Zpc2NhbF95ZWFyXCI6e1wibWVzc2FnZVwiOlwiTGFzdCBmaXNjYWwgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX2Zpc2NhbF95ZWFyXCI6e1wibWVzc2FnZVwiOlwiVGhpcyBmaXNjYWwgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X2Zpc2NhbF95ZWFyXCI6e1wibWVzc2FnZVwiOlwiTmV4dCBmaXNjYWwgeWVhclwifSxcInNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX3N0YXJ0X2RhdGVfbGFiZWxcIjp7XCJtZXNzYWdlXCI6XCJGcm9tIGRhdGVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9lbmRfZGF0ZV9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIlRvIGRhdGVcIn0sXCJza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9iZWZvcmVfZGF0ZV9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIkJlZm9yZSBkYXRlXCJ9LFwic2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfYWZ0ZXJfZGF0ZV9sYWJlbFwiOntcIm1lc3NhZ2VcIjpcIkFmdGVyIGRhdGVcIn19LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreURhdGV0aW1lUmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgdXNlQ2xhc3M6IFNreURhdGV0aW1lUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXRpbWVSZXNvdXJjZXNNb2R1bGUgeyB9XG4iXX0=
@@ -318,9 +318,9 @@ export class SkyTimepickerComponent {
318
318
  (_a = this.overlayKeydownListner) === null || _a === void 0 ? void 0 : _a.unsubscribe();
319
319
  }
320
320
  }
321
- SkyTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTimepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
322
- SkyTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyTimepickerComponent, selector: "sky-timepicker", outputs: { selectedTimeChanged: "selectedTimeChanged" }, viewQueries: [{ propertyName: "timepickerRef", first: true, predicate: ["timepickerRef"], descendants: true, read: ElementRef }, { propertyName: "timepickerTemplateRef", first: true, predicate: ["timepickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-timepicker\"\n>\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div\n class=\"sky-input-group\"\n >\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div\n class=\"sky-input-group-btn\"\n >\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-timepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? timepickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"'skyux_timepicker_button_label' | skyLibResources\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_timepicker_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"clock-o\"\n size=\"lg\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"clock\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #timepickerTemplateRef>\n <div\n class=\"sky-timepicker-container sky-shadow sky-box sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"timepickerId\"\n [class.sky-timepicker-hidden]=\"!isVisible\"\n #timepickerRef\n >\n <div\n class=\"sky-timepicker-content\"\n >\n <section\n class=\"sky-timepicker-column\"\n [ngClass]=\"{ 'sky-timepicker-24hour':is8601 }\"\n >\n <ol>\n <li *ngFor=\"let hour of hours;\">\n <button\n name=\"hour\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active' : selectedHour === hour }\"\n (click)=\"setTime($event)\"\n >\n {{hour}}\n </button>\n </li>\n </ol>\n </section>\n <section\n class=\"sky-timepicker-column\"\n >\n <ol>\n <li *ngFor=\"let minute of minutes;\">\n <button\n name=\"minute\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMinute === minute }\"\n (click)=\"setTime($event)\"\n >\n {{ '00' .substring(0, 2 - (minute) .toString() .length) + (minute) }}\n </button>\n </li>\n </ol>\n </section>\n <section *ngIf=\"!is8601\"\n class=\"sky-timepicker-column\"\n >\n <ol>\n <li>\n <button\n name=\"meridie\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMeridies === 'AM' }\"\n (click)=\"setTime($event)\"\n >\n AM\n </button>\n </li>\n <li>\n <button\n name=\"meridie\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMeridies === 'PM' }\"\n (click)=\"setTime($event)\"\n >\n PM\n </button>\n </li>\n </ol>\n </section>\n </div>\n <div\n class=\"sky-timepicker-footer\"\n >\n <section\n class=\"sky-timepicker-column\"\n >\n <button\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n (click)=\"onCloseButtonCick()\"\n >\n {{ 'skyux_timepicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n</ng-template>\n", styles: [".sky-timepicker-container{position:fixed;font-size:15px;padding:5px;background-color:#eeeeef;border-radius:5px}.sky-timepicker-container :last-child ol{display:flex;flex-direction:column;height:100%}.sky-timepicker-container :last-child ol li{border-bottom:1px solid #e2e3e4;flex:1}.sky-timepicker-column{margin:5px}.sky-timepicker-column ol{border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;grid-column-gap:1px;-moz-column-gap:1px;column-gap:1px;-moz-columns:2;columns:2;list-style-type:none;margin:0;padding:0}.sky-timepicker-column ol li{text-align:center;cursor:pointer;margin:0}.sky-timepicker-column ol li button{cursor:pointer}.sky-timepicker-column ol li button:focus{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.sky-timepicker-column ol li button:hover{background-color:#eeeeef}.sky-timepicker-column ol li button:active{background-color:#e2e3e4}.sky-timepicker-column ol li button.sky-btn-active:hover{background-color:#c1e8fb}.sky-timepicker-column ol .sky-btn-active{background-color:#c1e8fb;box-shadow:inset 0 0 0 2px #00b4f1;border-radius:3px}.sky-timepicker-column.sky-timepicker-24hour ol{-moz-columns:4;columns:4}.sky-timepicker-column.sky-timepicker-24hour ol li{border-bottom-width:0}.sky-timepicker-content{display:flex}.sky-timepicker-content button{background-color:#fff;border-width:0;padding:5px 15px;width:100%;height:100%}.sky-timepicker-footer{margin:0;padding:0 5px}.sky-timepicker-footer .sky-timepicker-column{margin-left:0;margin-right:0;width:100%}.sky-timepicker-hidden{visibility:hidden}.sky-timepicker-clock-icon-modern{display:none}.sky-theme-modern .sky-timepicker-clock-icon-default{display:none}.sky-theme-modern .sky-timepicker-clock-icon-modern{display:inline}.sky-theme-modern .sky-timepicker-container{background-color:#fff;border:solid 1px #cdcfd2;border-radius:6px;font-size:16px}.sky-theme-modern .sky-timepicker-container:focus-within{border:solid 2px #1870B8;padding:4px}.sky-theme-modern .sky-timepicker-container:last-child ol li{border-bottom:none}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol .sky-btn-default{border-width:1px;border-color:transparent;padding:4px 6px;outline:none}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:hover:not(.sky-btn-active){background-color:transparent}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol .sky-btn-active,.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:hover{box-shadow:inset 0 0 0 1px #00b4f1;border-radius:6px}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:active,.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:focus{outline:none;border-radius:6px;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-container{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-container:not(:focus-within){border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol{border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol button{background-color:transparent;color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol .sky-btn-active{background-color:#009cd1}\n"], components: [{ type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i6.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTimepickerComponent, decorators: [{
321
+ SkyTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
322
+ SkyTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyTimepickerComponent, selector: "sky-timepicker", outputs: { selectedTimeChanged: "selectedTimeChanged" }, viewQueries: [{ propertyName: "timepickerRef", first: true, predicate: ["timepickerRef"], descendants: true, read: ElementRef }, { propertyName: "timepickerTemplateRef", first: true, predicate: ["timepickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-timepicker\"\n>\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div\n class=\"sky-input-group\"\n >\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div\n class=\"sky-input-group-btn\"\n >\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-timepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? timepickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"'skyux_timepicker_button_label' | skyLibResources\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_timepicker_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"clock-o\"\n size=\"lg\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"clock\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #timepickerTemplateRef>\n <div\n class=\"sky-timepicker-container sky-shadow sky-box sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"timepickerId\"\n [class.sky-timepicker-hidden]=\"!isVisible\"\n #timepickerRef\n >\n <div\n class=\"sky-timepicker-content\"\n >\n <section\n class=\"sky-timepicker-column\"\n [ngClass]=\"{ 'sky-timepicker-24hour':is8601 }\"\n >\n <ol>\n <li *ngFor=\"let hour of hours;\">\n <button\n name=\"hour\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active' : selectedHour === hour }\"\n (click)=\"setTime($event)\"\n >\n {{hour}}\n </button>\n </li>\n </ol>\n </section>\n <section\n class=\"sky-timepicker-column\"\n >\n <ol>\n <li *ngFor=\"let minute of minutes;\">\n <button\n name=\"minute\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMinute === minute }\"\n (click)=\"setTime($event)\"\n >\n {{ '00' .substring(0, 2 - (minute) .toString() .length) + (minute) }}\n </button>\n </li>\n </ol>\n </section>\n <section *ngIf=\"!is8601\"\n class=\"sky-timepicker-column\"\n >\n <ol>\n <li>\n <button\n name=\"meridie\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMeridies === 'AM' }\"\n (click)=\"setTime($event)\"\n >\n AM\n </button>\n </li>\n <li>\n <button\n name=\"meridie\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMeridies === 'PM' }\"\n (click)=\"setTime($event)\"\n >\n PM\n </button>\n </li>\n </ol>\n </section>\n </div>\n <div\n class=\"sky-timepicker-footer\"\n >\n <section\n class=\"sky-timepicker-column\"\n >\n <button\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n (click)=\"onCloseButtonCick()\"\n >\n {{ 'skyux_timepicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n</ng-template>\n", styles: [".sky-timepicker-container{position:fixed;font-size:15px;padding:5px;background-color:#eeeeef;border-radius:5px}.sky-timepicker-container :last-child ol{display:flex;flex-direction:column;height:100%}.sky-timepicker-container :last-child ol li{border-bottom:1px solid #e2e3e4;flex:1}.sky-timepicker-column{margin:5px}.sky-timepicker-column ol{border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;grid-column-gap:1px;column-gap:1px;columns:2;list-style-type:none;margin:0;padding:0}.sky-timepicker-column ol li{text-align:center;cursor:pointer;margin:0}.sky-timepicker-column ol li button{cursor:pointer}.sky-timepicker-column ol li button:focus{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.sky-timepicker-column ol li button:hover{background-color:#eeeeef}.sky-timepicker-column ol li button:active{background-color:#e2e3e4}.sky-timepicker-column ol li button.sky-btn-active:hover{background-color:#c1e8fb}.sky-timepicker-column ol .sky-btn-active{background-color:#c1e8fb;box-shadow:inset 0 0 0 2px #00b4f1;border-radius:3px}.sky-timepicker-column.sky-timepicker-24hour ol{columns:4}.sky-timepicker-column.sky-timepicker-24hour ol li{border-bottom-width:0}.sky-timepicker-content{display:flex}.sky-timepicker-content button{background-color:#fff;border-width:0;padding:5px 15px;width:100%;height:100%}.sky-timepicker-footer{margin:0;padding:0 5px}.sky-timepicker-footer .sky-timepicker-column{margin-left:0;margin-right:0;width:100%}.sky-timepicker-hidden{visibility:hidden}.sky-timepicker-clock-icon-modern{display:none}.sky-theme-modern .sky-timepicker-clock-icon-default{display:none}.sky-theme-modern .sky-timepicker-clock-icon-modern{display:inline}.sky-theme-modern .sky-timepicker-container{background-color:#fff;border:solid 1px #cdcfd2;border-radius:6px;font-size:16px}.sky-theme-modern .sky-timepicker-container:focus-within{border:solid 2px #1870B8;padding:4px}.sky-theme-modern .sky-timepicker-container:last-child ol li{border-bottom:none}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol .sky-btn-default{border-width:1px;border-color:transparent;padding:4px 6px;outline:none}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:hover:not(.sky-btn-active){background-color:transparent}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol .sky-btn-active,.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:hover{box-shadow:inset 0 0 0 1px #00b4f1;border-radius:6px}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:active,.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:focus{outline:none;border-radius:6px;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-container{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-container:not(:focus-within){border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol{border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol button{background-color:transparent;color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol .sky-btn-active{background-color:#009cd1}\n"], components: [{ type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i6.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerComponent, decorators: [{
324
324
  type: Component,
325
325
  args: [{
326
326
  selector: 'sky-timepicker',
@@ -363,4 +363,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
363
363
  static: true
364
364
  }]
365
365
  }] } });
366
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0ZXRpbWUvc3JjL21vZHVsZXMvdGltZXBpY2tlci90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBR1osUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsc0JBQXNCLEVBTXZCLE1BQU0sYUFBYSxDQUFDO0FBVXJCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUVSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBTXhCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTs7Ozs7Ozs7QUFFM0IsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7Ozs7O0dBS0c7QUFRSCxNQUFNLE9BQU8sc0JBQXNCO0lBNkxqQyxZQUNVLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFdBQWtDLEVBQ2xDLGNBQWlDLEVBQ3RCLG1CQUE0QyxFQUNuRCxRQUEwQjtRQUw5QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQWhNakU7O1dBRUc7UUFFSSx3QkFBbUIsR0FDeEIsSUFBSSxZQUFZLEVBQTJC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YTtzQkFIeEIsU0FBUzt1QkFBQyxlQUFlLEVBQUU7d0JBQzFCLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkErQk8scUJBQXFCO3NCQUg1QixTQUFTO3VCQUFDLHVCQUF1QixFQUFFO3dCQUNsQyxJQUFJLEVBQUUsV0FBVztxQkFDbEI7Z0JBTU8sZ0JBQWdCO3NCQUh2QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsVUFBVTtxQkFDakI7Z0JBT08sZ0JBQWdCO3NCQUp2QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT08sd0JBQXdCO3NCQUovQixTQUFTO3VCQUFDLDBCQUEwQixFQUFFO3dCQUNyQyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUFmZml4QXV0b0ZpdENvbnRleHQsXG4gIFNreUFmZml4ZXIsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lPdmVybGF5SW5zdGFuY2UsXG4gIFNreU92ZXJsYXlTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5SW5wdXRCb3hIb3N0U2VydmljZVxufSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50LFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb25cbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0XG59IGZyb20gJy4vdGltZXBpY2tlci5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIlxuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgU0tZIFVYLXRoZW1lZCByZXBsYWNlbWVudCBmb3IgdGhlIEhUTUwgYGlucHV0YCBlbGVtZW50IHdpdGggYHR5cGU9XCJ0aW1lXCJgLlxuICogVGhlIHZhbHVlIHRoYXQgdXNlcnMgc2VsZWN0IGlzIGRyaXZlbiB0aHJvdWdoIHRoZSBgbmdNb2RlbGAgYXR0cmlidXRlXG4gKiBzcGVjaWZpZWQgb24gdGhlIGBpbnB1dGAgZWxlbWVudC4gWW91IG11c3Qgd3JhcCB0aGlzIGNvbXBvbmVudCBhcm91bmQgYW4gYGlucHV0YFxuICogd2l0aCB0aGUgYHNreVRpbWVwaWNrZXJJbnB1dGAgZGlyZWN0aXZlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGltZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB2YWx1ZSBpbiB0aGUgdGltZXBpY2tlciBpbnB1dCBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZFRpbWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2t5VGltZXBpY2tlclRpbWVPdXRwdXQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0PigpO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRIb3VyKHNldEhvdXI6IG51bWJlcikge1xuICAgIGxldCBob3VyOiBudW1iZXI7XG4gICAgbGV0IGhvdXJPZmZzZXQ6IG51bWJlciA9IDA7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNZXJpZGllcyA9PT0gJ0FNJyAmJiBzZXRIb3VyID09PSAxMikgeyBob3VyT2Zmc2V0ID0gLTEyOyB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNZXJpZGllcyA9PT0gJ1BNJyAmJiBzZXRIb3VyICE9PSAxMikgeyBob3VyT2Zmc2V0ID0gMTI7IH1cbiAgICBpZiAodGhpcy5pczg2MDEpIHsgaG91ck9mZnNldCA9IDA7IH1cbiAgICBob3VyID0gbW9tZW50KHsgJ2hvdXInOiBzZXRIb3VyIH0pLmFkZChob3VyT2Zmc2V0LCAnaG91cnMnKS5ob3VyKCk7XG5cbiAgICB0aGlzLmFjdGl2ZVRpbWUgPSBtb21lbnQoe1xuICAgICAgJ2hvdXInOiBob3VyLFxuICAgICAgJ21pbnV0ZSc6IG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmdldCgnbWludXRlJykgKyAwXG4gICAgfSkudG9EYXRlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWVDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZFRpbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZEhvdXIoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXM4NjAxKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuIHBhcnNlSW50KG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmZvcm1hdCgnaCcpLCAwKSB8fCAxO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmlzODYwMSkge1xuICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmhvdXIoKSArIDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBzZWxlY3RlZE1lcmlkaWVzKG1lcmlkaWVzOiBzdHJpbmcpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5pczg2MDEpIHtcbiAgICAgIGlmIChtZXJpZGllcy50cmltKCkgIT09IHRoaXMuc2VsZWN0ZWRNZXJpZGllcykge1xuICAgICAgICB0aGlzLmFjdGl2ZVRpbWUgPSBtb21lbnQodGhpcy5hY3RpdmVUaW1lKS5hZGQoMTIsICdob3VycycpLnRvRGF0ZSgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGltZUNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkVGltZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZE1lcmlkaWVzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGltZSkge1xuICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmZvcm1hdCgnQScpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGVkTWludXRlKG1pbnV0ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVUaW1lID0gbW9tZW50KHtcbiAgICAgICdob3VyJzogbW9tZW50KHRoaXMuYWN0aXZlVGltZSkuZ2V0KCdob3VyJykgKyAwLFxuICAgICAgJ21pbnV0ZSc6IG1pbnV0ZVxuICAgIH0pLnRvRGF0ZSgpO1xuICAgIHRoaXMuc2VsZWN0ZWRUaW1lQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRUaW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRNaW51dGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KHRoaXMuYWN0aXZlVGltZSkubWludXRlKCkgKyAwO1xuICB9XG5cbiAgcHVibGljIHNldCBzZWxlY3RlZFRpbWUobmV3VGltZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQpIHtcbiAgICBpZiAodHlwZW9mIG5ld1RpbWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAobmV3VGltZS5sb2NhbCAhPT0gJ0ludmFsaWQgZGF0ZScpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUaW1lID0gbmV3VGltZS5pc284NjAxO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRUaW1lKCk6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHtcbiAgICBjb25zdCB0aW1lOiBTa3lUaW1lcGlja2VyVGltZU91dHB1dCA9IHtcbiAgICAgIGhvdXI6IG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmhvdXIoKSxcbiAgICAgIG1pbnV0ZTogbW9tZW50KHRoaXMuYWN0aXZlVGltZSkubWludXRlKCksXG4gICAgICBtZXJpZGllOiBtb21lbnQodGhpcy5hY3RpdmVUaW1lKS5mb3JtYXQoJ0EnKSxcbiAgICAgIHRpbWV6b25lOiBwYXJzZUludChtb21lbnQodGhpcy5hY3RpdmVUaW1lKS5mb3JtYXQoJ1onKSwgMTApLFxuICAgICAgaXNvODYwMTogdGhpcy5hY3RpdmVUaW1lLFxuICAgICAgbG9jYWw6IG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmZvcm1hdCh0aGlzLmxvY2FsZUZvcm1hdCksXG4gICAgICBjdXN0b21Gb3JtYXQ6ICh0eXBlb2YgdGhpcy5yZXR1cm5Gb3JtYXQgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICA/IHRoaXMucmV0dXJuRm9ybWF0IDogdGhpcy5sb2NhbGVGb3JtYXRcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRpbWU7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlVGltZTogRGF0ZTtcblxuICBwdWJsaWMgaG91cnM6IEFycmF5PG51bWJlcj47XG5cbiAgcHVibGljIGlzODYwMTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW47XG5cbiAgcHVibGljIGlzVmlzaWJsZTogYm9vbGVhbjtcblxuICBwdWJsaWMgbG9jYWxlRm9ybWF0OiBzdHJpbmc7XG5cbiAgcHVibGljIG1pbnV0ZXM6IEFycmF5PG51bWJlcj47XG5cbiAgcHVibGljIG1pbnV0ZU11bHRpcGxpZXI6IG51bWJlcjtcblxuICBwdWJsaWMgcmV0dXJuRm9ybWF0OiBzdHJpbmc7XG5cbiAgcHVibGljIHRpbWVGb3JtYXQ6IHN0cmluZyA9ICdoaCc7XG5cbiAgcHVibGljIHRpbWVwaWNrZXJJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0cmlnZ2VyQnV0dG9uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCd0aW1lcGlja2VyUmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWZcbiAgfSlcbiAgcHJpdmF0ZSBzZXQgdGltZXBpY2tlclJlZih2YWx1ZTogRWxlbWVudFJlZikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fdGltZXBpY2tlclJlZiA9IHZhbHVlO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgdGltZXBpY2tlciBjb21wb25lbnQgdG8gcmVuZGVyIGJlZm9yZSBndWFnaW5nIGRpbWVuc2lvbnMuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgICAgICB0aGlzLmNyZWF0ZUFmZml4ZXIoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgICAgIHRoaXMudGltZXBpY2tlclJlZixcbiAgICAgICAgICAgICcuc2t5LXRpbWVwaWNrZXItY29udGVudCcsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB0aW1lcGlja2VyUmVmKCk6IEVsZW1lbnRSZWYge1xuICAgIHJldHVybiB0aGlzLl90aW1lcGlja2VyUmVmO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGltZXBpY2tlclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmXG4gIH0pXG4gIHByaXZhdGUgdGltZXBpY2tlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25SZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZlxuICB9KVxuICBwcml2YXRlIHRyaWdnZXJCdXR0b25SZWY6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRUZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSBpbnB1dFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSB0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBhZmZpeGVyOiBTa3lBZmZpeGVyO1xuXG4gIHByaXZhdGUgdGltZXBpY2tlclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBvdmVybGF5OiBTa3lPdmVybGF5SW5zdGFuY2U7XG5cbiAgcHJpdmF0ZSBvdmVybGF5S2V5ZG93bkxpc3RuZXI6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF90aW1lcGlja2VyUmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBpbnB1dEJveEhvc3RTZXJ2aWNlPzogU2t5SW5wdXRCb3hIb3N0U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICBjb25zdCB1bmlxdWVJZCA9IG5leHRJZCsrO1xuICAgIHRoaXMudGltZXBpY2tlcklkID0gYHNreS10aW1lcGlja2VyLSR7dW5pcXVlSWR9YDtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGBza3ktdGltZXBpY2tlci1idXR0b24tJHt1bmlxdWVJZH1gO1xuXG4gICAgLy8gVXBkYXRlIGljb25zIHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAgICB0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIHRoaXMuYWRkS2V5ZG93bkxpc3RuZXIoKTtcblxuICAgIGlmICh0aGlzLmlucHV0Qm94SG9zdFNlcnZpY2UpIHtcbiAgICAgIHRoaXMuaW5wdXRCb3hIb3N0U2VydmljZS5wb3B1bGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIGlucHV0VGVtcGxhdGU6IHRoaXMuaW5wdXRUZW1wbGF0ZVJlZixcbiAgICAgICAgICBidXR0b25zVGVtcGxhdGU6IHRoaXMudHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybWF0KGZvcm1hdDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGg6IG51bWJlciA9IDEyO1xuICAgIGxldCBtOiBudW1iZXIgPSAxMjtcbiAgICBsZXQgbWludXRlTXVsdGlwbGllcjogbnVtYmVyID0gNTtcbiAgICBsZXQgbG9jYWxlRm9ybWF0OiBzdHJpbmcgPSAnaDptbSBBJztcbiAgICBpZiAoZm9ybWF0ID09PSAnaGgnKSB7XG4gICAgICBoID0gMTI7XG4gICAgICBtID0gMTI7XG4gICAgICBtaW51dGVNdWx0aXBsaWVyID0gNTtcbiAgICAgIGxvY2FsZUZvcm1hdCA9ICdoOm1tIEEnO1xuICAgICAgdGhpcy5pczg2MDEgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGZvcm1hdCA9PT0gJ0hIJykge1xuICAgICAgaCA9IDI0O1xuICAgICAgbSA9IDQ7XG4gICAgICBtaW51dGVNdWx0aXBsaWVyID0gMTU7XG4gICAgICBsb2NhbGVGb3JtYXQgPSAnSEg6bW0nO1xuICAgICAgdGhpcy5pczg2MDEgPSB0cnVlO1xuICAgIH1cbiAgICBsZXQgZGF0YToge1xuICAgICAgJ2hvdXJzJzogQXJyYXk8bnVtYmVyPixcbiAgICAgICdtaW51dGVzJzogQXJyYXk8bnVtYmVyPixcbiAgICAgICdsb2NhbGVGb3JtYXQnOiBzdHJpbmcsXG4gICAgICAnbWludXRlTXVsdGlwbGllcic6IG51bWJlclxuICAgIH07XG5cbiAgICBkYXRhID0ge1xuICAgICAgJ2hvdXJzJzogQXJyYXkuYXBwbHkodW5kZWZpbmVkLCBBcnJheShoKSlcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoeDogbnVtYmVyLCBpOiBudW1iZXIpIHtcbiAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnaGgnKSB7IHJldHVybiArK2k7IH1cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChmb3JtYXQgPT09ICdISCcpIHsgcmV0dXJuIGk7IH1cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9KSxcbiAgICAgICdtaW51dGVzJzogQXJyYXkuYXBwbHkodW5kZWZpbmVkLCBBcnJheShtKSlcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoeDogbnVtYmVyLCBpOiBudW1iZXIpIHtcbiAgICAgICAgICByZXR1cm4gaSAqIG1pbnV0ZU11bHRpcGxpZXI7XG4gICAgICAgIH0pLFxuICAgICAgJ2xvY2FsZUZvcm1hdCc6IGxvY2FsZUZvcm1hdCxcbiAgICAgICdtaW51dGVNdWx0aXBsaWVyJzogbWludXRlTXVsdGlwbGllclxuICAgIH07XG5cbiAgICB0aGlzLmhvdXJzID0gZGF0YS5ob3VycztcbiAgICB0aGlzLm1pbnV0ZXMgPSBkYXRhLm1pbnV0ZXM7XG4gICAgdGhpcy5sb2NhbGVGb3JtYXQgPSBkYXRhLmxvY2FsZUZvcm1hdDtcbiAgICB0aGlzLm1pbnV0ZU11bHRpcGxpZXIgPSBkYXRhLm1pbnV0ZU11bHRpcGxpZXI7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUJ1dHRvbkNpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICB9XG5cbiAgcHVibGljIHNldFRpbWUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHR5cGVvZiBldmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5uYW1lID09PSAnaG91cicpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC5pbm5lckhUTUwsIDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC50YXJnZXQubmFtZSA9PT0gJ21pbnV0ZScpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LmlubmVySFRNTCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5uYW1lID09PSAnbWVyaWRpZScpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVyaWRpZXMgPSBldmVudC50YXJnZXQuaW5uZXJIVE1MO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVHJpZ2dlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3BlblBpY2tlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZVBpY2tlcigpIHtcbiAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25SZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG9wZW5QaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG5cbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQWZmaXhlcigpOiB2b2lkIHtcbiAgICBjb25zdCBhZmZpeGVyID0gdGhpcy5hZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLnRpbWVwaWNrZXJSZWYpO1xuXG4gICAgLy8gSGlkZSB0aW1lcGlja2VyIHdoZW4gdHJpZ2dlciBidXR0b24gaXMgc2Nyb2xsZWQgb2ZmIHNjcmVlbi5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IChjaGFuZ2UucGxhY2VtZW50ICE9PSBudWxsKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgYWZmaXhlci5hZmZpeFRvKHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAncmlnaHQnLFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdiZWxvdydcbiAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLmFmZml4ZXIpIHtcbiAgICAgIHRoaXMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgb3ZlcmxheS5iYWNrZHJvcENsaWNrXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy50aW1lcGlja2VyVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmFkZEtleWRvd25MaXN0bmVyKCk7XG5cbiAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMudGltZXBpY2tlclRlbXBsYXRlUmVmKTtcblxuICAgIHRoaXMub3ZlcmxheSA9IG92ZXJsYXk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEtleWRvd25MaXN0bmVyKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheUtleWRvd25MaXN0bmVyID0gZnJvbUV2ZW50KHdpbmRvdy5kb2N1bWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChrZXkgPT09ICdlc2NhcGUnICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy50aW1lcGlja2VyVW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgIHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLnRpbWVwaWNrZXJVbnN1YnNjcmliZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLm92ZXJsYXlLZXlkb3duTGlzdG5lcj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS10aW1lcGlja2VyXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dEJveEhvc3RTZXJ2aWNlXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZVJlZj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG5cIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1pbnB1dC1ncm91cC10aW1lcGlja2VyLWJ0blwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXNPcGVuID8gdGltZXBpY2tlcklkIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF90aW1lcGlja2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2F0dHIuaWRdPVwidHJpZ2dlckJ1dHRvbklkXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cIidza3l1eF90aW1lcGlja2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblRyaWdnZXJCdXR0b25DbGljaygpXCJcbiAgICAgICN0cmlnZ2VyQnV0dG9uUmVmXG4gICAgPlxuICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgaWNvbj1cImNsb2NrLW9cIlxuICAgICAgICBzaXplPVwibGdcIlxuICAgICAgPjwvc2t5LWljb24+XG4gICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgIGljb249XCJjbG9ja1wiXG4gICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgPjwvc2t5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0aW1lcGlja2VyVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS10aW1lcGlja2VyLWNvbnRhaW5lciBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi00XCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidHJpZ2dlckJ1dHRvbklkXCJcbiAgICBbYXR0ci5pZF09XCJ0aW1lcGlja2VySWRcIlxuICAgIFtjbGFzcy5za3ktdGltZXBpY2tlci1oaWRkZW5dPVwiIWlzVmlzaWJsZVwiXG4gICAgI3RpbWVwaWNrZXJSZWZcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LXRpbWVwaWNrZXItY29udGVudFwiXG4gICAgPlxuICAgICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJza3ktdGltZXBpY2tlci1jb2x1bW5cIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktdGltZXBpY2tlci0yNGhvdXInOmlzODYwMSB9XCJcbiAgICAgID5cbiAgICAgICAgPG9sPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaG91ciBvZiBob3VycztcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbmFtZT1cImhvdXJcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWJ0bi1hY3RpdmUnIDogc2VsZWN0ZWRIb3VyID09PSBob3VyIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tob3VyfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvb2w+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cInNreS10aW1lcGlja2VyLWNvbHVtblwiXG4gICAgICA+XG4gICAgICAgIDxvbD5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG1pbnV0ZSBvZiBtaW51dGVzO1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBuYW1lPVwibWludXRlXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1idG4tYWN0aXZlJzogc2VsZWN0ZWRNaW51dGUgPT09IG1pbnV0ZSB9XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRpbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICcwMCcgLnN1YnN0cmluZygwLCAyIC0gKG1pbnV0ZSkgLnRvU3RyaW5nKCkgLmxlbmd0aCkgKyAobWludXRlKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9vbD5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDxzZWN0aW9uICpuZ0lmPVwiIWlzODYwMVwiXG4gICAgICAgIGNsYXNzPVwic2t5LXRpbWVwaWNrZXItY29sdW1uXCJcbiAgICAgID5cbiAgICAgICAgPG9sPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbmFtZT1cIm1lcmlkaWVcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWJ0bi1hY3RpdmUnOiBzZWxlY3RlZE1lcmlkaWVzID09PSAnQU0nIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQU1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBuYW1lPVwibWVyaWRpZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktYnRuLWFjdGl2ZSc6IHNlbGVjdGVkTWVyaWRpZXMgPT09ICdQTScgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZXRUaW1lKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBQTVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9vbD5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS10aW1lcGlja2VyLWZvb3RlclwiXG4gICAgPlxuICAgICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJza3ktdGltZXBpY2tlci1jb2x1bW5cIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VCdXR0b25DaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ3NreXV4X3RpbWVwaWNrZXJfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0ZXRpbWUvc3JjL21vZHVsZXMvdGltZXBpY2tlci90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBR1osUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsc0JBQXNCLEVBTXZCLE1BQU0sYUFBYSxDQUFDO0FBVXJCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUVSLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBTXhCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTs7Ozs7Ozs7QUFFM0IsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7Ozs7O0dBS0c7QUFRSCxNQUFNLE9BQU8sc0JBQXNCO0lBNkxqQyxZQUNVLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFdBQWtDLEVBQ2xDLGNBQWlDLEVBQ3RCLG1CQUE0QyxFQUNuRCxRQUEwQjtRQUw5QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQWhNakU7O1dBRUc7UUFFSSx3QkFBbUIsR0FDeEIsSUFBSSxZQUFZLEVBQTJC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YTtzQkFIeEIsU0FBUzt1QkFBQyxlQUFlLEVBQUU7d0JBQzFCLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkErQk8scUJBQXFCO3NCQUg1QixTQUFTO3VCQUFDLHVCQUF1QixFQUFFO3dCQUNsQyxJQUFJLEVBQUUsV0FBVztxQkFDbEI7Z0JBTU8sZ0JBQWdCO3NCQUh2QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsVUFBVTtxQkFDakI7Z0JBT08sZ0JBQWdCO3NCQUp2QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT08sd0JBQXdCO3NCQUovQixTQUFTO3VCQUFDLDBCQUEwQixFQUFFO3dCQUNyQyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUFmZml4QXV0b0ZpdENvbnRleHQsXG4gIFNreUFmZml4ZXIsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lPdmVybGF5SW5zdGFuY2UsXG4gIFNreU92ZXJsYXlTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5SW5wdXRCb3hIb3N0U2VydmljZVxufSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50LFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb25cbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0XG59IGZyb20gJy4vdGltZXBpY2tlci5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIlxuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgU0tZIFVYLXRoZW1lZCByZXBsYWNlbWVudCBmb3IgdGhlIEhUTUwgYGlucHV0YCBlbGVtZW50IHdpdGggYHR5cGU9XCJ0aW1lXCJgLlxuICogVGhlIHZhbHVlIHRoYXQgdXNlcnMgc2VsZWN0IGlzIGRyaXZlbiB0aHJvdWdoIHRoZSBgbmdNb2RlbGAgYXR0cmlidXRlXG4gKiBzcGVjaWZpZWQgb24gdGhlIGBpbnB1dGAgZWxlbWVudC4gWW91IG11c3Qgd3JhcCB0aGlzIGNvbXBvbmVudCBhcm91bmQgYW4gYGlucHV0YFxuICogd2l0aCB0aGUgYHNreVRpbWVwaWNrZXJJbnB1dGAgZGlyZWN0aXZlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGltZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB2YWx1ZSBpbiB0aGUgdGltZXBpY2tlciBpbnB1dCBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZFRpbWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2t5VGltZXBpY2tlclRpbWVPdXRwdXQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0PigpO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRIb3VyKHNldEhvdXI6IG51bWJlcikge1xuICAgIGxldCBob3VyOiBudW1iZXI7XG4gICAgbGV0IGhvdXJPZmZzZXQ6IG51bWJlciA9IDA7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNZXJpZGllcyA9PT0gJ0FNJyAmJiBzZXRIb3VyID09PSAxMikgeyBob3VyT2Zmc2V0ID0gLTEyOyB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNZXJpZGllcyA9PT0gJ1BNJyAmJiBzZXRIb3VyICE9PSAxMikgeyBob3VyT2Zmc2V0ID0gMTI7IH1cbiAgICBpZiAodGhpcy5pczg2MDEpIHsgaG91ck9mZnNldCA9IDA7IH1cbiAgICBob3VyID0gbW9tZW50KHsgJ2hvdXInOiBzZXRIb3VyIH0pLmFkZChob3VyT2Zmc2V0LCAnaG91cnMnKS5ob3VyKCk7XG5cbiAgICB0aGlzLmFjdGl2ZVRpbWUgPSBtb21lbnQoe1xuICAgICAgJ2hvdXInOiBob3VyLFxuICAgICAgJ21pbnV0ZSc6IG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmdldCgnbWludXRlJykgKyAwXG4gICAgfSkudG9EYXRlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWVDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZFRpbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZEhvdXIoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXM4NjAxKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuIHBhcnNlSW50KG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmZvcm1hdCgnaCcpLCAwKSB8fCAxO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmlzODYwMSkge1xuICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmhvdXIoKSArIDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBzZWxlY3RlZE1lcmlkaWVzKG1lcmlkaWVzOiBzdHJpbmcpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5pczg2MDEpIHtcbiAgICAgIGlmIChtZXJpZGllcy50cmltKCkgIT09IHRoaXMuc2VsZWN0ZWRNZXJpZGllcykge1xuICAgICAgICB0aGlzLmFjdGl2ZVRpbWUgPSBtb21lbnQodGhpcy5hY3RpdmVUaW1lKS5hZGQoMTIsICdob3VycycpLnRvRGF0ZSgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGltZUNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkVGltZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZE1lcmlkaWVzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGltZSkge1xuICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmZvcm1hdCgnQScpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGVkTWludXRlKG1pbnV0ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVUaW1lID0gbW9tZW50KHtcbiAgICAgICdob3VyJzogbW9tZW50KHRoaXMuYWN0aXZlVGltZSkuZ2V0KCdob3VyJykgKyAwLFxuICAgICAgJ21pbnV0ZSc6IG1pbnV0ZVxuICAgIH0pLnRvRGF0ZSgpO1xuICAgIHRoaXMuc2VsZWN0ZWRUaW1lQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRUaW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRNaW51dGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KHRoaXMuYWN0aXZlVGltZSkubWludXRlKCkgKyAwO1xuICB9XG5cbiAgcHVibGljIHNldCBzZWxlY3RlZFRpbWUobmV3VGltZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQpIHtcbiAgICBpZiAodHlwZW9mIG5ld1RpbWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAobmV3VGltZS5sb2NhbCAhPT0gJ0ludmFsaWQgZGF0ZScpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUaW1lID0gbmV3VGltZS5pc284NjAxO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRUaW1lKCk6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHtcbiAgICBjb25zdCB0aW1lOiBTa3lUaW1lcGlja2VyVGltZU91dHB1dCA9IHtcbiAgICAgIGhvdXI6IG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmhvdXIoKSxcbiAgICAgIG1pbnV0ZTogbW9tZW50KHRoaXMuYWN0aXZlVGltZSkubWludXRlKCksXG4gICAgICBtZXJpZGllOiBtb21lbnQodGhpcy5hY3RpdmVUaW1lKS5mb3JtYXQoJ0EnKSxcbiAgICAgIHRpbWV6b25lOiBwYXJzZUludChtb21lbnQodGhpcy5hY3RpdmVUaW1lKS5mb3JtYXQoJ1onKSwgMTApLFxuICAgICAgaXNvODYwMTogdGhpcy5hY3RpdmVUaW1lLFxuICAgICAgbG9jYWw6IG1vbWVudCh0aGlzLmFjdGl2ZVRpbWUpLmZvcm1hdCh0aGlzLmxvY2FsZUZvcm1hdCksXG4gICAgICBjdXN0b21Gb3JtYXQ6ICh0eXBlb2YgdGhpcy5yZXR1cm5Gb3JtYXQgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICA/IHRoaXMucmV0dXJuRm9ybWF0IDogdGhpcy5sb2NhbGVGb3JtYXRcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRpbWU7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlVGltZTogRGF0ZTtcblxuICBwdWJsaWMgaG91cnM6IEFycmF5PG51bWJlcj47XG5cbiAgcHVibGljIGlzODYwMTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW47XG5cbiAgcHVibGljIGlzVmlzaWJsZTogYm9vbGVhbjtcblxuICBwdWJsaWMgbG9jYWxlRm9ybWF0OiBzdHJpbmc7XG5cbiAgcHVibGljIG1pbnV0ZXM6IEFycmF5PG51bWJlcj47XG5cbiAgcHVibGljIG1pbnV0ZU11bHRpcGxpZXI6IG51bWJlcjtcblxuICBwdWJsaWMgcmV0dXJuRm9ybWF0OiBzdHJpbmc7XG5cbiAgcHVibGljIHRpbWVGb3JtYXQ6IHN0cmluZyA9ICdoaCc7XG5cbiAgcHVibGljIHRpbWVwaWNrZXJJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0cmlnZ2VyQnV0dG9uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCd0aW1lcGlja2VyUmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWZcbiAgfSlcbiAgcHJpdmF0ZSBzZXQgdGltZXBpY2tlclJlZih2YWx1ZTogRWxlbWVudFJlZikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fdGltZXBpY2tlclJlZiA9IHZhbHVlO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgdGltZXBpY2tlciBjb21wb25lbnQgdG8gcmVuZGVyIGJlZm9yZSBndWFnaW5nIGRpbWVuc2lvbnMuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgICAgICB0aGlzLmNyZWF0ZUFmZml4ZXIoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgICAgIHRoaXMudGltZXBpY2tlclJlZixcbiAgICAgICAgICAgICcuc2t5LXRpbWVwaWNrZXItY29udGVudCcsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCB0aW1lcGlja2VyUmVmKCk6IEVsZW1lbnRSZWYge1xuICAgIHJldHVybiB0aGlzLl90aW1lcGlja2VyUmVmO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGltZXBpY2tlclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmXG4gIH0pXG4gIHByaXZhdGUgdGltZXBpY2tlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25SZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZlxuICB9KVxuICBwcml2YXRlIHRyaWdnZXJCdXR0b25SZWY6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRUZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSBpbnB1dFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWVcbiAgfSlcbiAgcHJpdmF0ZSB0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBhZmZpeGVyOiBTa3lBZmZpeGVyO1xuXG4gIHByaXZhdGUgdGltZXBpY2tlclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+O1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBvdmVybGF5OiBTa3lPdmVybGF5SW5zdGFuY2U7XG5cbiAgcHJpdmF0ZSBvdmVybGF5S2V5ZG93bkxpc3RuZXI6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF90aW1lcGlja2VyUmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBpbnB1dEJveEhvc3RTZXJ2aWNlPzogU2t5SW5wdXRCb3hIb3N0U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICBjb25zdCB1bmlxdWVJZCA9IG5leHRJZCsrO1xuICAgIHRoaXMudGltZXBpY2tlcklkID0gYHNreS10aW1lcGlja2VyLSR7dW5pcXVlSWR9YDtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGBza3ktdGltZXBpY2tlci1idXR0b24tJHt1bmlxdWVJZH1gO1xuXG4gICAgLy8gVXBkYXRlIGljb25zIHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAgICB0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIHRoaXMuYWRkS2V5ZG93bkxpc3RuZXIoKTtcblxuICAgIGlmICh0aGlzLmlucHV0Qm94SG9zdFNlcnZpY2UpIHtcbiAgICAgIHRoaXMuaW5wdXRCb3hIb3N0U2VydmljZS5wb3B1bGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIGlucHV0VGVtcGxhdGU6IHRoaXMuaW5wdXRUZW1wbGF0ZVJlZixcbiAgICAgICAgICBidXR0b25zVGVtcGxhdGU6IHRoaXMudHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybWF0KGZvcm1hdDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGg6IG51bWJlciA9IDEyO1xuICAgIGxldCBtOiBudW1iZXIgPSAxMjtcbiAgICBsZXQgbWludXRlTXVsdGlwbGllcjogbnVtYmVyID0gNTtcbiAgICBsZXQgbG9jYWxlRm9ybWF0OiBzdHJpbmcgPSAnaDptbSBBJztcbiAgICBpZiAoZm9ybWF0ID09PSAnaGgnKSB7XG4gICAgICBoID0gMTI7XG4gICAgICBtID0gMTI7XG4gICAgICBtaW51dGVNdWx0aXBsaWVyID0gNTtcbiAgICAgIGxvY2FsZUZvcm1hdCA9ICdoOm1tIEEnO1xuICAgICAgdGhpcy5pczg2MDEgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGZvcm1hdCA9PT0gJ0hIJykge1xuICAgICAgaCA9IDI0O1xuICAgICAgbSA9IDQ7XG4gICAgICBtaW51dGVNdWx0aXBsaWVyID0gMTU7XG4gICAgICBsb2NhbGVGb3JtYXQgPSAnSEg6bW0nO1xuICAgICAgdGhpcy5pczg2MDEgPSB0cnVlO1xuICAgIH1cbiAgICBsZXQgZGF0YToge1xuICAgICAgJ2hvdXJzJzogQXJyYXk8bnVtYmVyPixcbiAgICAgICdtaW51dGVzJzogQXJyYXk8bnVtYmVyPixcbiAgICAgICdsb2NhbGVGb3JtYXQnOiBzdHJpbmcsXG4gICAgICAnbWludXRlTXVsdGlwbGllcic6IG51bWJlclxuICAgIH07XG5cbiAgICBkYXRhID0ge1xuICAgICAgJ2hvdXJzJzogQXJyYXkuYXBwbHkodW5kZWZpbmVkLCBBcnJheShoKSlcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoeDogbnVtYmVyLCBpOiBudW1iZXIpIHtcbiAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnaGgnKSB7IHJldHVybiArK2k7IH1cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChmb3JtYXQgPT09ICdISCcpIHsgcmV0dXJuIGk7IH1cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9KSxcbiAgICAgICdtaW51dGVzJzogQXJyYXkuYXBwbHkodW5kZWZpbmVkLCBBcnJheShtKSlcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoeDogbnVtYmVyLCBpOiBudW1iZXIpIHtcbiAgICAgICAgICByZXR1cm4gaSAqIG1pbnV0ZU11bHRpcGxpZXI7XG4gICAgICAgIH0pLFxuICAgICAgJ2xvY2FsZUZvcm1hdCc6IGxvY2FsZUZvcm1hdCxcbiAgICAgICdtaW51dGVNdWx0aXBsaWVyJzogbWludXRlTXVsdGlwbGllclxuICAgIH07XG5cbiAgICB0aGlzLmhvdXJzID0gZGF0YS5ob3VycztcbiAgICB0aGlzLm1pbnV0ZXMgPSBkYXRhLm1pbnV0ZXM7XG4gICAgdGhpcy5sb2NhbGVGb3JtYXQgPSBkYXRhLmxvY2FsZUZvcm1hdDtcbiAgICB0aGlzLm1pbnV0ZU11bHRpcGxpZXIgPSBkYXRhLm1pbnV0ZU11bHRpcGxpZXI7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUJ1dHRvbkNpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICB9XG5cbiAgcHVibGljIHNldFRpbWUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHR5cGVvZiBldmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5uYW1lID09PSAnaG91cicpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC5pbm5lckhUTUwsIDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC50YXJnZXQubmFtZSA9PT0gJ21pbnV0ZScpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LmlubmVySFRNTCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5uYW1lID09PSAnbWVyaWRpZScpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVyaWRpZXMgPSBldmVudC50YXJnZXQuaW5uZXJIVE1MO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVHJpZ2dlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3BlblBpY2tlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZVBpY2tlcigpIHtcbiAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25SZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG9wZW5QaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG5cbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQWZmaXhlcigpOiB2b2lkIHtcbiAgICBjb25zdCBhZmZpeGVyID0gdGhpcy5hZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLnRpbWVwaWNrZXJSZWYpO1xuXG4gICAgLy8gSGlkZSB0aW1lcGlja2VyIHdoZW4gdHJpZ2dlciBidXR0b24gaXMgc2Nyb2xsZWQgb2ZmIHNjcmVlbi5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IChjaGFuZ2UucGxhY2VtZW50ICE9PSBudWxsKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgYWZmaXhlci5hZmZpeFRvKHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAncmlnaHQnLFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdiZWxvdydcbiAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLmFmZml4ZXIpIHtcbiAgICAgIHRoaXMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgb3ZlcmxheS5iYWNrZHJvcENsaWNrXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy50aW1lcGlja2VyVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmFkZEtleWRvd25MaXN0bmVyKCk7XG5cbiAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMudGltZXBpY2tlclRlbXBsYXRlUmVmKTtcblxuICAgIHRoaXMub3ZlcmxheSA9IG92ZXJsYXk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEtleWRvd25MaXN0bmVyKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheUtleWRvd25MaXN0bmVyID0gZnJvbUV2ZW50KHdpbmRvdy5kb2N1bWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChrZXkgPT09ICdlc2NhcGUnICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy50aW1lcGlja2VyVW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgIHRoaXMudGltZXBpY2tlclVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLnRpbWVwaWNrZXJVbnN1YnNjcmliZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLm92ZXJsYXlLZXlkb3duTGlzdG5lcj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS10aW1lcGlja2VyXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dEJveEhvc3RTZXJ2aWNlXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZVJlZj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG5cIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1pbnB1dC1ncm91cC10aW1lcGlja2VyLWJ0blwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXNPcGVuID8gdGltZXBpY2tlcklkIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF90aW1lcGlja2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2F0dHIuaWRdPVwidHJpZ2dlckJ1dHRvbklkXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cIidza3l1eF90aW1lcGlja2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblRyaWdnZXJCdXR0b25DbGljaygpXCJcbiAgICAgICN0cmlnZ2VyQnV0dG9uUmVmXG4gICAgPlxuICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgaWNvbj1cImNsb2NrLW9cIlxuICAgICAgICBzaXplPVwibGdcIlxuICAgICAgPjwvc2t5LWljb24+XG4gICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgIGljb249XCJjbG9ja1wiXG4gICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgPjwvc2t5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0aW1lcGlja2VyVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS10aW1lcGlja2VyLWNvbnRhaW5lciBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi00XCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidHJpZ2dlckJ1dHRvbklkXCJcbiAgICBbYXR0ci5pZF09XCJ0aW1lcGlja2VySWRcIlxuICAgIFtjbGFzcy5za3ktdGltZXBpY2tlci1oaWRkZW5dPVwiIWlzVmlzaWJsZVwiXG4gICAgI3RpbWVwaWNrZXJSZWZcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LXRpbWVwaWNrZXItY29udGVudFwiXG4gICAgPlxuICAgICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJza3ktdGltZXBpY2tlci1jb2x1bW5cIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktdGltZXBpY2tlci0yNGhvdXInOmlzODYwMSB9XCJcbiAgICAgID5cbiAgICAgICAgPG9sPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaG91ciBvZiBob3VycztcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbmFtZT1cImhvdXJcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWJ0bi1hY3RpdmUnIDogc2VsZWN0ZWRIb3VyID09PSBob3VyIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tob3VyfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvb2w+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cInNreS10aW1lcGlja2VyLWNvbHVtblwiXG4gICAgICA+XG4gICAgICAgIDxvbD5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG1pbnV0ZSBvZiBtaW51dGVzO1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBuYW1lPVwibWludXRlXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1idG4tYWN0aXZlJzogc2VsZWN0ZWRNaW51dGUgPT09IG1pbnV0ZSB9XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRpbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICcwMCcgLnN1YnN0cmluZygwLCAyIC0gKG1pbnV0ZSkgLnRvU3RyaW5nKCkgLmxlbmd0aCkgKyAobWludXRlKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9vbD5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDxzZWN0aW9uICpuZ0lmPVwiIWlzODYwMVwiXG4gICAgICAgIGNsYXNzPVwic2t5LXRpbWVwaWNrZXItY29sdW1uXCJcbiAgICAgID5cbiAgICAgICAgPG9sPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbmFtZT1cIm1lcmlkaWVcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWJ0bi1hY3RpdmUnOiBzZWxlY3RlZE1lcmlkaWVzID09PSAnQU0nIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQU1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBuYW1lPVwibWVyaWRpZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktYnRuLWFjdGl2ZSc6IHNlbGVjdGVkTWVyaWRpZXMgPT09ICdQTScgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZXRUaW1lKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBQTVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9vbD5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS10aW1lcGlja2VyLWZvb3RlclwiXG4gICAgPlxuICAgICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJza3ktdGltZXBpY2tlci1jb2x1bW5cIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VCdXR0b25DaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ3NreXV4X3RpbWVwaWNrZXJfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -194,12 +194,12 @@ export class SkyTimepickerInputDirective {
194
194
  }
195
195
  }
196
196
  }
197
- SkyTimepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTimepickerInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
198
- SkyTimepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SkyTimepickerInputDirective, selector: "[skyTimepickerInput]", inputs: { skyTimepickerInput: "skyTimepickerInput", timeFormat: "timeFormat", returnFormat: "returnFormat", disabled: "disabled" }, host: { listeners: { "change": "onChange($event)", "blur": "onBlur()" } }, providers: [
197
+ SkyTimepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
198
+ SkyTimepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyTimepickerInputDirective, selector: "[skyTimepickerInput]", inputs: { skyTimepickerInput: "skyTimepickerInput", timeFormat: "timeFormat", returnFormat: "returnFormat", disabled: "disabled" }, host: { listeners: { "change": "onChange($event)", "blur": "onBlur()" } }, providers: [
199
199
  SKY_TIMEPICKER_VALUE_ACCESSOR,
200
200
  SKY_TIMEPICKER_VALIDATOR
201
201
  ], usesOnChanges: true, ngImport: i0 });
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTimepickerInputDirective, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerInputDirective, decorators: [{
203
203
  type: Directive,
204
204
  args: [{
205
205
  selector: '[skyTimepickerInput]',
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
223
223
  type: HostListener,
224
224
  args: ['blur']
225
225
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy90aW1lcGlja2VyL3RpbWVwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBS04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCeEIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFBOzs7QUFFM0Isc0RBQXNEO0FBQ3RELE1BQU0sNkJBQTZCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixnQkFBZ0I7QUFRaEIsTUFBTSxPQUFPLDJCQUEyQjtJQWtGdEMsWUFDVSxRQUFtQixFQUNuQixLQUFpQixFQUNqQixnQkFBd0MsRUFDeEMsY0FBaUM7UUFIakMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbEZuQyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQWlPbkMseUJBQXlCO1FBQ2pCLGNBQVMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxD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QUU7Z0JBQzVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN4RDtTQUNGO0lBQ0gsQ0FBQzs7d0hBbk9VLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDhQQUwzQjtRQUNULDZCQUE2QjtRQUM3Qix3QkFBd0I7S0FDekI7MkZBRVUsMkJBQTJCO2tCQVB2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDVCw2QkFBNkI7d0JBQzdCLHdCQUF3QjtxQkFDekI7aUJBQ0Y7OExBY1ksa0JBQWtCO3NCQUQ1QixLQUFLO2dCQWVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBY0MsWUFBWTtzQkFEbEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQXFGQyxRQUFRO3NCQURkLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU8zQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRvclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQge1xuICBTdWJzY3JpcHRpb25cbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFNreVRpbWVwaWNrZXJDb21wb25lbnRcbn0gZnJvbSAnLi90aW1lcGlja2VyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0XG59IGZyb20gJy4vdGltZXBpY2tlci5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIlxuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9USU1FUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbmNvbnN0IFNLWV9USU1FUElDS0VSX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbi8vIHRzbGludDplbmFibGVcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaW1lcGlja2VySW5wdXRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU0tZX1RJTUVQSUNLRVJfVkFMVUVfQUNDRVNTT1IsXG4gICAgU0tZX1RJTUVQSUNLRVJfVkFMSURBVE9SXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlIGltcGxlbWVudHNcbiAgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgcHVibGljIHBpY2tlckNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfdGltZUZvcm1hdDogc3RyaW5nID0gJ2hoJztcblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgdGltZXBpY2tlciBpbnB1dCBmaWVsZCBhbmQgcGlja2VyLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsXG4gICAqIGFuZCB3cmFwIHRoZSBpbnB1dCBpbiBhIGBza3ktdGltZXBpY2tlcmAgY29tcG9uZW50LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktdGltZXBpY2tlcmAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBza3lUaW1lcGlja2VySW5wdXQoKTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3NreVRpbWVwaWNrZXJJbnB1dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2t5VGltZXBpY2tlcklucHV0KHZhbHVlOiBTa3lUaW1lcGlja2VyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fc2t5VGltZXBpY2tlcklucHV0ID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVUaW1lcGlja2VySW5wdXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIDEyLWhvdXIgYGhoYCBvciAyNC1ob3VyIGBISGAgdGltZSBmb3JtYXQgZm9yIHRoZSBpbnB1dC5cbiAgICogQGRlZmF1bHQgaGhcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGltZUZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGltZUZvcm1hdCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0aW1lRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWVGb3JtYXQgfHwgJ2hoJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBjdXN0b20gdGltZSBmb3JtYXQuIEZvciBleGFtcGxlcyxcbiAgICogc2VlIHRoZSBbbW9tZW50LmpzXShodHRwczovL21vbWVudGpzLmNvbS9kb2NzLyMvZGlzcGxheWluZy9mb3JtYXQvKSBkb2NzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJldHVybkZvcm1hdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSB0aW1lcGlja2VyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIHRoaXMudXBkYXRlVGltZXBpY2tlcklucHV0KCk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG1vZGVsVmFsdWUoKTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgbW9kZWxWYWx1ZSh2YWx1ZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX21vZGVsVmFsdWUpIHtcbiAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlVGltZXBpY2tlcklucHV0KCk7XG4gICAgICB0aGlzLnNldElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX21vZGVsVmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0O1xuICBwcml2YXRlIF9za3lUaW1lcGlja2VySW5wdXQ6IFNreVRpbWVwaWNrZXJDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnc2t5LWZvcm0tY29udHJvbCcpO1xuICAgIHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNlbGVjdGVkVGltZUNoYW5nZWRcbiAgICAgIC5zdWJzY3JpYmUoKG5ld1RpbWU6IFN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUobmV3VGltZSk7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF90aW1lcGlja2VyX2lucHV0X2RlZmF1bHRfbGFiZWwnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnYXJpYS1sYWJlbCcsXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgLy8gV2F0Y2ggZm9yIHRoZSBjb250cm9sIHRvIGJlIGFkZGVkIGFuZCBpbml0aWFsaXplIHRoZSB2YWx1ZSBpbW1lZGlhdGVseS5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLnBhcmVudCkge1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMubW9kZWxWYWx1ZSwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNldEZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCkge1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHsgdGhpcy5fb25DaGFuZ2UgPSBmbjsgfVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IGFueSk6IHZvaWQgeyB0aGlzLl9vblRvdWNoZWQgPSBmbjsgfVxuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLl92YWxpZGF0b3JDaGFuZ2UgPSBmbjsgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLmZvcm1hdHRlcih2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHZhbHVlLmxvY2FsID09PSAnSW52YWxpZCBkYXRlJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ3NreVRpbWUnOiB7XG4gICAgICAgICAgaW52YWxpZDogY29udHJvbC52YWx1ZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0VmFsdWUodmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0KTogdm9pZCB7XG4gICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBvdXRwdXQgPSBtb21lbnQodmFsdWUpLmZvcm1hdCh2YWx1ZS5jdXN0b21Gb3JtYXQpO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChvdXRwdXQgIT09ICdJbnZhbGlkIGRhdGUnKSB7XG4gICAgICAgIGZvcm1hdHRlZFZhbHVlID0gb3V0cHV0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAndmFsdWUnLFxuICAgICAgZm9ybWF0dGVkVmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXR0ZXIodGltZTogYW55KSB7XG4gICAgaWYgKHRpbWUgJiYgdHlwZW9mIHRpbWUgIT09ICdzdHJpbmcnICYmICdsb2NhbCcgaW4gdGltZSkgeyByZXR1cm4gdGltZTsgfVxuICAgIGlmICh0eXBlb2YgdGltZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0aW1lLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gJyc7IH1cbiAgICAgIGxldCBjdXJyZW50Rm9ybWF0OiBzdHJpbmc7XG4gICAgICBsZXQgZm9ybWF0VGltZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQ7XG4gICAgICBpZiAodGhpcy50aW1lRm9ybWF0ID09PSAnaGgnKSB7XG4gICAgICAgIGN1cnJlbnRGb3JtYXQgPSAnaDptbSBBJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRpbWVGb3JtYXQgPT09ICdISCcpIHtcbiAgICAgICAgY3VycmVudEZvcm1hdCA9ICdIOm1tJztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXR1cm5Gb3JtYXQgPT09ICd1bmRlZmluZWQnKSB7IHRoaXMucmV0dXJuRm9ybWF0ID0gY3VycmVudEZvcm1hdDsgfVxuICAgICAgZm9ybWF0VGltZSA9IHtcbiAgICAgICAgJ2hvdXInOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuaG91cigpLFxuICAgICAgICAnbWludXRlJzogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLm1pbnV0ZSgpLFxuICAgICAgICAnbWVyaWRpZSc6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoJ0EnKSxcbiAgICAgICAgJ3RpbWV6b25lJzogcGFyc2VJbnQobW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLmZvcm1hdCgnWicpLCAxMCksXG4gICAgICAgICdpc284NjAxJzogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLnRvRGF0ZSgpLFxuICAgICAgICAnbG9jYWwnOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuZm9ybWF0KGN1cnJlbnRGb3JtYXQpLFxuICAgICAgICAnY3VzdG9tRm9ybWF0JzogdGhpcy5yZXR1cm5Gb3JtYXRcbiAgICAgIH07XG4gICAgICByZXR1cm4gZm9ybWF0VGltZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5za3lUaW1lcGlja2VySW5wdXQpIHtcbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5zZWxlY3RlZFRpbWUgIT09IHRoaXMubW9kZWxWYWx1ZSkge1xuICAgICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5zZWxlY3RlZFRpbWUgPSB0aGlzLm1vZGVsVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcbiAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgX3ZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHsgfTtcbn1cbiJdfQ==
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRldGltZS9zcmMvbW9kdWxlcy90aW1lcGlja2VyL3RpbWVwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBS04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCeEIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFBOzs7QUFFM0Isc0RBQXNEO0FBQ3RELE1BQU0sNkJBQTZCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixnQkFBZ0I7QUFRaEIsTUFBTSxPQUFPLDJCQUEyQjtJQWtGdEMsWUFDVSxRQUFtQixFQUNuQixLQUFpQixFQUNqQixnQkFBd0MsRUFDeEMsY0FBaUM7UUFIakMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbEZuQyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQWlPbkMseUJBQXlCO1FBQ2pCLGNBQVMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxD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QUU7Z0JBQzVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN4RDtTQUNGO0lBQ0gsQ0FBQzs7eUhBbk9VLDJCQUEyQjs2R0FBM0IsMkJBQTJCLDhQQUwzQjtRQUNULDZCQUE2QjtRQUM3Qix3QkFBd0I7S0FDekI7NEZBRVUsMkJBQTJCO2tCQVB2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDVCw2QkFBNkI7d0JBQzdCLHdCQUF3QjtxQkFDekI7aUJBQ0Y7OExBY1ksa0JBQWtCO3NCQUQ1QixLQUFLO2dCQWVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBY0MsWUFBWTtzQkFEbEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQXFGQyxRQUFRO3NCQURkLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU8zQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRvclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQge1xuICBTdWJzY3JpcHRpb25cbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFNreVRpbWVwaWNrZXJDb21wb25lbnRcbn0gZnJvbSAnLi90aW1lcGlja2VyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0XG59IGZyb20gJy4vdGltZXBpY2tlci5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIlxuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3J3YXJkLXJlZiBuby11c2UtYmVmb3JlLWRlY2xhcmVcbmNvbnN0IFNLWV9USU1FUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbmNvbnN0IFNLWV9USU1FUElDS0VSX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbi8vIHRzbGludDplbmFibGVcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaW1lcGlja2VySW5wdXRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU0tZX1RJTUVQSUNLRVJfVkFMVUVfQUNDRVNTT1IsXG4gICAgU0tZX1RJTUVQSUNLRVJfVkFMSURBVE9SXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlIGltcGxlbWVudHNcbiAgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgcHVibGljIHBpY2tlckNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfdGltZUZvcm1hdDogc3RyaW5nID0gJ2hoJztcblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgdGltZXBpY2tlciBpbnB1dCBmaWVsZCBhbmQgcGlja2VyLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsXG4gICAqIGFuZCB3cmFwIHRoZSBpbnB1dCBpbiBhIGBza3ktdGltZXBpY2tlcmAgY29tcG9uZW50LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktdGltZXBpY2tlcmAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBza3lUaW1lcGlja2VySW5wdXQoKTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3NreVRpbWVwaWNrZXJJbnB1dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2t5VGltZXBpY2tlcklucHV0KHZhbHVlOiBTa3lUaW1lcGlja2VyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fc2t5VGltZXBpY2tlcklucHV0ID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVUaW1lcGlja2VySW5wdXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIDEyLWhvdXIgYGhoYCBvciAyNC1ob3VyIGBISGAgdGltZSBmb3JtYXQgZm9yIHRoZSBpbnB1dC5cbiAgICogQGRlZmF1bHQgaGhcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGltZUZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGltZUZvcm1hdCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0aW1lRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWVGb3JtYXQgfHwgJ2hoJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBjdXN0b20gdGltZSBmb3JtYXQuIEZvciBleGFtcGxlcyxcbiAgICogc2VlIHRoZSBbbW9tZW50LmpzXShodHRwczovL21vbWVudGpzLmNvbS9kb2NzLyMvZGlzcGxheWluZy9mb3JtYXQvKSBkb2NzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJldHVybkZvcm1hdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSB0aW1lcGlja2VyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIHRoaXMudXBkYXRlVGltZXBpY2tlcklucHV0KCk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG1vZGVsVmFsdWUoKTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgbW9kZWxWYWx1ZSh2YWx1ZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX21vZGVsVmFsdWUpIHtcbiAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlVGltZXBpY2tlcklucHV0KCk7XG4gICAgICB0aGlzLnNldElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX21vZGVsVmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0O1xuICBwcml2YXRlIF9za3lUaW1lcGlja2VySW5wdXQ6IFNreVRpbWVwaWNrZXJDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnc2t5LWZvcm0tY29udHJvbCcpO1xuICAgIHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNlbGVjdGVkVGltZUNoYW5nZWRcbiAgICAgIC5zdWJzY3JpYmUoKG5ld1RpbWU6IFN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUobmV3VGltZSk7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKCdza3l1eF90aW1lcGlja2VyX2lucHV0X2RlZmF1bHRfbGFiZWwnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnYXJpYS1sYWJlbCcsXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgLy8gV2F0Y2ggZm9yIHRoZSBjb250cm9sIHRvIGJlIGFkZGVkIGFuZCBpbml0aWFsaXplIHRoZSB2YWx1ZSBpbW1lZGlhdGVseS5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLnBhcmVudCkge1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMubW9kZWxWYWx1ZSwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNldEZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCkge1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHsgdGhpcy5fb25DaGFuZ2UgPSBmbjsgfVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IGFueSk6IHZvaWQgeyB0aGlzLl9vblRvdWNoZWQgPSBmbjsgfVxuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLl92YWxpZGF0b3JDaGFuZ2UgPSBmbjsgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLmZvcm1hdHRlcih2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHZhbHVlLmxvY2FsID09PSAnSW52YWxpZCBkYXRlJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ3NreVRpbWUnOiB7XG4gICAgICAgICAgaW52YWxpZDogY29udHJvbC52YWx1ZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0VmFsdWUodmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0KTogdm9pZCB7XG4gICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBvdXRwdXQgPSBtb21lbnQodmFsdWUpLmZvcm1hdCh2YWx1ZS5jdXN0b21Gb3JtYXQpO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChvdXRwdXQgIT09ICdJbnZhbGlkIGRhdGUnKSB7XG4gICAgICAgIGZvcm1hdHRlZFZhbHVlID0gb3V0cHV0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAndmFsdWUnLFxuICAgICAgZm9ybWF0dGVkVmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXR0ZXIodGltZTogYW55KSB7XG4gICAgaWYgKHRpbWUgJiYgdHlwZW9mIHRpbWUgIT09ICdzdHJpbmcnICYmICdsb2NhbCcgaW4gdGltZSkgeyByZXR1cm4gdGltZTsgfVxuICAgIGlmICh0eXBlb2YgdGltZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0aW1lLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gJyc7IH1cbiAgICAgIGxldCBjdXJyZW50Rm9ybWF0OiBzdHJpbmc7XG4gICAgICBsZXQgZm9ybWF0VGltZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQ7XG4gICAgICBpZiAodGhpcy50aW1lRm9ybWF0ID09PSAnaGgnKSB7XG4gICAgICAgIGN1cnJlbnRGb3JtYXQgPSAnaDptbSBBJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRpbWVGb3JtYXQgPT09ICdISCcpIHtcbiAgICAgICAgY3VycmVudEZvcm1hdCA9ICdIOm1tJztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXR1cm5Gb3JtYXQgPT09ICd1bmRlZmluZWQnKSB7IHRoaXMucmV0dXJuRm9ybWF0ID0gY3VycmVudEZvcm1hdDsgfVxuICAgICAgZm9ybWF0VGltZSA9IHtcbiAgICAgICAgJ2hvdXInOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuaG91cigpLFxuICAgICAgICAnbWludXRlJzogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLm1pbnV0ZSgpLFxuICAgICAgICAnbWVyaWRpZSc6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoJ0EnKSxcbiAgICAgICAgJ3RpbWV6b25lJzogcGFyc2VJbnQobW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLmZvcm1hdCgnWicpLCAxMCksXG4gICAgICAgICdpc284NjAxJzogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLnRvRGF0ZSgpLFxuICAgICAgICAnbG9jYWwnOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuZm9ybWF0KGN1cnJlbnRGb3JtYXQpLFxuICAgICAgICAnY3VzdG9tRm9ybWF0JzogdGhpcy5yZXR1cm5Gb3JtYXRcbiAgICAgIH07XG4gICAgICByZXR1cm4gZm9ybWF0VGltZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5za3lUaW1lcGlja2VySW5wdXQpIHtcbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5zZWxlY3RlZFRpbWUgIT09IHRoaXMubW9kZWxWYWx1ZSkge1xuICAgICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5zZWxlY3RlZFRpbWUgPSB0aGlzLm1vZGVsVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcbiAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7IH07XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgX3ZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHsgfTtcbn1cbiJdfQ==