@acorex/components 18.16.0-next.4 → 18.16.0-next.5
Sign up to get free protection for your applications and to get access to all the features.
- package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +11 -13
- package/cron-job/lib/cron-job.service.d.ts +3 -3
- package/cron-job/lib/day/day.component.d.ts +3 -1
- package/cron-job/lib/day/day.service.d.ts +2 -2
- package/cron-job/lib/hours/hours.component.d.ts +3 -1
- package/cron-job/lib/hours/hours.service.d.ts +2 -2
- package/cron-job/lib/minutes/minutes.component.d.ts +3 -1
- package/cron-job/lib/minutes/minutes.service.d.ts +2 -2
- package/cron-job/lib/month/month.component.d.ts +3 -1
- package/cron-job/lib/month/month.service.d.ts +2 -2
- package/cron-job/lib/seconds/seconds.component.d.ts +3 -1
- package/cron-job/lib/seconds/seconds.service.d.ts +2 -2
- package/cron-job/lib/year/year.component.d.ts +3 -1
- package/cron-job/lib/year/year.service.d.ts +2 -2
- package/data-pager/lib/data-pager-info.component.d.ts +4 -4
- package/data-pager/lib/data-pager.component.d.ts +3 -1
- package/esm2022/badge/lib/badge.component.mjs +2 -2
- package/esm2022/button/lib/button-item-list.component.mjs +2 -2
- package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +62 -45
- package/esm2022/cron-job/lib/cron-job.service.mjs +5 -5
- package/esm2022/cron-job/lib/day/day.component.mjs +8 -4
- package/esm2022/cron-job/lib/day/day.service.mjs +4 -4
- package/esm2022/cron-job/lib/hours/hours.component.mjs +8 -4
- package/esm2022/cron-job/lib/hours/hours.service.mjs +4 -4
- package/esm2022/cron-job/lib/minutes/minutes.component.mjs +8 -4
- package/esm2022/cron-job/lib/minutes/minutes.service.mjs +4 -4
- package/esm2022/cron-job/lib/month/month.component.mjs +8 -4
- package/esm2022/cron-job/lib/month/month.service.mjs +4 -4
- package/esm2022/cron-job/lib/seconds/seconds.component.mjs +8 -4
- package/esm2022/cron-job/lib/seconds/seconds.service.mjs +4 -4
- package/esm2022/cron-job/lib/year/year.component.mjs +8 -4
- package/esm2022/cron-job/lib/year/year.service.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +8 -7
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +39 -8
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +21 -13
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +3 -15
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +37 -7
- package/esm2022/data-pager/lib/data-pager.component.mjs +13 -6
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +1 -1
- package/esm2022/list/lib/list.component.mjs +2 -2
- package/esm2022/tabs/lib/tabs.component.mjs +18 -13
- package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +3 -3
- package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +3 -3
- package/fesm2022/acorex-components-badge.mjs +2 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +109 -68
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +118 -54
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +1 -1
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +17 -12
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +4 -4
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/package.json +1 -1
- package/tabs/lib/tabs.component.d.ts +1 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { MXInputBaseValueComponent } from '@acorex/components/common';
|
2
2
|
import { AXTabLocation, AXTabLook, AXTabsComponent } from '@acorex/components/tabs';
|
3
3
|
import { DayService } from '../day/day.service';
|
4
4
|
import { HoursService } from '../hours/hours.service';
|
@@ -7,25 +7,23 @@ import { MonthService } from '../month/month.service';
|
|
7
7
|
import { SecondsService } from '../seconds/seconds.service';
|
8
8
|
import { YearService } from '../year/year.service';
|
9
9
|
import * as i0 from "@angular/core";
|
10
|
-
export declare class AXCronJobContainerComponent {
|
10
|
+
export declare class AXCronJobContainerComponent extends MXInputBaseValueComponent<string> {
|
11
11
|
#private;
|
12
|
+
protected secondsService: SecondsService;
|
13
|
+
protected minutesService: MinutesService;
|
14
|
+
protected hoursService: HoursService;
|
15
|
+
protected monthService: MonthService;
|
16
|
+
protected dayService: DayService;
|
17
|
+
protected yearService: YearService;
|
12
18
|
protected tabComponent: import("@angular/core").Signal<AXTabsComponent>;
|
13
19
|
protected activeTab: import("@angular/core").WritableSignal<string>;
|
14
|
-
protected expResult: string;
|
15
|
-
onExpressionChange: import("@angular/core").OutputEmitterRef<AXClickEvent>;
|
16
20
|
protected options: import("@angular/core").WritableSignal<{
|
17
21
|
fit: boolean;
|
18
22
|
look: AXTabLook;
|
19
23
|
location: AXTabLocation;
|
20
24
|
}>;
|
21
|
-
|
22
|
-
protected
|
23
|
-
protected hoursService: HoursService;
|
24
|
-
protected monthService: MonthService;
|
25
|
-
protected dayService: DayService;
|
26
|
-
protected yearService: YearService;
|
27
|
-
protected onGetModel(): void;
|
28
|
-
protected reverseExpression(cronExpressionPattern: string): void;
|
25
|
+
onGetModel(): void;
|
26
|
+
protected internalValueChanged(cronExpressionPattern: string): void;
|
29
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronJobContainerComponent, never>;
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronJobContainerComponent, "ax-cron-job-container", never, {}, { "
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronJobContainerComponent, "ax-cron-job-container", never, {}, { "onValueChanged": "onValueChanged"; }, never, never, false, never>;
|
31
29
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { DropDownItem, RegexItemsIndex } from './types/shared.model';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
export declare class
|
3
|
+
export declare class CronJobService {
|
4
4
|
addComma(str: string): string;
|
5
5
|
getRegexItem(cronExpressionPattern: string, itemIndex: RegexItemsIndex): string;
|
6
6
|
getIntervalCronData(regex: string): {
|
@@ -17,6 +17,6 @@ export declare class StringService {
|
|
17
17
|
xst: number;
|
18
18
|
} | undefined;
|
19
19
|
mapItemsToDropDownItem(items: Array<string>, dropDowndata?: Array<string>): Array<DropDownItem>;
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
21
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CronJobService, never>;
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CronJobService>;
|
22
22
|
}
|
@@ -9,6 +9,8 @@ export declare class AXCronDayComponent {
|
|
9
9
|
protected boMonthDropDownList: DropDownItem[];
|
10
10
|
protected daysIndexInMonth: number[];
|
11
11
|
protected zeroTo30: number[];
|
12
|
+
dayChanged: import("@angular/core").OutputEmitterRef<void>;
|
13
|
+
protected inputChange(): void;
|
12
14
|
protected changeHandler(e: AXValueChangedEvent): void;
|
13
15
|
protected changeHandler2(e: AXValueChangedEvent): void;
|
14
16
|
protected get daysList(): Array<string>;
|
@@ -18,5 +20,5 @@ export declare class AXCronDayComponent {
|
|
18
20
|
protected get isBoMonthCustom(): boolean;
|
19
21
|
protected get isBoMonthBefore(): boolean;
|
20
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronDayComponent, never>;
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronDayComponent, "ax-cron-day", never, {}, {}, never, never, false, never>;
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronDayComponent, "ax-cron-day", never, {}, { "dayChanged": "dayChanged"; }, never, never, false, never>;
|
22
24
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { CronJobService } from '../cron-job.service';
|
2
2
|
import { IExpression } from '../types/iexpression';
|
3
3
|
import { Day } from './day.model';
|
4
4
|
import * as i0 from "@angular/core";
|
@@ -6,7 +6,7 @@ export declare class DayService implements IExpression {
|
|
6
6
|
private stringService;
|
7
7
|
dayModel: Day;
|
8
8
|
daysList: Array<string>;
|
9
|
-
constructor(stringService:
|
9
|
+
constructor(stringService: CronJobService);
|
10
10
|
getExpression(): any;
|
11
11
|
expressionValidation(preCronExpressionPattern: string, newCronExpressionPattern: string): string;
|
12
12
|
reversExpression(cronExpressionPattern: string): void;
|
@@ -7,8 +7,10 @@ export declare class AXCronHoursComponent {
|
|
7
7
|
hoursService: HoursService;
|
8
8
|
protected dropdownList: DropDownItem[];
|
9
9
|
protected zeroTo23: number[];
|
10
|
+
hoursChanged: import("@angular/core").OutputEmitterRef<void>;
|
11
|
+
protected inputChange(): void;
|
10
12
|
protected changeHandler(e: AXValueChangedEvent): void;
|
11
13
|
protected get isCustom(): boolean;
|
12
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronHoursComponent, never>;
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronHoursComponent, "ax-cron-hours", never, {}, {}, never, never, false, never>;
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronHoursComponent, "ax-cron-hours", never, {}, { "hoursChanged": "hoursChanged"; }, never, never, false, never>;
|
14
16
|
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { CronJobService } from '../cron-job.service';
|
2
2
|
import { IExpression } from '../types/iexpression';
|
3
3
|
import { Hours } from './hours.model';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export declare class HoursService implements IExpression {
|
6
6
|
private stringService;
|
7
7
|
hourModel: Hours;
|
8
|
-
constructor(stringService:
|
8
|
+
constructor(stringService: CronJobService);
|
9
9
|
getExpression(): string;
|
10
10
|
reversExpression(cronExpressionPattern: string): void;
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<HoursService, never>;
|
@@ -7,8 +7,10 @@ export declare class AXCronMinutesComponent {
|
|
7
7
|
protected minutesService: MinutesService;
|
8
8
|
protected dropdownList: DropDownItem[];
|
9
9
|
protected zeroTo59: number[];
|
10
|
+
minutesChanged: import("@angular/core").OutputEmitterRef<void>;
|
11
|
+
protected inputChange(): void;
|
10
12
|
protected changeHandler(e: AXValueChangedEvent): void;
|
11
13
|
protected get isCustom(): boolean;
|
12
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronMinutesComponent, never>;
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMinutesComponent, "ax-cron-minutes", never, {}, {}, never, never, false, never>;
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMinutesComponent, "ax-cron-minutes", never, {}, { "minutesChanged": "minutesChanged"; }, never, never, false, never>;
|
14
16
|
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { CronJobService } from '../cron-job.service';
|
2
2
|
import { IExpression } from '../types/iexpression';
|
3
3
|
import { Minutes } from './minutes.model';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export declare class MinutesService implements IExpression {
|
6
6
|
private stringService;
|
7
7
|
minuteModel: Minutes;
|
8
|
-
constructor(stringService:
|
8
|
+
constructor(stringService: CronJobService);
|
9
9
|
getExpression(): string;
|
10
10
|
reversExpression(cronExpressionPattern: string): void;
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<MinutesService, never>;
|
@@ -8,9 +8,11 @@ export declare class AXCronMonthComponent {
|
|
8
8
|
protected dropdownList: DropDownItem[];
|
9
9
|
protected dropdownList2: DropDownItem[];
|
10
10
|
protected oneTo12: DropDownItem[];
|
11
|
+
monthChanged: import("@angular/core").OutputEmitterRef<void>;
|
12
|
+
protected inputChange(): void;
|
11
13
|
protected changeHandler(e: AXValueChangedEvent): void;
|
12
14
|
protected get isCustom(): boolean;
|
13
15
|
protected get monthsList(): Array<string>;
|
14
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronMonthComponent, never>;
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMonthComponent, "ax-cron-month", never, {}, {}, never, never, false, never>;
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMonthComponent, "ax-cron-month", never, {}, { "monthChanged": "monthChanged"; }, never, never, false, never>;
|
16
18
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { CronJobService } from '../cron-job.service';
|
2
2
|
import { IExpression } from '../types/iexpression';
|
3
3
|
import { Month } from './month.model';
|
4
4
|
import * as i0 from "@angular/core";
|
@@ -6,7 +6,7 @@ export declare class MonthService implements IExpression {
|
|
6
6
|
private stringService;
|
7
7
|
monthModel: Month;
|
8
8
|
monthList: Array<string>;
|
9
|
-
constructor(stringService:
|
9
|
+
constructor(stringService: CronJobService);
|
10
10
|
getExpression(): string;
|
11
11
|
reversExpression(cronExpressionPattern: string): void;
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<MonthService, never>;
|
@@ -5,10 +5,12 @@ import * as i0 from "@angular/core";
|
|
5
5
|
export declare class AXCronSecondsComponent {
|
6
6
|
#private;
|
7
7
|
protected secondsService: SecondsService;
|
8
|
+
secondsChanged: import("@angular/core").OutputEmitterRef<void>;
|
8
9
|
protected dropdownList: DropDownItem[];
|
9
10
|
protected zeroTo59: number[];
|
11
|
+
protected inputChange(): void;
|
10
12
|
protected changeHandler(e: AXValueChangedEvent): void;
|
11
13
|
protected get isCustom(): boolean;
|
12
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronSecondsComponent, never>;
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronSecondsComponent, "ax-cron-seconds", never, {}, {}, never, never, false, never>;
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronSecondsComponent, "ax-cron-seconds", never, {}, { "secondsChanged": "secondsChanged"; }, never, never, false, never>;
|
14
16
|
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { CronJobService } from '../cron-job.service';
|
2
2
|
import { IExpression } from '../types/iexpression';
|
3
3
|
import { Seconds } from './seconds.model';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export declare class SecondsService implements IExpression {
|
6
6
|
private stringService;
|
7
7
|
secondModel: Seconds;
|
8
|
-
constructor(stringService:
|
8
|
+
constructor(stringService: CronJobService);
|
9
9
|
getExpression(): string;
|
10
10
|
reversExpression(cronExpressionPattern: string): void;
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<SecondsService, never>;
|
@@ -7,9 +7,11 @@ export declare class AXCronYearComponent {
|
|
7
7
|
yearService: YearService;
|
8
8
|
protected dropdownList: DropDownItem[];
|
9
9
|
protected oneTo100: DropDownItem[];
|
10
|
+
yearChanged: import("@angular/core").OutputEmitterRef<void>;
|
11
|
+
protected inputChange(): void;
|
10
12
|
protected changeHandler(e: AXValueChangedEvent): void;
|
11
13
|
protected get isCustom(): boolean;
|
12
14
|
protected getYearByOffset(offset: number): number;
|
13
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCronYearComponent, never>;
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronYearComponent, "ax-cron-year", never, {}, {}, never, never, false, never>;
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCronYearComponent, "ax-cron-year", never, {}, { "yearChanged": "yearChanged"; }, never, never, false, never>;
|
15
17
|
}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import {
|
1
|
+
import { CronJobService } from '../cron-job.service';
|
2
2
|
import { Year } from './year.model';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export declare class YearService {
|
5
5
|
private stringService;
|
6
6
|
yearModel: Year;
|
7
|
-
constructor(stringService:
|
7
|
+
constructor(stringService: CronJobService);
|
8
8
|
getExpression(): string;
|
9
9
|
reversExpression(cronExpressionPattern: string): void;
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<YearService, never>;
|
@@ -12,13 +12,13 @@ export declare class AXDataPagerInfoComponent extends AXDataPagerChild {
|
|
12
12
|
*/
|
13
13
|
text: string;
|
14
14
|
/**
|
15
|
-
|
16
|
-
|
15
|
+
* @ignore
|
16
|
+
*/
|
17
17
|
protected _textFormatted: string;
|
18
18
|
protected translateService: AXTranslationService;
|
19
19
|
/**
|
20
|
-
|
21
|
-
|
20
|
+
* @ignore
|
21
|
+
*/
|
22
22
|
protected applyParent(): void;
|
23
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerInfoComponent, never>;
|
24
24
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerInfoComponent, "ax-data-pager-info", never, { "text": { "alias": "text"; "required": false; }; }, {}, never, never, false, never>;
|
@@ -10,6 +10,7 @@ export type AXDataPagerMode = 'full' | 'compact' | 'custom';
|
|
10
10
|
*/
|
11
11
|
export declare class AXDataPagerComponent extends MXValueComponent<number> {
|
12
12
|
private _parent;
|
13
|
+
classes: import("@angular/core").InputSignal<string>;
|
13
14
|
/**
|
14
15
|
* @ignore
|
15
16
|
*/
|
@@ -145,6 +146,7 @@ export declare class AXDataPagerComponent extends MXValueComponent<number> {
|
|
145
146
|
* @ignore
|
146
147
|
*/
|
147
148
|
goToPage(page: number): void;
|
149
|
+
get __hostClass(): string;
|
148
150
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerComponent, [{ optional: true; }]>;
|
149
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerComponent, "ax-data-pager", never, { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "size": { "alias": "size"; "required": false; }; "total": { "alias": "total"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; }, { "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "disabledChange": "disabledChange"; "readonlyChange": "readonlyChange"; "displayModeChange": "displayModeChange"; "onChanged": "onChanged"; }, never, ["ax-prefix", "ax-suffix"], false, never>;
|
151
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerComponent, "ax-data-pager", never, { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "classes": { "alias": "class"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; }; "size": { "alias": "size"; "required": false; }; "total": { "alias": "total"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; }, { "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "disabledChange": "disabledChange"; "readonlyChange": "readonlyChange"; "displayModeChange": "displayModeChange"; "onChanged": "onChanged"; }, never, ["ax-prefix", "ax-suffix"], false, never>;
|
150
152
|
}
|
@@ -18,11 +18,11 @@ export class AXBadgeComponent extends MXColorLookComponent {
|
|
18
18
|
return `ax-el-${this.color}-${this.look} ${!this.text() ? 'ax-mini-badge' : ''} ${this.text()?.length == 1 ? 'ax-single-badge' : ''}`;
|
19
19
|
}
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXBadgeComponent, selector: "ax-badge", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXBadgeComponent, selector: "ax-badge", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem;max-height:fit-content}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
22
22
|
}
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBadgeComponent, decorators: [{
|
24
24
|
type: Component,
|
25
|
-
args: [{ selector: 'ax-badge', inputs: ['color', 'look'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"] }]
|
25
|
+
args: [{ selector: 'ax-badge', inputs: ['color', 'look'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem;max-height:fit-content}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"] }]
|
26
26
|
}], propDecorators: { __hostClass: [{
|
27
27
|
type: HostBinding,
|
28
28
|
args: ['class']
|
@@ -111,7 +111,7 @@ export class AXButtonItemListComponent extends MXInteractiveComponent {
|
|
111
111
|
}
|
112
112
|
}
|
113
113
|
<ng-content select="ax-button-item, ax-title, ax-divider, ng-container"></ng-content>
|
114
|
-
`, isInline: true, styles: ["ax-button-item-list{padding:.
|
114
|
+
`, isInline: true, styles: ["ax-button-item-list.ax-action-list{padding:.25rem 0}ax-button-item-list.ax-action-list .ax-action-item:not(ax-button-item-list.ax-action-list .ax-action-item:last-child){margin-bottom:.25rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
115
115
|
}
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonItemListComponent, decorators: [{
|
117
117
|
type: Component,
|
@@ -135,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
135
135
|
}
|
136
136
|
}
|
137
137
|
<ng-content select="ax-button-item, ax-title, ax-divider, ng-container"></ng-content>
|
138
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-button-item-list{padding:.
|
138
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-button-item-list.ax-action-list{padding:.25rem 0}ax-button-item-list.ax-action-list .ax-action-item:not(ax-button-item-list.ax-action-list .ax-action-item:last-child){margin-bottom:.25rem}\n"] }]
|
139
139
|
}], ctorParameters: () => [{ type: i3.AXClosbaleComponent, decorators: [{
|
140
140
|
type: Optional
|
141
141
|
}, {
|
@@ -1,6 +1,8 @@
|
|
1
|
+
import { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, } from '@acorex/components/common';
|
1
2
|
import { AXTabsComponent } from '@acorex/components/tabs';
|
2
|
-
import { afterNextRender, Component,
|
3
|
-
import {
|
3
|
+
import { afterNextRender, Component, forwardRef, inject, signal, viewChild, ViewEncapsulation, } from '@angular/core';
|
4
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
5
|
+
import { CronJobService } from '../cron-job.service';
|
4
6
|
import { DayService } from '../day/day.service';
|
5
7
|
import { HoursService } from '../hours/hours.service';
|
6
8
|
import { MinutesService } from '../minutes/minutes.service';
|
@@ -10,39 +12,35 @@ import { YearService } from '../year/year.service';
|
|
10
12
|
import * as i0 from "@angular/core";
|
11
13
|
import * as i1 from "@acorex/components/tabs";
|
12
14
|
import * as i2 from "@acorex/components/decorators";
|
13
|
-
import * as i3 from "
|
14
|
-
import * as i4 from "
|
15
|
-
import * as i5 from "
|
16
|
-
import * as i6 from "../
|
17
|
-
import * as i7 from "../
|
18
|
-
import * as i8 from "../
|
19
|
-
import * as i9 from "
|
20
|
-
import * as i10 from "
|
21
|
-
|
22
|
-
import * as i12 from "@angular/common";
|
23
|
-
import * as i13 from "@acorex/core/translation";
|
24
|
-
export class AXCronJobContainerComponent {
|
15
|
+
import * as i3 from "../day/day.component";
|
16
|
+
import * as i4 from "../hours/hours.component";
|
17
|
+
import * as i5 from "../minutes/minutes.component";
|
18
|
+
import * as i6 from "../month/month.component";
|
19
|
+
import * as i7 from "../seconds/seconds.component";
|
20
|
+
import * as i8 from "../year/year.component";
|
21
|
+
import * as i9 from "@angular/common";
|
22
|
+
import * as i10 from "@acorex/core/translation";
|
23
|
+
export class AXCronJobContainerComponent extends MXInputBaseValueComponent {
|
25
24
|
constructor() {
|
25
|
+
super(...arguments);
|
26
|
+
this.secondsService = inject(SecondsService);
|
27
|
+
this.minutesService = inject(MinutesService);
|
28
|
+
this.hoursService = inject(HoursService);
|
29
|
+
this.monthService = inject(MonthService);
|
30
|
+
this.dayService = inject(DayService);
|
31
|
+
this.yearService = inject(YearService);
|
26
32
|
this.tabComponent = viewChild(AXTabsComponent);
|
27
33
|
this.activeTab = signal('Seconds');
|
28
|
-
this.expResult = '* * * ? * * *';
|
29
|
-
this.onExpressionChange = output();
|
30
|
-
this.#init = afterNextRender(() => {
|
31
|
-
this.tabComponent().onActiveTabChanged.subscribe((e) => {
|
32
|
-
this.activeTab.set(e.tab.key);
|
33
|
-
});
|
34
|
-
});
|
35
34
|
this.options = signal({
|
36
35
|
fit: true,
|
37
36
|
look: 'with-line',
|
38
37
|
location: 'bottom',
|
39
38
|
});
|
40
|
-
this
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
this.yearService = inject(YearService);
|
39
|
+
this.#init = afterNextRender(() => {
|
40
|
+
this.tabComponent().onActiveTabChanged.subscribe((e) => {
|
41
|
+
this.activeTab.set(e.tab.key);
|
42
|
+
});
|
43
|
+
});
|
46
44
|
}
|
47
45
|
#init;
|
48
46
|
onGetModel() {
|
@@ -52,39 +50,58 @@ export class AXCronJobContainerComponent {
|
|
52
50
|
const monthExp = this.monthService.getExpression();
|
53
51
|
const dayExp = this.dayService.getExpression();
|
54
52
|
const yearExp = this.yearService.getExpression();
|
55
|
-
|
56
|
-
this.
|
53
|
+
const expResult = `${secondsExp} ${minutesExp} ${hoursExp} ${dayExp[1]} ${monthExp} ${dayExp[0]} ${yearExp}`;
|
54
|
+
this.commitValue(expResult, true);
|
57
55
|
}
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
internalValueChanged(cronExpressionPattern) {
|
57
|
+
setTimeout(() => {
|
58
|
+
this.secondsService.reversExpression(cronExpressionPattern);
|
59
|
+
this.minutesService.reversExpression(cronExpressionPattern);
|
60
|
+
this.hoursService.reversExpression(cronExpressionPattern);
|
61
|
+
this.dayService.reversExpression(cronExpressionPattern);
|
62
|
+
this.monthService.reversExpression(cronExpressionPattern);
|
63
|
+
this.yearService.reversExpression(cronExpressionPattern);
|
64
|
+
});
|
66
65
|
}
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronJobContainerComponent, deps:
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronJobContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.0", type: AXCronJobContainerComponent, selector: "ax-cron-job-container", outputs: { onValueChanged: "onValueChanged" }, providers: [
|
69
68
|
SecondsService,
|
70
69
|
MinutesService,
|
71
70
|
HoursService,
|
72
71
|
DayService,
|
73
72
|
MonthService,
|
74
73
|
YearService,
|
75
|
-
|
76
|
-
|
74
|
+
CronJobService,
|
75
|
+
{ provide: AXComponent, useExisting: AXCronJobContainerComponent },
|
76
|
+
{ provide: AXFocusableComponent, useExisting: AXCronJobContainerComponent },
|
77
|
+
{ provide: AXClearableComponent, useExisting: AXCronJobContainerComponent },
|
78
|
+
{ provide: AXValuableComponent, useExisting: AXCronJobContainerComponent },
|
79
|
+
{
|
80
|
+
provide: NG_VALUE_ACCESSOR,
|
81
|
+
useExisting: forwardRef(() => AXCronJobContainerComponent),
|
82
|
+
multi: true,
|
83
|
+
},
|
84
|
+
], viewQueries: [{ propertyName: "tabComponent", first: true, predicate: AXTabsComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ax-tabs\n [content]=\"cronTab\"\n [look]=\"options().look\"\n [fitParent]=\"options().fit\"\n [location]=\"options().location\"\n>\n <ax-tab-item key=\"Seconds\" [text]=\"'time.Seconds' | translate | async\">\n <ax-content> <ax-cron-seconds (secondsChanged)=\"onGetModel()\"></ax-cron-seconds></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Minutes\" [text]=\"'time.Minutes' | translate | async\">\n <ax-content> <ax-cron-minutes (minutesChanged)=\"onGetModel()\"></ax-cron-minutes></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Hours\" [text]=\"'time.Hours' | translate | async\">\n <ax-content> <ax-cron-hours (hoursChanged)=\"onGetModel()\"></ax-cron-hours></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Days\" [text]=\"'time.Days' | translate | async\">\n <ax-content> <ax-cron-day (dayChanged)=\"onGetModel()\"></ax-cron-day></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Months\" [text]=\"'time.Months' | translate | async\">\n <ax-content> <ax-cron-month (monthChanged)=\"onGetModel()\"></ax-cron-month></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Years\" [text]=\"'time.Years' | translate | async\">\n <ax-content><ax-cron-year (yearChanged)=\"onGetModel()\"></ax-cron-year></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<div class=\"ax-cron-tools-container\">\n <ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n</div>\n", styles: ["ax-cron-job-container{display:block;border:1px solid rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-btn-result-container{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.ax-btn-result-container ax-button{margin-inline-end:1rem}.ax-cron-tools-container{padding:1rem;border-bottom:1px solid rgb(var(--ax-color-border-default));overflow-x:auto}\n"], dependencies: [{ kind: "component", type: i1.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i1.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i1.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXCronDayComponent, selector: "ax-cron-day", outputs: ["dayChanged"] }, { kind: "component", type: i4.AXCronHoursComponent, selector: "ax-cron-hours", outputs: ["hoursChanged"] }, { kind: "component", type: i5.AXCronMinutesComponent, selector: "ax-cron-minutes", outputs: ["minutesChanged"] }, { kind: "component", type: i6.AXCronMonthComponent, selector: "ax-cron-month", outputs: ["monthChanged"] }, { kind: "component", type: i7.AXCronSecondsComponent, selector: "ax-cron-seconds", outputs: ["secondsChanged"] }, { kind: "component", type: i8.AXCronYearComponent, selector: "ax-cron-year", outputs: ["yearChanged"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
77
85
|
}
|
78
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronJobContainerComponent, decorators: [{
|
79
87
|
type: Component,
|
80
|
-
args: [{ selector: 'ax-cron-job-container', providers: [
|
88
|
+
args: [{ selector: 'ax-cron-job-container', outputs: ['onValueChanged'], providers: [
|
81
89
|
SecondsService,
|
82
90
|
MinutesService,
|
83
91
|
HoursService,
|
84
92
|
DayService,
|
85
93
|
MonthService,
|
86
94
|
YearService,
|
87
|
-
|
88
|
-
|
95
|
+
CronJobService,
|
96
|
+
{ provide: AXComponent, useExisting: AXCronJobContainerComponent },
|
97
|
+
{ provide: AXFocusableComponent, useExisting: AXCronJobContainerComponent },
|
98
|
+
{ provide: AXClearableComponent, useExisting: AXCronJobContainerComponent },
|
99
|
+
{ provide: AXValuableComponent, useExisting: AXCronJobContainerComponent },
|
100
|
+
{
|
101
|
+
provide: NG_VALUE_ACCESSOR,
|
102
|
+
useExisting: forwardRef(() => AXCronJobContainerComponent),
|
103
|
+
multi: true,
|
104
|
+
},
|
105
|
+
], encapsulation: ViewEncapsulation.None, template: "<ax-tabs\n [content]=\"cronTab\"\n [look]=\"options().look\"\n [fitParent]=\"options().fit\"\n [location]=\"options().location\"\n>\n <ax-tab-item key=\"Seconds\" [text]=\"'time.Seconds' | translate | async\">\n <ax-content> <ax-cron-seconds (secondsChanged)=\"onGetModel()\"></ax-cron-seconds></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Minutes\" [text]=\"'time.Minutes' | translate | async\">\n <ax-content> <ax-cron-minutes (minutesChanged)=\"onGetModel()\"></ax-cron-minutes></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Hours\" [text]=\"'time.Hours' | translate | async\">\n <ax-content> <ax-cron-hours (hoursChanged)=\"onGetModel()\"></ax-cron-hours></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Days\" [text]=\"'time.Days' | translate | async\">\n <ax-content> <ax-cron-day (dayChanged)=\"onGetModel()\"></ax-cron-day></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Months\" [text]=\"'time.Months' | translate | async\">\n <ax-content> <ax-cron-month (monthChanged)=\"onGetModel()\"></ax-cron-month></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Years\" [text]=\"'time.Years' | translate | async\">\n <ax-content><ax-cron-year (yearChanged)=\"onGetModel()\"></ax-cron-year></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<div class=\"ax-cron-tools-container\">\n <ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n</div>\n", styles: ["ax-cron-job-container{display:block;border:1px solid rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-btn-result-container{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.ax-btn-result-container ax-button{margin-inline-end:1rem}.ax-cron-tools-container{padding:1rem;border-bottom:1px solid rgb(var(--ax-color-border-default));overflow-x:auto}\n"] }]
|
89
106
|
}] });
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1qb2ItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2Nyb24tam9iLWNvbnRhaW5lci9jcm9uLWpvYi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvY3Jvbi1qb2ItY29udGFpbmVyL2Nyb24tam9iLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTRCLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFpQm5ELE1BQU0sT0FBTywyQkFBMkI7SUFmeEM7UUFnQlksaUJBQVksR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5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WixXQUFXO1lBQ1gsYUFBYTtTQUNkLHdFQUlrQyxlQUFlLGdFQ3BDcEQsd2hEQThDQTs7MkZEWGEsMkJBQTJCO2tCQWZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3FCQUNkLGlCQUNjLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsaWNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYVGFiTG9jYXRpb24sIEFYVGFiTG9vaywgQVhUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdHJpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vY3Jvbi1qb2Iuc2VydmljZSc7XG5pbXBvcnQgeyBEYXlTZXJ2aWNlIH0gZnJvbSAnLi4vZGF5L2RheS5zZXJ2aWNlJztcbmltcG9ydCB7IEhvdXJzU2VydmljZSB9IGZyb20gJy4uL2hvdXJzL2hvdXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWludXRlc1NlcnZpY2UgfSBmcm9tICcuLi9taW51dGVzL21pbnV0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBNb250aFNlcnZpY2UgfSBmcm9tICcuLi9tb250aC9tb250aC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY29uZHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2Vjb25kcy9zZWNvbmRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWWVhclNlcnZpY2UgfSBmcm9tICcuLi95ZWFyL3llYXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNyb24tam9iLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcm9uLWpvYi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY3Jvbi1qb2ItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2Vjb25kc1NlcnZpY2UsXG4gICAgTWludXRlc1NlcnZpY2UsXG4gICAgSG91cnNTZXJ2aWNlLFxuICAgIERheVNlcnZpY2UsXG4gICAgTW9udGhTZXJ2aWNlLFxuICAgIFllYXJTZXJ2aWNlLFxuICAgIFN0cmluZ1NlcnZpY2UsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ3JvbkpvYkNvbnRhaW5lckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCB0YWJDb21wb25lbnQgPSB2aWV3Q2hpbGQoQVhUYWJzQ29tcG9uZW50KTtcbiAgcHJvdGVjdGVkIGFjdGl2ZVRhYiA9IHNpZ25hbCgnU2Vjb25kcycpO1xuICBwcm90ZWN0ZWQgZXhwUmVzdWx0ID0gJyogKiAqID8gKiAqIConO1xuXG4gIG9uRXhwcmVzc2lvbkNoYW5nZSA9IG91dHB1dDxBWENsaWNrRXZlbnQ+KCk7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIHRoaXMudGFiQ29tcG9uZW50KCkub25BY3RpdmVUYWJDaGFuZ2VkLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVUYWIuc2V0KGUudGFiLmtleSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBvcHRpb25zID0gc2lnbmFsKHtcbiAgICBmaXQ6IHRydWUsXG4gICAgbG9vazogJ3dpdGgtbGluZScgYXMgQVhUYWJMb29rLFxuICAgIGxvY2F0aW9uOiAnYm90dG9tJyBhcyBBWFRhYkxvY2F0aW9uLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgc2Vjb25kc1NlcnZpY2UgPSBpbmplY3QoU2Vjb25kc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgbWludXRlc1NlcnZpY2UgPSBpbmplY3QoTWludXRlc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgaG91cnNTZXJ2aWNlID0gaW5qZWN0KEhvdXJzU2VydmljZSk7XG4gIHByb3RlY3RlZCBtb250aFNlcnZpY2UgPSBpbmplY3QoTW9udGhTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRheVNlcnZpY2UgPSBpbmplY3QoRGF5U2VydmljZSk7XG4gIHByb3RlY3RlZCB5ZWFyU2VydmljZSA9IGluamVjdChZZWFyU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIG9uR2V0TW9kZWwoKSB7XG4gICAgY29uc3Qgc2Vjb25kc0V4cCA9IHRoaXMuc2Vjb25kc1NlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IG1pbnV0ZXNFeHAgPSB0aGlzLm1pbnV0ZXNTZXJ2aWNlLmdldEV4cHJlc3Npb24oKTtcbiAgICBjb25zdCBob3Vyc0V4cCA9IHRoaXMuaG91cnNTZXJ2aWNlLmdldEV4cHJlc3Npb24oKTtcbiAgICBjb25zdCBtb250aEV4cCA9IHRoaXMubW9udGhTZXJ2aWNlLmdldEV4cHJlc3Npb24oKTtcbiAgICBjb25zdCBkYXlFeHAgPSB0aGlzLmRheVNlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IHllYXJFeHAgPSB0aGlzLnllYXJTZXJ2aWNlLmdldEV4cHJlc3Npb24oKTtcbiAgICB0aGlzLmV4cFJlc3VsdCA9IGAke3NlY29uZHNFeHB9ICR7bWludXRlc0V4cH0gJHtob3Vyc0V4cH0gJHtkYXlFeHBbMV19ICR7bW9udGhFeHB9ICR7ZGF5RXhwWzBdfSAke3llYXJFeHB9YDtcbiAgICB0aGlzLm9uRXhwcmVzc2lvbkNoYW5nZS5lbWl0KHsgZGF0YTogdGhpcy5leHBSZXN1bHQsIGNvbXBvbmVudDogdGhpcyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXZlcnNlRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXhwUmVzdWx0ID0gdGhpcy5kYXlTZXJ2aWNlLmV4cHJlc3Npb25WYWxpZGF0aW9uKHRoaXMuZXhwUmVzdWx0LCBjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgIHRoaXMuc2Vjb25kc1NlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgIHRoaXMubWludXRlc1NlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgIHRoaXMuaG91cnNTZXJ2aWNlLnJldmVyc0V4cHJlc3Npb24oY3JvbkV4cHJlc3Npb25QYXR0ZXJuKTtcbiAgICB0aGlzLmRheVNlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgIHRoaXMubW9udGhTZXJ2aWNlLnJldmVyc0V4cHJlc3Npb24oY3JvbkV4cHJlc3Npb25QYXR0ZXJuKTtcbiAgICB0aGlzLnllYXJTZXJ2aWNlLnJldmVyc0V4cHJlc3Npb24oY3JvbkV4cHJlc3Npb25QYXR0ZXJuKTtcbiAgfVxufVxuIiwiPGF4LXRhYnMgW2xvb2tdPVwib3B0aW9ucygpLmxvb2tcIiBbZml0UGFyZW50XT1cIm9wdGlvbnMoKS5maXRcIiBbbG9jYXRpb25dPVwib3B0aW9ucygpLmxvY2F0aW9uXCI+XG4gIDxheC10YWItaXRlbSBrZXk9XCJTZWNvbmRzXCIgW3RleHRdPVwiJ3RpbWUuU2Vjb25kcycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPiA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiTWludXRlc1wiIFt0ZXh0XT1cIid0aW1lLk1pbnV0ZXMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj4gPC9heC10YWItaXRlbT5cbiAgPGF4LXRhYi1pdGVtIGtleT1cIkhvdXJzXCIgW3RleHRdPVwiJ3RpbWUuSG91cnMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj4gPC9heC10YWItaXRlbT5cbiAgPGF4LXRhYi1pdGVtIGtleT1cIkRheXNcIiBbdGV4dF09XCIndGltZS5EYXlzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCI+PC9heC10YWItaXRlbT5cbiAgPGF4LXRhYi1pdGVtIGtleT1cIk1vbnRoc1wiIFt0ZXh0XT1cIid0aW1lLk1vbnRocycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPjwvYXgtdGFiLWl0ZW0+XG4gIDxheC10YWItaXRlbSBrZXk9XCJZZWFyc1wiIFt0ZXh0XT1cIid0aW1lLlllYXJzJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCI+PC9heC10YWItaXRlbT5cbjwvYXgtdGFicz5cblxuPGRpdiBjbGFzcz1cImF4LWNyb24tdG9vbHMtY29udGFpbmVyXCI+XG4gIEBzd2l0Y2ggKGFjdGl2ZVRhYigpKSB7XG4gICAgQGNhc2UgKCdTZWNvbmRzJykge1xuICAgICAgPGF4LWNyb24tc2Vjb25kcz48L2F4LWNyb24tc2Vjb25kcz5cbiAgICB9XG4gICAgQGNhc2UgKCdNaW51dGVzJykge1xuICAgICAgPGF4LWNyb24tbWludXRlcz48L2F4LWNyb24tbWludXRlcz5cbiAgICB9XG4gICAgQGNhc2UgKCdIb3VycycpIHtcbiAgICAgIDxheC1jcm9uLWhvdXJzPjwvYXgtY3Jvbi1ob3Vycz5cbiAgICB9XG4gICAgQGNhc2UgKCdEYXlzJykge1xuICAgICAgPGF4LWNyb24tZGF5PjwvYXgtY3Jvbi1kYXk+XG4gICAgfVxuICAgIEBjYXNlICgnTW9udGhzJykge1xuICAgICAgPGF4LWNyb24tbW9udGg+PC9heC1jcm9uLW1vbnRoPlxuICAgIH1cbiAgICBAY2FzZSAoJ1llYXJzJykge1xuICAgICAgPGF4LWNyb24teWVhcj48L2F4LWNyb24teWVhcj5cbiAgICB9XG4gIH1cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtYnRuLXJlc3VsdC1jb250YWluZXJcIj5cbiAgPGF4LWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgW3RleHRdPVwiJ2dlbmVyYXRlLWV4cHJlc3Npb24nIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCJcbiAgICAoY2xpY2spPVwib25HZXRNb2RlbCgpXCJcbiAgPjwvYXgtYnV0dG9uPlxuXG4gIDxkaXY+XG4gICAgPGF4LXRleHQtYm94IFtuZ01vZGVsXT1cImV4cFJlc3VsdFwiIChuZ01vZGVsQ2hhbmdlKT1cInJldmVyc2VFeHByZXNzaW9uKCRldmVudClcIj5cbiAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgPC9heC10ZXh0LWJveD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1qb2ItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2Nyb24tam9iLWNvbnRhaW5lci9jcm9uLWpvYi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvY3Jvbi1qb2ItY29udGFpbmVyL2Nyb24tam9iLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixHQUMxQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBNEIsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JB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biAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYVGFiTG9jYXRpb24sIEFYVGFiTG9vaywgQVhUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3JvbkpvYlNlcnZpY2UgfSBmcm9tICcuLi9jcm9uLWpvYi5zZXJ2aWNlJztcbmltcG9ydCB7IERheVNlcnZpY2UgfSBmcm9tICcuLi9kYXkvZGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSG91cnNTZXJ2aWNlIH0gZnJvbSAnLi4vaG91cnMvaG91cnMuc2VydmljZSc7XG5pbXBvcnQgeyBNaW51dGVzU2VydmljZSB9IGZyb20gJy4uL21pbnV0ZXMvbWludXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbnRoU2VydmljZSB9IGZyb20gJy4uL21vbnRoL21vbnRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vjb25kc1NlcnZpY2UgfSBmcm9tICcuLi9zZWNvbmRzL3NlY29uZHMuc2VydmljZSc7XG5pbXBvcnQgeyBZZWFyU2VydmljZSB9IGZyb20gJy4uL3llYXIveWVhci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY3Jvbi1qb2ItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nyb24tam9iLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jcm9uLWpvYi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNlY29uZHNTZXJ2aWNlLFxuICAgIE1pbnV0ZXNTZXJ2aWNlLFxuICAgIEhvdXJzU2VydmljZSxcbiAgICBEYXlTZXJ2aWNlLFxuICAgIE1vbnRoU2VydmljZSxcbiAgICBZZWFyU2VydmljZSxcbiAgICBDcm9uSm9iU2VydmljZSxcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDcm9uSm9iQ29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ3JvbkpvYkNvbnRhaW5lckNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENyb25Kb2JDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENyb25Kb2JDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYQ3JvbkpvYkNvbnRhaW5lckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENyb25Kb2JDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4ge1xuICBwcm90ZWN0ZWQgc2Vjb25kc1NlcnZpY2UgPSBpbmplY3QoU2Vjb25kc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgbWludXRlc1NlcnZpY2UgPSBpbmplY3QoTWludXRlc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgaG91cnNTZXJ2aWNlID0gaW5qZWN0KEhvdXJzU2VydmljZSk7XG4gIHByb3RlY3RlZCBtb250aFNlcnZpY2UgPSBpbmplY3QoTW9udGhTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRheVNlcnZpY2UgPSBpbmplY3QoRGF5U2VydmljZSk7XG4gIHByb3RlY3RlZCB5ZWFyU2VydmljZSA9IGluamVjdChZZWFyU2VydmljZSk7XG4gIHByb3RlY3RlZCB0YWJDb21wb25lbnQgPSB2aWV3Q2hpbGQoQVhUYWJzQ29tcG9uZW50KTtcbiAgcHJvdGVjdGVkIGFjdGl2ZVRhYiA9IHNpZ25hbCgnU2Vjb25kcycpO1xuXG4gIHByb3RlY3RlZCBvcHRpb25zID0gc2lnbmFsKHtcbiAgICBmaXQ6IHRydWUsXG4gICAgbG9vazogJ3dpdGgtbGluZScgYXMgQVhUYWJMb29rLFxuICAgIGxvY2F0aW9uOiAnYm90dG9tJyBhcyBBWFRhYkxvY2F0aW9uLFxuICB9KTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy50YWJDb21wb25lbnQoKS5vbkFjdGl2ZVRhYkNoYW5nZWQuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmFjdGl2ZVRhYi5zZXQoZS50YWIua2V5KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgb25HZXRNb2RlbCgpIHtcbiAgICBjb25zdCBzZWNvbmRzRXhwID0gdGhpcy5zZWNvbmRzU2VydmljZS5nZXRFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgbWludXRlc0V4cCA9IHRoaXMubWludXRlc1NlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IGhvdXJzRXhwID0gdGhpcy5ob3Vyc1NlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IG1vbnRoRXhwID0gdGhpcy5tb250aFNlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IGRheUV4cCA9IHRoaXMuZGF5U2VydmljZS5nZXRFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgeWVhckV4cCA9IHRoaXMueWVhclNlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IGV4cFJlc3VsdCA9IGAke3NlY29uZHNFeHB9ICR7bWludXRlc0V4cH0gJHtob3Vyc0V4cH0gJHtkYXlFeHBbMV19ICR7bW9udGhFeHB9ICR7ZGF5RXhwWzBdfSAke3llYXJFeHB9YDtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKGV4cFJlc3VsdCwgdHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQoY3JvbkV4cHJlc3Npb25QYXR0ZXJuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2Vjb25kc1NlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgICAgdGhpcy5taW51dGVzU2VydmljZS5yZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybik7XG4gICAgICB0aGlzLmhvdXJzU2VydmljZS5yZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybik7XG4gICAgICB0aGlzLmRheVNlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgICAgdGhpcy5tb250aFNlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgICAgdGhpcy55ZWFyU2VydmljZS5yZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybik7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxheC10YWJzXG4gIFtjb250ZW50XT1cImNyb25UYWJcIlxuICBbbG9va109XCJvcHRpb25zKCkubG9va1wiXG4gIFtmaXRQYXJlbnRdPVwib3B0aW9ucygpLmZpdFwiXG4gIFtsb2NhdGlvbl09XCJvcHRpb25zKCkubG9jYXRpb25cIlxuPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiU2Vjb25kc1wiIFt0ZXh0XT1cIid0aW1lLlNlY29uZHMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICA8YXgtY29udGVudD4gPGF4LWNyb24tc2Vjb25kcyAoc2Vjb25kc0NoYW5nZWQpPVwib25HZXRNb2RlbCgpXCI+PC9heC1jcm9uLXNlY29uZHM+PC9heC1jb250ZW50PlxuICA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiTWludXRlc1wiIFt0ZXh0XT1cIid0aW1lLk1pbnV0ZXMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICA8YXgtY29udGVudD4gPGF4LWNyb24tbWludXRlcyAobWludXRlc0NoYW5nZWQpPVwib25HZXRNb2RlbCgpXCI+PC9heC1jcm9uLW1pbnV0ZXM+PC9heC1jb250ZW50PlxuICA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiSG91cnNcIiBbdGV4dF09XCIndGltZS5Ib3VycycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgIDxheC1jb250ZW50PiA8YXgtY3Jvbi1ob3VycyAoaG91cnNDaGFuZ2VkKT1cIm9uR2V0TW9kZWwoKVwiPjwvYXgtY3Jvbi1ob3Vycz48L2F4LWNvbnRlbnQ+XG4gIDwvYXgtdGFiLWl0ZW0+XG4gIDxheC10YWItaXRlbSBrZXk9XCJEYXlzXCIgW3RleHRdPVwiJ3RpbWUuRGF5cycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgIDxheC1jb250ZW50PiA8YXgtY3Jvbi1kYXkgKGRheUNoYW5nZWQpPVwib25HZXRNb2RlbCgpXCI+PC9heC1jcm9uLWRheT48L2F4LWNvbnRlbnQ+XG4gIDwvYXgtdGFiLWl0ZW0+XG4gIDxheC10YWItaXRlbSBrZXk9XCJNb250aHNcIiBbdGV4dF09XCIndGltZS5Nb250aHMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICA8YXgtY29udGVudD4gPGF4LWNyb24tbW9udGggKG1vbnRoQ2hhbmdlZCk9XCJvbkdldE1vZGVsKClcIj48L2F4LWNyb24tbW9udGg+PC9heC1jb250ZW50PlxuICA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiWWVhcnNcIiBbdGV4dF09XCIndGltZS5ZZWFycycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgIDxheC1jb250ZW50PjxheC1jcm9uLXllYXIgKHllYXJDaGFuZ2VkKT1cIm9uR2V0TW9kZWwoKVwiPjwvYXgtY3Jvbi15ZWFyPjwvYXgtY29udGVudD5cbiAgPC9heC10YWItaXRlbT5cbjwvYXgtdGFicz5cblxuPGRpdiBjbGFzcz1cImF4LWNyb24tdG9vbHMtY29udGFpbmVyXCI+XG4gIDxuZy10ZW1wbGF0ZSBbYXhUYWJDb250ZW50XSAjY3JvblRhYj1cImF4VGFiQ29udGVudFwiPiA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|