@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,6 +1,6 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
export class
|
3
|
+
export class CronJobService {
|
4
4
|
addComma(str) {
|
5
5
|
if (str !== '')
|
6
6
|
// add , to end of string
|
@@ -51,10 +51,10 @@ export class StringService {
|
|
51
51
|
return { id: parseInt(item), text: item };
|
52
52
|
});
|
53
53
|
}
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CronJobService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CronJobService }); }
|
56
56
|
}
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CronJobService, decorators: [{
|
58
58
|
type: Injectable
|
59
59
|
}] });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1qb2Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2Nyb24tam9iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLGNBQWM7SUFDbEIsUUFBUSxDQUFDLEdBQVc7UUFDekIsSUFBSSxHQUFHLEtBQUssRUFBRTtZQUNaLHlCQUF5QjtZQUN6QixHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLENBQUMscUJBQTZCLEVBQUUsU0FBMEI7UUFDcEUsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsT0FBTyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUMvRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYTtRQUMvQixNQUFNLGFBQWEsR0FBa0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sSUFBSTtZQUNULENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8s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LENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTVEVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcm9wRG93bkl0ZW0sIFJlZ2V4SXRlbXNJbmRleCB9IGZyb20gJy4vdHlwZXMvc2hhcmVkLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENyb25Kb2JTZXJ2aWNlIHtcbiAgcHVibGljIGFkZENvbW1hKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoc3RyICE9PSAnJylcbiAgICAgIC8vIGFkZCAsIHRvIGVuZCBvZiBzdHJpbmdcbiAgICAgIHN0ciA9IHN0ci5jb25jYXQoJywnKTtcblxuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBnZXRSZWdleEl0ZW0oY3JvbkV4cHJlc3Npb25QYXR0ZXJuOiBzdHJpbmcsIGl0ZW1JbmRleDogUmVnZXhJdGVtc0luZGV4KTogc3RyaW5nIHtcbiAgICBjb25zdCBleHByZXNzaW9uSXRlbXNMaXN0ID0gY3JvbkV4cHJlc3Npb25QYXR0ZXJuLnNwbGl0KCcgJyk7XG4gICAgcmV0dXJuIGV4cHJlc3Npb25JdGVtc0xpc3RbaXRlbUluZGV4XSA/IGV4cHJlc3Npb25JdGVtc0xpc3RbaXRlbUluZGV4XSA6ICcqJztcbiAgfVxuXG4gIGdldEludGVydmFsQ3JvbkRhdGEocmVnZXg6IHN0cmluZyk6IHsgaW50ZXJ2YWw6IG51bWJlcjsgc3RhcnRBdDogbnVtYmVyIH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlZ2V4RGF0YUxpc3Q6IEFycmF5PHN0cmluZz4gPSByZWdleC5zcGxpdCgnLCcpO1xuICAgIGNvbnN0IHJhbmdlUGF0dGVybiA9ICcvJztcbiAgICBjb25zdCBpdGVtID0gcmVnZXhEYXRhTGlzdC5maW5kKChpdGVtKSA9PiBpdGVtLmluY2x1ZGVzKHJhbmdlUGF0dGVybikpO1xuXG4gICAgcmV0dXJuIGl0ZW1cbiAgICAgID8geyBpbnRlcnZhbDogcGFyc2VJbnQoaXRlbS5zcGxpdCgnLycpWzFdKSwgc3RhcnRBdDogcGFyc2VJbnQoaXRlbS5zcGxpdCgnLycpWzBdKSB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFNwZWNpZmljQ3JvbkRhdGEocmVnZXg6IHN0cmluZywgZHJvcERvd25kYXJhPzogQXJyYXk8c3RyaW5nPik6IEFycmF5PERyb3BEb3duSXRlbT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlZ2V4RGF0YUxpc3Q6IEFycmF5PHN0cmluZz4gPSByZWdleC5zcGxpdCgnLCcpO1xuICAgIC8vICoqUmVnZXggcGF0dGVybiB0byBmaW5kIG9ubHkgZGlnaXRzIGluIGFuIGFycmF5IGl0ZW1zLioqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXlswLTldKyQnKTtcbiAgICBjb25zdCBpdGVtcyA9IHJlZ2V4RGF0YUxpc3QuZmlsdGVyKChpdGVtKSA9PiByZWdleFBhdHRlcm4udGVzdChpdGVtKSk7XG5cbiAgICByZXR1cm4gaXRlbXMubGVuZ3RoID8gdGhpcy5tYXBJdGVtc1RvRHJvcERvd25JdGVtKGl0ZW1zLCBkcm9wRG93bmRhcmEpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0UmFuZ2VDcm9uRGF0YShyZWdleDogc3RyaW5nKTogeyBmcm9tOiBudW1iZXI7IHRvOiBudW1iZXIgfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcmVnZXhEYXRhTGlzdDogQXJyYXk8c3RyaW5nPiA9IHJlZ2V4LnNwbGl0KCcsJyk7XG4gICAgY29uc3QgcmFuZ2VQYXR0ZXJuID0gJy0nO1xuICAgIGNvbnN0IGl0ZW0gPSByZWdleERhdGFMaXN0LmZpbmQoKGl0ZW0pID0+IGl0ZW0uaW5jbHVkZXMocmFuZ2VQYXR0ZXJuKSk7XG4gICAgcmV0dXJuIGl0ZW1cbiAgICAgID8geyBmcm9tOiBwYXJzZUludChpdGVtLnNwbGl0KHJhbmdlUGF0dGVybilbMF0pLCB0bzogcGFyc2VJbnQoaXRlbS5zcGxpdChyYW5nZVBhdHRlcm4pWzFdKSB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldERheU9mTW9udGhDcm9uRGF0YShyZWdleDogc3RyaW5nKTogeyBkYXk6IG51bWJlcjsgeHN0OiBudW1iZXIgfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcmVnZXhEYXRhTGlzdDogQXJyYXk8c3RyaW5nPiA9IHJlZ2V4LnNwbGl0KCcsJyk7XG4gICAgY29uc3QgcmFuZ2VQYXR0ZXJuID0gJyMnO1xuICAgIGNvbnN0IGl0ZW0gPSByZWdleERhdGFMaXN0LmZpbmQoKGl0ZW0pID0+IGl0ZW0uaW5jbHVkZXMocmFuZ2VQYXR0ZXJuKSk7XG4gICAgcmV0dXJuIGl0ZW1cbiAgICAgID8geyBkYXk6IHBhcnNlSW50KGl0ZW0uc3BsaXQocmFuZ2VQYXR0ZXJuKVswXSksIHhzdDogcGFyc2VJbnQoaXRlbS5zcGxpdChyYW5nZVBhdHRlcm4pWzFdKSB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG1hcEl0ZW1zVG9Ecm9wRG93bkl0ZW0oaXRlbXM6IEFycmF5PHN0cmluZz4sIGRyb3BEb3duZGF0YT86IEFycmF5PHN0cmluZz4pOiBBcnJheTxEcm9wRG93bkl0ZW0+IHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICBpZiAoZHJvcERvd25kYXRhKSB7XG4gICAgICAgIGNvbnN0IGRyb3BEb3duSXRlbTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZHJvcERvd25kYXRhW3BhcnNlSW50KGl0ZW0pIC0gMV07XG4gICAgICAgIHJldHVybiBkcm9wRG93bkl0ZW0gPyB7IGlkOiBwYXJzZUludChpdGVtKSwgdGV4dDogZHJvcERvd25JdGVtIH0gOiB7IGlkOiBwYXJzZUludChpdGVtKSwgdGV4dDogaXRlbSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4geyBpZDogcGFyc2VJbnQoaXRlbSksIHRleHQ6IGl0ZW0gfTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { afterNextRender, Component, inject, ViewEncapsulation } from '@angular/core';
|
1
|
+
import { afterNextRender, Component, inject, output, ViewEncapsulation } from '@angular/core';
|
2
2
|
import { DropDownItem } from '../types/shared.model';
|
3
3
|
import { BaseOnMonthType, BaseOnWeekType, DayType } from './day.model';
|
4
4
|
import { DayService } from './day.service';
|
@@ -26,8 +26,12 @@ export class AXCronDayComponent {
|
|
26
26
|
this.boMonthDropDownList[i] = new DropDownItem(i + 1, (i + 1).toString());
|
27
27
|
}
|
28
28
|
});
|
29
|
+
this.dayChanged = output();
|
29
30
|
}
|
30
31
|
#init;
|
32
|
+
inputChange() {
|
33
|
+
this.dayChanged.emit();
|
34
|
+
}
|
31
35
|
changeHandler(e) {
|
32
36
|
this.dayService.dayModel.baseOnWeek.custom.specific.values = e.component.selectedItems;
|
33
37
|
}
|
@@ -53,10 +57,10 @@ export class AXCronDayComponent {
|
|
53
57
|
return this.dayService.dayModel.baseOnMonth.type === BaseOnMonthType.Before ? true : false;
|
54
58
|
}
|
55
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronDayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXCronDayComponent, selector: "ax-cron-day", ngImport: i0, template: "<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"dayService.dayModel.type\"\n checked\n />\n <label for=\"option1\">{{ 'every' | translate | async }} {{ 'time.day' | translate | async }}</label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option2\"\n value=\"boweek\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option2\">{{ 'base-on-week' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"boweek\"\n id=\"boweekLast\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n\n <label for=\"boweekLast\">{{ 'on-the-last' | translate | async }}</label>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.last.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-the-month' | translate | async }}</span>\n </div>\n\n <div>\n <div class=\"ax-radio-container\">\n <input\n type=\"radio\"\n class=\"ax-radio\"\n name=\"boweek\"\n id=\"boweekCustom\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n <label for=\"boweekCustom\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-week' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-week-container\">\n <ax-check-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.isDayOfMonth\"\n >\n <ax-label>{{ 'on-the' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysIndexInMonth\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.xst\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-month' | translate | async }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option3\"\n value=\"bomonth\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option3\">{{ 'base-on-month' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast2\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthLast2\">{{ 'on-the-last-day-of-the-month' | translate | async }}</label>\n </div>\n\n <div class=\"ax-week-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast\"\n value=\"before\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthBefore\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.before\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-before-the-end-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthCustom2\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthCustom2\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-month' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"boMonthDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler2($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n </div>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container .ax-radio,ax-cron-hours .ax-block-container .ax-week-container .ax-radio,ax-cron-minutes .ax-block-container .ax-week-container .ax-radio,ax-cron-month .ax-block-container .ax-week-container .ax-radio,ax-cron-seconds .ax-block-container .ax-week-container .ax-radio,ax-cron-year .ax-block-container .ax-week-container .ax-radio{margin-inline-end:.5rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i4.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i6.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXCronDayComponent, selector: "ax-cron-day", outputs: { dayChanged: "dayChanged" }, ngImport: i0, template: "<div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"dayService.dayModel.type\"\n checked\n />\n <label for=\"option1\">{{ 'every' | translate | async }} {{ 'time.day' | translate | async }}</label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option2\"\n value=\"boweek\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option2\">{{ 'base-on-week' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"boweek\"\n id=\"boweekLast\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n\n <label for=\"boweekLast\">{{ 'on-the-last' | translate | async }}</label>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.last.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-the-month' | translate | async }}</span>\n </div>\n\n <div>\n <div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n type=\"radio\"\n class=\"ax-radio\"\n name=\"boweek\"\n id=\"boweekCustom\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n <label for=\"boweekCustom\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-week' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-week-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.isDayOfMonth\"\n >\n <ax-label>{{ 'on-the' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysIndexInMonth\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.xst\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-month' | translate | async }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option3\"\n value=\"bomonth\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option3\">{{ 'base-on-month' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast2\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthLast2\">{{ 'on-the-last-day-of-the-month' | translate | async }}</label>\n </div>\n\n <div class=\"ax-week-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast\"\n value=\"before\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthBefore\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.before\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-before-the-end-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthCustom2\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthCustom2\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-month' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"boMonthDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler2($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n </div>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container .ax-radio,ax-cron-hours .ax-block-container .ax-week-container .ax-radio,ax-cron-minutes .ax-block-container .ax-week-container .ax-radio,ax-cron-month .ax-block-container .ax-week-container .ax-radio,ax-cron-seconds .ax-block-container .ax-week-container .ax-radio,ax-cron-year .ax-block-container .ax-week-container .ax-radio{margin-inline-end:.5rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i4.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i6.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
57
61
|
}
|
58
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronDayComponent, decorators: [{
|
59
63
|
type: Component,
|
60
|
-
args: [{ selector: 'ax-cron-day', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"dayService.dayModel.type\"\n checked\n />\n <label for=\"option1\">{{ 'every' | translate | async }} {{ 'time.day' | translate | async }}</label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option2\"\n value=\"boweek\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option2\">{{ 'base-on-week' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"boweek\"\n id=\"boweekLast\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n\n <label for=\"boweekLast\">{{ 'on-the-last' | translate | async }}</label>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.last.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-the-month' | translate | async }}</span>\n </div>\n\n <div>\n <div class=\"ax-radio-container\">\n <input\n type=\"radio\"\n class=\"ax-radio\"\n name=\"boweek\"\n id=\"boweekCustom\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n <label for=\"boweekCustom\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-week' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-week-container\">\n <ax-check-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.isDayOfMonth\"\n >\n <ax-label>{{ 'on-the' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysIndexInMonth\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.xst\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-month' | translate | async }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option3\"\n value=\"bomonth\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option3\">{{ 'base-on-month' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast2\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthLast2\">{{ 'on-the-last-day-of-the-month' | translate | async }}</label>\n </div>\n\n <div class=\"ax-week-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast\"\n value=\"before\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthBefore\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.before\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-before-the-end-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthCustom2\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthCustom2\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-month' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"boMonthDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler2($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n </div>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container .ax-radio,ax-cron-hours .ax-block-container .ax-week-container .ax-radio,ax-cron-minutes .ax-block-container .ax-week-container .ax-radio,ax-cron-month .ax-block-container .ax-week-container .ax-radio,ax-cron-seconds .ax-block-container .ax-week-container .ax-radio,ax-cron-year .ax-block-container .ax-week-container .ax-radio{margin-inline-end:.5rem}\n"] }]
|
64
|
+
args: [{ selector: 'ax-cron-day', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"dayService.dayModel.type\"\n checked\n />\n <label for=\"option1\">{{ 'every' | translate | async }} {{ 'time.day' | translate | async }}</label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option2\"\n value=\"boweek\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option2\">{{ 'base-on-week' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"boweek\"\n id=\"boweekLast\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n\n <label for=\"boweekLast\">{{ 'on-the-last' | translate | async }}</label>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.last.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-the-month' | translate | async }}</span>\n </div>\n\n <div>\n <div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n type=\"radio\"\n class=\"ax-radio\"\n name=\"boweek\"\n id=\"boweekCustom\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.type\"\n [disabled]=\"!isBoWeek\"\n />\n <label for=\"boweekCustom\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-week' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-week-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.isDayOfMonth\"\n >\n <ax-label>{{ 'on-the' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"daysIndexInMonth\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.xst\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoWeek || !isBoWeekCustom\"\n [dataSource]=\"boWeekDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnWeek.custom.dayOfMonth.day\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'of-month' | translate | async }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"option\"\n id=\"option3\"\n value=\"bomonth\"\n [(ngModel)]=\"dayService.dayModel.type\"\n />\n <label for=\"option3\">{{ 'base-on-month' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast2\"\n value=\"last\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthLast2\">{{ 'on-the-last-day-of-the-month' | translate | async }}</label>\n </div>\n\n <div class=\"ax-week-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthLast\"\n value=\"before\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthBefore\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.before\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-before-the-end-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-radio-container\">\n <input\n (change)=\"inputChange()\"\n class=\"ax-radio\"\n type=\"radio\"\n name=\"bomonth\"\n id=\"bomonthCustom2\"\n value=\"custom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.type\"\n [disabled]=\"!isBoMonth\"\n />\n <label for=\"bomonthCustom2\">{{ 'custom' | translate | async }}</label>\n </div>\n\n <div class=\"ax-block-container\">\n <div class=\"ax-week-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.isRepeat\"\n >\n <ax-label>{{ 'every' | translate | async }}</ax-label>\n </ax-check-box>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'day-starting-on' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"zeroTo30\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'st-of-the-month' | translate | async }}</span>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n (valueChange)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [(ngModel)]=\"dayService.dayModel.baseOnMonth.custom.specific.isSpecefic\"\n >\n <ax-label>{{ 'specific-day-of-month' | translate | async }}</ax-label>\n </ax-check-box>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n (onClosed)=\"inputChange()\"\n [disabled]=\"!isBoMonth || !isBoMonthCustom\"\n [dataSource]=\"boMonthDropDownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select-day' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler2($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n </div>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container .ax-radio,ax-cron-hours .ax-block-container .ax-week-container .ax-radio,ax-cron-minutes .ax-block-container .ax-week-container .ax-radio,ax-cron-month .ax-block-container .ax-week-container .ax-radio,ax-cron-seconds .ax-block-container .ax-week-container .ax-radio,ax-cron-year .ax-block-container .ax-week-container .ax-radio{margin-inline-end:.5rem}\n"] }]
|
61
65
|
}] });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2RheS9kYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvZGF5L2RheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBUTNDLE1BQU0sT0FBTyxrQkFBa0I7SUFOL0I7UUFPRSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRCLHVCQUFrQixHQUFtQixFQUFFLENBQUM7UUFDeEMsd0JBQW1CLEdBQW1CLEVBQUUsQ0FBQztRQUV6QyxxQkFBZ0IsR0FBYSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQWEsRUFBRSxDQUFDO1FBRWxDLFVBQUssR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzNCLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtnQkFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUUxRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztLQWlDSjtJQXhDQyxLQUFLLENBT0Y7SUFFTyxhQUFhLENBQUMsQ0FBc0I7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3pGLENBQUM7SUFFUyxjQUFjLENBQUMsQ0FBc0I7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFjLFFBQVE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDckIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQWMsY0FBYztRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0YsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0YsQ0FBQzs4R0FoRFUsa0JBQWtCO2tHQUFsQixrQkFBa0IsbURDWi9CLHdnVEF3VEE7OzJGRDVTYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSB9IGZyb20gJy4uL3R5cGVzL3NoYXJlZC5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlT25Nb250aFR5cGUsIEJhc2VPbldlZWtUeXBlLCBEYXlUeXBlIH0gZnJvbSAnLi9kYXkubW9kZWwnO1xuaW1wb3J0IHsgRGF5U2VydmljZSB9IGZyb20gJy4vZGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jcm9uLWRheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vY3Jvbi1qb2Iuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENyb25EYXlDb21wb25lbnQge1xuICBkYXlTZXJ2aWNlID0gaW5qZWN0KERheVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBib1dlZWtEcm9wRG93bkxpc3Q6IERyb3BEb3duSXRlbVtdID0gW107XG4gIHByb3RlY3RlZCBib01vbnRoRHJvcERvd25MaXN0OiBEcm9wRG93bkl0ZW1bXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBkYXlzSW5kZXhJbk1vbnRoOiBudW1iZXJbXSA9IFsxLCAyLCAzLCA0LCA1XTtcbiAgcHJvdGVjdGVkIHplcm9UbzMwOiBudW1iZXJbXSA9IFtdO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBmb3IgKGNvbnN0IFtpLCBkYXldIG9mIHRoaXMuZGF5c0xpc3QuZW50cmllcygpKSB0aGlzLmJvV2Vla0Ryb3BEb3duTGlzdFtpXSA9IG5ldyBEcm9wRG93bkl0ZW0oaSArIDEsIGRheSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMxOyBpKyspIHtcbiAgICAgIHRoaXMuemVyb1RvMzBbaV0gPSBpO1xuICAgICAgdGhpcy5ib01vbnRoRHJvcERvd25MaXN0W2ldID0gbmV3IERyb3BEb3duSXRlbShpICsgMSwgKGkgKyAxKS50b1N0cmluZygpKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VIYW5kbGVyKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLmRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uc3BlY2lmaWMudmFsdWVzID0gZS5jb21wb25lbnQuc2VsZWN0ZWRJdGVtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VIYW5kbGVyMihlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XG4gICAgdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMgPSBlLmNvbXBvbmVudC5zZWxlY3RlZEl0ZW1zO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkYXlzTGlzdCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheXNMaXN0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0JvV2VlaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9XZWVrID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0JvTW9udGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGF5U2VydmljZS5kYXlNb2RlbC50eXBlID09PSBEYXlUeXBlLkJPTW9udGggPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQm9XZWVrQ3VzdG9tKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID09PSBCYXNlT25XZWVrVHlwZS5DdXN0b20gPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQm9Nb250aEN1c3RvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5DdXN0b20gPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQm9Nb250aEJlZm9yZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5CZWZvcmUgPyB0cnVlIDogZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1yYWRpby1jb250YWluZXJcIj5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgdHlwZT1cInJhZGlvXCJcbiAgICBuYW1lPVwib3B0aW9uXCJcbiAgICBpZD1cIm9wdGlvbjFcIlxuICAgIHZhbHVlPVwiZXZlcnlcIlxuICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC50eXBlXCJcbiAgICBjaGVja2VkXG4gIC8+XG4gIDxsYWJlbCBmb3I9XCJvcHRpb24xXCI+e3sgJ2V2ZXJ5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19IHt7ICd0aW1lLmRheScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImF4LXJhZGlvLWNvbnRhaW5lclwiPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICB0eXBlPVwicmFkaW9cIlxuICAgIG5hbWU9XCJvcHRpb25cIlxuICAgIGlkPVwib3B0aW9uMlwiXG4gICAgdmFsdWU9XCJib3dlZWtcIlxuICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC50eXBlXCJcbiAgLz5cbiAgPGxhYmVsIGZvcj1cIm9wdGlvbjJcIj57eyAnYmFzZS1vbi13ZWVrJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJheC13ZWVrLWNvbnRhaW5lclwiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgbmFtZT1cImJvd2Vla1wiXG4gICAgICBpZD1cImJvd2Vla0xhc3RcIlxuICAgICAgdmFsdWU9XCJsYXN0XCJcbiAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvV2Vla1wiXG4gICAgLz5cblxuICAgIDxsYWJlbCBmb3I9XCJib3dlZWtMYXN0XCI+e3sgJ29uLXRoZS1sYXN0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cblxuICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb1dlZWtcIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cImJvV2Vla0Ryb3BEb3duTGlzdFwiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5sYXN0LmRheVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgIDwvYXgtZm9ybT5cblxuICAgIDxzcGFuPnt7ICdvZi10aGUtbW9udGgnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LXJhZGlvLWNvbnRhaW5lclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiYXgtcmFkaW9cIlxuICAgICAgICBuYW1lPVwiYm93ZWVrXCJcbiAgICAgICAgaWQ9XCJib3dlZWtDdXN0b21cIlxuICAgICAgICB2YWx1ZT1cImN1c3RvbVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrXCJcbiAgICAgIC8+XG4gICAgICA8bGFiZWwgZm9yPVwiYm93ZWVrQ3VzdG9tXCI+e3sgJ2N1c3RvbScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtd2Vlay1jb250YWluZXJcIj5cbiAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb1dlZWsgfHwgIWlzQm9XZWVrQ3VzdG9tXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LmlzUmVwZWF0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1sYWJlbD57eyAnZXZlcnknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LWxhYmVsPlxuICAgICAgICA8L2F4LWNoZWNrLWJveD5cblxuICAgICAgICA8YXgtZm9ybSBjbGFzcz1cImF4LXNtXCI+XG4gICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRheXNMaXN0XCJcbiAgICAgICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaW50ZXJ2YWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuXG4gICAgICAgIDxzcGFuPnt7ICdkYXktc3RhcnRpbmctb24nIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvV2VlayB8fCAhaXNCb1dlZWtDdXN0b21cIlxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJib1dlZWtEcm9wRG93bkxpc3RcIlxuICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnJlcGVhdC5zdGFydEF0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtc3BlY2lmaWMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxheC1jaGVjay1ib3hcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb1dlZWsgfHwgIWlzQm9XZWVrQ3VzdG9tXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ3NwZWNpZmljLWRheS1vZi13ZWVrJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGF4LWZvcm0+XG4gICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImJvV2Vla0Ryb3BEb3duTGlzdFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdC1kYXknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjaGFuZ2VIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC13ZWVrLWNvbnRhaW5lclwiPlxuICAgICAgICA8YXgtY2hlY2stYm94XG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvV2VlayB8fCAhaXNCb1dlZWtDdXN0b21cIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5kYXlPZk1vbnRoLmlzRGF5T2ZNb250aFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtbGFiZWw+e3sgJ29uLXRoZScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgIDwvYXgtY2hlY2stYm94PlxuXG4gICAgICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb1dlZWsgfHwgIWlzQm9XZWVrQ3VzdG9tXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF5c0luZGV4SW5Nb250aFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC54c3RcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuXG4gICAgICAgIDxzcGFuPnt7ICdzdCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cblxuICAgICAgICA8YXgtZm9ybSBjbGFzcz1cImF4LXNtXCI+XG4gICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImJvV2Vla0Ryb3BEb3duTGlzdFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuXG4gICAgICAgIDxzcGFuPnt7ICdvZi1tb250aCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtcmFkaW8tY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIGNsYXNzPVwiYXgtcmFkaW9cIlxuICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgbmFtZT1cIm9wdGlvblwiXG4gICAgaWQ9XCJvcHRpb24zXCJcbiAgICB2YWx1ZT1cImJvbW9udGhcIlxuICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC50eXBlXCJcbiAgLz5cbiAgPGxhYmVsIGZvcj1cIm9wdGlvbjNcIj57eyAnYmFzZS1vbi1tb250aCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImF4LWJsb2NrLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtcmFkaW8tY29udGFpbmVyXCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBuYW1lPVwiYm9tb250aFwiXG4gICAgICBpZD1cImJvbW9udGhMYXN0MlwiXG4gICAgICB2YWx1ZT1cImxhc3RcIlxuICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvTW9udGhcIlxuICAgIC8+XG4gICAgPGxhYmVsIGZvcj1cImJvbW9udGhMYXN0MlwiPnt7ICdvbi10aGUtbGFzdC1kYXktb2YtdGhlLW1vbnRoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImF4LXdlZWstY29udGFpbmVyXCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBuYW1lPVwiYm9tb250aFwiXG4gICAgICBpZD1cImJvbW9udGhMYXN0XCJcbiAgICAgIHZhbHVlPVwiYmVmb3JlXCJcbiAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25Nb250aC50eXBlXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhaXNCb01vbnRoXCJcbiAgICAvPlxuXG4gICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvTW9udGggfHwgIWlzQm9Nb250aEJlZm9yZVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiemVyb1RvMzBcIlxuICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLmJlZm9yZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgIDwvYXgtZm9ybT5cblxuICAgIDxzcGFuPnt7ICdkYXktYmVmb3JlLXRoZS1lbmQtb2YtdGhlLW1vbnRoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LXJhZGlvLWNvbnRhaW5lclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiYXgtcmFkaW9cIlxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwiYm9tb250aFwiXG4gICAgICAgIGlkPVwiYm9tb250aEN1c3RvbTJcIlxuICAgICAgICB2YWx1ZT1cImN1c3RvbVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25Nb250aC50eXBlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvTW9udGhcIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBmb3I9XCJib21vbnRoQ3VzdG9tMlwiPnt7ICdjdXN0b20nIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2xhYmVsPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImF4LWJsb2NrLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LXdlZWstY29udGFpbmVyXCI+XG4gICAgICAgIDxheC1jaGVjay1ib3hcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQ3VzdG9tXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnJlcGVhdC5pc1JlcGVhdFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2V2ZXJ5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgPC9heC1jaGVjay1ib3g+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvTW9udGggfHwgIWlzQm9Nb250aEN1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInplcm9UbzMwXCJcbiAgICAgICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cblxuICAgICAgICA8c3Bhbj57eyAnZGF5LXN0YXJ0aW5nLW9uJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuXG4gICAgICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb01vbnRoIHx8ICFpc0JvTW9udGhDdXN0b21cIlxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ6ZXJvVG8zMFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnJlcGVhdC5zdGFydEF0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cblxuICAgICAgICA8c3Bhbj57eyAnc3Qtb2YtdGhlLW1vbnRoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1zcGVjaWZpYy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvTW9udGggfHwgIWlzQm9Nb250aEN1c3RvbVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnNwZWNpZmljLmlzU3BlY2VmaWNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1sYWJlbD57eyAnc3BlY2lmaWMtZGF5LW9mLW1vbnRoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGF4LWZvcm0+XG4gICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQ3VzdG9tXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiYm9Nb250aERyb3BEb3duTGlzdFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdC1kYXknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjaGFuZ2VIYW5kbGVyMigkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2RheS9kYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvZGF5L2RheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVEzQyxNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT0UsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV0Qix1QkFBa0IsR0FBbUIsRUFBRSxDQUFDO1FBQ3hDLHdCQUFtQixHQUFtQixFQUFFLENBQUM7UUFFekMscUJBQWdCLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUVsQyxVQUFLLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUMzQixLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFMUcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFVLEdBQUcsTUFBTSxFQUFFLENBQUM7S0FxQ3ZCO0lBOUNDLEtBQUssQ0FPRjtJQUlPLFdBQVc7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRVMsYUFBYSxDQUFDLENBQXNCO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN6RixDQUFDO0lBRVMsY0FBYyxDQUFDLENBQXNCO1FBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQWMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBYyxTQUFTO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFjLGNBQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdGLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdGLENBQUM7OEdBdERVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDBGQ1ovQixpNlVBK1VBOzsyRkRuVWEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgQ29tcG9uZW50LCBpbmplY3QsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSB9IGZyb20gJy4uL3R5cGVzL3NoYXJlZC5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlT25Nb250aFR5cGUsIEJhc2VPbldlZWtUeXBlLCBEYXlUeXBlIH0gZnJvbSAnLi9kYXkubW9kZWwnO1xuaW1wb3J0IHsgRGF5U2VydmljZSB9IGZyb20gJy4vZGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jcm9uLWRheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vY3Jvbi1qb2Iuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENyb25EYXlDb21wb25lbnQge1xuICBkYXlTZXJ2aWNlID0gaW5qZWN0KERheVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBib1dlZWtEcm9wRG93bkxpc3Q6IERyb3BEb3duSXRlbVtdID0gW107XG4gIHByb3RlY3RlZCBib01vbnRoRHJvcERvd25MaXN0OiBEcm9wRG93bkl0ZW1bXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBkYXlzSW5kZXhJbk1vbnRoOiBudW1iZXJbXSA9IFsxLCAyLCAzLCA0LCA1XTtcbiAgcHJvdGVjdGVkIHplcm9UbzMwOiBudW1iZXJbXSA9IFtdO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBmb3IgKGNvbnN0IFtpLCBkYXldIG9mIHRoaXMuZGF5c0xpc3QuZW50cmllcygpKSB0aGlzLmJvV2Vla0Ryb3BEb3duTGlzdFtpXSA9IG5ldyBEcm9wRG93bkl0ZW0oaSArIDEsIGRheSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMxOyBpKyspIHtcbiAgICAgIHRoaXMuemVyb1RvMzBbaV0gPSBpO1xuICAgICAgdGhpcy5ib01vbnRoRHJvcERvd25MaXN0W2ldID0gbmV3IERyb3BEb3duSXRlbShpICsgMSwgKGkgKyAxKS50b1N0cmluZygpKTtcbiAgICB9XG4gIH0pO1xuXG4gIGRheUNoYW5nZWQgPSBvdXRwdXQoKTtcblxuICBwcm90ZWN0ZWQgaW5wdXRDaGFuZ2UoKSB7XG4gICAgdGhpcy5kYXlDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VIYW5kbGVyKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLmRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uc3BlY2lmaWMudmFsdWVzID0gZS5jb21wb25lbnQuc2VsZWN0ZWRJdGVtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VIYW5kbGVyMihlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XG4gICAgdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMgPSBlLmNvbXBvbmVudC5zZWxlY3RlZEl0ZW1zO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkYXlzTGlzdCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheXNMaXN0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0JvV2VlaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9XZWVrID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0JvTW9udGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGF5U2VydmljZS5kYXlNb2RlbC50eXBlID09PSBEYXlUeXBlLkJPTW9udGggPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQm9XZWVrQ3VzdG9tKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID09PSBCYXNlT25XZWVrVHlwZS5DdXN0b20gPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQm9Nb250aEN1c3RvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5DdXN0b20gPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQm9Nb250aEJlZm9yZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5CZWZvcmUgPyB0cnVlIDogZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1yYWRpby1jb250YWluZXJcIj5cbiAgPGlucHV0XG4gICAgKGNoYW5nZSk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICB0eXBlPVwicmFkaW9cIlxuICAgIG5hbWU9XCJvcHRpb25cIlxuICAgIGlkPVwib3B0aW9uMVwiXG4gICAgdmFsdWU9XCJldmVyeVwiXG4gICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLnR5cGVcIlxuICAgIGNoZWNrZWRcbiAgLz5cbiAgPGxhYmVsIGZvcj1cIm9wdGlvbjFcIj57eyAnZXZlcnknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX0ge3sgJ3RpbWUuZGF5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtcmFkaW8tY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoKVwiXG4gICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgdHlwZT1cInJhZGlvXCJcbiAgICBuYW1lPVwib3B0aW9uXCJcbiAgICBpZD1cIm9wdGlvbjJcIlxuICAgIHZhbHVlPVwiYm93ZWVrXCJcbiAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwudHlwZVwiXG4gIC8+XG4gIDxsYWJlbCBmb3I9XCJvcHRpb24yXCI+e3sgJ2Jhc2Utb24td2VlaycgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImF4LWJsb2NrLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtd2Vlay1jb250YWluZXJcIj5cbiAgICA8aW5wdXRcbiAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoKVwiXG4gICAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBuYW1lPVwiYm93ZWVrXCJcbiAgICAgIGlkPVwiYm93ZWVrTGFzdFwiXG4gICAgICB2YWx1ZT1cImxhc3RcIlxuICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbldlZWsudHlwZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrXCJcbiAgICAvPlxuXG4gICAgPGxhYmVsIGZvcj1cImJvd2Vla0xhc3RcIj57eyAnb24tdGhlLWxhc3QnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2xhYmVsPlxuXG4gICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb1dlZWtcIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cImJvV2Vla0Ryb3BEb3duTGlzdFwiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5sYXN0LmRheVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgIDwvYXgtZm9ybT5cblxuICAgIDxzcGFuPnt7ICdvZi10aGUtbW9udGgnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LXJhZGlvLWNvbnRhaW5lclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoKVwiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiYXgtcmFkaW9cIlxuICAgICAgICBuYW1lPVwiYm93ZWVrXCJcbiAgICAgICAgaWQ9XCJib3dlZWtDdXN0b21cIlxuICAgICAgICB2YWx1ZT1cImN1c3RvbVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrXCJcbiAgICAgIC8+XG4gICAgICA8bGFiZWwgZm9yPVwiYm93ZWVrQ3VzdG9tXCI+e3sgJ2N1c3RvbScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtd2Vlay1jb250YWluZXJcIj5cbiAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnJlcGVhdC5pc1JlcGVhdFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2V2ZXJ5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgPC9heC1jaGVjay1ib3g+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRheXNMaXN0XCJcbiAgICAgICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF5U2VydmljZS5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaW50ZXJ2YWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuXG4gICAgICAgIDxzcGFuPnt7ICdkYXktc3RhcnRpbmctb24nIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImJvV2Vla0Ryb3BEb3duTGlzdFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LnN0YXJ0QXRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1zcGVjaWZpYy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvV2VlayB8fCAhaXNCb1dlZWtDdXN0b21cIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLmlzU3BlY2VmaWNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1sYWJlbD57eyAnc3BlY2lmaWMtZGF5LW9mLXdlZWsnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LWxhYmVsPlxuICAgICAgICAgIDwvYXgtY2hlY2stYm94PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YXgtZm9ybT5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgICAgIChvbkNsb3NlZCk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvV2VlayB8fCAhaXNCb1dlZWtDdXN0b21cIlxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJib1dlZWtEcm9wRG93bkxpc3RcIlxuICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWxlY3QtZGF5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtd2Vlay1jb250YWluZXJcIj5cbiAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLmRheU9mTW9udGguaXNEYXlPZk1vbnRoXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1sYWJlbD57eyAnb24tdGhlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgPC9heC1jaGVjay1ib3g+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRheXNJbmRleEluTW9udGhcIlxuICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLmRheU9mTW9udGgueHN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cblxuICAgICAgICA8c3Bhbj57eyAnc3QnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9XZWVrIHx8ICFpc0JvV2Vla0N1c3RvbVwiXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImJvV2Vla0Ryb3BEb3duTGlzdFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuXG4gICAgICAgIDxzcGFuPnt7ICdvZi1tb250aCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtcmFkaW8tY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoKVwiXG4gICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgdHlwZT1cInJhZGlvXCJcbiAgICBuYW1lPVwib3B0aW9uXCJcbiAgICBpZD1cIm9wdGlvbjNcIlxuICAgIHZhbHVlPVwiYm9tb250aFwiXG4gICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLnR5cGVcIlxuICAvPlxuICA8bGFiZWwgZm9yPVwib3B0aW9uM1wiPnt7ICdiYXNlLW9uLW1vbnRoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1yYWRpby1jb250YWluZXJcIj5cbiAgICA8aW5wdXRcbiAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoKVwiXG4gICAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBuYW1lPVwiYm9tb250aFwiXG4gICAgICBpZD1cImJvbW9udGhMYXN0MlwiXG4gICAgICB2YWx1ZT1cImxhc3RcIlxuICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFpc0JvTW9udGhcIlxuICAgIC8+XG4gICAgPGxhYmVsIGZvcj1cImJvbW9udGhMYXN0MlwiPnt7ICdvbi10aGUtbGFzdC1kYXktb2YtdGhlLW1vbnRoJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImF4LXdlZWstY29udGFpbmVyXCI+XG4gICAgPGlucHV0XG4gICAgICAoY2hhbmdlKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgbmFtZT1cImJvbW9udGhcIlxuICAgICAgaWQ9XCJib21vbnRoTGFzdFwiXG4gICAgICB2YWx1ZT1cImJlZm9yZVwiXG4gICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aFwiXG4gICAgLz5cblxuICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIChvbkNsb3NlZCk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQmVmb3JlXCJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ6ZXJvVG8zMFwiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uTW9udGguYmVmb3JlXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgPC9heC1mb3JtPlxuXG4gICAgPHNwYW4+e3sgJ2RheS1iZWZvcmUtdGhlLWVuZC1vZi10aGUtbW9udGgnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1ibG9jay1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmFkaW8tY29udGFpbmVyXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgKGNoYW5nZSk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIG5hbWU9XCJib21vbnRoXCJcbiAgICAgICAgaWQ9XCJib21vbnRoQ3VzdG9tMlwiXG4gICAgICAgIHZhbHVlPVwiY3VzdG9tXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aFwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsIGZvcj1cImJvbW9udGhDdXN0b20yXCI+e3sgJ2N1c3RvbScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtd2Vlay1jb250YWluZXJcIj5cbiAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQ3VzdG9tXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImRheVNlcnZpY2UuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnJlcGVhdC5pc1JlcGVhdFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2V2ZXJ5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgPC9heC1jaGVjay1ib3g+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQ3VzdG9tXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiemVyb1RvMzBcIlxuICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuaW50ZXJ2YWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9heC1mb3JtPlxuXG4gICAgICAgIDxzcGFuPnt7ICdkYXktc3RhcnRpbmctb24nIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICAgICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQ3VzdG9tXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiemVyb1RvMzBcIlxuICAgICAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2F4LWZvcm0+XG5cbiAgICAgICAgPHNwYW4+e3sgJ3N0LW9mLXRoZS1tb250aCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtc3BlY2lmaWMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxheC1jaGVjay1ib3hcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJpbnB1dENoYW5nZSgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNCb01vbnRoIHx8ICFpc0JvTW9udGhDdXN0b21cIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXlTZXJ2aWNlLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ3NwZWNpZmljLWRheS1vZi1tb250aCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxheC1mb3JtPlxuICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgKG9uQ2xvc2VkKT1cImlucHV0Q2hhbmdlKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQm9Nb250aCB8fCAhaXNCb01vbnRoQ3VzdG9tXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiYm9Nb250aERyb3BEb3duTGlzdFwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdC1kYXknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjaGFuZ2VIYW5kbGVyMigkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvYXgtZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { CronJobService } from '../cron-job.service';
|
3
3
|
import { RegexItemsIndex } from '../types/shared.model';
|
4
4
|
import { BaseOnMonthType, BaseOnWeekType, Day, DayType } from './day.model';
|
5
5
|
import * as i0 from "@angular/core";
|
@@ -187,10 +187,10 @@ export class DayService {
|
|
187
187
|
this.dayModel.baseOnMonth.custom.specific.values = specificData;
|
188
188
|
}
|
189
189
|
}
|
190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService, deps: [{ token: i1.
|
190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService, deps: [{ token: i1.CronJobService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
191
191
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService }); }
|
192
192
|
}
|
193
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService, decorators: [{
|
194
194
|
type: Injectable
|
195
|
-
}], ctorParameters: () => [{ type: i1.
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY3Jvbi1qb2Ivc3JjL2xpYi9kYXkvZGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHNUUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFEaEQsYUFBUSxHQUFrQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXZHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUNqQixTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEs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QVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsWUFBWSxFQUFFLFFBQWtCLENBQUM7WUFDcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsWUFBWSxFQUFFLE9BQWlCLENBQUM7UUFDcEYsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixNQUFNLGdCQUFnQixHQUFHLFlBQVksS0FBSyxTQUFTLENBQUM7UUFDcEQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxZQUFtQyxDQUFDO1FBQ3pGLENBQUM7SUFDSCxDQUFDOzhHQXhOVSxVQUFVO2tIQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vY3Jvbi1qb2Iuc2VydmljZSc7XG5pbXBvcnQgeyBJRXhwcmVzc2lvbiB9IGZyb20gJy4uL3R5cGVzL2lleHByZXNzaW9uJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSwgUmVnZXhJdGVtc0luZGV4IH0gZnJvbSAnLi4vdHlwZXMvc2hhcmVkLm1vZGVsJztcbmltcG9ydCB7IEJhc2VPbk1vbnRoVHlwZSwgQmFzZU9uV2Vla1R5cGUsIERheSwgRGF5VHlwZSB9IGZyb20gJy4vZGF5Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERheVNlcnZpY2UgaW1wbGVtZW50cyBJRXhwcmVzc2lvbiB7XG4gIGRheU1vZGVsOiBEYXk7XG4gIGRheXNMaXN0OiBBcnJheTxzdHJpbmc+ID0gWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0cmluZ1NlcnZpY2U6IFN0cmluZ1NlcnZpY2UpIHtcbiAgICB0aGlzLmRheU1vZGVsID0gbmV3IERheSgpO1xuICB9XG5cbiAgZ2V0RXhwcmVzc2lvbigpOiBhbnkge1xuICAgIGxldCBib01vbnRoRXhwID0gJyc7XG4gICAgbGV0IGJvV2Vla0V4cCA9ICcnO1xuICAgIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuRXZlcnkpIHtcbiAgICAgIGJvTW9udGhFeHAgPSAnPyc7XG4gICAgICBib1dlZWtFeHAgPSAnKic7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9Nb250aCkge1xuICAgICAgYm9XZWVrRXhwID0gJz8nO1xuICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZSA9PT0gQmFzZU9uTW9udGhUeXBlLkxhc3QpIHtcbiAgICAgICAgYm9Nb250aEV4cCA9ICdMJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC50eXBlID09PSBCYXNlT25Nb250aFR5cGUuQmVmb3JlKSB7XG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGguYmVmb3JlO1xuXG4gICAgICAgIGJvTW9udGhFeHAgPSBgTC0ke2JlZm9yZX1gO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5DdXN0b20pIHtcbiAgICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnJlcGVhdC5pc1JlcGVhdCkge1xuICAgICAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdDtcbiAgICAgICAgICBib01vbnRoRXhwID0gYCR7c3RhcnRBdH0vJHtpbnRlcnZhbH1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljKSB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNWYWx1ZXMgPSB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdi5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChzcGVjaWZpY1ZhbHVlcy5sZW5ndGggIT09IDApIGJvTW9udGhFeHAgPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoYm9Nb250aEV4cCk7XG5cbiAgICAgICAgICBib01vbnRoRXhwID0gYm9Nb250aEV4cC5jb25jYXQoc3BlY2lmaWNWYWx1ZXMuam9pbignLCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9Nb250aEV4cCA9PT0gJycpIGJvTW9udGhFeHAgPSAnKic7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9XZWVrKSB7XG4gICAgICBib01vbnRoRXhwID0gJz8nO1xuICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID09PSBCYXNlT25XZWVrVHlwZS5MYXN0KSB7XG4gICAgICAgIGNvbnN0IGxhc3REYXkgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsubGFzdC5kYXk7XG5cbiAgICAgICAgYm9XZWVrRXhwID0gYCR7bGFzdERheX1MYDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGUgPT09IEJhc2VPbldlZWtUeXBlLkN1c3RvbSkge1xuICAgICAgICBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LmludGVydmFsO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnJlcGVhdC5zdGFydEF0O1xuICAgICAgICAgIGJvV2Vla0V4cCA9IGAke3N0YXJ0QXR9LyR7aW50ZXJ2YWx9YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljKSB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNWYWx1ZXMgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLnZhbHVlcy5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2LmlkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHNwZWNpZmljVmFsdWVzLmxlbmd0aCAhPT0gMCkgYm9XZWVrRXhwID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmFkZENvbW1hKGJvV2Vla0V4cCk7XG5cbiAgICAgICAgICBib1dlZWtFeHAgPSBib1dlZWtFeHAuY29uY2F0KHNwZWNpZmljVmFsdWVzLmpvaW4oJywnKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5pc0RheU9mTW9udGgpIHtcbiAgICAgICAgICBib1dlZWtFeHAgPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoYm9XZWVrRXhwKTtcblxuICAgICAgICAgIGNvbnN0IGRheSA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXk7XG4gICAgICAgICAgY29uc3QgeHN0ID0gdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5kYXlPZk1vbnRoLnhzdDtcblxuICAgICAgICAgIGJvV2Vla0V4cCA9IGJvV2Vla0V4cC5jb25jYXQoYCR7ZGF5fSMke3hzdH1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9XZWVrRXhwID09PSAnJykgYm9XZWVrRXhwID0gJyonO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbYm9XZWVrRXhwLCBib01vbnRoRXhwXTtcbiAgfVxuXG4gIGV4cHJlc3Npb25WYWxpZGF0aW9uKHByZUNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nLCBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm46IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlQ3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXkgPSBwcmVDcm9uRXhwcmVzc2lvblBhdHRlcm4uc3BsaXQoJyAnKTtcbiAgICBjb25zdCBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheSA9IG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybi5zcGxpdCgnICcpO1xuXG4gICAgY29uc3QgZGF5T2ZXZWVrUmVnZXg6IHN0cmluZyA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRSZWdleEl0ZW0oXG4gICAgICBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm4sXG4gICAgICBSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrLFxuICAgICk7XG4gICAgY29uc3QgZGF5T2ZNb250aFJlZ2V4OiBzdHJpbmcgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0UmVnZXhJdGVtKFxuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuLFxuICAgICAgUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGgsXG4gICAgKTtcblxuICAgIGNvbnN0IGlzRGF5T2ZXZWVrQ2hhbmdlZCA9XG4gICAgICBwcmVDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheVtSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrXSAhPT1cbiAgICAgIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5W1JlZ2V4SXRlbXNJbmRleC5EYXlPZldlZWtdO1xuICAgIGNvbnN0IGlzRGF5T2ZNb250aENoYW5nZWQgPVxuICAgICAgcHJlQ3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdICE9PVxuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdO1xuXG4gICAgY29uc3QgaXNCYXNlZE9uV2VlayA9IGRheU9mV2Vla1JlZ2V4ICE9PSAnKicgJiYgZGF5T2ZXZWVrUmVnZXggIT09ICc/JztcbiAgICBjb25zdCBpc0Jhc2VkT25Nb250aCA9IGRheU9mTW9udGhSZWdleCAhPT0gJz8nO1xuXG4gICAgaWYgKGlzRGF5T2ZXZWVrQ2hhbmdlZCAmJiBpc0Jhc2VkT25Nb250aCkge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdID0gJz8nO1xuICAgICAgcmV0dXJuIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5LmpvaW4oJyAnKTtcbiAgICB9IGVsc2UgaWYgKGlzRGF5T2ZXZWVrQ2hhbmdlZCAmJiAhaXNCYXNlZE9uV2Vlaykge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdID0gJyonO1xuICAgICAgcmV0dXJuIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5LmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBpZiAoaXNEYXlPZk1vbnRoQ2hhbmdlZCAmJiBpc0Jhc2VkT25XZWVrKSB7XG4gICAgICBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheVtSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrXSA9ICc/JztcbiAgICAgIHJldHVybiBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheS5qb2luKCcgJyk7XG4gICAgfSBlbHNlIGlmIChpc0RheU9mTW9udGhDaGFuZ2VkICYmICFpc0Jhc2VkT25Nb250aCkge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mV2Vla10gPSAnKic7XG4gICAgICByZXR1cm4gbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXkuam9pbignICcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm47XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXlNb2RlbCA9IG5ldyBEYXkoKTtcbiAgICBjb25zdCBkYXlPZldlZWtSZWdleDogc3RyaW5nID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFJlZ2V4SXRlbShcbiAgICAgIGNyb25FeHByZXNzaW9uUGF0dGVybixcbiAgICAgIFJlZ2V4SXRlbXNJbmRleC5EYXlPZldlZWssXG4gICAgKTtcbiAgICBjb25zdCBkYXlPZk1vbnRoUmVnZXg6IHN0cmluZyA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRSZWdleEl0ZW0oXG4gICAgICBjcm9uRXhwcmVzc2lvblBhdHRlcm4sXG4gICAgICBSZWdleEl0ZW1zSW5kZXguRGF5T2ZNb250aCxcbiAgICApO1xuXG4gICAgY29uc3QgaXNCYXNlZE9uV2VlayA9IGRheU9mV2Vla1JlZ2V4ICE9PSAnKicgJiYgZGF5T2ZXZWVrUmVnZXggIT09ICc/JztcbiAgICBjb25zdCBpc0Jhc2VkT25Nb250aCA9IGRheU9mTW9udGhSZWdleCAhPT0gJz8nO1xuICAgIGNvbnN0IGlzRXZlcnlEYXk6IGJvb2xlYW4gPSAhaXNCYXNlZE9uV2VlayAmJiAhaXNCYXNlZE9uTW9udGg7XG4gICAgaWYgKGlzRXZlcnlEYXkpIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwudHlwZSA9IERheVR5cGUuRXZlcnk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQmFzZWRPbldlZWspIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwudHlwZSA9IERheVR5cGUuQk9XZWVrO1xuICAgICAgdGhpcy5yZXZlcnNFeHByZXNzaW9uQmFzZWRPbldlZWsoZGF5T2ZXZWVrUmVnZXgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Jhc2VkT25Nb250aCkge1xuICAgICAgdGhpcy5kYXlNb2RlbC50eXBlID0gRGF5VHlwZS5CT01vbnRoO1xuICAgICAgdGhpcy5yZXZlcnNFeHByZXNzaW9uQmFzZWRPbk1vbnRoKGRheU9mTW9udGhSZWdleCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcmV2ZXJzRXhwcmVzc2lvbkJhc2VkT25XZWVrKHJlZ2V4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyAqKlJlZ2V4IHBhdHRlcm4gdG8gY2hlY2sgaWQgY3VzdG9tIG9yIG5vdCoqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXlswLTldTCQnKTtcbiAgICBjb25zdCBpc0N1c3RvbSA9ICFyZWdleFBhdHRlcm4udGVzdChyZWdleCk7XG4gICAgaWYgKCFpc0N1c3RvbSkge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGUgPSBCYXNlT25XZWVrVHlwZS5MYXN0O1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmxhc3QuZGF5ID0gcGFyc2VJbnQocmVnZXhbMF0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID0gQmFzZU9uV2Vla1R5cGUuQ3VzdG9tO1xuXG4gICAgY29uc3QgaW50ZXJ2YWxEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldEludGVydmFsQ3JvbkRhdGEocmVnZXgpO1xuICAgIGNvbnN0IGhhc0ludGVydmFsSXRlbXMgPSBpbnRlcnZhbERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzSW50ZXJ2YWxJdGVtcykge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQgPSB0cnVlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaW50ZXJ2YWwgPSBpbnRlcnZhbERhdGE/LmludGVydmFsIGFzIG51bWJlcjtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LnN0YXJ0QXQgPSBpbnRlcnZhbERhdGE/LnN0YXJ0QXQgYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIGNvbnN0IHNwZWNpZmljRGF0YSA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRTcGVjaWZpY0Nyb25EYXRhKHJlZ2V4LCB0aGlzLmRheXNMaXN0KTtcbiAgICBjb25zdCBoYXNTcGVjaWZpY0l0ZW1zID0gc3BlY2lmaWNEYXRhICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKGhhc1NwZWNpZmljSXRlbXMpIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uc3BlY2lmaWMuaXNTcGVjZWZpYyA9IHRydWU7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLnZhbHVlcyA9IHNwZWNpZmljRGF0YSBhcyBBcnJheTxEcm9wRG93bkl0ZW0+O1xuICAgIH1cblxuICAgIGNvbnN0IGRheU9mTW9udGhEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldERheU9mTW9udGhDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzRGF5T2ZNb250aERhdGFJdGVtID0gZGF5T2ZNb250aERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzRGF5T2ZNb250aERhdGFJdGVtKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLmRheU9mTW9udGguaXNEYXlPZk1vbnRoID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXkgPSBkYXlPZk1vbnRoRGF0YT8uZGF5IGFzIG51bWJlcjtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC54c3QgPSBkYXlPZk1vbnRoRGF0YT8ueHN0IGFzIG51bWJlcjtcbiAgICB9XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uQmFzZWRPbk1vbnRoKHJlZ2V4OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc0xhc3REYXlPZk1vbnRoID0gcmVnZXggPT0gJ0wnO1xuICAgIGlmIChpc0xhc3REYXlPZk1vbnRoKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPSBCYXNlT25Nb250aFR5cGUuTGFzdDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyAqKlJlZ2V4IHBhdHRlcm4gdG8gY2hlY2sgaWYgaWQgYmVmb3JlIG9yIG5vdCoqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXkwtWzAtOV0rJCcpO1xuICAgIGNvbnN0IGlzQ3VzdG9tID0gIXJlZ2V4UGF0dGVybi50ZXN0KHJlZ2V4KTtcbiAgICBpZiAoIWlzQ3VzdG9tKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPSBCYXNlT25Nb250aFR5cGUuQmVmb3JlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5iZWZvcmUgPSBwYXJzZUludChyZWdleC5zdWJzdHIoMikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZSA9IEJhc2VPbk1vbnRoVHlwZS5DdXN0b207XG5cbiAgICBjb25zdCBpbnRlcnZhbERhdGEgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0SW50ZXJ2YWxDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzSW50ZXJ2YWxJdGVtcyA9IGludGVydmFsRGF0YSAhPT0gdW5kZWZpbmVkO1xuICAgIGlmIChoYXNJbnRlcnZhbEl0ZW1zKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQgPSB0cnVlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsID0gaW50ZXJ2YWxEYXRhPy5pbnRlcnZhbCBhcyBudW1iZXI7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdCA9IGludGVydmFsRGF0YT8uc3RhcnRBdCBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY2lmaWNEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFNwZWNpZmljQ3JvbkRhdGEocmVnZXgsIHRoaXMuZGF5c0xpc3QpO1xuICAgIGNvbnN0IGhhc1NwZWNpZmljSXRlbXMgPSBzcGVjaWZpY0RhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzU3BlY2lmaWNJdGVtcykge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20uc3BlY2lmaWMuaXNTcGVjZWZpYyA9IHRydWU7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMgPSBzcGVjaWZpY0RhdGEgYXMgQXJyYXk8RHJvcERvd25JdGVtPjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
195
|
+
}], ctorParameters: () => [{ type: i1.CronJobService }] });
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY3Jvbi1qb2Ivc3JjL2xpYi9kYXkvZGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHNUUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsYUFBNkI7UUFBN0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBRGpELGFBQVEsR0FBa0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV2RyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLFVBQVUsR0FBRyxHQUFHLENBQUM7WUFDakIsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNsQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEQsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUNoQixJQUFJLElBQUksQ0FBQyxRQUFR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QUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFlBQVksRUFBRSxRQUFrQixDQUFDO1lBQ3BGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLFlBQVksRUFBRSxPQUFpQixDQUFDO1FBQ3BGLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEtBQUssU0FBUyxDQUFDO1FBQ3BELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsWUFBbUMsQ0FBQztRQUN6RixDQUFDO0lBQ0gsQ0FBQzs4R0F4TlUsVUFBVTtrSEFBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JvbkpvYlNlcnZpY2UgfSBmcm9tICcuLi9jcm9uLWpvYi5zZXJ2aWNlJztcbmltcG9ydCB7IElFeHByZXNzaW9uIH0gZnJvbSAnLi4vdHlwZXMvaWV4cHJlc3Npb24nO1xuaW1wb3J0IHsgRHJvcERvd25JdGVtLCBSZWdleEl0ZW1zSW5kZXggfSBmcm9tICcuLi90eXBlcy9zaGFyZWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZU9uTW9udGhUeXBlLCBCYXNlT25XZWVrVHlwZSwgRGF5LCBEYXlUeXBlIH0gZnJvbSAnLi9kYXkubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF5U2VydmljZSBpbXBsZW1lbnRzIElFeHByZXNzaW9uIHtcbiAgZGF5TW9kZWw6IERheTtcbiAgZGF5c0xpc3Q6IEFycmF5PHN0cmluZz4gPSBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J107XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RyaW5nU2VydmljZTogQ3JvbkpvYlNlcnZpY2UpIHtcbiAgICB0aGlzLmRheU1vZGVsID0gbmV3IERheSgpO1xuICB9XG5cbiAgZ2V0RXhwcmVzc2lvbigpOiBhbnkge1xuICAgIGxldCBib01vbnRoRXhwID0gJyc7XG4gICAgbGV0IGJvV2Vla0V4cCA9ICcnO1xuICAgIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuRXZlcnkpIHtcbiAgICAgIGJvTW9udGhFeHAgPSAnPyc7XG4gICAgICBib1dlZWtFeHAgPSAnKic7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9Nb250aCkge1xuICAgICAgYm9XZWVrRXhwID0gJz8nO1xuICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZSA9PT0gQmFzZU9uTW9udGhUeXBlLkxhc3QpIHtcbiAgICAgICAgYm9Nb250aEV4cCA9ICdMJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC50eXBlID09PSBCYXNlT25Nb250aFR5cGUuQmVmb3JlKSB7XG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGguYmVmb3JlO1xuXG4gICAgICAgIGJvTW9udGhFeHAgPSBgTC0ke2JlZm9yZX1gO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5DdXN0b20pIHtcbiAgICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnJlcGVhdC5pc1JlcGVhdCkge1xuICAgICAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdDtcbiAgICAgICAgICBib01vbnRoRXhwID0gYCR7c3RhcnRBdH0vJHtpbnRlcnZhbH1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljKSB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNWYWx1ZXMgPSB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdi5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChzcGVjaWZpY1ZhbHVlcy5sZW5ndGggIT09IDApIGJvTW9udGhFeHAgPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoYm9Nb250aEV4cCk7XG5cbiAgICAgICAgICBib01vbnRoRXhwID0gYm9Nb250aEV4cC5jb25jYXQoc3BlY2lmaWNWYWx1ZXMuam9pbignLCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9Nb250aEV4cCA9PT0gJycpIGJvTW9udGhFeHAgPSAnKic7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9XZWVrKSB7XG4gICAgICBib01vbnRoRXhwID0gJz8nO1xuICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID09PSBCYXNlT25XZWVrVHlwZS5MYXN0KSB7XG4gICAgICAgIGNvbnN0IGxhc3REYXkgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsubGFzdC5kYXk7XG5cbiAgICAgICAgYm9XZWVrRXhwID0gYCR7bGFzdERheX1MYDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGUgPT09IEJhc2VPbldlZWtUeXBlLkN1c3RvbSkge1xuICAgICAgICBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LmludGVydmFsO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnJlcGVhdC5zdGFydEF0O1xuICAgICAgICAgIGJvV2Vla0V4cCA9IGAke3N0YXJ0QXR9LyR7aW50ZXJ2YWx9YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljKSB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNWYWx1ZXMgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLnZhbHVlcy5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2LmlkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHNwZWNpZmljVmFsdWVzLmxlbmd0aCAhPT0gMCkgYm9XZWVrRXhwID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmFkZENvbW1hKGJvV2Vla0V4cCk7XG5cbiAgICAgICAgICBib1dlZWtFeHAgPSBib1dlZWtFeHAuY29uY2F0KHNwZWNpZmljVmFsdWVzLmpvaW4oJywnKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5pc0RheU9mTW9udGgpIHtcbiAgICAgICAgICBib1dlZWtFeHAgPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoYm9XZWVrRXhwKTtcblxuICAgICAgICAgIGNvbnN0IGRheSA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXk7XG4gICAgICAgICAgY29uc3QgeHN0ID0gdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5kYXlPZk1vbnRoLnhzdDtcblxuICAgICAgICAgIGJvV2Vla0V4cCA9IGJvV2Vla0V4cC5jb25jYXQoYCR7ZGF5fSMke3hzdH1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9XZWVrRXhwID09PSAnJykgYm9XZWVrRXhwID0gJyonO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbYm9XZWVrRXhwLCBib01vbnRoRXhwXTtcbiAgfVxuXG4gIGV4cHJlc3Npb25WYWxpZGF0aW9uKHByZUNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nLCBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm46IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlQ3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXkgPSBwcmVDcm9uRXhwcmVzc2lvblBhdHRlcm4uc3BsaXQoJyAnKTtcbiAgICBjb25zdCBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheSA9IG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybi5zcGxpdCgnICcpO1xuXG4gICAgY29uc3QgZGF5T2ZXZWVrUmVnZXg6IHN0cmluZyA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRSZWdleEl0ZW0oXG4gICAgICBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm4sXG4gICAgICBSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrLFxuICAgICk7XG4gICAgY29uc3QgZGF5T2ZNb250aFJlZ2V4OiBzdHJpbmcgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0UmVnZXhJdGVtKFxuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuLFxuICAgICAgUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGgsXG4gICAgKTtcblxuICAgIGNvbnN0IGlzRGF5T2ZXZWVrQ2hhbmdlZCA9XG4gICAgICBwcmVDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheVtSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrXSAhPT1cbiAgICAgIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5W1JlZ2V4SXRlbXNJbmRleC5EYXlPZldlZWtdO1xuICAgIGNvbnN0IGlzRGF5T2ZNb250aENoYW5nZWQgPVxuICAgICAgcHJlQ3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdICE9PVxuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdO1xuXG4gICAgY29uc3QgaXNCYXNlZE9uV2VlayA9IGRheU9mV2Vla1JlZ2V4ICE9PSAnKicgJiYgZGF5T2ZXZWVrUmVnZXggIT09ICc/JztcbiAgICBjb25zdCBpc0Jhc2VkT25Nb250aCA9IGRheU9mTW9udGhSZWdleCAhPT0gJz8nO1xuXG4gICAgaWYgKGlzRGF5T2ZXZWVrQ2hhbmdlZCAmJiBpc0Jhc2VkT25Nb250aCkge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdID0gJz8nO1xuICAgICAgcmV0dXJuIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5LmpvaW4oJyAnKTtcbiAgICB9IGVsc2UgaWYgKGlzRGF5T2ZXZWVrQ2hhbmdlZCAmJiAhaXNCYXNlZE9uV2Vlaykge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdID0gJyonO1xuICAgICAgcmV0dXJuIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5LmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBpZiAoaXNEYXlPZk1vbnRoQ2hhbmdlZCAmJiBpc0Jhc2VkT25XZWVrKSB7XG4gICAgICBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheVtSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrXSA9ICc/JztcbiAgICAgIHJldHVybiBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheS5qb2luKCcgJyk7XG4gICAgfSBlbHNlIGlmIChpc0RheU9mTW9udGhDaGFuZ2VkICYmICFpc0Jhc2VkT25Nb250aCkge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mV2Vla10gPSAnKic7XG4gICAgICByZXR1cm4gbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXkuam9pbignICcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm47XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXlNb2RlbCA9IG5ldyBEYXkoKTtcbiAgICBjb25zdCBkYXlPZldlZWtSZWdleDogc3RyaW5nID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFJlZ2V4SXRlbShcbiAgICAgIGNyb25FeHByZXNzaW9uUGF0dGVybixcbiAgICAgIFJlZ2V4SXRlbXNJbmRleC5EYXlPZldlZWssXG4gICAgKTtcbiAgICBjb25zdCBkYXlPZk1vbnRoUmVnZXg6IHN0cmluZyA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRSZWdleEl0ZW0oXG4gICAgICBjcm9uRXhwcmVzc2lvblBhdHRlcm4sXG4gICAgICBSZWdleEl0ZW1zSW5kZXguRGF5T2ZNb250aCxcbiAgICApO1xuXG4gICAgY29uc3QgaXNCYXNlZE9uV2VlayA9IGRheU9mV2Vla1JlZ2V4ICE9PSAnKicgJiYgZGF5T2ZXZWVrUmVnZXggIT09ICc/JztcbiAgICBjb25zdCBpc0Jhc2VkT25Nb250aCA9IGRheU9mTW9udGhSZWdleCAhPT0gJz8nO1xuICAgIGNvbnN0IGlzRXZlcnlEYXk6IGJvb2xlYW4gPSAhaXNCYXNlZE9uV2VlayAmJiAhaXNCYXNlZE9uTW9udGg7XG4gICAgaWYgKGlzRXZlcnlEYXkpIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwudHlwZSA9IERheVR5cGUuRXZlcnk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQmFzZWRPbldlZWspIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwudHlwZSA9IERheVR5cGUuQk9XZWVrO1xuICAgICAgdGhpcy5yZXZlcnNFeHByZXNzaW9uQmFzZWRPbldlZWsoZGF5T2ZXZWVrUmVnZXgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Jhc2VkT25Nb250aCkge1xuICAgICAgdGhpcy5kYXlNb2RlbC50eXBlID0gRGF5VHlwZS5CT01vbnRoO1xuICAgICAgdGhpcy5yZXZlcnNFeHByZXNzaW9uQmFzZWRPbk1vbnRoKGRheU9mTW9udGhSZWdleCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcmV2ZXJzRXhwcmVzc2lvbkJhc2VkT25XZWVrKHJlZ2V4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyAqKlJlZ2V4IHBhdHRlcm4gdG8gY2hlY2sgaWQgY3VzdG9tIG9yIG5vdCoqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXlswLTldTCQnKTtcbiAgICBjb25zdCBpc0N1c3RvbSA9ICFyZWdleFBhdHRlcm4udGVzdChyZWdleCk7XG4gICAgaWYgKCFpc0N1c3RvbSkge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGUgPSBCYXNlT25XZWVrVHlwZS5MYXN0O1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmxhc3QuZGF5ID0gcGFyc2VJbnQocmVnZXhbMF0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID0gQmFzZU9uV2Vla1R5cGUuQ3VzdG9tO1xuXG4gICAgY29uc3QgaW50ZXJ2YWxEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldEludGVydmFsQ3JvbkRhdGEocmVnZXgpO1xuICAgIGNvbnN0IGhhc0ludGVydmFsSXRlbXMgPSBpbnRlcnZhbERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzSW50ZXJ2YWxJdGVtcykge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQgPSB0cnVlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaW50ZXJ2YWwgPSBpbnRlcnZhbERhdGE/LmludGVydmFsIGFzIG51bWJlcjtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LnN0YXJ0QXQgPSBpbnRlcnZhbERhdGE/LnN0YXJ0QXQgYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIGNvbnN0IHNwZWNpZmljRGF0YSA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRTcGVjaWZpY0Nyb25EYXRhKHJlZ2V4LCB0aGlzLmRheXNMaXN0KTtcbiAgICBjb25zdCBoYXNTcGVjaWZpY0l0ZW1zID0gc3BlY2lmaWNEYXRhICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKGhhc1NwZWNpZmljSXRlbXMpIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uc3BlY2lmaWMuaXNTcGVjZWZpYyA9IHRydWU7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLnZhbHVlcyA9IHNwZWNpZmljRGF0YSBhcyBBcnJheTxEcm9wRG93bkl0ZW0+O1xuICAgIH1cblxuICAgIGNvbnN0IGRheU9mTW9udGhEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldERheU9mTW9udGhDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzRGF5T2ZNb250aERhdGFJdGVtID0gZGF5T2ZNb250aERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzRGF5T2ZNb250aERhdGFJdGVtKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLmRheU9mTW9udGguaXNEYXlPZk1vbnRoID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXkgPSBkYXlPZk1vbnRoRGF0YT8uZGF5IGFzIG51bWJlcjtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC54c3QgPSBkYXlPZk1vbnRoRGF0YT8ueHN0IGFzIG51bWJlcjtcbiAgICB9XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uQmFzZWRPbk1vbnRoKHJlZ2V4OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc0xhc3REYXlPZk1vbnRoID0gcmVnZXggPT0gJ0wnO1xuICAgIGlmIChpc0xhc3REYXlPZk1vbnRoKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPSBCYXNlT25Nb250aFR5cGUuTGFzdDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyAqKlJlZ2V4IHBhdHRlcm4gdG8gY2hlY2sgaWYgaWQgYmVmb3JlIG9yIG5vdCoqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXkwtWzAtOV0rJCcpO1xuICAgIGNvbnN0IGlzQ3VzdG9tID0gIXJlZ2V4UGF0dGVybi50ZXN0KHJlZ2V4KTtcbiAgICBpZiAoIWlzQ3VzdG9tKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPSBCYXNlT25Nb250aFR5cGUuQmVmb3JlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5iZWZvcmUgPSBwYXJzZUludChyZWdleC5zdWJzdHIoMikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZSA9IEJhc2VPbk1vbnRoVHlwZS5DdXN0b207XG5cbiAgICBjb25zdCBpbnRlcnZhbERhdGEgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0SW50ZXJ2YWxDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzSW50ZXJ2YWxJdGVtcyA9IGludGVydmFsRGF0YSAhPT0gdW5kZWZpbmVkO1xuICAgIGlmIChoYXNJbnRlcnZhbEl0ZW1zKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQgPSB0cnVlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsID0gaW50ZXJ2YWxEYXRhPy5pbnRlcnZhbCBhcyBudW1iZXI7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdCA9IGludGVydmFsRGF0YT8uc3RhcnRBdCBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY2lmaWNEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFNwZWNpZmljQ3JvbkRhdGEocmVnZXgsIHRoaXMuZGF5c0xpc3QpO1xuICAgIGNvbnN0IGhhc1NwZWNpZmljSXRlbXMgPSBzcGVjaWZpY0RhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzU3BlY2lmaWNJdGVtcykge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20uc3BlY2lmaWMuaXNTcGVjZWZpYyA9IHRydWU7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMgPSBzcGVjaWZpY0RhdGEgYXMgQXJyYXk8RHJvcERvd25JdGVtPjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|