@ng-nest/ui 16.0.5 → 16.0.7

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.
@@ -23,6 +23,7 @@ class XCarouselPanelComponent extends XCarouselPanelProperty {
23
23
  this.unSubject = new Subject();
24
24
  }
25
25
  ngOnInit() {
26
+ this.carousel.count++;
26
27
  this.carousel.start++;
27
28
  this.index = this.carousel.start;
28
29
  this.setClass('x-carousel-card', Boolean(this.carousel.card));
@@ -130,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
130
131
  }, {
131
132
  type: Host
132
133
  }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i3.XConfigService }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBQ3ZCLElBQUksRUFDSixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUUzRCxNQVFhLHVCQUF3QixTQUFRLHNCQUFzQjtJQVlqRSxZQUM2QixRQUE0QixFQUNoRCxRQUFtQixFQUNuQixVQUFtQyxFQUNuQyxTQUF1QixFQUN2QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQVBtQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUNoRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBWnRDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBV2hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUM7Z0JBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLFFBQVEsR0FBWSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzlELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUV6RCxJQUFJLFNBQWlCLENBQUM7UUFDdEIsSUFBSSxNQUFNLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMvRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFO2dCQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7YUFDL0U7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7Z0JBQzFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN2QixhQUFhLEdBQUcsWUFBWSxDQUFDO2FBQzlCO1lBQ0QsTUFBTSxHQUFHLEdBQVE7Z0JBQ2YsSUFBSSxFQUFFLENBQUMsUUFBUTtnQkFDZixJQUFJLEVBQUUsUUFBUTtnQkFDZCxHQUFHLEVBQUUsQ0FBQztnQkFDTixHQUFHLEVBQUUsQ0FBQyxHQUFHLFFBQVE7Z0JBQ2pCLEdBQUcsRUFBRSxRQUFRO2FBQ2QsQ0FBQztZQUNGLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwRCxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLFNBQVM7WUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsS0FBSztnQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUs7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO2dCQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsR0FBRyxhQUFhLElBQUksU0FBUyxhQUFhLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsV0FBbUI7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUNyRSxJQUFJLE1BQU0sR0FBVyxLQUFLLEdBQUcsV0FBVyxDQUFDO1FBQ3pDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUYsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLGlCQUFpQixFQUFFO1lBQ3JDLElBQUksaUJBQWlCO2dCQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hFO2FBQU0sSUFBSSxLQUFLLEdBQUcsV0FBVyxFQUFFO1lBQzlCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFjO1FBQ2xDLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDOztZQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRSxDQUFDO2lJQXZIVSx1QkFBdUI7cUhBQXZCLHVCQUF1QiwrRUN6QnBDLCtNQUlBLHlQRGlCYyxDQUFDLGNBQWMsQ0FBQzs7U0FJakIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UsR0FBRyxvQkFBb0IsRUFBRSxjQUd2QixDQUFDLGNBQWMsQ0FBQyxpQkFDYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFlNUMsUUFBUTs7MEJBQUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBIb3N0LFxyXG4gIE9wdGlvbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDYXJvdXNlbFBhbmVsUHJlZml4LCBYQ2Fyb3VzZWxQYW5lbFByb3BlcnR5IH0gZnJvbSAnLi9jYXJvdXNlbC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhEcm9wQW5pbWF0aW9uLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hDYXJvdXNlbFBhbmVsUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhcm91c2VsLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtYRHJvcEFuaW1hdGlvbl0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWENhcm91c2VsUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBYQ2Fyb3VzZWxQYW5lbFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpbmRleCE6IG51bWJlcjtcclxuICB3aWR0aCE6IG51bWJlcjtcclxuICBoZWlnaHQhOiBudW1iZXI7XHJcbiAgYW5pbWF0aW5nITogYm9vbGVhbjtcclxuICBwcmVUcmFuc2xhdGUhOiBudW1iZXI7XHJcbiAgY2FyZFNjYWxlID0gMC44MztcclxuICBzY2FsZSA9IDE7XHJcbiAgaW5TdGFnZSA9IGZhbHNlO1xyXG4gIHVwZGF0ZVN1YiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHVuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwdWJsaWMgY2Fyb3VzZWw6IFhDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2Fyb3VzZWwuc3RhcnQrKztcclxuICAgIHRoaXMuaW5kZXggPSB0aGlzLmNhcm91c2VsLnN0YXJ0O1xyXG4gICAgdGhpcy5zZXRDbGFzcygneC1jYXJvdXNlbC1jYXJkJywgQm9vbGVhbih0aGlzLmNhcm91c2VsLmNhcmQpKTtcclxuICAgIHRoaXMuY2Fyb3VzZWwucGFuZWxDaGFuZ2VzLnB1c2godGhpcy51cGRhdGVTdWIpO1xyXG4gICAgdGhpcy51cGRhdGVTdWIucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgaWYgKHgpIHRoaXMudXBkYXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJvdXNlbC5zdGFydC0tO1xyXG4gICAgY29uc3QgaWR4ID0gdGhpcy5jYXJvdXNlbC5wYW5lbENoYW5nZXMuaW5kZXhPZih0aGlzLnVwZGF0ZVN1Yik7XHJcbiAgICB0aGlzLmNhcm91c2VsLnBhbmVsQ2hhbmdlcy5zcGxpY2UoaWR4LCAxKTtcclxuICAgIHRoaXMudW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmUoKSB7XHJcbiAgICBjb25zdCBpc0FjdGl2ZTogYm9vbGVhbiA9IHRoaXMuY2Fyb3VzZWwuYWN0aXZlID09PSB0aGlzLmluZGV4O1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlICE9PSBpc0FjdGl2ZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZSA9IGlzQWN0aXZlO1xyXG4gICAgICB0aGlzLnNldENsYXNzKCd4LWFjdGl2YXRlZCcsIHRoaXMuYWN0aXZlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFN0eWxlcygpIHtcclxuICAgIHRoaXMud2lkdGggPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG5cclxuICAgIGxldCB0cmFuc2xhdGU6IG51bWJlcjtcclxuICAgIGxldCBvZmZzZXQ6IG51bWJlciA9IE51bWJlcih0aGlzLmNhcm91c2VsLmFjdGl2ZSkgLSB0aGlzLmluZGV4O1xyXG4gICAgbGV0IGRpc3RhbmNlID0gdGhpcy53aWR0aDtcclxuICAgIGxldCB0cmFuc2xhdGVUeXBlID0gJ3RyYW5zbGF0ZVgnO1xyXG4gICAgaWYgKHRoaXMuY2Fyb3VzZWwuY2FyZCkge1xyXG4gICAgICBpZiAodGhpcy5jYXJvdXNlbC5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1t4LWNhcm91c2VsXSB2ZXJ0aWNhbCBkaXJlY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBpbiBjYXJkIG1vZGUnKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmluU3RhZ2UgPSBNYXRoLnJvdW5kKE1hdGguYWJzKG9mZnNldCkpIDw9IDE7XHJcbiAgICAgIHRoaXMuc2V0Q2xhc3MoJ3gtY2Fyb3VzZWwtaW4tc3RhZ2UnLCB0aGlzLmluU3RhZ2UpO1xyXG4gICAgICB0cmFuc2xhdGUgPSB0aGlzLmNhbGNDYXJkVHJhbnNsYXRlKHRoaXMuaW5kZXgsIE51bWJlcih0aGlzLmNhcm91c2VsLmFjdGl2ZSkpO1xyXG4gICAgICB0aGlzLnNjYWxlID0gb2Zmc2V0ID09PSAwID8gMSA6IHRoaXMuY2FyZFNjYWxlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuY2Fyb3VzZWwuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XHJcbiAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmhlaWdodDtcclxuICAgICAgICB0cmFuc2xhdGVUeXBlID0gJ3RyYW5zbGF0ZVknO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hcDogYW55ID0ge1xyXG4gICAgICAgICctMic6IC1kaXN0YW5jZSxcclxuICAgICAgICAnLTEnOiBkaXN0YW5jZSxcclxuICAgICAgICAnMCc6IDAsXHJcbiAgICAgICAgJzEnOiAwIC0gZGlzdGFuY2UsXHJcbiAgICAgICAgJzInOiBkaXN0YW5jZVxyXG4gICAgICB9O1xyXG4gICAgICBvZmZzZXQgPSBvZmZzZXQgPCAtMiA/IC0yIDogb2Zmc2V0ID4gMiA/IDIgOiBvZmZzZXQ7XHJcbiAgICAgIHRyYW5zbGF0ZSA9IG1hcFtvZmZzZXRdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hbmltYXRpbmcgPVxyXG4gICAgICB0aGlzLmNhcm91c2VsLmFjdGl2ZSA9PT0gdGhpcy5pbmRleCB8fFxyXG4gICAgICB0aGlzLmNhcm91c2VsLmJlZm9yZSA9PT0gdGhpcy5pbmRleCB8fFxyXG4gICAgICB0aGlzLmNhcm91c2VsLnN0YXJ0ID09PSBNYXRoLmFicyhvZmZzZXQpIHx8XHJcbiAgICAgIEJvb2xlYW4odGhpcy5jYXJvdXNlbC5jYXJkKTtcclxuICAgIHRoaXMuc2V0Q2xhc3MoJ3gtY2Fyb3VzZWwtYW5pbWF0aW5nJywgdGhpcy5hbmltYXRpbmcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGAke3RyYW5zbGF0ZVR5cGV9KCR7dHJhbnNsYXRlfXB4KSBzY2FsZSgke3RoaXMuc2NhbGV9KWApO1xyXG4gIH1cclxuXHJcbiAgY2FsY0NhcmRUcmFuc2xhdGUoaW5kZXg6IG51bWJlciwgYWN0aXZlSW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcGFyZW50V2lkdGggPSB0aGlzLmNhcm91c2VsLmNhcm91c2VsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICBsZXQgb2Zmc2V0OiBudW1iZXIgPSBpbmRleCAtIGFjdGl2ZUluZGV4O1xyXG4gICAgbGV0IGFjdGl2ZUZpcnN0T3JMYXN0ID0gdGhpcy5jYXJvdXNlbC5zdGFydCA+IDEgJiYgdGhpcy5jYXJvdXNlbC5zdGFydCA9PT0gTWF0aC5hYnMob2Zmc2V0KTtcclxuICAgIGlmICh0aGlzLmluU3RhZ2UgfHwgYWN0aXZlRmlyc3RPckxhc3QpIHtcclxuICAgICAgaWYgKGFjdGl2ZUZpcnN0T3JMYXN0KSBvZmZzZXQgPSBvZmZzZXQgPCAwID8gMSA6IC0xO1xyXG4gICAgICByZXR1cm4gKHBhcmVudFdpZHRoICogKCgyIC0gdGhpcy5jYXJkU2NhbGUpICogb2Zmc2V0ICsgMSkpIC8gNDtcclxuICAgIH0gZWxzZSBpZiAoaW5kZXggPCBhY3RpdmVJbmRleCkge1xyXG4gICAgICByZXR1cm4gKC0oMSArIHRoaXMuY2FyZFNjYWxlKSAqIHBhcmVudFdpZHRoKSAvIDQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKCgzICsgdGhpcy5jYXJkU2NhbGUpICogcGFyZW50V2lkdGgpIC8gNDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZSgpIHtcclxuICAgIHRoaXMuc2V0QWN0aXZlKCk7XHJcbiAgICB0aGlzLnNldFN0eWxlcygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcGFuZWxDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmNhcm91c2VsLmNhcmQgJiYgdGhpcy5jYXJvdXNlbC5hY3RpdmUgIT09IHRoaXMuaW5kZXgpIHtcclxuICAgICAgdGhpcy5jYXJvdXNlbC5hdXRvcGxheSAmJiB0aGlzLmNhcm91c2VsLnJlc2V0SW50ZXJ2YWwoKTtcclxuICAgICAgdGhpcy5jYXJvdXNlbC5zZXRBY3RpdmVJdGVtKHRoaXMuaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3MoY2xzOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUpIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNscyk7XHJcbiAgICBlbHNlIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNscyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2Nhcm91c2VsUGFuZWwgY2xhc3M9XCJ4LWNhcm91c2VsLXBhbmVsXCIgKGNsaWNrKT1cInBhbmVsQ2xpY2soKVwiPlxyXG4gIDxkaXYgKm5nSWY9XCJjYXJvdXNlbD8uY2FyZFwiIFtoaWRkZW5dPVwiYWN0aXZlXCIgY2xhc3M9XCJ4LWNhcm91c2VsLW1hc2tcIj48L2Rpdj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBQ3ZCLElBQUksRUFDSixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUUzRCxNQVFhLHVCQUF3QixTQUFRLHNCQUFzQjtJQVlqRSxZQUM2QixRQUE0QixFQUNoRCxRQUFtQixFQUNuQixVQUFtQyxFQUNuQyxTQUF1QixFQUN2QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQVBtQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUNoRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBWnRDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FB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QUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVyxFQUFFLEtBQWM7UUFDbEMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7O1lBQ2pFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7aUlBeEhVLHVCQUF1QjtxSEFBdkIsdUJBQXVCLCtFQ3pCcEMsK01BSUEseVBEaUJjLENBQUMsY0FBYyxDQUFDOztTQUlqQix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxHQUFHLG9CQUFvQixFQUFFLGNBR3ZCLENBQUMsY0FBYyxDQUFDLGlCQUNiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQWU1QyxRQUFROzswQkFBSSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEhvc3QsXHJcbiAgT3B0aW9uYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENhcm91c2VsUGFuZWxQcmVmaXgsIFhDYXJvdXNlbFBhbmVsUHJvcGVydHkgfSBmcm9tICcuL2Nhcm91c2VsLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWERyb3BBbmltYXRpb24sIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vY2Fyb3VzZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WENhcm91c2VsUGFuZWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1hEcm9wQW5pbWF0aW9uXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQ2Fyb3VzZWxQYW5lbENvbXBvbmVudCBleHRlbmRzIFhDYXJvdXNlbFBhbmVsUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGluZGV4ITogbnVtYmVyO1xyXG4gIHdpZHRoITogbnVtYmVyO1xyXG4gIGhlaWdodCE6IG51bWJlcjtcclxuICBhbmltYXRpbmchOiBib29sZWFuO1xyXG4gIHByZVRyYW5zbGF0ZSE6IG51bWJlcjtcclxuICBjYXJkU2NhbGUgPSAwLjgzO1xyXG4gIHNjYWxlID0gMTtcclxuICBpblN0YWdlID0gZmFsc2U7XHJcbiAgdXBkYXRlU3ViID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHB1YmxpYyBjYXJvdXNlbDogWENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jYXJvdXNlbC5jb3VudCsrO1xyXG4gICAgdGhpcy5jYXJvdXNlbC5zdGFydCsrO1xyXG4gICAgdGhpcy5pbmRleCA9IHRoaXMuY2Fyb3VzZWwuc3RhcnQ7XHJcbiAgICB0aGlzLnNldENsYXNzKCd4LWNhcm91c2VsLWNhcmQnLCBCb29sZWFuKHRoaXMuY2Fyb3VzZWwuY2FyZCkpO1xyXG4gICAgdGhpcy5jYXJvdXNlbC5wYW5lbENoYW5nZXMucHVzaCh0aGlzLnVwZGF0ZVN1Yik7XHJcbiAgICB0aGlzLnVwZGF0ZVN1Yi5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICBpZiAoeCkgdGhpcy51cGRhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhcm91c2VsLnN0YXJ0LS07XHJcbiAgICBjb25zdCBpZHggPSB0aGlzLmNhcm91c2VsLnBhbmVsQ2hhbmdlcy5pbmRleE9mKHRoaXMudXBkYXRlU3ViKTtcclxuICAgIHRoaXMuY2Fyb3VzZWwucGFuZWxDaGFuZ2VzLnNwbGljZShpZHgsIDEpO1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEFjdGl2ZSgpIHtcclxuICAgIGNvbnN0IGlzQWN0aXZlOiBib29sZWFuID0gdGhpcy5jYXJvdXNlbC5hY3RpdmUgPT09IHRoaXMuaW5kZXg7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgIT09IGlzQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gaXNBY3RpdmU7XHJcbiAgICAgIHRoaXMuc2V0Q2xhc3MoJ3gtYWN0aXZhdGVkJywgdGhpcy5hY3RpdmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGVzKCkge1xyXG4gICAgdGhpcy53aWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgdGhpcy5oZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcblxyXG4gICAgbGV0IHRyYW5zbGF0ZTogbnVtYmVyO1xyXG4gICAgbGV0IG9mZnNldDogbnVtYmVyID0gTnVtYmVyKHRoaXMuY2Fyb3VzZWwuYWN0aXZlKSAtIHRoaXMuaW5kZXg7XHJcbiAgICBsZXQgZGlzdGFuY2UgPSB0aGlzLndpZHRoO1xyXG4gICAgbGV0IHRyYW5zbGF0ZVR5cGUgPSAndHJhbnNsYXRlWCc7XHJcbiAgICBpZiAodGhpcy5jYXJvdXNlbC5jYXJkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhcm91c2VsLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xyXG4gICAgICAgIGNvbnNvbGUud2FybignW3gtY2Fyb3VzZWxdIHZlcnRpY2FsIGRpcmVjdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGluIGNhcmQgbW9kZScpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5TdGFnZSA9IE1hdGgucm91bmQoTWF0aC5hYnMob2Zmc2V0KSkgPD0gMTtcclxuICAgICAgdGhpcy5zZXRDbGFzcygneC1jYXJvdXNlbC1pbi1zdGFnZScsIHRoaXMuaW5TdGFnZSk7XHJcbiAgICAgIHRyYW5zbGF0ZSA9IHRoaXMuY2FsY0NhcmRUcmFuc2xhdGUodGhpcy5pbmRleCwgTnVtYmVyKHRoaXMuY2Fyb3VzZWwuYWN0aXZlKSk7XHJcbiAgICAgIHRoaXMuc2NhbGUgPSBvZmZzZXQgPT09IDAgPyAxIDogdGhpcy5jYXJkU2NhbGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jYXJvdXNlbC5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcclxuICAgICAgICBkaXN0YW5jZSA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICAgIHRyYW5zbGF0ZVR5cGUgPSAndHJhbnNsYXRlWSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWFwOiBhbnkgPSB7XHJcbiAgICAgICAgJy0yJzogLWRpc3RhbmNlLFxyXG4gICAgICAgICctMSc6IGRpc3RhbmNlLFxyXG4gICAgICAgICcwJzogMCxcclxuICAgICAgICAnMSc6IDAgLSBkaXN0YW5jZSxcclxuICAgICAgICAnMic6IGRpc3RhbmNlXHJcbiAgICAgIH07XHJcbiAgICAgIG9mZnNldCA9IG9mZnNldCA8IC0yID8gLTIgOiBvZmZzZXQgPiAyID8gMiA6IG9mZnNldDtcclxuICAgICAgdHJhbnNsYXRlID0gbWFwW29mZnNldF07XHJcbiAgICB9XHJcbiAgICB0aGlzLmFuaW1hdGluZyA9XHJcbiAgICAgIHRoaXMuY2Fyb3VzZWwuYWN0aXZlID09PSB0aGlzLmluZGV4IHx8XHJcbiAgICAgIHRoaXMuY2Fyb3VzZWwuYmVmb3JlID09PSB0aGlzLmluZGV4IHx8XHJcbiAgICAgIHRoaXMuY2Fyb3VzZWwuc3RhcnQgPT09IE1hdGguYWJzKG9mZnNldCkgfHxcclxuICAgICAgQm9vbGVhbih0aGlzLmNhcm91c2VsLmNhcmQpO1xyXG4gICAgdGhpcy5zZXRDbGFzcygneC1jYXJvdXNlbC1hbmltYXRpbmcnLCB0aGlzLmFuaW1hdGluZyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYCR7dHJhbnNsYXRlVHlwZX0oJHt0cmFuc2xhdGV9cHgpIHNjYWxlKCR7dGhpcy5zY2FsZX0pYCk7XHJcbiAgfVxyXG5cclxuICBjYWxjQ2FyZFRyYW5zbGF0ZShpbmRleDogbnVtYmVyLCBhY3RpdmVJbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IHRoaXMuY2Fyb3VzZWwuY2Fyb3VzZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgIGxldCBvZmZzZXQ6IG51bWJlciA9IGluZGV4IC0gYWN0aXZlSW5kZXg7XHJcbiAgICBsZXQgYWN0aXZlRmlyc3RPckxhc3QgPSB0aGlzLmNhcm91c2VsLnN0YXJ0ID4gMSAmJiB0aGlzLmNhcm91c2VsLnN0YXJ0ID09PSBNYXRoLmFicyhvZmZzZXQpO1xyXG4gICAgaWYgKHRoaXMuaW5TdGFnZSB8fCBhY3RpdmVGaXJzdE9yTGFzdCkge1xyXG4gICAgICBpZiAoYWN0aXZlRmlyc3RPckxhc3QpIG9mZnNldCA9IG9mZnNldCA8IDAgPyAxIDogLTE7XHJcbiAgICAgIHJldHVybiAocGFyZW50V2lkdGggKiAoKDIgLSB0aGlzLmNhcmRTY2FsZSkgKiBvZmZzZXQgKyAxKSkgLyA0O1xyXG4gICAgfSBlbHNlIGlmIChpbmRleCA8IGFjdGl2ZUluZGV4KSB7XHJcbiAgICAgIHJldHVybiAoLSgxICsgdGhpcy5jYXJkU2NhbGUpICogcGFyZW50V2lkdGgpIC8gNDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoKDMgKyB0aGlzLmNhcmRTY2FsZSkgKiBwYXJlbnRXaWR0aCkgLyA0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKCkge1xyXG4gICAgdGhpcy5zZXRBY3RpdmUoKTtcclxuICAgIHRoaXMuc2V0U3R5bGVzKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwYW5lbENsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMuY2Fyb3VzZWwuY2FyZCAmJiB0aGlzLmNhcm91c2VsLmFjdGl2ZSAhPT0gdGhpcy5pbmRleCkge1xyXG4gICAgICB0aGlzLmNhcm91c2VsLmF1dG9wbGF5ICYmIHRoaXMuY2Fyb3VzZWwucmVzZXRJbnRlcnZhbCgpO1xyXG4gICAgICB0aGlzLmNhcm91c2VsLnNldEFjdGl2ZUl0ZW0odGhpcy5pbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzcyhjbHM6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSkgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICAgIGVsc2UgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjY2Fyb3VzZWxQYW5lbCBjbGFzcz1cIngtY2Fyb3VzZWwtcGFuZWxcIiAoY2xpY2spPVwicGFuZWxDbGljaygpXCI+XHJcbiAgPGRpdiAqbmdJZj1cImNhcm91c2VsPy5jYXJkXCIgW2hpZGRlbl09XCJhY3RpdmVcIiBjbGFzcz1cIngtY2Fyb3VzZWwtbWFza1wiPjwvZGl2PlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -8,7 +8,11 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ng-nest/ui/core";
9
9
  import * as i2 from "@angular/common";
10
10
  import * as i3 from "@ng-nest/ui/button";
11
+ import * as i4 from "@ng-nest/ui/progress";
11
12
  class XCarouselComponent extends XCarouselProperty {
13
+ get page() {
14
+ return Number(this.active) + 1;
15
+ }
12
16
  constructor(renderer, elementRef, cdr, configService) {
13
17
  super();
14
18
  this.renderer = renderer;
@@ -19,6 +23,8 @@ class XCarouselComponent extends XCarouselProperty {
19
23
  this.panelChanges = [];
20
24
  this.platformId = inject(PLATFORM_ID);
21
25
  this.isBrowser = true;
26
+ this.percent = 0;
27
+ this.count = 0;
22
28
  this._unSubject = new Subject();
23
29
  this.isBrowser = isPlatformBrowser(this.platformId);
24
30
  }
@@ -56,7 +62,15 @@ class XCarouselComponent extends XCarouselProperty {
56
62
  if (!this.isBrowser)
57
63
  return;
58
64
  this.timer && clearInterval(this.timer);
65
+ this.precentTimer && clearInterval(this.precentTimer);
66
+ this.percent = 0;
67
+ const js = Number(this.interval) / 100;
68
+ this.precentTimer = setInterval(() => {
69
+ this.percent += 1;
70
+ this.cdr.detectChanges();
71
+ }, js);
59
72
  this.timer = setInterval(() => {
73
+ this.percent = 0;
60
74
  this.setActiveItem(Number(this.active) + 1);
61
75
  }, Number(this.interval));
62
76
  }
@@ -80,12 +94,12 @@ class XCarouselComponent extends XCarouselProperty {
80
94
  return index;
81
95
  }
82
96
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
83
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XCarouselComponent, selector: "x-carousel", viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #carousel class=\"x-carousel\" [ngClass]=\"classMap\" [class.x-carousel-arrow-always]=\"arrow === 'always'\">\r\n <div #content class=\"x-carousel-content\" [style.height]=\"height\">\r\n <ng-container *ngIf=\"arrow !== 'never' && direction !== 'vertical'\">\r\n <x-button class=\"arrow-left\" icon=\"fto-chevron-left\" (click)=\"action(active, -1)\"></x-button>\r\n <x-button class=\"arrow-right\" icon=\"fto-chevron-right\" (click)=\"action(active, 1)\"></x-button>\r\n </ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n <ul class=\"x-carousel-indicator\" [class.x-carousel-indicator-outside]=\"outside || card\">\r\n <li\r\n *ngFor=\"let panel of panelChanges; let i = index; trackBy: trackByPanel\"\r\n [class.x-activated]=\"getActivated(i)\"\r\n (click)=\"action(i, 0, 'click')\"\r\n (mouseenter)=\"action(i, 0, 'hover')\"\r\n >\r\n <x-button type=\"text\"></x-button>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".x-carousel{margin:0;padding:0;font-size:var(--x-font-size);box-sizing:border-box;position:relative}.x-carousel-content{position:relative}.x-carousel-content>x-button{opacity:0;visibility:hidden;top:50%;z-index:10;transform:translateY(-50%);position:absolute;transition:var(--x-animation-duration-base) ease-out}.x-carousel-content>x-button .x-button{border:none;outline:none;padding:0;margin:0;height:2.25rem;width:2.25rem;border-radius:50%;background-color:#1f2d3d26;color:var(--x-background-100);text-align:center}.x-carousel-content>x-button .x-button:hover{color:var(--x-background-100);background-color:#1f2d3d40}.x-carousel-content>x-button.arrow-left{left:1rem;transform:translate3D(-15px,-50%,0)}.x-carousel-content>x-button.arrow-right{right:1rem;transform:translate3D(15px,-50%,0)}.x-carousel-content>x-carousel-panel{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;background-color:var(--x-background-a100);z-index:0}.x-carousel-content>x-carousel-panel.x-carousel-animating{transition:.4s ease-in-out}.x-carousel-content>x-carousel-panel.x-carousel-card{width:50%}.x-carousel-content>x-carousel-panel.x-carousel-in-stage{cursor:pointer;z-index:1}.x-carousel-content>x-carousel-panel.x-carousel-in-stage .x-carousel-mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--x-background);opacity:.24;transition:.2s}.x-carousel-content>x-carousel-panel.x-carousel-in-stage:hover .x-carousel-mask{opacity:.12}.x-carousel-content>x-carousel-panel.x-activated{z-index:2}.x-carousel-indicator{bottom:.25rem;left:50%;transform:translate(-50%);position:absolute;z-index:2;display:inline-flex}.x-carousel-indicator>li{cursor:pointer;background-color:transparent;display:inline-flex;padding:.75rem .25rem}.x-carousel-indicator>li>x-button .x-button{padding:0;width:1.875rem;height:.125rem;background-color:#1f2d3d26;transition:.3s}.x-carousel-indicator>li:hover>x-button .x-button{background-color:#1f2d3d40}.x-carousel-indicator>li.x-activated>x-button .x-button{background-color:#ffffffe6}.x-carousel-indicator-outside{position:static;transform:none;display:flex;align-items:center;justify-content:center}.x-carousel-indicator-outside>li>x-button .x-button{background-color:var(--x-text-700)}.x-carousel-indicator-outside>li.x-activated>x-button .x-button{background-color:#00000080}.x-carousel:hover .x-carousel-content>x-button,.x-carousel-arrow-always .x-carousel-content>x-button{opacity:1;visibility:inherit}.x-carousel:hover .x-carousel-content>x-button.arrow-left,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-left{transform:translate3D(0,-50%,0)}.x-carousel:hover .x-carousel-content>x-button.arrow-right,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-right{transform:translate3D(0,-50%,0)}.x-carousel-horizontal{overflow-x:hidden}.x-carousel-vertical{overflow-y:hidden}.x-carousel-vertical>.x-carousel-indicator{right:0;top:50%;left:inherit;bottom:inherit;flex-direction:column;transform:translateY(-50%)}.x-carousel-vertical>.x-carousel-indicator>li{padding:.25rem .75rem}.x-carousel-vertical>.x-carousel-indicator>li>x-button .x-button{width:.125rem;height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XCarouselComponent, selector: "x-carousel", viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #carousel\r\n class=\"x-carousel\"\r\n [ngClass]=\"classMap\"\r\n [class.x-carousel-arrow-always]=\"arrow === 'always'\"\r\n [class.x-carousel-has-current]=\"current\"\r\n [class.x-carousel-indicator-outside]=\"outside || card\"\r\n>\r\n <div #content class=\"x-carousel-content\" [style.height]=\"height\">\r\n <ng-container *ngIf=\"arrow !== 'never' && direction !== 'vertical'\">\r\n <x-button class=\"arrow-left\" icon=\"fto-chevron-left\" (click)=\"action(active, -1)\"></x-button>\r\n <x-button class=\"arrow-right\" icon=\"fto-chevron-right\" (click)=\"action(active, 1)\"></x-button>\r\n </ng-container>\r\n <ng-content></ng-content>\r\n <div class=\"x-carousel-text\" *ngIf=\"text\">{{ text }}</div>\r\n <div class=\"x-carousel-current\" *ngIf=\"current\">\r\n <span class=\"x-carousel-active\">{{ page }}</span> /\r\n <span class=\"x-carousel-count\">{{ count }}</span>\r\n </div>\r\n <div class=\"x-carousel-progress\" *ngIf=\"progress\">\r\n <x-progress [percent]=\"percent\" [color]=\"progressColor\" [info]=\"false\" height=\"0.325rem\"></x-progress>\r\n </div>\r\n </div>\r\n <ul class=\"x-carousel-indicator\">\r\n <li\r\n *ngFor=\"let panel of panelChanges; let i = index; trackBy: trackByPanel\"\r\n [class.x-activated]=\"getActivated(i)\"\r\n (click)=\"action(i, 0, 'click')\"\r\n (mouseenter)=\"action(i, 0, 'hover')\"\r\n >\r\n <x-button type=\"text\"></x-button>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".x-carousel{margin:0;padding:0;font-size:var(--x-font-size);box-sizing:border-box;position:relative}.x-carousel-content{position:relative}.x-carousel-content>x-button{opacity:0;visibility:hidden;top:50%;z-index:10;transform:translateY(-50%);position:absolute;transition:var(--x-animation-duration-base) ease-out}.x-carousel-content>x-button .x-button{border:none;outline:none;padding:0;margin:0;height:2.25rem;width:2.25rem;border-radius:50%;background-color:#1f2d3d26;color:var(--x-background-100);text-align:center}.x-carousel-content>x-button .x-button:hover{color:var(--x-background-100);background-color:#1f2d3d40}.x-carousel-content>x-button.arrow-left{left:1rem;transform:translate3D(-15px,-50%,0)}.x-carousel-content>x-button.arrow-right{right:1rem;transform:translate3D(15px,-50%,0)}.x-carousel-content>x-carousel-panel{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;background-color:var(--x-background-a100);z-index:0}.x-carousel-content>x-carousel-panel.x-carousel-animating{transition:.4s ease-in-out}.x-carousel-content>x-carousel-panel.x-carousel-card{width:50%}.x-carousel-content>x-carousel-panel.x-carousel-in-stage{cursor:pointer;z-index:1}.x-carousel-content>x-carousel-panel.x-carousel-in-stage .x-carousel-mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--x-background);opacity:.24;transition:.2s}.x-carousel-content>x-carousel-panel.x-carousel-in-stage:hover .x-carousel-mask{opacity:.12}.x-carousel-content>x-carousel-panel.x-activated{z-index:2}.x-carousel-indicator{bottom:.25rem;left:50%;transform:translate(-50%);position:absolute;z-index:2;display:inline-flex}.x-carousel-indicator>li{cursor:pointer;background-color:transparent;display:inline-flex;padding:.75rem .25rem}.x-carousel-indicator>li>x-button .x-button{padding:0;width:1.875rem;height:.125rem;background-color:#1f2d3d26;transition:.3s}.x-carousel-indicator>li:hover>x-button .x-button{background-color:#1f2d3d40}.x-carousel-indicator>li.x-activated>x-button .x-button{background-color:#ffffffe6}.x-carousel-indicator-outside .x-carousel-indicator{position:static;transform:none;display:flex;align-items:center;justify-content:center}.x-carousel-indicator-outside .x-carousel-indicator>li>x-button .x-button{background-color:var(--x-text-700)}.x-carousel-indicator-outside .x-carousel-indicator>li.x-activated>x-button .x-button{background-color:#00000080}.x-carousel:hover .x-carousel-content>x-button,.x-carousel-arrow-always .x-carousel-content>x-button{opacity:1;visibility:inherit}.x-carousel:hover .x-carousel-content>x-button.arrow-left,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-left{transform:translate3D(0,-50%,0)}.x-carousel:hover .x-carousel-content>x-button.arrow-right,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-right{transform:translate3D(0,-50%,0)}.x-carousel-horizontal,.x-carousel-vertical{overflow:hidden}.x-carousel-vertical>.x-carousel-indicator{right:0;top:50%;left:inherit;bottom:inherit;flex-direction:column;transform:translateY(-50%)}.x-carousel-vertical>.x-carousel-indicator>li{padding:.25rem .75rem}.x-carousel-vertical>.x-carousel-indicator>li>x-button .x-button{width:.125rem;height:1rem}.x-carousel-text{position:absolute;bottom:0;z-index:10;font-size:1rem;padding:.5rem .75rem}.x-carousel-progress{position:absolute;bottom:0;z-index:11;width:100%;height:.5rem}.x-carousel-progress x-progress{position:relative;height:.5rem;display:block;top:0}.x-carousel-progress x-progress .x-progress{position:relative;top:-.5625rem}.x-carousel-progress x-progress .x-progress-rail,.x-carousel-progress x-progress .x-progress-bg{border-radius:0}.x-carousel-progress x-progress .x-progress-rail{background-color:transparent}.x-carousel-current{position:absolute;bottom:0;right:0;z-index:11;padding:.5rem .75rem;font-size:var(--x-font-size-big)}.x-carousel-active{color:var(--x-primary);font-weight:600;font-size:1.5rem}.x-carousel-count{color:var(--x-text);font-weight:600}.x-carousel-has-current .x-carousel-text{padding-right:5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XButtonComponent, selector: "x-button" }, { kind: "component", type: i4.XProgressComponent, selector: "x-progress" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
84
98
  }
85
99
  export { XCarouselComponent };
86
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselComponent, decorators: [{
87
101
  type: Component,
88
- args: [{ selector: `${XCarouselPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carousel class=\"x-carousel\" [ngClass]=\"classMap\" [class.x-carousel-arrow-always]=\"arrow === 'always'\">\r\n <div #content class=\"x-carousel-content\" [style.height]=\"height\">\r\n <ng-container *ngIf=\"arrow !== 'never' && direction !== 'vertical'\">\r\n <x-button class=\"arrow-left\" icon=\"fto-chevron-left\" (click)=\"action(active, -1)\"></x-button>\r\n <x-button class=\"arrow-right\" icon=\"fto-chevron-right\" (click)=\"action(active, 1)\"></x-button>\r\n </ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n <ul class=\"x-carousel-indicator\" [class.x-carousel-indicator-outside]=\"outside || card\">\r\n <li\r\n *ngFor=\"let panel of panelChanges; let i = index; trackBy: trackByPanel\"\r\n [class.x-activated]=\"getActivated(i)\"\r\n (click)=\"action(i, 0, 'click')\"\r\n (mouseenter)=\"action(i, 0, 'hover')\"\r\n >\r\n <x-button type=\"text\"></x-button>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".x-carousel{margin:0;padding:0;font-size:var(--x-font-size);box-sizing:border-box;position:relative}.x-carousel-content{position:relative}.x-carousel-content>x-button{opacity:0;visibility:hidden;top:50%;z-index:10;transform:translateY(-50%);position:absolute;transition:var(--x-animation-duration-base) ease-out}.x-carousel-content>x-button .x-button{border:none;outline:none;padding:0;margin:0;height:2.25rem;width:2.25rem;border-radius:50%;background-color:#1f2d3d26;color:var(--x-background-100);text-align:center}.x-carousel-content>x-button .x-button:hover{color:var(--x-background-100);background-color:#1f2d3d40}.x-carousel-content>x-button.arrow-left{left:1rem;transform:translate3D(-15px,-50%,0)}.x-carousel-content>x-button.arrow-right{right:1rem;transform:translate3D(15px,-50%,0)}.x-carousel-content>x-carousel-panel{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;background-color:var(--x-background-a100);z-index:0}.x-carousel-content>x-carousel-panel.x-carousel-animating{transition:.4s ease-in-out}.x-carousel-content>x-carousel-panel.x-carousel-card{width:50%}.x-carousel-content>x-carousel-panel.x-carousel-in-stage{cursor:pointer;z-index:1}.x-carousel-content>x-carousel-panel.x-carousel-in-stage .x-carousel-mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--x-background);opacity:.24;transition:.2s}.x-carousel-content>x-carousel-panel.x-carousel-in-stage:hover .x-carousel-mask{opacity:.12}.x-carousel-content>x-carousel-panel.x-activated{z-index:2}.x-carousel-indicator{bottom:.25rem;left:50%;transform:translate(-50%);position:absolute;z-index:2;display:inline-flex}.x-carousel-indicator>li{cursor:pointer;background-color:transparent;display:inline-flex;padding:.75rem .25rem}.x-carousel-indicator>li>x-button .x-button{padding:0;width:1.875rem;height:.125rem;background-color:#1f2d3d26;transition:.3s}.x-carousel-indicator>li:hover>x-button .x-button{background-color:#1f2d3d40}.x-carousel-indicator>li.x-activated>x-button .x-button{background-color:#ffffffe6}.x-carousel-indicator-outside{position:static;transform:none;display:flex;align-items:center;justify-content:center}.x-carousel-indicator-outside>li>x-button .x-button{background-color:var(--x-text-700)}.x-carousel-indicator-outside>li.x-activated>x-button .x-button{background-color:#00000080}.x-carousel:hover .x-carousel-content>x-button,.x-carousel-arrow-always .x-carousel-content>x-button{opacity:1;visibility:inherit}.x-carousel:hover .x-carousel-content>x-button.arrow-left,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-left{transform:translate3D(0,-50%,0)}.x-carousel:hover .x-carousel-content>x-button.arrow-right,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-right{transform:translate3D(0,-50%,0)}.x-carousel-horizontal{overflow-x:hidden}.x-carousel-vertical{overflow-y:hidden}.x-carousel-vertical>.x-carousel-indicator{right:0;top:50%;left:inherit;bottom:inherit;flex-direction:column;transform:translateY(-50%)}.x-carousel-vertical>.x-carousel-indicator>li{padding:.25rem .75rem}.x-carousel-vertical>.x-carousel-indicator>li>x-button .x-button{width:.125rem;height:1rem}\n"] }]
102
+ args: [{ selector: `${XCarouselPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n #carousel\r\n class=\"x-carousel\"\r\n [ngClass]=\"classMap\"\r\n [class.x-carousel-arrow-always]=\"arrow === 'always'\"\r\n [class.x-carousel-has-current]=\"current\"\r\n [class.x-carousel-indicator-outside]=\"outside || card\"\r\n>\r\n <div #content class=\"x-carousel-content\" [style.height]=\"height\">\r\n <ng-container *ngIf=\"arrow !== 'never' && direction !== 'vertical'\">\r\n <x-button class=\"arrow-left\" icon=\"fto-chevron-left\" (click)=\"action(active, -1)\"></x-button>\r\n <x-button class=\"arrow-right\" icon=\"fto-chevron-right\" (click)=\"action(active, 1)\"></x-button>\r\n </ng-container>\r\n <ng-content></ng-content>\r\n <div class=\"x-carousel-text\" *ngIf=\"text\">{{ text }}</div>\r\n <div class=\"x-carousel-current\" *ngIf=\"current\">\r\n <span class=\"x-carousel-active\">{{ page }}</span> /\r\n <span class=\"x-carousel-count\">{{ count }}</span>\r\n </div>\r\n <div class=\"x-carousel-progress\" *ngIf=\"progress\">\r\n <x-progress [percent]=\"percent\" [color]=\"progressColor\" [info]=\"false\" height=\"0.325rem\"></x-progress>\r\n </div>\r\n </div>\r\n <ul class=\"x-carousel-indicator\">\r\n <li\r\n *ngFor=\"let panel of panelChanges; let i = index; trackBy: trackByPanel\"\r\n [class.x-activated]=\"getActivated(i)\"\r\n (click)=\"action(i, 0, 'click')\"\r\n (mouseenter)=\"action(i, 0, 'hover')\"\r\n >\r\n <x-button type=\"text\"></x-button>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".x-carousel{margin:0;padding:0;font-size:var(--x-font-size);box-sizing:border-box;position:relative}.x-carousel-content{position:relative}.x-carousel-content>x-button{opacity:0;visibility:hidden;top:50%;z-index:10;transform:translateY(-50%);position:absolute;transition:var(--x-animation-duration-base) ease-out}.x-carousel-content>x-button .x-button{border:none;outline:none;padding:0;margin:0;height:2.25rem;width:2.25rem;border-radius:50%;background-color:#1f2d3d26;color:var(--x-background-100);text-align:center}.x-carousel-content>x-button .x-button:hover{color:var(--x-background-100);background-color:#1f2d3d40}.x-carousel-content>x-button.arrow-left{left:1rem;transform:translate3D(-15px,-50%,0)}.x-carousel-content>x-button.arrow-right{right:1rem;transform:translate3D(15px,-50%,0)}.x-carousel-content>x-carousel-panel{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;background-color:var(--x-background-a100);z-index:0}.x-carousel-content>x-carousel-panel.x-carousel-animating{transition:.4s ease-in-out}.x-carousel-content>x-carousel-panel.x-carousel-card{width:50%}.x-carousel-content>x-carousel-panel.x-carousel-in-stage{cursor:pointer;z-index:1}.x-carousel-content>x-carousel-panel.x-carousel-in-stage .x-carousel-mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--x-background);opacity:.24;transition:.2s}.x-carousel-content>x-carousel-panel.x-carousel-in-stage:hover .x-carousel-mask{opacity:.12}.x-carousel-content>x-carousel-panel.x-activated{z-index:2}.x-carousel-indicator{bottom:.25rem;left:50%;transform:translate(-50%);position:absolute;z-index:2;display:inline-flex}.x-carousel-indicator>li{cursor:pointer;background-color:transparent;display:inline-flex;padding:.75rem .25rem}.x-carousel-indicator>li>x-button .x-button{padding:0;width:1.875rem;height:.125rem;background-color:#1f2d3d26;transition:.3s}.x-carousel-indicator>li:hover>x-button .x-button{background-color:#1f2d3d40}.x-carousel-indicator>li.x-activated>x-button .x-button{background-color:#ffffffe6}.x-carousel-indicator-outside .x-carousel-indicator{position:static;transform:none;display:flex;align-items:center;justify-content:center}.x-carousel-indicator-outside .x-carousel-indicator>li>x-button .x-button{background-color:var(--x-text-700)}.x-carousel-indicator-outside .x-carousel-indicator>li.x-activated>x-button .x-button{background-color:#00000080}.x-carousel:hover .x-carousel-content>x-button,.x-carousel-arrow-always .x-carousel-content>x-button{opacity:1;visibility:inherit}.x-carousel:hover .x-carousel-content>x-button.arrow-left,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-left{transform:translate3D(0,-50%,0)}.x-carousel:hover .x-carousel-content>x-button.arrow-right,.x-carousel-arrow-always .x-carousel-content>x-button.arrow-right{transform:translate3D(0,-50%,0)}.x-carousel-horizontal,.x-carousel-vertical{overflow:hidden}.x-carousel-vertical>.x-carousel-indicator{right:0;top:50%;left:inherit;bottom:inherit;flex-direction:column;transform:translateY(-50%)}.x-carousel-vertical>.x-carousel-indicator>li{padding:.25rem .75rem}.x-carousel-vertical>.x-carousel-indicator>li>x-button .x-button{width:.125rem;height:1rem}.x-carousel-text{position:absolute;bottom:0;z-index:10;font-size:1rem;padding:.5rem .75rem}.x-carousel-progress{position:absolute;bottom:0;z-index:11;width:100%;height:.5rem}.x-carousel-progress x-progress{position:relative;height:.5rem;display:block;top:0}.x-carousel-progress x-progress .x-progress{position:relative;top:-.5625rem}.x-carousel-progress x-progress .x-progress-rail,.x-carousel-progress x-progress .x-progress-bg{border-radius:0}.x-carousel-progress x-progress .x-progress-rail{background-color:transparent}.x-carousel-current{position:absolute;bottom:0;right:0;z-index:11;padding:.5rem .75rem;font-size:var(--x-font-size-big)}.x-carousel-active{color:var(--x-primary);font-weight:600;font-size:1.5rem}.x-carousel-count{color:var(--x-text);font-weight:600}.x-carousel-has-current .x-carousel-text{padding-right:5rem}\n"] }]
89
103
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { carousel: [{
90
104
  type: ViewChild,
91
105
  args: ['carousel']
@@ -93,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
93
107
  type: ViewChild,
94
108
  args: ['content']
95
109
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVcsT0FBTyxFQUFtQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hILE9BQU8sRUFBbUIsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRXBELE1BT2Esa0JBQW1CLFNBQVEsaUJBQWlCO0lBWXZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQWJ0QyxVQUFLLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFHbkIsaUJBQVksR0FBMkIsRUFBRSxDQUFDO1FBQzFDLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENB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bmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFBMQVRGT1JNX0lELFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ2Fyb3VzZWxQcmVmaXgsIFhDYXJvdXNlbFByb3BlcnR5IH0gZnJvbSAnLi9jYXJvdXNlbC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc1VuZGVmaW5lZCwgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWE51bWJlciwgWFJlc2l6ZSwgWENvbmZpZ1NlcnZpY2UsIFhSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYQ2Fyb3VzZWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWENhcm91c2VsQ29tcG9uZW50IGV4dGVuZHMgWENhcm91c2VsUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnY2Fyb3VzZWwnKSBjYXJvdXNlbCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgc3RhcnQ6IG51bWJlciA9IC0xO1xyXG4gIGJlZm9yZSE6IG51bWJlcjtcclxuICB0aW1lcjogYW55O1xyXG4gIHBhbmVsQ2hhbmdlczogQmVoYXZpb3JTdWJqZWN0PGFueT5bXSA9IFtdO1xyXG4gIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG4gIGlzQnJvd3NlciA9IHRydWU7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciE6IFhSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmF1dG9wbGF5ICYmIHRoaXMucmVzZXRJbnRlcnZhbCgpO1xyXG4gICAgWFJlc2l6ZSh0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnBhbmVsQ2hhbmdlcy5mb3JFYWNoKChzdWIpID0+IHN1Yi5uZXh0KHRydWUpKTtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYWN0aXZlIH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGFjdGl2ZSkgJiYgdGhpcy5zZXRBY3RpdmVJdGVtKE51bWJlcih0aGlzLmFjdGl2ZSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVyICYmIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XHJcbiAgICB0aGlzLnBhbmVsQ2hhbmdlcy5mb3JFYWNoKCh4KSA9PiB4LmNvbXBsZXRlKCkpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb24oaW5kZXg6IFhOdW1iZXIsIGluY3JlYXNlOiBudW1iZXIsIGV2ZW50Pzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIVhJc1VuZGVmaW5lZChldmVudCkgJiYgdGhpcy50cmlnZ2VyICE9PSBldmVudCkgcmV0dXJuO1xyXG4gICAgdGhpcy5hdXRvcGxheSAmJiB0aGlzLnJlc2V0SW50ZXJ2YWwoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZlSXRlbShOdW1iZXIoaW5kZXgpICsgaW5jcmVhc2UpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRJbnRlcnZhbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybjtcclxuICAgIHRoaXMudGltZXIgJiYgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0QWN0aXZlSXRlbShOdW1iZXIodGhpcy5hY3RpdmUpICsgMSk7XHJcbiAgICB9LCBOdW1iZXIodGhpcy5pbnRlcnZhbCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZlSXRlbShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdGFydCA9PT0gLTEpIHJldHVybjtcclxuICAgIHRoaXMuYmVmb3JlID0gTnVtYmVyKHRoaXMuYWN0aXZlKTtcclxuICAgIGNvbnN0IG5leHRWYWx1ZSA9IGluZGV4ID4gdGhpcy5zdGFydCA/IDAgOiBpbmRleCA8IDAgPyB0aGlzLnN0YXJ0IDogaW5kZXg7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IG5leHRWYWx1ZTtcclxuICAgIHRoaXMucGFuZWxDaGFuZ2VzLmZvckVhY2goKHN1YikgPT4gc3ViLm5leHQodHJ1ZSkpO1xyXG4gICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WENhcm91c2VsUHJlZml4fS0ke3RoaXMuZGlyZWN0aW9ufWBdID0gIVhJc0VtcHR5KHRoaXMuZGlyZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuYWN0aXZlKSA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5UGFuZWwoaW5kZXg6IG51bWJlciwgX2l0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNjYXJvdXNlbCBjbGFzcz1cIngtY2Fyb3VzZWxcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiIFtjbGFzcy54LWNhcm91c2VsLWFycm93LWFsd2F5c109XCJhcnJvdyA9PT0gJ2Fsd2F5cydcIj5cclxuICA8ZGl2ICNjb250ZW50IGNsYXNzPVwieC1jYXJvdXNlbC1jb250ZW50XCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcnJvdyAhPT0gJ25ldmVyJyAmJiBkaXJlY3Rpb24gIT09ICd2ZXJ0aWNhbCdcIj5cclxuICAgICAgPHgtYnV0dG9uIGNsYXNzPVwiYXJyb3ctbGVmdFwiIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgKGNsaWNrKT1cImFjdGlvbihhY3RpdmUsIC0xKVwiPjwveC1idXR0b24+XHJcbiAgICAgIDx4LWJ1dHRvbiBjbGFzcz1cImFycm93LXJpZ2h0XCIgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgKGNsaWNrKT1cImFjdGlvbihhY3RpdmUsIDEpXCI+PC94LWJ1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG4gIDx1bCBjbGFzcz1cIngtY2Fyb3VzZWwtaW5kaWNhdG9yXCIgW2NsYXNzLngtY2Fyb3VzZWwtaW5kaWNhdG9yLW91dHNpZGVdPVwib3V0c2lkZSB8fCBjYXJkXCI+XHJcbiAgICA8bGlcclxuICAgICAgKm5nRm9yPVwibGV0IHBhbmVsIG9mIHBhbmVsQ2hhbmdlczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVBhbmVsXCJcclxuICAgICAgW2NsYXNzLngtYWN0aXZhdGVkXT1cImdldEFjdGl2YXRlZChpKVwiXHJcbiAgICAgIChjbGljayk9XCJhY3Rpb24oaSwgMCwgJ2NsaWNrJylcIlxyXG4gICAgICAobW91c2VlbnRlcik9XCJhY3Rpb24oaSwgMCwgJ2hvdmVyJylcIlxyXG4gICAgPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIj48L3gtYnV0dG9uPlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVcsT0FBTyxFQUFtQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hILE9BQU8sRUFBbUIsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUVwRCxNQU9hLGtCQUFtQixTQUFRLGlCQUFpQjtJQWV2RCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUNTLFFBQW1CLEVBQ25CLFVBQW1DLEVBQ25DLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFwQnRDLFVBQUssR0FB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QUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFVO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztpSUFuR1Usa0JBQWtCO3FIQUFsQixrQkFBa0IseVJDM0IvQixrL0NBa0NBOztTRFBhLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLEdBQUcsZUFBZSxFQUFFLGlCQUdmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBR3hCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDQyxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFBMQVRGT1JNX0lELFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ2Fyb3VzZWxQcmVmaXgsIFhDYXJvdXNlbFByb3BlcnR5IH0gZnJvbSAnLi9jYXJvdXNlbC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc1VuZGVmaW5lZCwgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWE51bWJlciwgWFJlc2l6ZSwgWENvbmZpZ1NlcnZpY2UsIFhSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYQ2Fyb3VzZWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWENhcm91c2VsQ29tcG9uZW50IGV4dGVuZHMgWENhcm91c2VsUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnY2Fyb3VzZWwnKSBjYXJvdXNlbCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgc3RhcnQ6IG51bWJlciA9IC0xO1xyXG4gIGJlZm9yZSE6IG51bWJlcjtcclxuICB0aW1lcjogYW55O1xyXG4gIHByZWNlbnRUaW1lcjogYW55O1xyXG4gIHBhbmVsQ2hhbmdlczogQmVoYXZpb3JTdWJqZWN0PGFueT5bXSA9IFtdO1xyXG4gIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG4gIGlzQnJvd3NlciA9IHRydWU7XHJcbiAgcGVyY2VudCA9IDA7XHJcbiAgY291bnQgPSAwO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIGdldCBwYWdlKCkge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmFjdGl2ZSkgKyAxO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmF1dG9wbGF5ICYmIHRoaXMucmVzZXRJbnRlcnZhbCgpO1xyXG4gICAgWFJlc2l6ZSh0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnBhbmVsQ2hhbmdlcy5mb3JFYWNoKChzdWIpID0+IHN1Yi5uZXh0KHRydWUpKTtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYWN0aXZlIH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGFjdGl2ZSkgJiYgdGhpcy5zZXRBY3RpdmVJdGVtKE51bWJlcih0aGlzLmFjdGl2ZSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVyICYmIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XHJcbiAgICB0aGlzLnBhbmVsQ2hhbmdlcy5mb3JFYWNoKCh4KSA9PiB4LmNvbXBsZXRlKCkpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb24oaW5kZXg6IFhOdW1iZXIsIGluY3JlYXNlOiBudW1iZXIsIGV2ZW50Pzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIVhJc1VuZGVmaW5lZChldmVudCkgJiYgdGhpcy50cmlnZ2VyICE9PSBldmVudCkgcmV0dXJuO1xyXG4gICAgdGhpcy5hdXRvcGxheSAmJiB0aGlzLnJlc2V0SW50ZXJ2YWwoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZlSXRlbShOdW1iZXIoaW5kZXgpICsgaW5jcmVhc2UpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRJbnRlcnZhbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHJldHVybjtcclxuICAgIHRoaXMudGltZXIgJiYgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICAgIHRoaXMucHJlY2VudFRpbWVyICYmIGNsZWFySW50ZXJ2YWwodGhpcy5wcmVjZW50VGltZXIpO1xyXG4gICAgdGhpcy5wZXJjZW50ID0gMDtcclxuICAgIGNvbnN0IGpzID0gTnVtYmVyKHRoaXMuaW50ZXJ2YWwpIC8gMTAwO1xyXG4gICAgdGhpcy5wcmVjZW50VGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIHRoaXMucGVyY2VudCArPSAxO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCBqcyk7XHJcbiAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBlcmNlbnQgPSAwO1xyXG4gICAgICB0aGlzLnNldEFjdGl2ZUl0ZW0oTnVtYmVyKHRoaXMuYWN0aXZlKSArIDEpO1xyXG4gICAgfSwgTnVtYmVyKHRoaXMuaW50ZXJ2YWwpKTtcclxuICB9XHJcblxyXG4gIHNldEFjdGl2ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RhcnQgPT09IC0xKSByZXR1cm47XHJcbiAgICB0aGlzLmJlZm9yZSA9IE51bWJlcih0aGlzLmFjdGl2ZSk7XHJcbiAgICBjb25zdCBuZXh0VmFsdWUgPSBpbmRleCA+IHRoaXMuc3RhcnQgPyAwIDogaW5kZXggPCAwID8gdGhpcy5zdGFydCA6IGluZGV4O1xyXG4gICAgdGhpcy5hY3RpdmUgPSBuZXh0VmFsdWU7XHJcbiAgICB0aGlzLnBhbmVsQ2hhbmdlcy5mb3JFYWNoKChzdWIpID0+IHN1Yi5uZXh0KHRydWUpKTtcclxuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hDYXJvdXNlbFByZWZpeH0tJHt0aGlzLmRpcmVjdGlvbn1gXSA9ICFYSXNFbXB0eSh0aGlzLmRpcmVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmF0ZWQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmFjdGl2ZSkgPT09IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVBhbmVsKGluZGV4OiBudW1iZXIsIF9pdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNjYXJvdXNlbFxyXG4gIGNsYXNzPVwieC1jYXJvdXNlbFwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFtjbGFzcy54LWNhcm91c2VsLWFycm93LWFsd2F5c109XCJhcnJvdyA9PT0gJ2Fsd2F5cydcIlxyXG4gIFtjbGFzcy54LWNhcm91c2VsLWhhcy1jdXJyZW50XT1cImN1cnJlbnRcIlxyXG4gIFtjbGFzcy54LWNhcm91c2VsLWluZGljYXRvci1vdXRzaWRlXT1cIm91dHNpZGUgfHwgY2FyZFwiXHJcbj5cclxuICA8ZGl2ICNjb250ZW50IGNsYXNzPVwieC1jYXJvdXNlbC1jb250ZW50XCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcnJvdyAhPT0gJ25ldmVyJyAmJiBkaXJlY3Rpb24gIT09ICd2ZXJ0aWNhbCdcIj5cclxuICAgICAgPHgtYnV0dG9uIGNsYXNzPVwiYXJyb3ctbGVmdFwiIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgKGNsaWNrKT1cImFjdGlvbihhY3RpdmUsIC0xKVwiPjwveC1idXR0b24+XHJcbiAgICAgIDx4LWJ1dHRvbiBjbGFzcz1cImFycm93LXJpZ2h0XCIgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgKGNsaWNrKT1cImFjdGlvbihhY3RpdmUsIDEpXCI+PC94LWJ1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtY2Fyb3VzZWwtdGV4dFwiICpuZ0lmPVwidGV4dFwiPnt7IHRleHQgfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWNhcm91c2VsLWN1cnJlbnRcIiAqbmdJZj1cImN1cnJlbnRcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ4LWNhcm91c2VsLWFjdGl2ZVwiPnt7IHBhZ2UgfX08L3NwYW4+IC9cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ4LWNhcm91c2VsLWNvdW50XCI+e3sgY291bnQgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWNhcm91c2VsLXByb2dyZXNzXCIgKm5nSWY9XCJwcm9ncmVzc1wiPlxyXG4gICAgICA8eC1wcm9ncmVzcyBbcGVyY2VudF09XCJwZXJjZW50XCIgW2NvbG9yXT1cInByb2dyZXNzQ29sb3JcIiBbaW5mb109XCJmYWxzZVwiIGhlaWdodD1cIjAuMzI1cmVtXCI+PC94LXByb2dyZXNzPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPHVsIGNsYXNzPVwieC1jYXJvdXNlbC1pbmRpY2F0b3JcIj5cclxuICAgIDxsaVxyXG4gICAgICAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgcGFuZWxDaGFuZ2VzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5UGFuZWxcIlxyXG4gICAgICBbY2xhc3MueC1hY3RpdmF0ZWRdPVwiZ2V0QWN0aXZhdGVkKGkpXCJcclxuICAgICAgKGNsaWNrKT1cImFjdGlvbihpLCAwLCAnY2xpY2snKVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cImFjdGlvbihpLCAwLCAnaG92ZXInKVwiXHJcbiAgICA+XHJcbiAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiPjwveC1idXR0b24+XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -4,11 +4,12 @@ import { XCarouselComponent } from './carousel.component';
4
4
  import { XCarouselPanelComponent } from './carousel-panel.component';
5
5
  import { XButtonModule } from '@ng-nest/ui/button';
6
6
  import { XCarouselProperty, XCarouselPanelProperty } from './carousel.property';
7
+ import { XProgressModule } from '@ng-nest/ui/progress';
7
8
  import * as i0 from "@angular/core";
8
9
  class XCarouselModule {
9
10
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XCarouselModule, declarations: [XCarouselComponent, XCarouselPanelComponent, XCarouselProperty, XCarouselPanelProperty], imports: [CommonModule, XButtonModule], exports: [XCarouselComponent, XCarouselPanelComponent] }); }
11
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselModule, imports: [CommonModule, XButtonModule] }); }
11
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XCarouselModule, declarations: [XCarouselComponent, XCarouselPanelComponent, XCarouselProperty, XCarouselPanelProperty], imports: [CommonModule, XButtonModule, XProgressModule], exports: [XCarouselComponent, XCarouselPanelComponent] }); }
12
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselModule, imports: [CommonModule, XButtonModule, XProgressModule] }); }
12
13
  }
13
14
  export { XCarouselModule };
14
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselModule, decorators: [{
@@ -16,7 +17,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
16
17
  args: [{
17
18
  declarations: [XCarouselComponent, XCarouselPanelComponent, XCarouselProperty, XCarouselPanelProperty],
18
19
  exports: [XCarouselComponent, XCarouselPanelComponent],
19
- imports: [CommonModule, XButtonModule]
20
+ imports: [CommonModule, XButtonModule, XProgressModule]
20
21
  }]
21
22
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFaEYsTUFLYSxlQUFlO2lJQUFmLGVBQWU7a0lBQWYsZUFBZSxpQkFKWCxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsYUFFM0YsWUFBWSxFQUFFLGFBQWEsYUFEM0Isa0JBQWtCLEVBQUUsdUJBQXVCO2tJQUcxQyxlQUFlLFlBRmhCLFlBQVksRUFBRSxhQUFhOztTQUUxQixlQUFlOzJGQUFmLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ3RHLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLHVCQUF1QixDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vY2Fyb3VzZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWENhcm91c2VsUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhCdXR0b25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYQ2Fyb3VzZWxQcm9wZXJ0eSwgWENhcm91c2VsUGFuZWxQcm9wZXJ0eSB9IGZyb20gJy4vY2Fyb3VzZWwucHJvcGVydHknO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYQ2Fyb3VzZWxDb21wb25lbnQsIFhDYXJvdXNlbFBhbmVsQ29tcG9uZW50LCBYQ2Fyb3VzZWxQcm9wZXJ0eSwgWENhcm91c2VsUGFuZWxQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hDYXJvdXNlbENvbXBvbmVudCwgWENhcm91c2VsUGFuZWxDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFhCdXR0b25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQ2Fyb3VzZWxNb2R1bGUge31cclxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY2Fyb3VzZWwvY2Fyb3VzZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXZELE1BS2EsZUFBZTtpSUFBZixlQUFlO2tJQUFmLGVBQWUsaUJBSlgsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLGFBRTNGLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxhQUQ1QyxrQkFBa0IsRUFBRSx1QkFBdUI7a0lBRzFDLGVBQWUsWUFGaEIsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlOztTQUUzQyxlQUFlOzJGQUFmLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ3RHLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLHVCQUF1QixDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztpQkFDeEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2Nhcm91c2VsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhDYXJvdXNlbFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJvdXNlbC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWENhcm91c2VsUHJvcGVydHksIFhDYXJvdXNlbFBhbmVsUHJvcGVydHkgfSBmcm9tICcuL2Nhcm91c2VsLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFByb2dyZXNzTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcHJvZ3Jlc3MnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYQ2Fyb3VzZWxDb21wb25lbnQsIFhDYXJvdXNlbFBhbmVsQ29tcG9uZW50LCBYQ2Fyb3VzZWxQcm9wZXJ0eSwgWENhcm91c2VsUGFuZWxQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hDYXJvdXNlbENvbXBvbmVudCwgWENhcm91c2VsUGFuZWxDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFhCdXR0b25Nb2R1bGUsIFhQcm9ncmVzc01vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhDYXJvdXNlbE1vZHVsZSB7fVxyXG4iXX0=
@@ -37,7 +37,7 @@ class XCarouselProperty extends XProperty {
37
37
  this.activeChange = new EventEmitter();
38
38
  }
39
39
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
40
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XCarouselProperty, selector: "x-carousel-property", inputs: { active: "active", height: "height", trigger: "trigger", arrow: "arrow", direction: "direction", autoplay: "autoplay", interval: "interval", outside: "outside", card: "card" }, outputs: { activeChange: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
40
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XCarouselProperty, selector: "x-carousel-property", inputs: { active: "active", height: "height", trigger: "trigger", arrow: "arrow", direction: "direction", autoplay: "autoplay", interval: "interval", outside: "outside", card: "card", text: "text", progress: "progress", progressColor: "progressColor", current: "current" }, outputs: { activeChange: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
41
41
  }
42
42
  __decorate([
43
43
  XInputNumber()
@@ -63,6 +63,12 @@ __decorate([
63
63
  __decorate([
64
64
  XInputBoolean()
65
65
  ], XCarouselProperty.prototype, "card", void 0);
66
+ __decorate([
67
+ XInputBoolean()
68
+ ], XCarouselProperty.prototype, "progress", void 0);
69
+ __decorate([
70
+ XInputBoolean()
71
+ ], XCarouselProperty.prototype, "current", void 0);
66
72
  export { XCarouselProperty };
67
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XCarouselProperty, decorators: [{
68
74
  type: Component,
@@ -85,6 +91,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
85
91
  type: Input
86
92
  }], card: [{
87
93
  type: Input
94
+ }], text: [{
95
+ type: Input
96
+ }], progress: [{
97
+ type: Input
98
+ }], progressColor: [{
99
+ type: Input
100
+ }], current: [{
101
+ type: Input
88
102
  }], activeChange: [{
89
103
  type: Output
90
104
  }] } });
@@ -111,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
111
125
  }], propDecorators: { active: [{
112
126
  type: Input
113
127
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jYXJvdXNlbC9jYXJvdXNlbC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osYUFBYSxFQUdiLFdBQVcsRUFJWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXZFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUVqQzs7R0FFRztBQUNILE1BQ2EsaUJBQWtCLFNBQVEsU0FBUztJQURoRDs7UUFFRTs7O1dBR0c7UUFDc0IsV0FBTSxHQUFZLENBQUMsQ0FBQztRQXFCN0M7OztXQUdHO1FBQ3VCLGFBQVEsR0FBYSxJQUFJLENBQUM7UUFDcEQ7OztXQUdHO1FBQ00sYUFBUSxHQUFZLElBQUksQ0FBQztRQVdsQzs7O1dBR0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FDckQ7aUlBbkRZLGlCQUFpQjtxSEFBakIsaUJBQWlCLHVUQURrQyxFQUFFOztBQU12QztJQUFmLFlBQVksRUFBRTtpREFBcUI7QUFLUztJQUE1QyxXQUFXLENBQVMsYUFBYSxFQUFFLE9BQU8sQ0FBQztpREFBaUI7QUFLTjtJQUF0RCxXQUFXLENBQW1CLGFBQWEsRUFBRSxPQUFPLENBQUM7a0RBQTRCO0FBSzdCO0lBQXBELFdBQVcsQ0FBaUIsYUFBYSxFQUFFLE9BQU8sQ0FBQztnREFBd0I7QUFLZDtJQUE3RCxXQUFXLENBQXFCLGFBQWEsRUFBRSxZQUFZLENBQUM7b0RBQWdDO0FBSzVFO0lBQWhCLGFBQWEsRUFBRTttREFBMkI7QUFVMUI7SUFBaEIsYUFBYSxFQUFFO2tEQUFvQjtBQUtuQjtJQUFoQixhQUFhLEVBQUU7K0NBQWlCO1NBN0MvQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLGVBQWUsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTXpDLE1BQU07c0JBQTlCLEtBQUs7Z0JBS2dELE1BQU07c0JBQTNELEtBQUs7Z0JBSzBELE9BQU87c0JBQXRFLEtBQUs7Z0JBS3dELEtBQUs7c0JBQWxFLEtBQUs7Z0JBS2lFLFNBQVM7c0JBQS9FLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLb0IsT0FBTztzQkFBaEMsS0FBSztnQkFLb0IsSUFBSTtzQkFBN0IsS0FBSztnQkFLSSxZQUFZO3NCQUFyQixNQUFNOztBQXFCVDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUNhLHNCQUF1QixTQUFRLFNBQVM7aUlBQXhDLHNCQUFzQjtxSEFBdEIsc0JBQXNCLHNIQURrQyxFQUFFOztBQU0zQztJQUFoQixhQUFhLEVBQUU7c0RBQW1CO1NBTGpDLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsb0JBQW9CLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU03QyxNQUFNO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYUHJvcGVydHksXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWE51bWJlcixcclxuICBYQm9vbGVhbixcclxuICBYV2l0aENvbmZpZyxcclxuICBYU2hhZG93LFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhUcmlnZ2VyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQ2Fyb3VzZWxcclxuICogQHNlbGVjdG9yIHgtY2Fyb3VzZWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYQ2Fyb3VzZWxQcmVmaXggPSAneC1jYXJvdXNlbCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnY2Fyb3VzZWwnO1xyXG5cclxuLyoqXHJcbiAqIENhcm91c2VsIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hDYXJvdXNlbFByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhDYXJvdXNlbFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN5r+A5rS755qE5bm754Gv54mH57Si5byVXHJcbiAgICogQGVuX1VTIEluZGV4IG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlIHNsaWRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGFjdGl2ZTogWE51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW5u+eBr+eJh+mrmOW6plxyXG4gICAqIEBlbl9VUyBTbGlkZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnMTVyZW0nKSBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIh+aNouWZqOinpuWPkeaWueW8j1xyXG4gICAqIEBlbl9VUyBTd2l0Y2hlciB0cmlnZ2VyIG1ldGhvZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQ2Fyb3VzZWxUcmlnZ2VyPihYX0NPTkZJR19OQU1FLCAnaG92ZXInKSB0cmlnZ2VyPzogWENhcm91c2VsVHJpZ2dlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g566t5aS05pi+56S65b2x6JeP5pa55byPXHJcbiAgICogQGVuX1VTIEFycm93IHNob3dzIGhvdyB0byBoaWRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhDYXJvdXNlbEFycm93PihYX0NPTkZJR19OQU1FLCAnaG92ZXInKSBhcnJvdz86IFhDYXJvdXNlbEFycm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlubvnga/niYfova7mkq3mlrnlkJFcclxuICAgKiBAZW5fVVMgU2xpZGUgcm90YXRpb24gZGlyZWN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhDYXJvdXNlbERpcmVjdGlvbj4oWF9DT05GSUdfTkFNRSwgJ2hvcml6b250YWwnKSBkaXJlY3Rpb24/OiBYQ2Fyb3VzZWxEaXJlY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWKqOWIh+aNolxyXG4gICAqIEBlbl9VUyBBdXRvbWF0aWMgc3dpdGNoaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhdXRvcGxheTogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rliqjliIfmjaLml7bpl7Tpl7TpmpRcclxuICAgKiBAZW5fVVMgQXV0b21hdGljIHN3aXRjaGluZyB0aW1lIGludGVydmFsXHJcbiAgICovXHJcbiAgQElucHV0KCkgaW50ZXJ2YWw6IFhOdW1iZXIgPSAzMDAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliIfmjaLlmajlkKbmmL7npLrlnKjlpJbpnaJcclxuICAgKiBAZW5fVVMgV2hldGhlciB0aGUgc3dpdGNoZXIgaXMgZGlzcGxheWVkIG91dHNpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG91dHNpZGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5Lul5Y2h54mH55qE5pa55byP5pi+56S65bm754Gv54mHXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgc2xpZGVzaG93IGFzIGEgY2FyZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgY2FyZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnmoTluo/lj7fmlLnlj5jnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVGhlIGFjdGl2YXRlZCBzZXF1ZW5jZSBudW1iZXIgY2hhbmdlZCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmjIfnpLrlmajliIfmjaLmlrnlvI9cclxuICogQGVuX1VTIEluZGljYXRvciBzd2l0Y2hpbmcgbWV0aG9kXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQ2Fyb3VzZWxUcmlnZ2VyID0gWFRyaWdnZXI7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIh+aNoueureWktOaYvuekuuaWueW8j1xyXG4gKiBAZW5fVVMgVG9nZ2xlIGFycm93IGRpc3BsYXlcclxuICovXHJcbmV4cG9ydCB0eXBlIFhDYXJvdXNlbEFycm93ID0gWFNoYWRvdztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6LWw6ams54Gv5bGV56S655qE5pa55ZCRXHJcbiAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSByZXZvbHZpbmcgbGFudGVyblxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWENhcm91c2VsRGlyZWN0aW9uID0gWERpc3BsYXlEaXJlY3Rpb247XHJcblxyXG4vKipcclxuICogQ2Fyb3VzZWwgUGFuZWxcclxuICogQHNlbGVjdG9yIHgtY2Fyb3VzZWwtcGFuZWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYQ2Fyb3VzZWxQYW5lbFByZWZpeCA9ICd4LWNhcm91c2VsLXBhbmVsJztcclxuXHJcbi8qKlxyXG4gKiBDYXJvdXNlbCBQYW5lbCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYQ2Fyb3VzZWxQYW5lbFByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhDYXJvdXNlbFBhbmVsUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvlvZPliY3lubvnga/niYdcclxuICAgKiBAZW5fVVMgQWN0aXZhdGUgdGhlIGN1cnJlbnQgc2xpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFjdGl2ZT86IFhCb29sZWFuO1xyXG59XHJcbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jYXJvdXNlbC9jYXJvdXNlbC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osYUFBYSxFQUdiLFdBQVcsRUFJWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXZFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUVqQzs7R0FFRztBQUNILE1BQ2EsaUJBQWtCLFNBQVEsU0FBUztJQURoRDs7UUFFRTs7O1dBR0c7UUFDc0IsV0FBTSxHQUFZLENBQUMsQ0FBQztRQXFCN0M7OztXQUdHO1FBQ3VCLGFBQVEsR0FBYSxJQUFJLENBQUM7UUFDcEQ7OztXQUdHO1FBQ00sYUFBUSxHQUFZLElBQUksQ0FBQztRQStCbEM7OztXQUdHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBQ3JEO2lJQXZFWSxpQkFBaUI7cUhBQWpCLGlCQUFpQiwrWUFEa0MsRUFBRTs7QUFNdkM7SUFBZixZQUFZLEVBQUU7aURBQXFCO0FBS1M7SUFBNUMsV0FBVyxDQUFTLGFBQWEsRUFBRSxPQUFPLENBQUM7aURBQWlCO0FBS047SUFBdEQsV0FBVyxDQUFtQixhQUFhLEVBQUUsT0FBTyxDQUFDO2tEQUE0QjtBQUs3QjtJQUFwRCxXQUFXLENBQWlCLGFBQWEsRUFBRSxPQUFPLENBQUM7Z0RBQXdCO0FBS2Q7SUFBN0QsV0FBVyxDQUFxQixhQUFhLEVBQUUsWUFBWSxDQUFDO29EQUFnQztBQUs1RTtJQUFoQixhQUFhLEVBQUU7bURBQTJCO0FBVTFCO0lBQWhCLGFBQWEsRUFBRTtrREFBb0I7QUFLbkI7SUFBaEIsYUFBYSxFQUFFOytDQUFpQjtBQVVoQjtJQUFoQixhQUFhLEVBQUU7bURBQXFCO0FBVXBCO0lBQWhCLGFBQWEsRUFBRTtrREFBb0I7U0FqRWxDLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsZUFBZSxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNekMsTUFBTTtzQkFBOUIsS0FBSztnQkFLZ0QsTUFBTTtzQkFBM0QsS0FBSztnQkFLMEQsT0FBTztzQkFBdEUsS0FBSztnQkFLd0QsS0FBSztzQkFBbEUsS0FBSztnQkFLaUUsU0FBUztzQkFBL0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtvQixPQUFPO3NCQUFoQyxLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtvQixPQUFPO3NCQUFoQyxLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07O0FBcUJUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQ2Esc0JBQXVCLFNBQVEsU0FBUztpSUFBeEMsc0JBQXNCO3FIQUF0QixzQkFBc0Isc0hBRGtDLEVBQUU7O0FBTTNDO0lBQWhCLGFBQWEsRUFBRTtzREFBbUI7U0FMakMsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxvQkFBb0IsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTTdDLE1BQU07c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhQcm9wZXJ0eSxcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhXaXRoQ29uZmlnLFxyXG4gIFhTaGFkb3csXHJcbiAgWERpc3BsYXlEaXJlY3Rpb24sXHJcbiAgWFRyaWdnZXJcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDYXJvdXNlbFxyXG4gKiBAc2VsZWN0b3IgeC1jYXJvdXNlbFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhDYXJvdXNlbFByZWZpeCA9ICd4LWNhcm91c2VsJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdjYXJvdXNlbCc7XHJcblxyXG4vKipcclxuICogQ2Fyb3VzZWwgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WENhcm91c2VsUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWENhcm91c2VsUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3mv4DmtLvnmoTlubvnga/niYfntKLlvJVcclxuICAgKiBAZW5fVVMgSW5kZXggb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgc2xpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYWN0aXZlOiBYTnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bm754Gv54mH6auY5bqmXHJcbiAgICogQGVuX1VTIFNsaWRlIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICcxNXJlbScpIGhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiH5o2i5Zmo6Kem5Y+R5pa55byPXHJcbiAgICogQGVuX1VTIFN3aXRjaGVyIHRyaWdnZXIgbWV0aG9kXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhDYXJvdXNlbFRyaWdnZXI+KFhfQ09ORklHX05BTUUsICdob3ZlcicpIHRyaWdnZXI/OiBYQ2Fyb3VzZWxUcmlnZ2VyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnrq3lpLTmmL7npLrlvbHol4/mlrnlvI9cclxuICAgKiBAZW5fVVMgQXJyb3cgc2hvd3MgaG93IHRvIGhpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WENhcm91c2VsQXJyb3c+KFhfQ09ORklHX05BTUUsICdob3ZlcicpIGFycm93PzogWENhcm91c2VsQXJyb3c7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW5u+eBr+eJh+i9ruaSreaWueWQkVxyXG4gICAqIEBlbl9VUyBTbGlkZSByb3RhdGlvbiBkaXJlY3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WENhcm91c2VsRGlyZWN0aW9uPihYX0NPTkZJR19OQU1FLCAnaG9yaXpvbnRhbCcpIGRpcmVjdGlvbj86IFhDYXJvdXNlbERpcmVjdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5Yqo5YiH5o2iXHJcbiAgICogQGVuX1VTIEF1dG9tYXRpYyBzd2l0Y2hpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGF1dG9wbGF5OiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWKqOWIh+aNouaXtumXtOmXtOmalFxyXG4gICAqIEBlbl9VUyBBdXRvbWF0aWMgc3dpdGNoaW5nIHRpbWUgaW50ZXJ2YWxcclxuICAgKi9cclxuICBASW5wdXQoKSBpbnRlcnZhbDogWE51bWJlciA9IDMwMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIh+aNouWZqOWQpuaYvuekuuWcqOWklumdolxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRoZSBzd2l0Y2hlciBpcyBkaXNwbGF5ZWQgb3V0c2lkZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgb3V0c2lkZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKbku6XljaHniYfnmoTmlrnlvI/mmL7npLrlubvnga/niYdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBkaXNwbGF5IHRoZSBzbGlkZXNob3cgYXMgYSBjYXJkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjYXJkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSB0ZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrov5vluqbmnaFcclxuICAgKiBAZW5fVVMgU2hvdyBwcm9ncmVzc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgcHJvZ3Jlc3M/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L+b5bqm5p2h6aKc6ImyXHJcbiAgICogQGVuX1VTIFByb2dyZXNzIGNvbG9yXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJvZ3Jlc3NDb2xvcj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65b2T5YmN6aG16Z2iXHJcbiAgICogQGVuX1VTIFNob3cgY3VycmVudCBwYWdlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjdXJyZW50PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+eahOW6j+WPt+aUueWPmOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUaGUgYWN0aXZhdGVkIHNlcXVlbmNlIG51bWJlciBjaGFuZ2VkIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaMh+ekuuWZqOWIh+aNouaWueW8j1xyXG4gKiBAZW5fVVMgSW5kaWNhdG9yIHN3aXRjaGluZyBtZXRob2RcclxuICovXHJcbmV4cG9ydCB0eXBlIFhDYXJvdXNlbFRyaWdnZXIgPSBYVHJpZ2dlcjtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiH5o2i566t5aS05pi+56S65pa55byPXHJcbiAqIEBlbl9VUyBUb2dnbGUgYXJyb3cgZGlzcGxheVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWENhcm91c2VsQXJyb3cgPSBYU2hhZG93O1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDotbDpqaznga/lsZXnpLrnmoTmlrnlkJFcclxuICogQGVuX1VTIFRoZSBkaXJlY3Rpb24gb2YgdGhlIHJldm9sdmluZyBsYW50ZXJuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQ2Fyb3VzZWxEaXJlY3Rpb24gPSBYRGlzcGxheURpcmVjdGlvbjtcclxuXHJcbi8qKlxyXG4gKiBDYXJvdXNlbCBQYW5lbFxyXG4gKiBAc2VsZWN0b3IgeC1jYXJvdXNlbC1wYW5lbFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhDYXJvdXNlbFBhbmVsUHJlZml4ID0gJ3gtY2Fyb3VzZWwtcGFuZWwnO1xyXG5cclxuLyoqXHJcbiAqIENhcm91c2VsIFBhbmVsIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hDYXJvdXNlbFBhbmVsUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWENhcm91c2VsUGFuZWxQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+W9k+WJjeW5u+eBr+eJh1xyXG4gICAqIEBlbl9VUyBBY3RpdmF0ZSB0aGUgY3VycmVudCBzbGlkZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgYWN0aXZlPzogWEJvb2xlYW47XHJcbn1cclxuIl19
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { XTimePickerFramePrefix } from './time-picker.property';
3
- import { reqAnimFrame, XIsChange, XIsEmpty, XIsFunction, XIsNull } from '@ng-nest/ui/core';
3
+ import { reqAnimFrame, XIsChange, XIsEmpty, XIsFunction, XIsNull, XIsNumber } from '@ng-nest/ui/core';
4
4
  import { takeUntil, map } from 'rxjs/operators';
5
5
  import { Subject } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
@@ -272,7 +272,10 @@ class XTimePickerFrameComponent {
272
272
  const perTick = (difference / duration) * 10;
273
273
  this.scrollAnimating[clsName] = true;
274
274
  reqAnimFrame(() => {
275
- element.scrollTop = element.scrollTop + perTick;
275
+ const num = element.scrollTop + perTick;
276
+ if (XIsNumber(num) && num !== Infinity) {
277
+ element.scrollTop = num;
278
+ }
276
279
  if (element.scrollTop === to || duration <= 0) {
277
280
  this.scrollAnimating[clsName] = false;
278
281
  return;
@@ -322,4 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
322
325
  type: ViewChild,
323
326
  args: ['use12HoursRef']
324
327
  }] } });
325
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLHNCQUFzQixFQUFtQixNQUFNLHdCQUF3QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxZQUFZLEVBQXVCLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhILE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBRS9CLE1BT2EseUJBQXlCO0lBNkJwQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjtRQUNELFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUks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QkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO21JQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDSSxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0UsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNNLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGltZVBpY2tlckRpc2FibGVkVGltZSwgWFRpbWVQaWNrZXJGcmFtZVByZWZpeCwgWFRpbWVQaWNrZXJUeXBlIH0gZnJvbSAnLi90aW1lLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IHJlcUFuaW1GcmFtZSwgWEJvb2xlYW4sIFhJZGVudGl0eSwgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWElzRnVuY3Rpb24sIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWEkxOG5TZXJ2aWNlLCBYSTE4blRpbWVQaWNrZXIgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGltZVBpY2tlckZyYW1lUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLWZyYW1lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW1lLXBpY2tlci1mcmFtZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUaW1lUGlja2VyRnJhbWVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHR5cGU6IFhUaW1lUGlja2VyVHlwZSA9ICd0aW1lJztcclxuICBASW5wdXQoKSB2YWx1ZSE6IG51bWJlciB8IG51bGw7XHJcbiAgQElucHV0KCkgdXNlMTJIb3VycyE6IFhCb29sZWFuO1xyXG4gIEBJbnB1dCgpIGhvdXJTdGVwID0gMTtcclxuICBASW5wdXQoKSBtaW51dGVTdGVwID0gMTtcclxuICBASW5wdXQoKSBzZWNvbmRTdGVwID0gMTtcclxuICBASW5wdXQoKSBkZWZhdWx0Tm93ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZFRpbWU/OiBYVGltZVBpY2tlckRpc2FibGVkVGltZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZFRpbWVQYXJhbT86IGFueTtcclxuICBAT3V0cHV0KCkgbm9kZUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgQFZpZXdDaGlsZCgnaG91clJlZicpIGhvdXJSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdtaW51dGVSZWYnKSBtaW51dGVSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzZWNvbmRSZWYnKSBzZWNvbmRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCd1c2UxMkhvdXJzUmVmJykgdXNlMTJIb3Vyc1JlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIG1vZGVsITogRGF0ZTtcclxuICBob3VyITogbnVtYmVyIHwgbnVsbDtcclxuICBtaW51dGUhOiBudW1iZXIgfCBudWxsO1xyXG4gIHNlY29uZCE6IG51bWJlciB8IG51bGw7XHJcbiAgdXNlMTJIb3VyOiBzdHJpbmcgPSAnYW0nO1xyXG4gIHNjcm9sbEFuaW1hdGluZzogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcclxuICBob3VyRGF0YTogWElkZW50aXR5W10gPSBbXTtcclxuICBtaW51dGVEYXRhOiBYSWRlbnRpdHlbXSA9IFtdO1xyXG4gIHNlY29uZERhdGE6IFhJZGVudGl0eVtdID0gW107XHJcbiAgdXNlMTJIb3Vyc0RhdGE6IFhJZGVudGl0eVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4blRpbWVQaWNrZXIgPSB7fTtcclxuICBpc0luaXQgPSBmYWxzZTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZhbHVlLCBkaXNhYmxlZFRpbWVQYXJhbSB9ID0gY2hhbmdlcztcclxuICAgIGlmIChYSXNDaGFuZ2UodmFsdWUpKSB7XHJcbiAgICAgIC8vIHRoaXMuc2V0RGF0YUluaXQoKTtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRydWUpO1xyXG4gICAgfVxyXG4gICAgWElzQ2hhbmdlKGRpc2FibGVkVGltZVBhcmFtKSAmJiB0aGlzLnNldERhdGFJbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YUluaXQoKTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHgudGltZVBpY2tlciBhcyBYSTE4blRpbWVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXJzKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFVzZTEySG91cnNEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlKSB7fVxyXG5cclxuICBzZXREYXRhSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SG91ckRhdGEoKTtcclxuICAgIHRoaXMuc2V0TWludXRlRGF0YSgpO1xyXG4gICAgdGhpcy5zZXRTZWNvbmREYXRhKCk7XHJcbiAgICB0aGlzLnNldFVzZTEySG91cnNEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZCh0eXBlOiAnaG91cnMnIHwgJ21pbnV0ZXMnIHwgJ3NlY29uZHMnLCBudW06IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWRUaW1lICYmIFhJc0Z1bmN0aW9uKHRoaXMuZGlzYWJsZWRUaW1lKSkge1xyXG4gICAgICBjb25zdCBkaXNhYmxlZE1hcCA9IHRoaXMuZGlzYWJsZWRUaW1lKHRoaXMuZGlzYWJsZWRUaW1lUGFyYW0pO1xyXG4gICAgICBjb25zdCB7IGRpc2FibGVkSG91cnMsIGRpc2FibGVkTWludXRlcywgZGlzYWJsZWRTZWNvbmRzIH0gPSBkaXNhYmxlZE1hcDtcclxuICAgICAgbGV0IGRpc2FibGVkTnVtczogbnVtYmVyW10gPSBbXTtcclxuICAgICAgaWYgKHR5cGUgPT09ICdob3VycycpIHtcclxuICAgICAgICBkaXNhYmxlZE51bXMgPSBkaXNhYmxlZEhvdXJzID8gZGlzYWJsZWRIb3VycygpIDogW107XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ21pbnV0ZXMnKSB7XHJcbiAgICAgICAgZGlzYWJsZWROdW1zID0gZGlzYWJsZWRNaW51dGVzID8gZGlzYWJsZWRNaW51dGVzKCkgOiBbXTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnc2Vjb25kcycpIHtcclxuICAgICAgICBkaXNhYmxlZE51bXMgPSBkaXNhYmxlZFNlY29uZHMgPyBkaXNhYmxlZFNlY29uZHMoKSA6IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBkaXNhYmxlZE51bXMuaW5jbHVkZXMobnVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRIb3VyRGF0YSgpIHtcclxuICAgIGxldCBsZW5ndGggPSB0aGlzLnVzZTEySG91cnMgPyAxMiA6IDI0O1xyXG4gICAgdGhpcy5ob3VyRGF0YSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbChsZW5ndGggLyB0aGlzLmhvdXJTdGVwKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgaWYgKHRoaXMudXNlMTJIb3VycyAmJiBpID09PSAwKSB7XHJcbiAgICAgICAgaSA9IDEyO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnaG91cnMnLCBpKSxcclxuICAgICAgICAgIGxhYmVsOiB0aGlzLnByZWZpeFplcm8oaSwgMiksXHJcbiAgICAgICAgICBpZDogaVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbnVtID0gaSAqIHRoaXMuaG91clN0ZXA7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnNldERpc2FibGVkKCdob3VycycsIG51bSksXHJcbiAgICAgICAgICBsYWJlbDogdGhpcy5wcmVmaXhaZXJvKG51bSwgMiksXHJcbiAgICAgICAgICBpZDogbnVtXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRNaW51dGVEYXRhKCkge1xyXG4gICAgdGhpcy5taW51dGVEYXRhID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5jZWlsKDYwIC8gdGhpcy5taW51dGVTdGVwKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgY29uc3QgbnVtID0gaSAqIHRoaXMubWludXRlU3RlcDtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnbWludXRlcycsIG51bSksXHJcbiAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhudW0sIDIpLFxyXG4gICAgICAgIGlkOiBudW1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2Vjb25kRGF0YSgpIHtcclxuICAgIHRoaXMuc2Vjb25kRGF0YSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbCg2MCAvIHRoaXMuc2Vjb25kU3RlcCkgfSkubWFwKChfLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bTogbnVtYmVyID0gaSAqIHRoaXMuc2Vjb25kU3RlcDtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnc2Vjb25kcycsIG51bSksXHJcbiAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhudW0sIDIpLFxyXG4gICAgICAgIGlkOiBudW1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0VXNlMTJIb3Vyc0RhdGEoKSB7XHJcbiAgICB0aGlzLnVzZTEySG91cnNEYXRhID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdhbScsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMubG9jYWxlLmFtXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ3BtJyxcclxuICAgICAgICBsYWJlbDogdGhpcy5sb2NhbGUucG1cclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLnNldFRpbWUodGhpcy5tb2RlbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5kZWZhdWx0Tm93KSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuc2V0Tm93KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyID0gbnVsbDtcclxuICAgICAgICB0aGlzLm1pbnV0ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWNvbmQgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG5ldyBEYXRlKHRoaXMudmFsdWUhKTtcclxuICB9XHJcblxyXG4gIHNldE5vdygpIHtcclxuICAgIGNvbnN0IGRlZiA9IG5ldyBEYXRlKCcxOTcwLTAxLTAxJyk7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRlZi5nZXRGdWxsWWVhcigpLCBkZWYuZ2V0TW9udGgoKSwgZGVmLmdldERhdGUoKSwgbm93LmdldEhvdXJzKCksIG5vdy5nZXRNaW51dGVzKCksIG5vdy5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0WmVybygpIHtcclxuICAgIGNvbnN0IGRlZiA9IG5ldyBEYXRlKCcxOTcwLTAxLTAxJyk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGVmLmdldEZ1bGxZZWFyKCksIGRlZi5nZXRNb250aCgpLCBkZWYuZ2V0RGF0ZSgpLCAwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHNldFRpbWUoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMudXNlMTJIb3Vycykge1xyXG4gICAgICBsZXQgaG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgICAgaWYgKGhvdXIgPiAxMikge1xyXG4gICAgICAgIHRoaXMuaG91ciA9IGhvdXIgLSAxMjtcclxuICAgICAgICB0aGlzLnVzZTEySG91ciA9ICdwbSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoaG91ciA9PT0gMTIpIHtcclxuICAgICAgICB0aGlzLmhvdXIgPSAxMjtcclxuICAgICAgICB0aGlzLnVzZTEySG91ciA9ICdwbSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyID0gaG91ciA9PT0gMCA/IDEyIDogaG91cjtcclxuICAgICAgICB0aGlzLnVzZTEySG91ciA9ICdhbSc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgIH1cclxuICAgIHRoaXMubWludXRlID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcbiAgICB0aGlzLnNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlZml4WmVybyhudW06IG51bWJlciwgbjogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKEFycmF5KG4pLmpvaW4oJzAnKSArIG51bSkuc2xpY2UoLW4pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsVG9wKGFuaW1hdGluZyA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCdob3VyJywgdGhpcy5ob3VyUmVmPy5uYXRpdmVFbGVtZW50LCB0aGlzLmhvdXIhLCBhbmltYXRpbmcpO1xyXG4gICAgdGhpcy5zZWxlY3RlZCgnbWludXRlJywgdGhpcy5taW51dGVSZWY/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMubWludXRlISwgYW5pbWF0aW5nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQoJ3NlY29uZCcsIHRoaXMuc2Vjb25kUmVmPy5uYXRpdmVFbGVtZW50LCB0aGlzLnNlY29uZCEsIGFuaW1hdGluZyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCd1c2UxMkhvdXInLCB0aGlzLnVzZTEySG91cnNSZWY/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMudXNlMTJIb3VyLCBhbmltYXRpbmcpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWQodHlwZTogJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJyB8ICd1c2UxMkhvdXInLCBlbGU/OiBIVE1MRWxlbWVudCwgbnVtPzogbnVtYmVyIHwgc3RyaW5nLCBhbmltYXRpbmcgPSBmYWxzZSkge1xyXG4gICAgaWYgKCFlbGUgfHwgWElzTnVsbChudW0pKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5zY3JvbGxBbmltYXRpbmdbZWxlLmNsYXNzTmFtZV0pIHJldHVybjtcclxuICAgIGxldCBsZW4gPSBOdW1iZXIobnVtKTtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBsZW4gPSB0aGlzLmhvdXJEYXRhLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbnVtKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWludXRlJzpcclxuICAgICAgICBsZW4gPSB0aGlzLm1pbnV0ZURhdGEuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBudW0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgIGxlbiA9IHRoaXMuc2Vjb25kRGF0YS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3VzZTEySG91cic6XHJcbiAgICAgICAgbGVuID0gdGhpcy51c2UxMkhvdXJzRGF0YS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBsZXQgY3VycmVudCA9IGVsZS5xdWVyeVNlbGVjdG9yKGAueC1saXN0IHgtbGlzdC1vcHRpb246bnRoLWNoaWxkKCR7bGVuICsgMX0pYCkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoY3VycmVudCkge1xyXG4gICAgICBpZiAoYW5pbWF0aW5nKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyhlbGUsIGN1cnJlbnQub2Zmc2V0VG9wLCAxMjApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVsZS5zY3JvbGxUb3AgPSBjdXJyZW50Lm9mZnNldFRvcDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNMYXN0SXRlbShkYXRhOiBYSWRlbnRpdHlbXSwgaXRlbTogWElkZW50aXR5KSB7XHJcbiAgICByZXR1cm4gZGF0YS5pbmRleE9mKGl0ZW0pID09PSBkYXRhLmxlbmd0aCAtIDE7XHJcbiAgfVxyXG5cclxuICBpdGVtQ2xpY2sodHlwZTogJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJyB8ICd1c2UxMkhvdXJzJykge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMubW9kZWwpKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLnNldFplcm8oKTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdtaW51dGUnOlxyXG4gICAgICAgIHRoaXMubW9kZWwuc2V0TWludXRlcyh0aGlzLm1pbnV0ZSEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgIHRoaXMubW9kZWwuc2V0U2Vjb25kcyh0aGlzLnNlY29uZCEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXJzKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy51c2UxMkhvdXIgPT09ICdwbScgJiYgdGhpcy5ob3VyICE9PSAxMikge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNldEhvdXJzKHRoaXMuaG91ciEgKyAxMik7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlMTJIb3VyID09PSAnYW0nICYmIHRoaXMuaG91ciA9PT0gMTIpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3VycygwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc2V0SG91cnModGhpcy5ob3VyISk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubW9kZWwuc2V0SG91cnModGhpcy5ob3VyISk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd1c2UxMkhvdXJzJzpcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXIgPT09ICdwbScgJiYgdGhpcy5ob3VyICE9PSAxMikge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3Vycyh0aGlzLmhvdXIhICsgMTIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2UxMkhvdXIgPT09ICdhbScgJiYgdGhpcy5ob3VyID09PSAxMikge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3VycygwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3Vycyh0aGlzLmhvdXIhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFNjcm9sbFRvcCh0cnVlKTtcclxuICAgIHRoaXMubm9kZUVtaXQuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG8oZWxlbWVudDogSFRNTEVsZW1lbnQsIHRvOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsc05hbWUgPSBlbGVtZW50LmNsYXNzTmFtZTtcclxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSB0byAtIGVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgY29uc3QgcGVyVGljayA9IChkaWZmZXJlbmNlIC8gZHVyYXRpb24pICogMTA7XHJcbiAgICB0aGlzLnNjcm9sbEFuaW1hdGluZ1tjbHNOYW1lXSA9IHRydWU7XHJcbiAgICByZXFBbmltRnJhbWUoKCkgPT4ge1xyXG4gICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IGVsZW1lbnQuc2Nyb2xsVG9wICsgcGVyVGljaztcclxuICAgICAgaWYgKGVsZW1lbnQuc2Nyb2xsVG9wID09PSB0byB8fCBkdXJhdGlvbiA8PSAwKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxBbmltYXRpbmdbY2xzTmFtZV0gPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyhlbGVtZW50LCB0bywgZHVyYXRpb24gLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC10aW1lLXBpY2tlci1mcmFtZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLWhvdXJcIiAjaG91clJlZj5cclxuICAgIDx4LWxpc3QgW2RhdGFdPVwiaG91ckRhdGFcIiBbKG5nTW9kZWwpXT1cImhvdXJcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygnaG91cicpXCI+PC94LWxpc3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdGltZS1waWNrZXItZnJhbWUtbWludXRlXCIgI21pbnV0ZVJlZiAqbmdJZj1cInR5cGUgIT09ICdob3VyJ1wiPlxyXG4gICAgPHgtbGlzdCBbZGF0YV09XCJtaW51dGVEYXRhXCIgWyhuZ01vZGVsKV09XCJtaW51dGVcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygnbWludXRlJylcIj48L3gtbGlzdD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC10aW1lLXBpY2tlci1mcmFtZS1zZWNvbmRcIiAjc2Vjb25kUmVmICpuZ0lmPVwidHlwZSA9PT0gJ3RpbWUnXCI+XHJcbiAgICA8eC1saXN0IFtkYXRhXT1cInNlY29uZERhdGFcIiBbKG5nTW9kZWwpXT1cInNlY29uZFwiIChub2RlQ2xpY2spPVwiaXRlbUNsaWNrKCdzZWNvbmQnKVwiPjwveC1saXN0PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ1c2UxMkhvdXJzXCIgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLXVzZTEySG91cnNcIiAjdXNlMTJIb3Vyc1JlZj5cclxuICAgIDx4LWxpc3QgW2RhdGFdPVwidXNlMTJIb3Vyc0RhdGFcIiBbKG5nTW9kZWwpXT1cInVzZTEySG91clwiIChub2RlQ2xpY2spPVwiaXRlbUNsaWNrKCd1c2UxMkhvdXJzJylcIj48L3gtbGlzdD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGltZS1waWNrZXIvdGltZS1waWNrZXItZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLHNCQUFzQixFQUFtQixNQUFNLHdCQUF3QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxZQUFZLEVBQXVCLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQUUvQixNQU9hLHlCQUF5QjtJQTZCcEMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDN0MsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7UUFDRCxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7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eUI7cUhBQXpCLHlCQUF5Qix3dEJDekJ0Qyx5MEJBY0E7O1NEV2EseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0UsR0FBRyxzQkFBc0IsRUFBRSxpQkFHdEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTttSUFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDZSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ksU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNFLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDTSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRpbWVQaWNrZXJEaXNhYmxlZFRpbWUsIFhUaW1lUGlja2VyRnJhbWVQcmVmaXgsIFhUaW1lUGlja2VyVHlwZSB9IGZyb20gJy4vdGltZS1waWNrZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyByZXFBbmltRnJhbWUsIFhCb29sZWFuLCBYSWRlbnRpdHksIFhJc0NoYW5nZSwgWElzRW1wdHksIFhJc0Z1bmN0aW9uLCBYSXNOdWxsLCBYSXNOdW1iZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWEkxOG5TZXJ2aWNlLCBYSTE4blRpbWVQaWNrZXIgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGltZVBpY2tlckZyYW1lUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLWZyYW1lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW1lLXBpY2tlci1mcmFtZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUaW1lUGlja2VyRnJhbWVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHR5cGU6IFhUaW1lUGlja2VyVHlwZSA9ICd0aW1lJztcclxuICBASW5wdXQoKSB2YWx1ZSE6IG51bWJlciB8IG51bGw7XHJcbiAgQElucHV0KCkgdXNlMTJIb3VycyE6IFhCb29sZWFuO1xyXG4gIEBJbnB1dCgpIGhvdXJTdGVwID0gMTtcclxuICBASW5wdXQoKSBtaW51dGVTdGVwID0gMTtcclxuICBASW5wdXQoKSBzZWNvbmRTdGVwID0gMTtcclxuICBASW5wdXQoKSBkZWZhdWx0Tm93ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZFRpbWU/OiBYVGltZVBpY2tlckRpc2FibGVkVGltZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZFRpbWVQYXJhbT86IGFueTtcclxuICBAT3V0cHV0KCkgbm9kZUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgQFZpZXdDaGlsZCgnaG91clJlZicpIGhvdXJSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdtaW51dGVSZWYnKSBtaW51dGVSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzZWNvbmRSZWYnKSBzZWNvbmRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCd1c2UxMkhvdXJzUmVmJykgdXNlMTJIb3Vyc1JlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIG1vZGVsITogRGF0ZTtcclxuICBob3VyITogbnVtYmVyIHwgbnVsbDtcclxuICBtaW51dGUhOiBudW1iZXIgfCBudWxsO1xyXG4gIHNlY29uZCE6IG51bWJlciB8IG51bGw7XHJcbiAgdXNlMTJIb3VyOiBzdHJpbmcgPSAnYW0nO1xyXG4gIHNjcm9sbEFuaW1hdGluZzogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcclxuICBob3VyRGF0YTogWElkZW50aXR5W10gPSBbXTtcclxuICBtaW51dGVEYXRhOiBYSWRlbnRpdHlbXSA9IFtdO1xyXG4gIHNlY29uZERhdGE6IFhJZGVudGl0eVtdID0gW107XHJcbiAgdXNlMTJIb3Vyc0RhdGE6IFhJZGVudGl0eVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4blRpbWVQaWNrZXIgPSB7fTtcclxuICBpc0luaXQgPSBmYWxzZTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZhbHVlLCBkaXNhYmxlZFRpbWVQYXJhbSB9ID0gY2hhbmdlcztcclxuICAgIGlmIChYSXNDaGFuZ2UodmFsdWUpKSB7XHJcbiAgICAgIC8vIHRoaXMuc2V0RGF0YUluaXQoKTtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHRydWUpO1xyXG4gICAgfVxyXG4gICAgWElzQ2hhbmdlKGRpc2FibGVkVGltZVBhcmFtKSAmJiB0aGlzLnNldERhdGFJbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YUluaXQoKTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHgudGltZVBpY2tlciBhcyBYSTE4blRpbWVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXJzKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFVzZTEySG91cnNEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlKSB7fVxyXG5cclxuICBzZXREYXRhSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SG91ckRhdGEoKTtcclxuICAgIHRoaXMuc2V0TWludXRlRGF0YSgpO1xyXG4gICAgdGhpcy5zZXRTZWNvbmREYXRhKCk7XHJcbiAgICB0aGlzLnNldFVzZTEySG91cnNEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZCh0eXBlOiAnaG91cnMnIHwgJ21pbnV0ZXMnIHwgJ3NlY29uZHMnLCBudW06IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWRUaW1lICYmIFhJc0Z1bmN0aW9uKHRoaXMuZGlzYWJsZWRUaW1lKSkge1xyXG4gICAgICBjb25zdCBkaXNhYmxlZE1hcCA9IHRoaXMuZGlzYWJsZWRUaW1lKHRoaXMuZGlzYWJsZWRUaW1lUGFyYW0pO1xyXG4gICAgICBjb25zdCB7IGRpc2FibGVkSG91cnMsIGRpc2FibGVkTWludXRlcywgZGlzYWJsZWRTZWNvbmRzIH0gPSBkaXNhYmxlZE1hcDtcclxuICAgICAgbGV0IGRpc2FibGVkTnVtczogbnVtYmVyW10gPSBbXTtcclxuICAgICAgaWYgKHR5cGUgPT09ICdob3VycycpIHtcclxuICAgICAgICBkaXNhYmxlZE51bXMgPSBkaXNhYmxlZEhvdXJzID8gZGlzYWJsZWRIb3VycygpIDogW107XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ21pbnV0ZXMnKSB7XHJcbiAgICAgICAgZGlzYWJsZWROdW1zID0gZGlzYWJsZWRNaW51dGVzID8gZGlzYWJsZWRNaW51dGVzKCkgOiBbXTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnc2Vjb25kcycpIHtcclxuICAgICAgICBkaXNhYmxlZE51bXMgPSBkaXNhYmxlZFNlY29uZHMgPyBkaXNhYmxlZFNlY29uZHMoKSA6IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBkaXNhYmxlZE51bXMuaW5jbHVkZXMobnVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRIb3VyRGF0YSgpIHtcclxuICAgIGxldCBsZW5ndGggPSB0aGlzLnVzZTEySG91cnMgPyAxMiA6IDI0O1xyXG4gICAgdGhpcy5ob3VyRGF0YSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbChsZW5ndGggLyB0aGlzLmhvdXJTdGVwKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgaWYgKHRoaXMudXNlMTJIb3VycyAmJiBpID09PSAwKSB7XHJcbiAgICAgICAgaSA9IDEyO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnaG91cnMnLCBpKSxcclxuICAgICAgICAgIGxhYmVsOiB0aGlzLnByZWZpeFplcm8oaSwgMiksXHJcbiAgICAgICAgICBpZDogaVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbnVtID0gaSAqIHRoaXMuaG91clN0ZXA7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnNldERpc2FibGVkKCdob3VycycsIG51bSksXHJcbiAgICAgICAgICBsYWJlbDogdGhpcy5wcmVmaXhaZXJvKG51bSwgMiksXHJcbiAgICAgICAgICBpZDogbnVtXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRNaW51dGVEYXRhKCkge1xyXG4gICAgdGhpcy5taW51dGVEYXRhID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5jZWlsKDYwIC8gdGhpcy5taW51dGVTdGVwKSB9KS5tYXAoKF8sIGkpID0+IHtcclxuICAgICAgY29uc3QgbnVtID0gaSAqIHRoaXMubWludXRlU3RlcDtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnbWludXRlcycsIG51bSksXHJcbiAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhudW0sIDIpLFxyXG4gICAgICAgIGlkOiBudW1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2Vjb25kRGF0YSgpIHtcclxuICAgIHRoaXMuc2Vjb25kRGF0YSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGguY2VpbCg2MCAvIHRoaXMuc2Vjb25kU3RlcCkgfSkubWFwKChfLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bTogbnVtYmVyID0gaSAqIHRoaXMuc2Vjb25kU3RlcDtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkaXNhYmxlZDogdGhpcy5zZXREaXNhYmxlZCgnc2Vjb25kcycsIG51bSksXHJcbiAgICAgICAgbGFiZWw6IHRoaXMucHJlZml4WmVybyhudW0sIDIpLFxyXG4gICAgICAgIGlkOiBudW1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0VXNlMTJIb3Vyc0RhdGEoKSB7XHJcbiAgICB0aGlzLnVzZTEySG91cnNEYXRhID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdhbScsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMubG9jYWxlLmFtXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ3BtJyxcclxuICAgICAgICBsYWJlbDogdGhpcy5sb2NhbGUucG1cclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLnNldFRpbWUodGhpcy5tb2RlbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5kZWZhdWx0Tm93KSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuc2V0Tm93KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyID0gbnVsbDtcclxuICAgICAgICB0aGlzLm1pbnV0ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWNvbmQgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG5ldyBEYXRlKHRoaXMudmFsdWUhKTtcclxuICB9XHJcblxyXG4gIHNldE5vdygpIHtcclxuICAgIGNvbnN0IGRlZiA9IG5ldyBEYXRlKCcxOTcwLTAxLTAxJyk7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRlZi5nZXRGdWxsWWVhcigpLCBkZWYuZ2V0TW9udGgoKSwgZGVmLmdldERhdGUoKSwgbm93LmdldEhvdXJzKCksIG5vdy5nZXRNaW51dGVzKCksIG5vdy5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0WmVybygpIHtcclxuICAgIGNvbnN0IGRlZiA9IG5ldyBEYXRlKCcxOTcwLTAxLTAxJyk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGVmLmdldEZ1bGxZZWFyKCksIGRlZi5nZXRNb250aCgpLCBkZWYuZ2V0RGF0ZSgpLCAwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHNldFRpbWUoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMudXNlMTJIb3Vycykge1xyXG4gICAgICBsZXQgaG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgICAgaWYgKGhvdXIgPiAxMikge1xyXG4gICAgICAgIHRoaXMuaG91ciA9IGhvdXIgLSAxMjtcclxuICAgICAgICB0aGlzLnVzZTEySG91ciA9ICdwbSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoaG91ciA9PT0gMTIpIHtcclxuICAgICAgICB0aGlzLmhvdXIgPSAxMjtcclxuICAgICAgICB0aGlzLnVzZTEySG91ciA9ICdwbSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ob3VyID0gaG91ciA9PT0gMCA/IDEyIDogaG91cjtcclxuICAgICAgICB0aGlzLnVzZTEySG91ciA9ICdhbSc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgIH1cclxuICAgIHRoaXMubWludXRlID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcbiAgICB0aGlzLnNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlZml4WmVybyhudW06IG51bWJlciwgbjogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKEFycmF5KG4pLmpvaW4oJzAnKSArIG51bSkuc2xpY2UoLW4pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsVG9wKGFuaW1hdGluZyA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCdob3VyJywgdGhpcy5ob3VyUmVmPy5uYXRpdmVFbGVtZW50LCB0aGlzLmhvdXIhLCBhbmltYXRpbmcpO1xyXG4gICAgdGhpcy5zZWxlY3RlZCgnbWludXRlJywgdGhpcy5taW51dGVSZWY/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMubWludXRlISwgYW5pbWF0aW5nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQoJ3NlY29uZCcsIHRoaXMuc2Vjb25kUmVmPy5uYXRpdmVFbGVtZW50LCB0aGlzLnNlY29uZCEsIGFuaW1hdGluZyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkKCd1c2UxMkhvdXInLCB0aGlzLnVzZTEySG91cnNSZWY/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMudXNlMTJIb3VyLCBhbmltYXRpbmcpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWQodHlwZTogJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJyB8ICd1c2UxMkhvdXInLCBlbGU/OiBIVE1MRWxlbWVudCwgbnVtPzogbnVtYmVyIHwgc3RyaW5nLCBhbmltYXRpbmcgPSBmYWxzZSkge1xyXG4gICAgaWYgKCFlbGUgfHwgWElzTnVsbChudW0pKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5zY3JvbGxBbmltYXRpbmdbZWxlLmNsYXNzTmFtZV0pIHJldHVybjtcclxuICAgIGxldCBsZW4gPSBOdW1iZXIobnVtKTtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBsZW4gPSB0aGlzLmhvdXJEYXRhLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbnVtKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWludXRlJzpcclxuICAgICAgICBsZW4gPSB0aGlzLm1pbnV0ZURhdGEuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBudW0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgIGxlbiA9IHRoaXMuc2Vjb25kRGF0YS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3VzZTEySG91cic6XHJcbiAgICAgICAgbGVuID0gdGhpcy51c2UxMkhvdXJzRGF0YS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IG51bSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBsZXQgY3VycmVudCA9IGVsZS5xdWVyeVNlbGVjdG9yKGAueC1saXN0IHgtbGlzdC1vcHRpb246bnRoLWNoaWxkKCR7bGVuICsgMX0pYCkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoY3VycmVudCkge1xyXG4gICAgICBpZiAoYW5pbWF0aW5nKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyhlbGUsIGN1cnJlbnQub2Zmc2V0VG9wLCAxMjApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVsZS5zY3JvbGxUb3AgPSBjdXJyZW50Lm9mZnNldFRvcDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNMYXN0SXRlbShkYXRhOiBYSWRlbnRpdHlbXSwgaXRlbTogWElkZW50aXR5KSB7XHJcbiAgICByZXR1cm4gZGF0YS5pbmRleE9mKGl0ZW0pID09PSBkYXRhLmxlbmd0aCAtIDE7XHJcbiAgfVxyXG5cclxuICBpdGVtQ2xpY2sodHlwZTogJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJyB8ICd1c2UxMkhvdXJzJykge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMubW9kZWwpKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLnNldFplcm8oKTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdtaW51dGUnOlxyXG4gICAgICAgIHRoaXMubW9kZWwuc2V0TWludXRlcyh0aGlzLm1pbnV0ZSEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgIHRoaXMubW9kZWwuc2V0U2Vjb25kcyh0aGlzLnNlY29uZCEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXJzKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy51c2UxMkhvdXIgPT09ICdwbScgJiYgdGhpcy5ob3VyICE9PSAxMikge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNldEhvdXJzKHRoaXMuaG91ciEgKyAxMik7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlMTJIb3VyID09PSAnYW0nICYmIHRoaXMuaG91ciA9PT0gMTIpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3VycygwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuc2V0SG91cnModGhpcy5ob3VyISk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubW9kZWwuc2V0SG91cnModGhpcy5ob3VyISk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd1c2UxMkhvdXJzJzpcclxuICAgICAgICBpZiAodGhpcy51c2UxMkhvdXIgPT09ICdwbScgJiYgdGhpcy5ob3VyICE9PSAxMikge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3Vycyh0aGlzLmhvdXIhICsgMTIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2UxMkhvdXIgPT09ICdhbScgJiYgdGhpcy5ob3VyID09PSAxMikge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3VycygwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5zZXRIb3Vycyh0aGlzLmhvdXIhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFNjcm9sbFRvcCh0cnVlKTtcclxuICAgIHRoaXMubm9kZUVtaXQuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG8oZWxlbWVudDogSFRNTEVsZW1lbnQsIHRvOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsc05hbWUgPSBlbGVtZW50LmNsYXNzTmFtZTtcclxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSB0byAtIGVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgY29uc3QgcGVyVGljayA9IChkaWZmZXJlbmNlIC8gZHVyYXRpb24pICogMTA7XHJcbiAgICB0aGlzLnNjcm9sbEFuaW1hdGluZ1tjbHNOYW1lXSA9IHRydWU7XHJcbiAgICByZXFBbmltRnJhbWUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBudW0gPSBlbGVtZW50LnNjcm9sbFRvcCArIHBlclRpY2s7XHJcbiAgICAgIGlmIChYSXNOdW1iZXIobnVtKSAmJiBudW0gIT09IEluZmluaXR5KSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBudW07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVsZW1lbnQuc2Nyb2xsVG9wID09PSB0byB8fCBkdXJhdGlvbiA8PSAwKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxBbmltYXRpbmdbY2xzTmFtZV0gPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyhlbGVtZW50LCB0bywgZHVyYXRpb24gLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC10aW1lLXBpY2tlci1mcmFtZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLWhvdXJcIiAjaG91clJlZj5cclxuICAgIDx4LWxpc3QgW2RhdGFdPVwiaG91ckRhdGFcIiBbKG5nTW9kZWwpXT1cImhvdXJcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygnaG91cicpXCI+PC94LWxpc3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdGltZS1waWNrZXItZnJhbWUtbWludXRlXCIgI21pbnV0ZVJlZiAqbmdJZj1cInR5cGUgIT09ICdob3VyJ1wiPlxyXG4gICAgPHgtbGlzdCBbZGF0YV09XCJtaW51dGVEYXRhXCIgWyhuZ01vZGVsKV09XCJtaW51dGVcIiAobm9kZUNsaWNrKT1cIml0ZW1DbGljaygnbWludXRlJylcIj48L3gtbGlzdD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC10aW1lLXBpY2tlci1mcmFtZS1zZWNvbmRcIiAjc2Vjb25kUmVmICpuZ0lmPVwidHlwZSA9PT0gJ3RpbWUnXCI+XHJcbiAgICA8eC1saXN0IFtkYXRhXT1cInNlY29uZERhdGFcIiBbKG5nTW9kZWwpXT1cInNlY29uZFwiIChub2RlQ2xpY2spPVwiaXRlbUNsaWNrKCdzZWNvbmQnKVwiPjwveC1saXN0PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ1c2UxMkhvdXJzXCIgY2xhc3M9XCJ4LXRpbWUtcGlja2VyLWZyYW1lLXVzZTEySG91cnNcIiAjdXNlMTJIb3Vyc1JlZj5cclxuICAgIDx4LWxpc3QgW2RhdGFdPVwidXNlMTJIb3Vyc0RhdGFcIiBbKG5nTW9kZWwpXT1cInVzZTEySG91clwiIChub2RlQ2xpY2spPVwiaXRlbUNsaWNrKCd1c2UxMkhvdXJzJylcIj48L3gtbGlzdD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==