@ng-nest/ui 15.0.13 → 15.0.14
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/anchor/anchor-inner.component.d.ts +6 -0
- package/anchor/anchor.component.d.ts +5 -2
- package/anchor/anchor.module.d.ts +5 -4
- package/anchor/anchor.property.d.ts +13 -0
- package/anchor/public-api.d.ts +1 -0
- package/core/config/config.d.ts +2 -0
- package/core/functions/date.d.ts +3 -0
- package/date-picker/date-picker-portal.component.d.ts +7 -2
- package/date-picker/date-picker.property.d.ts +87 -6
- package/date-picker/date-range-portal.component.d.ts +6 -2
- package/date-picker/picker-date.component.d.ts +6 -0
- package/date-picker/picker-month.component.d.ts +1 -0
- package/date-picker/picker-year.component.d.ts +1 -0
- package/esm2020/anchor/anchor-inner.component.mjs +17 -0
- package/esm2020/anchor/anchor.component.mjs +25 -11
- package/esm2020/anchor/anchor.module.mjs +6 -5
- package/esm2020/anchor/anchor.property.mjs +18 -1
- package/esm2020/anchor/public-api.mjs +2 -1
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/core/functions/date.mjs +73 -1
- package/esm2020/date-picker/date-picker-portal.component.mjs +34 -6
- package/esm2020/date-picker/date-picker.component.mjs +14 -4
- package/esm2020/date-picker/date-picker.property.mjs +20 -6
- package/esm2020/date-picker/date-range-portal.component.mjs +33 -18
- package/esm2020/date-picker/date-range.component.mjs +24 -7
- package/esm2020/date-picker/picker-date.component.mjs +54 -6
- package/esm2020/date-picker/picker-month.component.mjs +13 -4
- package/esm2020/date-picker/picker-year.component.mjs +15 -4
- package/esm2020/i18n/i18n.property.mjs +1 -1
- package/esm2020/i18n/languages/en_GB.mjs +6 -2
- package/esm2020/i18n/languages/en_US.mjs +6 -2
- package/esm2020/i18n/languages/zh_CN.mjs +6 -2
- package/esm2020/i18n/languages/zh_TW.mjs +6 -2
- package/esm2020/list/list-option.component.mjs +2 -2
- package/esm2020/list/list.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +3 -3
- package/esm2020/slider/slider.property.mjs +8 -2
- package/esm2020/time-picker/time-picker-frame.component.mjs +48 -14
- package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2020/time-picker/time-picker.component.mjs +2 -1
- package/esm2020/time-picker/time-picker.property.mjs +4 -2
- package/esm2020/tree/tree-node.component.mjs +98 -15
- package/esm2020/tree/tree.component.mjs +126 -29
- package/esm2020/tree/tree.module.mjs +31 -4
- package/esm2020/tree/tree.property.mjs +37 -3
- package/esm2020/tree/tree.service.mjs +77 -0
- package/esm2020/tree-file/tree-file.component.mjs +14 -3
- package/fesm2015/ng-nest-ui-anchor.mjs +60 -15
- package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs +74 -1
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +193 -42
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +20 -4
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +4 -4
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider.mjs +9 -3
- package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +1 -0
- package/fesm2015/ng-nest-ui-time-picker.mjs +53 -16
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs +1 -0
- package/fesm2015/ng-nest-ui-tree-file.mjs +13 -3
- package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree.mjs +359 -45
- package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-anchor.mjs +60 -15
- package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs +74 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +193 -42
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +20 -4
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +4 -4
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider.mjs +9 -3
- package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +1 -0
- package/fesm2020/ng-nest-ui-time-picker.mjs +53 -16
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs +1 -0
- package/fesm2020/ng-nest-ui-tree-file.mjs +13 -3
- package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree.mjs +356 -45
- package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +3 -0
- package/i18n/languages/en_GB.d.ts +4 -0
- package/i18n/languages/en_US.d.ts +4 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +4 -0
- package/package.json +1 -1
- package/slider/slider.property.d.ts +6 -1
- package/time-picker/time-picker-frame.component.d.ts +6 -2
- package/time-picker/time-picker-portal.component.d.ts +2 -1
- package/time-picker/time-picker.property.d.ts +32 -1
- package/tree/tree-node.component.d.ts +35 -4
- package/tree/tree.component.d.ts +24 -3
- package/tree/tree.module.d.ts +8 -7
- package/tree/tree.property.d.ts +63 -1
- package/tree/tree.service.d.ts +10 -0
- package/tree-file/tree-file.component.d.ts +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { XChunk, XIsChange, XIsNull } from '@ng-nest/ui/core';
|
|
2
|
+
import { XChunk, XIsChange, XIsNull, XIsFunction } from '@ng-nest/ui/core';
|
|
3
3
|
import { XPickerMonthProperty } from './date-picker.property';
|
|
4
4
|
import { DatePipe, LowerCasePipe } from '@angular/common';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
@@ -36,6 +36,14 @@ export class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
36
36
|
}
|
|
37
37
|
return '';
|
|
38
38
|
}
|
|
39
|
+
isDisabled(date) {
|
|
40
|
+
if (this.disabledDate && XIsFunction(this.disabledDate)) {
|
|
41
|
+
return this.disabledDate(date);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
39
47
|
ngOnInit() {
|
|
40
48
|
this.i18n.localeChange
|
|
41
49
|
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
@@ -161,6 +169,7 @@ export class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
161
169
|
const fnow = this.datePipe.transform(this.now, 'yyyyMM');
|
|
162
170
|
cell.isLastOrNext = fmonthy !== fdisplayy;
|
|
163
171
|
cell.isNow = fmonth === fnow;
|
|
172
|
+
cell.isDisabled = this.isDisabled(cell.date);
|
|
164
173
|
if (this.rangePicker) {
|
|
165
174
|
if (!this.rangeValue)
|
|
166
175
|
return cell;
|
|
@@ -217,9 +226,9 @@ export class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
217
226
|
}
|
|
218
227
|
}
|
|
219
228
|
/** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
220
|
-
/** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"monthClick(month)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{
|
|
229
|
+
/** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
221
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthComponent, decorators: [{
|
|
222
231
|
type: Component,
|
|
223
|
-
args: [{ selector: 'x-picker-month', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"monthClick(month)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{
|
|
232
|
+
args: [{ selector: 'x-picker-month', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"] }]
|
|
224
233
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLW1vbnRoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL3BpY2tlci1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9waWNrZXItbW9udGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQThCLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVVoRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBc0I3RCxZQUNTLFFBQW1CLEVBQ25CLFFBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLEdBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLElBQWtCO1FBRXpCLEtBQUssRUFBRSxDQUFDO1FBUEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QixTQUFJLEdBQUosSUFBSSxDQUFjO1FBM0IzQixRQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztR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QUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWMsRUFBRSxJQUErQjtRQUMxRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O3FJQWhPVSxxQkFBcUI7eUhBQXJCLHFCQUFxQix5Q0FGckIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLHNFQ3RCdEMsZ3BHQW1EQTsyRkQzQmEscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ2h1bmssIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UsIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWERhdGVDZWxsLCBYRGF0ZVBpY2tlclR5cGUsIFhQaWNrZXJNb250aFByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERhdGVQaXBlLCBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWEkxOG5EYXRlUGlja2VyLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC1waWNrZXItbW9udGgnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXItbW9udGguY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BpY2tlci1tb250aC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYUGlja2VyTW9udGhDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyTW9udGhQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgbm93ID0gbmV3IERhdGUoKTtcclxuICBkYXRlczogWERhdGVDZWxsW10gPSBbXTtcclxuICBjaHVua0RhdGVzOiBYRGF0ZUNlbGxbXVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgZ2V0IHJhbmdlU3RhcnQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgcmFuZ2VFbmQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kYXRlUGlja2VyIGFzIFhJMThuRGF0ZVBpY2tlciksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGlzcGxheSB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShkaXNwbGF5KSAmJiB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLnNldE1vbnRocyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNTdGFydE1vbnRoKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVswXSwgJ3l5eXlNTScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eU1NJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpc0VuZE1vbnRoKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVsxXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVsxXSwgJ3l5eXlNTScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eU1NJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBzZXREYXRlc1N0YXRlKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF5U3RhdGUoaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uVGRNb3VzZWVudGVyKGNlbGwsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWVudGVyKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBjZWxsLmRhdGUhLmdldFRpbWUoKTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbVRpbWUgPSBpdGVtLmRhdGUhLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLmNsZWFyU3RhdGUoaXRlbSk7XHJcbiAgICAgICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiBYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gdGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0ID0gdGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXIgPVxyXG4gICAgICAgICAgICAodGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgc3RhcnQhKSB8fCAodGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gc3RhcnQhO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoWElzTnVsbChzdGFydCkgJiYgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmRMZWZ0ID0gdGltZSA8IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gdGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9ICh0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgZW5kISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IGVuZCE7XHJcbiAgICAgICAgfSBlbHNlIGlmICghWElzTnVsbChzdGFydCkgJiYgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gdGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gZW5kISAmJiBpdGVtVGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPD0gdGltZSk7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA8IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IGVuZCE7XHJcbiAgICAgICAgICBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgICAgICAgaXRlbS5pc0luUmFuZ2VIb3ZlciA9IGl0ZW1UaW1lID49IHRpbWUhICYmIGl0ZW1UaW1lIDw9IGVuZCE7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChpc0VtaXQpIHtcclxuICAgICAgICB0aGlzLnJhbmdlVGRNb3VzZWVudGVyLmVtaXQoY2VsbCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRkTW91c2VsZWF2ZShjZWxsOiBYRGF0ZUNlbGwsIGlzRW1pdCA9IHRydWUpIHtcclxuICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMucmFuZ2VWYWx1ZTtcclxuICAgIGlmICghWElzTnVsbChzdGFydCkgfHwgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICAgIGlmIChpc0VtaXQpIHRoaXMucmFuZ2VUZE1vdXNlbGVhdmUuZW1pdChjZWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU3RhdGUoLi4uY2VsbHM6IFhEYXRlQ2VsbFtdKSB7XHJcbiAgICBmb3IgKGxldCBjZWxsIG9mIGNlbGxzKSB7XHJcbiAgICAgIGNlbGwuaXNJblJhbmdlSG92ZXIgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXIgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJTdGFydCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE1vbnRocyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGxldCBkYXRlczogWERhdGVDZWxsW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xyXG4gICAgICBjb25zdCBjZWxsID0geyBkYXRlOiBuZXcgRGF0ZSh5ZWFyLCBpLCAxKSwgaXNGaXJzdERheTogaSA9PT0gMCwgaXNMYXN0RGF5OiBpID09PSAxMSB9O1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgdGhpcy5zZXREYXlTdGF0ZShjZWxsKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XHJcbiAgICB0aGlzLmNodW5rRGF0ZXMgPSBYQ2h1bmsoZGF0ZXMsIDQpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KFtkYXRlc1swXS5kYXRlISwgZGF0ZXNbZGF0ZXMubGVuZ3RoIC0gMV0uZGF0ZSFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREYXlTdGF0ZShjZWxsOiBYRGF0ZUNlbGwpOiBYRGF0ZUNlbGwge1xyXG4gICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZT8uZ2V0VGltZSgpITtcclxuICAgIGNvbnN0IGZtb250aCA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXlNTScpO1xyXG4gICAgY29uc3QgZm1vbnRoeSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZkaXNwbGF5eSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMuZGlzcGxheSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZub3cgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXlNTScpO1xyXG4gICAgY2VsbC5pc0xhc3RPck5leHQgPSBmbW9udGh5ICE9PSBmZGlzcGxheXk7XHJcbiAgICBjZWxsLmlzTm93ID0gZm1vbnRoID09PSBmbm93O1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgaWYgKCF0aGlzLnJhbmdlVmFsdWUpIHJldHVybiBjZWxsO1xyXG4gICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICAgIGNlbGwuaXNJblJhbmdlID0gISFzdGFydCAmJiAhIWVuZCAmJiB0aW1lID49IHN0YXJ0ISAmJiB0aW1lIDw9IGVuZCE7XHJcbiAgICAgIGNlbGwuaXNSYW5nZVN0YXJ0UmlnaHQgPSAhIXN0YXJ0ICYmICEhZW5kICYmIGZtb250aCA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQhLCAneXl5eU1NJyk7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUVuZExlZnQgPSAhIXN0YXJ0ICYmICEhZW5kICYmIGZtb250aCA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kISwgJ3l5eXlNTScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNlbGw7XHJcbiAgfVxyXG5cclxuICBtb250aENsaWNrKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IGNlbGwuZGF0ZTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChjZWxsLmRhdGUpO1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICB0aGlzLnNldERheVN0YXRlKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmFuZ2VEYXRlQ2xpY2suZW1pdChjZWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxlTW9udGgoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuICh0aGlzLmxvY2FsZSBhcyBhbnkpW3RoaXMubG93ZXJDYXNlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0xMTEwnKSBhcyBzdHJpbmcpXTtcclxuICB9XHJcblxyXG4gIHJhbmdlRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVN0YXJ0ICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA8IHRoaXMucmFuZ2VTdGFydCE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlRW5kICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA+IHRoaXMucmFuZ2VFbmQhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXRNb250aHModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHlwZU9uQ2hhbmdlKHR5cGU6IFhEYXRlUGlja2VyVHlwZSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMudHlwZUNoYW5nZS5lbWl0KHR5cGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU1vbnRoKF9pbmRleDogbnVtYmVyLCBpdGVtOiBzdHJpbmcgfCBEYXRlIHwgWERhdGVDZWxsKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtcGlja2VyLW1vbnRoXCIgW2NsYXNzLngtZGF0ZS1waWNrZXItbW9udGh0ZW1wXT1cIm1vbnRoVGVtcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci1tb250aC1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgIDx4LWxpbmsgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbGFzdFllYXJCdG5cIiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCI+PC94LWxpbms+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1waWNrZXItbW9udGgteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1saW5rIChjbGljayk9XCJ0eXBlT25DaGFuZ2UoJ3llYXInKVwiPnt7IGRpc3BsYXkgfCBkYXRlIDogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtbGluaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFuZXh0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtcmlnaHRcIiAoY2xpY2spPVwibmV4dFllYXIoMSlcIj48L3gtbGluaz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItbW9udGgtYm9keVwiPlxyXG4gICAgPHRhYmxlIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxwYWRkaW5nPVwiMFwiPlxyXG4gICAgICA8dHIgKm5nRm9yPVwibGV0IG1vbnRocyBvZiBjaHVua0RhdGVzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW9udGggb2YgbW9udGhzOyB0cmFja0J5OiB0cmFja0J5TW9udGhcIj5cclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBjbGFzcz1cIngtcGlja2VyLWRhdGUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1vci1uZXh0XT1cIm1vbnRoLmlzTGFzdE9yTmV4dFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbm93XT1cIm1vbnRoLmlzTm93XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1maXJzdC1kYXldPVwibW9udGguaXNGaXJzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1kYXldPVwibW9udGguaXNMYXN0RGF5XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydF09XCJyYW5nZVBpY2tlciAmJiBpc1N0YXJ0TW9udGgobW9udGguZGF0ZSEpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgaXNFbmRNb250aChtb250aC5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZVN0YXJ0TGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZVN0YXJ0UmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIG1vbnRoLmlzUmFuZ2VFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUVuZFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlcl09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc1JhbmdlSG92ZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUhvdmVyU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc1JhbmdlSG92ZXJFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUhvdmVyRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIG1vbnRoLmlzUmFuZ2VIb3ZlclN0YXJ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUhvdmVyRW5kXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1pbi1yYW5nZV09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc0luUmFuZ2VcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIG1vbnRoLmlzSW5SYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1hY3RpdmVdPVwiIXJhbmdlUGlja2VyICYmIChtb250aC5kYXRlIHwgZGF0ZSA6ICd5eXl5TU0nKSA9PT0gKG1vZGVsIHwgZGF0ZSA6ICd5eXl5TU0nKVwiXHJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgbW9udGguZGF0ZSB8IGRhdGUgOiAneXl5eS1NTScgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibW9udGhDbGljayhtb250aClcIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJyYW5nZVBpY2tlciAmJiBvblRkTW91c2VlbnRlcihtb250aClcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyYW5nZVBpY2tlciAmJiBvblRkTW91c2VsZWF2ZShtb250aClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1vbnRoVGVtcFwiIGNsYXNzPVwieC1kYXRlLXRleHRcIj5cclxuICAgICAgICAgICAgICB7eyBnZXRMb2NhbGVNb250aChtb250aC5kYXRlISkgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb250aFRlbXBcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9udGhUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiBtb250aC5kYXRlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLW1vbnRoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL3BpY2tlci1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9waWNrZXItbW9udGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUE4QixvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFVaEQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQThCN0QsWUFDUyxRQUFtQixFQUNuQixRQUFrQixFQUNsQixhQUE0QixFQUM1QixHQUFzQixFQUN0QixhQUE2QixFQUM3QixJQUFrQjtRQUV6QixLQUFLLEVBQUUsQ0FBQztRQVBELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsU0FBSSxHQUFKLElBQUksQ0FBYztRQW5DM0IsUUFBRyxHQUFHLElBQUksSUFBSSxF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LE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXFCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjLEVBQUUsSUFBK0I7UUFDMUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztxSUF6T1UscUJBQXFCO3lIQUFyQixxQkFBcUIseUNBRnJCLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxzRUN0QnRDLDJ3R0FvREE7MkZENUJhLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBR1gsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENodW5rLCBYSXNDaGFuZ2UsIFhDb25maWdTZXJ2aWNlLCBYSXNOdWxsLCBYSXNGdW5jdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZUNlbGwsIFhEYXRlUGlja2VyVHlwZSwgWFBpY2tlck1vbnRoUHJvcGVydHkgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSTE4bkRhdGVQaWNrZXIsIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd4LXBpY2tlci1tb250aCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2tlci1tb250aC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLW1vbnRoLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJNb250aENvbXBvbmVudCBleHRlbmRzIFhQaWNrZXJNb250aFByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gIGNodW5rRGF0ZXM6IFhEYXRlQ2VsbFtdW10gPSBbXTtcclxuICBsb2NhbGU6IFhJMThuRGF0ZVBpY2tlciA9IHt9O1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgcmFuZ2VTdGFydCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldCByYW5nZUVuZCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGlzRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWREYXRlICYmIFhJc0Z1bmN0aW9uKHRoaXMuZGlzYWJsZWREYXRlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGUoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kYXRlUGlja2VyIGFzIFhJMThuRGF0ZVBpY2tlciksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGlzcGxheSB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShkaXNwbGF5KSAmJiB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLnNldE1vbnRocyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNTdGFydE1vbnRoKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVswXSwgJ3l5eXlNTScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eU1NJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpc0VuZE1vbnRoKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVsxXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVsxXSwgJ3l5eXlNTScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eU1NJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBzZXREYXRlc1N0YXRlKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF5U3RhdGUoaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uVGRNb3VzZWVudGVyKGNlbGwsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWVudGVyKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBjZWxsLmRhdGUhLmdldFRpbWUoKTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbVRpbWUgPSBpdGVtLmRhdGUhLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLmNsZWFyU3RhdGUoaXRlbSk7XHJcbiAgICAgICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiBYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gdGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0ID0gdGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXIgPVxyXG4gICAgICAgICAgICAodGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgc3RhcnQhKSB8fCAodGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gc3RhcnQhO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoWElzTnVsbChzdGFydCkgJiYgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmRMZWZ0ID0gdGltZSA8IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gdGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9ICh0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgZW5kISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IGVuZCE7XHJcbiAgICAgICAgfSBlbHNlIGlmICghWElzTnVsbChzdGFydCkgJiYgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gdGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gZW5kISAmJiBpdGVtVGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPD0gdGltZSk7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA8IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IGVuZCE7XHJcbiAgICAgICAgICBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgICAgICAgaXRlbS5pc0luUmFuZ2VIb3ZlciA9IGl0ZW1UaW1lID49IHRpbWUhICYmIGl0ZW1UaW1lIDw9IGVuZCE7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChpc0VtaXQpIHtcclxuICAgICAgICB0aGlzLnJhbmdlVGRNb3VzZWVudGVyLmVtaXQoY2VsbCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRkTW91c2VsZWF2ZShjZWxsOiBYRGF0ZUNlbGwsIGlzRW1pdCA9IHRydWUpIHtcclxuICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMucmFuZ2VWYWx1ZTtcclxuICAgIGlmICghWElzTnVsbChzdGFydCkgfHwgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICAgIGlmIChpc0VtaXQpIHRoaXMucmFuZ2VUZE1vdXNlbGVhdmUuZW1pdChjZWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU3RhdGUoLi4uY2VsbHM6IFhEYXRlQ2VsbFtdKSB7XHJcbiAgICBmb3IgKGxldCBjZWxsIG9mIGNlbGxzKSB7XHJcbiAgICAgIGNlbGwuaXNJblJhbmdlSG92ZXIgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXIgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJTdGFydCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE1vbnRocyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGxldCBkYXRlczogWERhdGVDZWxsW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xyXG4gICAgICBjb25zdCBjZWxsID0geyBkYXRlOiBuZXcgRGF0ZSh5ZWFyLCBpLCAxKSwgaXNGaXJzdERheTogaSA9PT0gMCwgaXNMYXN0RGF5OiBpID09PSAxMSB9O1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgdGhpcy5zZXREYXlTdGF0ZShjZWxsKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XHJcbiAgICB0aGlzLmNodW5rRGF0ZXMgPSBYQ2h1bmsoZGF0ZXMsIDQpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KFtkYXRlc1swXS5kYXRlISwgZGF0ZXNbZGF0ZXMubGVuZ3RoIC0gMV0uZGF0ZSFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREYXlTdGF0ZShjZWxsOiBYRGF0ZUNlbGwpOiBYRGF0ZUNlbGwge1xyXG4gICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZT8uZ2V0VGltZSgpITtcclxuICAgIGNvbnN0IGZtb250aCA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXlNTScpO1xyXG4gICAgY29uc3QgZm1vbnRoeSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZkaXNwbGF5eSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMuZGlzcGxheSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZub3cgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXlNTScpO1xyXG4gICAgY2VsbC5pc0xhc3RPck5leHQgPSBmbW9udGh5ICE9PSBmZGlzcGxheXk7XHJcbiAgICBjZWxsLmlzTm93ID0gZm1vbnRoID09PSBmbm93O1xyXG4gICAgY2VsbC5pc0Rpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKGNlbGwuZGF0ZSEpO1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgaWYgKCF0aGlzLnJhbmdlVmFsdWUpIHJldHVybiBjZWxsO1xyXG4gICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICAgIGNlbGwuaXNJblJhbmdlID0gISFzdGFydCAmJiAhIWVuZCAmJiB0aW1lID49IHN0YXJ0ISAmJiB0aW1lIDw9IGVuZCE7XHJcbiAgICAgIGNlbGwuaXNSYW5nZVN0YXJ0UmlnaHQgPSAhIXN0YXJ0ICYmICEhZW5kICYmIGZtb250aCA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQhLCAneXl5eU1NJyk7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUVuZExlZnQgPSAhIXN0YXJ0ICYmICEhZW5kICYmIGZtb250aCA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kISwgJ3l5eXlNTScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNlbGw7XHJcbiAgfVxyXG5cclxuICBtb250aENsaWNrKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IGNlbGwuZGF0ZTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChjZWxsLmRhdGUpO1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICB0aGlzLnNldERheVN0YXRlKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmFuZ2VEYXRlQ2xpY2suZW1pdChjZWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxlTW9udGgoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuICh0aGlzLmxvY2FsZSBhcyBhbnkpW3RoaXMubG93ZXJDYXNlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0xMTEwnKSBhcyBzdHJpbmcpXTtcclxuICB9XHJcblxyXG4gIHJhbmdlRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVN0YXJ0ICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA8IHRoaXMucmFuZ2VTdGFydCE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlRW5kICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA+IHRoaXMucmFuZ2VFbmQhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXRNb250aHModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHlwZU9uQ2hhbmdlKHR5cGU6IFhEYXRlUGlja2VyVHlwZSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMudHlwZUNoYW5nZS5lbWl0KHR5cGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU1vbnRoKF9pbmRleDogbnVtYmVyLCBpdGVtOiBzdHJpbmcgfCBEYXRlIHwgWERhdGVDZWxsKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtcGlja2VyLW1vbnRoXCIgW2NsYXNzLngtZGF0ZS1waWNrZXItbW9udGh0ZW1wXT1cIm1vbnRoVGVtcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci1tb250aC1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgIDx4LWxpbmsgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbGFzdFllYXJCdG5cIiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCI+PC94LWxpbms+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1waWNrZXItbW9udGgteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1saW5rIChjbGljayk9XCJ0eXBlT25DaGFuZ2UoJ3llYXInKVwiPnt7IGRpc3BsYXkgfCBkYXRlIDogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtbGluaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFuZXh0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtcmlnaHRcIiAoY2xpY2spPVwibmV4dFllYXIoMSlcIj48L3gtbGluaz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItbW9udGgtYm9keVwiPlxyXG4gICAgPHRhYmxlIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxwYWRkaW5nPVwiMFwiPlxyXG4gICAgICA8dHIgKm5nRm9yPVwibGV0IG1vbnRocyBvZiBjaHVua0RhdGVzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW9udGggb2YgbW9udGhzOyB0cmFja0J5OiB0cmFja0J5TW9udGhcIj5cclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBjbGFzcz1cIngtcGlja2VyLWRhdGUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtZGlzYWJsZWRdPVwibW9udGguaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1vci1uZXh0XT1cIm1vbnRoLmlzTGFzdE9yTmV4dFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbm93XT1cIm1vbnRoLmlzTm93XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1maXJzdC1kYXldPVwibW9udGguaXNGaXJzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1kYXldPVwibW9udGguaXNMYXN0RGF5XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydF09XCJyYW5nZVBpY2tlciAmJiBpc1N0YXJ0TW9udGgobW9udGguZGF0ZSEpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgaXNFbmRNb250aChtb250aC5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZVN0YXJ0TGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZVN0YXJ0UmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIG1vbnRoLmlzUmFuZ2VFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUVuZFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlcl09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc1JhbmdlSG92ZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUhvdmVyU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc1JhbmdlSG92ZXJFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUhvdmVyRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIG1vbnRoLmlzUmFuZ2VIb3ZlclN0YXJ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgbW9udGguaXNSYW5nZUhvdmVyRW5kXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1pbi1yYW5nZV09XCJyYW5nZVBpY2tlciAmJiBtb250aC5pc0luUmFuZ2VcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIG1vbnRoLmlzSW5SYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1hY3RpdmVdPVwiIXJhbmdlUGlja2VyICYmIChtb250aC5kYXRlIHwgZGF0ZSA6ICd5eXl5TU0nKSA9PT0gKG1vZGVsIHwgZGF0ZSA6ICd5eXl5TU0nKVwiXHJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgbW9udGguZGF0ZSB8IGRhdGUgOiAneXl5eS1NTScgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiIW1vbnRoLmlzRGlzYWJsZWQgJiYgbW9udGhDbGljayhtb250aClcIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCIhbW9udGguaXNEaXNhYmxlZCAmJiByYW5nZVBpY2tlciAmJiBvblRkTW91c2VlbnRlcihtb250aClcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCIhbW9udGguaXNEaXNhYmxlZCAmJiByYW5nZVBpY2tlciAmJiBvblRkTW91c2VsZWF2ZShtb250aClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1vbnRoVGVtcFwiIGNsYXNzPVwieC1kYXRlLXRleHRcIj5cclxuICAgICAgICAgICAgICB7eyBnZXRMb2NhbGVNb250aChtb250aC5kYXRlISkgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb250aFRlbXBcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9udGhUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiBtb250aC5kYXRlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { XChunk, XIsChange, XIsNull } from '@ng-nest/ui/core';
|
|
2
|
+
import { XChunk, XIsChange, XIsNull, XIsFunction } from '@ng-nest/ui/core';
|
|
3
3
|
import { XPickerYearProperty } from './date-picker.property';
|
|
4
4
|
import { DatePipe } from '@angular/common';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -29,6 +29,14 @@ export class XPickerYearComponent extends XPickerYearProperty {
|
|
|
29
29
|
}
|
|
30
30
|
return '';
|
|
31
31
|
}
|
|
32
|
+
isDisabled(date) {
|
|
33
|
+
if (this.disabledDate && XIsFunction(this.disabledDate)) {
|
|
34
|
+
return this.disabledDate(date);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
32
40
|
ngOnChanges(simples) {
|
|
33
41
|
const { display } = simples;
|
|
34
42
|
XIsChange(display) && this.init();
|
|
@@ -147,6 +155,9 @@ export class XPickerYearComponent extends XPickerYearProperty {
|
|
|
147
155
|
setDayState(cell) {
|
|
148
156
|
const time = cell.date?.getTime();
|
|
149
157
|
const fyear = this.datePipe.transform(cell.date, 'yyyy');
|
|
158
|
+
const fnow = this.datePipe.transform(this.now, 'yyyy');
|
|
159
|
+
cell.isNow = fyear === fnow;
|
|
160
|
+
cell.isDisabled = this.isDisabled(cell.date);
|
|
150
161
|
if (this.rangePicker) {
|
|
151
162
|
if (!this.rangeValue)
|
|
152
163
|
return cell;
|
|
@@ -200,9 +211,9 @@ export class XPickerYearComponent extends XPickerYearProperty {
|
|
|
200
211
|
}
|
|
201
212
|
}
|
|
202
213
|
/** @nocollapse */ XPickerYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
203
|
-
/** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"yearClick(year)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{
|
|
214
|
+
/** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
204
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearComponent, decorators: [{
|
|
205
216
|
type: Component,
|
|
206
|
-
args: [{ selector: 'x-picker-year', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"yearClick(year)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{
|
|
217
|
+
args: [{ selector: 'x-picker-year', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"] }]
|
|
207
218
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }]; } });
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXllYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBVTNDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFxQjNELFlBQW1CLFFBQW1CLEVBQVMsR0FBc0IsRUFBUyxRQUFrQixFQUFTLGFBQTZCO1FBQ3BJLEtBQUssRUFBRSxDQUFDO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQXBCdEksUUFBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFnQixFQUFFLENBQUM7UUFDeEIsZUFBVSxHQUFrQixFQUFFLENBQUM7SUFvQi9CLENBQUM7SUFoQkQsSUFBSSxVQUFVO1FBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFD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QUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLElBQStCO1FBQ3pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7b0lBdk1VLG9CQUFvQjt3SEFBcEIsb0JBQW9CLHdDQUZwQixDQUFDLFFBQVEsQ0FBQyxzRUNuQnZCLHdoR0FvREE7MkZEL0JhLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENodW5rLCBYSXNDaGFuZ2UsIFhDb25maWdTZXJ2aWNlLCBYSXNOdWxsIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlQ2VsbCwgWFBpY2tlclllYXJQcm9wZXJ0eSB9IGZyb20gJy4vZGF0ZS1waWNrZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3gtcGlja2VyLXllYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXIteWVhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLXllYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlclllYXJDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyWWVhclByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gIGNodW5rRGF0ZXM6IFhEYXRlQ2VsbFtdW10gPSBbXTtcclxuICBzdGFydCE6IG51bWJlcjtcclxuICBlbmQhOiBudW1iZXI7XHJcblxyXG4gIGdldCByYW5nZVN0YXJ0KCkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZSAmJiB0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlWzBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJhbmdlRW5kKCkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZSAmJiB0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID4gMSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlWzFdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRpc3BsYXkgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzcGxheSkgJiYgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgdGhpcy5zZXRZZWFycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNTdGFydFllYXIoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKCF0aGlzLnJhbmdlVHlwZSB8fCAhdGhpcy5yYW5nZVZhbHVlKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc051bGwodGhpcy5yYW5nZVZhbHVlWzBdKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yYW5nZVZhbHVlWzBdLCAneXl5eScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgaXNFbmRZZWFyKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVsxXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVsxXSwgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHNldERhdGVzU3RhdGUoY2VsbDogWERhdGVDZWxsKSB7XHJcbiAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgdGhpcy5zZXREYXlTdGF0ZShpdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMub25UZE1vdXNlZW50ZXIoY2VsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgb25UZE1vdXNlZW50ZXIoY2VsbDogWERhdGVDZWxsLCBpc0VtaXQgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICBpZiAoIVhJc051bGwoc3RhcnQpIHx8ICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICBjb25zdCBpdGVtVGltZSA9IGl0ZW0uZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJTdGF0ZShpdGVtKTtcclxuICAgICAgICBpZiAoIVhJc051bGwoc3RhcnQpICYmIFhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSB0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPiBzdGFydCE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSB0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID0gKHRpbWUgPCBlbmQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBlbmQhKSB8fCAodGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICB9IGVsc2UgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPT09IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID1cclxuICAgICAgICAgICAgKHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPj0gdGltZSAmJiBpdGVtVGltZSA8IHN0YXJ0ISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICAgIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gdGltZSEgJiYgaXRlbVRpbWUgPD0gZW5kITtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlSG92ZXIgPSBpdGVtVGltZSA+PSBzdGFydCEgJiYgaXRlbVRpbWUgPD0gdGltZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzRW1pdCkge1xyXG4gICAgICAgIHRoaXMucmFuZ2VUZE1vdXNlZW50ZXIuZW1pdChjZWxsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWxlYXZlKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgICAgaWYgKGlzRW1pdCkgdGhpcy5yYW5nZVRkTW91c2VsZWF2ZS5lbWl0KGNlbGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJTdGF0ZSguLi5jZWxsczogWERhdGVDZWxsW10pIHtcclxuICAgIGZvciAobGV0IGNlbGwgb2YgY2VsbHMpIHtcclxuICAgICAgY2VsbC5pc0luUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRSaWdodCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRSaWdodCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0WWVhcnMoZGF0ZTogRGF0ZSkge1xyXG4gICAgbGV0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICB0aGlzLnN0YXJ0ID0gTWF0aC5mbG9vcih5ZWFyIC8gMTApICogMTA7XHJcbiAgICB0aGlzLmVuZCA9IHRoaXMuc3RhcnQgKyA5O1xyXG4gICAgbGV0IGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IC0zOyBpIDwgMTM7IGkrKykge1xyXG4gICAgICBjb25zdCBkdCA9IG5ldyBEYXRlKHRoaXMuc3RhcnQgKyBpLCAxLCAxKTtcclxuICAgICAgY29uc3QgY2VsbDogWERhdGVDZWxsID0ge1xyXG4gICAgICAgIGRhdGU6IGR0LFxyXG4gICAgICAgIGlzTm93OiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZHQsICd5eXl5JyksXHJcbiAgICAgICAgaXNMYXN0T3JOZXh0OiBpIDwgMCB8fCBpID4gOSxcclxuICAgICAgICBpc0ZpcnN0RGF5OiBpID09PSAwLFxyXG4gICAgICAgIGlzTGFzdERheTogaSA9PT0gOVxyXG4gICAgICB9O1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgdGhpcy5zZXREYXlTdGF0ZShjZWxsKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XHJcbiAgICB0aGlzLmNodW5rRGF0ZXMgPSBYQ2h1bmsoZGF0ZXMsIDQpO1xyXG4gICAgdGhpcy5zdGFydENoYW5nZS5lbWl0KHRoaXMuc3RhcnQpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5U3RhdGUoY2VsbDogWERhdGVDZWxsKTogWERhdGVDZWxsIHtcclxuICAgIGNvbnN0IHRpbWUgPSBjZWxsLmRhdGU/LmdldFRpbWUoKSE7XHJcbiAgICBjb25zdCBmeWVhciA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXknKTtcclxuICAgIGlmICh0aGlzLnJhbmdlUGlja2VyKSB7XHJcbiAgICAgIGlmICghdGhpcy5yYW5nZVZhbHVlKSByZXR1cm4gY2VsbDtcclxuICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgICBjZWxsLmlzSW5SYW5nZSA9ICEhc3RhcnQgJiYgISFlbmQgJiYgdGltZSA+PSBzdGFydCEgJiYgdGltZSA8PSBlbmQhO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VTdGFydFJpZ2h0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmeWVhciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQhLCAneXl5eScpO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VFbmRMZWZ0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmeWVhciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kISwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjZWxsO1xyXG4gIH1cclxuXHJcbiAgeWVhckNsaWNrKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IGNlbGwuZGF0ZTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChjZWxsLmRhdGUpO1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICB0aGlzLnNldERheVN0YXRlKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmFuZ2VEYXRlQ2xpY2suZW1pdChjZWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgbGFzdE9yTmV4dCh5ZWFyOiBEYXRlKSB7XHJcbiAgICBjb25zdCB5ZWFyU3RyID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oeWVhciwgJ3l5eXknKSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4geWVhclN0ciA8IGAke3RoaXMuc3RhcnR9YCB8fCB5ZWFyU3RyID4gYCR7dGhpcy5lbmR9YDtcclxuICB9XHJcblxyXG4gIHJhbmdlRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVN0YXJ0ICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA8IHRoaXMucmFuZ2VTdGFydCE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlRW5kICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA+IHRoaXMucmFuZ2VFbmQhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXRZZWFycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXJzKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0YXJ0ICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydCk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVllYXIoX2luZGV4OiBudW1iZXIsIGl0ZW06IHN0cmluZyB8IERhdGUgfCBYRGF0ZUNlbGwpIHtcclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1waWNrZXIteWVhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFsYXN0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIChjbGljayk9XCJuZXh0WWVhcnMoLTEwKVwiPjwveC1saW5rPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLXllYXIteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1saW5rPnt7IHN0YXJ0IH19PC94LWxpbms+IC1cclxuICAgICAgPHgtbGluaz57eyBlbmQgfX08L3gtbGluaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFuZXh0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtcmlnaHRcIiAoY2xpY2spPVwibmV4dFllYXJzKDEwKVwiPjwveC1saW5rPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLWJvZHlcIj5cclxuICAgIDx0YWJsZSBjZWxsc3BhY2luZz1cIjBcIiBjZWxscGFkZGluZz1cIjBcIj5cclxuICAgICAgPHRyICpuZ0Zvcj1cImxldCB5ZWFycyBvZiBjaHVua0RhdGVzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyczsgdHJhY2tCeTogdHJhY2tCeVllYXJcIj5cclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBjbGFzcz1cIngtcGlja2VyLWRhdGUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1vci1uZXh0XT1cInllYXIuaXNMYXN0T3JOZXh0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1ub3ddPVwieWVhci5pc05vd1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtZmlyc3QtZGF5XT1cInllYXIuaXNGaXJzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1kYXldPVwieWVhci5pc0xhc3REYXlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIGlzU3RhcnRZZWFyKHllYXIuZGF0ZSEpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgaXNFbmRZZWFyKHllYXIuZGF0ZSEpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZVN0YXJ0TGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlU3RhcnRSaWdodFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtZW5kLWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlRW5kTGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtZW5kLXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUVuZFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlcl09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItc3RhcnQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItc3RhcnQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlckVuZExlZnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclN0YXJ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlSG92ZXJFbmRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlXT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNJblJhbmdlXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1pbi1yYW5nZS1ob3Zlcl09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzSW5SYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1hY3RpdmVdPVwiIXJhbmdlUGlja2VyICYmICh5ZWFyLmRhdGUgfCBkYXRlIDogJ3l5eXknKSA9PT0gKG1vZGVsIHwgZGF0ZSA6ICd5eXl5JylcIlxyXG4gICAgICAgICAgICB0aXRsZT1cInt7IHllYXIuZGF0ZSB8IGRhdGUgOiAneXl5eScgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwieWVhckNsaWNrKHllYXIpXCJcclxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwicmFuZ2VQaWNrZXIgJiYgb25UZE1vdXNlZW50ZXIoeWVhcilcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyYW5nZVBpY2tlciAmJiBvblRkTW91c2VsZWF2ZSh5ZWFyKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIheWVhclRlbXBcIiBjbGFzcz1cIngtZGF0ZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAge3sgeWVhci5kYXRlIHwgZGF0ZSA6ICd5eXl5JyB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInllYXJUZW1wXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInllYXJUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiB5ZWFyLmRhdGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXllYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVUzQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBNkIzRCxZQUFtQixRQUFtQixFQUFTLEdBQXNCLEVBQVMsUUFBa0IsRUFBUyxhQUE2QjtRQUNwSSxLQUFLLEVBQUUsQ0FBQztRQURTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUE1QnRJLFFBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBZ0IsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBa0IsRUFBRSxDQUFDO0lBNEIvQixDQUFDO0lBeEJELElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBTUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3RHO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFRCxTQUFTLENBQUMsSUFBVTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3RHO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFRCxhQUFhLENBQUMsSUFBZTtRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFlLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDM0MsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzNCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxHQUFHLEtBQU0sSUFBSSxRQUFRLEtBQUssS0FBTSxDQUFDO29CQUNsRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEtBQU0sSUFBSSxRQUFRLEtBQUssS0FBTSxDQUFDO29CQUNuRSxJQUFJLENBQUMsWUFBWTt3QkFDZixDQUFDLElBQUksR0FBRyxLQUFNLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLEdBQUcsS0FBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBTSxJQUFJLFFBQVEsR0FBRyxLQUFNLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDO29CQUN2SCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBTSxDQUFDO29CQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLEtBQU0sQ0FBQztpQkFDM0Q7cUJBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsR0FBSSxJQUFJLFFBQVEsS0FBSyxHQUFJLENBQUM7b0JBQzVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsR0FBSSxJQUFJLFFBQVEsS0FBSyxHQUFJLENBQUM7b0JBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLEdBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUksSUFBSSxRQUFRLEdBQUcsR0FBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQztvQkFDakksSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLEdBQUksQ0FBQztvQkFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxHQUFJLENBQUM7aUJBQ3pEO3FCQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsS0FBTSxJQUFJLFFBQVEsS0FBSyxLQUFNLENBQUM7b0JBQ2xFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsR0FBSSxJQUFJLFFBQVEsS0FBSyxHQUFJLENBQUM7b0JBQzdELElBQUksQ0FBQyxZQUFZO3dCQUNmLENBQUMsSUFBSSxHQUFHLEtBQU0sSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsR0FBRyxLQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFJLElBQUksUUFBUSxHQUFHLEdBQUksSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7b0JBQ25ILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFNLENBQUM7b0JBQzVELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsR0FBSSxDQUFDO29CQUN4RCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssT0FBTyxFQUFFO3dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsSUFBSSxJQUFLLElBQUksUUFBUSxJQUFJLEdBQUksQ0FBQztxQkFDN0Q7eUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTt3QkFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLElBQUksS0FBTSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUM7cUJBQzlEO2lCQUNGO2FBQ0Y7WUFDRCxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25DO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDMUI7U0FDRjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsSUFBZSxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQzNDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxNQUFNO2dCQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUcsS0FBa0I7UUFDOUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFVO1FBQ2pCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksS0FBSyxHQUFnQixFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVCLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBYztnQkFDdEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztnQkFDeEYsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzVCLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDbkIsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQ25CLENBQUM7WUFDRixLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksS0FBTSxJQUFJLElBQUksSUFBSSxHQUFJLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQy9GLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDM0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBZTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBVyxDQUFDO1FBQ2hFLE9BQU8sT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVU7UUFDdEIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVyxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE9BQU8sRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUyxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVc7UUFDbkIsSUFBSSxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUErQjtRQUN6RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O29JQWxOVSxvQkFBb0I7d0hBQXBCLG9CQUFvQix3Q0FGcEIsQ0FBQyxRQUFRLENBQUMsc0VDbkJ2Qiwrb0dBcURBOzJGRGhDYSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDaHVuaywgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSwgWElzTnVsbCwgWElzRnVuY3Rpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWERhdGVDZWxsLCBYUGlja2VyWWVhclByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC1waWNrZXIteWVhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2tlci15ZWFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waWNrZXIteWVhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYUGlja2VyWWVhckNvbXBvbmVudCBleHRlbmRzIFhQaWNrZXJZZWFyUHJvcGVydHkgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZXM6IFhEYXRlQ2VsbFtdID0gW107XHJcbiAgY2h1bmtEYXRlczogWERhdGVDZWxsW11bXSA9IFtdO1xyXG4gIHN0YXJ0ITogbnVtYmVyO1xyXG4gIGVuZCE6IG51bWJlcjtcclxuXHJcbiAgZ2V0IHJhbmdlU3RhcnQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgcmFuZ2VFbmQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBpc0Rpc2FibGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZSAmJiBYSXNGdW5jdGlvbih0aGlzLmRpc2FibGVkRGF0ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlKGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRpc3BsYXkgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzcGxheSkgJiYgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgdGhpcy5zZXRZZWFycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNTdGFydFllYXIoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKCF0aGlzLnJhbmdlVHlwZSB8fCAhdGhpcy5yYW5nZVZhbHVlKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc051bGwodGhpcy5yYW5nZVZhbHVlWzBdKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yYW5nZVZhbHVlWzBdLCAneXl5eScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgaXNFbmRZZWFyKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVsxXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVsxXSwgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHNldERhdGVzU3RhdGUoY2VsbDogWERhdGVDZWxsKSB7XHJcbiAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgdGhpcy5zZXREYXlTdGF0ZShpdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMub25UZE1vdXNlZW50ZXIoY2VsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgb25UZE1vdXNlZW50ZXIoY2VsbDogWERhdGVDZWxsLCBpc0VtaXQgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICBpZiAoIVhJc051bGwoc3RhcnQpIHx8ICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICBjb25zdCBpdGVtVGltZSA9IGl0ZW0uZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJTdGF0ZShpdGVtKTtcclxuICAgICAgICBpZiAoIVhJc051bGwoc3RhcnQpICYmIFhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSB0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPiBzdGFydCE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSB0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID0gKHRpbWUgPCBlbmQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBlbmQhKSB8fCAodGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICB9IGVsc2UgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPT09IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID1cclxuICAgICAgICAgICAgKHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPj0gdGltZSAmJiBpdGVtVGltZSA8IHN0YXJ0ISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICAgIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gdGltZSEgJiYgaXRlbVRpbWUgPD0gZW5kITtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlSG92ZXIgPSBpdGVtVGltZSA+PSBzdGFydCEgJiYgaXRlbVRpbWUgPD0gdGltZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzRW1pdCkge1xyXG4gICAgICAgIHRoaXMucmFuZ2VUZE1vdXNlZW50ZXIuZW1pdChjZWxsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWxlYXZlKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgICAgaWYgKGlzRW1pdCkgdGhpcy5yYW5nZVRkTW91c2VsZWF2ZS5lbWl0KGNlbGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJTdGF0ZSguLi5jZWxsczogWERhdGVDZWxsW10pIHtcclxuICAgIGZvciAobGV0IGNlbGwgb2YgY2VsbHMpIHtcclxuICAgICAgY2VsbC5pc0luUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRSaWdodCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRSaWdodCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0WWVhcnMoZGF0ZTogRGF0ZSkge1xyXG4gICAgbGV0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICB0aGlzLnN0YXJ0ID0gTWF0aC5mbG9vcih5ZWFyIC8gMTApICogMTA7XHJcbiAgICB0aGlzLmVuZCA9IHRoaXMuc3RhcnQgKyA5O1xyXG4gICAgbGV0IGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IC0zOyBpIDwgMTM7IGkrKykge1xyXG4gICAgICBjb25zdCBkdCA9IG5ldyBEYXRlKHRoaXMuc3RhcnQgKyBpLCAxLCAxKTtcclxuICAgICAgY29uc3QgY2VsbDogWERhdGVDZWxsID0ge1xyXG4gICAgICAgIGRhdGU6IGR0LFxyXG4gICAgICAgIGlzTm93OiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZHQsICd5eXl5JyksXHJcbiAgICAgICAgaXNMYXN0T3JOZXh0OiBpIDwgMCB8fCBpID4gOSxcclxuICAgICAgICBpc0ZpcnN0RGF5OiBpID09PSAwLFxyXG4gICAgICAgIGlzTGFzdERheTogaSA9PT0gOVxyXG4gICAgICB9O1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgdGhpcy5zZXREYXlTdGF0ZShjZWxsKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XHJcbiAgICB0aGlzLmNodW5rRGF0ZXMgPSBYQ2h1bmsoZGF0ZXMsIDQpO1xyXG4gICAgdGhpcy5zdGFydENoYW5nZS5lbWl0KHRoaXMuc3RhcnQpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5U3RhdGUoY2VsbDogWERhdGVDZWxsKTogWERhdGVDZWxsIHtcclxuICAgIGNvbnN0IHRpbWUgPSBjZWxsLmRhdGU/LmdldFRpbWUoKSE7XHJcbiAgICBjb25zdCBmeWVhciA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZub3cgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXknKTtcclxuICAgIGNlbGwuaXNOb3cgPSBmeWVhciA9PT0gZm5vdztcclxuICAgIGNlbGwuaXNEaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZChjZWxsLmRhdGUhKTtcclxuICAgIGlmICh0aGlzLnJhbmdlUGlja2VyKSB7XHJcbiAgICAgIGlmICghdGhpcy5yYW5nZVZhbHVlKSByZXR1cm4gY2VsbDtcclxuICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgICBjZWxsLmlzSW5SYW5nZSA9ICEhc3RhcnQgJiYgISFlbmQgJiYgdGltZSA+PSBzdGFydCEgJiYgdGltZSA8PSBlbmQhO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VTdGFydFJpZ2h0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmeWVhciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQhLCAneXl5eScpO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VFbmRMZWZ0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmeWVhciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kISwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjZWxsO1xyXG4gIH1cclxuXHJcbiAgeWVhckNsaWNrKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IGNlbGwuZGF0ZTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChjZWxsLmRhdGUpO1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICB0aGlzLnNldERheVN0YXRlKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmFuZ2VEYXRlQ2xpY2suZW1pdChjZWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgbGFzdE9yTmV4dCh5ZWFyOiBEYXRlKSB7XHJcbiAgICBjb25zdCB5ZWFyU3RyID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oeWVhciwgJ3l5eXknKSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4geWVhclN0ciA8IGAke3RoaXMuc3RhcnR9YCB8fCB5ZWFyU3RyID4gYCR7dGhpcy5lbmR9YDtcclxuICB9XHJcblxyXG4gIHJhbmdlRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVN0YXJ0ICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA8IHRoaXMucmFuZ2VTdGFydCE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlRW5kICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA+IHRoaXMucmFuZ2VFbmQhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXRZZWFycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXJzKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0YXJ0ICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydCk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVllYXIoX2luZGV4OiBudW1iZXIsIGl0ZW06IHN0cmluZyB8IERhdGUgfCBYRGF0ZUNlbGwpIHtcclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1waWNrZXIteWVhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFsYXN0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIChjbGljayk9XCJuZXh0WWVhcnMoLTEwKVwiPjwveC1saW5rPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLXllYXIteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1saW5rPnt7IHN0YXJ0IH19PC94LWxpbms+IC1cclxuICAgICAgPHgtbGluaz57eyBlbmQgfX08L3gtbGluaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFuZXh0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtcmlnaHRcIiAoY2xpY2spPVwibmV4dFllYXJzKDEwKVwiPjwveC1saW5rPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLWJvZHlcIj5cclxuICAgIDx0YWJsZSBjZWxsc3BhY2luZz1cIjBcIiBjZWxscGFkZGluZz1cIjBcIj5cclxuICAgICAgPHRyICpuZ0Zvcj1cImxldCB5ZWFycyBvZiBjaHVua0RhdGVzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyczsgdHJhY2tCeTogdHJhY2tCeVllYXJcIj5cclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBjbGFzcz1cIngtcGlja2VyLWRhdGUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtZGlzYWJsZWRdPVwieWVhci5pc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LW9yLW5leHRdPVwieWVhci5pc0xhc3RPck5leHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLW5vd109XCJ5ZWFyLmlzTm93XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1maXJzdC1kYXldPVwieWVhci5pc0ZpcnN0RGF5XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LWRheV09XCJ5ZWFyLmlzTGFzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnRdPVwicmFuZ2VQaWNrZXIgJiYgaXNTdGFydFllYXIoeWVhci5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZF09XCJyYW5nZVBpY2tlciAmJiBpc0VuZFllYXIoeWVhci5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyRW5kTGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItZW5kLXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyU3RhcnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlckVuZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtaW4tcmFuZ2VdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc0luUmFuZ2VcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNJblJhbmdlSG92ZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWFjdGl2ZV09XCIhcmFuZ2VQaWNrZXIgJiYgKHllYXIuZGF0ZSB8IGRhdGUgOiAneXl5eScpID09PSAobW9kZWwgfCBkYXRlIDogJ3l5eXknKVwiXHJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgeWVhci5kYXRlIHwgZGF0ZSA6ICd5eXl5JyB9fVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIheWVhci5pc0Rpc2FibGVkICYmIHllYXJDbGljayh5ZWFyKVwiXHJcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIiF5ZWFyLmlzRGlzYWJsZWQgJiYgcmFuZ2VQaWNrZXIgJiYgb25UZE1vdXNlZW50ZXIoeWVhcilcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCIheWVhci5pc0Rpc2FibGVkICYmIHJhbmdlUGlja2VyICYmIG9uVGRNb3VzZWxlYXZlKHllYXIpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiF5ZWFyVGVtcFwiIGNsYXNzPVwieC1kYXRlLXRleHRcIj5cclxuICAgICAgICAgICAgICB7eyB5ZWFyLmRhdGUgfCBkYXRlIDogJ3l5eXknIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwieWVhclRlbXBcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwieWVhclRlbXA7IGNvbnRleHQ6IHsgZGF0ZSQ6IHllYXIuZGF0ZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -6,4 +6,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
6
6
|
*/
|
|
7
7
|
export const XI18nPrefix = 'xI18n';
|
|
8
8
|
export const X_I18N = new InjectionToken('x-i18n');
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2kxOG4vaTE4bi5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDO0FBaU1uQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQWdCLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRlbXBsYXRlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG4vKipcclxuICogSTE4blxyXG4gKiBAc2VsZWN0b3IgeEkxOG5cclxuICogQGRlY29yYXRvciBQaXBlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWEkxOG5QcmVmaXggPSAneEkxOG4nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSTE4blByb3BlcnR5IHtcclxuICBsb2NhbGU6IHN0cmluZztcclxuICBjb21tZW50PzogWEkxOG5Db21tZW50O1xyXG4gIHRoZW1lPzogWEkxOG5UaGVtZTtcclxuICBjYWxlbmRhcj86IFhJMThuQ2FsZW5kYXI7XHJcbiAgZGF0ZVBpY2tlcj86IFhJMThuRGF0ZVBpY2tlcjtcclxuICB0aW1lUGlja2VyPzogWEkxOG5UaW1lUGlja2VyO1xyXG4gIGVtcHR5PzogWEkxOG5FbXB0eTtcclxuICBpbWFnZT86IFhJMThuSW1hZ2U7XHJcbiAgcGFnaW5hdGlvbj86IFhJMThuUGFnaW5hdGlvbjtcclxuICB0ZXh0UmV0cmFjdD86IFhJMThuVGV4dFJldHJhY3Q7XHJcbiAgdGltZUFnbz86IFhJMThuVGltZUFnbztcclxuICB0cmFuc2Zlcj86IFhJMThuVHJhbnNmZXI7XHJcbiAgbWVzc2FnZUJveD86IFhJMThuTWVzc2FnZUJveDtcclxuICBkaWFsb2c/OiBYSTE4bkRpYWxvZztcclxuICBwb3Bjb25maXJtPzogWEkxOG5Qb3Bjb25maXJtO1xyXG4gIHVwbG9hZD86IFhJMThuVXBsb2FkO1xyXG4gIHBhZ2VIZWFkZXI/OiBYSTE4blBhZ2VIZWFkZXI7XHJcbiAgbGlzdD86IFhJMThuTGlzdDtcclxuICBzZWxlY3Q/OiBYSTE4blNlbGVjdDtcclxuICB0cmVlU2VsZWN0PzogWEkxOG5UcmVlU2VsZWN0O1xyXG4gIGZvcm0/OiBYSTE4bkZvcm07XHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEkxOG5Db21tZW50IHtcclxuICBjb21tZW50cz86IHN0cmluZztcclxuICBnaXZlQUxpa2U/OiBzdHJpbmc7XHJcbiAgcmVwbHk/OiBzdHJpbmc7XHJcbiAgbW9yZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSTE4blRoZW1lIHtcclxuICBkYXJrTW9kZT86IHN0cmluZztcclxuICBpbml0RGVmYXVsdD86IHN0cmluZztcclxuICBwcmltYXJ5Pzogc3RyaW5nO1xyXG4gIHN1Y2Nlc3M/OiBzdHJpbmc7XHJcbiAgd2FybmluZz86IHN0cmluZztcclxuICBkYW5nZXI/OiBzdHJpbmc7XHJcbiAgaW5mbz86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIGJvcmRlcj86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuQ2FsZW5kYXIge1xyXG4gIG1vbnRoPzogc3RyaW5nO1xyXG4gIHllYXI/OiBzdHJpbmc7XHJcbiAgbGFzdE1vbnRoPzogc3RyaW5nO1xyXG4gIGxhc3RZZWFyPzogc3RyaW5nO1xyXG4gIG5leHRNb250aD86IHN0cmluZztcclxuICBuZXh0WWVhcj86IHN0cmluZztcclxuICBqYW51YXJ5Pzogc3RyaW5nO1xyXG4gIGZlYnJ1YXJ5Pzogc3RyaW5nO1xyXG4gIG1hcmNoPzogc3RyaW5nO1xyXG4gIGFwcmlsPzogc3RyaW5nO1xyXG4gIG1heT86IHN0cmluZztcclxuICBqdW5lPzogc3RyaW5nO1xyXG4gIGp1bHk/OiBzdHJpbmc7XHJcbiAgYXVndXN0Pzogc3RyaW5nO1xyXG4gIHNlcHRlbWJlcj86IHN0cmluZztcclxuICBvY3RvYmVyPzogc3RyaW5nO1xyXG4gIG5vdmVtYmVyPzogc3RyaW5nO1xyXG4gIGRlY2VtYmVyPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuRGF0ZVBpY2tlciB7XHJcbiAgc3VyZT86IHN0cmluZztcclxuICBtb250aD86IHN0cmluZztcclxuICB5ZWFyPzogc3RyaW5nO1xyXG4gIGphbnVhcnk/OiBzdHJpbmc7XHJcbiAgZmVicnVhcnk/OiBzdHJpbmc7XHJcbiAgbWFyY2g/OiBzdHJpbmc7XHJcbiAgYXByaWw/OiBzdHJpbmc7XHJcbiAgbWF5Pzogc3RyaW5nO1xyXG4gIGp1bmU/OiBzdHJpbmc7XHJcbiAganVseT86IHN0cmluZztcclxuICBhdWd1c3Q/OiBzdHJpbmc7XHJcbiAgc2VwdGVtYmVyPzogc3RyaW5nO1xyXG4gIG9jdG9iZXI/OiBzdHJpbmc7XHJcbiAgbm92ZW1iZXI/OiBzdHJpbmc7XHJcbiAgZGVjZW1iZXI/OiBzdHJpbmc7XHJcbiAgeWVzdGVyZGF5Pzogc3RyaW5nO1xyXG4gIHRvZGF5Pzogc3RyaW5nO1xyXG4gIHRvbW9ycm93Pzogc3RyaW5nO1xyXG4gIHRoaXNXZWVrPzogc3RyaW5nO1xyXG4gIGxhc3RXZWVrPzogc3RyaW5nO1xyXG4gIG5leHRXZWVrPzogc3RyaW5nO1xyXG4gIHRoaXNNb250aD86IHN0cmluZztcclxuICBsYXN0TW9udGg/OiBzdHJpbmc7XHJcbiAgbmV4dE1vbnRoPzogc3RyaW5nO1xyXG4gIHRoaXNZZWFyPzogc3RyaW5nO1xyXG4gIGxhc3RZZWFyPzogc3RyaW5nO1xyXG4gIG5leHRZZWFyPzogc3RyaW5nO1xyXG4gIHNlbGVjdERhdGU/OiBzdHJpbmc7XHJcbiAgc2VsZWN0V2Vlaz86IHN0cmluZztcclxuICBzZWxlY3RNb250aD86IHN0cmluZztcclxuICBzZWxlY3RZZWFyPzogc3RyaW5nO1xyXG4gIHN0YXJ0RGF0ZT86IHN0cmluZztcclxuICBlbmREYXRlPzogc3RyaW5nO1xyXG4gIHN0YXJ0TW9udGg/OiBzdHJpbmc7XHJcbiAgZW5kTW9udGg/OiBzdHJpbmc7XHJcbiAgc3RhcnRZZWFyPzogc3RyaW5nO1xyXG4gIGVuZFllYXI/OiBzdHJpbmc7XHJcbiAgc3RhcnRXZWVrPzogc3RyaW5nO1xyXG4gIGVuZFdlZWs/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEkxOG5UaW1lUGlja2VyIHtcclxuICBhbT86IHN0cmluZztcclxuICBwbT86IHN0cmluZztcclxuICBub3c/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEkxOG5FbXB0eSB7XHJcbiAgbm9EYXRhPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuSW1hZ2Uge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuUGFnaW5hdGlvbiB7XHJcbiAgcHJldmlvdXM/OiBzdHJpbmc7XHJcbiAgbmV4dD86IHN0cmluZztcclxuICB0b3RhbD86IHN0cmluZztcclxuICBpdGVtPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuVGV4dFJldHJhY3Qge1xyXG4gIHVuZm9sZD86IHN0cmluZztcclxuICBwYWNrVXA/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEkxOG5UaW1lQWdvIHtcclxuICBqdXN0Pzogc3RyaW5nO1xyXG4gIHNlY29uZHNBZ28/OiBzdHJpbmc7XHJcbiAgbWludXRlc0Fnbz86IHN0cmluZztcclxuICBob3Vyc0Fnbz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSTE4blRyYW5zZmVyIHtcclxuICBsaXN0VGl0bGU/OiBzdHJpbmc7XHJcbiAgdHJlZVRpdGxlPzogc3RyaW5nO1xyXG4gIHRhYmxlVGl0bGU/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRUaXRsZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSTE4bk1lc3NhZ2VCb3gge1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEkxOG5EaWFsb2cge1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEkxOG5Qb3Bjb25maXJtIHtcclxuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gIGNvbmZpcm1UZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuVXBsb2FkIHtcclxuICB1cGxvYWRUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuUGFnZUhlYWRlciB7XHJcbiAgYmFjaz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSTE4blNlbGVjdCB7XHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICBtYXhUYWdDb250ZW50PzogWFRlbXBsYXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuVHJlZVNlbGVjdCB7XHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICBtYXhUYWdDb250ZW50PzogWFRlbXBsYXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuTGlzdCB7XHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICBsb2FkTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgbG9hZGluZ01vcmVUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJMThuRm9ybSB7XHJcbiAgcmVxdWlyZWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBYX0kxOE4gPSBuZXcgSW5qZWN0aW9uVG9rZW48WEkxOG5Qcm9wZXJ0eT4oJ3gtaTE4bicpO1xyXG4iXX0=
|
|
@@ -43,6 +43,7 @@ export default {
|
|
|
43
43
|
},
|
|
44
44
|
datePicker: {
|
|
45
45
|
sure: 'Ok',
|
|
46
|
+
week: '',
|
|
46
47
|
month: '',
|
|
47
48
|
year: '',
|
|
48
49
|
january: 'Jan',
|
|
@@ -77,6 +78,7 @@ export default {
|
|
|
77
78
|
lastYear: 'Last year',
|
|
78
79
|
nextYear: 'Next year',
|
|
79
80
|
selectDate: 'Select date',
|
|
81
|
+
selectWeek: 'Select week',
|
|
80
82
|
selectMonth: 'Select month',
|
|
81
83
|
selectYear: 'Select year',
|
|
82
84
|
startDate: 'Start date',
|
|
@@ -84,7 +86,9 @@ export default {
|
|
|
84
86
|
startMonth: 'Start month',
|
|
85
87
|
endMonth: 'End month',
|
|
86
88
|
startYear: 'Start year',
|
|
87
|
-
endYear: 'End year'
|
|
89
|
+
endYear: 'End year',
|
|
90
|
+
startWeek: 'Start week',
|
|
91
|
+
endWeek: 'End week'
|
|
88
92
|
},
|
|
89
93
|
timePicker: {
|
|
90
94
|
am: 'AM',
|
|
@@ -159,4 +163,4 @@ export default {
|
|
|
159
163
|
required: 'required'
|
|
160
164
|
}
|
|
161
165
|
};
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5fR0IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9pMThuL2xhbmd1YWdlcy9lbl9HQi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0lBQ2IsTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUU7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQixTQUFTLEVBQUUsTUFBTTtRQUNqQixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxVQUFVO1FBQ2hCLFdBQVcsRUFBRSx1QkFBdUI7S0FDckM7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsV0FBVztRQUNyQixXQUFXLEVBQUUsY0FBYztRQUMzQixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtRQUNaLFVBQVUsRUFBRSxZQUFZO1FBQ3hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLE1BQU07UUFDWixTQUFTLEVBQUUsWUFBWTtRQUN2QixRQUFRLEVBQUUsV0FBVztRQUNyQixTQUFTLEVBQUUsWUFBWTtRQUN2QixRQUFRLEVBQUUsV0FBVztRQUNyQixPQUFPLEVBQUUsU0FBUztRQUNsQixRQUFRLEVBQUUsVUFBVTtRQUNwQixLQUFLLEVBQUUsT0FBTztRQUNkLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLFFBQVE7UUFDaEIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsT0FBTyxF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QjtJQUNELFVBQVUsRUFBRTtRQUNWLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sVUFBVSxFQUFFLGFBQWE7S0FDMUI7SUFDRCxVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0QsSUFBSSxFQUFFO1FBQ0osYUFBYSxFQUFFLFlBQVk7UUFDM0IsWUFBWSxFQUFFLFdBQVc7UUFDekIsZUFBZSxFQUFFLFNBQVM7S0FDM0I7SUFDRCxNQUFNLEVBQUU7UUFDTixhQUFhLEVBQUUsWUFBWTtRQUMzQixhQUFhLEVBQUUsK0JBQStCO0tBQy9DO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsYUFBYSxFQUFFLFlBQVk7UUFDM0IsYUFBYSxFQUFFLCtCQUErQjtLQUMvQztJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxVQUFVO0tBQ3JCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcclxuICBsb2NhbGU6ICdlbl9HQicsXHJcbiAgY29tbWVudDoge1xyXG4gICAgY29tbWVudHM6ICdDb21tZW50cycsXHJcbiAgICBnaXZlQUxpa2U6ICdMaWtlJyxcclxuICAgIHJlcGx5OiAnUmVwbHknLFxyXG4gICAgbW9yZTogJ1NlZSBtb3JlJyxcclxuICAgIHN1cmU6ICdDb21tZW50cycsXHJcbiAgICBwbGFjZWhvbGRlcjogJ1BsZWFzZSBlbnRlciBjb21tZW50cydcclxuICB9LFxyXG4gIHRoZW1lOiB7XHJcbiAgICBkYXJrTW9kZTogJ0RhcmsgTW9kZScsXHJcbiAgICBpbml0RGVmYXVsdDogJ0luaXQgRGVmYXVsdCcsXHJcbiAgICBwcmltYXJ5OiAnUHJpbWFyeScsXHJcbiAgICBzdWNjZXNzOiAnU3VjY2VzcycsXHJcbiAgICB3YXJuaW5nOiAnV2FybmluZycsXHJcbiAgICBkYW5nZXI6ICdEYW5nZXInLFxyXG4gICAgaW5mbzogJ0luZm8nLFxyXG4gICAgYmFja2dyb3VuZDogJ0JhY2tncm91bmQnLFxyXG4gICAgYm9yZGVyOiAnQm9yZGVyJyxcclxuICAgIHRleHQ6ICdUZXh0J1xyXG4gIH0sXHJcbiAgY2FsZW5kYXI6IHtcclxuICAgIHN1cmU6ICdPSycsXHJcbiAgICBtb250aDogJ01vbnRoJyxcclxuICAgIHllYXI6ICdZZWFyJyxcclxuICAgIGxhc3RNb250aDogJ0xhc3QgbW9udGgnLFxyXG4gICAgbGFzdFllYXI6ICdMYXN0IHllYXInLFxyXG4gICAgbmV4dE1vbnRoOiAnTmV4dCBtb250aCcsXHJcbiAgICBuZXh0WWVhcjogJ05leHQgeWVhcicsXHJcbiAgICBqYW51YXJ5OiAnSmFudWFyeScsXHJcbiAgICBmZWJydWFyeTogJ0ZlYnJ1YXJ5JyxcclxuICAgIG1hcmNoOiAnTWFyY2gnLFxyXG4gICAgYXByaWw6ICdBcHJpbCcsXHJcbiAgICBtYXk6ICdNYXknLFxyXG4gICAganVuZTogJ0p1bmUnLFxyXG4gICAganVseTogJ0p1bHknLFxyXG4gICAgYXVndXN0OiAnQXVndXN0JyxcclxuICAgIHNlcHRlbWJlcjogJ1NlcHRlbWJlcicsXHJcbiAgICBvY3RvYmVyOiAnT2N0b2JlcicsXHJcbiAgICBub3ZlbWJlcjogJ05vdmVtYmVyJyxcclxuICAgIGRlY2VtYmVyOiAnRGVjZW1iZXInXHJcbiAgfSxcclxuICBkYXRlUGlja2VyOiB7XHJcbiAgICBzdXJlOiAnT2snLFxyXG4gICAgd2VlazogJycsXHJcbiAgICBtb250aDogJycsXHJcbiAgICB5ZWFyOiAnJyxcclxuICAgIGphbnVhcnk6ICdKYW4nLFxyXG4gICAgZmVicnVhcnk6ICdGZWInLFxyXG4gICAgbWFyY2g6ICdNYXInLFxyXG4gICAgYXByaWw6ICdBcHInLFxyXG4gICAgbWF5OiAnTWF5JyxcclxuICAgIGp1bmU6ICdKdW4nLFxyXG4gICAganVseTogJ0p1bCcsXHJcbiAgICBhdWd1c3Q6ICdBdWcnLFxyXG4gICAgc2VwdGVtYmVyOiAnU2VwJyxcclxuICAgIG9jdG9iZXI6ICdPY3QnLFxyXG4gICAgbm92ZW1iZXI6ICdOb3YnLFxyXG4gICAgZGVjZW1iZXI6ICdEZWMnLFxyXG4gICAgbW9uZGF5OiAnTW9uJyxcclxuICAgIHR1ZXNkYXk6ICdUdWUnLFxyXG4gICAgd2VkbmVzZGF5OiAnV2VkJyxcclxuICAgIHRodXJzZGF5OiAnVGh1JyxcclxuICAgIGZyaWRheTogJ0ZyaScsXHJcbiAgICBzYXR1cmRheTogJ1NhdCcsXHJcbiAgICBzdW5kYXk6ICdTdW4nLFxyXG4gICAgeWVzdGVyZGF5OiAnWWVzdGVyZGF5JyxcclxuICAgIHRvZGF5OiAnVG9kYXknLFxyXG4gICAgdG9tb3Jyb3c6ICdUb21vcnJvdycsXHJcbiAgICB0aGlzV2VlazogJ1RoaXMgd2VlaycsXHJcbiAgICBsYXN0V2VlazogJ0xhc3Qgd2VlaycsXHJcbiAgICBuZXh0V2VlazogJ25leHQgd2VlaycsXHJcbiAgICB0aGlzTW9udGg6ICdUaGlzIG1vbnRoJyxcclxuICAgIGxhc3RNb250aDogJ0xhc3QgbW9udGgnLFxyXG4gICAgbmV4dE1vbnRoOiAnTmV4dCBtb250aCcsXHJcbiAgICB0aGlzWWVhcjogJ1RoaXMgeWVhcicsXHJcbiAgICBsYXN0WWVhcjogJ0xhc3QgeWVhcicsXHJcbiAgICBuZXh0WWVhcjogJ05leHQgeWVhcicsXHJcbiAgICBzZWxlY3REYXRlOiAnU2VsZWN0IGRhdGUnLFxyXG4gICAgc2VsZWN0V2VlazogJ1NlbGVjdCB3ZWVrJyxcclxuICAgIHNlbGVjdE1vbnRoOiAnU2VsZWN0IG1vbnRoJyxcclxuICAgIHNlbGVjdFllYXI6ICdTZWxlY3QgeWVhcicsXHJcbiAgICBzdGFydERhdGU6ICdTdGFydCBkYXRlJyxcclxuICAgIGVuZERhdGU6ICdFbmQgZGF0ZScsXHJcbiAgICBzdGFydE1vbnRoOiAnU3RhcnQgbW9udGgnLFxyXG4gICAgZW5kTW9udGg6ICdFbmQgbW9udGgnLFxyXG4gICAgc3RhcnRZZWFyOiAnU3RhcnQgeWVhcicsXHJcbiAgICBlbmRZZWFyOiAnRW5kIHllYXInLFxyXG4gICAgc3RhcnRXZWVrOiAnU3RhcnQgd2VlaycsXHJcbiAgICBlbmRXZWVrOiAnRW5kIHdlZWsnXHJcbiAgfSxcclxuICB0aW1lUGlja2VyOiB7XHJcbiAgICBhbTogJ0FNJyxcclxuICAgIHBtOiAnUE0nLFxyXG4gICAgbm93OiAnTm93J1xyXG4gIH0sXHJcbiAgZW1wdHk6IHtcclxuICAgIG5vRGF0YTogJ05vIGRhdGEnXHJcbiAgfSxcclxuICBpbWFnZToge1xyXG4gICAgcHJldmlld1RleHQ6ICdQcmV2aWV3J1xyXG4gIH0sXHJcbiAgcGFnaW5hdGlvbjoge1xyXG4gICAgcHJldmlvdXM6ICdQcmV2JyxcclxuICAgIG5leHQ6ICdOZXh0JyxcclxuICAgIHRvdGFsOiAnVG90YWwnLFxyXG4gICAgaXRlbTogJ0l0ZW1zJyxcclxuICAgIGZpcnN0OiAnRmlyc3QgcGFnZScsXHJcbiAgICBsYXN0OiAnTGFzdCBwYWdlJyxcclxuICAgIGp1bXA6ICdHbyB0bycsXHJcbiAgICBzaXplUGFnZTogJy8gcGFnZSdcclxuICB9LFxyXG4gIHRleHRSZXRyYWN0OiB7XHJcbiAgICB1bmZvbGQ6ICdVbmZvbGQnLFxyXG4gICAgcGFja1VwOiAnUGFjayBVcCdcclxuICB9LFxyXG4gIHRpbWVBZ286IHtcclxuICAgIGp1c3Q6ICdqdXN0JyxcclxuICAgIHNlY29uZHNBZ286ICcgc2Vjb25kcyBhZ28nLFxyXG4gICAgbWludXRlc0FnbzogJyBtaW51dGVzIGFnbycsXHJcbiAgICBob3Vyc0FnbzogJyBob3VycyBhZ28nXHJcbiAgfSxcclxuICB0cmFuc2Zlcjoge1xyXG4gICAgbGlzdFRpdGxlOiAnTGlzdCcsXHJcbiAgICB0cmVlVGl0bGU6ICdUcmVlJyxcclxuICAgIHRhYmxlVGl0bGU6ICdUYWJsZScsXHJcbiAgICBzZWxlY3RlZFRpdGxlOiAnU2VsZWN0ZWQnLFxyXG4gICAgaW52ZXJzZTogJ0ludmVyc2UnXHJcbiAgfSxcclxuICBtZXNzYWdlQm94OiB7XHJcbiAgICBjYW5jZWxUZXh0OiAnQ2FuY2VsJyxcclxuICAgIGNvbmZpcm1UZXh0OiAnT0snXHJcbiAgfSxcclxuICBkaWFsb2c6IHtcclxuICAgIGNhbmNlbFRleHQ6ICdDYW5jZWwnLFxyXG4gICAgY29uZmlybVRleHQ6ICdDb25maXJtJ1xyXG4gIH0sXHJcbiAgcG9wY29uZmlybToge1xyXG4gICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXHJcbiAgICBjb25maXJtVGV4dDogJ0NvbmZpcm0nXHJcbiAgfSxcclxuICB1cGxvYWQ6IHtcclxuICAgIHVwbG9hZFRleHQ6ICdVcGxvYWQgRmlsZSdcclxuICB9LFxyXG4gIHBhZ2VIZWFkZXI6IHtcclxuICAgIGJhY2s6ICdCYWNrJ1xyXG4gIH0sXHJcbiAgbGlzdDoge1xyXG4gICAgc2VsZWN0QWxsVGV4dDogJ1NlbGVjdCBhbGwnLFxyXG4gICAgbG9hZE1vcmVUZXh0OiAnTG9hZCBtb3JlJyxcclxuICAgIGxvYWRpbmdNb3JlVGV4dDogJ0xvYWRpbmcnXHJcbiAgfSxcclxuICBzZWxlY3Q6IHtcclxuICAgIHNlbGVjdEFsbFRleHQ6ICdTZWxlY3QgYWxsJyxcclxuICAgIG1heFRhZ0NvbnRlbnQ6ICdhbmQgbW9yZSB7e3N1cnBsdXN9fSBzZWxlY3RlZCdcclxuICB9LFxyXG4gIHRyZWVTZWxlY3Q6IHtcclxuICAgIHNlbGVjdEFsbFRleHQ6ICdTZWxlY3QgYWxsJyxcclxuICAgIG1heFRhZ0NvbnRlbnQ6ICdhbmQgbW9yZSB7e3N1cnBsdXN9fSBzZWxlY3RlZCdcclxuICB9LFxyXG4gIGZvcm06IHtcclxuICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgfVxyXG59O1xyXG4iXX0=
|