@ieeesa-npm/presentation 0.33.19 → 0.33.20

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.
@@ -10,13 +10,19 @@ import { TextFieldModule } from '@angular/cdk/text-field';
10
10
  import { FormSupportTextComponent } from '../form-support-text/form-support-text.component';
11
11
  import * as constantsInfo from '../../assets/constants.json';
12
12
  import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "@angular/material/form-field";
15
- import * as i3 from "@angular/material/input";
16
- import * as i4 from "ngx-material-timepicker";
17
- import * as i5 from "@angular/forms";
13
+ import * as i1 from "../../services/form-overlay-bounds.service";
14
+ import * as i2 from "@angular/common";
15
+ import * as i3 from "@angular/material/form-field";
16
+ import * as i4 from "@angular/material/input";
17
+ import * as i5 from "ngx-material-timepicker";
18
+ import * as i6 from "@angular/forms";
18
19
  export class TimePickerComponent {
19
- constructor(elementRef) {
20
+ constructor(
21
+ // eslint-disable-next-line no-unused-vars
22
+ formOverlayBounds,
23
+ // eslint-disable-next-line no-unused-vars, no-empty-function
24
+ elementRef) {
25
+ this.formOverlayBounds = formOverlayBounds;
20
26
  this.elementRef = elementRef;
21
27
  this.formTimeSelected = new EventEmitter();
22
28
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -56,44 +62,23 @@ export class TimePickerComponent {
56
62
  }
57
63
  setOverlayClipBounds() {
58
64
  const formBody = this.getFormOverlayScrollContainer();
59
- const documentElement = this.elementRef.nativeElement.ownerDocument
60
- .documentElement;
61
- const viewportHeight = this.elementRef.nativeElement.ownerDocument.defaultView?.innerHeight ?? 0;
62
- if (!formBody || !viewportHeight)
65
+ if (!formBody)
63
66
  return;
64
- const formBodyRect = formBody.getBoundingClientRect();
65
- documentElement.style.setProperty('--ieeesa-form-overlay-clip-top', `${Math.max(0, Math.floor(formBodyRect.top))}px`);
66
- documentElement.style.setProperty('--ieeesa-form-overlay-clip-bottom', `${Math.max(0, viewportHeight - Math.ceil(formBodyRect.bottom))}px`);
67
67
  this.formOverlayScrollContainer = formBody;
68
68
  this.elementRef.nativeElement.ownerDocument.addEventListener('wheel', this.overlayWheelListener, { capture: true, passive: false });
69
- documentElement.classList.add('ieeesa-form-overlay-open');
70
69
  }
71
70
  getFormOverlayScrollContainer() {
72
- const candidates = [
73
- this.elementRef.nativeElement.closest('.ieeesa-dynamic-form__body'),
74
- this.elementRef.nativeElement.closest('.ieeesa-stepper__content'),
75
- ];
76
- return (candidates.find((element) => {
77
- if (!element)
78
- return false;
79
- const overflowY = getComputedStyle(element).overflowY;
80
- return ((overflowY === 'auto' || overflowY === 'scroll') &&
81
- element.scrollHeight > element.clientHeight);
82
- }) ??
83
- candidates.find((element) => !!element) ??
84
- null);
71
+ // Containment is owned by FormOverlayBoundsService, which also keeps the clip
72
+ // band current while the page scrolls.
73
+ return this.formOverlayBounds.contain(this.elementRef.nativeElement);
85
74
  }
86
75
  clearOverlayClipBounds() {
87
76
  this.elementRef.nativeElement.ownerDocument.removeEventListener('wheel', this.overlayWheelListener, true);
88
77
  this.formOverlayScrollContainer = undefined;
89
- const documentElement = this.elementRef.nativeElement.ownerDocument
90
- .documentElement;
91
- documentElement.classList.remove('ieeesa-form-overlay-open');
92
- documentElement.style.removeProperty('--ieeesa-form-overlay-clip-top');
93
- documentElement.style.removeProperty('--ieeesa-form-overlay-clip-bottom');
78
+ this.formOverlayBounds.release();
94
79
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimePickerComponent, isStandalone: true, selector: "ieeesa-time-picker", outputs: { formTimeSelected: "formTimeSelected" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"ieeesa-time-picker-field\"\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-time-picker-field__label-left'\r\n : 'ieeesa-time-picker-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-time-picker-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field appearance=\"fill\">\r\n <input\r\n matInput\r\n [ngxTimepicker]=\"picker\"\r\n [format]=\"\r\n config?.is24HoursTimeFormat\r\n ? config?.hour24\r\n : constants?.timePicker?.defaultTimeFormat\r\n \"\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [readonly]=\"config.isReadonly\"\r\n class=\"ieeesa-time-picker-field__content ieeesa-body-lg-18\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-time-picker-field__toggle-icon\"\r\n (click)=\"picker.open()\"\r\n matSuffix\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n >\r\n <svg ngxMaterialTimepickerToggleIcon>\r\n <use [attr.xlink:href]=\"constants?.timePicker?.timePickerIcon\"></use>\r\n </svg>\r\n </button>\r\n <ngx-material-timepicker\r\n #picker\r\n (timeSet)=\"onTimeSelection($event)\"\r\n (opened)=\"onTimePickerOpen()\"\r\n (closed)=\"onTimePickerClose()\"\r\n ></ngx-material-timepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </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", 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-time-picker-field__label-left{display:flex}.ieeesa-time-picker-field__label-top{display:block}.ieeesa-time-picker-field__content{width:100%;border:none;border-radius:4px 4px 0 0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-time-picker-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-time-picker-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-time-picker-field .mat-mdc-form-field-infix{display:flex;position:relative;bottom:.6em}.ieeesa-time-picker-field .mat-mdc-text-field-wrapper{height:40px;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-time-picker-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-time-picker-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-time-picker-field: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-time-picker-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .ieeesa-time-picker-field__label{color:#ba0c2f!important}.ieeesa-time-picker-field:has(.mdc-line-ripple--active) .ieeesa-time-picker-field__label{color:#00629b}.ieeesa-time-picker-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix{height:1.5em;position:relative;bottom:7px;right:8px}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix .ieeesa-time-picker-field__toggle-icon{height:1.5em;width:1.5em;border:none;background-color:transparent}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix .ieeesa-time-picker-field__toggle-icon svg{height:1.5em;width:1.5em}.timepicker-overlay .clock-face{background-color:#fff!important;border:1px solid #878b8f}.timepicker-overlay .clock-face__number>span.active{background-color:#00629b!important}.timepicker-overlay .clock-face__clock-hand{--button-color: #00629b !important;--clock-hand-color: #00629b !important;--dial-background-color: #00629b !important;--dial-editable-active-color: #00629b !important}.timepicker-overlay .clock-face__number span{color:#1c1b1f!important;font-weight:400!important}.timepicker-overlay .clock-face__number span.active{color:#fff!important}.timepicker-overlay .timepicker{width:20.5em!important}.timepicker-overlay .timepicker__header{background-color:#fff!important;border-top-left-radius:.25em;border-top-right-radius:.25em}.timepicker-overlay .timepicker__actions{justify-content:center!important;border-bottom-left-radius:.25em;border-bottom-right-radius:.25em}.timepicker-overlay .timepicker__actions .timepicker-button{border-radius:.188em;min-width:6.875em;width:auto;min-height:2.5em;height:auto;background-color:#fff;border:1px solid #00629b;color:#00629b}.timepicker-overlay .timepicker__actions div:first-child{padding-right:.625rem}.timepicker-overlay .timepicker__actions div:last-child{padding-left:.625rem}.timepicker-overlay .timepicker .timepicker-dial__item{color:#1c1b1f;font-size:3.5625rem;border-radius:8px;background:#d9d9d6;width:96px;height:80px;padding-right:16px}.timepicker-overlay .timepicker .timepicker-dial__item_active{color:#21005d;border:2px solid #00629b;background:#c0dced}.timepicker-overlay .timepicker .timepicker-dial__time span{color:#1c1b1f;padding:0 .3125em}.timepicker-overlay .timepicker .timepicker-dial__container{justify-content:center!important}.timepicker-overlay .timepicker .timepicker-dial__period{display:none}html.ieeesa-form-overlay-open .timepicker-backdrop-overlay,html.ieeesa-form-overlay-open .timepicker-overlay{z-index:4!important;clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: "ngmodule", type: NgxMaterialTimepickerModule }, { kind: "component", type: i4.NgxMaterialTimepickerComponent, selector: "ngx-material-timepicker", inputs: ["cancelBtnTmpl", "editableHintTmpl", "confirmBtnTmpl", "ESC", "enableKeyboardInput", "preventOverlayClick", "disableAnimation", "appendToInput", "hoursOnly", "defaultTime", "timepickerClass", "theme", "min", "max", "ngxMaterialTimepickerTheme", "format", "minutesGap"], outputs: ["timeSet", "opened", "closed", "hourSelected", "timeChanged"] }, { kind: "directive", type: i4.TimepickerDirective, selector: "[ngxTimepicker]", inputs: ["format", "min", "max", "ngxTimepicker", "value", "disabled", "disableClick"] }, { kind: "directive", type: i4.NgxMaterialTimepickerToggleIconDirective, selector: "[ngxMaterialTimepickerToggleIcon]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, deps: [{ token: i1.FormOverlayBoundsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimePickerComponent, isStandalone: true, selector: "ieeesa-time-picker", outputs: { formTimeSelected: "formTimeSelected" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"ieeesa-time-picker-field\"\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-time-picker-field__label-left'\r\n : 'ieeesa-time-picker-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-time-picker-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field appearance=\"fill\">\r\n <input\r\n matInput\r\n [ngxTimepicker]=\"picker\"\r\n [format]=\"\r\n config?.is24HoursTimeFormat\r\n ? config?.hour24\r\n : constants?.timePicker?.defaultTimeFormat\r\n \"\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [readonly]=\"config.isReadonly\"\r\n class=\"ieeesa-time-picker-field__content ieeesa-body-lg-18\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-time-picker-field__toggle-icon\"\r\n (click)=\"picker.open()\"\r\n matSuffix\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n >\r\n <svg ngxMaterialTimepickerToggleIcon>\r\n <use [attr.xlink:href]=\"constants?.timePicker?.timePickerIcon\"></use>\r\n </svg>\r\n </button>\r\n <ngx-material-timepicker\r\n #picker\r\n (timeSet)=\"onTimeSelection($event)\"\r\n (opened)=\"onTimePickerOpen()\"\r\n (closed)=\"onTimePickerClose()\"\r\n ></ngx-material-timepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </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", 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-time-picker-field__label-left{display:flex}.ieeesa-time-picker-field__label-top{display:block}.ieeesa-time-picker-field__content{width:100%;border:none;border-radius:4px 4px 0 0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-time-picker-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-time-picker-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-time-picker-field .mat-mdc-form-field-infix{display:flex;position:relative;bottom:.6em}.ieeesa-time-picker-field .mat-mdc-text-field-wrapper{height:40px;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-time-picker-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-time-picker-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-time-picker-field: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-time-picker-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .ieeesa-time-picker-field__label{color:#ba0c2f!important}.ieeesa-time-picker-field:has(.mdc-line-ripple--active) .ieeesa-time-picker-field__label{color:#00629b}.ieeesa-time-picker-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix{height:1.5em;position:relative;bottom:7px;right:8px}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix .ieeesa-time-picker-field__toggle-icon{height:1.5em;width:1.5em;border:none;background-color:transparent}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix .ieeesa-time-picker-field__toggle-icon svg{height:1.5em;width:1.5em}.timepicker-overlay .clock-face{background-color:#fff!important;border:1px solid #878b8f}.timepicker-overlay .clock-face__number>span.active{background-color:#00629b!important}.timepicker-overlay .clock-face__clock-hand{--button-color: #00629b !important;--clock-hand-color: #00629b !important;--dial-background-color: #00629b !important;--dial-editable-active-color: #00629b !important}.timepicker-overlay .clock-face__number span{color:#1c1b1f!important;font-weight:400!important}.timepicker-overlay .clock-face__number span.active{color:#fff!important}.timepicker-overlay .timepicker{width:20.5em!important}.timepicker-overlay .timepicker__header{background-color:#fff!important;border-top-left-radius:.25em;border-top-right-radius:.25em}.timepicker-overlay .timepicker__actions{justify-content:center!important;border-bottom-left-radius:.25em;border-bottom-right-radius:.25em}.timepicker-overlay .timepicker__actions .timepicker-button{border-radius:.188em;min-width:6.875em;width:auto;min-height:2.5em;height:auto;background-color:#fff;border:1px solid #00629b;color:#00629b}.timepicker-overlay .timepicker__actions div:first-child{padding-right:.625rem}.timepicker-overlay .timepicker__actions div:last-child{padding-left:.625rem}.timepicker-overlay .timepicker .timepicker-dial__item{color:#1c1b1f;font-size:3.5625rem;border-radius:8px;background:#d9d9d6;width:96px;height:80px;padding-right:16px}.timepicker-overlay .timepicker .timepicker-dial__item_active{color:#21005d;border:2px solid #00629b;background:#c0dced}.timepicker-overlay .timepicker .timepicker-dial__time span{color:#1c1b1f;padding:0 .3125em}.timepicker-overlay .timepicker .timepicker-dial__container{justify-content:center!important}.timepicker-overlay .timepicker .timepicker-dial__period{display:none}html.ieeesa-form-overlay-open .timepicker-backdrop-overlay,html.ieeesa-form-overlay-open .timepicker-overlay{z-index:4!important;clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: "ngmodule", type: NgxMaterialTimepickerModule }, { kind: "component", type: i5.NgxMaterialTimepickerComponent, selector: "ngx-material-timepicker", inputs: ["cancelBtnTmpl", "editableHintTmpl", "confirmBtnTmpl", "ESC", "enableKeyboardInput", "preventOverlayClick", "disableAnimation", "appendToInput", "hoursOnly", "defaultTime", "timepickerClass", "theme", "min", "max", "ngxMaterialTimepickerTheme", "format", "minutesGap"], outputs: ["timeSet", "opened", "closed", "hourSelected", "timeChanged"] }, { kind: "directive", type: i5.TimepickerDirective, selector: "[ngxTimepicker]", inputs: ["format", "min", "max", "ngxTimepicker", "value", "disabled", "disableClick"] }, { kind: "directive", type: i5.NgxMaterialTimepickerToggleIconDirective, selector: "[ngxMaterialTimepickerToggleIcon]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
97
82
  }
98
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimePickerComponent, decorators: [{
99
84
  type: Component,
@@ -109,10 +94,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
109
94
  TextFieldModule,
110
95
  FormSupportTextComponent,
111
96
  ], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-time-picker-field\"\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-time-picker-field__label-left'\r\n : 'ieeesa-time-picker-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-time-picker-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field appearance=\"fill\">\r\n <input\r\n matInput\r\n [ngxTimepicker]=\"picker\"\r\n [format]=\"\r\n config?.is24HoursTimeFormat\r\n ? config?.hour24\r\n : constants?.timePicker?.defaultTimeFormat\r\n \"\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [readonly]=\"config.isReadonly\"\r\n class=\"ieeesa-time-picker-field__content ieeesa-body-lg-18\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-time-picker-field__toggle-icon\"\r\n (click)=\"picker.open()\"\r\n matSuffix\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n >\r\n <svg ngxMaterialTimepickerToggleIcon>\r\n <use [attr.xlink:href]=\"constants?.timePicker?.timePickerIcon\"></use>\r\n </svg>\r\n </button>\r\n <ngx-material-timepicker\r\n #picker\r\n (timeSet)=\"onTimeSelection($event)\"\r\n (opened)=\"onTimePickerOpen()\"\r\n (closed)=\"onTimePickerClose()\"\r\n ></ngx-material-timepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </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", 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-time-picker-field__label-left{display:flex}.ieeesa-time-picker-field__label-top{display:block}.ieeesa-time-picker-field__content{width:100%;border:none;border-radius:4px 4px 0 0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-time-picker-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-time-picker-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-time-picker-field .mat-mdc-form-field-infix{display:flex;position:relative;bottom:.6em}.ieeesa-time-picker-field .mat-mdc-text-field-wrapper{height:40px;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-time-picker-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-time-picker-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-time-picker-field: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-time-picker-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-time-picker-field:has(.mdc-text-field--invalid) .ieeesa-time-picker-field__label{color:#ba0c2f!important}.ieeesa-time-picker-field:has(.mdc-line-ripple--active) .ieeesa-time-picker-field__label{color:#00629b}.ieeesa-time-picker-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix{height:1.5em;position:relative;bottom:7px;right:8px}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix .ieeesa-time-picker-field__toggle-icon{height:1.5em;width:1.5em;border:none;background-color:transparent}.ieeesa-time-picker-field .mat-mdc-form-field-icon-suffix .ieeesa-time-picker-field__toggle-icon svg{height:1.5em;width:1.5em}.timepicker-overlay .clock-face{background-color:#fff!important;border:1px solid #878b8f}.timepicker-overlay .clock-face__number>span.active{background-color:#00629b!important}.timepicker-overlay .clock-face__clock-hand{--button-color: #00629b !important;--clock-hand-color: #00629b !important;--dial-background-color: #00629b !important;--dial-editable-active-color: #00629b !important}.timepicker-overlay .clock-face__number span{color:#1c1b1f!important;font-weight:400!important}.timepicker-overlay .clock-face__number span.active{color:#fff!important}.timepicker-overlay .timepicker{width:20.5em!important}.timepicker-overlay .timepicker__header{background-color:#fff!important;border-top-left-radius:.25em;border-top-right-radius:.25em}.timepicker-overlay .timepicker__actions{justify-content:center!important;border-bottom-left-radius:.25em;border-bottom-right-radius:.25em}.timepicker-overlay .timepicker__actions .timepicker-button{border-radius:.188em;min-width:6.875em;width:auto;min-height:2.5em;height:auto;background-color:#fff;border:1px solid #00629b;color:#00629b}.timepicker-overlay .timepicker__actions div:first-child{padding-right:.625rem}.timepicker-overlay .timepicker__actions div:last-child{padding-left:.625rem}.timepicker-overlay .timepicker .timepicker-dial__item{color:#1c1b1f;font-size:3.5625rem;border-radius:8px;background:#d9d9d6;width:96px;height:80px;padding-right:16px}.timepicker-overlay .timepicker .timepicker-dial__item_active{color:#21005d;border:2px solid #00629b;background:#c0dced}.timepicker-overlay .timepicker .timepicker-dial__time span{color:#1c1b1f;padding:0 .3125em}.timepicker-overlay .timepicker .timepicker-dial__container{justify-content:center!important}.timepicker-overlay .timepicker .timepicker-dial__period{display:none}html.ieeesa-form-overlay-open .timepicker-backdrop-overlay,html.ieeesa-form-overlay-open .timepicker-overlay{z-index:4!important;clip-path:inset(var(--ieeesa-form-overlay-clip-top, 0) 0 var(--ieeesa-form-overlay-clip-bottom, 0) 0)}\n"] }]
112
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { formTimeSelected: [{
97
+ }], ctorParameters: function () { return [{ type: i1.FormOverlayBoundsService }, { type: i0.ElementRef }]; }, propDecorators: { formTimeSelected: [{
113
98
  type: Output
114
99
  }], picker: [{
115
100
  type: ViewChild,
116
101
  args: ['picker']
117
102
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFFWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUYsT0FBTyxLQUFLLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQXFCN0QsTUFBTSxPQUFPLG1CQUFtQjtJQXFCOUIsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7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M0JJLFlBQVksNEhBQ1osa0JBQWtCLDJhQUNsQixhQUFhLDhCQUNiLGNBQWMsMFdBQ2QsMkJBQTJCLHN3QkFDM0IsV0FBVyxrakJBQ1gsbUJBQW1CLGdWQUNuQixrQkFBa0IsZ0hBQ2xCLGVBQWUsK0JBQ2Ysd0JBQXdCOzs0RkFNZixtQkFBbUI7a0JBbkIvQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2Ysd0JBQXdCO3FCQUN6QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO2lHQUszQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBR2MsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1tYXRlcmlhbC10aW1lcGlja2VyJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBTZWxlY3RlZFRpbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtdGltZS5tb2RlbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXRpbWUtcGlja2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1FcnJvckNvbXBvbmVudCxcclxuICAgIFRleHRGaWVsZE1vZHVsZSxcclxuICAgIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgQE91dHB1dCgpIGZvcm1UaW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkVGltZT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzSW5mbztcclxuICBAVmlld0NoaWxkKCdwaWNrZXInKSBwaWNrZXIhOiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIGZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5V2hlZWxMaXN0ZW5lciA9IChldmVudDogV2hlZWxFdmVudCk6IHZvaWQgPT4ge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQgfCBudWxsO1xyXG4gICAgaWYgKHRhcmdldD8uY2xvc2VzdCgnLnRpbWVwaWNrZXItb3ZlcmxheScpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZm9ybUJvZHkgPSB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyO1xyXG4gICAgaWYgKCFmb3JtQm9keSB8fCBmb3JtQm9keS5zY3JvbGxIZWlnaHQgPD0gZm9ybUJvZHkuY2xpZW50SGVpZ2h0KSByZXR1cm47XHJcblxyXG4gICAgZm9ybUJvZHkuc2Nyb2xsVG9wICs9IGV2ZW50LmRlbHRhWTtcclxuICAgIGZvcm1Cb2R5LnNjcm9sbExlZnQgKz0gZXZlbnQuZGVsdGFYO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gdGltZSBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAdHlwZSB7dm9pZH1cclxuICAgKiBAbWVtYmVyb2YgVGltZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uVGltZVNlbGVjdGlvbih0aW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXAubWFya0FzRGlydHkoKTtcclxuICAgIHRoaXMuZm9ybVRpbWVTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgdGltZTogdGltZSxcclxuICAgICAgY29udHJvbE5hbWU6IHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblRpbWVQaWNrZXJPcGVuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRPdmVybGF5Q2xpcEJvdW5kcygpO1xyXG4gIH1cclxuXHJcbiAgb25UaW1lUGlja2VyQ2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhck92ZXJsYXlDbGlwQm91bmRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE92ZXJsYXlDbGlwQm91bmRzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybUJvZHkgPSB0aGlzLmdldEZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyKCk7XHJcbiAgICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50XHJcbiAgICAgIC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LmlubmVySGVpZ2h0ID8/IDA7XHJcblxyXG4gICAgaWYgKCFmb3JtQm9keSB8fCAhdmlld3BvcnRIZWlnaHQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBmb3JtQm9keVJlY3QgPSBmb3JtQm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgJy0taWVlZXNhLWZvcm0tb3ZlcmxheS1jbGlwLXRvcCcsXHJcbiAgICAgIGAke01hdGgubWF4KDAsIE1hdGguZmxvb3IoZm9ybUJvZHlSZWN0LnRvcCkpfXB4YFxyXG4gICAgKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgJy0taWVlZXNhLWZvcm0tb3ZlcmxheS1jbGlwLWJvdHRvbScsXHJcbiAgICAgIGAke01hdGgubWF4KDAsIHZpZXdwb3J0SGVpZ2h0IC0gTWF0aC5jZWlsKGZvcm1Cb2R5UmVjdC5ib3R0b20pKX1weGBcclxuICAgICk7XHJcbiAgICB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyID0gZm9ybUJvZHk7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICd3aGVlbCcsXHJcbiAgICAgIHRoaXMub3ZlcmxheVdoZWVsTGlzdGVuZXIsXHJcbiAgICAgIHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxyXG4gICAgKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpZWVlc2EtZm9ybS1vdmVybGF5LW9wZW4nKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcclxuICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5pZWVlc2EtZHluYW1pYy1mb3JtX19ib2R5JyksXHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5pZWVlc2Etc3RlcHBlcl9fY29udGVudCcpLFxyXG4gICAgXSBhcyAoSFRNTEVsZW1lbnQgfCBudWxsKVtdO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIGNhbmRpZGF0ZXMuZmluZCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgIGlmICghZWxlbWVudCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBvdmVyZmxvd1kgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLm92ZXJmbG93WTtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgKG92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8IG92ZXJmbG93WSA9PT0gJ3Njcm9sbCcpICYmXHJcbiAgICAgICAgICBlbGVtZW50LnNjcm9sbEhlaWdodCA+IGVsZW1lbnQuY2xpZW50SGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgfSkgPz9cclxuICAgICAgY2FuZGlkYXRlcy5maW5kKChlbGVtZW50KSA9PiAhIWVsZW1lbnQpID8/XHJcbiAgICAgIG51bGxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICd3aGVlbCcsXHJcbiAgICAgIHRoaXMub3ZlcmxheVdoZWVsTGlzdGVuZXIsXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgICB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgZG9jdW1lbnRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudFxyXG4gICAgICAuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2llZWVzYS1mb3JtLW92ZXJsYXktb3BlbicpO1xyXG4gICAgZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWllZWVzYS1mb3JtLW92ZXJsYXktY2xpcC10b3AnKTtcclxuICAgIGRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1pZWVlc2EtZm9ybS1vdmVybGF5LWNsaXAtYm90dG9tJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS10aW1lLXBpY2tlci1maWVsZFwiXHJcbiAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgW25nQ2xhc3NdPVwiXHJcbiAgICBjb25maWcuaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgID8gJ2llZWVzYS10aW1lLXBpY2tlci1maWVsZF9fbGFiZWwtbGVmdCdcclxuICAgICAgOiAnaWVlZXNhLXRpbWUtcGlja2VyLWZpZWxkX19sYWJlbC10b3AnXHJcbiAgXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtdGltZS1waWNrZXItZmllbGRfX2xhYmVsXCI+e3tcclxuICAgIGNvbmZpZy5sYWJlbFxyXG4gIH19PC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgW25neFRpbWVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgW2Zvcm1hdF09XCJcclxuICAgICAgICBjb25maWc/LmlzMjRIb3Vyc1RpbWVGb3JtYXRcclxuICAgICAgICAgID8gY29uZmlnPy5ob3VyMjRcclxuICAgICAgICAgIDogY29uc3RhbnRzPy50aW1lUGlja2VyPy5kZWZhdWx0VGltZUZvcm1hdFxyXG4gICAgICBcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWwgPz8gJydcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyID8/ICcnXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICBbcmVhZG9ubHldPVwiY29uZmlnLmlzUmVhZG9ubHlcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS10aW1lLXBpY2tlci1maWVsZF9fY29udGVudCBpZWVlc2EtYm9keS1sZy0xOFwiXHJcbiAgICAvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtdGltZS1waWNrZXItZmllbGRfX3RvZ2dsZS1pY29uXCJcclxuICAgICAgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIlxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsID8/ICcnXCJcclxuICAgID5cclxuICAgICAgPHN2ZyBuZ3hNYXRlcmlhbFRpbWVwaWNrZXJUb2dnbGVJY29uPlxyXG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJjb25zdGFudHM/LnRpbWVQaWNrZXI/LnRpbWVQaWNrZXJJY29uXCI+PC91c2U+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bmd4LW1hdGVyaWFsLXRpbWVwaWNrZXJcclxuICAgICAgI3BpY2tlclxyXG4gICAgICAodGltZVNldCk9XCJvblRpbWVTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIChvcGVuZWQpPVwib25UaW1lUGlja2VyT3BlbigpXCJcclxuICAgICAgKGNsb3NlZCk9XCJvblRpbWVQaWNrZXJDbG9zZSgpXCJcclxuICAgID48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFFWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUYsT0FBTyxLQUFLLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7QUFzQjdELE1BQU0sT0FBTyxtQkFBbUI7SUFxQjlCO0lBQ0UsMENBQTBDO0lBQ2xDLGlCQUEyQztJQUNuRCw2REFBNkQ7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QUNiLGNBQWM7d0JBQ2QsMkJBQTJCO3dCQUMzQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt3SUFLM0IsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUdjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtbWF0ZXJpYWwtdGltZXBpY2tlcic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XHJcbmltcG9ydCB7IEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50c0luZm8gZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRUaW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdGVkLXRpbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLW92ZXJsYXktYm91bmRzLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS10aW1lLXBpY2tlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBUZXh0RmllbGRNb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBPdXRwdXQoKSBmb3JtVGltZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZFRpbWU+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50c0luZm87XHJcbiAgQFZpZXdDaGlsZCgncGlja2VyJykgcGlja2VyITogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBmb3JtT3ZlcmxheVNjcm9sbENvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheVdoZWVsTGlzdGVuZXIgPSAoZXZlbnQ6IFdoZWVsRXZlbnQpOiB2b2lkID0+IHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50IHwgbnVsbDtcclxuICAgIGlmICh0YXJnZXQ/LmNsb3Nlc3QoJy50aW1lcGlja2VyLW92ZXJsYXknKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGZvcm1Cb2R5ID0gdGhpcy5mb3JtT3ZlcmxheVNjcm9sbENvbnRhaW5lcjtcclxuICAgIGlmICghZm9ybUJvZHkgfHwgZm9ybUJvZHkuc2Nyb2xsSGVpZ2h0IDw9IGZvcm1Cb2R5LmNsaWVudEhlaWdodCkgcmV0dXJuO1xyXG5cclxuICAgIGZvcm1Cb2R5LnNjcm9sbFRvcCArPSBldmVudC5kZWx0YVk7XHJcbiAgICBmb3JtQm9keS5zY3JvbGxMZWZ0ICs9IGV2ZW50LmRlbHRhWDtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZm9ybU92ZXJsYXlCb3VuZHM6IEZvcm1PdmVybGF5Qm91bmRzU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSB0aW1lIHNlbGVjdGlvbiBldmVudFxyXG4gICAqIEB0eXBlIHt2b2lkfVxyXG4gICAqIEBtZW1iZXJvZiBUaW1lUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25UaW1lU2VsZWN0aW9uKHRpbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgdGhpcy5mb3JtVGltZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICB0aW1lOiB0aW1lLFxyXG4gICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uVGltZVBpY2tlck9wZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldE92ZXJsYXlDbGlwQm91bmRzKCk7XHJcbiAgfVxyXG5cclxuICBvblRpbWVQaWNrZXJDbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJPdmVybGF5Q2xpcEJvdW5kcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyT3ZlcmxheUNsaXBCb3VuZHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0T3ZlcmxheUNsaXBCb3VuZHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtQm9keSA9IHRoaXMuZ2V0Rm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIoKTtcclxuICAgIGlmICghZm9ybUJvZHkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmZvcm1PdmVybGF5U2Nyb2xsQ29udGFpbmVyID0gZm9ybUJvZHk7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICd3aGVlbCcsXHJcbiAgICAgIHRoaXMub3ZlcmxheVdoZWVsTGlzdGVuZXIsXHJcbiAgICAgIHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcclxuICAgIC8vIENvbnRhaW5tZW50IGlzIG93bmVkIGJ5IEZvcm1PdmVybGF5Qm91bmRzU2VydmljZSwgd2hpY2ggYWxzbyBrZWVwcyB0aGUgY2xpcFxyXG4gICAgLy8gYmFuZCBjdXJyZW50IHdoaWxlIHRoZSBwYWdlIHNjcm9sbHMuXHJcbiAgICByZXR1cm4gdGhpcy5mb3JtT3ZlcmxheUJvdW5kcy5jb250YWluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJPdmVybGF5Q2xpcEJvdW5kcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3doZWVsJyxcclxuICAgICAgdGhpcy5vdmVybGF5V2hlZWxMaXN0ZW5lcixcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybU92ZXJsYXlTY3JvbGxDb250YWluZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmZvcm1PdmVybGF5Qm91bmRzLnJlbGVhc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiaWVlZXNhLXRpbWUtcGlja2VyLWZpZWxkXCJcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLXRpbWUtcGlja2VyLWZpZWxkX19sYWJlbC1sZWZ0J1xyXG4gICAgICA6ICdpZWVlc2EtdGltZS1waWNrZXItZmllbGRfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS10aW1lLXBpY2tlci1maWVsZF9fbGFiZWxcIj57e1xyXG4gICAgY29uZmlnLmxhYmVsXHJcbiAgfX08L21hdC1sYWJlbD5cclxuICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgICBbbmd4VGltZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICBbZm9ybWF0XT1cIlxyXG4gICAgICAgIGNvbmZpZz8uaXMyNEhvdXJzVGltZUZvcm1hdFxyXG4gICAgICAgICAgPyBjb25maWc/LmhvdXIyNFxyXG4gICAgICAgICAgOiBjb25zdGFudHM/LnRpbWVQaWNrZXI/LmRlZmF1bHRUaW1lRm9ybWF0XHJcbiAgICAgIFwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbCA/PyAnJ1wiXHJcbiAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXIgPz8gJydcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtyZWFkb25seV09XCJjb25maWcuaXNSZWFkb25seVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRpbWUtcGlja2VyLWZpZWxkX19jb250ZW50IGllZWVzYS1ib2R5LWxnLTE4XCJcclxuICAgIC8+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS10aW1lLXBpY2tlci1maWVsZF9fdG9nZ2xlLWljb25cIlxyXG4gICAgICAoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWwgPz8gJydcIlxyXG4gICAgPlxyXG4gICAgICA8c3ZnIG5neE1hdGVyaWFsVGltZXBpY2tlclRvZ2dsZUljb24+XHJcbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImNvbnN0YW50cz8udGltZVBpY2tlcj8udGltZVBpY2tlckljb25cIj48L3VzZT5cclxuICAgICAgPC9zdmc+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxuZ3gtbWF0ZXJpYWwtdGltZXBpY2tlclxyXG4gICAgICAjcGlja2VyXHJcbiAgICAgICh0aW1lU2V0KT1cIm9uVGltZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgKG9wZW5lZCk9XCJvblRpbWVQaWNrZXJPcGVuKClcIlxyXG4gICAgICAoY2xvc2VkKT1cIm9uVGltZVBpY2tlckNsb3NlKClcIlxyXG4gICAgPjwvbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+IDwvaWVlZXNhLWZvcm0tZXJyb3I+XHJcbiAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,175 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Keeps a field overlay — a select panel, autocomplete list, date picker or time
5
+ * picker — inside the bounds of the form it belongs to.
6
+ *
7
+ * Without this, the CDK positions these panels against the viewport, so a panel
8
+ * that cannot fit below its field flips upward and is drawn over the form's
9
+ * heading and pinned tab strip, visually escaping the form.
10
+ *
11
+ * Containment is expressed as a clip band published on the document element and
12
+ * consumed by each overlay's stylesheet:
13
+ * --ieeesa-form-overlay-clip-top distance from the viewport top to the band
14
+ * --ieeesa-form-overlay-clip-bottom distance from the band to the viewport bottom
15
+ * plus an `ieeesa-form-overlay-open` class that activates those rules.
16
+ *
17
+ * The band is the form's field area intersected with the space the form's own
18
+ * pinned chrome leaves free, so a panel never covers the tab strip / step header
19
+ * above it or the action bar below it. It is recalculated on scroll and resize:
20
+ * the form scrolls with the page, so a band measured only when the panel opened
21
+ * would drift and clip the panel away as the user scrolled.
22
+ * @export
23
+ * @class FormOverlayBoundsService
24
+ */
25
+ export class FormOverlayBoundsService {
26
+ static { this.OPEN_CLASS = 'ieeesa-form-overlay-open'; }
27
+ static { this.CLIP_TOP_PROPERTY = '--ieeesa-form-overlay-clip-top'; }
28
+ static { this.CLIP_BOTTOM_PROPERTY = '--ieeesa-form-overlay-clip-bottom'; }
29
+ /** Field areas an overlay can be contained within, most specific first. */
30
+ static { this.FIELD_AREA_SELECTORS = [
31
+ '.ieeesa-dynamic-form__body',
32
+ '.ieeesa-stepper__content',
33
+ ]; }
34
+ /** Chrome pinned above the field area, which a panel must not cover. */
35
+ static { this.PINNED_ABOVE_SELECTORS = [
36
+ '.ieeesa-tab-group',
37
+ '.ieeesa-stepper__header',
38
+ ]; }
39
+ /** Chrome pinned below the field area, which a panel must not cover. */
40
+ static { this.PINNED_BELOW_SELECTORS = [
41
+ '.ieeesa-dynamic-form__actions-row',
42
+ '.ieeesa-create-update-event__step-actions',
43
+ ]; }
44
+ /**
45
+ * Returns the form field area the given host element sits in, or null when the
46
+ * host is not inside a form (a filter popover, a dialog) and so needs no
47
+ * containment.
48
+ * @param {HTMLElement} host
49
+ * @return {(HTMLElement | null)}
50
+ * @memberof FormOverlayBoundsService
51
+ */
52
+ getFieldArea(host) {
53
+ for (const selector of FormOverlayBoundsService.FIELD_AREA_SELECTORS) {
54
+ const match = host.closest(selector);
55
+ if (match)
56
+ return match;
57
+ }
58
+ return null;
59
+ }
60
+ /**
61
+ * Starts containing overlays to the form the host element belongs to, and keeps
62
+ * the band current until `release` is called.
63
+ * @param {HTMLElement} host
64
+ * @return {(HTMLElement | null)} the field area, or null when not in a form
65
+ * @memberof FormOverlayBoundsService
66
+ */
67
+ contain(host) {
68
+ const fieldArea = this.getFieldArea(host);
69
+ if (!fieldArea)
70
+ return null;
71
+ const view = fieldArea.ownerDocument.defaultView;
72
+ if (!view?.innerHeight)
73
+ return null;
74
+ this.release();
75
+ this.fieldArea = fieldArea;
76
+ this.updateBand = () => this.publishBand(fieldArea);
77
+ this.updateBand();
78
+ // The page is the scroll surface for content-sized forms; the field area
79
+ // itself is the scroll surface for capped ones. Listen to both so the band
80
+ // follows either layout.
81
+ view.addEventListener('scroll', this.updateBand, true);
82
+ view.addEventListener('resize', this.updateBand);
83
+ fieldArea.ownerDocument.documentElement.classList.add(FormOverlayBoundsService.OPEN_CLASS);
84
+ return fieldArea;
85
+ }
86
+ /**
87
+ * Returns the band an overlay is currently confined to, in viewport
88
+ * coordinates. Callers use it to position a panel inside the form.
89
+ * @return {({ top: number; bottom: number } | null)}
90
+ * @memberof FormOverlayBoundsService
91
+ */
92
+ getBand() {
93
+ if (!this.fieldArea)
94
+ return null;
95
+ return this.measureBand(this.fieldArea);
96
+ }
97
+ /**
98
+ * Stops containing overlays and removes the published band, so unrelated
99
+ * overlays are positioned normally.
100
+ * @memberof FormOverlayBoundsService
101
+ */
102
+ release() {
103
+ if (!this.fieldArea)
104
+ return;
105
+ const document = this.fieldArea.ownerDocument;
106
+ const view = document.defaultView;
107
+ if (this.updateBand && view) {
108
+ view.removeEventListener('scroll', this.updateBand, true);
109
+ view.removeEventListener('resize', this.updateBand);
110
+ }
111
+ document.documentElement.classList.remove(FormOverlayBoundsService.OPEN_CLASS);
112
+ document.documentElement.style.removeProperty(FormOverlayBoundsService.CLIP_TOP_PROPERTY);
113
+ document.documentElement.style.removeProperty(FormOverlayBoundsService.CLIP_BOTTOM_PROPERTY);
114
+ this.fieldArea = undefined;
115
+ this.updateBand = undefined;
116
+ }
117
+ /**
118
+ * Measures the usable band: the field area, trimmed by any of the form's own
119
+ * chrome that is currently pinned over it.
120
+ * @param {HTMLElement} fieldArea
121
+ * @return {{ top: number; bottom: number }}
122
+ * @memberof FormOverlayBoundsService
123
+ */
124
+ measureBand(fieldArea) {
125
+ const document = fieldArea.ownerDocument;
126
+ const viewportHeight = document.defaultView?.innerHeight ?? 0;
127
+ const rect = fieldArea.getBoundingClientRect();
128
+ let top = rect.top;
129
+ let bottom = rect.bottom;
130
+ for (const selector of FormOverlayBoundsService.PINNED_ABOVE_SELECTORS) {
131
+ const element = document.querySelector(selector);
132
+ if (!element)
133
+ continue;
134
+ const elementRect = element.getBoundingClientRect();
135
+ // Only chrome that actually overlaps the field area is pinned over it.
136
+ if (elementRect.bottom > top && elementRect.top < bottom) {
137
+ top = Math.max(top, elementRect.bottom);
138
+ }
139
+ }
140
+ for (const selector of FormOverlayBoundsService.PINNED_BELOW_SELECTORS) {
141
+ const element = document.querySelector(selector);
142
+ if (!element)
143
+ continue;
144
+ const elementRect = element.getBoundingClientRect();
145
+ if (elementRect.top < bottom && elementRect.bottom > top) {
146
+ bottom = Math.min(bottom, elementRect.top);
147
+ }
148
+ }
149
+ return {
150
+ top: Math.max(0, Math.min(top, viewportHeight)),
151
+ bottom: Math.max(0, Math.min(bottom, viewportHeight)),
152
+ };
153
+ }
154
+ /**
155
+ * Publishes the band as clip custom properties for the overlay stylesheets.
156
+ * @param {HTMLElement} fieldArea
157
+ * @memberof FormOverlayBoundsService
158
+ */
159
+ publishBand(fieldArea) {
160
+ const document = fieldArea.ownerDocument;
161
+ const viewportHeight = document.defaultView?.innerHeight ?? 0;
162
+ const band = this.measureBand(fieldArea);
163
+ document.documentElement.style.setProperty(FormOverlayBoundsService.CLIP_TOP_PROPERTY, `${Math.floor(band.top)}px`);
164
+ document.documentElement.style.setProperty(FormOverlayBoundsService.CLIP_BOTTOM_PROPERTY, `${Math.max(0, Math.ceil(viewportHeight - band.bottom))}px`);
165
+ }
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormOverlayBoundsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
167
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormOverlayBoundsService, providedIn: 'root' }); }
168
+ }
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormOverlayBoundsService, decorators: [{
170
+ type: Injectable,
171
+ args: [{
172
+ providedIn: 'root',
173
+ }]
174
+ }] });
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdmVybGF5LWJvdW5kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvc2VydmljZXMvZm9ybS1vdmVybGF5LWJvdW5kcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCO2FBQ1gsZUFBVSxHQUFHLDBCQUEwQixBQUE3QixDQUE4QjthQUN4QyxzQkFBaUIsR0FBRyxnQ0FBZ0MsQUFBbkMsQ0FBb0M7YUFDckQseUJBQW9CLEdBQzFDLG1DQUFtQyxBQURPLENBQ047SUFDdEMsMkVBQTJFO2FBQ25ELHlCQUFvQixHQUFHO1FBQzdDLDRCQUE0QjtRQUM1QiwwQkFBMEI7S0FDM0IsQUFIMkMsQ0FHMUM7SUFDRix3RUFBd0U7YUFDaEQsMkJBQXNCLEdBQUc7UUFDL0MsbUJBQW1CO1FBQ25CLHlCQUF5QjtLQUMxQixBQUg2QyxDQUc1QztJQUNGLHdFQUF3RTthQUNoRCwyQkFBc0IsR0FBRztRQUMvQyxtQ0FBbUM7UUFDbkMsMkNBQTJDO0tBQzVDLEFBSDZDLENBRzVDO0lBS0Y7Ozs7Ozs7T0FPRztJQUNILFlBQVksQ0FBQyxJQUFpQjtRQUM1QixLQUFLLE1BQU0sUUFBUSxJQUFJLHdCQUF3QixDQUFDLG9CQUFvQixFQUFFO1lBQ3BFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUF1QixDQUFDO1lBQzNELElBQUksS0FBSztnQkFBRSxPQUFPLEtBQUssQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxJQUFpQjtRQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFNUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQix5RUFBeUU7UUFDekUsMkVBQTJFO1FBQzNFLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakQsU0FBUyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDbkQsd0JBQXdCLENBQUMsVUFBVSxDQUNwQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN2Qyx3QkFBd0IsQ0FBQyxVQUFVLENBQ3BDLENBQUM7UUFDRixRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQzNDLHdCQUF3QixDQUFDLGlCQUFpQixDQUMzQyxDQUFDO1FBQ0YsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUMzQyx3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FDOUMsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxXQUFXLENBQUMsU0FBc0I7UUFJeEMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0MsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNuQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXpCLEtBQUssTUFBTSxRQUFRLElBQUksd0JBQXdCLENBQUMsc0JBQXNCLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXVCLENBQUM7WUFDdkUsSUFBSSxDQUFDLE9BQU87Z0JBQUUsU0FBUztZQUN2QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNwRCx1RUFBdUU7WUFDdkUsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxHQUFHLE1BQU0sRUFBRTtnQkFDeEQsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN6QztTQUNGO1FBRUQsS0FBSyxNQUFNLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQyxzQkFBc0IsRUFBRTtZQUN0RSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBdUIsQ0FBQztZQUN2RSxJQUFJLENBQUMsT0FBTztnQkFBRSxTQUFTO1lBQ3ZCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3BELElBQUksV0FBVyxDQUFDLEdBQUcsR0FBRyxNQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ3hELE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDL0MsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxTQUFzQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUM5RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDeEMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQzFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDNUIsQ0FBQztRQUNGLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDeEMsd0JBQXdCLENBQUMsb0JBQW9CLEVBQzdDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDNUQsQ0FBQztJQUNKLENBQUM7K0dBdEtVLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzRGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogS2VlcHMgYSBmaWVsZCBvdmVybGF5IOKAlCBhIHNlbGVjdCBwYW5lbCwgYXV0b2NvbXBsZXRlIGxpc3QsIGRhdGUgcGlja2VyIG9yIHRpbWVcclxuICogcGlja2VyIOKAlCBpbnNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgZm9ybSBpdCBiZWxvbmdzIHRvLlxyXG4gKlxyXG4gKiBXaXRob3V0IHRoaXMsIHRoZSBDREsgcG9zaXRpb25zIHRoZXNlIHBhbmVscyBhZ2FpbnN0IHRoZSB2aWV3cG9ydCwgc28gYSBwYW5lbFxyXG4gKiB0aGF0IGNhbm5vdCBmaXQgYmVsb3cgaXRzIGZpZWxkIGZsaXBzIHVwd2FyZCBhbmQgaXMgZHJhd24gb3ZlciB0aGUgZm9ybSdzXHJcbiAqIGhlYWRpbmcgYW5kIHBpbm5lZCB0YWIgc3RyaXAsIHZpc3VhbGx5IGVzY2FwaW5nIHRoZSBmb3JtLlxyXG4gKlxyXG4gKiBDb250YWlubWVudCBpcyBleHByZXNzZWQgYXMgYSBjbGlwIGJhbmQgcHVibGlzaGVkIG9uIHRoZSBkb2N1bWVudCBlbGVtZW50IGFuZFxyXG4gKiBjb25zdW1lZCBieSBlYWNoIG92ZXJsYXkncyBzdHlsZXNoZWV0OlxyXG4gKiAgIC0taWVlZXNhLWZvcm0tb3ZlcmxheS1jbGlwLXRvcCAgICAgZGlzdGFuY2UgZnJvbSB0aGUgdmlld3BvcnQgdG9wIHRvIHRoZSBiYW5kXHJcbiAqICAgLS1pZWVlc2EtZm9ybS1vdmVybGF5LWNsaXAtYm90dG9tICBkaXN0YW5jZSBmcm9tIHRoZSBiYW5kIHRvIHRoZSB2aWV3cG9ydCBib3R0b21cclxuICogcGx1cyBhbiBgaWVlZXNhLWZvcm0tb3ZlcmxheS1vcGVuYCBjbGFzcyB0aGF0IGFjdGl2YXRlcyB0aG9zZSBydWxlcy5cclxuICpcclxuICogVGhlIGJhbmQgaXMgdGhlIGZvcm0ncyBmaWVsZCBhcmVhIGludGVyc2VjdGVkIHdpdGggdGhlIHNwYWNlIHRoZSBmb3JtJ3Mgb3duXHJcbiAqIHBpbm5lZCBjaHJvbWUgbGVhdmVzIGZyZWUsIHNvIGEgcGFuZWwgbmV2ZXIgY292ZXJzIHRoZSB0YWIgc3RyaXAgLyBzdGVwIGhlYWRlclxyXG4gKiBhYm92ZSBpdCBvciB0aGUgYWN0aW9uIGJhciBiZWxvdyBpdC4gSXQgaXMgcmVjYWxjdWxhdGVkIG9uIHNjcm9sbCBhbmQgcmVzaXplOlxyXG4gKiB0aGUgZm9ybSBzY3JvbGxzIHdpdGggdGhlIHBhZ2UsIHNvIGEgYmFuZCBtZWFzdXJlZCBvbmx5IHdoZW4gdGhlIHBhbmVsIG9wZW5lZFxyXG4gKiB3b3VsZCBkcmlmdCBhbmQgY2xpcCB0aGUgcGFuZWwgYXdheSBhcyB0aGUgdXNlciBzY3JvbGxlZC5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPUEVOX0NMQVNTID0gJ2llZWVzYS1mb3JtLW92ZXJsYXktb3Blbic7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0xJUF9UT1BfUFJPUEVSVFkgPSAnLS1pZWVlc2EtZm9ybS1vdmVybGF5LWNsaXAtdG9wJztcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDTElQX0JPVFRPTV9QUk9QRVJUWSA9XHJcbiAgICAnLS1pZWVlc2EtZm9ybS1vdmVybGF5LWNsaXAtYm90dG9tJztcclxuICAvKiogRmllbGQgYXJlYXMgYW4gb3ZlcmxheSBjYW4gYmUgY29udGFpbmVkIHdpdGhpbiwgbW9zdCBzcGVjaWZpYyBmaXJzdC4gKi9cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBGSUVMRF9BUkVBX1NFTEVDVE9SUyA9IFtcclxuICAgICcuaWVlZXNhLWR5bmFtaWMtZm9ybV9fYm9keScsXHJcbiAgICAnLmllZWVzYS1zdGVwcGVyX19jb250ZW50JyxcclxuICBdO1xyXG4gIC8qKiBDaHJvbWUgcGlubmVkIGFib3ZlIHRoZSBmaWVsZCBhcmVhLCB3aGljaCBhIHBhbmVsIG11c3Qgbm90IGNvdmVyLiAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFBJTk5FRF9BQk9WRV9TRUxFQ1RPUlMgPSBbXHJcbiAgICAnLmllZWVzYS10YWItZ3JvdXAnLFxyXG4gICAgJy5pZWVlc2Etc3RlcHBlcl9faGVhZGVyJyxcclxuICBdO1xyXG4gIC8qKiBDaHJvbWUgcGlubmVkIGJlbG93IHRoZSBmaWVsZCBhcmVhLCB3aGljaCBhIHBhbmVsIG11c3Qgbm90IGNvdmVyLiAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFBJTk5FRF9CRUxPV19TRUxFQ1RPUlMgPSBbXHJcbiAgICAnLmllZWVzYS1keW5hbWljLWZvcm1fX2FjdGlvbnMtcm93JyxcclxuICAgICcuaWVlZXNhLWNyZWF0ZS11cGRhdGUtZXZlbnRfX3N0ZXAtYWN0aW9ucycsXHJcbiAgXTtcclxuXHJcbiAgcHJpdmF0ZSBmaWVsZEFyZWE/OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHVwZGF0ZUJhbmQ/OiAoKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBmb3JtIGZpZWxkIGFyZWEgdGhlIGdpdmVuIGhvc3QgZWxlbWVudCBzaXRzIGluLCBvciBudWxsIHdoZW4gdGhlXHJcbiAgICogaG9zdCBpcyBub3QgaW5zaWRlIGEgZm9ybSAoYSBmaWx0ZXIgcG9wb3ZlciwgYSBkaWFsb2cpIGFuZCBzbyBuZWVkcyBub1xyXG4gICAqIGNvbnRhaW5tZW50LlxyXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGhvc3RcclxuICAgKiBAcmV0dXJuIHsoSFRNTEVsZW1lbnQgfCBudWxsKX1cclxuICAgKiBAbWVtYmVyb2YgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0RmllbGRBcmVhKGhvc3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcclxuICAgIGZvciAoY29uc3Qgc2VsZWN0b3Igb2YgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlLkZJRUxEX0FSRUFfU0VMRUNUT1JTKSB7XHJcbiAgICAgIGNvbnN0IG1hdGNoID0gaG9zdC5jbG9zZXN0KHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgICAgIGlmIChtYXRjaCkgcmV0dXJuIG1hdGNoO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdGFydHMgY29udGFpbmluZyBvdmVybGF5cyB0byB0aGUgZm9ybSB0aGUgaG9zdCBlbGVtZW50IGJlbG9uZ3MgdG8sIGFuZCBrZWVwc1xyXG4gICAqIHRoZSBiYW5kIGN1cnJlbnQgdW50aWwgYHJlbGVhc2VgIGlzIGNhbGxlZC5cclxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBob3N0XHJcbiAgICogQHJldHVybiB7KEhUTUxFbGVtZW50IHwgbnVsbCl9IHRoZSBmaWVsZCBhcmVhLCBvciBudWxsIHdoZW4gbm90IGluIGEgZm9ybVxyXG4gICAqIEBtZW1iZXJvZiBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2VcclxuICAgKi9cclxuICBjb250YWluKGhvc3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcclxuICAgIGNvbnN0IGZpZWxkQXJlYSA9IHRoaXMuZ2V0RmllbGRBcmVhKGhvc3QpO1xyXG4gICAgaWYgKCFmaWVsZEFyZWEpIHJldHVybiBudWxsO1xyXG5cclxuICAgIGNvbnN0IHZpZXcgPSBmaWVsZEFyZWEub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztcclxuICAgIGlmICghdmlldz8uaW5uZXJIZWlnaHQpIHJldHVybiBudWxsO1xyXG5cclxuICAgIHRoaXMucmVsZWFzZSgpO1xyXG4gICAgdGhpcy5maWVsZEFyZWEgPSBmaWVsZEFyZWE7XHJcbiAgICB0aGlzLnVwZGF0ZUJhbmQgPSAoKSA9PiB0aGlzLnB1Ymxpc2hCYW5kKGZpZWxkQXJlYSk7XHJcbiAgICB0aGlzLnVwZGF0ZUJhbmQoKTtcclxuXHJcbiAgICAvLyBUaGUgcGFnZSBpcyB0aGUgc2Nyb2xsIHN1cmZhY2UgZm9yIGNvbnRlbnQtc2l6ZWQgZm9ybXM7IHRoZSBmaWVsZCBhcmVhXHJcbiAgICAvLyBpdHNlbGYgaXMgdGhlIHNjcm9sbCBzdXJmYWNlIGZvciBjYXBwZWQgb25lcy4gTGlzdGVuIHRvIGJvdGggc28gdGhlIGJhbmRcclxuICAgIC8vIGZvbGxvd3MgZWl0aGVyIGxheW91dC5cclxuICAgIHZpZXcuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy51cGRhdGVCYW5kLCB0cnVlKTtcclxuICAgIHZpZXcuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVCYW5kKTtcclxuICAgIGZpZWxkQXJlYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFxyXG4gICAgICBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2UuT1BFTl9DTEFTU1xyXG4gICAgKTtcclxuICAgIHJldHVybiBmaWVsZEFyZWE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBiYW5kIGFuIG92ZXJsYXkgaXMgY3VycmVudGx5IGNvbmZpbmVkIHRvLCBpbiB2aWV3cG9ydFxyXG4gICAqIGNvb3JkaW5hdGVzLiBDYWxsZXJzIHVzZSBpdCB0byBwb3NpdGlvbiBhIHBhbmVsIGluc2lkZSB0aGUgZm9ybS5cclxuICAgKiBAcmV0dXJuIHsoeyB0b3A6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfSB8IG51bGwpfVxyXG4gICAqIEBtZW1iZXJvZiBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRCYW5kKCk6IHsgdG9wOiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH0gfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5maWVsZEFyZWEpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHRoaXMubWVhc3VyZUJhbmQodGhpcy5maWVsZEFyZWEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcHMgY29udGFpbmluZyBvdmVybGF5cyBhbmQgcmVtb3ZlcyB0aGUgcHVibGlzaGVkIGJhbmQsIHNvIHVucmVsYXRlZFxyXG4gICAqIG92ZXJsYXlzIGFyZSBwb3NpdGlvbmVkIG5vcm1hbGx5LlxyXG4gICAqIEBtZW1iZXJvZiBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2VcclxuICAgKi9cclxuICByZWxlYXNlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkQXJlYSkgcmV0dXJuO1xyXG4gICAgY29uc3QgZG9jdW1lbnQgPSB0aGlzLmZpZWxkQXJlYS5vd25lckRvY3VtZW50O1xyXG4gICAgY29uc3QgdmlldyA9IGRvY3VtZW50LmRlZmF1bHRWaWV3O1xyXG4gICAgaWYgKHRoaXMudXBkYXRlQmFuZCAmJiB2aWV3KSB7XHJcbiAgICAgIHZpZXcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy51cGRhdGVCYW5kLCB0cnVlKTtcclxuICAgICAgdmlldy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnVwZGF0ZUJhbmQpO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXHJcbiAgICAgIEZvcm1PdmVybGF5Qm91bmRzU2VydmljZS5PUEVOX0NMQVNTXHJcbiAgICApO1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KFxyXG4gICAgICBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2UuQ0xJUF9UT1BfUFJPUEVSVFlcclxuICAgICk7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoXHJcbiAgICAgIEZvcm1PdmVybGF5Qm91bmRzU2VydmljZS5DTElQX0JPVFRPTV9QUk9QRVJUWVxyXG4gICAgKTtcclxuICAgIHRoaXMuZmllbGRBcmVhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy51cGRhdGVCYW5kID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWVhc3VyZXMgdGhlIHVzYWJsZSBiYW5kOiB0aGUgZmllbGQgYXJlYSwgdHJpbW1lZCBieSBhbnkgb2YgdGhlIGZvcm0ncyBvd25cclxuICAgKiBjaHJvbWUgdGhhdCBpcyBjdXJyZW50bHkgcGlubmVkIG92ZXIgaXQuXHJcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZmllbGRBcmVhXHJcbiAgICogQHJldHVybiB7eyB0b3A6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfX1cclxuICAgKiBAbWVtYmVyb2YgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtZWFzdXJlQmFuZChmaWVsZEFyZWE6IEhUTUxFbGVtZW50KToge1xyXG4gICAgdG9wOiBudW1iZXI7XHJcbiAgICBib3R0b206IG51bWJlcjtcclxuICB9IHtcclxuICAgIGNvbnN0IGRvY3VtZW50ID0gZmllbGRBcmVhLm93bmVyRG9jdW1lbnQ7XHJcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IGRvY3VtZW50LmRlZmF1bHRWaWV3Py5pbm5lckhlaWdodCA/PyAwO1xyXG4gICAgY29uc3QgcmVjdCA9IGZpZWxkQXJlYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCB0b3AgPSByZWN0LnRvcDtcclxuICAgIGxldCBib3R0b20gPSByZWN0LmJvdHRvbTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHNlbGVjdG9yIG9mIEZvcm1PdmVybGF5Qm91bmRzU2VydmljZS5QSU5ORURfQUJPVkVfU0VMRUNUT1JTKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgICAgIGlmICghZWxlbWVudCkgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgLy8gT25seSBjaHJvbWUgdGhhdCBhY3R1YWxseSBvdmVybGFwcyB0aGUgZmllbGQgYXJlYSBpcyBwaW5uZWQgb3ZlciBpdC5cclxuICAgICAgaWYgKGVsZW1lbnRSZWN0LmJvdHRvbSA+IHRvcCAmJiBlbGVtZW50UmVjdC50b3AgPCBib3R0b20pIHtcclxuICAgICAgICB0b3AgPSBNYXRoLm1heCh0b3AsIGVsZW1lbnRSZWN0LmJvdHRvbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IHNlbGVjdG9yIG9mIEZvcm1PdmVybGF5Qm91bmRzU2VydmljZS5QSU5ORURfQkVMT1dfU0VMRUNUT1JTKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgICAgIGlmICghZWxlbWVudCkgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgaWYgKGVsZW1lbnRSZWN0LnRvcCA8IGJvdHRvbSAmJiBlbGVtZW50UmVjdC5ib3R0b20gPiB0b3ApIHtcclxuICAgICAgICBib3R0b20gPSBNYXRoLm1pbihib3R0b20sIGVsZW1lbnRSZWN0LnRvcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0b3A6IE1hdGgubWF4KDAsIE1hdGgubWluKHRvcCwgdmlld3BvcnRIZWlnaHQpKSxcclxuICAgICAgYm90dG9tOiBNYXRoLm1heCgwLCBNYXRoLm1pbihib3R0b20sIHZpZXdwb3J0SGVpZ2h0KSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVibGlzaGVzIHRoZSBiYW5kIGFzIGNsaXAgY3VzdG9tIHByb3BlcnRpZXMgZm9yIHRoZSBvdmVybGF5IHN0eWxlc2hlZXRzLlxyXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGZpZWxkQXJlYVxyXG4gICAqIEBtZW1iZXJvZiBGb3JtT3ZlcmxheUJvdW5kc1NlcnZpY2VcclxuICAgKi9cclxuICBwcml2YXRlIHB1Ymxpc2hCYW5kKGZpZWxkQXJlYTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRvY3VtZW50ID0gZmllbGRBcmVhLm93bmVyRG9jdW1lbnQ7XHJcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IGRvY3VtZW50LmRlZmF1bHRWaWV3Py5pbm5lckhlaWdodCA/PyAwO1xyXG4gICAgY29uc3QgYmFuZCA9IHRoaXMubWVhc3VyZUJhbmQoZmllbGRBcmVhKTtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcclxuICAgICAgRm9ybU92ZXJsYXlCb3VuZHNTZXJ2aWNlLkNMSVBfVE9QX1BST1BFUlRZLFxyXG4gICAgICBgJHtNYXRoLmZsb29yKGJhbmQudG9wKX1weGBcclxuICAgICk7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgIEZvcm1PdmVybGF5Qm91bmRzU2VydmljZS5DTElQX0JPVFRPTV9QUk9QRVJUWSxcclxuICAgICAgYCR7TWF0aC5tYXgoMCwgTWF0aC5jZWlsKHZpZXdwb3J0SGVpZ2h0IC0gYmFuZC5ib3R0b20pKX1weGBcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -114,6 +114,7 @@ export * from './lib/models/home-group-selection.model';
114
114
  export * from './lib/models/credit-selection.model';
115
115
  export * from './lib/services/datepicker.service';
116
116
  export * from './lib/services/form-utility.service';
117
+ export * from './lib/services/form-overlay-bounds.service';
117
118
  export * from './lib/services/file-upload.service';
118
119
  export * from './lib/services/break-point-observer.service';
119
120
  export * from './lib/pipes/safe.pipe';
@@ -122,4 +123,4 @@ export * from './lib/presentation.module';
122
123
  // Re-export from @ieeesa-npm/models (needed because dist/presentation is used by other library builds)
123
124
  export { AlignType } from '@ieeesa-npm/models';
124
125
  export * from './lib/components/stepper/stepper.component';
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHNDQUFz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O0FBRXBELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsdUdBQXVHO0FBQ3ZHLE9BQU8sRUFBNEMsU0FBUyxFQUFxRCxNQUFNLG9CQUFvQixDQUFDO0FBRTVJLGNBQWMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcHJlc2VudGF0aW9uXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXItaGVhZGVyL2RhdGUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGFsLWNvbmZpcm1hdGlvbi9tb2RhbC1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC1pbmZvL21vZGFsLWluZm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvd2VsY29tZS93ZWxjb21lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtZG93bmxvYWQvZmlsZS1kb3dubG9hZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pbmFjdGl2ZS10ZW5hbnQvaW5hY3RpdmUtdGVuYW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaW1hZ2UtcHJldmlldy9pbWFnZS1wcmV2aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXhwb3J0LWZvcm1hdC1wb3BvdmVyL2V4cG9ydC1mb3JtYXQtcG9wb3Zlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbHRlci1wb3BvdmVyL2ZpbHRlci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2cvcG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHBvcnQtc3VjY2Vzcy1kaWFsb2cvZXhwb3J0LXN1Y2Nlc3MtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaG9tZS1ncm91cC1zZWxlY3Rpb24vaG9tZS1ncm91cC1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcmVkaXQtc2VsZWN0aW9uL2NyZWRpdC1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3NldC1iYWNrZ3JvdW5kL3NldC1iYWNrZ3JvdW5kLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGV4dC10cnVuY2F0ZWQvdGV4dC10cnVuY2F0ZWQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL29ic2VydmUtZG9tLWNoYW5nZS9vYnNlcnZlLWRvbS1jaGFuZ2UuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hY2NvcmRpb24taW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hbGlnbi1icm93c2VkLWZpbGVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FsbG93ZWQtZmlsZS10eXBlcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hcHAtY29uZmlnLWluZm8ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYXV0b2NvbXBsZXRlLW9wdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jYWxlbmRhci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jdXN0b20tcHJvcGVydGllcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRlLXBpY2tlci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb3dubG9hZC1maWxlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V2ZW50LWVtaXQtdHlwZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9vdGVyLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS1maWVsZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLWdyaWQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9oZWFkZXItY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xlZ2VuZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9saW5rLXR5cGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbGlzdC1pdGVtLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL21lbnUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbmF2aWdhdGlvbi1tZW51Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JhZGlvLW9wdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZWFyY2gubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VsZWN0LW9wZW5lZC1zdGF0ZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZWxlY3RlZC1kYXRlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlbGVjdGVkLXRpbWUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFiLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvZ2dsZS1idXR0b24ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hpcC1vcHRpb24ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGFnaW5hdG9yLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YWJsZS1hY3Rpb25zLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RhYmxlLXNjaGVtYS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9icmVhZGNydW1iLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RpbGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsZS11cGxvYWQtcmVzcG9uc2UubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsZS11cGxvYWQtc3RhdHVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbHRlcnMtb3B0aW9ucy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9maWxlLW1lbnUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2xpZGUtdG9nZ2xlLW9wdGlvbnMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYnV0dG9uLXR5cGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2FyZC1idXR0b24ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2FyZC1pbmZvLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NvbG9yLWZvcm1hdC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLWRvd25sb2FkLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLWluZm8ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsZS11cGxvYWQtcGF5bG9hZC1tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLXVwbG9hZC1wcmVzaWduZWQtdXJsLXJlcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLXVwbG9hZC1yZXNwb25zZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmFjdGl2ZS10ZW5hbnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFibGUtY29sdW1uLW1lbnUtaW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9leHBvcnQtZm9ybWF0LXBvcG92ZXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsdGVyLXBvcG92ZXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2cubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXhwb3J0LXN1Y2Nlc3MtZGlhbG9nLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2hvbWUtZ3JvdXAtc2VsZWN0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NyZWRpdC1zZWxlY3Rpb24ubW9kZWwnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYnJlYWstcG9pbnQtb2JzZXJ2ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3NhZmUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3RpbWV6b25lLWZvcm1hdC5waXBlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXNlbnRhdGlvbi5tb2R1bGUnO1xyXG5cclxuLy8gUmUtZXhwb3J0IGZyb20gQGllZWVzYS1ucG0vbW9kZWxzIChuZWVkZWQgYmVjYXVzZSBkaXN0L3ByZXNlbnRhdGlvbiBpcyB1c2VkIGJ5IG90aGVyIGxpYnJhcnkgYnVpbGRzKVxyXG5leHBvcnQgeyBTZWxlY3RPcHRpb24sIENoZWNrYm94T3B0aW9uLCBJY29uQnV0dG9uLCBBbGlnblR5cGUsIENvbmZpcm1hdGlvbk1vZGFsRGF0YSwgTWVzc2FnZVBhcnQsIEluZm9Nb2RhbERhdGEgfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcclxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHNDQUFz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O0FBRXBELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyx1R0FBdUc7QUFDdkcsT0FBTyxFQUE0QyxTQUFTLEVBQXFELE1BQU0sb0JBQW9CLENBQUM7QUFFNUksY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwcmVzZW50YXRpb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci1oZWFkZXIvZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kYWwtY29uZmlybWF0aW9uL21vZGFsLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGFsLWluZm8vbW9kYWwtaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24tbWVudS9uYXZpZ2F0aW9uLW1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGlsZS90aWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZS1kb3dubG9hZC9maWxlLWRvd25sb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2luYWN0aXZlLXRlbmFudC9pbmFjdGl2ZS10ZW5hbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pbWFnZS1wcmV2aWV3L2ltYWdlLXByZXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3JpY2gtdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHBvcnQtZm9ybWF0LXBvcG92ZXIvZXhwb3J0LWZvcm1hdC1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVyLXBvcG92ZXIvZmlsdGVyLXBvcG92ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZy9wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4cG9ydC1zdWNjZXNzLWRpYWxvZy9leHBvcnQtc3VjY2Vzcy1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ob21lLWdyb3VwLXNlbGVjdGlvbi9ob21lLWdyb3VwLXNlbGVjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NyZWRpdC1zZWxlY3Rpb24vY3JlZGl0LXNlbGVjdGlvbi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9keW5hbWljLWZvcm0tZmllbGQvZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2V0LWJhY2tncm91bmQvc2V0LWJhY2tncm91bmQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90ZXh0LXRydW5jYXRlZC90ZXh0LXRydW5jYXRlZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1kb20tY2hhbmdlL29ic2VydmUtZG9tLWNoYW5nZS5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FjY29yZGlvbi1pbmZvLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FsaWduLWJyb3dzZWQtZmlsZXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWxsb3dlZC1maWxlLXR5cGVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FwcC1jb25maWctaW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NhbGVuZGFyLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2N1c3RvbS1wcm9wZXJ0aWVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Rvd25sb2FkLWZpbGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb290ZXItY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0tZ3JpZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2hlYWRlci1jb25maWcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbGVnZW5kLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xpbmstdHlwZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9saXN0LWl0ZW0ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbWVudS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9uYXZpZ2F0aW9uLW1lbnUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmFkaW8tb3B0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlYXJjaC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlbGVjdGVkLWRhdGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VsZWN0ZWQtdGltZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YWIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdG9nZ2xlLWJ1dHRvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGlwLW9wdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wYWdpbmF0b3ItY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RhYmxlLWFjdGlvbnMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFibGUtc2NoZW1hLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JyZWFkY3J1bWIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGlsZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLXVwbG9hZC1yZXNwb25zZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLXVwbG9hZC1zdGF0dXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsdGVycy1vcHRpb25zLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb2ZpbGUtbWVudS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zbGlkZS10b2dnbGUtb3B0aW9ucy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9idXR0b24tdHlwZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jYXJkLWJ1dHRvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jYXJkLWluZm8ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY29sb3ItZm9ybWF0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbGUtZG93bmxvYWQtY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbGUtaW5mby5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlLXVwbG9hZC1wYXlsb2FkLW1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbGUtdXBsb2FkLXByZXNpZ25lZC11cmwtcmVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbGUtdXBsb2FkLXJlc3BvbnNlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luYWN0aXZlLXRlbmFudC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YWJsZS1jb2x1bW4tbWVudS1pbmZvLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V4cG9ydC1mb3JtYXQtcG9wb3Zlci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWx0ZXItcG9wb3Zlci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9leHBvcnQtc3VjY2Vzcy1kaWFsb2cubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaG9tZS1ncm91cC1zZWxlY3Rpb24ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY3JlZGl0LXNlbGVjdGlvbi5tb2RlbCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kYXRlcGlja2VyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9mb3JtLXV0aWxpdHkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Zvcm0tb3ZlcmxheS1ib3VuZHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9icmVhay1wb2ludC1vYnNlcnZlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvc2FmZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvdGltZXpvbmUtZm9ybWF0LnBpcGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJlc2VudGF0aW9uLm1vZHVsZSc7XHJcblxyXG4vLyBSZS1leHBvcnQgZnJvbSBAaWVlZXNhLW5wbS9tb2RlbHMgKG5lZWRlZCBiZWNhdXNlIGRpc3QvcHJlc2VudGF0aW9uIGlzIHVzZWQgYnkgb3RoZXIgbGlicmFyeSBidWlsZHMpXHJcbmV4cG9ydCB7IFNlbGVjdE9wdGlvbiwgQ2hlY2tib3hPcHRpb24sIEljb25CdXR0b24sIEFsaWduVHlwZSwgQ29uZmlybWF0aW9uTW9kYWxEYXRhLCBNZXNzYWdlUGFydCwgSW5mb01vZGFsRGF0YSB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xyXG4iXX0=