ngx-histaff-alpha 3.8.9 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -9,6 +9,7 @@ import { CoreDatePickerComponent } from '../../core-date-picker/core-date-picker
|
|
|
9
9
|
import { CoreDropdownComponent } from '../../core-dropdown/core-dropdown/core-dropdown.component';
|
|
10
10
|
import { CoreOrgParamComponent } from '../../core-org-param/core-org-param.component';
|
|
11
11
|
import { CoreOrgParamDropdownComponent } from '../../core-org-param-dropdown/core-org-param-dropdown.component';
|
|
12
|
+
import { CoreMonthSelectorComponent } from '../../core-month-selector/core-month-selector/core-month-selector.component';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "../../../services/multi-language.service";
|
|
14
15
|
import * as i2 from "../../alert/alert.service";
|
|
@@ -28,7 +29,7 @@ export class CoreParamControlComponent extends BaseComponent {
|
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreParamControlComponent, deps: [{ token: i1.MultiLanguageService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreParamControlComponent, isStandalone: true, selector: "core-param-control", inputs: { control: "control", enableTimeZoneConverterForDateTimePeriodParameters: "enableTimeZoneConverterForDateTimePeriodParameters" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker \r\n [(ngModel)]=\"control.ngModel\" \r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [disabled]=\"!!control.disabled!\" [popupAlign]=\"control.popupAlign!\"></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n }\r\n\r\n <!-- <ng-container *ngIf=\"control.controlType==='SEEKER' && control.seekerSourceType==='ORGANIZATION_UNIT_SEEK'\">\r\n <core-org-param [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n </ng-container>\r\n <ng-container *ngIf=\"control.controlType==='TEXTBOX'\">\r\n <input *ngIf=\"control.type==='date'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='CHECKBOX'\">\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='DATEPICKER'\">\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\" [popupAlign]=\"'left'\"></core-date-picker>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='DROPDOWN' && !!control.dropdownOptions$\">\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='CHECKLIST' && !!control.checklistOptions$\">\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n </ng-container> -->\r\n\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "readonly", "disabled"] }, { kind: "component", type: CoreOrgParamComponent, selector: "core-org-param", inputs: ["accessorMode"] }, { kind: "component", type: CoreOrgParamDropdownComponent, selector: "core-org-param-dropdown", inputs: ["accessorMode", "dropdownHeight"] }] }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: CoreParamControlComponent, isStandalone: true, selector: "core-param-control", inputs: { control: "control", enableTimeZoneConverterForDateTimePeriodParameters: "enableTimeZoneConverterForDateTimePeriodParameters" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker \r\n [(ngModel)]=\"control.ngModel\" \r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [disabled]=\"!!control.disabled!\" [popupAlign]=\"control.popupAlign!\"></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n\r\n @case ('MONTHSELECTOR') {\r\n <core-month-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-month-selector>\r\n }\r\n }\r\n\r\n <!-- <ng-container *ngIf=\"control.controlType==='SEEKER' && control.seekerSourceType==='ORGANIZATION_UNIT_SEEK'\">\r\n <core-org-param [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n </ng-container>\r\n <ng-container *ngIf=\"control.controlType==='TEXTBOX'\">\r\n <input *ngIf=\"control.type==='date'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='CHECKBOX'\">\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='DATEPICKER'\">\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\" [popupAlign]=\"'left'\"></core-date-picker>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='DROPDOWN' && !!control.dropdownOptions$\">\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='CHECKLIST' && !!control.checklistOptions$\">\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n </ng-container> -->\r\n\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreDropdownComponent, selector: "core-dropdown", inputs: ["getByIdObject$", "paramMode", "shownFrom", "options$", "height", "placeholder", "loading", "warningDisable", "clearDisable", "fitHeightWithItemCount", "itemHeight"] }, { kind: "component", type: CoreChecklistComponent, selector: "core-checklist", inputs: ["paramMode", "getByIdObject$", "shownFrom", "options$", "height", "placeholder", "loading", "readonly", "disabled"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: ["enableTimeZoneConverter", "showPlaceholder", "popupWidth", "popupXPadding", "popupAlign", "rangeLimit", "readonly", "disabled"] }, { kind: "component", type: CoreOrgParamComponent, selector: "core-org-param", inputs: ["accessorMode"] }, { kind: "component", type: CoreOrgParamDropdownComponent, selector: "core-org-param-dropdown", inputs: ["accessorMode", "dropdownHeight"] }, { kind: "component", type: CoreMonthSelectorComponent, selector: "core-month-selector", inputs: ["align"], outputs: ["onYearClick"] }] }); }
|
|
32
33
|
}
|
|
33
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreParamControlComponent, decorators: [{
|
|
34
35
|
type: Component,
|
|
@@ -42,10 +43,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
42
43
|
CoreDatePickerComponent,
|
|
43
44
|
CoreOrgParamComponent,
|
|
44
45
|
CoreOrgParamDropdownComponent,
|
|
45
|
-
|
|
46
|
+
CoreMonthSelectorComponent,
|
|
47
|
+
], template: "<div class=\"core-param-control-container\">\r\n\r\n <!-- START: LABEL SESSION-->\r\n <label [class]=\"'control-label'\" *ngIf=\"control.controlType==='CHECKBOX'\">\r\n </label>\r\n <!-- ('UI.COMMON_FILTER' | translate: lang) + -->\r\n <label *ngIf=\"control.name==='dateFrom'\">\r\n {{\r\n\r\n (control.label | translate: lang) +\r\n ('UI.COMMON_FROM' | translate: lang)\r\n }}\r\n </label>\r\n\r\n <label *ngIf=\"control.name==='dateTo'\">\r\n {{\r\n 'UI.COMMON_TO' | translate: lang\r\n }}\r\n </label>\r\n <label *ngIf=\"control.controlType=='DATEPICKER' && control.name!=='dateFrom' && control.name!=='dateTo'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n\r\n <label *ngIf=\"control.controlType!=='CHECKBOX' && control.controlType!=='DATEPICKER'\">\r\n {{ control.label | translate: lang }}\r\n </label>\r\n <!-- START: LABEL SESSION-->\r\n\r\n <!-- START: FORM-CONTROL SESSION-->\r\n\r\n @switch (control.controlType) {\r\n\r\n @case ('SEEKER') {\r\n @if (control.seekerSourceType==='ORGANIZATION_UNIT_SEEK') {\r\n <core-org-param [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n }\r\n }\r\n\r\n @case ('TEXTBOX') {\r\n\r\n @if (control.type==='date') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n }\r\n\r\n @if (control.type==='number') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n }\r\n\r\n @if (control.type!=='date' && control.type!=='number') {\r\n <input [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n }\r\n\r\n }\r\n\r\n @case ('CHECKBOX') {\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n }\r\n\r\n @case ('DATEPICKER') {\r\n <core-date-picker \r\n [(ngModel)]=\"control.ngModel\" \r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [disabled]=\"!!control.disabled!\" [popupAlign]=\"control.popupAlign!\"></core-date-picker>\r\n }\r\n\r\n @case ('DROPDOWN') {\r\n @if (!!control.dropdownOptions$) {\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n }\r\n }\r\n\r\n @case ('CHECKLIST') {\r\n @if (!!control.checklistOptions$) {\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n }\r\n }\r\n\r\n @case ('ORG_PARAM_DROPDOWN') {\r\n <core-org-param-dropdown [accessorMode]=\"control.accessorMode!\" [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param-dropdown>\r\n }\r\n\r\n @case ('MONTHSELECTOR') {\r\n <core-month-selector [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [align]=\"'left'\"></core-month-selector>\r\n }\r\n }\r\n\r\n <!-- <ng-container *ngIf=\"control.controlType==='SEEKER' && control.seekerSourceType==='ORGANIZATION_UNIT_SEEK'\">\r\n <core-org-param [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"></core-org-param>\r\n </ng-container>\r\n <ng-container *ngIf=\"control.controlType==='TEXTBOX'\">\r\n <input *ngIf=\"control.type==='date'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" useValueAsDate>\r\n <input *ngIf=\"control.type==='number'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\" [step]=\"control.step || '1'\">\r\n <input *ngIf=\"control.type!=='date' && control.type!=='number'\" [(ngModel)]=\"control.ngModel\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [type]=\"control.type\"\r\n [disabled]=\"!!control.disabled!\" class=\"form-control\">\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='CHECKBOX'\">\r\n <core-checkbox [(ngModel)]=\"control.ngModel\" (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [text]=\"control.label\" [inputValue]=\"control.value\" [disabled]=\"!!control.disabled!\"></core-checkbox>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='DATEPICKER'\">\r\n <core-date-picker [(ngModel)]=\"control.ngModel\" [rangeLimit]=\"control.rangeLimit!\"\r\n [enableTimeZoneConverter]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\"\r\n [disabled]=\"!!control.disabled!\" [popupAlign]=\"'left'\"></core-date-picker>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='DROPDOWN' && !!control.dropdownOptions$\">\r\n <core-dropdown [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.dropdownOptions$!\"></core-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.controlType==='CHECKLIST' && !!control.checklistOptions$\">\r\n <core-checklist [(ngModel)]=\"control.ngModel\" [disabled]=\"!!control.disabled!\"\r\n (ngModelChange)=\"control.ngModelChange(control.name, $event)\" [paramMode]=\"true\"\r\n [options$]=\"control.checklistOptions$!\"></core-checklist>\r\n </ng-container> -->\r\n\r\n <!-- END: FORM-CONTROL SESSION-->\r\n\r\n</div>", styles: [".core-param-control-container{padding-left:0;font-size:13px}.core-param-control-container label{color:#848484}\n"] }]
|
|
46
48
|
}], ctorParameters: () => [{ type: i1.MultiLanguageService }, { type: i2.AlertService }], propDecorators: { control: [{
|
|
47
49
|
type: Input
|
|
48
50
|
}], enableTimeZoneConverterForDateTimePeriodParameters: [{
|
|
49
51
|
type: Input
|
|
50
52
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wYXJhbS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhcmFtLWNvbnRyb2wvY29yZS1wYXJhbS1jb250cm9sL2NvcmUtcGFyYW0tY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYXJhbS1jb250cm9sL2NvcmUtcGFyYW0tY29udHJvbC9jb3JlLXBhcmFtLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7Ozs7QUFtQmhILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBTTFELFlBQ2tCLEdBQXlCLEVBQ2xDLFlBQTBCO1FBRWpDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUhLLFFBQUcsR0FBSCxHQUFHLENBQXNCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBR25DLENBQUM7SUFFUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsNkJBQTZCLENBQUMsQ0FBQTtTQUNqRTtJQUNILENBQUM7OEdBbkJVLHlCQUF5QjtrR0FBekIseUJBQXlCLCtPQ2hDdEMscWdPQXlJTSx5S0R0SEYsWUFBWSxrSUFDWixXQUFXLDBtQkFDWCxhQUFhLGtEQUNiLHFCQUFxQiwwT0FDckIsc0JBQXNCLHlMQUN0QixxQkFBcUIsMEpBQ3JCLHVCQUF1Qix3TUFDdkIscUJBQXFCLHFGQUNyQiw2QkFBNkI7OzJGQUtwQix5QkFBeUI7a0JBakJyQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1I7d0JBQ04sWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLDZCQUE2QjtxQkFDOUI7b0hBS1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLGtEQUFrRDtzQkFBMUQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ29yZVBhcmFtQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvcmUtaGVhZGVyLXBhcmFtcy9lbnVtLWFuZC1pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hbGVydC9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVDaGVja2xpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWNoZWNrbGlzdC9jb3JlLWNoZWNrbGlzdC9jb3JlLWNoZWNrbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWNoZWNrYm94L2NvcmUtY2hlY2tib3gvY29yZS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLXBpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgQ29yZURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWRhdGUtcGlja2VyL2NvcmUtZGF0ZS1waWNrZXIvY29yZS1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWRyb3Bkb3duL2NvcmUtZHJvcGRvd24vY29yZS1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlT3JnUGFyYW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLW9yZy1wYXJhbS9jb3JlLW9yZy1wYXJhbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlT3JnUGFyYW1Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtb3JnLXBhcmFtLWRyb3Bkb3duL2NvcmUtb3JnLXBhcmFtLWRyb3Bkb3duLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtcGFyYW0tY29udHJvbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOltcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIENvcmVEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIENvcmVDaGVja2xpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBDb3JlRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIENvcmVPcmdQYXJhbUNvbXBvbmVudCxcclxuICAgIENvcmVPcmdQYXJhbURyb3Bkb3duQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtcGFyYW0tY29udHJvbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS1wYXJhbS1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlUGFyYW1Db250cm9sQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IElDb3JlUGFyYW1Db250cm9sO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVRpbWVab25lQ29udmVydGVyRm9yRGF0ZVRpbWVQZXJpb2RQYXJhbWV0ZXJzITogYm9vbGVhbjtcclxuXHJcbiAgY29udHJvbFR5cGUhOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1scyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSgoeCkgPT4gKHRoaXMubGFuZyA9IHgpKSk7XHJcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gdGhpcy5jb250cm9sLmNvbnRyb2xUeXBlO1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wubmdNb2RlbENoYW5nZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKHRoaXMuY29udHJvbC5uYW1lICsgXCIgZXJyb3I6IG5vIG5nTW9kZWxDaGFuZ2UgRm5cIilcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvcmUtcGFyYW0tY29udHJvbC1jb250YWluZXJcIj5cclxuXHJcbiAgICA8IS0tIFNUQVJUOiBMQUJFTCBTRVNTSU9OLS0+XHJcbiAgICA8bGFiZWwgW2NsYXNzXT1cIidjb250cm9sLWxhYmVsJ1wiICpuZ0lmPVwiY29udHJvbC5jb250cm9sVHlwZT09PSdDSEVDS0JPWCdcIj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8IS0tICgnVUkuQ09NTU9OX0ZJTFRFUicgfCB0cmFuc2xhdGU6IGxhbmcpICsgLS0+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJjb250cm9sLm5hbWU9PT0nZGF0ZUZyb20nXCI+XHJcbiAgICAgICAge3tcclxuXHJcbiAgICAgICAgKGNvbnRyb2wubGFiZWwgfCB0cmFuc2xhdGU6IGxhbmcpICtcclxuICAgICAgICAoJ1VJLkNPTU1PTl9GUk9NJyB8IHRyYW5zbGF0ZTogbGFuZylcclxuICAgICAgICB9fVxyXG4gICAgPC9sYWJlbD5cclxuXHJcbiAgICA8bGFiZWwgKm5nSWY9XCJjb250cm9sLm5hbWU9PT0nZGF0ZVRvJ1wiPlxyXG4gICAgICAgIHt7XHJcbiAgICAgICAgJ1VJLkNPTU1PTl9UTycgfCB0cmFuc2xhdGU6IGxhbmdcclxuICAgICAgICB9fVxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxsYWJlbCAqbmdJZj1cImNvbnRyb2wuY29udHJvbFR5cGU9PSdEQVRFUElDS0VSJyAmJiBjb250cm9sLm5hbWUhPT0nZGF0ZUZyb20nICYmIGNvbnRyb2wubmFtZSE9PSdkYXRlVG8nXCI+XHJcbiAgICAgICAge3sgY29udHJvbC5sYWJlbCB8IHRyYW5zbGF0ZTogbGFuZyB9fVxyXG4gICAgPC9sYWJlbD5cclxuXHJcbiAgICA8bGFiZWwgKm5nSWY9XCJjb250cm9sLmNvbnRyb2xUeXBlIT09J0NIRUNLQk9YJyAmJiBjb250cm9sLmNvbnRyb2xUeXBlIT09J0RBVEVQSUNLRVInXCI+XHJcbiAgICAgICAge3sgY29udHJvbC5sYWJlbCB8IHRyYW5zbGF0ZTogbGFuZyB9fVxyXG4gICAgPC9sYWJlbD5cclxuICAgIDwhLS0gU1RBUlQ6IExBQkVMIFNFU1NJT04tLT5cclxuXHJcbiAgICA8IS0tIFNUQVJUOiBGT1JNLUNPTlRST0wgU0VTU0lPTi0tPlxyXG5cclxuICAgIEBzd2l0Y2ggKGNvbnRyb2wuY29udHJvbFR5cGUpIHtcclxuXHJcbiAgICAgICAgQGNhc2UgKCdTRUVLRVInKSB7XHJcbiAgICAgICAgICAgIEBpZiAoY29udHJvbC5zZWVrZXJTb3VyY2VUeXBlPT09J09SR0FOSVpBVElPTl9VTklUX1NFRUsnKSB7XHJcbiAgICAgICAgICAgICAgICA8Y29yZS1vcmctcGFyYW0gWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCI+PC9jb3JlLW9yZy1wYXJhbT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGNhc2UgKCdURVhUQk9YJykge1xyXG5cclxuICAgICAgICAgICAgQGlmIChjb250cm9sLnR5cGU9PT0nZGF0ZScpIHtcclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCIgW3R5cGVdPVwiY29udHJvbC50eXBlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB1c2VWYWx1ZUFzRGF0ZT5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGlmIChjb250cm9sLnR5cGU9PT0nbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCJcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtzdGVwXT1cImNvbnRyb2wuc3RlcCB8fCAnMSdcIj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGlmIChjb250cm9sLnR5cGUhPT0nZGF0ZScgJiYgY29udHJvbC50eXBlIT09J251bWJlcicpIHtcclxuICAgICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCIgW3R5cGVdPVwiY29udHJvbC50eXBlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBjYXNlICgnQ0hFQ0tCT1gnKSB7XHJcbiAgICAgICAgICAgIDxjb3JlLWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cImNvbnRyb2wubGFiZWxcIiBbaW5wdXRWYWx1ZV09XCJjb250cm9sLnZhbHVlXCIgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIj48L2NvcmUtY2hlY2tib3g+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAY2FzZSAoJ0RBVEVQSUNLRVInKSB7XHJcbiAgICAgICAgICAgIDxjb3JlLWRhdGUtcGlja2VyIFxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiBcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW3JhbmdlTGltaXRdPVwiY29udHJvbC5yYW5nZUxpbWl0IVwiXHJcbiAgICAgICAgICAgICAgICBbZW5hYmxlVGltZVpvbmVDb252ZXJ0ZXJdPVwiZW5hYmxlVGltZVpvbmVDb252ZXJ0ZXJGb3JEYXRlVGltZVBlcmlvZFBhcmFtZXRlcnNcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIiBbcG9wdXBBbGlnbl09XCJjb250cm9sLnBvcHVwQWxpZ24hXCI+PC9jb3JlLWRhdGUtcGlja2VyPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGNhc2UgKCdEUk9QRE9XTicpIHtcclxuICAgICAgICAgICAgQGlmICghIWNvbnRyb2wuZHJvcGRvd25PcHRpb25zJCkge1xyXG4gICAgICAgICAgICAgICAgPGNvcmUtZHJvcGRvd24gWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiXHJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCIgW3BhcmFtTW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtvcHRpb25zJF09XCJjb250cm9sLmRyb3Bkb3duT3B0aW9ucyQhXCI+PC9jb3JlLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAY2FzZSAoJ0NIRUNLTElTVCcpIHtcclxuICAgICAgICAgICAgQGlmICghIWNvbnRyb2wuY2hlY2tsaXN0T3B0aW9ucyQpIHtcclxuICAgICAgICAgICAgICAgIDxjb3JlLWNoZWNrbGlzdCBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCJcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbcGFyYW1Nb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW29wdGlvbnMkXT1cImNvbnRyb2wuY2hlY2tsaXN0T3B0aW9ucyQhXCI+PC9jb3JlLWNoZWNrbGlzdD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGNhc2UgKCdPUkdfUEFSQU1fRFJPUERPV04nKSB7XHJcbiAgICAgICAgICAgIDxjb3JlLW9yZy1wYXJhbS1kcm9wZG93biBbYWNjZXNzb3JNb2RlXT1cImNvbnRyb2wuYWNjZXNzb3JNb2RlIVwiIFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCI+PC9jb3JlLW9yZy1wYXJhbS1kcm9wZG93bj5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC5jb250cm9sVHlwZT09PSdTRUVLRVInICYmIGNvbnRyb2wuc2Vla2VyU291cmNlVHlwZT09PSdPUkdBTklaQVRJT05fVU5JVF9TRUVLJ1wiPlxyXG4gICAgICAgIDxjb3JlLW9yZy1wYXJhbSBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIj48L2NvcmUtb3JnLXBhcmFtPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC5jb250cm9sVHlwZT09PSdURVhUQk9YJ1wiPlxyXG4gICAgICAgIDxpbnB1dCAqbmdJZj1cImNvbnRyb2wudHlwZT09PSdkYXRlJ1wiIFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB1c2VWYWx1ZUFzRGF0ZT5cclxuICAgICAgICA8aW5wdXQgKm5nSWY9XCJjb250cm9sLnR5cGU9PT0nbnVtYmVyJ1wiIFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbc3RlcF09XCJjb250cm9sLnN0ZXAgfHwgJzEnXCI+XHJcbiAgICAgICAgPGlucHV0ICpuZ0lmPVwiY29udHJvbC50eXBlIT09J2RhdGUnICYmIGNvbnRyb2wudHlwZSE9PSdudW1iZXInXCIgWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCIgW3R5cGVdPVwiY29udHJvbC50eXBlXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wuY29udHJvbFR5cGU9PT0nQ0hFQ0tCT1gnXCI+XHJcbiAgICAgICAgPGNvcmUtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3RleHRdPVwiY29udHJvbC5sYWJlbFwiIFtpbnB1dFZhbHVlXT1cImNvbnRyb2wudmFsdWVcIiBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiPjwvY29yZS1jaGVja2JveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbnRyb2xUeXBlPT09J0RBVEVQSUNLRVInXCI+XHJcbiAgICAgICAgPGNvcmUtZGF0ZS1waWNrZXIgWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiBbcmFuZ2VMaW1pdF09XCJjb250cm9sLnJhbmdlTGltaXQhXCJcclxuICAgICAgICAgICAgW2VuYWJsZVRpbWVab25lQ29udmVydGVyXT1cImVuYWJsZVRpbWVab25lQ29udmVydGVyRm9yRGF0ZVRpbWVQZXJpb2RQYXJhbWV0ZXJzXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCIgW3BvcHVwQWxpZ25dPVwiJ2xlZnQnXCI+PC9jb3JlLWRhdGUtcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wuY29udHJvbFR5cGU9PT0nRFJPUERPV04nICYmICEhY29udHJvbC5kcm9wZG93bk9wdGlvbnMkXCI+XHJcbiAgICAgICAgPGNvcmUtZHJvcGRvd24gWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbcGFyYW1Nb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbb3B0aW9ucyRdPVwiY29udHJvbC5kcm9wZG93bk9wdGlvbnMkIVwiPjwvY29yZS1kcm9wZG93bj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbnRyb2xUeXBlPT09J0NIRUNLTElTVCcgJiYgISFjb250cm9sLmNoZWNrbGlzdE9wdGlvbnMkXCI+XHJcbiAgICAgICAgPGNvcmUtY2hlY2tsaXN0IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCIgW3BhcmFtTW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW29wdGlvbnMkXT1cImNvbnRyb2wuY2hlY2tsaXN0T3B0aW9ucyQhXCI+PC9jb3JlLWNoZWNrbGlzdD5cclxuICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuXHJcbiAgICA8IS0tIEVORDogRk9STS1DT05UUk9MIFNFU1NJT04tLT5cclxuXHJcbjwvZGl2PiJdfQ==
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wYXJhbS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLXBhcmFtLWNvbnRyb2wvY29yZS1wYXJhbS1jb250cm9sL2NvcmUtcGFyYW0tY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29yZS1wYXJhbS1jb250cm9sL2NvcmUtcGFyYW0tY29udHJvbC9jb3JlLXBhcmFtLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDOzs7Ozs7QUFvQnpILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBTTFELFlBQ2tCLEdBQXlCLEVBQ2xDLFlBQTBCO1FBRWpDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUhLLFFBQUcsR0FBSCxHQUFHLENBQXNCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBR25DLENBQUM7SUFFUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsNkJBQTZCLENBQUMsQ0FBQTtTQUNqRTtJQUNILENBQUM7OEdBbkJVLHlCQUF5QjtrR0FBekIseUJBQXlCLCtPQ2xDdEMsMnhPQThJTSx5S0QxSEYsWUFBWSxrSUFDWixXQUFXLDBtQkFDWCxhQUFhLGtEQUNiLHFCQUFxQiwwT0FDckIsc0JBQXNCLHlMQUN0QixxQkFBcUIsMEpBQ3JCLHVCQUF1Qix3TUFDdkIscUJBQXFCLHFGQUNyQiw2QkFBNkIsZ0hBQzdCLDBCQUEwQjs7MkZBS2pCLHlCQUF5QjtrQkFsQnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUjt3QkFDTixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7cUJBQzNCO29IQUtRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxrREFBa0Q7c0JBQTFELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNvcmVQYXJhbUNvbnRyb2wgfSBmcm9tICcuLi8uLi9jb3JlLWhlYWRlci1wYXJhbXMvZW51bS1hbmQtaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLWNvbXBvbmVudC9iYXNlL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYWxlcnQvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlQ2hlY2tsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1jaGVja2xpc3QvY29yZS1jaGVja2xpc3QvY29yZS1jaGVja2xpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1jaGVja2JveC9jb3JlLWNoZWNrYm94L2NvcmUtY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IENvcmVEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1kYXRlLXBpY2tlci9jb3JlLWRhdGUtcGlja2VyL2NvcmUtZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1kcm9wZG93bi9jb3JlLWRyb3Bkb3duL2NvcmUtZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZU9yZ1BhcmFtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1vcmctcGFyYW0vY29yZS1vcmctcGFyYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZU9yZ1BhcmFtRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLW9yZy1wYXJhbS1kcm9wZG93bi9jb3JlLW9yZy1wYXJhbS1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlTW9udGhTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtbW9udGgtc2VsZWN0b3IvY29yZS1tb250aC1zZWxlY3Rvci9jb3JlLW1vbnRoLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtcGFyYW0tY29udHJvbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOltcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIENvcmVEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIENvcmVDaGVja2xpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBDb3JlRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIENvcmVPcmdQYXJhbUNvbXBvbmVudCxcclxuICAgIENvcmVPcmdQYXJhbURyb3Bkb3duQ29tcG9uZW50LFxyXG4gICAgQ29yZU1vbnRoU2VsZWN0b3JDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1wYXJhbS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXBhcmFtLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVQYXJhbUNvbnRyb2xDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb250cm9sITogSUNvcmVQYXJhbUNvbnRyb2w7XHJcbiAgQElucHV0KCkgZW5hYmxlVGltZVpvbmVDb252ZXJ0ZXJGb3JEYXRlVGltZVBlcmlvZFBhcmFtZXRlcnMhOiBib29sZWFuO1xyXG5cclxuICBjb250cm9sVHlwZSE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbWxzOiBNdWx0aUxhbmd1YWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIobWxzKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKCh4KSA9PiAodGhpcy5sYW5nID0geCkpKTtcclxuICAgIHRoaXMuY29udHJvbFR5cGUgPSB0aGlzLmNvbnRyb2wuY29udHJvbFR5cGU7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5uZ01vZGVsQ2hhbmdlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IodGhpcy5jb250cm9sLm5hbWUgKyBcIiBlcnJvcjogbm8gbmdNb2RlbENoYW5nZSBGblwiKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29yZS1wYXJhbS1jb250cm9sLWNvbnRhaW5lclwiPlxyXG5cclxuICAgIDwhLS0gU1RBUlQ6IExBQkVMIFNFU1NJT04tLT5cclxuICAgIDxsYWJlbCBbY2xhc3NdPVwiJ2NvbnRyb2wtbGFiZWwnXCIgKm5nSWY9XCJjb250cm9sLmNvbnRyb2xUeXBlPT09J0NIRUNLQk9YJ1wiPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDwhLS0gKCdVSS5DT01NT05fRklMVEVSJyB8IHRyYW5zbGF0ZTogbGFuZykgKyAtLT5cclxuICAgIDxsYWJlbCAqbmdJZj1cImNvbnRyb2wubmFtZT09PSdkYXRlRnJvbSdcIj5cclxuICAgICAgICB7e1xyXG5cclxuICAgICAgICAoY29udHJvbC5sYWJlbCB8IHRyYW5zbGF0ZTogbGFuZykgK1xyXG4gICAgICAgICgnVUkuQ09NTU9OX0ZST00nIHwgdHJhbnNsYXRlOiBsYW5nKVxyXG4gICAgICAgIH19XHJcbiAgICA8L2xhYmVsPlxyXG5cclxuICAgIDxsYWJlbCAqbmdJZj1cImNvbnRyb2wubmFtZT09PSdkYXRlVG8nXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAnVUkuQ09NTU9OX1RPJyB8IHRyYW5zbGF0ZTogbGFuZ1xyXG4gICAgICAgIH19XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiY29udHJvbC5jb250cm9sVHlwZT09J0RBVEVQSUNLRVInICYmIGNvbnRyb2wubmFtZSE9PSdkYXRlRnJvbScgJiYgY29udHJvbC5uYW1lIT09J2RhdGVUbydcIj5cclxuICAgICAgICB7eyBjb250cm9sLmxhYmVsIHwgdHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICA8L2xhYmVsPlxyXG5cclxuICAgIDxsYWJlbCAqbmdJZj1cImNvbnRyb2wuY29udHJvbFR5cGUhPT0nQ0hFQ0tCT1gnICYmIGNvbnRyb2wuY29udHJvbFR5cGUhPT0nREFURVBJQ0tFUidcIj5cclxuICAgICAgICB7eyBjb250cm9sLmxhYmVsIHwgdHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPCEtLSBTVEFSVDogTEFCRUwgU0VTU0lPTi0tPlxyXG5cclxuICAgIDwhLS0gU1RBUlQ6IEZPUk0tQ09OVFJPTCBTRVNTSU9OLS0+XHJcblxyXG4gICAgQHN3aXRjaCAoY29udHJvbC5jb250cm9sVHlwZSkge1xyXG5cclxuICAgICAgICBAY2FzZSAoJ1NFRUtFUicpIHtcclxuICAgICAgICAgICAgQGlmIChjb250cm9sLnNlZWtlclNvdXJjZVR5cGU9PT0nT1JHQU5JWkFUSU9OX1VOSVRfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgIDxjb3JlLW9yZy1wYXJhbSBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIj48L2NvcmUtb3JnLXBhcmFtPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAY2FzZSAoJ1RFWFRCT1gnKSB7XHJcblxyXG4gICAgICAgICAgICBAaWYgKGNvbnRyb2wudHlwZT09PSdkYXRlJykge1xyXG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCJcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHVzZVZhbHVlQXNEYXRlPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgKGNvbnRyb2wudHlwZT09PSdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW3N0ZXBdPVwiY29udHJvbC5zdGVwIHx8ICcxJ1wiPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgKGNvbnRyb2wudHlwZSE9PSdkYXRlJyAmJiBjb250cm9sLnR5cGUhPT0nbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCJcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGNhc2UgKCdDSEVDS0JPWCcpIHtcclxuICAgICAgICAgICAgPGNvcmUtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3RleHRdPVwiY29udHJvbC5sYWJlbFwiIFtpbnB1dFZhbHVlXT1cImNvbnRyb2wudmFsdWVcIiBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiPjwvY29yZS1jaGVja2JveD5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBjYXNlICgnREFURVBJQ0tFUicpIHtcclxuICAgICAgICAgICAgPGNvcmUtZGF0ZS1waWNrZXIgXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIFxyXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbcmFuZ2VMaW1pdF09XCJjb250cm9sLnJhbmdlTGltaXQhXCJcclxuICAgICAgICAgICAgICAgIFtlbmFibGVUaW1lWm9uZUNvbnZlcnRlcl09XCJlbmFibGVUaW1lWm9uZUNvbnZlcnRlckZvckRhdGVUaW1lUGVyaW9kUGFyYW1ldGVyc1wiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiIFtwb3B1cEFsaWduXT1cImNvbnRyb2wucG9wdXBBbGlnbiFcIj48L2NvcmUtZGF0ZS1waWNrZXI+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAY2FzZSAoJ0RST1BET1dOJykge1xyXG4gICAgICAgICAgICBAaWYgKCEhY29udHJvbC5kcm9wZG93bk9wdGlvbnMkKSB7XHJcbiAgICAgICAgICAgICAgICA8Y29yZS1kcm9wZG93biBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCJcclxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbcGFyYW1Nb2RlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW29wdGlvbnMkXT1cImNvbnRyb2wuZHJvcGRvd25PcHRpb25zJCFcIj48L2NvcmUtZHJvcGRvd24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBjYXNlICgnQ0hFQ0tMSVNUJykge1xyXG4gICAgICAgICAgICBAaWYgKCEhY29udHJvbC5jaGVja2xpc3RPcHRpb25zJCkge1xyXG4gICAgICAgICAgICAgICAgPGNvcmUtY2hlY2tsaXN0IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIlxyXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFtwYXJhbU1vZGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbb3B0aW9ucyRdPVwiY29udHJvbC5jaGVja2xpc3RPcHRpb25zJCFcIj48L2NvcmUtY2hlY2tsaXN0PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAY2FzZSAoJ09SR19QQVJBTV9EUk9QRE9XTicpIHtcclxuICAgICAgICAgICAgPGNvcmUtb3JnLXBhcmFtLWRyb3Bkb3duIFthY2Nlc3Nvck1vZGVdPVwiY29udHJvbC5hY2Nlc3Nvck1vZGUhXCIgWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIj48L2NvcmUtb3JnLXBhcmFtLWRyb3Bkb3duPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGNhc2UgKCdNT05USFNFTEVDVE9SJykge1xyXG4gICAgICAgICAgICA8Y29yZS1tb250aC1zZWxlY3RvciBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFthbGlnbl09XCInbGVmdCdcIj48L2NvcmUtbW9udGgtc2VsZWN0b3I+XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wuY29udHJvbFR5cGU9PT0nU0VFS0VSJyAmJiBjb250cm9sLnNlZWtlclNvdXJjZVR5cGU9PT0nT1JHQU5JWkFUSU9OX1VOSVRfU0VFSydcIj5cclxuICAgICAgICA8Y29yZS1vcmctcGFyYW0gWyhuZ01vZGVsKV09XCJjb250cm9sLm5nTW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCI+PC9jb3JlLW9yZy1wYXJhbT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wuY29udHJvbFR5cGU9PT0nVEVYVEJPWCdcIj5cclxuICAgICAgICA8aW5wdXQgKm5nSWY9XCJjb250cm9sLnR5cGU9PT0nZGF0ZSdcIiBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdXNlVmFsdWVBc0RhdGU+XHJcbiAgICAgICAgPGlucHV0ICpuZ0lmPVwiY29udHJvbC50eXBlPT09J251bWJlcidcIiBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW3N0ZXBdPVwiY29udHJvbC5zdGVwIHx8ICcxJ1wiPlxyXG4gICAgICAgIDxpbnB1dCAqbmdJZj1cImNvbnRyb2wudHlwZSE9PSdkYXRlJyAmJiBjb250cm9sLnR5cGUhPT0nbnVtYmVyJ1wiIFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbnRyb2xUeXBlPT09J0NIRUNLQk9YJ1wiPlxyXG4gICAgICAgIDxjb3JlLWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cImNvbnRyb2wubGFiZWxcIiBbaW5wdXRWYWx1ZV09XCJjb250cm9sLnZhbHVlXCIgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIj48L2NvcmUtY2hlY2tib3g+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC5jb250cm9sVHlwZT09PSdEQVRFUElDS0VSJ1wiPlxyXG4gICAgICAgIDxjb3JlLWRhdGUtcGlja2VyIFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgW3JhbmdlTGltaXRdPVwiY29udHJvbC5yYW5nZUxpbWl0IVwiXHJcbiAgICAgICAgICAgIFtlbmFibGVUaW1lWm9uZUNvbnZlcnRlcl09XCJlbmFibGVUaW1lWm9uZUNvbnZlcnRlckZvckRhdGVUaW1lUGVyaW9kUGFyYW1ldGVyc1wiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvbnRyb2wubmdNb2RlbENoYW5nZShjb250cm9sLm5hbWUsICRldmVudClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFjb250cm9sLmRpc2FibGVkIVwiIFtwb3B1cEFsaWduXT1cIidsZWZ0J1wiPjwvY29yZS1kYXRlLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbnRyb2xUeXBlPT09J0RST1BET1dOJyAmJiAhIWNvbnRyb2wuZHJvcGRvd25PcHRpb25zJFwiPlxyXG4gICAgICAgIDxjb3JlLWRyb3Bkb3duIFsobmdNb2RlbCldPVwiY29udHJvbC5uZ01vZGVsXCIgW2Rpc2FibGVkXT1cIiEhY29udHJvbC5kaXNhYmxlZCFcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb250cm9sLm5nTW9kZWxDaGFuZ2UoY29udHJvbC5uYW1lLCAkZXZlbnQpXCIgW3BhcmFtTW9kZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW29wdGlvbnMkXT1cImNvbnRyb2wuZHJvcGRvd25PcHRpb25zJCFcIj48L2NvcmUtZHJvcGRvd24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC5jb250cm9sVHlwZT09PSdDSEVDS0xJU1QnICYmICEhY29udHJvbC5jaGVja2xpc3RPcHRpb25zJFwiPlxyXG4gICAgICAgIDxjb3JlLWNoZWNrbGlzdCBbKG5nTW9kZWwpXT1cImNvbnRyb2wubmdNb2RlbFwiIFtkaXNhYmxlZF09XCIhIWNvbnRyb2wuZGlzYWJsZWQhXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29udHJvbC5uZ01vZGVsQ2hhbmdlKGNvbnRyb2wubmFtZSwgJGV2ZW50KVwiIFtwYXJhbU1vZGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtvcHRpb25zJF09XCJjb250cm9sLmNoZWNrbGlzdE9wdGlvbnMkIVwiPjwvY29yZS1jaGVja2xpc3Q+XHJcbiAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG4gICAgPCEtLSBFTkQ6IEZPUk0tQ09OVFJPTCBTRVNTSU9OLS0+XHJcblxyXG48L2Rpdj4iXX0=
|