@acorex/components 6.1.3 → 6.1.4
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.
- package/alert/src/alert.component.d.ts +3 -2
- package/badge/src/badge.component.d.ts +3 -2
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +8 -6
- package/button/src/button-group.component.d.ts +8 -6
- package/button/src/button-item.component.d.ts +8 -6
- package/calendar/src/calendar.component.d.ts +1 -1
- package/color-picker/src/color-picker.component.d.ts +24 -20
- package/date-picker/src/datepicker.component.d.ts +18 -15
- package/esm2020/calendar/src/calendar.component.mjs +4 -3
- package/esm2020/common/src/components.class.mjs +1 -1
- package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +7 -5
- package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +5 -5
- package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +2 -1
- package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +5 -5
- package/esm2020/date-picker/src/datepicker.component.mjs +5 -4
- package/esm2020/mixin/src/base-components.class.mjs +26 -18
- package/esm2020/textbox/src/mask-options.directive.mjs +6 -4
- package/esm2020/textbox/src/textbox.component.mjs +16 -10
- package/fesm2015/acorex-components-calendar.mjs +3 -2
- package/fesm2015/acorex-components-calendar.mjs.map +1 -1
- package/fesm2015/acorex-components-common.mjs.map +1 -1
- package/fesm2015/acorex-components-data-pager.mjs +15 -12
- package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2015/acorex-components-date-picker.mjs +4 -3
- package/fesm2015/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2015/acorex-components-mixin.mjs +25 -17
- package/fesm2015/acorex-components-mixin.mjs.map +1 -1
- package/fesm2015/acorex-components-textbox.mjs +21 -11
- package/fesm2015/acorex-components-textbox.mjs.map +1 -1
- package/fesm2020/acorex-components-calendar.mjs +3 -2
- package/fesm2020/acorex-components-calendar.mjs.map +1 -1
- package/fesm2020/acorex-components-common.mjs.map +1 -1
- package/fesm2020/acorex-components-data-pager.mjs +15 -12
- package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2020/acorex-components-date-picker.mjs +4 -3
- package/fesm2020/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2020/acorex-components-mixin.mjs +25 -17
- package/fesm2020/acorex-components-mixin.mjs.map +1 -1
- package/fesm2020/acorex-components-textbox.mjs +20 -11
- package/fesm2020/acorex-components-textbox.mjs.map +1 -1
- package/mixin/src/base-components.class.d.ts +6 -7
- package/mixin/src/base-menu-mixin.class.d.ts +6 -5
- package/mixin/src/button-mixin.class.d.ts +3 -2
- package/mixin/src/clickable-mixin.class.d.ts +6 -3
- package/mixin/src/color-look-mixing.class.d.ts +3 -2
- package/mixin/src/datalist-component.class.d.ts +11 -10
- package/mixin/src/dropdown-mixin.class.d.ts +3 -2
- package/mixin/src/interactive-mixin.class.d.ts +5 -4
- package/mixin/src/loading-mixin.class.d.ts +3 -2
- package/mixin/src/mixin.class.d.ts +82 -61
- package/mixin/src/page-component.class.d.ts +3 -2
- package/mixin/src/selection-component.class.d.ts +6 -3
- package/mixin/src/sizable-mixin.class.d.ts +3 -2
- package/mixin/src/textbox-mixin.class.d.ts +7 -2
- package/mixin/src/value-mixin.class.d.ts +9 -8
- package/package.json +1 -1
- package/tabs/src/tab-item.component.d.ts +3 -2
- package/textbox/src/mask-options.directive.d.ts +3 -0
- package/textbox/src/textbox.component.d.ts +4 -4
|
@@ -345,10 +345,11 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
AXCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
348
|
-
AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates", interface: "interface" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate" }, host: { properties: { "class": "this.__hostClass" }, classAttribute: "ax-calendar" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div class=\"ax-flex ax-items-center\">\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[1]}}</button>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[0]}}</button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText}}</button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\" (click)=\"_handlePrevClick()\">\r\n <i [ngClass]=\"{'ax-ic-chevron-left': !
|
|
348
|
+
AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXCalendarComponent, selector: "ax-calendar", inputs: { rtl: "rtl", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates", interface: "interface" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate" }, host: { properties: { "class": "this.__hostClass" }, classAttribute: "ax-calendar" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div class=\"ax-flex ax-items-center\">\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[1]}}</button>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[0]}}</button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText}}</button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\" (click)=\"_handlePrevClick()\">\r\n <i [ngClass]=\"{'ax-ic-chevron-left': !rtl,'ax-ic-chevron-right': rtl}\"></i>\r\n </button>\r\n <button [disabled]=\"disabled || isDisabled(_today)\" class=\"ax-button-control !ax-text-primary-500\" (click)=\"_handleGoToday()\" *ngIf=\"activeView=='days'\">\r\n {{ todayText }}\r\n </button>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\" (click)=\"_handleNextClick()\">\r\n <i [ngClass]=\"{'ax-ic-chevron-left': rtl,'ax-ic-chevron-right': !rtl}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n //TODO: picker\r\n </div>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
349
349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXCalendarComponent, decorators: [{
|
|
350
350
|
type: Component,
|
|
351
351
|
args: [{ selector: 'ax-calendar', inputs: [
|
|
352
|
+
'rtl',
|
|
352
353
|
'readonly',
|
|
353
354
|
'allowNull',
|
|
354
355
|
'value',
|
|
@@ -373,11 +374,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
373
374
|
'disabledDatesChange',
|
|
374
375
|
'holidayDatesChange',
|
|
375
376
|
'onNavigate',
|
|
376
|
-
], host: { class: 'ax-calendar' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div class=\"ax-flex ax-items-center\">\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[1]}}</button>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[0]}}</button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText}}</button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\" (click)=\"_handlePrevClick()\">\r\n <i [ngClass]=\"{'ax-ic-chevron-left': !
|
|
377
|
+
], host: { class: 'ax-calendar' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div class=\"ax-flex ax-items-center\">\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[1]}}</button>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText.split(' ')[0]}}</button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\"\r\n (click)=\"_handleNavClick($event)\">{{_navText}}</button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\" (click)=\"_handlePrevClick()\">\r\n <i [ngClass]=\"{'ax-ic-chevron-left': !rtl,'ax-ic-chevron-right': rtl}\"></i>\r\n </button>\r\n <button [disabled]=\"disabled || isDisabled(_today)\" class=\"ax-button-control !ax-text-primary-500\" (click)=\"_handleGoToday()\" *ngIf=\"activeView=='days'\">\r\n {{ todayText }}\r\n </button>\r\n <button [disabled]=\"disabled\" class=\"ax-button-control\" (click)=\"_handleNextClick()\">\r\n <i [ngClass]=\"{'ax-ic-chevron-left': rtl,'ax-ic-chevron-right': !rtl}\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n //TODO: picker\r\n </div>\r\n</ng-template>" }]
|
|
377
378
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { interface: [{
|
|
378
379
|
type: Input
|
|
379
380
|
}], __hostClass: [{
|
|
380
381
|
type: HostBinding,
|
|
381
382
|
args: ['class']
|
|
382
383
|
}] } });
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUVMLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IscUJBQXFCLEdBQ3RCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUMvRCwyQkFBMkIsQ0FDekIscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FDcEQsQ0FDRixDQUFDO0FBb0NGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx3QkFBd0I7SUFtRC9ELFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakRsRSxjQUFTLEdBQTBCLFVBQVUs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QyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELE1BQU07U0FDVDtJQUNILENBQUM7O2dIQWxZVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixxdkJDL0RoQyxnckdBMERjOzJGREtELG1CQUFtQjtrQkFsQy9CLFNBQVM7K0JBQ0UsYUFBYSxVQUVmO3dCQUNOLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLE1BQU07d0JBQ04sU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLE1BQU07d0JBQ04sY0FBYztxQkFDZixXQUNRO3dCQUNQLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixZQUFZO3FCQUNiLFFBQ0ssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLGlCQUNmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07aUlBSS9DLFNBQVM7c0JBRFIsS0FBSztnQkF1U00sV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZVRpbWUnO1xyXG5pbXBvcnQgeyBBWENsaWNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkLFxyXG4gIF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4sXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluLFxyXG4gIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbixcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb25maWcnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKFxyXG4gICAgX1ZhbHVlQ29tcG9uZW5ldE1peGluPGFueT4oQVhDYWxlbmRhckJhc2VDb21wb25lbnQpXHJcbiAgKVxyXG4pO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFtcclxuICAgICdyZWFkb25seScsXHJcbiAgICAnYWxsb3dOdWxsJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAnbmFtZScsXHJcbiAgICAnY2hlY2tlZCcsXHJcbiAgICAnZGlzYWJsZWQnLFxyXG4gICAgJ3RhYkluZGV4JyxcclxuICAgICdkZXB0aCcsXHJcbiAgICAnYWN0aXZlVmlldycsXHJcbiAgICAnbWluJyxcclxuICAgICdtYXgnLFxyXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxyXG4gICAgJ3R5cGUnLFxyXG4gICAgJ2hvbGlkYXlEYXRlcycsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICdvbkJsdXInLFxyXG4gICAgJ29uRm9jdXMnLFxyXG4gICAgJ2RlcHRoQ2hhbmdlJyxcclxuICAgICd0eXBlQ2hhbmdlJyxcclxuICAgICdkaXNhYmxlZERhdGVzQ2hhbmdlJyxcclxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxyXG4gICAgJ29uTmF2aWdhdGUnLFxyXG4gIF0sXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LWNhbGVuZGFyJyB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyQ29tcG9uZW50IGV4dGVuZHMgQVhDYWxlbmRhckNvbXBvbmVudE1peGluIHtcclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgdG9kYXlUZXh0ID0gQVhUcmFuc2xhdG9yLmdldCgnZGF0ZVRpbWUudG9kYXknKTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3ZpZXdSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUgfHwgdGhpcy5fdG9kYXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgbGV0IHkgPSBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKS55ZWFyO1xyXG4gICAgICAgIGxldCBtaW4gPSB5IC0gKHkgJSAxMCkgLSAxO1xyXG4gICAgICAgIGxldCBtYXggPSBtaW4gKyAxMTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7XHJcbiAgICAgICAgICAgIHllYXI6IG1pbixcclxuICAgICAgICAgICAgbW9udGg6IDEsXHJcbiAgICAgICAgICAgIGRhdGU6IDEsXHJcbiAgICAgICAgICAgIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgQVhEYXRlVGltZS5mcm9tKHtcclxuICAgICAgICAgICAgeWVhcjogbWF4LFxyXG4gICAgICAgICAgICBtb250aDogMTIsXHJcbiAgICAgICAgICAgIGRhdGU6IDI4LFxyXG4gICAgICAgICAgICBjYWxlbmRhcjogdGhpcy5fdmlld1N0YXJ0RGF0ZS5jYWxlbmRhci5uYW1lKCksXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICBjdXJyZW50LnN0YXJ0T2YoJ3llYXInKSxcclxuICAgICAgICAgIGN1cnJlbnQuZW5kT2YoJ3llYXInKS5hZGQoJ2RheScsIC0xKVxyXG4gICAgICAgICk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICBjdXJyZW50LnN0YXJ0T2YoJ21vbnRoJyksXHJcbiAgICAgICAgICBjdXJyZW50LmVuZE9mKCdtb250aCcpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGUhOiBBWERhdGVUaW1lO1xyXG5cclxuICBwcm90ZWN0ZWQgX25hdlRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHByb3RlY3RlZCBfdG9kYXlUZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHJvdGVjdGVkIF9zbG90czogYW55W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgX2RheU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9pc1VzZXJJbnRlcmFjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0VmFsdWVzKCkge1xyXG4gICAgdGhpcy5fdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZGF5TmFtZXMgPSB0aGlzLl90b2RheS5jYWxlbmRhci5kYXlTaG9ydE5hbWVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIHRoaXMubmF2VG8odGhpcy52YWx1ZSB8fCB0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Jbml0KCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB0aGlzLmdvVG9kYXkoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dlbmVhcnRlU2xvdHMoKSB7XHJcbiAgICBpZiAoIXRoaXMuX3ZpZXdTdGFydERhdGUpIHJldHVybjtcclxuICAgIGNvbnN0IHZyID0gdGhpcy5fdmlld1JhbmdlO1xyXG4gICAgLy8ganVzdCBmb3IgdGFpbHdpbmRcclxuICAgIC8vJ2F4LWNvbC1zdGFydC0xJywnYXgtY29sLXN0YXJ0LTInLCdheC1jb2wtc3RhcnQtMycsJ2F4LWNvbC1zdGFydC00JywnYXgtY29sLXN0YXJ0LTUnLCdheC1jb2wtc3RhcnQtNicsJ2F4LWNvbC1zdGFydC03J1xyXG4gICAgLy8geWVhciB2aWV3XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgneWVhcicpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9XHJcbiAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAneWVhcicpID09IC0xKSB8fFxyXG4gICAgICAgICAgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ3llYXInKSA9PSAxKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogci5kaXNhYmxlZCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICd5ZWFyJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxyXG4gICAgICAgICAgICAgIHRoaXMuZGVwdGggPT0gJ3llYXJzJyAmJlxyXG4gICAgICAgICAgICAgIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHIuY3NzQ2xhc3NbYGF4LWNvbC1zdGFydC0yYF0gPSBpID09IDA7XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IGAke3ZyLnN0YXJ0VGltZS55ZWFyfSAtICR7dnIuZW5kVGltZS55ZWFyfWA7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnWVlZWScpO1xyXG4gICAgfVxyXG4gICAgLy8gbW9udGggdmlld1xyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ21vbnRoJyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5mb3JtYXQoJ01NTScpO1xyXG4gICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgICAgICByLmRpc2FibGVkID1cclxuICAgICAgICAgICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdtb250aCcpID09IC0xKSB8fFxyXG4gICAgICAgICAgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ21vbnRoJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnbW9udGgnKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzpcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5kZXB0aCA9PSAnbW9udGhzJyAmJlxyXG4gICAgICAgICAgICAgIGQuZXF1YWwodGhpcy52YWx1ZSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1vdGhlcic6IGQueWVhciAhPSB0aGlzLl92aWV3U3RhcnREYXRlLnllYXIsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSB0aGlzLl92aWV3U3RhcnREYXRlLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgfVxyXG4gICAgLy8gZGF5IHZpZXdcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCdkYXknKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmRheU9mTW9udGg7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoKTtcclxuICAgICAgICByLmRpc2FibGVkID1cclxuICAgICAgICAgICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICdkYXknKSA9PSAtMSkgfHxcclxuICAgICAgICAgICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICdkYXknKSA9PSAxKSB8fFxyXG4gICAgICAgICAgdGhpcy5pc0Rpc2FibGVkKGQpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ2RheScpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOiB0aGlzLnZhbHVlICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ2RheScpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtaG9saWRheSc6IHRoaXMuaXNIb2xpZGF5KGQpIHx8IHRoaXMuaXNXZWVrZW5kKGQpLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQtaW5mbyc6IGQuZGF5T2ZNb250aCA9PSAxMixcclxuICAgICAgICAgICAgLy8gJ2F4LXN0YXRlLWV2ZW50JzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHIuY3NzQ2xhc3NbYGF4LWNvbC1zdGFydC0ke3ZyLnN0YXJ0VGltZS5kYXlPZldlZWt9YF0gPSBpID09IDA7XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlUHJldkNsaWNrKCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVOZXh0Q2xpY2soKSB7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZVNsb3RDbGljayhlOiBNb3VzZUV2ZW50LCBzbG90KSB7XHJcbiAgICBpZiAoc2xvdC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJyAmJiB0aGlzLmRlcHRoID09ICdkYXlzJykge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnZGF5cyc7XHJcbiAgICAgIHRoaXMubmF2VG8oc2xvdC5kYXRlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ21vbnRocycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiZcclxuICAgICAgKHRoaXMuZGVwdGggPT0gJ2RheXMnIHx8IHRoaXMuZGVwdGggPT0gJ21vbnRocycpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRocyc7XHJcbiAgICAgIHRoaXMubmF2VG8oc2xvdC5kYXRlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFycycgJiYgdGhpcy5kZXB0aCA9PSAneWVhcnMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKTtcclxuICAgIH1cclxuICAgIHRoaXMub25TbG90Q2xpY2suZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXRlbTogc2xvdC5kYXRlLFxyXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcclxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlTmF2Q2xpY2soZTogQVhDbGlja0V2ZW50IHwgYW55KSB7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJykgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRocyc7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHRoaXMuYWN0aXZlVmlldyA9ICd5ZWFycyc7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9vbk9wdGlvbkNoYW5nZWQob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQpIHtcclxuICAgIGlmIChcclxuICAgICAgb3B0aW9uLm5hbWUgPT0gJ2RlcHRoJyB8fFxyXG4gICAgICBvcHRpb24ubmFtZSA9PSAnYWN0aXZlVmlldycgfHxcclxuICAgICAgb3B0aW9uLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8XHJcbiAgICAgIG9wdGlvbi5uYW1lID09ICdob2xpZGF5RGF0ZXMnXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgfVxyXG4gICAgaWYgKG9wdGlvbi5uYW1lID09ICd0eXBlJykge1xyXG4gICAgICB0aGlzLl9yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKTtcclxuICAgIHRoaXMuZ29Ub2RheSgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLl9uYXZOZXh0UHJldihmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcmV2KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoczogc3RyaW5nKSA9PlxyXG4gICAgICAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXHJcbiAgICAgICAgc1xyXG4gICAgICApO1xyXG4gICAgY29uc3QgZGl2ID1cclxuICAgICAgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdi5heC1zdGF0ZS1zZWxlY3RlZCcpIHx8XHJcbiAgICAgIGZ1bmMoJy5heC1jYWxlbmRhci1zbG90cz5kaXYnKTtcclxuICAgIGRpdj8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX25hdk5leHRQcmV2KHByZXY6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNpZ24gPSBwcmV2ID8gLTEgOiAxO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ21vbnRoJywgc2lnbiAqIDEpKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMTApKTtcclxuICB9XHJcblxyXG4gIGdvVG9kYXkoKSB7XHJcbiAgICB0aGlzLm5hdlRvKHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG5hdlRvKGRhdGU6IERhdGUgfCBBWERhdGVUaW1lKSB7XHJcbiAgICB0aGlzLl92aWV3U3RhcnREYXRlID0gQVhEYXRlVGltZS5jb252ZXJ0KFxyXG4gICAgICBkYXRlLFxyXG4gICAgICB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKClcclxuICAgICkuc3RhcnRPZigpO1xyXG4gICAgY29uc3QgdnIgPSB0aGlzLl92aWV3UmFuZ2U7XHJcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX2lzVXNlckludGVyYWN0aW9uLFxyXG4gICAgICBzdGFydDogdnIuc3RhcnRUaW1lPy5kYXRlLFxyXG4gICAgICBlbmQ6IHZyLmVuZFRpbWU/LmRhdGUsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5pbnRlcmZhY2UgPT0gJ2NhbGVuZGFyJykgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ3llYXInKTtcclxuICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnbW9udGgnKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICB9LCA1MCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF9jbGFzc2VzKVxyXG4gICAgICAuZmlsdGVyKChjKSA9PiBjWzFdKVxyXG4gICAgICAubWFwKChjKSA9PiBjWzBdKVxyXG4gICAgICAuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0RGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IEFYRGF0ZVRpbWUuY29udmVydChcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKVxyXG4gICAgKS5zdGFydE9mKCkuZGF0ZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGlzYWJsZWREYXRlcykgJiYgdGhpcy5kaXNhYmxlZERhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGlzSG9saWRheShkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmhvbGlkYXlEYXRlcykgJiYgdGhpcy5ob2xpZGF5RGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzLnNvbWUoKGQpID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuaG9saWRheURhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzKGRhdGUuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaXNXZWVrZW5kKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIC8vcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuICAgIGNvbnN0IHdlZWtlbmQgPSBBWENvbmZpZy5nZXQoXHJcbiAgICAgIGBkYXRlVGltZS5jYWxlbmRhcnMuJHt0aGlzLnR5cGV9LndlZWtlbmRgXHJcbiAgICApIGFzIG51bWJlcltdO1xyXG4gICAgcmV0dXJuIHdlZWtlbmQuaW5jbHVkZXMoZGF0ZS5kYXlPZldlZWspO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCBfcGlja2VyTW9udGhzOiB7IHRleHQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgX3BpY2tlclllYXJzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9nZW5lcmF0ZVBpY2tlckl0ZW1zKHZpZXcpIHtcclxuICAgIHN3aXRjaCAodmlldykge1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLl9waWNrZXJZZWFycyA9IHJhbmdlKDIwMDAsIDIwNTAsIDEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyTW9udGhzID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuc3RhcnRPZigneWVhcicpLFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5lbmRPZigneWVhcicpXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLmVudW11cmF0ZSgnbW9udGgnKVxyXG4gICAgICAgICAgLm1hcCgoYykgPT4gKHtcclxuICAgICAgICAgICAgdGV4dDogYy5mb3JtYXQoJ01NTScpLFxyXG4gICAgICAgICAgICB2YWx1ZTogYy5tb250aE9mWWVhcixcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9waWNrZXJEYXlzID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuc3RhcnRPZignbW9udGgnKSxcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuZW5kT2YoJ21vbnRoJylcclxuICAgICAgICApXHJcbiAgICAgICAgICAuZW51bXVyYXRlKCdkYXknKVxyXG4gICAgICAgICAgLm1hcCgoYykgPT4gYy5kYXlPZk1vbnRoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZVBpY2tlckNoYW5nZShpdGVtOiBhbnksIHZpZXcpIHtcclxuICAgIGlmICghaXRlbSkgcmV0dXJuO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWU7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgneWVhcicsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgnbW9udGgnLCBpdGVtLnZhbHVlLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCdkYXknKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdkYXknLCBpdGVtLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVyZmFjZSA9PT0gJ2NhbGVuZGFyJzsgZWxzZSBwaWNrZXJUZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlVmlldz09J2RheXMnOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBjbGFzcz1cImF4LWJ1dHRvbi1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIj57e19uYXZUZXh0LnNwbGl0KCcgJylbMV19fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBjbGFzcz1cImF4LWJ1dHRvbi1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIj57e19uYXZUZXh0LnNwbGl0KCcgJylbMF19fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwiYXgtYnV0dG9uLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiPnt7X25hdlRleHR9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwiYXgtYnV0dG9uLWNvbnRyb2xcIiAoY2xpY2spPVwiX2hhbmRsZVByZXZDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJ7J2F4LWljLWNoZXZyb24tbGVmdCc6ICFfaXNSdGwoKSwnYXgtaWMtY2hldnJvbi1yaWdodCc6IF9pc1J0bCgpfVwiPjwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGlzRGlzYWJsZWQoX3RvZGF5KVwiIGNsYXNzPVwiYXgtYnV0dG9uLWNvbnRyb2wgIWF4LXRleHQtcHJpbWFyeS01MDBcIiAoY2xpY2spPVwiX2hhbmRsZUdvVG9kYXkoKVwiPlxyXG4gICAgICAgICAgICAgICAge3sgdG9kYXlUZXh0IH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwiYXgtYnV0dG9uLWNvbnRyb2xcIiAoY2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICA8aSAgW25nQ2xhc3NdPVwieydheC1pYy1jaGV2cm9uLWxlZnQnOiBfaXNSdGwoKSwnYXgtaWMtY2hldnJvbi1yaWdodCc6ICFfaXNSdGwoKX1cIj48L2k+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy15ZWFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7ZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1kYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNwaWNrZXJUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1waWNrZXJcIj5cclxuICAgICAgICAvL1RPRE86IHBpY2tlclxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUVMLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IscUJBQXFCLEdBQ3RCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUMvRCwyQkFBMkIsQ0FDekIscUJBQXFCLENBQU0sdUJBQXVCLENBQUMsQ0FDcEQsQ0FDRixDQUFDO0FBcUNGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx3QkFBd0I7SUFtRC9ELFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakRsRSxjQUFTLEdBQTBCLFVBQVUsQ0FBQztRQUU5QyxjQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBb0NyQyxXQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHL0MsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRXhCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQUUzQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFrU2xDLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBQzNCLGtCQUFhLEdBQXNDLEVBQUUsQ0FBQztRQUN0RCxpQkFBWSxHQUFhLEVBQUUsQ0FBQztJQWhTdEMsQ0FBQztJQS9DRCxJQUFZLFVBQVU7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ25ELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2QixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxlQUFlLENBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2QsSUFBSSxFQUFFLEdBQUc7b0JBQ1QsS0FBSyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLENBQUM7b0JBQ1AsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtpQkFDOUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2QsSUFBSSxFQUFFLEdBQUc7b0JBQ1QsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtpQkFDOUMsQ0FBQyxDQUNILENBQUM7WUFDSixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7WUFDSjtnQkFDRSxPQUFPLElBQUksZUFBZSxDQUN4QixPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUN2QixDQUFDO1NBQ0w7SUFDSCxDQUFDO0lBaUJPLFdBQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUN0RCxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFUyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBQ2pDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDM0Isb0JBQW9CO1FBQ3BCLHdIQUF3SDtRQUN4SCxZQUFZO1FBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sRUFBRTtZQUM5QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEdBQVEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLFFBQVE7b0JBQ1IsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDL0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUNkLENBQUMsQ0FBQyxRQUFRLEdBQUc7d0JBQ1gsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFFBQVE7cUJBQ2hDLENBQUM7aUJBQ0g7cUJBQU07b0JBQ0wsQ0FBQyxDQUFDLFFBQVEsR0FBRzt3QkFDWCxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO3dCQUM5QyxtQkFBbUIsRUFDakIsSUFBSSxDQUFDLEtBQUs7NEJBQ1YsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPOzRCQUNyQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO3FCQUM5QixDQUFDO2lCQUNIO2dCQUNELHlDQUF5QztnQkFDekMsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7UUFDRCxhQUFhO2FBQ1IsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsRUFBRTtZQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEdBQVEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsUUFBUTtvQkFDUixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUNoRCxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7b0JBQ2QsQ0FBQyxDQUFDLFFBQVEsR0FBRzt3QkFDWCxtQkFBbUIsRUFBRSxDQUFDLENBQUMsUUFBUTtxQkFDaEMsQ0FBQztpQkFDSDtxQkFBTTtvQkFDTCxDQUFDLENBQUMsUUFBUSxHQUFHO3dCQUNYLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7d0JBQy9DLG1CQUFtQixFQUNqQixJQUFJLENBQUMsS0FBSzs0QkFDVixJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVE7NEJBQ3RCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7d0JBQzlCLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJO3FCQUNyRCxDQUFDO2lCQUNIO2dCQUNELE9BQU8sQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxXQUFXO2FBQ047WUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEdBQVEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxRQUFRO29CQUNSLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQzlDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7b0JBQ2QsQ0FBQyxDQUFDLFFBQVEsR0FBRzt3QkFDWCxtQkFBbUIsRUFBRSxJQUFJO3FCQUMxQixDQUFDO2lCQUNIO3FCQUFNO29CQUNMLENBQUMsQ0FBQyxRQUFRLEdBQUc7d0JBQ1gsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQzt3QkFDN0MsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO3dCQUM3RCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUMxRCw2Q0FBNkM7d0JBQzdDLHdDQUF3QztxQkFDekMsQ0FBQztpQkFDSDtnQkFFRCxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUQsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVTLGdCQUFnQixDQUFDLENBQWEsRUFBRSxJQUFJO1FBQzVDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDM0MsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQjthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO2FBQU0sSUFDTCxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU87WUFDMUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxFQUNoRDtZQUNBLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxlQUFlLENBQUMsQ0FBcUI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO2FBQ3JELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRO1lBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDaEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsTUFBZ0M7UUFDekQsSUFDRSxNQUFNLENBQUMsSUFBSSxJQUFJLE9BQU87WUFDdEIsTUFBTSxDQUFDLElBQUksSUFBSSxZQUFZO1lBQzNCLE1BQU0sQ0FBQyxJQUFJLElBQUksZUFBZTtZQUM5QixNQUFNLENBQUMsSUFBSSxJQUFJLGNBQWMsRUFDN0I7WUFDQSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFUyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVE7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLElBQUksR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQXFCLENBQUMsYUFBYSxDQUN0RCxDQUFDLENBQ0YsQ0FBQztRQUNKLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQywwQ0FBMEMsQ0FBQztZQUNoRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNqQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU8sWUFBWSxDQUFDLElBQWE7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRO1lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBdUI7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUN0QyxJQUFJLEVBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQzVCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDWixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLFNBQVMsRUFBRSxJQUFJO1lBQ2YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMxQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJO1lBQ3pCLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUk7WUFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLFVBQVU7WUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDbkQ7WUFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxJQUNZLFdBQVc7UUFDckIsTUFBTSxRQUFRLEdBQUc7WUFDZixtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNuQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVc7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUM3QixLQUFLLEVBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQzVCLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBZ0I7UUFDbkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM3RDthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLFVBQVUsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRVMsU0FBUyxDQUFDLElBQWdCO1FBQ2xDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDNUQ7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxVQUFVLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFnQjtRQUNsQyxvREFBb0Q7UUFDcEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDMUIsc0JBQXNCLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FDOUIsQ0FBQztRQUNkLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQU1PLG9CQUFvQixDQUFDLElBQUk7UUFDL0IsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDekMsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FDeEM7cUJBQ0UsU0FBUyxDQUFDLE9BQU8sQ0FBQztxQkFDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNYLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztvQkFDckIsS0FBSyxFQUFFLENBQUMsQ0FBQyxXQUFXO2lCQUNyQixDQUFDLENBQUMsQ0FBQztnQkFDTixNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQ3pDO3FCQUNFLFNBQVMsQ0FBQyxLQUFLLENBQUM7cUJBQ2hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6QixNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRVMsbUJBQW1CLENBQUMsSUFBUyxFQUFFLElBQUk7UUFDM0MsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqRCxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELE1BQU07U0FDVDtJQUNILENBQUM7O2dIQWxZVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpd0JDaEVoQyxxckdBeURjOzJGRE9ELG1CQUFtQjtrQkFuQy9CLFNBQVM7K0JBQ0UsYUFBYSxVQUVmO3dCQUNOLEtBQUs7d0JBQ0wsVUFBVTt3QkFDVixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsTUFBTTt3QkFDTixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osS0FBSzt3QkFDTCxLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsTUFBTTt3QkFDTixjQUFjO3FCQUNmLFdBQ1E7d0JBQ1AsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLFlBQVk7cUJBQ2IsUUFDSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsaUJBQ2YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtpSUFJL0MsU0FBUztzQkFEUixLQUFLO2dCQXVTTSxXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5nZSB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQVhDYWxlbmRhckJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNsYXNzJztcclxuaW1wb3J0IHtcclxuICBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQsXHJcbiAgX0NsaWNrYWJsZUNvbXBvbmVuZXRNaXhpbixcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4sXHJcbiAgX1ZhbHVlQ29tcG9uZW5ldE1peGluLFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XHJcblxyXG5leHBvcnQgY29uc3QgQVhDYWxlbmRhckNvbXBvbmVudE1peGluID0gX0NsaWNrYWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICBfVmFsdWVDb21wb25lbmV0TWl4aW48YW55PihBWENhbGVuZGFyQmFzZUNvbXBvbmVudClcclxuICApXHJcbik7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ3J0bCcsXHJcbiAgICAncmVhZG9ubHknLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAndmFsdWUnLFxyXG4gICAgJ25hbWUnLFxyXG4gICAgJ2NoZWNrZWQnLFxyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAnZGVwdGgnLFxyXG4gICAgJ2FjdGl2ZVZpZXcnLFxyXG4gICAgJ21pbicsXHJcbiAgICAnbWF4JyxcclxuICAgICdkaXNhYmxlZERhdGVzJyxcclxuICAgICd0eXBlJyxcclxuICAgICdob2xpZGF5RGF0ZXMnLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogW1xyXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAnb25CbHVyJyxcclxuICAgICdvbkZvY3VzJyxcclxuICAgICdkZXB0aENoYW5nZScsXHJcbiAgICAndHlwZUNoYW5nZScsXHJcbiAgICAnZGlzYWJsZWREYXRlc0NoYW5nZScsXHJcbiAgICAnaG9saWRheURhdGVzQ2hhbmdlJyxcclxuICAgICdvbk5hdmlnYXRlJyxcclxuICBdLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1jYWxlbmRhcicgfSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhckNvbXBvbmVudCBleHRlbmRzIEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiB7XHJcbiAgQElucHV0KClcclxuICBpbnRlcmZhY2U6ICdjYWxlbmRhcicgfCAncGlja2VyJyA9ICdjYWxlbmRhcic7XHJcblxyXG4gIHRvZGF5VGV4dCA9IEFYVHJhbnNsYXRvci5nZXQoJ2RhdGVUaW1lLnRvZGF5Jyk7XHJcblxyXG4gIHByaXZhdGUgZ2V0IF92aWV3UmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcclxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl92aWV3U3RhcnREYXRlIHx8IHRoaXMuX3RvZGF5O1xyXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcnMnOlxyXG4gICAgICAgIGxldCB5ID0gY3VycmVudC5zdGFydE9mKCd5ZWFyJykueWVhcjtcclxuICAgICAgICBsZXQgbWluID0geSAtICh5ICUgMTApIC0gMTtcclxuICAgICAgICBsZXQgbWF4ID0gbWluICsgMTE7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICBBWERhdGVUaW1lLmZyb20oe1xyXG4gICAgICAgICAgICB5ZWFyOiBtaW4sXHJcbiAgICAgICAgICAgIG1vbnRoOiAxLFxyXG4gICAgICAgICAgICBkYXRlOiAxLFxyXG4gICAgICAgICAgICBjYWxlbmRhcjogdGhpcy5fdmlld1N0YXJ0RGF0ZS5jYWxlbmRhci5uYW1lKCksXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7XHJcbiAgICAgICAgICAgIHllYXI6IG1heCxcclxuICAgICAgICAgICAgbW9udGg6IDEyLFxyXG4gICAgICAgICAgICBkYXRlOiAyOCxcclxuICAgICAgICAgICAgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICBjYXNlICdtb250aHMnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgY3VycmVudC5zdGFydE9mKCd5ZWFyJyksXHJcbiAgICAgICAgICBjdXJyZW50LmVuZE9mKCd5ZWFyJykuYWRkKCdkYXknLCAtMSlcclxuICAgICAgICApO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgY3VycmVudC5zdGFydE9mKCdtb250aCcpLFxyXG4gICAgICAgICAgY3VycmVudC5lbmRPZignbW9udGgnKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3RvZGF5ID0gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgdGhpcy50eXBlKTtcclxuICBwcml2YXRlIF92aWV3U3RhcnREYXRlITogQVhEYXRlVGltZTtcclxuXHJcbiAgcHJvdGVjdGVkIF9uYXZUZXh0OiBzdHJpbmcgPSAnJztcclxuICBwcm90ZWN0ZWQgX3RvZGF5VGV4dDogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByb3RlY3RlZCBfc2xvdHM6IGFueVtdID0gW107XHJcbiAgcHJvdGVjdGVkIF9kYXlOYW1lczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdFZhbHVlcygpIHtcclxuICAgIHRoaXMuX3RvZGF5ID0gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgdGhpcy50eXBlKTtcclxuICAgIHRoaXMuX2RheU5hbWVzID0gdGhpcy5fdG9kYXkuY2FsZW5kYXIuZGF5U2hvcnROYW1lcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9pbml0VmFsdWVzKCk7XHJcbiAgICB0aGlzLm5hdlRvKHRoaXMudmFsdWUgfHwgdGhpcy5fdG9kYXkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSkgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZW5lYXJ0ZVNsb3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKSByZXR1cm47XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAvLydheC1jb2wtc3RhcnQtMScsJ2F4LWNvbC1zdGFydC0yJywnYXgtY29sLXN0YXJ0LTMnLCdheC1jb2wtc3RhcnQtNCcsJ2F4LWNvbC1zdGFydC01JywnYXgtY29sLXN0YXJ0LTYnLCdheC1jb2wtc3RhcnQtNydcclxuICAgIC8vIHllYXIgdmlld1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ3llYXInKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPVxyXG4gICAgICAgICAgKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ3llYXInKSA9PSAtMSkgfHxcclxuICAgICAgICAgICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICd5ZWFyJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAneWVhcicpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcclxuICAgICAgICAgICAgICB0aGlzLmRlcHRoID09ICd5ZWFycycgJiZcclxuICAgICAgICAgICAgICBkLmVxdWFsKHRoaXMudmFsdWUsICd5ZWFyJyksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtMmBdID0gaSA9PSAwO1xyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHt2ci5zdGFydFRpbWUueWVhcn0gLSAke3ZyLmVuZFRpbWUueWVhcn1gO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoJ1lZWVknKTtcclxuICAgIH1cclxuICAgIC8vIG1vbnRoIHZpZXdcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJykge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCdtb250aCcpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdNTU0nKTtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9XHJcbiAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnbW9udGgnKSA9PSAtMSkgfHxcclxuICAgICAgICAgICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICdtb250aCcpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxyXG4gICAgICAgICAgICAgIHRoaXMuZGVwdGggPT0gJ21vbnRocycgJiZcclxuICAgICAgICAgICAgICBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtb3RoZXInOiBkLnllYXIgIT0gdGhpcy5fdmlld1N0YXJ0RGF0ZS55ZWFyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ1lZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgIH1cclxuICAgIC8vIGRheSB2aWV3XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnZGF5Jyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5kYXlPZk1vbnRoO1xyXG4gICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9XHJcbiAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnZGF5JykgPT0gLTEpIHx8XHJcbiAgICAgICAgICAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkgfHxcclxuICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZChkKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICdkYXknKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdkYXknKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWhvbGlkYXknOiB0aGlzLmlzSG9saWRheShkKSB8fCB0aGlzLmlzV2Vla2VuZChkKSxcclxuICAgICAgICAgICAgLy8gJ2F4LXN0YXRlLWV2ZW50LWluZm8nOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudCc6IGQuZGF5T2ZNb250aCA9PSAxMixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwO1xyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZVByZXZDbGljaygpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMucHJldigpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlTmV4dENsaWNrKCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdCkge1xyXG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheXMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJyAmJiB0aGlzLmRlcHRoID09ICdtb250aHMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmXHJcbiAgICAgICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdtb250aHMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmIHRoaXMuZGVwdGggPT0gJ3llYXJzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uU2xvdENsaWNrLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGl0ZW06IHNsb3QuZGF0ZSxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXHJcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZU5hdkNsaWNrKGU6IEFYQ2xpY2tFdmVudCB8IGFueSkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHRoaXMuYWN0aXZlVmlldyA9ICdtb250aHMnO1xyXG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnKSB0aGlzLmFjdGl2ZVZpZXcgPSAneWVhcnMnO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIG9wdGlvbi5uYW1lID09ICdkZXB0aCcgfHxcclxuICAgICAgb3B0aW9uLm5hbWUgPT0gJ2FjdGl2ZVZpZXcnIHx8XHJcbiAgICAgIG9wdGlvbi5uYW1lID09ICdkaXNhYmxlZERhdGVzJyB8fFxyXG4gICAgICBvcHRpb24ubmFtZSA9PSAnaG9saWRheURhdGVzJ1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb24ubmFtZSA9PSAndHlwZScpIHtcclxuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgbmV3VmFsdWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBuZXcgQVhEYXRlVGltZShuZXdWYWx1ZSwgdGhpcy50eXBlKTtcclxuICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlR29Ub2RheSgpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuX3NldERhdGUodGhpcy5fdG9kYXkuZGF0ZSk7XHJcbiAgICB0aGlzLmdvVG9kYXkoKTtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJldigpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICBjb25zdCBmdW5jID0gKHM6IHN0cmluZykgPT5cclxuICAgICAgKHRoaXMuX2dldEhvc3RFbGVtZW50KCkgYXMgSFRNTERpdkVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFxyXG4gICAgICAgIHNcclxuICAgICAgKTtcclxuICAgIGNvbnN0IGRpdiA9XHJcbiAgICAgIGZ1bmMoJy5heC1jYWxlbmRhci1zbG90cz5kaXYuYXgtc3RhdGUtc2VsZWN0ZWQnKSB8fFxyXG4gICAgICBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2Jyk7XHJcbiAgICBkaXY/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9uYXZOZXh0UHJldihwcmV2OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBzaWduID0gcHJldiA/IC0xIDogMTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSkpO1xyXG4gICAgZWxzZSB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwKSk7XHJcbiAgfVxyXG5cclxuICBnb1RvZGF5KCkge1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuICBuYXZUbyhkYXRlOiBEYXRlIHwgQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IEFYRGF0ZVRpbWUuY29udmVydChcclxuICAgICAgZGF0ZSxcclxuICAgICAgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpXHJcbiAgICApLnN0YXJ0T2YoKTtcclxuICAgIGNvbnN0IHZyID0gdGhpcy5fdmlld1JhbmdlO1xyXG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbixcclxuICAgICAgc3RhcnQ6IHZyLnN0YXJ0VGltZT8uZGF0ZSxcclxuICAgICAgZW5kOiB2ci5lbmRUaW1lPy5kYXRlLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuaW50ZXJmYWNlID09ICdjYWxlbmRhcicpIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCd5ZWFyJyk7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ21vbnRoJyk7XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfSwgNTApO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IF9jbGFzc2VzID0ge1xyXG4gICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcylcclxuICAgICAgLmZpbHRlcigoYykgPT4gY1sxXSlcclxuICAgICAgLm1hcCgoYykgPT4gY1swXSlcclxuICAgICAgLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcclxuICAgIHRoaXMudmFsdWUgPSBBWERhdGVUaW1lLmNvbnZlcnQoXHJcbiAgICAgIHZhbHVlLFxyXG4gICAgICB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKClcclxuICAgICkuc3RhcnRPZigpLmRhdGU7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRpc2FibGVkRGF0ZXMpICYmIHRoaXMuZGlzYWJsZWREYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzLnNvbWUoKGQpID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0hvbGlkYXkoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ob2xpZGF5RGF0ZXMpICYmIHRoaXMuaG9saWRheURhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQsICdkYXknKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGlzV2Vla2VuZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XHJcbiAgICAvL3JldHVybiBkYXRlLmRheU9mV2VlayA9PSA3IHx8IGRhdGUuZGF5T2ZXZWVrID09IDE7XHJcbiAgICBjb25zdCB3ZWVrZW5kID0gQVhDb25maWcuZ2V0KFxyXG4gICAgICBgZGF0ZVRpbWUuY2FsZW5kYXJzLiR7dGhpcy50eXBlfS53ZWVrZW5kYFxyXG4gICAgKSBhcyBudW1iZXJbXTtcclxuICAgIHJldHVybiB3ZWVrZW5kLmluY2x1ZGVzKGRhdGUuZGF5T2ZXZWVrKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfcGlja2VyRGF5czogbnVtYmVyW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgX3BpY2tlck1vbnRoczogeyB0ZXh0OiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdID0gW107XHJcbiAgcHJvdGVjdGVkIF9waWNrZXJZZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfZ2VuZXJhdGVQaWNrZXJJdGVtcyh2aWV3KSB7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyWWVhcnMgPSByYW5nZSgyMDAwLCAyMDUwLCAxKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHRoaXMuX3BpY2tlck1vbnRocyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ3llYXInKSxcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuZW5kT2YoJ3llYXInKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC5lbnVtdXJhdGUoJ21vbnRoJylcclxuICAgICAgICAgIC5tYXAoKGMpID0+ICh7XHJcbiAgICAgICAgICAgIHRleHQ6IGMuZm9ybWF0KCdNTU0nKSxcclxuICAgICAgICAgICAgdmFsdWU6IGMubW9udGhPZlllYXIsXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyRGF5cyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ21vbnRoJyksXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLmVuZE9mKCdtb250aCcpXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLmVudW11cmF0ZSgnZGF5JylcclxuICAgICAgICAgIC5tYXAoKGMpID0+IGMuZGF5T2ZNb250aCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVQaWNrZXJDaGFuZ2UoaXRlbTogYW55LCB2aWV3KSB7XHJcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcclxuICAgIGNvbnN0IGRhdGUgPSB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lO1xyXG4gICAgc3dpdGNoICh2aWV3KSB7XHJcbiAgICAgIGNhc2UgJ3llYXInOlxyXG4gICAgICAgIHRoaXMuX3NldERhdGUoZGF0ZS5zZXQoJ3llYXInLCBpdGVtLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHRoaXMuX3NldERhdGUoZGF0ZS5zZXQoJ21vbnRoJywgaXRlbS52YWx1ZS52YWx1ZSkuZGF0ZSk7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnZGF5Jyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgnZGF5JywgaXRlbS52YWx1ZSkuZGF0ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlcmZhY2UgPT09ICdjYWxlbmRhcic7IGVsc2UgcGlja2VyVGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVZpZXc9PSdkYXlzJzsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgY2xhc3M9XCJheC1idXR0b24tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCI+e3tfbmF2VGV4dC5zcGxpdCgnICcpWzFdfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgY2xhc3M9XCJheC1idXR0b24tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQpXCI+e3tfbmF2VGV4dC5zcGxpdCgnICcpWzBdfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBjbGFzcz1cImF4LWJ1dHRvbi1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudClcIj57e19uYXZUZXh0fX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBjbGFzcz1cImF4LWJ1dHRvbi1jb250cm9sXCIgKGNsaWNrKT1cIl9oYW5kbGVQcmV2Q2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwieydheC1pYy1jaGV2cm9uLWxlZnQnOiAhcnRsLCdheC1pYy1jaGV2cm9uLXJpZ2h0JzogcnRsfVwiPjwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGlzRGlzYWJsZWQoX3RvZGF5KVwiIGNsYXNzPVwiYXgtYnV0dG9uLWNvbnRyb2wgIWF4LXRleHQtcHJpbWFyeS01MDBcIiAoY2xpY2spPVwiX2hhbmRsZUdvVG9kYXkoKVwiICpuZ0lmPVwiYWN0aXZlVmlldz09J2RheXMnXCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0b2RheVRleHQgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgY2xhc3M9XCJheC1idXR0b24tY29udHJvbFwiIChjbGljayk9XCJfaGFuZGxlTmV4dENsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgIDxpICBbbmdDbGFzc109XCJ7J2F4LWljLWNoZXZyb24tbGVmdCc6IHJ0bCwnYXgtaWMtY2hldnJvbi1yaWdodCc6ICFydGx9XCI+PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy15ZWFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7ZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1kYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNwaWNrZXJUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1waWNrZXJcIj5cclxuICAgICAgICAvL1RPRE86IHBpY2tlclxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -42,4 +42,4 @@ AXPagedComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
|
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXPagedComponent, decorators: [{
|
|
43
43
|
type: Injectable
|
|
44
44
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvY29tcG9uZW50cy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekQsTUFBTSxPQUFnQixXQUFXOzt3R0FBWCxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEaEMsVUFBVTs7QUFLWCxNQUFNLE9BQWdCLG1CQUFvQixTQUFRLFdBQVc7O2dIQUF2QyxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQU1YLE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEsV0FBVzs7a0hBQXpDLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRDFDLFVBQVU7O0FBTVgsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxXQUFXOztnSEFBdkMsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsVUFBVTs7QUFPWCxNQUFNLE9BQWdCLG9CQUFxQixTQUFRLFdBQVc7O2lIQUF4QyxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUR6QyxVQUFVOztBQWFYLE1BQU0sT0FBZ0IsZ0JBQ3BCLFNBQVEsV0FBVzs7NkdBREMsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi9ldmVudHMuY2xhc3MnO1xyXG5cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhDb21wb25lbnQge1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWENsb3NiYWxlQ29tcG9uZW50IGV4dGVuZHMgQVhDb21wb25lbnQge1xyXG4gIGFic3RyYWN0IGNsb3NlKCk6IHZvaWQ7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYU2VhcmNoYWJsZUNvbXBvbmVudCBleHRlbmRzIEFYQ29tcG9uZW50IHtcclxuICBhYnN0cmFjdCBzZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYVmFsdWFibGVDb21wb25lbnQgZXh0ZW5kcyBBWENvbXBvbmVudCB7XHJcbiAgYWJzdHJhY3Qgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT4+O1xyXG4gIGFic3RyYWN0IHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYRm9jdXNhYmxlQ29tcG9uZW50IGV4dGVuZHMgQVhDb21wb25lbnQge1xyXG4gIGFic3RyYWN0IGZvY3VzKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQYWdlZENvbXBvbmVudEludGVyZmFjZSB7XHJcbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKTtcclxuICBnZXQgdG90YWxDb3VudCgpOiBudW1iZXI7XHJcbiAgZ2V0IHBhZ2VTaXplKCk6IG51bWJlcjtcclxuICBvblBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+PjtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQYWdlZENvbXBvbmVudFxyXG4gIGV4dGVuZHMgQVhDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIEFYUGFnZWRDb21wb25lbnRJbnRlcmZhY2Vcclxue1xyXG4gIGFic3RyYWN0IGdvVG9QYWdlKHBhZ2U6IG51bWJlcik7XHJcbiAgYWJzdHJhY3QgZ2V0IHRvdGFsQ291bnQoKTogbnVtYmVyO1xyXG4gIGFic3RyYWN0IGdldCBwYWdlU2l6ZSgpOiBudW1iZXI7XHJcbiAgYWJzdHJhY3Qgb25QYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj47XHJcbn1cclxuIl19
|
|
@@ -32,10 +32,11 @@ export class AXDataPagerNextButtonsComponent extends AXDataPagerChild {
|
|
|
32
32
|
AXDataPagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXDataPagerNextButtonsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXPagerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
33
|
AXDataPagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons", providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerNextButtonsComponent }], usesInheritance: true, ngImport: i0, template: `
|
|
34
34
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the next page" (onClick)="_emitOnNextPageClick($event)" >
|
|
35
|
-
<ax-icon [ngClass]="{'ax-ic-chevron-left':
|
|
35
|
+
<ax-icon [ngClass]="{'ax-ic-chevron-left': rtl,'ax-ic-chevron-right': !rtl}"></ax-icon>
|
|
36
|
+
<i ></i>
|
|
36
37
|
</ax-button>
|
|
37
38
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the last page" (onClick)="_emitOnLastPageClick($event)">
|
|
38
|
-
<ax-icon [ngClass]="{'ax-ic-first-page':
|
|
39
|
+
<ax-icon [ngClass]="{'ax-ic-first-page': rtl,'ax-ic-last-page': !rtl}"></ax-icon>
|
|
39
40
|
</ax-button>
|
|
40
41
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
41
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXDataPagerNextButtonsComponent, decorators: [{
|
|
@@ -44,10 +45,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
44
45
|
selector: 'ax-data-pager-next-buttons',
|
|
45
46
|
template: `
|
|
46
47
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the next page" (onClick)="_emitOnNextPageClick($event)" >
|
|
47
|
-
<ax-icon [ngClass]="{'ax-ic-chevron-left':
|
|
48
|
+
<ax-icon [ngClass]="{'ax-ic-chevron-left': rtl,'ax-ic-chevron-right': !rtl}"></ax-icon>
|
|
49
|
+
<i ></i>
|
|
48
50
|
</ax-button>
|
|
49
51
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the last page" (onClick)="_emitOnLastPageClick($event)">
|
|
50
|
-
<ax-icon [ngClass]="{'ax-ic-first-page':
|
|
52
|
+
<ax-icon [ngClass]="{'ax-ic-first-page': rtl,'ax-ic-last-page': !rtl}"></ax-icon>
|
|
51
53
|
</ax-button>
|
|
52
54
|
`,
|
|
53
55
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -58,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
58
60
|
type: Inject,
|
|
59
61
|
args: [AXPagerComponent]
|
|
60
62
|
}] }]; } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci1uZXh0LWJ1dHRvbnMuY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2RhdGEtcGFnZXItbmV4dC1idXR0b25zLmNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBaUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFpQmpGLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxnQkFBZ0I7SUFFakUsWUFDWSxVQUFzQixFQUN0QixHQUFzQixFQUV0QixPQUF5QjtRQUVqQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTGYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUV0QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUdyQyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixFQUFFO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBZTtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxDQUFlO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7NEhBN0JRLCtCQUErQiw2RUFLNUIsZ0JBQWdCO2dIQUxuQiwrQkFBK0IscURBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLENBQUMsaURBWDlFOzs7Ozs7OztLQVFUOzJGQUtRLCtCQUErQjtrQkFmM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLENBQUM7aUJBQzNGOzswQkFNUSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcclxuaW1wb3J0IHsgQVhEYXRhUGFnZXJDaGlsZCwgQVhQYWdlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtcGFnZXItYmFzZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1kYXRhLXBhZ2VyLW5leHQtYnV0dG9ucycsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAgIGxvb2s9XCJibGFua1wiIGNvbG9yPVwibGlnaHRcIiBjbGFzcz1cImF4LXNtXCIgIHRpdGxlPVwiR28gdG8gdGhlIG5leHQgcGFnZVwiIChvbkNsaWNrKT1cIl9lbWl0T25OZXh0UGFnZUNsaWNrKCRldmVudClcIiA+XHJcbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBbbmdDbGFzc109XCJ7J2F4LWljLWNoZXZyb24tbGVmdCc6IHJ0bCwnYXgtaWMtY2hldnJvbi1yaWdodCc6ICFydGx9XCI+PC9heC1pY29uPiAgXHJcbiAgICAgICAgICAgICAgICA8aSA+PC9pPiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAgbG9vaz1cImJsYW5rXCIgY29sb3I9XCJsaWdodFwiIGNsYXNzPVwiYXgtc21cIiB0aXRsZT1cIkdvIHRvIHRoZSBsYXN0IHBhZ2VcIiAob25DbGljayk9XCJfZW1pdE9uTGFzdFBhZ2VDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBbbmdDbGFzc109XCJ7J2F4LWljLWZpcnN0LXBhZ2UnOiBydGwsJ2F4LWljLWxhc3QtcGFnZSc6ICFydGx9XCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYRGF0YVBhZ2VyQ2hpbGQsIHVzZUV4aXN0aW5nOiBBWERhdGFQYWdlck5leHRCdXR0b25zQ29tcG9uZW50IH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERhdGFQYWdlck5leHRCdXR0b25zQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhUGFnZXJDaGlsZCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBASW5qZWN0KEFYUGFnZXJDb21wb25lbnQpXHJcbiAgICAgICAgcHJpdmF0ZSBfcGFyZW50OiBBWFBhZ2VyQ29tcG9uZW50LFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2NoZWNrRGlzYWJsZWQoKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHRoaXMuX3BhcmVudC5vblN0YXRlQ2hhbmdlZC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrRGlzYWJsZWQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jaGVja0Rpc2FibGVkKCkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9wYXJlbnQuc3RhdGUucGFnZSA9PSB0aGlzLl9wYXJlbnQuc3RhdGUudG90YWxQYWdlcztcclxuICAgIH1cclxuXHJcbiAgICBfZW1pdE9uTGFzdFBhZ2VDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9wYXJlbnQuZ29MYXN0UGFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9lbWl0T25OZXh0UGFnZUNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudC5nb05leHRQYWdlKCk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -57,7 +57,7 @@ export class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {
|
|
|
57
57
|
AXDataPagerNumericSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXDataPagerNumericSelectorComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXPagerComponent }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
58
|
AXDataPagerNumericSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector", providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerNumericSelectorComponent }], usesInheritance: true, ngImport: i0, template: `
|
|
59
59
|
<ax-button [disabled]="_currentPage==1" look="blank" color="light" class="ax-sm" (onClick)="_handleOnItemClick({data:1})">
|
|
60
|
-
<ax-icon [ngClass]="{'ax-ic-last-page':
|
|
60
|
+
<ax-icon [ngClass]="{'ax-ic-last-page': rtl,'ax-ic-first-page': !rtl}"></ax-icon>
|
|
61
61
|
</ax-button>
|
|
62
62
|
<ax-button-group color="light" look="blank" class="ax-sm" >
|
|
63
63
|
<ax-button *ngFor="let item of _items" color="light" look="blank" [selected]="_currentPage==item.data" class="ax-sm" [text]="item.text" (onClick)="_handleOnItemClick(item)">
|
|
@@ -66,7 +66,7 @@ AXDataPagerNumericSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersi
|
|
|
66
66
|
</ax-button>
|
|
67
67
|
</ax-button-group>
|
|
68
68
|
<ax-button [disabled]="_currentPage==_lastPage" look="blank" color="light" class="ax-sm" (onClick)="_handleOnItemClick({data:_lastPage})">
|
|
69
|
-
<ax-icon [ngClass]="{'ax-ic-last-page': !
|
|
69
|
+
<ax-icon [ngClass]="{'ax-ic-last-page': !rtl,'ax-ic-first-page': rtl}"></ax-icon>
|
|
70
70
|
</ax-button>
|
|
71
71
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "tabIndex", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "selectionChange", "onItemClick"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXDataPagerNumericSelectorComponent, decorators: [{
|
|
@@ -75,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
75
75
|
selector: 'ax-data-pager-numeric-selector',
|
|
76
76
|
template: `
|
|
77
77
|
<ax-button [disabled]="_currentPage==1" look="blank" color="light" class="ax-sm" (onClick)="_handleOnItemClick({data:1})">
|
|
78
|
-
<ax-icon [ngClass]="{'ax-ic-last-page':
|
|
78
|
+
<ax-icon [ngClass]="{'ax-ic-last-page': rtl,'ax-ic-first-page': !rtl}"></ax-icon>
|
|
79
79
|
</ax-button>
|
|
80
80
|
<ax-button-group color="light" look="blank" class="ax-sm" >
|
|
81
81
|
<ax-button *ngFor="let item of _items" color="light" look="blank" [selected]="_currentPage==item.data" class="ax-sm" [text]="item.text" (onClick)="_handleOnItemClick(item)">
|
|
@@ -84,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
84
84
|
</ax-button>
|
|
85
85
|
</ax-button-group>
|
|
86
86
|
<ax-button [disabled]="_currentPage==_lastPage" look="blank" color="light" class="ax-sm" (onClick)="_handleOnItemClick({data:_lastPage})">
|
|
87
|
-
<ax-icon [ngClass]="{'ax-ic-last-page': !
|
|
87
|
+
<ax-icon [ngClass]="{'ax-ic-last-page': !rtl,'ax-ic-first-page': rtl}"></ax-icon>
|
|
88
88
|
</ax-button>
|
|
89
89
|
`,
|
|
90
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
95
95
|
type: Inject,
|
|
96
96
|
args: [AXPagerComponent]
|
|
97
97
|
}] }, { type: i0.NgZone }]; } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci1udW1lcmljLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2RhdGEtcGFnZXItbnVtZXJpYy1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBaUMsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFzQmpGLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxnQkFBZ0I7SUFFckUsWUFDSSxXQUF1QixFQUN2QixJQUF1QixFQUVmLE9BQXlCLEVBQ3pCLEtBQWE7UUFFckIsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUhqQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBTXpCLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFZCxrQkFBYSxHQUFXLENBQUMsQ0FBQztJQVBsQyxDQUFDO0lBU0QsVUFBVTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUV0QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDL0MsRUFBRTtRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWpCLE1BQU0sS0FBSyxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0SCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0UsRUFBRTtRQUNGLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLHlCQUF5QjtnQkFDcEMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDO2FBQ2xCLENBQUMsQ0FBQztTQUNOO1FBQ0QsRUFBRTtRQUNGLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksRUFBRSxDQUFDO2FBQ1YsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNiLFNBQVMsRUFBRSx5QkFBeUI7Z0JBQ3BDLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQzthQUNoQixDQUFDLENBQUM7U0FDTjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQU07UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O2dJQTVEUSxtQ0FBbUMsNkVBS2hDLGdCQUFnQjtvSEFMbkIsbUNBQW1DLHlEQUZqQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLGlEQWhCbEY7Ozs7Ozs7Ozs7Ozs7S0FhVDsyRkFLUSxtQ0FBbUM7a0JBcEIvQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztLQWFUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxxQ0FBcUMsRUFBRSxDQUFDO2lCQUMvRjs7MEJBTVEsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCwgTmdab25lIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhCdXR0b25JdGVtIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9idXR0b25cIjtcclxuaW1wb3J0IHsgQVhEYXRhUGFnZXJDaGlsZCwgQVhQYWdlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtcGFnZXItYmFzZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1kYXRhLXBhZ2VyLW51bWVyaWMtc2VsZWN0b3InLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8YXgtYnV0dG9uIFtkaXNhYmxlZF09XCJfY3VycmVudFBhZ2U9PTFcIiAgbG9vaz1cImJsYW5rXCIgY29sb3I9XCJsaWdodFwiIGNsYXNzPVwiYXgtc21cIiAgIChvbkNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljayh7ZGF0YToxfSlcIj5cclxuICAgICAgICAgICAgPGF4LWljb24gW25nQ2xhc3NdPVwieydheC1pYy1sYXN0LXBhZ2UnOiBydGwsJ2F4LWljLWZpcnN0LXBhZ2UnOiAhcnRsfVwiPjwvYXgtaWNvbj5cclxuICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICA8YXgtYnV0dG9uLWdyb3VwIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiBjbGFzcz1cImF4LXNtXCIgID5cclxuICAgICAgICAgICAgPGF4LWJ1dHRvbiAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2l0ZW1zXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIFtzZWxlY3RlZF09XCJfY3VycmVudFBhZ2U9PWl0ZW0uZGF0YVwiICBjbGFzcz1cImF4LXNtXCIgW3RleHRdPVwiaXRlbS50ZXh0XCIgKG9uQ2xpY2spPVwiX2hhbmRsZU9uSXRlbUNsaWNrKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBbY2xhc3NdPVwiaXRlbS5pY29uQ2xhc3NcIiAqbmdJZj1cIml0ZW0uaWNvbkNsYXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWljb24+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvYXgtYnV0dG9uLWdyb3VwPlxyXG4gICAgICAgIDxheC1idXR0b24gW2Rpc2FibGVkXT1cIl9jdXJyZW50UGFnZT09X2xhc3RQYWdlXCIgIGxvb2s9XCJibGFua1wiIGNvbG9yPVwibGlnaHRcIiBjbGFzcz1cImF4LXNtXCIgICAob25DbGljayk9XCJfaGFuZGxlT25JdGVtQ2xpY2soe2RhdGE6X2xhc3RQYWdlfSlcIj5cclxuICAgICAgICA8YXgtaWNvbiBbbmdDbGFzc109XCJ7J2F4LWljLWxhc3QtcGFnZSc6ICFydGwsJ2F4LWljLWZpcnN0LXBhZ2UnOiBydGx9XCI+PC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhUGFnZXJDaGlsZCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVBhZ2VyTnVtZXJpY1NlbGVjdG9yQ29tcG9uZW50IH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERhdGFQYWdlck51bWVyaWNTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVBhZ2VyQ2hpbGQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIEBJbmplY3QoQVhQYWdlckNvbXBvbmVudClcclxuICAgICAgICBwcml2YXRlIF9wYXJlbnQ6IEFYUGFnZXJDb21wb25lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfaXRlbXM6IEFYQnV0dG9uSXRlbVtdID0gW107XHJcbiAgICBfY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgICBfbGFzdFBhZ2U6IG51bWJlciA9IDE7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzcGxheUNvdW50OiBudW1iZXIgPSA1O1xyXG5cclxuICAgIG9uVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJhdGVEaXNwbGF5SXRlbXMoKTtcclxuICAgICAgICB0aGlzLl9wYXJlbnQub25TdGF0ZUNoYW5nZWQuc3Vic2NyaWJlKGMgPT4ge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fZ2VuZXJhdGVEaXNwbGF5SXRlbXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmF0ZURpc3BsYXlJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHRoaXMuX3BhcmVudC5zdGF0ZS5wYWdlO1xyXG4gICAgICAgIHRoaXMuX2xhc3RQYWdlID0gdGhpcy5fcGFyZW50LnN0YXRlLnRvdGFsUGFnZXM7XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLl9pdGVtcyA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCBzdGFydDogbnVtYmVyID0gTWF0aC5tYXgoMCwgKChNYXRoLmNlaWwodGhpcy5fY3VycmVudFBhZ2UgLyB0aGlzLl9kaXNwbGF5Q291bnQpIC0gMSkgKiB0aGlzLl9kaXNwbGF5Q291bnQpICsgMSk7XHJcbiAgICAgICAgY29uc3QgZW5kOiBudW1iZXIgPSBNYXRoLm1pbihzdGFydCArIHRoaXMuX2Rpc3BsYXlDb3VudCAtIDEsIHRoaXMuX2xhc3RQYWdlKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmIChzdGFydCA+IHRoaXMuX2Rpc3BsYXlDb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9pdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGljb25DbGFzczogJ2F4LWljLW1vcmUgYXgtcm90YXRlLTkwJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHN0YXJ0IC0gMVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcclxuICAgICAgICAgICAgdGhpcy5faXRlbXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBpLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZW5kIDwgdGhpcy5fbGFzdFBhZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5faXRlbXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpY29uQ2xhc3M6ICdheC1pYy1tb3JlIGF4LXJvdGF0ZS05MCcsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBlbmQgKyAxXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVPbkl0ZW1DbGljayhlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9wYXJlbnQuZ29Ub1BhZ2UoTnVtYmVyKGUuZGF0YSkpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -17,6 +17,7 @@ export class AXDataPagerPageSizesComponent extends AXDataPagerChild {
|
|
|
17
17
|
this._generateDisplayItems();
|
|
18
18
|
//
|
|
19
19
|
this._parent.onStateChanged.subscribe(c => {
|
|
20
|
+
debugger;
|
|
20
21
|
this._generateDisplayItems();
|
|
21
22
|
});
|
|
22
23
|
}
|
|
@@ -82,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
82
83
|
}] }]; }, propDecorators: { sizes: [{
|
|
83
84
|
type: Input
|
|
84
85
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci1wYWdlc2l6ZS1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRhLXBhZ2VyL3NyYy9kYXRhLXBhZ2VyLXBhZ2VzaXplLWRyb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFpQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBcUJqRixNQUFNLE9BQU8sNkJBQThCLFNBQVEsZ0JBQWdCO0lBRS9ELFlBQ0ksVUFBc0IsRUFDdEIsR0FBc0IsRUFFZCxPQUF5QjtRQUVqQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRmYsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFtQnJDLGdDQUFnQztRQUNoQyxXQUFNLEdBQVUsRUFBRSxDQUFDO0lBakJuQixDQUFDO0lBTUQsVUFBVTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLEVBQUU7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsUUFBUSxDQUFBO1lBQ1IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBT0QsSUFDVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxDQUFXO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNsQixRQUFRLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ3pCLElBQUksRUFBRTtnQkFDRixJQUFJLEVBQUUsQ0FBQzthQUNWO1NBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxDQUFlO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7MEhBckRRLDZCQUE2Qiw2RUFLMUIsZ0JBQWdCOzhHQUxuQiw2QkFBNkIsK0VBRjNCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLDZCQUE2QixFQUFFLENBQUMsaURBZjVFOzs7Ozs7Ozs7OztLQVdUOzJGQU1RLDZCQUE2QjtrQkFuQnpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7OztLQVdUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVywrQkFBK0IsRUFBRSxDQUFDO2lCQUN6Rjs7MEJBTVEsTUFBTTsyQkFBQyxnQkFBZ0I7NENBeUJqQixLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIElucHV0LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWENsaWNrRXZlbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBWERhdGFQYWdlckNoaWxkLCBBWFBhZ2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS1wYWdlci1iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWRhdGEtcGFnZXItcGFnZS1zaXplcycsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxheC1idXR0b24gW3RleHRdPVwiX3NpemVcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgY2xhc3M9XCJheC1zbVwiPlxyXG4gICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgKG9uSXRlbUNsaWNrKT1cIl9lbWl0T25JdGVtQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9pdGVtc1wiIFt0ZXh0XT1cIml0ZW0udGV4dFwiIFtkYXRhXT1cIml0ZW0uZGF0YVwiIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCIgPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cclxuICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cclxuICAgICAgICAgICAgPGF4LXN1ZmZpeD5cclxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pYy1jaGV2cm9uIGF4LXRyYW5zZm9ybSBheC0tcm90YXRlLTkwIGF4LW1kXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cclxuICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICA8IS0tIDxzcGFuID5pdGVtcyBwZXIgcGFnZTwvc3Bhbj4gLS0+XHJcbiAgICBgLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgb3V0cHV0czogW10sXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYRGF0YVBhZ2VyQ2hpbGQsIHVzZUV4aXN0aW5nOiBBWERhdGFQYWdlclBhZ2VTaXplc0NvbXBvbmVudCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEYXRhUGFnZXJQYWdlU2l6ZXNDb21wb25lbnQgZXh0ZW5kcyBBWERhdGFQYWdlckNoaWxkIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgQEluamVjdChBWFBhZ2VyQ29tcG9uZW50KVxyXG4gICAgICAgIHByaXZhdGUgX3BhcmVudDogQVhQYWdlckNvbXBvbmVudCxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIF9zaXplOiBudW1iZXI7XHJcblxyXG5cclxuICAgIG9uVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJhdGVEaXNwbGF5SXRlbXMoKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHRoaXMuX3BhcmVudC5vblN0YXRlQ2hhbmdlZC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICAgIGRlYnVnZ2VyXHJcbiAgICAgICAgICAgIHRoaXMuX2dlbmVyYXRlRGlzcGxheUl0ZW1zKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vVE9ETzogQVhCdXR0b25JdGVtcyB0eXBlIGVycm9yXHJcbiAgICBfaXRlbXM6IGFueVtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZXM6IG51bWJlcltdO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgc2l6ZXMoKTogbnVtYmVyW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplcyB8fCBbNSwgMTAsIDIwLCA1MCwgMTAwXTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgc2l6ZXModjogbnVtYmVyW10pIHtcclxuICAgICAgICB0aGlzLl9zaXplcyA9IHY7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJhdGVEaXNwbGF5SXRlbXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmF0ZURpc3BsYXlJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gdGhpcy5fcGFyZW50LnN0YXRlLnRha2U7XHJcbiAgICAgICAgdGhpcy5faXRlbXMgPSB0aGlzLnNpemVzLm1hcCgoczphbnkpID0+ICh7XHJcbiAgICAgICAgICAgIHRleHQ6IHMudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHMgPT0gdGhpcy5fc2l6ZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIF9lbWl0T25JdGVtQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHRoaXMuX3BhcmVudC5zaXplID0gTnVtYmVyKGUuZGF0YS5zaXplKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -30,10 +30,10 @@ export class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {
|
|
|
30
30
|
AXDataPagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXDataPagerPrevButtonsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXPagerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
31
|
AXDataPagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons", providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPrevButtonsComponent }], usesInheritance: true, ngImport: i0, template: `
|
|
32
32
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the last page" (onClick)="_emitOnFirstPageClick($event)">
|
|
33
|
-
<ax-icon [ngClass]="{'ax-ic-last-page':
|
|
33
|
+
<ax-icon [ngClass]="{'ax-ic-last-page': rtl,'ax-ic-first-page': !rtl}"></ax-icon>
|
|
34
34
|
</ax-button>
|
|
35
35
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the next page" (onClick)="_emitOnPrevPageClick($event)">
|
|
36
|
-
<ax-icon [ngClass]="{'ax-ic-chevron-left': !
|
|
36
|
+
<ax-icon [ngClass]="{'ax-ic-chevron-left': !rtl,'ax-ic-chevron-right': rtl}"></ax-icon>
|
|
37
37
|
</ax-button>
|
|
38
38
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXDataPagerPrevButtonsComponent, decorators: [{
|
|
@@ -42,10 +42,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
42
42
|
selector: 'ax-data-pager-prev-buttons',
|
|
43
43
|
template: `
|
|
44
44
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the last page" (onClick)="_emitOnFirstPageClick($event)">
|
|
45
|
-
<ax-icon [ngClass]="{'ax-ic-last-page':
|
|
45
|
+
<ax-icon [ngClass]="{'ax-ic-last-page': rtl,'ax-ic-first-page': !rtl}"></ax-icon>
|
|
46
46
|
</ax-button>
|
|
47
47
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the next page" (onClick)="_emitOnPrevPageClick($event)">
|
|
48
|
-
<ax-icon [ngClass]="{'ax-ic-chevron-left': !
|
|
48
|
+
<ax-icon [ngClass]="{'ax-ic-chevron-left': !rtl,'ax-ic-chevron-right': rtl}"></ax-icon>
|
|
49
49
|
</ax-button>
|
|
50
50
|
`,
|
|
51
51
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
|
|
|
56
56
|
type: Inject,
|
|
57
57
|
args: [AXPagerComponent]
|
|
58
58
|
}] }]; } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci1wcmV2LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvZGF0YS1wYWdlci9zcmMvZGF0YS1wYWdlci1wcmV2LWJ1dHRvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQWlDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBZ0JqRixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsZ0JBQWdCO0lBR2pFLFlBQ1ksVUFBc0IsRUFDOUIsR0FBc0IsRUFFZCxPQUF5QjtRQUVqQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTGYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUd0QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUdyQyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFHRCxxQkFBcUIsQ0FBQyxDQUFlO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQWU7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDOzs0SEE5QlEsK0JBQStCLDZFQU01QixnQkFBZ0I7Z0hBTm5CLCtCQUErQixxREFGN0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsQ0FBQyxpREFWOUU7Ozs7Ozs7S0FPVDsyRkFLUSwrQkFBK0I7a0JBZDNDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7Ozs7O0tBT1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLENBQUM7aUJBQzNGOzswQkFPUSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcclxuaW1wb3J0IHsgQVhEYXRhUGFnZXJDaGlsZCwgQVhQYWdlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtcGFnZXItYmFzZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1kYXRhLXBhZ2VyLXByZXYtYnV0dG9ucycsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxheC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgIGxvb2s9XCJibGFua1wiIGNvbG9yPVwibGlnaHRcIiBjbGFzcz1cImF4LXNtXCIgICB0aXRsZT1cIkdvIHRvIHRoZSBsYXN0IHBhZ2VcIiAob25DbGljayk9XCJfZW1pdE9uRmlyc3RQYWdlQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgIDxheC1pY29uIFtuZ0NsYXNzXT1cInsnYXgtaWMtbGFzdC1wYWdlJzogcnRsLCdheC1pYy1maXJzdC1wYWdlJzogIXJ0bH1cIj48L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPGF4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAgbG9vaz1cImJsYW5rXCIgY29sb3I9XCJsaWdodFwiIGNsYXNzPVwiYXgtc21cIiAgdGl0bGU9XCJHbyB0byB0aGUgbmV4dCBwYWdlXCIgKG9uQ2xpY2spPVwiX2VtaXRPblByZXZQYWdlQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBbbmdDbGFzc109XCJ7J2F4LWljLWNoZXZyb24tbGVmdCc6ICFydGwsJ2F4LWljLWNoZXZyb24tcmlnaHQnOiBydGx9XCI+PC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhUGFnZXJDaGlsZCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVBhZ2VyUHJldkJ1dHRvbnNDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0YVBhZ2VyUHJldkJ1dHRvbnNDb21wb25lbnQgZXh0ZW5kcyBBWERhdGFQYWdlckNoaWxkIHtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgQEluamVjdChBWFBhZ2VyQ29tcG9uZW50KVxyXG4gICAgICAgIHByaXZhdGUgX3BhcmVudDogQVhQYWdlckNvbXBvbmVudCxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9jaGVja0Rpc2FibGVkKCk7XHJcbiAgICAgICAgdGhpcy5fcGFyZW50Lm9uU3RhdGVDaGFuZ2VkLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tEaXNhYmxlZCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoZWNrRGlzYWJsZWQoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICB0aGlzLl9wYXJlbnQuc3RhdGUucGFnZSA9PSAxO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfZW1pdE9uRmlyc3RQYWdlQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fcGFyZW50LmdvRmlyc3RQYWdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2VtaXRPblByZXZQYWdlQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fcGFyZW50LmdvUHJldlBhZ2UoKTtcclxuICAgIH1cclxuXHJcbn0iXX0=
|