@ieeesa-npm/presentation 0.33.0 → 1.0.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.
- package/esm2022/lib/assets/constants.json +13 -561
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +28 -60
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +16 -77
- package/esm2022/lib/components/date-picker/date-picker.component.mjs +10 -27
- package/esm2022/lib/components/date-picker-header/date-picker-header.component.mjs +11 -6
- package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +14 -275
- package/esm2022/lib/components/form-error/form-error.component.mjs +6 -6
- package/esm2022/lib/components/input/input.component.mjs +13 -34
- package/esm2022/lib/components/notification/notification.component.mjs +6 -18
- package/esm2022/lib/components/radio/radio.component.mjs +6 -12
- package/esm2022/lib/components/search/search.component.mjs +10 -62
- package/esm2022/lib/components/select/select.component.mjs +9 -32
- package/esm2022/lib/components/text-area/text-area.component.mjs +7 -65
- package/esm2022/lib/date-formats.mjs +2 -2
- package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +5 -206
- package/esm2022/lib/models/checkbox-option.model.mjs +2 -0
- package/esm2022/lib/models/confirmation-modal-data.model.mjs +2 -0
- package/esm2022/lib/models/date-picker.model.mjs +1 -1
- package/esm2022/lib/models/field-config.model.mjs +1 -1
- package/esm2022/lib/models/footer-config.model.mjs +1 -1
- package/esm2022/lib/models/form-control-types.model.mjs +9 -9
- package/esm2022/lib/models/header-config.model.mjs +1 -1
- package/esm2022/lib/models/navigation-menu.model.mjs +1 -1
- package/esm2022/lib/models/select-option.model.mjs +2 -0
- package/esm2022/lib/models/toggle-button.model.mjs +1 -1
- package/esm2022/lib/presentation.module.mjs +5 -5
- package/esm2022/lib/services/datepicker.service.mjs +4 -4
- package/esm2022/lib/services/form-utility.service.mjs +5 -17
- package/esm2022/public-api.mjs +17 -97
- package/fesm2022/ieeesa-npm-presentation.mjs +599 -7589
- package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
- package/lib/components/autocomplete/autocomplete.component.d.ts +13 -27
- package/lib/components/checkbox/checkbox.component.d.ts +6 -32
- package/lib/components/date-picker/date-picker.component.d.ts +2 -11
- package/lib/components/dynamic-form/dynamic-form.component.d.ts +11 -157
- package/lib/components/input/input.component.d.ts +2 -9
- package/lib/components/notification/notification.component.d.ts +1 -4
- package/lib/components/radio/radio.component.d.ts +1 -3
- package/lib/components/search/search.component.d.ts +4 -13
- package/lib/components/select/select.component.d.ts +2 -5
- package/lib/components/text-area/text-area.component.d.ts +2 -24
- package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +3 -36
- package/lib/models/checkbox-option.model.d.ts +6 -0
- package/lib/models/confirmation-modal-data.model.d.ts +5 -0
- package/lib/models/date-picker.model.d.ts +0 -3
- package/lib/models/field-config.model.d.ts +2 -54
- package/lib/models/footer-config.model.d.ts +0 -1
- package/lib/models/form-control-types.model.d.ts +1 -8
- package/lib/models/header-config.model.d.ts +0 -6
- package/lib/models/navigation-menu.model.d.ts +1 -1
- package/lib/models/select-option.model.d.ts +5 -0
- package/lib/models/toggle-button.model.d.ts +0 -4
- package/lib/services/form-utility.service.d.ts +1 -1
- package/package.json +2 -4
- package/public-api.d.ts +16 -95
- package/src/lib/assets/constants.json +13 -561
- package/esm2022/lib/components/accordion/accordion.component.mjs +0 -61
- package/esm2022/lib/components/add-form-group/add-form-group.component.mjs +0 -34
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -129
- package/esm2022/lib/components/card/card.component.mjs +0 -74
- package/esm2022/lib/components/chips/chips.component.mjs +0 -162
- package/esm2022/lib/components/color-picker/color-picker.component.mjs +0 -314
- package/esm2022/lib/components/data-table/data-table.component.mjs +0 -781
- package/esm2022/lib/components/export-format-popover/export-format-popover.component.mjs +0 -75
- package/esm2022/lib/components/export-success-dialog/export-success-dialog.component.mjs +0 -39
- package/esm2022/lib/components/file-download/file-download.component.mjs +0 -176
- package/esm2022/lib/components/file-upload/file-upload.component.mjs +0 -474
- package/esm2022/lib/components/filter/filter.component.mjs +0 -302
- package/esm2022/lib/components/filter-popover/filter-popover.component.mjs +0 -198
- package/esm2022/lib/components/footer/footer.component.mjs +0 -55
- package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +0 -63
- package/esm2022/lib/components/header/header.component.mjs +0 -193
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +0 -38
- package/esm2022/lib/components/image-preview/image-preview.component.mjs +0 -30
- package/esm2022/lib/components/inactive-tenant/inactive-tenant.component.mjs +0 -44
- package/esm2022/lib/components/legend/legend.component.mjs +0 -37
- package/esm2022/lib/components/list/list.component.mjs +0 -199
- package/esm2022/lib/components/loader/loader.component.mjs +0 -22
- package/esm2022/lib/components/menu/menu.component.mjs +0 -75
- package/esm2022/lib/components/modal/modal.component.mjs +0 -166
- package/esm2022/lib/components/modal-confirmation/modal-confirmation.component.mjs +0 -45
- package/esm2022/lib/components/modal-info/modal-info.component.mjs +0 -41
- package/esm2022/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.mjs +0 -321
- package/esm2022/lib/components/navigation-menu/navigation-menu.component.mjs +0 -89
- package/esm2022/lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component.mjs +0 -81
- package/esm2022/lib/components/rich-text-editor/rich-text-editor.component.mjs +0 -214
- package/esm2022/lib/components/slide-toggle/slide-toggle.component.mjs +0 -98
- package/esm2022/lib/components/stepper/stepper.component.mjs +0 -69
- package/esm2022/lib/components/tabs/tabs.component.mjs +0 -210
- package/esm2022/lib/components/tile/tile.component.mjs +0 -70
- package/esm2022/lib/components/time-picker/time-picker.component.mjs +0 -59
- package/esm2022/lib/components/toggle-button/toggle-button.component.mjs +0 -76
- package/esm2022/lib/components/welcome/welcome.component.mjs +0 -85
- package/esm2022/lib/directives/file-upload/file-upload.directive.mjs +0 -85
- package/esm2022/lib/directives/focus-invalid-form-field/focus-invalid-form-field.directive.mjs +0 -34
- package/esm2022/lib/directives/observe-dom-change/observe-dom-change.directive.mjs +0 -54
- package/esm2022/lib/directives/set-background/set-background.directive.mjs +0 -53
- package/esm2022/lib/directives/text-truncated/text-truncated.directive.mjs +0 -72
- package/esm2022/lib/models/accordion-info.model.mjs +0 -14
- package/esm2022/lib/models/align-browsed-files.model.mjs +0 -7
- package/esm2022/lib/models/allowed-file-types.model.mjs +0 -8
- package/esm2022/lib/models/app-config-info.model.mjs +0 -2
- package/esm2022/lib/models/breadcrumb.model.mjs +0 -2
- package/esm2022/lib/models/button-type.model.mjs +0 -7
- package/esm2022/lib/models/card-button.model.mjs +0 -2
- package/esm2022/lib/models/card-info.model.mjs +0 -2
- package/esm2022/lib/models/chip-option.model.mjs +0 -21
- package/esm2022/lib/models/color-format.model.mjs +0 -13
- package/esm2022/lib/models/custom-properties.model.mjs +0 -14
- package/esm2022/lib/models/download-file.model.mjs +0 -2
- package/esm2022/lib/models/event-emit-type.model.mjs +0 -2
- package/esm2022/lib/models/export-format-popover.model.mjs +0 -10
- package/esm2022/lib/models/export-success-dialog.model.mjs +0 -2
- package/esm2022/lib/models/file-download-config.model.mjs +0 -2
- package/esm2022/lib/models/file-info.model.mjs +0 -2
- package/esm2022/lib/models/file-upload-payload-model.mjs +0 -2
- package/esm2022/lib/models/file-upload-presigned-url-res.model.mjs +0 -2
- package/esm2022/lib/models/file-upload-response.model.mjs +0 -2
- package/esm2022/lib/models/file-upload-status.model.mjs +0 -2
- package/esm2022/lib/models/filter-popover.model.mjs +0 -2
- package/esm2022/lib/models/filters-options.model.mjs +0 -2
- package/esm2022/lib/models/inactive-tenant.model.mjs +0 -2
- package/esm2022/lib/models/input-field-type.model.mjs +0 -8
- package/esm2022/lib/models/legend.model.mjs +0 -2
- package/esm2022/lib/models/link-type.model.mjs +0 -6
- package/esm2022/lib/models/list-item.model.mjs +0 -2
- package/esm2022/lib/models/menu.model.mjs +0 -2
- package/esm2022/lib/models/paginator-config.model.mjs +0 -2
- package/esm2022/lib/models/policy-confirmation-dialog.model.mjs +0 -2
- package/esm2022/lib/models/profile-menu.model.mjs +0 -8
- package/esm2022/lib/models/select-opened-state.model.mjs +0 -2
- package/esm2022/lib/models/selected-date.model.mjs +0 -2
- package/esm2022/lib/models/selected-time.model.mjs +0 -2
- package/esm2022/lib/models/slide-toggle-options.model.mjs +0 -2
- package/esm2022/lib/models/tab.model.mjs +0 -2
- package/esm2022/lib/models/table-actions.model.mjs +0 -2
- package/esm2022/lib/models/table-column-menu-info.model.mjs +0 -2
- package/esm2022/lib/models/table-schema.model.mjs +0 -20
- package/esm2022/lib/models/tile.model.mjs +0 -2
- package/esm2022/lib/pipes/safe.pipe.mjs +0 -44
- package/esm2022/lib/services/break-point-observer.service.mjs +0 -36
- package/esm2022/lib/services/file-upload.service.mjs +0 -378
- package/lib/components/accordion/accordion.component.d.ts +0 -30
- package/lib/components/add-form-group/add-form-group.component.d.ts +0 -19
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +0 -61
- package/lib/components/card/card.component.d.ts +0 -39
- package/lib/components/chips/chips.component.d.ts +0 -374
- package/lib/components/color-picker/color-picker.component.d.ts +0 -88
- package/lib/components/data-table/data-table.component.d.ts +0 -326
- package/lib/components/export-format-popover/export-format-popover.component.d.ts +0 -45
- package/lib/components/export-success-dialog/export-success-dialog.component.d.ts +0 -24
- package/lib/components/file-download/file-download.component.d.ts +0 -383
- package/lib/components/file-upload/file-upload.component.d.ts +0 -522
- package/lib/components/filter/filter.component.d.ts +0 -113
- package/lib/components/filter-popover/filter-popover.component.d.ts +0 -84
- package/lib/components/footer/footer.component.d.ts +0 -37
- package/lib/components/form-support-text/form-support-text.component.d.ts +0 -32
- package/lib/components/header/header.component.d.ts +0 -86
- package/lib/components/icon-button/icon-button.component.d.ts +0 -21
- package/lib/components/image-preview/image-preview.component.d.ts +0 -11
- package/lib/components/inactive-tenant/inactive-tenant.component.d.ts +0 -21
- package/lib/components/legend/legend.component.d.ts +0 -13
- package/lib/components/list/list.component.d.ts +0 -95
- package/lib/components/loader/loader.component.d.ts +0 -7
- package/lib/components/menu/menu.component.d.ts +0 -36
- package/lib/components/modal/modal.component.d.ts +0 -75
- package/lib/components/modal-confirmation/modal-confirmation.component.d.ts +0 -24
- package/lib/components/modal-info/modal-info.component.d.ts +0 -23
- package/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.d.ts +0 -130
- package/lib/components/navigation-menu/navigation-menu.component.d.ts +0 -45
- package/lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component.d.ts +0 -46
- package/lib/components/rich-text-editor/rich-text-editor.component.d.ts +0 -75
- package/lib/components/slide-toggle/slide-toggle.component.d.ts +0 -45
- package/lib/components/stepper/stepper.component.d.ts +0 -46
- package/lib/components/tabs/tabs.component.d.ts +0 -86
- package/lib/components/tile/tile.component.d.ts +0 -39
- package/lib/components/time-picker/time-picker.component.d.ts +0 -20
- package/lib/components/toggle-button/toggle-button.component.d.ts +0 -51
- package/lib/components/welcome/welcome.component.d.ts +0 -41
- package/lib/directives/file-upload/file-upload.directive.d.ts +0 -42
- package/lib/directives/focus-invalid-form-field/focus-invalid-form-field.directive.d.ts +0 -18
- package/lib/directives/observe-dom-change/observe-dom-change.directive.d.ts +0 -23
- package/lib/directives/set-background/set-background.directive.d.ts +0 -28
- package/lib/directives/text-truncated/text-truncated.directive.d.ts +0 -30
- package/lib/models/accordion-info.model.d.ts +0 -12
- package/lib/models/align-browsed-files.model.d.ts +0 -4
- package/lib/models/allowed-file-types.model.d.ts +0 -5
- package/lib/models/app-config-info.model.d.ts +0 -16
- package/lib/models/breadcrumb.model.d.ts +0 -6
- package/lib/models/button-type.model.d.ts +0 -4
- package/lib/models/card-button.model.d.ts +0 -6
- package/lib/models/card-info.model.d.ts +0 -8
- package/lib/models/chip-option.model.d.ts +0 -25
- package/lib/models/color-format.model.d.ts +0 -13
- package/lib/models/custom-properties.model.d.ts +0 -11
- package/lib/models/download-file.model.d.ts +0 -4
- package/lib/models/event-emit-type.model.d.ts +0 -5
- package/lib/models/export-format-popover.model.d.ts +0 -15
- package/lib/models/export-success-dialog.model.d.ts +0 -8
- package/lib/models/file-download-config.model.d.ts +0 -9
- package/lib/models/file-info.model.d.ts +0 -12
- package/lib/models/file-upload-payload-model.d.ts +0 -10
- package/lib/models/file-upload-presigned-url-res.model.d.ts +0 -35
- package/lib/models/file-upload-response.model.d.ts +0 -13
- package/lib/models/file-upload-status.model.d.ts +0 -8
- package/lib/models/filter-popover.model.d.ts +0 -24
- package/lib/models/filters-options.model.d.ts +0 -4
- package/lib/models/inactive-tenant.model.d.ts +0 -5
- package/lib/models/input-field-type.model.d.ts +0 -5
- package/lib/models/legend.model.d.ts +0 -6
- package/lib/models/link-type.model.d.ts +0 -3
- package/lib/models/list-item.model.d.ts +0 -24
- package/lib/models/menu.model.d.ts +0 -9
- package/lib/models/paginator-config.model.d.ts +0 -5
- package/lib/models/policy-confirmation-dialog.model.d.ts +0 -13
- package/lib/models/profile-menu.model.d.ts +0 -4
- package/lib/models/select-opened-state.model.d.ts +0 -4
- package/lib/models/selected-date.model.d.ts +0 -4
- package/lib/models/selected-time.model.d.ts +0 -4
- package/lib/models/slide-toggle-options.model.d.ts +0 -6
- package/lib/models/tab.model.d.ts +0 -6
- package/lib/models/table-actions.model.d.ts +0 -8
- package/lib/models/table-column-menu-info.model.d.ts +0 -6
- package/lib/models/table-schema.model.d.ts +0 -32
- package/lib/models/tile.model.d.ts +0 -12
- package/lib/pipes/safe.pipe.d.ts +0 -16
- package/lib/services/break-point-observer.service.d.ts +0 -21
- package/lib/services/file-upload.service.d.ts +0 -462
|
@@ -17,7 +17,6 @@ import { CalendarType } from '../../models/calendar.model';
|
|
|
17
17
|
import { FormErrorComponent } from '../../components/form-error/form-error.component';
|
|
18
18
|
import * as buttonActionsInfo from '../../assets/constants.json';
|
|
19
19
|
import { FormControlType } from '../../models/form-control-types.model';
|
|
20
|
-
import { FormSupportTextComponent } from '../form-support-text/form-support-text.component';
|
|
21
20
|
import * as i0 from "@angular/core";
|
|
22
21
|
import * as i1 from "@angular/forms";
|
|
23
22
|
import * as i2 from "../../services/datepicker.service";
|
|
@@ -37,10 +36,10 @@ export class CustomDateAdapter extends MomentDateAdapter {
|
|
|
37
36
|
getDayOfWeekNames() {
|
|
38
37
|
return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
|
|
39
38
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CustomDateAdapter }); }
|
|
42
41
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CustomDateAdapter, decorators: [{
|
|
44
43
|
type: Injectable
|
|
45
44
|
}] });
|
|
46
45
|
/**
|
|
@@ -181,10 +180,7 @@ export class DatePickerComponent {
|
|
|
181
180
|
* @memberof DatePickerComponent
|
|
182
181
|
*/
|
|
183
182
|
onDateChange() {
|
|
184
|
-
this.selectedDate.emit(
|
|
185
|
-
date: this.group?.get(this.config?.controlName)?.value,
|
|
186
|
-
controlName: this.config?.controlName
|
|
187
|
-
});
|
|
183
|
+
this.selectedDate.emit(this.group?.get(this.config.controlName)?.value);
|
|
188
184
|
this.datepickerService.selectedDate = this.group?.get(this.config.controlName)?.value;
|
|
189
185
|
this.datepickerService.isRangeSelection = false;
|
|
190
186
|
}
|
|
@@ -244,16 +240,8 @@ export class DatePickerComponent {
|
|
|
244
240
|
isRequired() {
|
|
245
241
|
return this.group?.controls[this.config?.controlName]?.hasValidator(Validators.required);
|
|
246
242
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
* @param {string} controlName
|
|
250
|
-
* @memberof DatePickerComponent
|
|
251
|
-
*/
|
|
252
|
-
onDatePickerOpen(controlName) {
|
|
253
|
-
this.datepickerService.selectedDate = this.group.get(controlName)?.value;
|
|
254
|
-
}
|
|
255
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.DatepickerService }, { token: i3.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
256
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "ieeesa-date-picker", inputs: { selectedDates: "selectedDates", selectedRange: "selectedRange", calendarType: "calendarType", formControlName: "formControlName", placeholderLabel: "placeholderLabel", isDisabled: "isDisabled", isLabelAlignedLeft: "isLabelAlignedLeft", datepickerLabel: "datepickerLabel", dateRange: "dateRange", minDate: "minDate", maxDate: "maxDate" }, outputs: { selectedDate: "selectedDate", selectedDateRange: "selectedDateRange" }, providers: [
|
|
243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.DatepickerService }, { token: i3.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: DatePickerComponent, isStandalone: true, selector: "ieeesa-date-picker", inputs: { selectedDates: "selectedDates", selectedRange: "selectedRange", calendarType: "calendarType", formControlName: "formControlName", placeholderLabel: "placeholderLabel", isDisabled: "isDisabled", isLabelAlignedLeft: "isLabelAlignedLeft", datepickerLabel: "datepickerLabel", dateRange: "dateRange" }, outputs: { selectedDate: "selectedDate", selectedDateRange: "selectedDateRange" }, providers: [
|
|
257
245
|
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },
|
|
258
246
|
{
|
|
259
247
|
provide: DateAdapter,
|
|
@@ -264,9 +252,9 @@ export class DatePickerComponent {
|
|
|
264
252
|
provide: MAT_DATE_FORMATS,
|
|
265
253
|
useValue: DateFormats,
|
|
266
254
|
},
|
|
267
|
-
], ngImport: i0, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-body-sm-14 ieeesa-datepicker__label\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [attr.aria-label]=\"config.ariaLabel\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [min]=\"config?.datePicker?.minDate ?? minDate\"\r\n [max]=\"config?.datePicker?.maxDate ?? maxDate\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"\r\n placeholderLabel ?? buttonActionsInfo?.datePicker?.dateFormatLabel\r\n \"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n >\r\n <svg matDatepickerToggleIcon class=\"ieeesa-datepicker__datepicker-icon\">\r\n <use\r\n [attr.xlink:href]=\"buttonActionsInfo?.datePicker?.datePickerIcon\"\r\n ></use>\r\n </svg>\r\n </mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (opened)=\"onDatePickerOpen(config.controlName)\"\r\n >\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-datepicker{width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__datepicker-icon{position:relative;left:6px}.ieeesa-datepicker .mat-mdc-icon-button{padding:0}.ieeesa-datepicker ::placeholder{color:#63666a;font-size:1rem}.ieeesa-datepicker .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-datepicker__date-picker-button{background:#fff}.ieeesa-datepicker--calendar{background:#fff;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled{border-bottom:1px solid #878b8f;height:40px;align-items:center;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-datepicker .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#63666a;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px;fill:#104a6b}.ieeesa-datepicker:has(.mdc-text-field--focused) .ieeesa-datepicker__label{color:#00629b!important}.ieeesa-datepicker:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-datepicker:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-datepicker:has(.mdc-text-field--invalid) .ieeesa-datepicker__label{color:#ba0c2f!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-bottom:none;border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.mat-datepicker-popup .mat-calendar-content{min-height:280px}.mat-datepicker-popup .mat-calendar-content[ng-reflect-ng-switch=year] .mat-calendar-body{height:200px}.mat-datepicker-popup .mat-calendar-content[ng-reflect-ng-switch=year] .mat-calendar-body tr[aria-hidden=true]{display:none}.mat-datepicker-popup .mat-calendar-content[ng-reflect-ng-switch=year] .mat-calendar-body tr .mat-calendar-body-cell{height:40px}.mat-datepicker-popup .mat-datepicker-content-container{background:#fff;border-radius:4px;box-shadow:0 2px 6px 2px #00000026,0 1px 2px #0000004d}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-label{padding-top:0!important;padding-bottom:0!important}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00629b;color:#00629b}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px;justify-content:center}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i7.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i7.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i7.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i7.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i7.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
255
|
+
], ngImport: i0, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label *ngIf=\"datepickerLabel\">{{ datepickerLabel }} </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"datePickerHeader\">\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label *ngIf=\"datepickerLabel\">{{ datepickerLabel }} </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane{width:100%;min-width:312px}.ieeesa-datepicker{min-width:360px;width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__date-picker-button{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe}.ieeesa-datepicker--calendar{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00b5e2;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00b5e2;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled){border:2px solid #00b5e2;border-radius:4px;height:56px;align-items:center;background-color:#f0f5f9}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px}.mat-datepicker-popup .mat-datepicker-content-container{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:28px}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00b5e2;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00b5e2;color:#00b5e2}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i7.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i7.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i7.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i7.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
268
256
|
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
270
258
|
type: Component,
|
|
271
259
|
args: [{ selector: 'ieeesa-date-picker', standalone: true, imports: [
|
|
272
260
|
CommonModule,
|
|
@@ -280,7 +268,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
280
268
|
MatDatepickerModule,
|
|
281
269
|
DatePickerHeaderComponent,
|
|
282
270
|
MatButtonModule,
|
|
283
|
-
FormSupportTextComponent,
|
|
284
271
|
], providers: [
|
|
285
272
|
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },
|
|
286
273
|
{
|
|
@@ -292,7 +279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
292
279
|
provide: MAT_DATE_FORMATS,
|
|
293
280
|
useValue: DateFormats,
|
|
294
281
|
},
|
|
295
|
-
], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-body-sm-14 ieeesa-datepicker__label\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [attr.aria-label]=\"config.ariaLabel\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [min]=\"config?.datePicker?.minDate ?? minDate\"\r\n [max]=\"config?.datePicker?.maxDate ?? maxDate\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"\r\n placeholderLabel ?? buttonActionsInfo?.datePicker?.dateFormatLabel\r\n \"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n >\r\n <svg matDatepickerToggleIcon class=\"ieeesa-datepicker__datepicker-icon\">\r\n <use\r\n [attr.xlink:href]=\"buttonActionsInfo?.datePicker?.datePickerIcon\"\r\n ></use>\r\n </svg>\r\n </mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (opened)=\"onDatePickerOpen(config.controlName)\"\r\n >\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-datepicker{width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__datepicker-icon{position:relative;left:6px}.ieeesa-datepicker .mat-mdc-icon-button{padding:0}.ieeesa-datepicker ::placeholder{color:#63666a;font-size:1rem}.ieeesa-datepicker .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-datepicker__date-picker-button{background:#fff}.ieeesa-datepicker--calendar{background:#fff;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled{border-bottom:1px solid #878b8f;height:40px;align-items:center;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-datepicker .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#63666a;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px;fill:#104a6b}.ieeesa-datepicker:has(.mdc-text-field--focused) .ieeesa-datepicker__label{color:#00629b!important}.ieeesa-datepicker:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-datepicker:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-datepicker:has(.mdc-text-field--invalid) .ieeesa-datepicker__label{color:#ba0c2f!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-bottom:none;border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.mat-datepicker-popup .mat-calendar-content{min-height:280px}.mat-datepicker-popup .mat-calendar-content[ng-reflect-ng-switch=year] .mat-calendar-body{height:200px}.mat-datepicker-popup .mat-calendar-content[ng-reflect-ng-switch=year] .mat-calendar-body tr[aria-hidden=true]{display:none}.mat-datepicker-popup .mat-calendar-content[ng-reflect-ng-switch=year] .mat-calendar-body tr .mat-calendar-body-cell{height:40px}.mat-datepicker-popup .mat-datepicker-content-container{background:#fff;border-radius:4px;box-shadow:0 2px 6px 2px #00000026,0 1px 2px #0000004d}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-label{padding-top:0!important;padding-bottom:0!important}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00629b;color:#00629b}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px;justify-content:center}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"] }]
|
|
282
|
+
], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label *ngIf=\"datepickerLabel\">{{ datepickerLabel }} </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"datePickerHeader\">\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label *ngIf=\"datepickerLabel\">{{ datepickerLabel }} </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane{width:100%;min-width:312px}.ieeesa-datepicker{min-width:360px;width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__date-picker-button{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe}.ieeesa-datepicker--calendar{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00b5e2;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00b5e2;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled){border:2px solid #00b5e2;border-radius:4px;height:56px;align-items:center;background-color:#f0f5f9}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px}.mat-datepicker-popup .mat-datepicker-content-container{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:28px}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00b5e2;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00b5e2;color:#00b5e2}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"] }]
|
|
296
283
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.DatepickerService }, { type: i3.FormUtilityService }]; }, propDecorators: { selectedDates: [{
|
|
297
284
|
type: Input
|
|
298
285
|
}], selectedRange: [{
|
|
@@ -311,13 +298,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
311
298
|
type: Input
|
|
312
299
|
}], dateRange: [{
|
|
313
300
|
type: Input
|
|
314
|
-
}], minDate: [{
|
|
315
|
-
type: Input
|
|
316
|
-
}], maxDate: [{
|
|
317
|
-
type: Input
|
|
318
301
|
}], selectedDate: [{
|
|
319
302
|
type: Output
|
|
320
303
|
}], selectedDateRange: [{
|
|
321
304
|
type: Output
|
|
322
305
|
}] } });
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLCtCQUErQixHQUNoQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxF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LEVBQUU7d0JBQ3hFOzRCQUNFLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixRQUFRLEVBQUUsaUJBQWlCOzRCQUMzQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsK0JBQStCLENBQUM7eUJBQ3pEO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFFBQVEsRUFBRSxXQUFXO3lCQUN0QjtxQkFDRixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO21NQWFqQyxhQUFhO3NCQURoQixLQUFLO2dCQTZCRixhQUFhO3NCQURoQixLQUFLO2dCQXNCRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHtcclxuICBEYXRlQWRhcHRlcixcclxuICBNQVRfREFURV9GT1JNQVRTLFxyXG4gIE1BVF9EQVRFX0xPQ0FMRSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kYXRlLXBpY2tlci1oZWFkZXIvZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vZGF0ZS1mb3JtYXRzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IENhbGVuZGFyVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYWxlbmRhci5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBidXR0b25BY3Rpb25zSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZERhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtZGF0ZS5tb2RlbCc7XHJcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlQWRhcHRlciBleHRlbmRzIE1vbWVudERhdGVBZGFwdGVyIHtcclxuICAvKipcclxuICAgKiBPdmVycmlkZXMgdGhlIGdldERheU9mV2Vla05hbWVzIG1ldGhvZCBvZiBNb21lbnREYXRlQWRhcHRlciB0byBzaG93IGZpcnN0IGxldHRlciBvZiBkYXkgaW4gY2FwaXRhbCBpbiBkYXRlIHBpY2tlciBoZWFkZXIuXHJcbiAgICogQHJldHVybiB7c3RyaW5nW119XHJcbiAgICogQG1lbWJlcm9mIEN1c3RvbURhdGVBZGFwdGVyXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgZ2V0RGF5T2ZXZWVrTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFsnUycsICdNJywgJ1QnLCAnVycsICdUJywgJ0YnLCAnUyddO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGUgc2VsZWN0aW9uIG9mIHR5cGUgU0lOR0xFX0RBVEVfU0VMRUNUSU9OLCBEQVRFX1JBTkdFX1NFTEVDVElPTiBhbmQgQ0FMRU5EQVIgYW5kIGhhbmRsaW5nIG9mIGNhbGVuZGFyIGV2ZW50cy5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7Rm9ybUZpZWxkfVxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7QWZ0ZXJWaWV3SW5pdH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWRhdGUtcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIERhdGVQaWNrZXJIZWFkZXJDb21wb25lbnQsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiB0cnVlIH0gfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIHVzZUNsYXNzOiBDdXN0b21EYXRlQWRhcHRlcixcclxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxyXG4gICAgICB1c2VWYWx1ZTogRGF0ZUZvcm1hdHMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgRm9ybUZpZWxkLCBPbkluaXQge1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGRhdGVQaWNrZXJIZWFkZXIgPSBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50O1xyXG4gIGNhbGVuZGFyVHlwZXMgPSBDYWxlbmRhclR5cGU7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlczogc3RyaW5nW10gPSBbXTtcclxuICAvKipcclxuICAgKiBHZXRzIHByZXNlbGVjdGVkIGRhdGVzIGFzIGFuIGlucHV0LlxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWREYXRlcyh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZXMgPSB2YWx1ZTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbE5hbWUgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVzPy5sZW5ndGggPT09IDEgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVzWzBdICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5TSU5HTEVfREFURV9TRUxFQ1RJT05cclxuICAgICkge1xyXG4gICAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLnNlbGVjdGVkRGF0ZSA9IHZhbHVlWzBdO1xyXG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCh2YWx1ZVswXSk7XHJcbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHNlbGVjdGVkIGRhdGVzXHJcbiAgICogQHJlYWRvbmx5XHJcbiAgICogQHR5cGUge3N0cmluZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHNlbGVjdGVkRGF0ZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF0ZXM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlbGVjdGVkUmFuZ2U6IHN0cmluZ1tdID0gW107XHJcbiAgLyoqXHJcbiAgICogR2V0cyBwcmVzZWxlY3RlZCBkYXRlIHJhbmdlIGFzIGFuIGlucHV0LlxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRSYW5nZSh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkUmFuZ2UgPSB2YWx1ZTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZFJhbmdlPy5sZW5ndGggPT09IDIgJiZcclxuICAgICAgdGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5EQVRFX1JBTkdFX1NFTEVDVElPTlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwV2l0aFJhbmdlQ29udHJvbHModmFsdWVbMF0sIHZhbHVlWzFdKTtcclxuICAgICAgdGhpcy5zZXREYXRlUmFuZ2UodmFsdWVbMF0sIHZhbHVlWzFdKTtcclxuICAgICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5pc1JhbmdlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBzZWxlY3RlZCBkYXRlIHJhbmdlXHJcbiAgICogQHJlYWRvbmx5XHJcbiAgICogQHR5cGUge3N0cmluZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHNlbGVjdGVkUmFuZ2UoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUmFuZ2U7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBjYWxlbmRhclR5cGU6IENhbGVuZGFyVHlwZSA9IENhbGVuZGFyVHlwZS5TSU5HTEVfREFURV9TRUxFQ1RJT047XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyTGFiZWwgPSAnJztcclxuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMYWJlbEFsaWduZWRMZWZ0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGF0ZXBpY2tlckxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgZGF0ZVJhbmdlITogeyBtaW5EYXRlOiBzdHJpbmc7IG1heERhdGU6IHN0cmluZyB9O1xyXG4gIEBJbnB1dCgpIG1pbkRhdGUhOiBEYXRlIHwgbW9tZW50Lk1vbWVudDtcclxuICBASW5wdXQoKSBtYXhEYXRlITogRGF0ZSB8IG1vbWVudC5Nb21lbnQ7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0ZWREYXRlPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGVSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBlbmREYXRlOiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuICBjYWxlbmRhclNlbGVjdGVkRGF0ZSE6IERhdGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBidXR0b25BY3Rpb25zSW5mbzogYW55ID0gYnV0dG9uQWN0aW9uc0luZm87XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBkYXRlcGlja2VyU2VydmljZTogRGF0ZXBpY2tlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZm9ybVV0aWxpdHlTZXJ2aWNlOiBGb3JtVXRpbGl0eVNlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uLFxyXG4gICkge31cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiAgbmdPbkluaXQgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIGNyZWF0ZXMgY29uZmlnIGlmIGl0cyB1bmRlZmluZWQgYW5kIHNldHMgY29tcG9uZW50cyBpbnN0YW5jZSB2YXJpYWJsZXMgaWYgY29uZmlnIGlzIGRlZmluZWQuIFNldHMgdGhlIGZvcm0gZ3JvdXAgdmFsdWUgaWYgZm9ybSBncm91cCBpcyBkZWZpbmVkLlxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2xOYW1lID0gdGhpcy5mb3JtQ29udHJvbE5hbWUgPz8gJ2RhdGVwaWNrZXInO1xyXG4gICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICBjb250cm9sTmFtZSxcclxuICAgICAgICBGb3JtQ29udHJvbFR5cGUuREFURVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5jb25maWcgJiZcclxuICAgICAgICB0aGlzLmNhbGVuZGFyVHlwZSA9PT0gQ2FsZW5kYXJUeXBlLkRBVEVfUkFOR0VfU0VMRUNUSU9OXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmRhdGVSYW5nZUNvbnRyb2xzID0ge1xyXG4gICAgICAgICAgc3RhcnREYXRlOiAnc3RhcnREYXRlJyxcclxuICAgICAgICAgIGVuZERhdGU6ICdlbmREYXRlJyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVQcm9wZXJ0aWVzRnJvbUNvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmdyb3VwKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyVHlwZSA9PT0gQ2FsZW5kYXJUeXBlLlNJTkdMRV9EQVRFX1NFTEVDVElPTikge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5EQVRFX1JBTkdFX1NFTEVDVElPTikge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwV2l0aFJhbmdlQ29udHJvbHMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgcHJvcGVydGllcyBmcm9tIHRoZSBjb25maWcgaW5wdXRcclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGluaXRpYWxpemVQcm9wZXJ0aWVzRnJvbUNvbmZpZygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJUeXBlID1cclxuICAgICAgdGhpcy5jb25maWc/LmRhdGVQaWNrZXI/LmNhbGVuZGFyVHlwZSA/P1xyXG4gICAgICBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5jb25maWc/LmRhdGVQaWNrZXI/LnBsYWNlaG9sZGVyTGFiZWwgPz8gJyc7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJMYWJlbCA9IHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5sYWJlbCA/PyAnJztcclxuICAgIHRoaXMuaXNMYWJlbEFsaWduZWRMZWZ0ID1cclxuICAgICAgdGhpcy5jb25maWc/LmRhdGVQaWNrZXI/LmlzTGFiZWxBbGlnbmVkTGVmdCA/PyBmYWxzZTtcclxuICAgIHRoaXMuZGF0ZVJhbmdlID0gdGhpcy5jb25maWc/LmRhdGVQaWNrZXI/LmRhdGVSYW5nZSA/PyB7XHJcbiAgICAgIG1pbkRhdGU6ICcnLFxyXG4gICAgICBtYXhEYXRlOiAnJyxcclxuICAgIH07XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSAhIXRoaXMuY29uZmlnLmRpc2FibGVkO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmNvbmZpZy5kYXRlUGlja2VyPy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5EQVRFX1JBTkdFX1NFTEVDVElPTlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuYWRkQ29udHJvbCgnc3RhcnREYXRlJywgbmV3IEZvcm1Db250cm9sKCkpO1xyXG4gICAgICB0aGlzLmdyb3VwLmFkZENvbnRyb2woJ2VuZERhdGUnLCBuZXcgRm9ybUNvbnRyb2woKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBkYXRlIGNoYW5nZSBldmVudCBhbmQgZW1pdHMgdGhlIHNlbGVjdGVkIGRhdGUuXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRhdGVDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5lbWl0KHtcclxuICAgICAgZGF0ZTogdGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk/LnZhbHVlLFxyXG4gICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uuc2VsZWN0ZWREYXRlID0gdGhpcy5ncm91cD8uZ2V0KFxyXG4gICAgICB0aGlzLmNvbmZpZy5jb250cm9sTmFtZVxyXG4gICAgKT8udmFsdWU7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmlzUmFuZ2VTZWxlY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgYW5kIGVtaXRzIHNlbGVjdGVkIGRhdGUgcmFuZ2VcclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGF0ZVJhbmdlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5pc1JhbmdlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0RGF0ZVJhbmdlKFxyXG4gICAgICB0aGlzLmdyb3VwLnZhbHVlLnN0YXJ0RGF0ZSA/PyAnJyxcclxuICAgICAgdGhpcy5ncm91cC52YWx1ZS5lbmREYXRlID8/ICcnXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW1pdCh7XHJcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5ncm91cC52YWx1ZS5zdGFydERhdGUgPz8gJycsXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZ3JvdXAudmFsdWUuZW5kRGF0ZSA/PyAnJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgbWluIGFuZCBtYXggZGF0ZSByYW5nZS5cclxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBEYXRlKX0gc3RhcnREYXRlXHJcbiAgICogQHBhcmFtIHsoc3RyaW5nIHwgRGF0ZSl9IGVuZERhdGVcclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHNldERhdGVSYW5nZShzdGFydERhdGU6IHN0cmluZyB8IERhdGUsIGVuZERhdGU6IHN0cmluZyB8IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UucmFuZ2UubmV4dCh7XHJcbiAgICAgIHN0YXJ0OiBzdGFydERhdGUsXHJcbiAgICAgIGVuZDogZW5kRGF0ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBmb3JtIGdyb3VwIGFuZCBpbml0aWFsaXplcyBmb3JtIHZhbHVlXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtkYXRlXVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlRm9ybUdyb3VwKGRhdGU/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgW3RoaXMuZm9ybUNvbnRyb2xOYW1lID8gdGhpcy5mb3JtQ29udHJvbE5hbWUgOiAnZGF0ZXBpY2tlciddOiBkYXRlXHJcbiAgICAgICAgPyBbbW9tZW50KGRhdGUpLnV0Yyh0cnVlKS5mb3JtYXQoKV1cclxuICAgICAgICA6IFtdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCB3aXRoIHJhbmdlIHR5cGUgb2YgY29udHJvbHMgYW5kIHNldHMgdGhlIG1pbiBhbmQgbWF4IHJhbmdlIHZhbHVlcy5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0YXJ0RGF0ZV1cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2VuZERhdGVdXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVGb3JtR3JvdXBXaXRoUmFuZ2VDb250cm9scyhzdGFydERhdGU/OiBzdHJpbmcsIGVuZERhdGU/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUgPyBbbW9tZW50KHN0YXJ0RGF0ZSkudXRjKHRydWUpLmZvcm1hdCgpXSA6IFtdLFxyXG4gICAgICBlbmREYXRlOiBlbmREYXRlID8gW21vbWVudChlbmREYXRlKS51dGModHJ1ZSkuZm9ybWF0KCldIDogW10sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIHRoZSBmb3JtIGNvbnRyb2wgaGFzIHJlcXVpcmVkIHZhbGlkYXRvci5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaXNSZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3VwPy5jb250cm9sc1t0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdPy5oYXNWYWxpZGF0b3IoXHJcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB1cGRhdGVkIHNlbGVjdGVkIGRhdGUgdXNpbmcgZGF0ZXBpY2tlciBzZXJ2aWNlIHdoaWNoIHdpbGwgYmUgc2hvd24gaW4gZGF0ZXBpY2tlciBoZWFkZXJcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udHJvbE5hbWVcclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGF0ZVBpY2tlck9wZW4oY29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5zZWxlY3RlZERhdGUgPSB0aGlzLmdyb3VwLmdldChjb250cm9sTmFtZSk/LnZhbHVlO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlclwiPlxyXG4gIDxkaXZcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgKm5nSWY9XCJjYWxlbmRhclR5cGUgPT09IGNhbGVuZGFyVHlwZXMuU0lOR0xFX0RBVEVfU0VMRUNUSU9OXCJcclxuICAgIGNsYXNzPVwiaWVlZXNhLWRhdGVwaWNrZXItLXNpbmdsZS1zZWxlY3Rpb25cIlxyXG4gICAgW25nQ2xhc3NdPVwiIWlzUmVxdWlyZWQoKSA/ICdpZWVlc2EtZGF0ZXBpY2tlcl9fdmFsaWQtZGF0ZScgOiAnJ1wiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdpZWVlc2EtZGF0ZXBpY2tlcl9fdmFsaWQtZGF0ZSc6ICFpc1JlcXVpcmVkKCksXHJcbiAgICAgICdpZWVlc2EtZGF0ZXBpY2tlcl9fbGFiZWwtbGVmdCc6IGlzTGFiZWxBbGlnbmVkTGVmdCxcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX19sYWJlbC10b3AnOiAhaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICB9XCJcclxuICA+XHJcbiAgICA8bWF0LWxhYmVsXHJcbiAgICAgICpuZ0lmPVwiZGF0ZXBpY2tlckxhYmVsXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtZGF0ZXBpY2tlcl9fbGFiZWxcIlxyXG4gICAgICA+e3sgZGF0ZXBpY2tlckxhYmVsIH19XHJcbiAgICA8L21hdC1sYWJlbD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAoZGF0ZUlucHV0KT1cIm9uRGF0ZUNoYW5nZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWxcIlxyXG4gICAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgICAgW21pbl09XCJjb25maWc/LmRhdGVQaWNrZXI/Lm1pbkRhdGUgPz8gbWluRGF0ZVwiXHJcbiAgICAgICAgW21heF09XCJjb25maWc/LmRhdGVQaWNrZXI/Lm1heERhdGUgPz8gbWF4RGF0ZVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyTGFiZWwgPz8gYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbFxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgI2NhbGVuZGFyXHJcbiAgICAgICAgcmVhZG9ubHlcclxuICAgICAgLz5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwibWF0LWRhdGVwaWNrZXItdG9nZ2xlXCJcclxuICAgICAgICBtYXRJY29uU3VmZml4XHJcbiAgICAgICAgW2Zvcl09XCJwaWNrZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHN2ZyBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbiBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyX19kYXRlcGlja2VyLWljb25cIj5cclxuICAgICAgICAgIDx1c2VcclxuICAgICAgICAgICAgW2F0dHIueGxpbms6aHJlZl09XCJidXR0b25BY3Rpb25zSW5mbz8uZGF0ZVBpY2tlcj8uZGF0ZVBpY2tlckljb25cIlxyXG4gICAgICAgICAgPjwvdXNlPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyXHJcbiAgICAgICAgI3BpY2tlclxyXG4gICAgICAgIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJkYXRlUGlja2VySGVhZGVyXCJcclxuICAgICAgICAob3BlbmVkKT1cIm9uRGF0ZVBpY2tlck9wZW4oY29uZmlnLmNvbnRyb2xOYW1lKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC10ZXJ0aWFyeS1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXREYXRlcGlja2VyQ2FuY2VsXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGJ1dHRvbkFjdGlvbnNJbmZvPy5idXR0b24/LmNhbmNlbCB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGVydGlhcnktYnV0dG9uIGllZWVzYS1kYXRlcGlja2VyX19kYXRlLXBpY2tlci1idXR0b25cIlxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgbWF0RGF0ZXBpY2tlckFwcGx5XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGJ1dHRvbkFjdGlvbnNJbmZvPy5idXR0b24/Lm9rIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L21hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgIDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPlxyXG4gICAgPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICAgIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICAqbmdJZj1cImNhbGVuZGFyVHlwZSA9PT0gY2FsZW5kYXJUeXBlcy5EQVRFX1JBTkdFX1NFTEVDVElPTlwiXHJcbiAgICBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyLS1tdWx0aS1zZWxlY3Rpb25cIlxyXG4gICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgIGlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gICAgICAgID8gJ2llZWVzYS1kYXRlcGlja2VyX19sYWJlbC1sZWZ0J1xyXG4gICAgICAgIDogJ2llZWVzYS1kYXRlcGlja2VyX19sYWJlbC10b3AnXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxtYXQtbGFiZWxcclxuICAgICAgKm5nSWY9XCJkYXRlcGlja2VyTGFiZWxcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiXHJcbiAgICAgID57eyBkYXRlcGlja2VyTGFiZWwgfX1cclxuICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInJhbmdlUGlja2VyXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0U3RhcnREYXRlXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuZGF0ZVJhbmdlQ29udHJvbHM/LnN0YXJ0RGF0ZSA/PyAnJ1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbCArICcgLSAnXCJcclxuICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRFbmREYXRlXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuZGF0ZVJhbmdlQ29udHJvbHM/LmVuZERhdGUgPz8gJydcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImJ1dHRvbkFjdGlvbnNJbmZvPy5kYXRlUGlja2VyPy5kYXRlRm9ybWF0TGFiZWxcIlxyXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwibWF0LWRhdGVwaWNrZXItdG9nZ2xlXCJcclxuICAgICAgICBtYXRJY29uU3VmZml4XHJcbiAgICAgICAgW2Zvcl09XCJyYW5nZVBpY2tlclwiXHJcbiAgICAgID48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlclxyXG4gICAgICAgICNyYW5nZVBpY2tlclxyXG4gICAgICAgIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJkYXRlUGlja2VySGVhZGVyXCJcclxuICAgICAgICAoZGF0ZUlucHV0KT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBpZWVlc2EtZGF0ZXBpY2tlcl9fZGF0ZS1waWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgICAgbWF0RGF0ZVJhbmdlUGlja2VyQ2FuY2VsXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBidXR0b25BY3Rpb25zSW5mbz8uYnV0dG9uPy5jYW5jZWwgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBpZWVlc2EtZGF0ZXBpY2tlcl9fZGF0ZS1waWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgbWF0RGF0ZVJhbmdlUGlja2VyQXBwbHlcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8ub2sgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJjYWxlbmRhclR5cGUgPT09IGNhbGVuZGFyVHlwZXMuQ0FMRU5EQVJcIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tY2FsZW5kYXJcIlxyXG4gID5cclxuICAgIDxtYXQtY2FsZW5kYXJcclxuICAgICAgW2hlYWRlckNvbXBvbmVudF09XCJkYXRlUGlja2VySGVhZGVyXCJcclxuICAgICAgWyhzZWxlY3RlZCldPVwiY2FsZW5kYXJTZWxlY3RlZERhdGVcIlxyXG4gICAgPlxyXG4gICAgPC9tYXQtY2FsZW5kYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLCtCQUErQixHQUNoQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxF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ZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHtcclxuICBEYXRlQWRhcHRlcixcclxuICBNQVRfREFURV9GT1JNQVRTLFxyXG4gIE1BVF9EQVRFX0xPQ0FMRSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kYXRlLXBpY2tlci1oZWFkZXIvZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vZGF0ZS1mb3JtYXRzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IENhbGVuZGFyVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYWxlbmRhci5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBidXR0b25BY3Rpb25zSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBNb21lbnREYXRlQWRhcHRlciB7XHJcbiAgLyoqXHJcbiAgICogT3ZlcnJpZGVzIHRoZSBnZXREYXlPZldlZWtOYW1lcyBtZXRob2Qgb2YgTW9tZW50RGF0ZUFkYXB0ZXIgdG8gc2hvdyBmaXJzdCBsZXR0ZXIgb2YgZGF5IGluIGNhcGl0YWwgaW4gZGF0ZSBwaWNrZXIgaGVhZGVyLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21EYXRlQWRhcHRlclxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIGdldERheU9mV2Vla05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbJ1MnLCAnTScsICdUJywgJ1cnLCAnVCcsICdGJywgJ1MnXTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlIHNlbGVjdGlvbiBvZiB0eXBlIFNJTkdMRV9EQVRFX1NFTEVDVElPTiwgREFURV9SQU5HRV9TRUxFQ1RJT04gYW5kIENBTEVOREFSIGFuZCBoYW5kbGluZyBvZiBjYWxlbmRhciBldmVudHMuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1kYXRlLXBpY2tlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50LFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogdHJ1ZSB9IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxyXG4gICAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcclxuICAgICAgdXNlVmFsdWU6IERhdGVGb3JtYXRzLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1GaWVsZCwgT25Jbml0IHtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBkYXRlUGlja2VySGVhZGVyID0gRGF0ZVBpY2tlckhlYWRlckNvbXBvbmVudDtcclxuICBjYWxlbmRhclR5cGVzID0gQ2FsZW5kYXJUeXBlO1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkRGF0ZXM6IHN0cmluZ1tdID0gW107XHJcbiAgLyoqXHJcbiAgICogR2V0cyBwcmVzZWxlY3RlZCBkYXRlcyBhcyBhbiBpbnB1dC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkRGF0ZXModmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVzID0gdmFsdWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcz8ubGVuZ3RoID09PSAxICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlc1swXSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5zZWxlY3RlZERhdGUgPSB2YWx1ZVswXTtcclxuICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAodmFsdWVbMF0pO1xyXG4gICAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmlzUmFuZ2VTZWxlY3Rpb24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBzZWxlY3RlZCBkYXRlc1xyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZERhdGVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWxlY3RlZFJhbmdlOiBzdHJpbmdbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEdldHMgcHJlc2VsZWN0ZWQgZGF0ZSByYW5nZSBhcyBhbiBpbnB1dC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkUmFuZ2UodmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZFJhbmdlID0gdmFsdWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZT8ubGVuZ3RoID09PSAyICYmXHJcbiAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT05cclxuICAgICkge1xyXG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cFdpdGhSYW5nZUNvbnRyb2xzKHZhbHVlWzBdLCB2YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuc2V0RGF0ZVJhbmdlKHZhbHVlWzBdLCB2YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgc2VsZWN0ZWQgZGF0ZSByYW5nZVxyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZFJhbmdlKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFJhbmdlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgY2FsZW5kYXJUeXBlOiBDYWxlbmRhclR5cGUgPSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlckxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGFiZWxBbGlnbmVkTGVmdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhdGVwaWNrZXJMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIGRhdGVSYW5nZSE6IHsgbWluRGF0ZTogc3RyaW5nOyBtYXhEYXRlOiBzdHJpbmcgfTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRGF0ZVJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZztcclxuICAgIGVuZERhdGU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIGNhbGVuZGFyU2VsZWN0ZWREYXRlITogRGF0ZTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGJ1dHRvbkFjdGlvbnNJbmZvOiBhbnkgPSBidXR0b25BY3Rpb25zSW5mbztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGRhdGVwaWNrZXJTZXJ2aWNlOiBEYXRlcGlja2VyU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb24sXHJcbiAgKSB7fVxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mICBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY3JlYXRlcyBjb25maWcgaWYgaXRzIHVuZGVmaW5lZCBhbmQgc2V0cyBjb21wb25lbnRzIGluc3RhbmNlIHZhcmlhYmxlcyBpZiBjb25maWcgaXMgZGVmaW5lZC4gU2V0cyB0aGUgZm9ybSBncm91cCB2YWx1ZSBpZiBmb3JtIGdyb3VwIGlzIGRlZmluZWQuXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb25maWcpIHtcclxuICAgICAgY29uc3QgY29udHJvbE5hbWUgPSB0aGlzLmZvcm1Db250cm9sTmFtZSA/PyAnZGF0ZXBpY2tlcic7XHJcbiAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29uZmlnKFxyXG4gICAgICAgIGNvbnRyb2xOYW1lLFxyXG4gICAgICAgIEZvcm1Db250cm9sVHlwZS5EQVRFXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmNvbmZpZyAmJlxyXG4gICAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT05cclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb25maWcuZGF0ZVJhbmdlQ29udHJvbHMgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6ICdzdGFydERhdGUnLFxyXG4gICAgICAgICAgZW5kRGF0ZTogJ2VuZERhdGUnLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVByb3BlcnRpZXNGcm9tQ29uZmlnKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuZ3JvdXApIHtcclxuICAgICAgaWYgKHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OKSB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNhbGVuZGFyVHlwZSA9PT0gQ2FsZW5kYXJUeXBlLkRBVEVfUkFOR0VfU0VMRUNUSU9OKSB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBXaXRoUmFuZ2VDb250cm9scygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplcyBwcm9wZXJ0aWVzIGZyb20gdGhlIGNvbmZpZyBpbnB1dFxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZVByb3BlcnRpZXNGcm9tQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhclR5cGUgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uZGF0ZVBpY2tlcj8uY2FsZW5kYXJUeXBlID8/XHJcbiAgICAgIENhbGVuZGFyVHlwZS5TSU5HTEVfREFURV9TRUxFQ1RJT047XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSB0aGlzLmNvbmZpZz8uZGF0ZVBpY2tlcj8ucGxhY2Vob2xkZXJMYWJlbCA/PyAnJztcclxuICAgIHRoaXMuZGF0ZXBpY2tlckxhYmVsID0gdGhpcy5jb25maWc/LmRhdGVQaWNrZXI/LmxhYmVsID8/ICcnO1xyXG4gICAgdGhpcy5pc0xhYmVsQWxpZ25lZExlZnQgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uZGF0ZVBpY2tlcj8uaXNMYWJlbEFsaWduZWRMZWZ0ID8/IGZhbHNlO1xyXG4gICAgdGhpcy5kYXRlUmFuZ2UgPSB0aGlzLmNvbmZpZz8uZGF0ZVBpY2tlcj8uZGF0ZVJhbmdlID8/IHtcclxuICAgICAgbWluRGF0ZTogJycsXHJcbiAgICAgIG1heERhdGU6ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMuaXNEaXNhYmxlZCA9ICEhdGhpcy5jb25maWcuZGlzYWJsZWQ7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY29uZmlnLmRhdGVQaWNrZXI/LmNhbGVuZGFyVHlwZSA9PT0gQ2FsZW5kYXJUeXBlLkRBVEVfUkFOR0VfU0VMRUNUSU9OXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5ncm91cC5hZGRDb250cm9sKCdzdGFydERhdGUnLCBuZXcgRm9ybUNvbnRyb2woKSk7XHJcbiAgICAgIHRoaXMuZ3JvdXAuYWRkQ29udHJvbCgnZW5kRGF0ZScsIG5ldyBGb3JtQ29udHJvbCgpKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGRhdGUgY2hhbmdlIGV2ZW50IGFuZCBlbWl0cyB0aGUgc2VsZWN0ZWQgZGF0ZS5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGF0ZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLmVtaXQodGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8udmFsdWUpO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5zZWxlY3RlZERhdGUgPSB0aGlzLmdyb3VwPy5nZXQoXHJcbiAgICAgIHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lXHJcbiAgICApPy52YWx1ZTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyBhbmQgZW1pdHMgc2VsZWN0ZWQgZGF0ZSByYW5nZVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlUmFuZ2VDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmlzUmFuZ2VTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5zZXREYXRlUmFuZ2UoXHJcbiAgICAgIHRoaXMuZ3JvdXAudmFsdWUuc3RhcnREYXRlID8/ICcnLFxyXG4gICAgICB0aGlzLmdyb3VwLnZhbHVlLmVuZERhdGUgPz8gJydcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbWl0KHtcclxuICAgICAgc3RhcnREYXRlOiB0aGlzLmdyb3VwLnZhbHVlLnN0YXJ0RGF0ZSA/PyAnJyxcclxuICAgICAgZW5kRGF0ZTogdGhpcy5ncm91cC52YWx1ZS5lbmREYXRlID8/ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBtaW4gYW5kIG1heCBkYXRlIHJhbmdlLlxyXG4gICAqIEBwYXJhbSB7KHN0cmluZyB8IERhdGUpfSBzdGFydERhdGVcclxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBEYXRlKX0gZW5kRGF0ZVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgc2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZTogc3RyaW5nIHwgRGF0ZSwgZW5kRGF0ZTogc3RyaW5nIHwgRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5yYW5nZS5uZXh0KHtcclxuICAgICAgc3RhcnQ6IHN0YXJ0RGF0ZSxcclxuICAgICAgZW5kOiBlbmREYXRlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gZ3JvdXAgYW5kIGluaXRpYWxpemVzIGZvcm0gdmFsdWVcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2RhdGVdXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVGb3JtR3JvdXAoZGF0ZT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBbdGhpcy5mb3JtQ29udHJvbE5hbWUgPyB0aGlzLmZvcm1Db250cm9sTmFtZSA6ICdkYXRlcGlja2VyJ106IGRhdGVcclxuICAgICAgICA/IFttb21lbnQoZGF0ZSkudXRjKHRydWUpLmZvcm1hdCgpXVxyXG4gICAgICAgIDogW10sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBmb3JtIGdyb3VwIHdpdGggcmFuZ2UgdHlwZSBvZiBjb250cm9scyBhbmQgc2V0cyB0aGUgbWluIGFuZCBtYXggcmFuZ2UgdmFsdWVzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhcnREYXRlXVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZW5kRGF0ZV1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Hcm91cFdpdGhSYW5nZUNvbnRyb2xzKHN0YXJ0RGF0ZT86IHN0cmluZywgZW5kRGF0ZT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBzdGFydERhdGU6IHN0YXJ0RGF0ZSA/IFttb21lbnQoc3RhcnREYXRlKS51dGModHJ1ZSkuZm9ybWF0KCldIDogW10sXHJcbiAgICAgIGVuZERhdGU6IGVuZERhdGUgPyBbbW9tZW50KGVuZERhdGUpLnV0Yyh0cnVlKS5mb3JtYXQoKV0gOiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgdGhlIGZvcm0gY29udHJvbCBoYXMgcmVxdWlyZWQgdmFsaWRhdG9yLlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBpc1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0/Lmhhc1ZhbGlkYXRvcihcclxuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyXCI+XHJcbiAgPGRpdlxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICAqbmdJZj1cImNhbGVuZGFyVHlwZSA9PT0gY2FsZW5kYXJUeXBlcy5TSU5HTEVfREFURV9TRUxFQ1RJT05cIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tc2luZ2xlLXNlbGVjdGlvblwiXHJcbiAgICBbbmdDbGFzc109XCIhaXNSZXF1aXJlZCgpID8gJ2llZWVzYS1kYXRlcGlja2VyX192YWxpZC1kYXRlJyA6ICcnXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX192YWxpZC1kYXRlJzogIWlzUmVxdWlyZWQoKSxcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX19sYWJlbC1sZWZ0JzogaXNMYWJlbEFsaWduZWRMZWZ0LFxyXG4gICAgICAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLXRvcCc6ICFpc0xhYmVsQWxpZ25lZExlZnRcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJkYXRlcGlja2VyTGFiZWxcIj57eyBkYXRlcGlja2VyTGFiZWwgfX0gPC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgKGRhdGVJbnB1dCk9XCJvbkRhdGVDaGFuZ2UoKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJidXR0b25BY3Rpb25zSW5mbz8uZGF0ZVBpY2tlcj8uZGF0ZUZvcm1hdExhYmVsXCJcclxuICAgICAgICAjY2FsZW5kYXJcclxuICAgICAgICByZWFkb25seVxyXG4gICAgICAvPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtZGF0ZXBpY2tlci10b2dnbGVcIlxyXG4gICAgICAgIG1hdEljb25TdWZmaXhcclxuICAgICAgICBbZm9yXT1cInBpY2tlclwiXHJcbiAgICAgID48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXIgW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImRhdGVQaWNrZXJIZWFkZXJcIj5cclxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC10ZXh0LWJ1dHRvbiBpZWVlc2EtZGF0ZXBpY2tlcl9fZGF0ZS1waWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdERhdGVwaWNrZXJDYW5jZWxcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8uY2FuY2VsIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC10ZXh0LWJ1dHRvbiBpZWVlc2EtZGF0ZXBpY2tlcl9fZGF0ZS1waWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdERhdGVwaWNrZXJBcHBseVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBidXR0b25BY3Rpb25zSW5mbz8uYnV0dG9uPy5vayB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICA8L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj5cclxuICAgIDwvaWVlZXNhLWZvcm0tZXJyb3I+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXZcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgKm5nSWY9XCJjYWxlbmRhclR5cGUgPT09IGNhbGVuZGFyVHlwZXMuREFURV9SQU5HRV9TRUxFQ1RJT05cIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tbXVsdGktc2VsZWN0aW9uXCJcclxuICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICBpc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgICA/ICdpZWVlc2EtZGF0ZXBpY2tlcl9fbGFiZWwtbGVmdCdcclxuICAgICAgICA6ICdpZWVlc2EtZGF0ZXBpY2tlcl9fbGFiZWwtdG9wJ1xyXG4gICAgXCJcclxuICA+XHJcbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwiZGF0ZXBpY2tlckxhYmVsXCI+e3sgZGF0ZXBpY2tlckxhYmVsIH19IDwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInJhbmdlUGlja2VyXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0U3RhcnREYXRlXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuZGF0ZVJhbmdlQ29udHJvbHM/LnN0YXJ0RGF0ZSA/PyAnJ1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbCArICcgLSAnXCJcclxuICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRFbmREYXRlXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuZGF0ZVJhbmdlQ29udHJvbHM/LmVuZERhdGUgPz8gJydcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImJ1dHRvbkFjdGlvbnNJbmZvPy5kYXRlUGlja2VyPy5kYXRlRm9ybWF0TGFiZWxcIlxyXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwibWF0LWRhdGVwaWNrZXItdG9nZ2xlXCJcclxuICAgICAgICBtYXRJY29uU3VmZml4XHJcbiAgICAgICAgW2Zvcl09XCJyYW5nZVBpY2tlclwiXHJcbiAgICAgID48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlclxyXG4gICAgICAgICNyYW5nZVBpY2tlclxyXG4gICAgICAgIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJkYXRlUGlja2VySGVhZGVyXCJcclxuICAgICAgICAoZGF0ZUlucHV0KT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LXRleHQtYnV0dG9uIGllZWVzYS1kYXRlcGlja2VyX19kYXRlLXBpY2tlci1idXR0b25cIlxyXG4gICAgICAgICAgICBtYXREYXRlUmFuZ2VQaWNrZXJDYW5jZWxcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGJ1dHRvbkFjdGlvbnNJbmZvPy5idXR0b24/LmNhbmNlbCB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIG1hdERhdGVSYW5nZVBpY2tlckFwcGx5XHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGVSYW5nZUNoYW5nZSgpXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGJ1dHRvbkFjdGlvbnNJbmZvPy5idXR0b24/Lm9rIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICA8L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiY2FsZW5kYXJUeXBlID09PSBjYWxlbmRhclR5cGVzLkNBTEVOREFSXCJcclxuICAgIGNsYXNzPVwiaWVlZXNhLWRhdGVwaWNrZXItLWNhbGVuZGFyXCJcclxuICA+XHJcbiAgICA8bWF0LWNhbGVuZGFyXHJcbiAgICAgIFtoZWFkZXJDb21wb25lbnRdPVwiZGF0ZVBpY2tlckhlYWRlclwiXHJcbiAgICAgIFsoc2VsZWN0ZWQpXT1cImNhbGVuZGFyU2VsZWN0ZWREYXRlXCJcclxuICAgID5cclxuICAgIDwvbWF0LWNhbGVuZGFyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|