@eui/components 21.0.0-alpha.16 → 21.0.0-alpha.17

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.
@@ -121,7 +121,7 @@
121
121
  </ol>
122
122
  <ul class="properties-list">
123
123
  <li>
124
- <b>Version</b> : 21.0.0-alpha.16</li>
124
+ <b>Version</b> : 21.0.0-alpha.17</li>
125
125
  </ul>
126
126
 
127
127
 
@@ -73,6 +73,7 @@ declare class EuiMenuItemComponent implements OnInit, OnChanges, FocusableOption
73
73
  declare class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
74
74
  protected menuItemsComponents: QueryList<EuiMenuItemComponent>;
75
75
  protected filterInput: ElementRef<HTMLInputElement>;
76
+ menubar: ElementRef<HTMLUListElement>;
76
77
  get cssClasses(): string;
77
78
  items: EuiMenuItem[];
78
79
  searchFilterLabel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../eui-menu/eui-menu-item.component.ts","../../eui-menu/eui-menu.component.ts","../../eui-menu/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;AA6BA,cAAA,oBAAA,YAAA,MAAA,EAAA,SAAA,EAAA,eAAA;AAkB8B;AACM;;AAMF;;;;;;AAgBrB;AACC,kBAAA,YAAA,CAAA,WAAA;AACA,eAAA,YAAA,CAAA,WAAA;AAEV;AACA;AAEA;AACA;AACA;AACA;;;;;;;;;AAWA;AAQA,yBAAA,aAAA;AAaO,2BAAA,UAAA;;AAYA,mBAAA,UAAA,GAAA,aAAA;AAMA,0BAAA,KAAA;AAKA,6BAAA,UAAA;AAKA,+BAAA,aAAA;AAOA;AAKP;AAIO;AAIP;;;AAGG;AACH;AAUA;;;AAGG;AACH;AAIA;AAMA;AAQA;;;AAGG;AACH;;;;;;;;;;AAOH;;AC7KD,cAAA,gBAAA,YAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA;AAcwC,mCAAA,SAAA,CAAA,oBAAA;AACY,2BAAA,UAAA,CAAA,gBAAA;;;;;;AAgBvC;AAE+B;AACA;AACA;AACA;AACA;AACA;AACA;AACxC;;;AAGG;AACqC;AACA;AACA;AACA;AAE9B,aAAA,YAAA;AACA,eAAA,YAAA,CAAA,WAAA;AACA,kBAAA,YAAA,CAAA,WAAA;;;;;;;AAUV,2BAAA,UAAA;AAIA,qBAAA,aAAA;AA2GA,yBAAA,aAAA;AA4CA;AAiBA;AAUA;AAMA,4BAAA,WAAA;AAgCA,mCAAA,WAAA;AAQA,uCAAA,UAAA;AAIA;;;;AAIG;AACH,8BAAA,KAAA;AACA;AASA;;;;;;;;;AASG;AACH,sCAAA,WAAA;AAWA;;;;;AAKG;AACH;AAMA;;;;;AAKG;AACH;AAIA;;;;;AAKG;AACH;AAIA;;;;AAIG;AACH;AAMA;;;;;;AAMG;AACH;AAeA;;;;;;AAMG;AACH;AAUA;;;;;;AAMG;AACH;AAaA;;;;;;AAMG;AACH;AAgCA;;;;;;;;AAQG;AACH;AAkBA;;;;;;;AAOG;AACH;AAOA;;;;;AAKG;AACH;AAOA;;;;AAIG;AACH;AAUA;;;;AAIG;AACH;AAcA;;;AAGG;AACH;;;;;;;;;;;;;;AAGH;;ACjlBD,cAAA,QAAA,mBAAA,gBAAA,SAAA,oBAAA;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../eui-menu/eui-menu-item.component.ts","../../eui-menu/eui-menu.component.ts","../../eui-menu/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;AA6BA,cAAA,oBAAA,YAAA,MAAA,EAAA,SAAA,EAAA,eAAA;AAkB8B;AACM;;AAMF;;;;;;AAgBrB;AACC,kBAAA,YAAA,CAAA,WAAA;AACA,eAAA,YAAA,CAAA,WAAA;AAEV;AACA;AAEA;AACA;AACA;AACA;;;;;;;;;AAWA;AAQA,yBAAA,aAAA;AAaO,2BAAA,UAAA;;AAYA,mBAAA,UAAA,GAAA,aAAA;AAMA,0BAAA,KAAA;AAKA,6BAAA,UAAA;AAKA,+BAAA,aAAA;AAOA;AAKP;AAIO;AAIP;;;AAGG;AACH;AAUA;;;AAGG;AACH;AAIA;AAMA;AAQA;;;AAGG;AACH;;;;;;;;;;AAOH;;AC7KD,cAAA,gBAAA,YAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA;AAcwC,mCAAA,SAAA,CAAA,oBAAA;AACY,2BAAA,UAAA,CAAA,gBAAA;AACJ,aAAA,UAAA,CAAA,gBAAA;;;;;;AAgBnC;AAE+B;AACA;AACA;AACA;AACA;AACA;AACA;AACxC;;;AAGG;AACqC;AACA;AACA;AACA;AAE9B,aAAA,YAAA;AACA,eAAA,YAAA,CAAA,WAAA;AACA,kBAAA,YAAA,CAAA,WAAA;;;;;;;AAUV,2BAAA,UAAA;AAIA,qBAAA,aAAA;AA2GA,yBAAA,aAAA;AA4CA;AAiBA;AAUA;AAMA,4BAAA,WAAA;AAgCA,mCAAA,WAAA;AAQA,uCAAA,UAAA;AAIA;;;;AAIG;AACH,8BAAA,KAAA;AACA;AASA;;;;;;;;;AASG;AACH,sCAAA,WAAA;AAWA;;;;;AAKG;AACH;AAMA;;;;;AAKG;AACH;AAIA;;;;;AAKG;AACH;AAIA;;;;AAIG;AACH;AAMA;;;;;;AAMG;AACH;AAeA;;;;;;AAMG;AACH;AAUA;;;;;;AAMG;AACH;AAaA;;;;;;AAMG;AACH;AAgCA;;;;;;;;AAQG;AACH;AAkBA;;;;;;;AAOG;AACH;AAOA;;;;;AAKG;AACH;AAOA;;;;AAIG;AACH;AAUA;;;;AAIG;AACH;AAcA;;;AAGG;AACH;;;;;;;;;;;;;;AAGH;;ACllBD,cAAA,QAAA,mBAAA,gBAAA,SAAA,oBAAA;;;;"}
@@ -211,6 +211,18 @@ declare class EuiTreeComponent implements OnInit, OnChanges, OnDestroy {
211
211
  * @default false
212
212
  */
213
213
  highlightPath: boolean;
214
+ /**
215
+ * Treshold for the virtual scroll to be activated
216
+ *
217
+ * @default 800
218
+ */
219
+ virtualScrollThreshold: number;
220
+ /**
221
+ * Size of the virtaul scroll pages
222
+ *
223
+ * @default 400
224
+ */
225
+ virtualScrollPageSize: number;
214
226
  selectionChange: EventEmitter<EuiTreeSelectionChanges>;
215
227
  nodeClick: EventEmitter<TreeItemModel>;
216
228
  nodeToggle: EventEmitter<TreeItemModel>;
@@ -289,7 +301,7 @@ declare class EuiTreeComponent implements OnInit, OnChanges, OnDestroy {
289
301
  private checkIfMultiLevel;
290
302
  private checkIfCurrentScrollable;
291
303
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiTreeComponent, never>;
292
- static ɵcmp: i0.ɵɵComponentDeclaration<EuiTreeComponent, "eui-tree", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "nodes": { "alias": "nodes"; "required": false; }; "nodeTemplateRef": { "alias": "nodeTemplateRef"; "required": false; }; "nodeContentMetadataTemplateRef": { "alias": "nodeContentMetadataTemplateRef"; "required": false; }; "rightContextMenuTemplateRef": { "alias": "rightContextMenuTemplateRef"; "required": false; }; "customNodeSelectFn": { "alias": "customNodeSelectFn"; "required": false; }; "expandedSvgIconClass": { "alias": "expandedSvgIconClass"; "required": false; }; "collapsedSvgIconClass": { "alias": "collapsedSvgIconClass"; "required": false; }; "isClickTogglingNode": { "alias": "isClickTogglingNode"; "required": false; }; "isMultiselect": { "alias": "isMultiselect"; "required": false; }; "isSingleSelect": { "alias": "isSingleSelect"; "required": false; }; "isRecursiveSelection": { "alias": "isRecursiveSelection"; "required": false; }; "isRecursiveParentSelection": { "alias": "isRecursiveParentSelection"; "required": false; }; "showUnderlinedLinks": { "alias": "showUnderlinedLinks"; "required": false; }; "showLines": { "alias": "showLines"; "required": false; }; "autoTranslate": { "alias": "autoTranslate"; "required": false; }; "highlightPath": { "alias": "highlightPath"; "required": false; }; }, { "selectionChange": "selectionChange"; "nodeClick": "nodeClick"; "nodeToggle": "nodeToggle"; }, never, never, true, never>;
304
+ static ɵcmp: i0.ɵɵComponentDeclaration<EuiTreeComponent, "eui-tree", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "nodes": { "alias": "nodes"; "required": false; }; "nodeTemplateRef": { "alias": "nodeTemplateRef"; "required": false; }; "nodeContentMetadataTemplateRef": { "alias": "nodeContentMetadataTemplateRef"; "required": false; }; "rightContextMenuTemplateRef": { "alias": "rightContextMenuTemplateRef"; "required": false; }; "customNodeSelectFn": { "alias": "customNodeSelectFn"; "required": false; }; "expandedSvgIconClass": { "alias": "expandedSvgIconClass"; "required": false; }; "collapsedSvgIconClass": { "alias": "collapsedSvgIconClass"; "required": false; }; "isClickTogglingNode": { "alias": "isClickTogglingNode"; "required": false; }; "isMultiselect": { "alias": "isMultiselect"; "required": false; }; "isSingleSelect": { "alias": "isSingleSelect"; "required": false; }; "isRecursiveSelection": { "alias": "isRecursiveSelection"; "required": false; }; "isRecursiveParentSelection": { "alias": "isRecursiveParentSelection"; "required": false; }; "showUnderlinedLinks": { "alias": "showUnderlinedLinks"; "required": false; }; "showLines": { "alias": "showLines"; "required": false; }; "autoTranslate": { "alias": "autoTranslate"; "required": false; }; "highlightPath": { "alias": "highlightPath"; "required": false; }; "virtualScrollThreshold": { "alias": "virtualScrollThreshold"; "required": false; }; "virtualScrollPageSize": { "alias": "virtualScrollPageSize"; "required": false; }; }, { "selectionChange": "selectionChange"; "nodeClick": "nodeClick"; "nodeToggle": "nodeToggle"; }, never, never, true, never>;
293
305
  static ngAcceptInputType_isClickTogglingNode: unknown;
294
306
  static ngAcceptInputType_isMultiselect: unknown;
295
307
  static ngAcceptInputType_isSingleSelect: unknown;
@@ -299,6 +311,8 @@ declare class EuiTreeComponent implements OnInit, OnChanges, OnDestroy {
299
311
  static ngAcceptInputType_showLines: unknown;
300
312
  static ngAcceptInputType_autoTranslate: unknown;
301
313
  static ngAcceptInputType_highlightPath: unknown;
314
+ static ngAcceptInputType_virtualScrollThreshold: unknown;
315
+ static ngAcceptInputType_virtualScrollPageSize: unknown;
302
316
  }
303
317
 
304
318
  declare class EuiDropdownTreeDirective implements AfterContentInit, AfterViewInit {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../eui-tree/eui-tree.model.ts","../../eui-tree/eui-tree.component.ts","../../eui-tree/eui-dropdown-tree.directive.ts","../../eui-tree/eui-tree-form-control.directive.ts","../../eui-tree/eui-tree-helper.ts","../../eui-tree/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;AAIM;;;;AAKA;AAIF;;;AAKA;;;;;;;;;;;;AAQwE;;;;AAIxE;;;;;;;AAIuD;;;;;AACqB;;;;AAS5E;AACH;AAEK;;;;;;AAQA;;;;AAUL;;;;AAWA;;;AAIA;AAEK;;;AAIA;;;;;;AAIA;;;AAA4D;;;;AAE5D;;AAEF;;AAGE;AAGN;AAiCA;;;;;;;AAQgB;AASL;;;AAAgD;AAOhD;;;AAAgD;AAOhD;AAIA;AAIA;AAIA;;;AAA+C;AASzD;AAED;AAGgB;AAAQ;;;AAWpB;AAIA;AAIH;AAEK;;ACrKN;;;;;AAKG;AACH;;AA8B2C;AACvC;;AAEG;;AAEH;;AAEG;AAGM;AAGA;AAGA;;AAET;;;;AAIG;AACM;AACT;;;;AAIG;AACM;;AAGkC;AAE3C;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AAE9B;AACA;AACA;AACV;AACA;;;AAGA;;;;;;;;;;;;;AAcA;AAIA;AAWA;AASA;AAIA;;AAYA;AAIA;AAgBA;AAKA;AAQA;AAKA;AA0BA;;;AA+DA;;;;AA6HA;AAcA;AAkDA;AAUA;AAoDA;AAsDA;AAIA;AAeA;AAIA;AAIA;AAMA;AAiBA;AAKA;AAoBA;AAmBA;AA6BA;AAYA;AAYA;AASA;AAYA;AAeA;AAoBA;AASA;AAWA;AAIA;AAqBA;AAcA;AAsBA;AAOA;AAMA;AAWA;AAeA;AAwBA;AAIA;AAcA;AAgBA;AAWA;AAUA;;;;;;;;;;;;AAGH;;AC7hCD;AAMa;;;;;;;;AAUT;AASA;AAqBA;;;AASH;;ACjED;;;;AAmBa;AAKA;AAMT;AAaA;AAMA;AAIA;;;AAKH;;AC9DD;AACI;AAEY;;AAiBL;AAQA;AAMP;AA0BA;AAeA;AAoBH;;ACzFD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../eui-tree/eui-tree.model.ts","../../eui-tree/eui-tree.component.ts","../../eui-tree/eui-dropdown-tree.directive.ts","../../eui-tree/eui-tree-form-control.directive.ts","../../eui-tree/eui-tree-helper.ts","../../eui-tree/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;AAIM;;;;AAKA;AAIF;;;AAKA;;;;;;;;;;;;AAQwE;;;;AAIxE;;;;;;;AAIuD;;;;;AACqB;;;;AAS5E;AACH;AAEK;;;;;;AAQA;;;;AAUL;;;;AAWA;;;AAIA;AAEK;;;AAIA;;;;;;AAIA;;;AAA4D;;;;AAE5D;;AAEF;;AAGE;AAGN;AAiCA;;;;;;;AAQgB;AASL;;;AAAgD;AAOhD;;;AAAgD;AAOhD;AAIA;AAIA;AAIA;;;AAA+C;AASzD;AAED;AAGgB;AAAQ;;;AAWpB;AAIA;AAIH;AAEK;;ACpKN;;;;;AAKG;AACH;;AA8B2C;AACvC;;AAEG;;AAEH;;AAEG;AAGM;AAGA;AAGA;;AAET;;;;AAIG;AACM;AACT;;;;AAIG;AACM;;AAGkC;AAE3C;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACqC;AACxC;;;;AAIG;AACoC;AACvC;;;;AAIG;AACoC;AAE7B;AACA;AACA;AACV;AACA;;;AAGA;;;;;;;;;;;;;AAcA;AAIA;AAWA;AASA;AAIA;;AAYA;AAIA;AAgBA;AAKA;AAQA;AAKA;AAmCA;;;AA+DA;;;;AA6HA;AAcA;AAkDA;AAUA;AAoDA;AAsDA;AAIA;AAeA;AAIA;AAIA;AAMA;AAiBA;AAKA;AAoBA;AAmBA;AA6BA;AAYA;AAYA;AASA;AAYA;AAeA;AAoBA;AASA;AAWA;AAIA;AAqBA;AAcA;AAsBA;AAOA;AAMA;AAWA;AAeA;AAwBA;AAIA;AAcA;AAgBA;AAWA;AAUA;;;;;;;;;;;;;;AAGH;;ACnjCD;AAMa;;;;;;;;AAUT;AASA;AAqBA;;;AASH;;ACjED;;;;AAmBa;AAKA;AAMT;AAaA;AAMA;AAIA;;;AAKH;;AC9DD;AACI;AAEY;;AAiBL;AAQA;AAMP;AA0BA;AAeA;AAoBH;;ACzFD;;;"}
@@ -757,7 +757,7 @@ class EuiDatepickerComponent {
757
757
  this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);
758
758
  }
759
759
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
760
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiDatepickerComponent, isStandalone: true, selector: "eui-datepicker", inputs: { e2eAttr: "e2eAttr", value: "value", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", placeholder: "placeholder", type: "type", startView: "startView", minDate: "minDate", maxDate: "maxDate", datepickerFilter: "datepickerFilter", dateOutputFormat: "dateOutputFormat", customHeader: "customHeader", dateClass: "dateClass", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSeconds: "stepSeconds", inputId: "inputId", isDatetimepicker: ["isDatetimepicker", "isDatetimepicker", booleanAttribute], hasSeconds: ["hasSeconds", "hasSeconds", booleanAttribute], isOneInputField: ["isOneInputField", "isOneInputField", booleanAttribute], hasNoButton: ["hasNoButton", "hasNoButton", booleanAttribute], isDatepickerBlock: ["isDatepickerBlock", "isDatepickerBlock", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInputDisabled: ["isInputDisabled", "isInputDisabled", booleanAttribute], isButtonDisabled: ["isButtonDisabled", "isButtonDisabled", booleanAttribute], isPickerDisabled: ["isPickerDisabled", "isPickerDisabled", booleanAttribute], isShownOnInputClick: ["isShownOnInputClick", "isShownOnInputClick", booleanAttribute], isClearable: "isClearable", restrictToRegex: "restrictToRegex" }, outputs: { inputChange: "inputChange", dateSelect: "dateSelect" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "euiActionButtons", first: true, predicate: i0.forwardRef(() => EuiActionButtonsDirective), descendants: true }], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, static: true }, { propertyName: "templatePortalRef", first: true, predicate: ["templatePortalRef"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n }\n </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-disabled)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-danger-surface-light)}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: i5.EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: ["e2eAttr"] }, { kind: "component", type: i5.EuiInputGroupAddOnComponent, selector: "div[euiInputGroupAddOn], eui-input-group-addon", inputs: ["e2eAttr"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }], encapsulation: i0.ViewEncapsulation.None }); }
760
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiDatepickerComponent, isStandalone: true, selector: "eui-datepicker", inputs: { e2eAttr: "e2eAttr", value: "value", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", placeholder: "placeholder", type: "type", startView: "startView", minDate: "minDate", maxDate: "maxDate", datepickerFilter: "datepickerFilter", dateOutputFormat: "dateOutputFormat", customHeader: "customHeader", dateClass: "dateClass", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSeconds: "stepSeconds", inputId: "inputId", isDatetimepicker: ["isDatetimepicker", "isDatetimepicker", booleanAttribute], hasSeconds: ["hasSeconds", "hasSeconds", booleanAttribute], isOneInputField: ["isOneInputField", "isOneInputField", booleanAttribute], hasNoButton: ["hasNoButton", "hasNoButton", booleanAttribute], isDatepickerBlock: ["isDatepickerBlock", "isDatepickerBlock", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInputDisabled: ["isInputDisabled", "isInputDisabled", booleanAttribute], isButtonDisabled: ["isButtonDisabled", "isButtonDisabled", booleanAttribute], isPickerDisabled: ["isPickerDisabled", "isPickerDisabled", booleanAttribute], isShownOnInputClick: ["isShownOnInputClick", "isShownOnInputClick", booleanAttribute], isClearable: "isClearable", restrictToRegex: "restrictToRegex" }, outputs: { inputChange: "inputChange", dateSelect: "dateSelect" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "euiActionButtons", first: true, predicate: i0.forwardRef(() => EuiActionButtonsDirective), descendants: true }], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, static: true }, { propertyName: "templatePortalRef", first: true, predicate: ["templatePortalRef"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n }\n </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m));padding-right:unset}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-disabled)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-danger-surface-light)}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: i5.EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: ["e2eAttr"] }, { kind: "component", type: i5.EuiInputGroupAddOnComponent, selector: "div[euiInputGroupAddOn], eui-input-group-addon", inputs: ["e2eAttr"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }], encapsulation: i0.ViewEncapsulation.None }); }
761
761
  }
762
762
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiDatepickerComponent, decorators: [{
763
763
  type: Component,
@@ -781,7 +781,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3",
781
781
  'euiVariant',
782
782
  ],
783
783
  },
784
- ], template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n }\n </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-disabled)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-danger-surface-light)}\n"] }]
784
+ ], template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n }\n </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m));padding-right:unset}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-disabled)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-danger-surface-light)}\n"] }]
785
785
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
786
786
  type: HostBinding,
787
787
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-datepicker.mjs","sources":["../../eui-datepicker/eui-datepicker.component.ts","../../eui-datepicker/eui-datepicker.component.html","../../eui-datepicker/eui-datepicker.validators.ts","../../eui-datepicker/index.ts","../../eui-datepicker/eui-components-eui-datepicker.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n DoCheck,\n OnInit,\n Output,\n SimpleChanges,\n StaticProvider,\n ViewChild,\n ViewEncapsulation,\n Directive,\n forwardRef,\n HostBinding,\n ContentChild,\n AfterViewInit,\n TemplateRef,\n ViewContainerRef,\n ComponentRef,\n booleanAttribute,\n inject,\n ElementRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n MatCalendarCellClassFunction,\n MatDatepicker,\n MatDatepickerInputEvent,\n MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n parse: {\n dateInput: 'L',\n },\n display: {\n dateInput: 'L',\n monthYearLabel: 'MM/YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'LL',\n },\n};\n\n@Component({\n selector: 'eui-datepicker',\n templateUrl: './eui-datepicker.component.html',\n styleUrl: './eui-datepicker.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n MatDatepickerModule,\n FormsModule,\n\n ReactiveFormsModule,\n TranslateModule,\n ...EUI_INPUT_TEXT,\n ...EUI_INPUT_GROUP,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n baseStatesDirective = inject(BaseStatesDirective);\n euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-datepicker'),\n this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n public inputFormControl = new FormControl();\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isLtDesktop: false,\n isDesktop: false,\n isXL: false,\n isXXL: false,\n };\n showDateButton = true;\n timePickerInstance: EuiTimepickerComponent;\n @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n /**\n * Event emitted when there is a change in the input value.\n */\n @Output() inputChange = new EventEmitter<any>();\n /**\n * Event emitted upon date selection.\n */\n @Output() dateSelect = new EventEmitter<any>();\n /**\n * Sets the default value of the input field.\n */\n @Input() value: any;\n /**\n * Sets the svg icon for the calendar toggler button.\n * @default 'eui-calendar'\n */\n @Input() togglerIconSvg = 'eui-calendar';\n /**\n * Sets the name of the calendar toggler button label.\n * @type {string}\n */\n @Input() togglerLabel: string;\n /**\n * Sets the placeholder of the input field.\n * @type {string}\n */\n @Input() placeholder: string;\n /**\n * Sets the type of the calendar.\n * @type {('year' | 'month' | 'regular')}\n * @default 'regular'\n */\n @Input() type: 'year' | 'month' | 'regular' = 'regular';\n /**\n * Sets the starting view of the calendar.\n * @type {('month' | 'year' | 'multi-year')}\n * @default 'month'\n */\n @Input() startView: 'month' | 'year' | 'multi-year';\n /**\n * Sets minimum date in the calendar.\n */\n @Input() minDate: any;\n /**\n * Sets maximum date in the calendar.\n */\n @Input() maxDate: any;\n /**\n * Provides date validation based on the boolean value returned from the function.\n * @param {any} d - The date type which is chosen by the adapter used.\n * @returns {boolean} - Returns true if the date is valid, otherwise false.\n */\n @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n /**\n * Sets the date output format.\n * @type {string}\n */\n @Input() dateOutputFormat: string;\n /**\n * Option to replace the current calendar header by a new one specified through a component class.\n */\n @Input() customHeader: any;\n /**\n * Option to apply one or more css classes to some dates in the calendar.\n * @type {MatCalendarCellClassFunction<any>}\n */\n @Input() dateClass: MatCalendarCellClassFunction<any>;\n /**\n * Sets the step for increasing/decreasing hours.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * Sets the step for increasing/decreasing minutes.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * Sets the step for increasing/decreasing seconds.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * Sets a unique id for the input field.\n * @default 'eui-datepicker-<uniqueId>'\n */\n @Input() inputId = `eui-datepicker-${uniqueId()}`;\n /**\n * Option to inject timepicker into the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n /**\n * Option for adding seconds in the calendar timepicker view.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n /**\n * Option for enabling a one input field timepicker in the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isOneInputField = false;\n /**\n * Option for hiding the calendar button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasNoButton = false;\n /**\n * Option for making the input field responsive.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n /**\n * Option for making the input field read-only.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n /**\n * Option for disabling the whole component.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Option for disabling only the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isInputDisabled = false;\n /**\n * Option for disabling only the trigger button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n /**\n * Option for disabling the calendar picker.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n /**\n * Option for opening the calendar upon clicking in the input field.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n /**\n * Sets the clearable attribute for the input field when read-only is false.\n * @default false\n */\n @Input()\n get isClearable(): boolean {\n return this._isClearable && !this.isReadOnly;\n }\n set isClearable(value: BooleanInput) {\n this._isClearable = coerceBooleanProperty(value);\n }\n private _isClearable = false;\n /**\n * Option for restricting the input value to a specific regex pattern.\n * @type {string | RegExp}\n * @default null\n */\n @Input()\n get restrictToRegex(): RegExp {\n return this._restrictToRegex;\n }\n set restrictToRegex(value: string | RegExp) {\n try {\n if (value instanceof RegExp) {\n this._restrictToRegex = value;\n } else if (typeof value === 'string') {\n this._restrictToRegex = new RegExp(value);\n } else {\n throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n }\n } catch (e) {\n console.error(e);\n }\n }\n private _restrictToRegex: RegExp;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimepickerComponent>;\n private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n private isNull = false;\n private adapter = inject<DateAdapter<any>>(DateAdapter);\n private translateService = inject(TranslateService);\n private localeService = injectOptional(LocaleService);\n private EuiAppShellService = inject(EuiAppShellService);\n private injector = inject(Injector);\n private appRef = inject(ApplicationRef);\n private viewContainerRef = inject(ViewContainerRef);\n private control = inject(NgControl, { self: true, optional: true })!;\n\n constructor() {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.inputFormControl.setValue(this.value);\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n this.localeService\n ?.getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.checkTimePickerValidity();\n });\n }\n\n if (!this.placeholder) {\n if (this.type === 'regular' && !this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'regular' && this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.ISDATETIMEPICKER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'year') {\n this.translateService\n .stream('eui.datepicker.YEAR-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'month') {\n this.translateService\n .stream('eui.datepicker.MONTH-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n }\n }\n\n this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngAfterViewInit(): void {\n if (this.euiActionButtons) {\n this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n }\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar['closeCalendar'] = this.calendar.close;\n this.calendar.close = (): boolean => false;\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['isReadOnly']) {\n if (this.isReadOnly) {\n this.showDateButton = false;\n } else {\n this.showDateButton = true;\n }\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n\n if (changes && changes['value']) {\n this.inputFormControl.setValue(this.value);\n } else {\n if (this.dateOutputFormat && this.value) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n }\n }\n\n if (changes && changes['isClearable']) {\n // when is clearable is used listen if onclear is fired and update the value\n if (this.isClearable) {\n this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n if (event === null) {\n this.value = event;\n this.propagateChange(event);\n }\n });\n }\n }\n }\n /**\n * Creates an injector for the timepicker component.\n * @param data - The data to be passed to the timepicker component.\n * @return {Injector} - The created injector.\n */\n createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n /**\n * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n * and creates the time config passed to the timepicker component.\n */\n openCalendar(): void {\n if (!this.isReadOnly) {\n this.calendar.open();\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar.opened = true;\n // listens to the keydown event once the calendar opened\n fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape': //closes the calendar on Escape\n this.closeCalendar();\n break;\n case 'Enter': {\n //closes the calendar if pressing Enter on the close calendar button only\n this.getEventPath(event).forEach((p: any) => {\n if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n this.closeCalendar();\n }\n });\n break;\n }\n }\n });\n }\n\n if (this.isDatetimepicker) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiDateTimePickerConfig = {\n hours: this.value && moment(this.value).hours(),\n mins: this.value && moment(this.value).minutes(),\n secs: this.value && moment(this.value).seconds(),\n isDatetimepicker: this.isDatetimepicker,\n hasSeconds: this.hasSeconds,\n isOneInputField: this.isOneInputField,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callbackFn: (hours: number, mins: number, secs: number) => {\n if (this.euiActionButtons) {\n this.value = moment();\n }\n\n this.value =\n typeof this.value === 'string'\n ? moment(this.value, moment.ISO_8601)\n : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (!this.euiActionButtons) {\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n },\n };\n\n this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timePickerInstance = componentRef.instance;\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.portalHost?.detach();\n }\n\n /**\n * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n * footer.\n */\n onOpened(): void {\n if (this.isDatetimepicker || this.euiActionButtons) {\n if (this.euiActionButtons) {\n this.calendar.registerActions(this.templatePortal);\n }\n\n this.calendar['_overlayRef']['_pane'].classList.add('eui-19');\n\n this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeCalendar();\n });\n }\n }\n\n /**\n * Retrieves the event path for a given event. This method provides a fallback\n * for browsers that do not support the `event.path` property by constructing\n * the path manually.\n *\n * @param event - The event object of type `KeyboardEvent`.\n * @returns An array representing the event path, starting from the event target\n * and traversing up through its ancestors, ending with the `document`\n * and `window` objects.\n */\n getEventPath(event: KeyboardEvent): EventTarget[] {\n if (event.composedPath) {\n return event.composedPath();\n }\n\n // Fallback for browsers that do not support composedPath()\n const path: EventTarget[] = [];\n let target: EventTarget | null = event.target as EventTarget;\n\n while (target) {\n path.push(target);\n target = (target as HTMLElement).parentNode as EventTarget;\n }\n\n path.push(document, window);\n\n return path;\n }\n /**\n * Fires when the type of the calendar is either month or year,\n * formats the date if dateOutputFormat used\n * emits and propagates the selected date value\n * and closes the calendar.\n * @param normalizedDate - The selected date in the calendar.\n * @param calendar - The MatDatepicker instance.\n */\n chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n if (this.dateOutputFormat) {\n const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n this.value = formattedValue;\n this.inputFormControl.setValue(formattedValue);\n\n this.propagateChange(formattedValue.format(this.dateOutputFormat));\n this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n } else {\n this.value = normalizedDate;\n this.inputFormControl.setValue(this.value);\n\n this.propagateChange(this.value);\n this.dateSelect.emit(this.value ? this.value : null);\n this.inputChange.emit(this.value ? this.value : null);\n }\n calendar.close();\n }\n /**\n * Method which returns true in order to mark the date as valid.\n * @returns {boolean} - Returns true if the date is valid.\n */\n public datepickerFiltering(): boolean {\n return true;\n }\n /**\n * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (!this.isDatetimepicker) {\n if (e.value === null) {\n this.propagateChange(null);\n this.inputChange.emit(null);\n } else if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.propagateChange(this.value.format(this.dateOutputFormat));\n this.inputChange.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.propagateChange(e.value);\n this.inputChange.emit(e?.value ? e.value : null);\n }\n this.propagateTouched();\n }\n }\n /**\n * Method which fires when there is a date change from the calendar popup,\n * formats, emits and propagates the new value also when isDatetimepicker true.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (e.value === null) {\n this.propagateChange(null);\n this.dateSelect.emit(null);\n this.isNull = true;\n } else {\n this.isNull = false;\n if (this.isDatetimepicker) {\n const hours = this.value && moment(this.value).hours();\n const mins = this.value && moment(this.value).minutes();\n const secs = this.value && moment(this.value).seconds();\n\n this.value = moment(e.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (this.calendar.opened) {\n this.inputFormControl.setValue(this.value);\n }\n\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n } else {\n if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.dateSelect.emit(e?.value ? e.value : null);\n }\n }\n }\n }\n /**\n * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n * @param e - The new value of the input field.\n */\n changedInput(e: string | Event): void {\n const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n if (!this.isNull) {\n this.value = moment(value, this.format.parse.dateInput);\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n /**\n * Method which fires when clearing the input field and emits/propagates the null value.\n */\n onClear(): void {\n this.dateSelect.emit(null);\n this.inputChange.emit(null);\n this.propagateChange(null);\n }\n /**\n * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n * @param e - The KeyboardEvent object.\n */\n onKeypress(e: KeyboardEvent): void {\n if (e.key === 'Enter' && this.isShownOnInputClick) {\n this.openCalendar();\n e.preventDefault();\n }\n\n if (this._restrictToRegex) {\n if (!this._restrictToRegex.test(e.key)) {\n e.preventDefault();\n }\n }\n }\n\n /**\n * Selects today's date\n */\n selectToday(): void {\n this.inputFormControl.setValue(moment());\n }\n\n /**\n * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n */\n closeCalendar(): void {\n this.calendar['closeCalendar']();\n\n if (this.euiActionButtons) {\n this.calendar.removeActions(this.templatePortal);\n }\n }\n\n /**\n * When eui-action-buttons used, it applies the date selection and closes the calendar\n */\n onDateSelectApply(): void {\n this.calendar._applyPendingSelection();\n this.closeCalendar();\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n this.inputFormControl.setValue(value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(value).format(this.dateOutputFormat));\n }\n }\n\n registerOnChange(fn: () => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n /**\n * Converts the type of the calendar to the corresponding start view.\n * @param type - The type of the calendar.\n * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n */\n convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n switch (type) {\n case 'month':\n return 'year';\n case 'year':\n return 'multi-year';\n case 'regular':\n return 'month';\n }\n }\n /**\n * Sets the disabled state of the component based on the boolean value passed.\n * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n */\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (isDisabled) {\n // disables only the input through reactive forms\n if (this.isInputDisabled && !this.isPickerDisabled) {\n this.isInputDisabled = true;\n this.isButtonDisabled = this.isPickerDisabled = false;\n // disables only the button through reactive forms\n } else if (this.isButtonDisabled && !this.isInputDisabled) {\n this.isInputDisabled = false;\n this.isButtonDisabled = this.isPickerDisabled = true;\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n }\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n }\n\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n }\n\n /**\n * Marks the form field as touched when focusing out to trigger validation\n */\n protected onFocusOut(): void {\n this.propagateTouched();\n }\n /**\n * Checks the validity of the time picker based on the minDate and maxDate properties.\n * If the value is outside the range, it adjusts the time picker values accordingly.\n */\n private checkTimePickerValidity(): void {\n if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(moment(this.value).toDate(), this.minDate))) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n\n if (!moment(this.minDate).isBefore(this.value)) {\n const hours = this.minDate.getHours();\n const minutes = this.minDate.getMinutes();\n const seconds = this.minDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n } else {\n this.timePickerInstance?.hoursDownDisable(false);\n this.timePickerInstance?.minutesDownDisable(false);\n this.timePickerInstance?.secondsDownDisable(false);\n }\n\n if (this.maxDate && (!moment(this.maxDate).isAfter(this.value) || this.areSameDates(moment(this.value).toDate(), this.maxDate))) {\n this.timePickerInstance.hoursUpDisable(true);\n this.timePickerInstance.minutesUpDisable(true);\n this.timePickerInstance.secondsUpDisable(true);\n\n if (!moment(this.maxDate).isAfter(this.value)) {\n const hours = this.maxDate.getHours();\n const minutes = this.maxDate.getMinutes();\n const seconds = this.maxDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n\n if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n moment(this.maxDate).hour() === 0 && moment(this.maxDate).minute() === 0 && moment(this.maxDate).second() === 0) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n } else {\n this.timePickerInstance.hoursDownDisable(false);\n this.timePickerInstance.minutesDownDisable(false);\n this.timePickerInstance.secondsDownDisable(false);\n }\n } else {\n this.timePickerInstance.hoursUpDisable(false);\n this.timePickerInstance.minutesUpDisable(false);\n this.timePickerInstance.secondsUpDisable(false);\n }\n }\n /**\n * Compares two dates and checks if they are the same.\n * @param date1 - The first date to compare.\n * @param date2 - The second date to compare.\n * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n */\n private areSameDates(date1: Date, date2: Date): boolean {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate() &&\n date1.getHours() === date2.getHours() &&\n date1.getMinutes() === date2.getMinutes() &&\n date1.getSeconds() === date2.getSeconds()\n );\n }\n\n private propagateChange = (_: any): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n\nexport const LETTER_FORMAT = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'LL',\n monthYearLabel: 'LL',\n },\n};\n\nexport const YEAR_FORMAT = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'YYYY',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Directive({\n selector: '[euiLetterFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n selector: '[euiYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n selector: '[euiMonthYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n","<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n }\n </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * @description\n * Validator that validates the date based on the provided format.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `invalidDate` if the validation check fails, otherwise `null`.\n */\nexport const dateInputValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null =>\n control.value === null ? { invalidDate: true } : null;\n","import { EuiActionButtonsDirective, EuiDatepickerComponent, EuiLetterFormatDirective, EuiMonthYearFormatDirective, EuiYearFormatDirective } from './eui-datepicker.component';\n\nexport * from './eui-datepicker.component';\nexport * from './eui-datepicker.validators';\n\nexport const EUI_DATEPICKER = [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_moment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AA2DA,MAAM,MAAM,GAAG,aAAa,IAAIA,aAAO;AAEhC,MAAM,eAAe,GAAG;AAC3B,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,GAAG;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,kBAAkB,EAAE,IAAI;AAC3B,KAAA;;MAgCQ,sBAAsB,CAAA;AAI/B,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,gBAAgB,CAAC;YACxD,IAAI,CAAC,iBAAiB,GAAG,4BAA4B,GAAG,EAAE;AAC7D,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;AAkKA;;;AAGG;AACH,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU;IAChD;IACA,IAAI,WAAW,CAAC,KAAmB,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC;IACpD;AAEA;;;;AAIG;AACH,IAAA,IACI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,gBAAgB;IAChC;IACA,IAAI,eAAe,CAAC,KAAsB,EAAA;AACtC,QAAA,IAAI;AACA,YAAA,IAAI,KAAK,YAAY,MAAM,EAAE;AACzB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;YACjC;AAAO,iBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;YAC7C;iBAAO;gBACH,MAAM,IAAI,KAAK,CAAC,CAAA,2DAAA,EAA8D,OAAO,KAAK,CAAA,CAAE,CAAC;YACjG;QACJ;QAAE,OAAO,CAAC,EAAE;AACR,YAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACpB;IACJ;AAmBA,IAAA,WAAA,GAAA;AA/NA,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACjD,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;QAUhC,IAAA,CAAA,OAAO,GAAG,gBAAgB;AAE1D,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,WAAW,EAAE;AACpC,QAAA,IAAA,CAAA,gBAAgB,GAAQ;AAC3B,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,KAAK;SACf;QACD,IAAA,CAAA,cAAc,GAAG,IAAI;AAOrB;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AAC/C;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAO;AAK9C;;;AAGG;QACM,IAAA,CAAA,cAAc,GAAG,cAAc;AAWxC;;;;AAIG;QACM,IAAA,CAAA,IAAI,GAAiC,SAAS;AAevD;;;;AAIG;AACM,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,CAAC,mBAAmB;AAezE;;;AAGG;QACM,IAAA,CAAA,SAAS,GAAG,CAAC;AACtB;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,CAAC;AACxB;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,CAAC;AACxB;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,CAAA,eAAA,EAAkB,QAAQ,EAAE,EAAE;AACjD;;;AAGG;QACqC,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAChE;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAC1D;;;AAGG;QACqC,IAAA,CAAA,eAAe,GAAG,KAAK;AAC/D;;;AAGG;QACqC,IAAA,CAAA,WAAW,GAAG,KAAK;AAC3D;;;AAGG;QACqC,IAAA,CAAA,iBAAiB,GAAG,KAAK;AACjE;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAC1D;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAC1D;;;AAGG;QACqC,IAAA,CAAA,eAAe,GAAG,KAAK;AAC/D;;;AAGG;QACqC,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAChE;;;AAGG;QACqC,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAChE;;;AAGG;QACqC,IAAA,CAAA,mBAAmB,GAAG,IAAI;QAY1D,IAAA,CAAA,YAAY,GAAG,KAAK;AA0BpB,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QACnD,IAAA,CAAA,MAAM,GAAmB,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAIrE,IAAA,CAAA,MAAM,GAAG,KAAK;AACd,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAmB,WAAW,CAAC;AAC/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;AAC7C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;AAwkB5D,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAM,KAAU,EAAa,CAAC;AAEjD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAW,EAAa,CAAC;AAvkBhD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;QACrC;IACJ;IAEA,QAAQ,GAAA;QACJ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;QAE1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAEvF,QAAA,IAAI,CAAC;AACD,cAAE,QAAQ;AACT,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACpC,QAAA,CAAC,CAAC;AAEN,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;YACzD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAClF,IAAI,CAAC,uBAAuB,EAAE;AAClC,YAAA,CAAC,CAAC;QACN;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACnD,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,4BAA4B;AACnC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;iBAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzD,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,iCAAiC;AACxC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AAC7B,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,iCAAiC;AACxC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AAC9B,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,kCAAkC;AACzC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;QACJ;AAEA,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEvH,QAAA,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACrE,YAAA,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC;AACvD,QAAA,CAAC,CAAC;IACN;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC3F;QAEA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK;YACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAe,KAAK;QAC9C;IACJ;IAEA,SAAS,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;;;YAGd,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;;AAEvG,YAAA,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QACxH;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC/B;iBAAO;AACH,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC9B;QACJ;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C;aAAO;YACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;AACrC,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1E;QACJ;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;;AAEnC,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChE,oBAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,wBAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,wBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;oBAC/B;AACJ,gBAAA,CAAC,CAAC;YACN;QACJ;IACJ;AACA;;;;AAIG;AACH,IAAA,cAAc,CAAC,IAAS,EAAA;AACpB,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC;IACN;AACA;;;AAGG;IACH,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAEpB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAChD,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;;AAE3B,gBAAA,SAAS,CAAgB,QAAQ,EAAE,SAAS;AACvC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;AAChC,oBAAA,QAAQ,KAAK,CAAC,GAAG;wBACb,KAAK,QAAQ;4BACT,IAAI,CAAC,aAAa,EAAE;4BACpB;wBACJ,KAAK,OAAO,EAAE;;4BAEV,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,KAAI;AACxC,gCAAA,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,EAAE;oCAC1E,IAAI,CAAC,aAAa,EAAE;gCACxB;AACJ,4BAAA,CAAC,CAAC;4BACF;wBACJ;;AAER,gBAAA,CAAC,CAAC;YACV;AAEA,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CACjC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EACtC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CAChB;AACD,gBAAA,MAAM,UAAU,GAA4B;AACxC,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AAC/C,oBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAChD,oBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;oBAChD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,KAAI;AACtD,wBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,4BAAA,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE;wBACzB;AAEA,wBAAA,IAAI,CAAC,KAAK;AACN,4BAAA,OAAO,IAAI,CAAC,KAAK,KAAK;kCAChB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpC,kCAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACzD,wBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;4BACX,IAAI,EAAE,KAAK,IAAI,CAAC;4BAChB,MAAM,EAAE,IAAI,IAAI,CAAC;4BACjB,MAAM,EAAE,IAAI,IAAI,CAAC;AACpB,yBAAA,CAAC;AAEF,wBAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;4BACxB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1C,4BAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gCAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;4BAC1E;iCAAO;gCACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC5C;wBACJ;oBACJ,CAAC;iBACJ;AAED,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAChG,gBAAA,MAAM,YAAY,GAAyC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7G,gBAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,QAAQ;YACnD;QACJ;IACJ;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAE3B,QAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;IAC7B;AAEA;;;;AAIG;IACH,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAChD,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;YACtD;AAEA,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAE7D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBACzF,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,CAAC,CAAC;QACN;IACJ;AAEA;;;;;;;;;AASG;AACH,IAAA,YAAY,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,KAAK,CAAC,YAAY,EAAE;AACpB,YAAA,OAAO,KAAK,CAAC,YAAY,EAAE;QAC/B;;QAGA,MAAM,IAAI,GAAkB,EAAE;AAC9B,QAAA,IAAI,MAAM,GAAuB,KAAK,CAAC,MAAqB;QAE5D,OAAO,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACjB,YAAA,MAAM,GAAI,MAAsB,CAAC,UAAyB;QAC9D;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;AAE3B,QAAA,OAAO,IAAI;IACf;AACA;;;;;;;AAOG;IACH,iBAAiB,CAAC,cAAmB,EAAE,QAA4B,EAAA;AAC/D,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpE,YAAA,IAAI,CAAC,KAAK,GAAG,cAAc;AAC3B,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC;AAE9C,YAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtE;aAAO;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,cAAc;YAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAE1C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACpD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACzD;QACA,QAAQ,CAAC,KAAK,EAAE;IACpB;AACA;;;AAGG;IACI,mBAAmB,GAAA;AACtB,QAAA,OAAO,IAAI;IACf;AACA;;;AAGG;AACI,IAAA,WAAW,CAAC,CAAkD,EAAA;AACjE,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACxB,YAAA,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;AAAO,iBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC9B,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC9D,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnE;iBAAO;AACH,gBAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;YACpD;YACA,IAAI,CAAC,gBAAgB,EAAE;QAC3B;IACJ;AACA;;;;AAIG;AACI,IAAA,YAAY,CAAC,CAAkD,EAAA;AAClE,QAAA,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QACtB;aAAO;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AACtD,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AACvD,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAEvD,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACzD,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,KAAK,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAI,IAAI,CAAC;oBACjB,MAAM,EAAE,IAAI,IAAI,CAAC;AACpB,iBAAA,CAAC;AAEF,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9C;gBAEA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AAC7C,oBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1E;qBAAO;oBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C;YACJ;iBAAO;AACH,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnD,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClE;qBAAO;AACH,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnD;YACJ;QACJ;IACJ;AACA;;;AAGG;AACH,IAAA,YAAY,CAAC,CAAiB,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK;AAC9E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AAC7C,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1E;iBAAO;gBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C;QACJ;IACJ;AACA;;AAEG;IACH,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9B;AACA;;;;AAIG;AACH,IAAA,UAAU,CAAC,CAAgB,EAAA;QACvB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/C,IAAI,CAAC,YAAY,EAAE;YACnB,CAAC,CAAC,cAAc,EAAE;QACtB;AAEA,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACpC,CAAC,CAAC,cAAc,EAAE;YACtB;QACJ;IACJ;AAEA;;AAEG;IACH,WAAW,GAAA;QACP,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C;AAEA;;AAEG;IACH,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAEhC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;QACpD;IACJ;AAEA;;AAEG;IACH,iBAAiB,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;QACtC,IAAI,CAAC,aAAa,EAAE;IACxB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE;IACL;AAEA,IAAA,gBAAgB,CAAC,EAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;IAC7B;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC9B;AACA;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,IAAY,EAAA;QAC5B,QAAQ,IAAI;AACR,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,MAAM;AACjB,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,YAAY;AACvB,YAAA,KAAK,SAAS;AACV,gBAAA,OAAO,OAAO;;IAE1B;AACA;;;AAGG;AACI,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACxC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;QAC5B,IAAI,UAAU,EAAE;;YAEZ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;gBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK;;YAEzD;iBAAO,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACvD,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;YACxD;iBAAO;AACH,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;YAC/E;QACJ;aAAO;AACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK;QAChF;;QAGA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;IAC3F;AAEA;;AAEG;IACO,UAAU,GAAA;QAChB,IAAI,CAAC,gBAAgB,EAAE;IAC3B;AACA;;;AAGG;IACK,uBAAuB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9H,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAEhD,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAEzC,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,KAAK;AACrC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AACtC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AAC1C,gBAAA,CAAC,CAAC;AAEF,gBAAA,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACnI,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,KAAK,IAAI,CAAC;oBAChB,MAAM,EAAE,OAAO,IAAI,CAAC;oBACpB,MAAM,EAAE,OAAO,IAAI,CAAC;AACvB,iBAAA,CAAC;YACN;QACJ;aAAO;AACH,YAAA,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,KAAK,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC;AAClD,YAAA,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACtD;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;AAC7H,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC;AAC5C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAE9C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAEzC,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,KAAK;AACrC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AACtC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AAC1C,gBAAA,CAAC,CAAC;AAEF,gBAAA,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACnI,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,KAAK,IAAI,CAAC;oBAChB,MAAM,EAAE,OAAO,IAAI,CAAC;oBACpB,MAAM,EAAE,OAAO,IAAI,CAAC;AACvB,iBAAA,CAAC;YACN;YAEA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AACjF,gBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;AAC7G,gBAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChD,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpD;iBAAO;AACH,gBAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC/C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC;AACjD,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACrD;QACR;aAAO;AACH,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC;AAC7C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC/C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACnD;IACJ;AACA;;;;;AAKG;IACK,YAAY,CAAC,KAAW,EAAE,KAAW,EAAA;QACzC,QACI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;AAC3C,YAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;AACrC,YAAA,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;AACnC,YAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;AACrC,YAAA,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,UAAU,EAAE;YACzC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,UAAU,EAAE;IAEjD;AAMA;;;AAGG;AACK,IAAA,gCAAgC,CAAC,OAAkB,EAAA;AACvD,QAAA,IAAI,CAAC,wBAAwB,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;IACvF;qHAhzBS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAyHX,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAKhB,gBAAgB,2DAKhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAKhB,gBAAgB,CAAA,EAAA,iBAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAKhB,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAKhB,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAKhB,gBAAgB,2DAKhB,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAKhB,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAKhB,gBAAgB,CAAA,EAAA,mBAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAKhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MA9IL,yBAAyB,6UAF5B,UAAU,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjI1C,gwFA+DA,EAAA,MAAA,EAAA,CAAA,8oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDgBQ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEX,mBAAmB,iNACnB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,gDAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;kGAmBV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA7BlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACL,mBAAmB;wBACnB,WAAW;wBAEX,mBAAmB;wBACnB,eAAe;AACf,wBAAA,GAAG,cAAc;AACjB,wBAAA,GAAG,eAAe;AAClB,wBAAA,GAAG,UAAU;AACb,wBAAA,GAAG,QAAQ;qBACd,EAAA,cAAA,EACe;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,SAAS;gCACT,YAAY;gCACZ,WAAW;gCACX,YAAY;AACf,6BAAA;AACJ,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,gwFAAA,EAAA,MAAA,EAAA,CAAA,8oEAAA,CAAA,EAAA;wDAOG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAQmB,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBAaU,QAAQ,EAAA,CAAA;sBAAhD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACP,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB;gBACmB,QAAQ,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAEmB,gBAAgB,EAAA,CAAA;sBAA1E,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,yBAAyB,CAAC;gBAI/C,WAAW,EAAA,CAAA;sBAApB;gBAIS,UAAU,EAAA,CAAA;sBAAnB;gBAIQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAKQ,YAAY,EAAA,CAAA;sBAApB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAMQ,IAAI,EAAA,CAAA;sBAAZ;gBAMQ,SAAS,EAAA,CAAA;sBAAjB;gBAIQ,OAAO,EAAA,CAAA;sBAAf;gBAIQ,OAAO,EAAA,CAAA;sBAAf;gBAMQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAKQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAIQ,YAAY,EAAA,CAAA;sBAApB;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKQ,OAAO,EAAA,CAAA;sBAAf;gBAKuC,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,iBAAiB,EAAA,CAAA;sBAAxD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,mBAAmB,EAAA,CAAA;sBAA1D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAMlC,WAAW,EAAA,CAAA;sBADd;gBAcG,eAAe,EAAA,CAAA;sBADlB;;AAsnBE,MAAM,aAAa,GAAG;AACzB,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,IAAI;AAClB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,cAAc,EAAE,IAAI;AACvB,KAAA;;AAGE,MAAM,WAAW,GAAG;AACvB,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,MAAM;AACpB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,kBAAkB,EAAE,MAAM;AAC7B,KAAA;;AAGE,MAAM,iBAAiB,GAAG;AAC7B,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,SAAS;AACvB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,kBAAkB,EAAE,WAAW;AAClC,KAAA;;MAOQ,wBAAwB,CAAA;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAE1D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACtE,iBAAA;;MAOY,sBAAsB,CAAA;qHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFpB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAExD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACpE,iBAAA;;MAOY,2BAA2B,CAAA;qHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAFzB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAE9D,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAC1E,iBAAA;;AAGD;MAEa,yBAAyB,CAAA;AADtC,IAAA,WAAA,GAAA;QAE0B,IAAA,CAAA,KAAK,GAAG,gCAAgC;AAChE,IAAA;qHAFW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,SAAS;mBAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;8BAEnB,KAAK,EAAA,CAAA;sBAA1B,WAAW;uBAAC,OAAO;;;AE98BxB;;;;;;;;;;AAUG;AACI,MAAM,kBAAkB,GAAgB,CAAC,OAAwB,KACpE,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;ACT9C,MAAM,cAAc,GAAG;IACtB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,2BAA2B;IAC3B,yBAAyB;;;ACVjC;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-components-eui-datepicker.mjs","sources":["../../eui-datepicker/eui-datepicker.component.ts","../../eui-datepicker/eui-datepicker.component.html","../../eui-datepicker/eui-datepicker.validators.ts","../../eui-datepicker/index.ts","../../eui-datepicker/eui-components-eui-datepicker.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n DoCheck,\n OnInit,\n Output,\n SimpleChanges,\n StaticProvider,\n ViewChild,\n ViewEncapsulation,\n Directive,\n forwardRef,\n HostBinding,\n ContentChild,\n AfterViewInit,\n TemplateRef,\n ViewContainerRef,\n ComponentRef,\n booleanAttribute,\n inject,\n ElementRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n MatCalendarCellClassFunction,\n MatDatepicker,\n MatDatepickerInputEvent,\n MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId, injectOptional } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\nconst moment = _rollupMoment || _moment;\n\nexport const DEFAULT_FORMATS = {\n parse: {\n dateInput: 'L',\n },\n display: {\n dateInput: 'L',\n monthYearLabel: 'MM/YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'LL',\n },\n};\n\n@Component({\n selector: 'eui-datepicker',\n templateUrl: './eui-datepicker.component.html',\n styleUrl: './eui-datepicker.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n MatDatepickerModule,\n FormsModule,\n\n ReactiveFormsModule,\n TranslateModule,\n ...EUI_INPUT_TEXT,\n ...EUI_INPUT_GROUP,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n baseStatesDirective = inject(BaseStatesDirective);\n euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-datepicker'),\n this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n public inputFormControl = new FormControl();\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isLtDesktop: false,\n isDesktop: false,\n isXL: false,\n isXXL: false,\n };\n showDateButton = true;\n timePickerInstance: EuiTimepickerComponent;\n @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n /**\n * Event emitted when there is a change in the input value.\n */\n @Output() inputChange = new EventEmitter<any>();\n /**\n * Event emitted upon date selection.\n */\n @Output() dateSelect = new EventEmitter<any>();\n /**\n * Sets the default value of the input field.\n */\n @Input() value: any;\n /**\n * Sets the svg icon for the calendar toggler button.\n * @default 'eui-calendar'\n */\n @Input() togglerIconSvg = 'eui-calendar';\n /**\n * Sets the name of the calendar toggler button label.\n * @type {string}\n */\n @Input() togglerLabel: string;\n /**\n * Sets the placeholder of the input field.\n * @type {string}\n */\n @Input() placeholder: string;\n /**\n * Sets the type of the calendar.\n * @type {('year' | 'month' | 'regular')}\n * @default 'regular'\n */\n @Input() type: 'year' | 'month' | 'regular' = 'regular';\n /**\n * Sets the starting view of the calendar.\n * @type {('month' | 'year' | 'multi-year')}\n * @default 'month'\n */\n @Input() startView: 'month' | 'year' | 'multi-year';\n /**\n * Sets minimum date in the calendar.\n */\n @Input() minDate: any;\n /**\n * Sets maximum date in the calendar.\n */\n @Input() maxDate: any;\n /**\n * Provides date validation based on the boolean value returned from the function.\n * @param {any} d - The date type which is chosen by the adapter used.\n * @returns {boolean} - Returns true if the date is valid, otherwise false.\n */\n @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n /**\n * Sets the date output format.\n * @type {string}\n */\n @Input() dateOutputFormat: string;\n /**\n * Option to replace the current calendar header by a new one specified through a component class.\n */\n @Input() customHeader: any;\n /**\n * Option to apply one or more css classes to some dates in the calendar.\n * @type {MatCalendarCellClassFunction<any>}\n */\n @Input() dateClass: MatCalendarCellClassFunction<any>;\n /**\n * Sets the step for increasing/decreasing hours.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * Sets the step for increasing/decreasing minutes.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * Sets the step for increasing/decreasing seconds.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * Sets a unique id for the input field.\n * @default 'eui-datepicker-<uniqueId>'\n */\n @Input() inputId = `eui-datepicker-${uniqueId()}`;\n /**\n * Option to inject timepicker into the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n /**\n * Option for adding seconds in the calendar timepicker view.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n /**\n * Option for enabling a one input field timepicker in the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isOneInputField = false;\n /**\n * Option for hiding the calendar button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasNoButton = false;\n /**\n * Option for making the input field responsive.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n /**\n * Option for making the input field read-only.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n /**\n * Option for disabling the whole component.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Option for disabling only the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isInputDisabled = false;\n /**\n * Option for disabling only the trigger button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n /**\n * Option for disabling the calendar picker.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n /**\n * Option for opening the calendar upon clicking in the input field.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n /**\n * Sets the clearable attribute for the input field when read-only is false.\n * @default false\n */\n @Input()\n get isClearable(): boolean {\n return this._isClearable && !this.isReadOnly;\n }\n set isClearable(value: BooleanInput) {\n this._isClearable = coerceBooleanProperty(value);\n }\n private _isClearable = false;\n /**\n * Option for restricting the input value to a specific regex pattern.\n * @type {string | RegExp}\n * @default null\n */\n @Input()\n get restrictToRegex(): RegExp {\n return this._restrictToRegex;\n }\n set restrictToRegex(value: string | RegExp) {\n try {\n if (value instanceof RegExp) {\n this._restrictToRegex = value;\n } else if (typeof value === 'string') {\n this._restrictToRegex = new RegExp(value);\n } else {\n throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n }\n } catch (e) {\n console.error(e);\n }\n }\n private _restrictToRegex: RegExp;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimepickerComponent>;\n private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n private isNull = false;\n private adapter = inject<DateAdapter<any>>(DateAdapter);\n private translateService = inject(TranslateService);\n private localeService = injectOptional(LocaleService);\n private EuiAppShellService = inject(EuiAppShellService);\n private injector = inject(Injector);\n private appRef = inject(ApplicationRef);\n private viewContainerRef = inject(ViewContainerRef);\n private control = inject(NgControl, { self: true, optional: true })!;\n\n constructor() {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.inputFormControl.setValue(this.value);\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n this.localeService\n ?.getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.checkTimePickerValidity();\n });\n }\n\n if (!this.placeholder) {\n if (this.type === 'regular' && !this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'regular' && this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.ISDATETIMEPICKER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'year') {\n this.translateService\n .stream('eui.datepicker.YEAR-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'month') {\n this.translateService\n .stream('eui.datepicker.MONTH-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n }\n }\n\n this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngAfterViewInit(): void {\n if (this.euiActionButtons) {\n this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n }\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar['closeCalendar'] = this.calendar.close;\n this.calendar.close = (): boolean => false;\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['isReadOnly']) {\n if (this.isReadOnly) {\n this.showDateButton = false;\n } else {\n this.showDateButton = true;\n }\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n\n if (changes && changes['value']) {\n this.inputFormControl.setValue(this.value);\n } else {\n if (this.dateOutputFormat && this.value) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n }\n }\n\n if (changes && changes['isClearable']) {\n // when is clearable is used listen if onclear is fired and update the value\n if (this.isClearable) {\n this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n if (event === null) {\n this.value = event;\n this.propagateChange(event);\n }\n });\n }\n }\n }\n /**\n * Creates an injector for the timepicker component.\n * @param data - The data to be passed to the timepicker component.\n * @return {Injector} - The created injector.\n */\n createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n /**\n * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n * and creates the time config passed to the timepicker component.\n */\n openCalendar(): void {\n if (!this.isReadOnly) {\n this.calendar.open();\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar.opened = true;\n // listens to the keydown event once the calendar opened\n fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape': //closes the calendar on Escape\n this.closeCalendar();\n break;\n case 'Enter': {\n //closes the calendar if pressing Enter on the close calendar button only\n this.getEventPath(event).forEach((p: any) => {\n if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n this.closeCalendar();\n }\n });\n break;\n }\n }\n });\n }\n\n if (this.isDatetimepicker) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiDateTimePickerConfig = {\n hours: this.value && moment(this.value).hours(),\n mins: this.value && moment(this.value).minutes(),\n secs: this.value && moment(this.value).seconds(),\n isDatetimepicker: this.isDatetimepicker,\n hasSeconds: this.hasSeconds,\n isOneInputField: this.isOneInputField,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callbackFn: (hours: number, mins: number, secs: number) => {\n if (this.euiActionButtons) {\n this.value = moment();\n }\n\n this.value =\n typeof this.value === 'string'\n ? moment(this.value, moment.ISO_8601)\n : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (!this.euiActionButtons) {\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n },\n };\n\n this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timePickerInstance = componentRef.instance;\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.portalHost?.detach();\n }\n\n /**\n * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n * footer.\n */\n onOpened(): void {\n if (this.isDatetimepicker || this.euiActionButtons) {\n if (this.euiActionButtons) {\n this.calendar.registerActions(this.templatePortal);\n }\n\n this.calendar['_overlayRef']['_pane'].classList.add('eui-19');\n\n this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeCalendar();\n });\n }\n }\n\n /**\n * Retrieves the event path for a given event. This method provides a fallback\n * for browsers that do not support the `event.path` property by constructing\n * the path manually.\n *\n * @param event - The event object of type `KeyboardEvent`.\n * @returns An array representing the event path, starting from the event target\n * and traversing up through its ancestors, ending with the `document`\n * and `window` objects.\n */\n getEventPath(event: KeyboardEvent): EventTarget[] {\n if (event.composedPath) {\n return event.composedPath();\n }\n\n // Fallback for browsers that do not support composedPath()\n const path: EventTarget[] = [];\n let target: EventTarget | null = event.target as EventTarget;\n\n while (target) {\n path.push(target);\n target = (target as HTMLElement).parentNode as EventTarget;\n }\n\n path.push(document, window);\n\n return path;\n }\n /**\n * Fires when the type of the calendar is either month or year,\n * formats the date if dateOutputFormat used\n * emits and propagates the selected date value\n * and closes the calendar.\n * @param normalizedDate - The selected date in the calendar.\n * @param calendar - The MatDatepicker instance.\n */\n chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n if (this.dateOutputFormat) {\n const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n this.value = formattedValue;\n this.inputFormControl.setValue(formattedValue);\n\n this.propagateChange(formattedValue.format(this.dateOutputFormat));\n this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n } else {\n this.value = normalizedDate;\n this.inputFormControl.setValue(this.value);\n\n this.propagateChange(this.value);\n this.dateSelect.emit(this.value ? this.value : null);\n this.inputChange.emit(this.value ? this.value : null);\n }\n calendar.close();\n }\n /**\n * Method which returns true in order to mark the date as valid.\n * @returns {boolean} - Returns true if the date is valid.\n */\n public datepickerFiltering(): boolean {\n return true;\n }\n /**\n * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (!this.isDatetimepicker) {\n if (e.value === null) {\n this.propagateChange(null);\n this.inputChange.emit(null);\n } else if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.propagateChange(this.value.format(this.dateOutputFormat));\n this.inputChange.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.propagateChange(e.value);\n this.inputChange.emit(e?.value ? e.value : null);\n }\n this.propagateTouched();\n }\n }\n /**\n * Method which fires when there is a date change from the calendar popup,\n * formats, emits and propagates the new value also when isDatetimepicker true.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (e.value === null) {\n this.propagateChange(null);\n this.dateSelect.emit(null);\n this.isNull = true;\n } else {\n this.isNull = false;\n if (this.isDatetimepicker) {\n const hours = this.value && moment(this.value).hours();\n const mins = this.value && moment(this.value).minutes();\n const secs = this.value && moment(this.value).seconds();\n\n this.value = moment(e.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (this.calendar.opened) {\n this.inputFormControl.setValue(this.value);\n }\n\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n } else {\n if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.dateSelect.emit(e?.value ? e.value : null);\n }\n }\n }\n }\n /**\n * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n * @param e - The new value of the input field.\n */\n changedInput(e: string | Event): void {\n const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n if (!this.isNull) {\n this.value = moment(value, this.format.parse.dateInput);\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n /**\n * Method which fires when clearing the input field and emits/propagates the null value.\n */\n onClear(): void {\n this.dateSelect.emit(null);\n this.inputChange.emit(null);\n this.propagateChange(null);\n }\n /**\n * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n * @param e - The KeyboardEvent object.\n */\n onKeypress(e: KeyboardEvent): void {\n if (e.key === 'Enter' && this.isShownOnInputClick) {\n this.openCalendar();\n e.preventDefault();\n }\n\n if (this._restrictToRegex) {\n if (!this._restrictToRegex.test(e.key)) {\n e.preventDefault();\n }\n }\n }\n\n /**\n * Selects today's date\n */\n selectToday(): void {\n this.inputFormControl.setValue(moment());\n }\n\n /**\n * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n */\n closeCalendar(): void {\n this.calendar['closeCalendar']();\n\n if (this.euiActionButtons) {\n this.calendar.removeActions(this.templatePortal);\n }\n }\n\n /**\n * When eui-action-buttons used, it applies the date selection and closes the calendar\n */\n onDateSelectApply(): void {\n this.calendar._applyPendingSelection();\n this.closeCalendar();\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n this.inputFormControl.setValue(value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(value).format(this.dateOutputFormat));\n }\n }\n\n registerOnChange(fn: () => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n /**\n * Converts the type of the calendar to the corresponding start view.\n * @param type - The type of the calendar.\n * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n */\n convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n switch (type) {\n case 'month':\n return 'year';\n case 'year':\n return 'multi-year';\n case 'regular':\n return 'month';\n }\n }\n /**\n * Sets the disabled state of the component based on the boolean value passed.\n * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n */\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (isDisabled) {\n // disables only the input through reactive forms\n if (this.isInputDisabled && !this.isPickerDisabled) {\n this.isInputDisabled = true;\n this.isButtonDisabled = this.isPickerDisabled = false;\n // disables only the button through reactive forms\n } else if (this.isButtonDisabled && !this.isInputDisabled) {\n this.isInputDisabled = false;\n this.isButtonDisabled = this.isPickerDisabled = true;\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n }\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n }\n\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n }\n\n /**\n * Marks the form field as touched when focusing out to trigger validation\n */\n protected onFocusOut(): void {\n this.propagateTouched();\n }\n /**\n * Checks the validity of the time picker based on the minDate and maxDate properties.\n * If the value is outside the range, it adjusts the time picker values accordingly.\n */\n private checkTimePickerValidity(): void {\n if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(moment(this.value).toDate(), this.minDate))) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n\n if (!moment(this.minDate).isBefore(this.value)) {\n const hours = this.minDate.getHours();\n const minutes = this.minDate.getMinutes();\n const seconds = this.minDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n } else {\n this.timePickerInstance?.hoursDownDisable(false);\n this.timePickerInstance?.minutesDownDisable(false);\n this.timePickerInstance?.secondsDownDisable(false);\n }\n\n if (this.maxDate && (!moment(this.maxDate).isAfter(this.value) || this.areSameDates(moment(this.value).toDate(), this.maxDate))) {\n this.timePickerInstance.hoursUpDisable(true);\n this.timePickerInstance.minutesUpDisable(true);\n this.timePickerInstance.secondsUpDisable(true);\n\n if (!moment(this.maxDate).isAfter(this.value)) {\n const hours = this.maxDate.getHours();\n const minutes = this.maxDate.getMinutes();\n const seconds = this.maxDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n\n if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n moment(this.maxDate).hour() === 0 && moment(this.maxDate).minute() === 0 && moment(this.maxDate).second() === 0) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n } else {\n this.timePickerInstance.hoursDownDisable(false);\n this.timePickerInstance.minutesDownDisable(false);\n this.timePickerInstance.secondsDownDisable(false);\n }\n } else {\n this.timePickerInstance.hoursUpDisable(false);\n this.timePickerInstance.minutesUpDisable(false);\n this.timePickerInstance.secondsUpDisable(false);\n }\n }\n /**\n * Compares two dates and checks if they are the same.\n * @param date1 - The first date to compare.\n * @param date2 - The second date to compare.\n * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n */\n private areSameDates(date1: Date, date2: Date): boolean {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate() &&\n date1.getHours() === date2.getHours() &&\n date1.getMinutes() === date2.getMinutes() &&\n date1.getSeconds() === date2.getSeconds()\n );\n }\n\n private propagateChange = (_: any): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n\nexport const LETTER_FORMAT = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'LL',\n monthYearLabel: 'LL',\n },\n};\n\nexport const YEAR_FORMAT = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'YYYY',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Directive({\n selector: '[euiLetterFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n selector: '[euiYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n selector: '[euiMonthYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n","<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n }\n </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * @description\n * Validator that validates the date based on the provided format.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `invalidDate` if the validation check fails, otherwise `null`.\n */\nexport const dateInputValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null =>\n control.value === null ? { invalidDate: true } : null;\n","import { EuiActionButtonsDirective, EuiDatepickerComponent, EuiLetterFormatDirective, EuiMonthYearFormatDirective, EuiYearFormatDirective } from './eui-datepicker.component';\n\nexport * from './eui-datepicker.component';\nexport * from './eui-datepicker.validators';\n\nexport const EUI_DATEPICKER = [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_moment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AA2DA,MAAM,MAAM,GAAG,aAAa,IAAIA,aAAO;AAEhC,MAAM,eAAe,GAAG;AAC3B,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,GAAG;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,kBAAkB,EAAE,IAAI;AAC3B,KAAA;;MAgCQ,sBAAsB,CAAA;AAI/B,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,gBAAgB,CAAC;YACxD,IAAI,CAAC,iBAAiB,GAAG,4BAA4B,GAAG,EAAE;AAC7D,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;AAkKA;;;AAGG;AACH,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU;IAChD;IACA,IAAI,WAAW,CAAC,KAAmB,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC;IACpD;AAEA;;;;AAIG;AACH,IAAA,IACI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,gBAAgB;IAChC;IACA,IAAI,eAAe,CAAC,KAAsB,EAAA;AACtC,QAAA,IAAI;AACA,YAAA,IAAI,KAAK,YAAY,MAAM,EAAE;AACzB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;YACjC;AAAO,iBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;YAC7C;iBAAO;gBACH,MAAM,IAAI,KAAK,CAAC,CAAA,2DAAA,EAA8D,OAAO,KAAK,CAAA,CAAE,CAAC;YACjG;QACJ;QAAE,OAAO,CAAC,EAAE;AACR,YAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACpB;IACJ;AAmBA,IAAA,WAAA,GAAA;AA/NA,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACjD,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;QAUhC,IAAA,CAAA,OAAO,GAAG,gBAAgB;AAE1D,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,WAAW,EAAE;AACpC,QAAA,IAAA,CAAA,gBAAgB,GAAQ;AAC3B,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,KAAK;SACf;QACD,IAAA,CAAA,cAAc,GAAG,IAAI;AAOrB;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AAC/C;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAO;AAK9C;;;AAGG;QACM,IAAA,CAAA,cAAc,GAAG,cAAc;AAWxC;;;;AAIG;QACM,IAAA,CAAA,IAAI,GAAiC,SAAS;AAevD;;;;AAIG;AACM,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,CAAC,mBAAmB;AAezE;;;AAGG;QACM,IAAA,CAAA,SAAS,GAAG,CAAC;AACtB;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,CAAC;AACxB;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,CAAC;AACxB;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,CAAA,eAAA,EAAkB,QAAQ,EAAE,EAAE;AACjD;;;AAGG;QACqC,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAChE;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAC1D;;;AAGG;QACqC,IAAA,CAAA,eAAe,GAAG,KAAK;AAC/D;;;AAGG;QACqC,IAAA,CAAA,WAAW,GAAG,KAAK;AAC3D;;;AAGG;QACqC,IAAA,CAAA,iBAAiB,GAAG,KAAK;AACjE;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAC1D;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAC1D;;;AAGG;QACqC,IAAA,CAAA,eAAe,GAAG,KAAK;AAC/D;;;AAGG;QACqC,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAChE;;;AAGG;QACqC,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAChE;;;AAGG;QACqC,IAAA,CAAA,mBAAmB,GAAG,IAAI;QAY1D,IAAA,CAAA,YAAY,GAAG,KAAK;AA0BpB,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QACnD,IAAA,CAAA,MAAM,GAAmB,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAIrE,IAAA,CAAA,MAAM,GAAG,KAAK;AACd,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAmB,WAAW,CAAC;AAC/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;AAC7C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;AAwkB5D,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAM,KAAU,EAAa,CAAC;AAEjD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAW,EAAa,CAAC;AAvkBhD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;QACrC;IACJ;IAEA,QAAQ,GAAA;QACJ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;QAE1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAEvF,QAAA,IAAI,CAAC;AACD,cAAE,QAAQ;AACT,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACpC,QAAA,CAAC,CAAC;AAEN,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;YACzD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;gBAClF,IAAI,CAAC,uBAAuB,EAAE;AAClC,YAAA,CAAC,CAAC;QACN;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACnD,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,4BAA4B;AACnC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;iBAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzD,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,iCAAiC;AACxC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AAC7B,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,iCAAiC;AACxC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AAC9B,gBAAA,IAAI,CAAC;qBACA,MAAM,CAAC,kCAAkC;AACzC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,gBAAA,CAAC,CAAC;YACV;QACJ;AAEA,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEvH,QAAA,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACrE,YAAA,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC;AACvD,QAAA,CAAC,CAAC;IACN;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC3F;QAEA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK;YACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAe,KAAK;QAC9C;IACJ;IAEA,SAAS,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;;;YAGd,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;;AAEvG,YAAA,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QACxH;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC/B;iBAAO;AACH,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC9B;QACJ;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C;aAAO;YACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;AACrC,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1E;QACJ;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;;AAEnC,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChE,oBAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,wBAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,wBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;oBAC/B;AACJ,gBAAA,CAAC,CAAC;YACN;QACJ;IACJ;AACA;;;;AAIG;AACH,IAAA,cAAc,CAAC,IAAS,EAAA;AACpB,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC;IACN;AACA;;;AAGG;IACH,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAEpB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAChD,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;;AAE3B,gBAAA,SAAS,CAAgB,QAAQ,EAAE,SAAS;AACvC,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,qBAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;AAChC,oBAAA,QAAQ,KAAK,CAAC,GAAG;wBACb,KAAK,QAAQ;4BACT,IAAI,CAAC,aAAa,EAAE;4BACpB;wBACJ,KAAK,OAAO,EAAE;;4BAEV,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,KAAI;AACxC,gCAAA,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,EAAE;oCAC1E,IAAI,CAAC,aAAa,EAAE;gCACxB;AACJ,4BAAA,CAAC,CAAC;4BACF;wBACJ;;AAER,gBAAA,CAAC,CAAC;YACV;AAEA,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CACjC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EACtC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CAChB;AACD,gBAAA,MAAM,UAAU,GAA4B;AACxC,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AAC/C,oBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAChD,oBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;oBAChD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,KAAI;AACtD,wBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,4BAAA,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE;wBACzB;AAEA,wBAAA,IAAI,CAAC,KAAK;AACN,4BAAA,OAAO,IAAI,CAAC,KAAK,KAAK;kCAChB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpC,kCAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACzD,wBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;4BACX,IAAI,EAAE,KAAK,IAAI,CAAC;4BAChB,MAAM,EAAE,IAAI,IAAI,CAAC;4BACjB,MAAM,EAAE,IAAI,IAAI,CAAC;AACpB,yBAAA,CAAC;AAEF,wBAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;4BACxB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1C,4BAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gCAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;4BAC1E;iCAAO;gCACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC5C;wBACJ;oBACJ,CAAC;iBACJ;AAED,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAChG,gBAAA,MAAM,YAAY,GAAyC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7G,gBAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,QAAQ;YACnD;QACJ;IACJ;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAE3B,QAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;IAC7B;AAEA;;;;AAIG;IACH,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAChD,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;YACtD;AAEA,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAE7D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBACzF,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,CAAC,CAAC;QACN;IACJ;AAEA;;;;;;;;;AASG;AACH,IAAA,YAAY,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,KAAK,CAAC,YAAY,EAAE;AACpB,YAAA,OAAO,KAAK,CAAC,YAAY,EAAE;QAC/B;;QAGA,MAAM,IAAI,GAAkB,EAAE;AAC9B,QAAA,IAAI,MAAM,GAAuB,KAAK,CAAC,MAAqB;QAE5D,OAAO,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACjB,YAAA,MAAM,GAAI,MAAsB,CAAC,UAAyB;QAC9D;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;AAE3B,QAAA,OAAO,IAAI;IACf;AACA;;;;;;;AAOG;IACH,iBAAiB,CAAC,cAAmB,EAAE,QAA4B,EAAA;AAC/D,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpE,YAAA,IAAI,CAAC,KAAK,GAAG,cAAc;AAC3B,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC;AAE9C,YAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtE;aAAO;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,cAAc;YAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAE1C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACpD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACzD;QACA,QAAQ,CAAC,KAAK,EAAE;IACpB;AACA;;;AAGG;IACI,mBAAmB,GAAA;AACtB,QAAA,OAAO,IAAI;IACf;AACA;;;AAGG;AACI,IAAA,WAAW,CAAC,CAAkD,EAAA;AACjE,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACxB,YAAA,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;AAAO,iBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC9B,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC9D,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnE;iBAAO;AACH,gBAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;YACpD;YACA,IAAI,CAAC,gBAAgB,EAAE;QAC3B;IACJ;AACA;;;;AAIG;AACI,IAAA,YAAY,CAAC,CAAkD,EAAA;AAClE,QAAA,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QACtB;aAAO;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AACtD,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AACvD,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAEvD,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACzD,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,KAAK,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAI,IAAI,CAAC;oBACjB,MAAM,EAAE,IAAI,IAAI,CAAC;AACpB,iBAAA,CAAC;AAEF,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9C;gBAEA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AAC7C,oBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1E;qBAAO;oBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C;YACJ;iBAAO;AACH,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnD,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClE;qBAAO;AACH,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnD;YACJ;QACJ;IACJ;AACA;;;AAGG;AACH,IAAA,YAAY,CAAC,CAAiB,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK;AAC9E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AAC7C,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1E;iBAAO;gBACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C;QACJ;IACJ;AACA;;AAEG;IACH,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9B;AACA;;;;AAIG;AACH,IAAA,UAAU,CAAC,CAAgB,EAAA;QACvB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/C,IAAI,CAAC,YAAY,EAAE;YACnB,CAAC,CAAC,cAAc,EAAE;QACtB;AAEA,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACpC,CAAC,CAAC,cAAc,EAAE;YACtB;QACJ;IACJ;AAEA;;AAEG;IACH,WAAW,GAAA;QACP,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C;AAEA;;AAEG;IACH,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAEhC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;QACpD;IACJ;AAEA;;AAEG;IACH,iBAAiB,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;QACtC,IAAI,CAAC,aAAa,EAAE;IACxB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE;IACL;AAEA,IAAA,gBAAgB,CAAC,EAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;IAC7B;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC9B;AACA;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,IAAY,EAAA;QAC5B,QAAQ,IAAI;AACR,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,MAAM;AACjB,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,YAAY;AACvB,YAAA,KAAK,SAAS;AACV,gBAAA,OAAO,OAAO;;IAE1B;AACA;;;AAGG;AACI,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACxC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;QAC5B,IAAI,UAAU,EAAE;;YAEZ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;gBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK;;YAEzD;iBAAO,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACvD,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;YACxD;iBAAO;AACH,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;YAC/E;QACJ;aAAO;AACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK;QAChF;;QAGA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;IAC3F;AAEA;;AAEG;IACO,UAAU,GAAA;QAChB,IAAI,CAAC,gBAAgB,EAAE;IAC3B;AACA;;;AAGG;IACK,uBAAuB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9H,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAEhD,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAEzC,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,KAAK;AACrC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AACtC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AAC1C,gBAAA,CAAC,CAAC;AAEF,gBAAA,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACnI,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,KAAK,IAAI,CAAC;oBAChB,MAAM,EAAE,OAAO,IAAI,CAAC;oBACpB,MAAM,EAAE,OAAO,IAAI,CAAC;AACvB,iBAAA,CAAC;YACN;QACJ;aAAO;AACH,YAAA,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,KAAK,CAAC;AAChD,YAAA,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC;AAClD,YAAA,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACtD;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;AAC7H,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC;AAC5C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAE9C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAEzC,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,KAAK;AACrC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AACtC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO;AAC1C,gBAAA,CAAC,CAAC;AAEF,gBAAA,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AACnI,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,KAAK,IAAI,CAAC;oBAChB,MAAM,EAAE,OAAO,IAAI,CAAC;oBACpB,MAAM,EAAE,OAAO,IAAI,CAAC;AACvB,iBAAA,CAAC;YACN;YAEA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AACjF,gBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;AAC7G,gBAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChD,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpD;iBAAO;AACH,gBAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC/C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC;AACjD,gBAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACrD;QACR;aAAO;AACH,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC;AAC7C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC/C,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACnD;IACJ;AACA;;;;;AAKG;IACK,YAAY,CAAC,KAAW,EAAE,KAAW,EAAA;QACzC,QACI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;AAC3C,YAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;AACrC,YAAA,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;AACnC,YAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;AACrC,YAAA,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,UAAU,EAAE;YACzC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,UAAU,EAAE;IAEjD;AAMA;;;AAGG;AACK,IAAA,gCAAgC,CAAC,OAAkB,EAAA;AACvD,QAAA,IAAI,CAAC,wBAAwB,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;IACvF;qHAhzBS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAyHX,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAKhB,gBAAgB,2DAKhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAKhB,gBAAgB,CAAA,EAAA,iBAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAKhB,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAKhB,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAKhB,gBAAgB,2DAKhB,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAKhB,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAKhB,gBAAgB,CAAA,EAAA,mBAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAKhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MA9IL,yBAAyB,6UAF5B,UAAU,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjI1C,gwFA+DA,EAAA,MAAA,EAAA,CAAA,kqEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDgBQ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEX,mBAAmB,iNACnB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,gDAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;kGAmBV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA7BlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACL,mBAAmB;wBACnB,WAAW;wBAEX,mBAAmB;wBACnB,eAAe;AACf,wBAAA,GAAG,cAAc;AACjB,wBAAA,GAAG,eAAe;AAClB,wBAAA,GAAG,UAAU;AACb,wBAAA,GAAG,QAAQ;qBACd,EAAA,cAAA,EACe;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,SAAS;gCACT,YAAY;gCACZ,WAAW;gCACX,YAAY;AACf,6BAAA;AACJ,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,gwFAAA,EAAA,MAAA,EAAA,CAAA,kqEAAA,CAAA,EAAA;wDAOG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAQmB,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBAaU,QAAQ,EAAA,CAAA;sBAAhD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACP,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB;gBACmB,QAAQ,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAEmB,gBAAgB,EAAA,CAAA;sBAA1E,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,yBAAyB,CAAC;gBAI/C,WAAW,EAAA,CAAA;sBAApB;gBAIS,UAAU,EAAA,CAAA;sBAAnB;gBAIQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAKQ,YAAY,EAAA,CAAA;sBAApB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAMQ,IAAI,EAAA,CAAA;sBAAZ;gBAMQ,SAAS,EAAA,CAAA;sBAAjB;gBAIQ,OAAO,EAAA,CAAA;sBAAf;gBAIQ,OAAO,EAAA,CAAA;sBAAf;gBAMQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAKQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAIQ,YAAY,EAAA,CAAA;sBAApB;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKQ,OAAO,EAAA,CAAA;sBAAf;gBAKuC,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,iBAAiB,EAAA,CAAA;sBAAxD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,mBAAmB,EAAA,CAAA;sBAA1D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAMlC,WAAW,EAAA,CAAA;sBADd;gBAcG,eAAe,EAAA,CAAA;sBADlB;;AAsnBE,MAAM,aAAa,GAAG;AACzB,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,IAAI;AAClB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,cAAc,EAAE,IAAI;AACvB,KAAA;;AAGE,MAAM,WAAW,GAAG;AACvB,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,MAAM;AACpB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,kBAAkB,EAAE,MAAM;AAC7B,KAAA;;AAGE,MAAM,iBAAiB,GAAG;AAC7B,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,SAAS;AACvB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,kBAAkB,EAAE,WAAW;AAClC,KAAA;;MAOQ,wBAAwB,CAAA;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAE1D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACtE,iBAAA;;MAOY,sBAAsB,CAAA;qHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFpB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAExD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACpE,iBAAA;;MAOY,2BAA2B,CAAA;qHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAFzB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAE9D,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAC1E,iBAAA;;AAGD;MAEa,yBAAyB,CAAA;AADtC,IAAA,WAAA,GAAA;QAE0B,IAAA,CAAA,KAAK,GAAG,gCAAgC;AAChE,IAAA;qHAFW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;kGAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,SAAS;mBAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;8BAEnB,KAAK,EAAA,CAAA;sBAA1B,WAAW;uBAAC,OAAO;;;AE98BxB;;;;;;;;;;AAUG;AACI,MAAM,kBAAkB,GAAgB,CAAC,OAAwB,KACpE,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;ACT9C,MAAM,cAAc,GAAG;IACtB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,2BAA2B;IAC3B,yBAAyB;;;ACVjC;;AAEG;;;;"}