@eui/components 14.0.29 → 14.0.30

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.
Files changed (30) hide show
  1. package/docs/classes/EuiDialogConfig.html +23 -0
  2. package/docs/components/EuiDialogComponent.html +211 -10
  3. package/docs/interfaces/EuiDialogInterface.html +45 -0
  4. package/docs/js/search/search_index.js +2 -2
  5. package/docs/miscellaneous/variables.html +160 -127
  6. package/esm2020/eui-dialog/eui-dialog.component.mjs +44 -8
  7. package/esm2020/eui-dialog/models/eui-dialog.config.mjs +2 -1
  8. package/esm2020/eui-dialog/services/eui-dialog.service.mjs +8 -2
  9. package/esm2020/eui-file-upload/utils/eui-file-upload.validators.mjs +41 -17
  10. package/esm2020/eui-table/eui-table.component.mjs +2 -2
  11. package/eui-dialog/eui-dialog.component.d.ts +11 -4
  12. package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
  13. package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
  14. package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
  15. package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
  16. package/eui-file-upload/utils/eui-file-upload.validators.d.ts +17 -1
  17. package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
  18. package/fesm2015/eui-components-eui-dialog.mjs +46 -8
  19. package/fesm2015/eui-components-eui-dialog.mjs.map +1 -1
  20. package/fesm2015/eui-components-eui-file-upload.mjs +41 -17
  21. package/fesm2015/eui-components-eui-file-upload.mjs.map +1 -1
  22. package/fesm2015/eui-components-eui-table.mjs +2 -2
  23. package/fesm2015/eui-components-eui-table.mjs.map +1 -1
  24. package/fesm2020/eui-components-eui-dialog.mjs +51 -8
  25. package/fesm2020/eui-components-eui-dialog.mjs.map +1 -1
  26. package/fesm2020/eui-components-eui-file-upload.mjs +41 -17
  27. package/fesm2020/eui-components-eui-file-upload.mjs.map +1 -1
  28. package/fesm2020/eui-components-eui-table.mjs +2 -2
  29. package/fesm2020/eui-components-eui-table.mjs.map +1 -1
  30. package/package.json +1 -1
@@ -33,6 +33,7 @@ class EuiDialogConfig {
33
33
  this.dismissLabel = 'eui.CANCEL';
34
34
  this.width = '50rem';
35
35
  this.height = 'auto';
36
+ this.isFullScreen = false;
36
37
  this.hasCloseButton = true;
37
38
  this.hasAcceptButton = true;
38
39
  this.hasDismissButton = true;
@@ -238,7 +239,13 @@ class EuiDialogService {
238
239
  const scrollStrategy = this.overlay.scrollStrategies.block();
239
240
  const isClosedOnEscape = config.isClosedOnEscape;
240
241
  const hasCloseButton = config.hasCloseButton;
241
- const dialogConfig = new EuiDialogConfig({ ...config, isClosedOnEscape, hasCloseButton });
242
+ const dialogConfig = new EuiDialogConfig({
243
+ ...config,
244
+ isClosedOnEscape,
245
+ hasCloseButton,
246
+ width: config.isFullScreen ? '100vw' : config.width,
247
+ height: config.isFullScreen ? '100vh' : config.height,
248
+ });
242
249
  const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);
243
250
  const overlayRef = this.overlay.create({
244
251
  backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],
@@ -389,8 +396,6 @@ class EuiDialogComponent extends BaseDirective {
389
396
  this.viewContainerRef = viewContainerRef;
390
397
  this.euiDialogService = euiDialogService;
391
398
  this.e2eAttr = 'eui-dialog';
392
- this.width = '50rem';
393
- this.height = 'auto';
394
399
  this.acceptLabel = 'eui.OK';
395
400
  this.dismissLabel = 'eui.CANCEL';
396
401
  this.clickOutside = new EventEmitter();
@@ -402,6 +407,9 @@ class EuiDialogComponent extends BaseDirective {
402
407
  this.dismiss = new EventEmitter();
403
408
  this.accept = new EventEmitter();
404
409
  this.isOpen$ = new BehaviorSubject(false);
410
+ this._width = '50rem';
411
+ this._height = 'auto';
412
+ this._isFullScreen = false;
405
413
  this._hasCloseButton = true;
406
414
  this._hasAcceptButton = true;
407
415
  this._hasDismissButton = true;
@@ -419,6 +427,38 @@ class EuiDialogComponent extends BaseDirective {
419
427
  this._hasFooter = true;
420
428
  this.destroy$ = new Subject();
421
429
  }
430
+ get width() {
431
+ if (this._isFullScreen === true) {
432
+ return '100vw';
433
+ }
434
+ return this._width;
435
+ }
436
+ set width(value) {
437
+ if (this._isFullScreen !== true) {
438
+ this._width = value;
439
+ }
440
+ }
441
+ get height() {
442
+ if (this._isFullScreen === true) {
443
+ return '100vh';
444
+ }
445
+ return this._height;
446
+ }
447
+ set height(value) {
448
+ if (this._isFullScreen !== true) {
449
+ this._height = value;
450
+ }
451
+ }
452
+ get isFullScreen() {
453
+ return this._isFullScreen;
454
+ }
455
+ set isFullScreen(value) {
456
+ this._isFullScreen = coerceBooleanProperty(value);
457
+ if (this._isFullScreen === true) {
458
+ this._width = '100vw';
459
+ this._height = '100vh';
460
+ }
461
+ }
422
462
  get hasCloseButton() { return this._hasCloseButton; }
423
463
  set hasCloseButton(value) { this._hasCloseButton = coerceBooleanProperty(value); }
424
464
  get hasAcceptButton() { return this._hasAcceptButton; }
@@ -513,6 +553,7 @@ class EuiDialogComponent extends BaseDirective {
513
553
  title: this.title,
514
554
  width: this.width,
515
555
  height: this.height,
556
+ isFullScreen: this.isFullScreen,
516
557
  typeClass: this.typeClass,
517
558
  acceptLabel: this.acceptLabel,
518
559
  dismissLabel: this.dismissLabel,
@@ -604,7 +645,7 @@ class EuiDialogComponent extends BaseDirective {
604
645
  }
605
646
  }
606
647
  /** @nocollapse */ EuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, deps: [{ token: i0.ViewContainerRef }, { token: EuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
607
- /** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title", width: "width", height: "height", acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", hasCloseButton: "hasCloseButton", hasAcceptButton: "hasAcceptButton", hasDismissButton: "hasDismissButton", hasMobileCustomSize: "hasMobileCustomSize", isClosedOnClickOutside: "isClosedOnClickOutside", isClosedOnEscape: "isClosedOnEscape", isHandleCloseOnDismiss: "isHandleCloseOnDismiss", isHandleCloseOnClose: "isHandleCloseOnClose", isHandleCloseOnAccept: "isHandleCloseOnAccept", isHandleCloseOnClickOutside: "isHandleCloseOnClickOutside", isHandleCloseOnEscape: "isHandleCloseOnEscape", isMessageBox: "isMessageBox", isDraggable: "isDraggable", hasNoBodyPadding: "hasNoBodyPadding", hasFooter: "hasFooter" }, outputs: { clickOutside: "clickOutside", escape: "escape", open: "open", close: "close", dismiss: "dismiss", accept: "accept" }, providers: [
648
+ /** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title", acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", width: "width", height: "height", isFullScreen: "isFullScreen", hasCloseButton: "hasCloseButton", hasAcceptButton: "hasAcceptButton", hasDismissButton: "hasDismissButton", hasMobileCustomSize: "hasMobileCustomSize", isClosedOnClickOutside: "isClosedOnClickOutside", isClosedOnEscape: "isClosedOnEscape", isHandleCloseOnDismiss: "isHandleCloseOnDismiss", isHandleCloseOnClose: "isHandleCloseOnClose", isHandleCloseOnAccept: "isHandleCloseOnAccept", isHandleCloseOnClickOutside: "isHandleCloseOnClickOutside", isHandleCloseOnEscape: "isHandleCloseOnEscape", isMessageBox: "isMessageBox", isDraggable: "isDraggable", hasNoBodyPadding: "hasNoBodyPadding", hasFooter: "hasFooter" }, outputs: { clickOutside: "clickOutside", escape: "escape", open: "open", close: "close", dismiss: "dismiss", accept: "accept" }, providers: [
608
649
  { provide: DIALOG_COMPONENT_CONFIG, useValue: null }
609
650
  ], queries: [{ propertyName: "euiDialogHeaderDirective", first: true, predicate: i0.forwardRef(function () { return EuiDialogHeaderDirective; }), descendants: true }, { propertyName: "euiDialogFooterDirective", first: true, predicate: i0.forwardRef(function () { return EuiDialogFooterDirective; }), descendants: true }], viewQueries: [{ propertyName: "templateRefHeader", first: true, predicate: ["templateRefHeader"], descendants: true }, { propertyName: "templateRefContent", first: true, predicate: ["templateRefContent"], descendants: true }, { propertyName: "templateRefFooter", first: true, predicate: ["templateRefFooter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n", styles: [".eui-dialog-container{display:flex;width:100%}.eui-dialog-container .eui-dialog{background-color:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-10);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-base-shadow-12);display:flex;height:100%;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content{display:flex;flex-direction:column;position:relative;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-top-left-radius:var(--eui-base-border-radius-base);border-top-right-radius:var(--eui-base-border-radius-base);display:flex;flex:0 0 auto;justify-content:space-between;padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-dialog-header,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-message-box-header{align-items:center;display:flex;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-dialog-header>*,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-message-box-header>*{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header-title{color:var(--eui-base-font-color);font-size:var(--eui-base-font-size-xl);font-style:normal;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header.eui-dialog__header--handle-disabled{cursor:default!important}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body{display:flex;overflow:auto;position:relative}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body-content{height:auto;padding:var(--eui-base-spacing-m);width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer{align-items:center;background-color:var(--eui-base-color-grey-5);border-bottom-left-radius:var(--eui-base-border-radius-base);border-bottom-right-radius:var(--eui-base-border-radius-base);border-top:1px solid var(--eui-base-color-grey-10);display:flex;padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-dialog-footer,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-message-box-footer{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-dialog-footer>*,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-message-box-footer>*{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer .eui-dialog__footer-content{align-items:center;display:flex;justify-content:flex-end;width:100%}.eui-dialog-container .eui-dialog--no-padding .eui-dialog__content .eui-dialog__body-content{padding:0}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body{align-items:center;display:flex}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content{height:auto;padding:var(--eui-base-spacing-m);align-items:center;display:flex;width:100%}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content-icon-container{align-self:flex-start;padding:var(--eui-base-spacing-m)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content-icon{background:var(--eui-base-color-grey-10);border-radius:50%;display:inline-flex;font-size:var(--eui-base-font-size-5xl);padding:var(--eui-base-spacing-s)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content p{margin-top:0}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-icon{margin:0 var(--eui-base-spacing)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-icon-content{background:var(--eui-base-color-grey-15);border-radius:50%;font-size:var(--eui-base-font-size-5xl);margin-right:var(--eui-base-spacing);overflow:auto;padding:var(--eui-base-spacing-s)}.eui-dialog__backdrop.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{background-color:var(--eui-base-color-grey-100);opacity:var(--eui-base-disabled-opacity)}@media screen and (max-width: 767px){.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size){height:100vh;left:0;position:fixed;top:0;width:100vw}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content{height:100%;width:100%}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__header{border-top-left-radius:0;border-top-right-radius:0;flex:0 0 auto}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__body{flex:1 1 auto;height:100vh!important;max-height:100vh!important;max-width:100vw!important;overflow-x:hidden;overflow-y:scroll;width:100vw!important}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__body-content{flex:1 1 auto}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__footer{border-bottom-left-radius:0;border-bottom-right-radius:0;flex:0 0 auto}}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary{border-color:var(--eui-base-color-primary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary .eui-dialog__body-content-icon{color:var(--eui-base-color-primary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary{border-color:var(--eui-base-color-secondary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary .eui-dialog__body-content-icon{color:var(--eui-base-color-secondary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info{border-color:var(--eui-base-color-info)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info .eui-dialog__body-content-icon{color:var(--eui-base-color-info)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success{border-color:var(--eui-base-color-success)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success .eui-dialog__body-content-icon{color:var(--eui-base-color-success)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning{border-color:var(--eui-base-color-warning)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning .eui-dialog__header-title{color:var(--eui-base-color-warning-130)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning .eui-dialog__body-content-icon{color:var(--eui-base-color-warning)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger{border-color:var(--eui-base-color-danger)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger .eui-dialog__body-content-icon{color:var(--eui-base-color-danger)}.eui-dialog-container .eui-dialog--draggable .eui-dialog__header{cursor:move}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
610
651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, decorators: [{
@@ -616,10 +657,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
616
657
  type: Input
617
658
  }], title: [{
618
659
  type: Input
619
- }], width: [{
620
- type: Input
621
- }], height: [{
622
- type: Input
623
660
  }], acceptLabel: [{
624
661
  type: Input
625
662
  }], dismissLabel: [{
@@ -653,6 +690,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
653
690
  }], euiDialogFooterDirective: [{
654
691
  type: ContentChild,
655
692
  args: [forwardRef(() => EuiDialogFooterDirective)]
693
+ }], width: [{
694
+ type: Input
695
+ }], height: [{
696
+ type: Input
697
+ }], isFullScreen: [{
698
+ type: Input
656
699
  }], hasCloseButton: [{
657
700
  type: Input
658
701
  }], hasAcceptButton: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-dialog.mjs","sources":["../../eui-dialog/services/eui-dialog.token.ts","../../eui-dialog/models/eui-dialog.config.ts","../../eui-dialog/container/eui-dialog-container.component.ts","../../eui-dialog/container/eui-dialog-container.component.html","../../eui-dialog/models/opened-dialog.model.ts","../../eui-dialog/services/eui-dialog.service.ts","../../eui-dialog/eui-dialog.component.ts","../../eui-dialog/eui-dialog.component.html","../../eui-dialog/eui-dialog.module.ts","../../eui-dialog/eui-components-eui-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DIALOG_CONTAINER_CONFIG = new InjectionToken<any>('DIALOG_CONTAINER_CONFIG');\nexport const DIALOG_COMPONENT_CONFIG = new InjectionToken<any>('DIALOG_COMPONENT_CONFIG');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n width = '50rem';\n height = 'auto';\n hasCloseButton = true;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasMobileCustomSize = false;\n isClosedOnClickOutside = false;\n isClosedOnEscape = true;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = false;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n dialogId?: string;\n e2eAttr?: string;\n title?: string;\n typeClass?: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent');\n acceptLabel?: string;\n dismissLabel?: string;\n width?: string;\n height?: string;\n headerComponent?: {\n component: ComponentType<HC>,\n config?: HCC,\n };\n bodyComponent?: {\n component: ComponentType<BC>,\n config?: BCC,\n };\n footerComponent?: {\n component: ComponentType<FC>,\n config?: FCC,\n };\n header?: TemplatePortal;\n content?: TemplatePortal | string | null;\n footer?: TemplatePortal;\n hasCloseButton?: boolean;\n hasAcceptButton?: boolean;\n hasDismissButton?: boolean;\n hasMobileCustomSize?: boolean;\n isClosedOnClickOutside?: boolean;\n isClosedOnEscape?: boolean;\n isHandleCloseOnDismiss?: boolean;\n isHandleCloseOnClose?: boolean;\n isHandleCloseOnAccept?: boolean;\n isHandleCloseOnClickOutside?: boolean;\n isHandleCloseOnEscape?: boolean;\n isDraggable?: boolean;\n hasNoBodyPadding?: boolean;\n hasFooter?: boolean;\n isMessageBox?: boolean;\n\n overlayRef?: OverlayRef;\n\n open?: () => void;\n init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ComponentRef, Inject, Injector, StaticProvider, OnDestroy, HostBinding,\n ChangeDetectorRef } from '@angular/core';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\n\n@Component({\n selector: 'eui-dialog-container',\n templateUrl: './eui-dialog-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy {\n\n public isHeaderTemplatePortal = false;\n public isBodyTemplatePortal = false;\n public isFooterTemplatePortal = false;\n\n public isHeaderComponentPortal = false;\n public isBodyComponentPortal = false;\n public isFooterComponentPortal = false;\n\n public headerComponentPortal: ComponentPortal<HC>;\n public bodyComponentPortal: ComponentPortal<BC>;\n public footerComponentPortal: ComponentPortal<FC>;\n\n public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @HostBinding('class') string = 'eui-dialog-container';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(@Inject(DIALOG_CONTAINER_CONFIG) public dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>,\n private injector: Injector, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n this.isHeaderTemplatePortal = true;\n }\n if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n this.isBodyTemplatePortal = true;\n }\n if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n this.isFooterTemplatePortal = true;\n }\n\n if (this.dialogContainerConfig.headerComponent?.component) {\n this.isHeaderComponentPortal = true;\n this.headerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.headerComponent.component,\n this.dialogContainerConfig.headerComponent.config,\n ) as ComponentPortal<HC>;\n }\n if (this.dialogContainerConfig.bodyComponent?.component) {\n this.isBodyComponentPortal = true;\n this.bodyComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.bodyComponent.component,\n this.dialogContainerConfig.bodyComponent.config,\n ) as ComponentPortal<BC>;\n }\n if (this.dialogContainerConfig.footerComponent?.component) {\n this.isFooterComponentPortal = true;\n this.footerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.footerComponent.component,\n this.dialogContainerConfig.footerComponent.config,\n ) as ComponentPortal<FC>;\n }\n\n this.dialogContainerConfig.open();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n return this.componentInstances;\n }\n\n get getPortalOutlet(): TemplatePortal | null {\n return this.dialogContainerConfig.content as TemplatePortal;\n }\n\n get dialogContainerConfigContent(): string {\n return this.dialogContainerConfig.content as string;\n }\n\n public portalAttached(attachedRef: CdkPortalOutletAttachedRef, component: ('headerComponent' | 'bodyComponent' | 'footerComponent')): void {\n const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n this.componentInstances = {\n ...this.componentInstances,\n [component]: componentRef.instance,\n };\n\n this.dialogContainerConfig.init(this.componentInstances);\n\n if (this.dialogContainerConfig[component].config) {\n Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n if (componentRef.instance[c]) {\n componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n });\n }\n } else {\n componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n }\n });\n }\n }\n\n public closeDialog(): void {\n this.dialogContainerConfig.close(this.componentInstances);\n }\n\n public onDismiss(): void {\n this.dialogContainerConfig.dismiss(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n this.closeDialog();\n }\n }\n\n public onAccept(): void {\n this.dialogContainerConfig.accept(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n this.closeDialog();\n }\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.acceptButtonDisabled$.next(true);\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.acceptButtonDisabled$.next(false);\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.dismissButtonDisabled$.next(true);\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.dismissButtonDisabled$.next(false);\n }\n\n public onScroll(): void {\n this.cd.detectChanges();\n }\n\n private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n }\n\n private createInjector(data: HCC | BCC | FCC): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","<div\n class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.typeClass }} eui-u-anim\"\n [class.eui-u-anim--flipInY]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-u-anim--fadeIn]=\"!dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n role=\"dialog\"\n [attr.aria-label]=\"dialogContainerConfig.isMessageBox ? 'Opened dialog window' : 'Opened message box window'\"\n tabindex=\"-1\"\n attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n cdkDrag\n cdkDragRootElement=\".cdk-overlay-pane\"\n [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture>\n\n <div class=\"eui-dialog__content\" role=\"document\">\n <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n <ng-container *ngIf=\"!isHeaderTemplatePortal && !isHeaderComponentPortal\">\n <h5 class=\"eui-dialog__header-title\">{{ dialogContainerConfig.title | translate }}</h5>\n <button type=\"button\" *ngIf=\"dialogContainerConfig.hasCloseButton\" (click)=\"closeDialog()\" euiButton euiIconButton euiRounded euiBasicButton euiSizeS>\n <span class=\"eui-icon eui-icon-close-m\"></span>\n </button>\n </ng-container>\n <ng-container *ngIf=\"isHeaderTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isHeaderComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n </ng-container>\n </div>\n <div class=\"eui-dialog__body\" cdkScrollable\n [style.height]=\"dialogContainerConfig.height\"\n [style.max-height]=\"dialogContainerConfig.height\"\n (scroll)=\"onScroll()\">\n <span *ngIf=\"dialogContainerConfig.isMessageBox\" class=\"eui-dialog__body-content-icon-container\">\n <span euiIcon iconClass=\"eui-icon eui-icon-question eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'primary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'secondary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-info eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'info'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-check eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'success'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'warning'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-ecl-error eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'danger'\"></span>\n </span>\n <div *ngIf=\"!isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n </div>\n <div *ngIf=\"isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n </div>\n <div *ngIf=\"isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n </div>\n </div>\n <div class=\"eui-dialog__footer\" *ngIf=\"dialogContainerConfig.hasFooter\">\n <ng-container *ngIf=\"!isFooterTemplatePortal && !isFooterComponentPortal\">\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!isFooterTemplatePortal\">\n <div class=\"eui-dialog__footer-content\">\n <button type=\"button\" euiButton\n *ngIf=\"dialogContainerConfig.hasDismissButton\"\n [euiDisabled]=\"dismissButtonDisabled$ | async\"\n class=\"eui-dialog__footer-dismiss-button\"\n [class.eui-u-mr-s]=\"dialogContainerConfig.hasAcceptButton\"\n (click)=\"onDismiss()\">\n {{ dialogContainerConfig.dismissLabel | translate }}\n </button>\n <button type=\"button\" euiButton\n euiPrimary\n *ngIf=\"dialogContainerConfig.hasAcceptButton\"\n [euiDisabled]=\"acceptButtonDisabled$ | async\"\n class=\"eui-dialog__footer-accept-button\"\n (click)=\"onAccept()\">\n {{ dialogContainerConfig.acceptLabel | translate }}\n </button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isFooterComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n </ng-container>\n </div>\n </div>\n\n</div>\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n id: string = null;\n order: number = null;\n overlayRef: OverlayRef = null;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n constructor(values: OpenedDialogInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface OpenedDialogInterface {\n id: string;\n order: number;\n overlayRef: OverlayRef;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\n\n@Injectable()\nexport class EuiDialogService implements OnDestroy {\n\n private overlayRef: OverlayRef;\n private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.openedDialogs$.next(null);\n }\n\n /**\n * Open a dialog.\n * @param config Configuration applied to the dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): OpenedDialog {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const isClosedOnEscape = config.isClosedOnEscape;\n const hasCloseButton = config.hasCloseButton;\n const dialogConfig = new EuiDialogConfig({ ...config, isClosedOnEscape, hasCloseButton });\n const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n const overlayRef = this.overlay.create({\n backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n hasBackdrop: true,\n width: dialogConfig.width,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n });\n\n this.overlayRef = overlayRef;\n let openedDialog = new OpenedDialog({\n id: dialogId,\n order: this.openedDialogs$.value.length + 1,\n overlayRef,\n containerRef: null,\n });\n\n const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n ...dialogConfig,\n dialogId,\n overlayRef,\n init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.init?.(instances);\n },\n open: () => {\n config.open?.();\n },\n clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.clickOutside?.(instances);\n },\n escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.escape?.(instances);\n },\n close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n this.closeDialog(dialogId);\n config.close?.(instances);\n },\n dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.dismiss?.(instances);\n },\n accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.accept?.(instances);\n },\n };\n const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n EuiDialogContainerComponent,\n null,\n this.createInjector(extendedConfig),\n );\n const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> = openedDialog.overlayRef.attach(containerPortal);\n openedDialog = { ...openedDialog, containerRef };\n\n openedDialog.overlayRef.backdropClick().pipe(takeUntil(this.destroy$)).subscribe((e: PointerEvent) => {\n if (extendedConfig.isClosedOnClickOutside) {\n config.clickOutside?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnClickOutside) {\n containerRef.instance.closeDialog();\n }\n }\n });\n\n if (extendedConfig.isClosedOnEscape) {\n openedDialog.overlayRef.keydownEvents().pipe(takeUntil(this.destroy$)).subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n config.escape?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnEscape) {\n containerRef.instance.closeDialog();\n }\n }\n });\n }\n\n this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n return openedDialog;\n }\n\n /**\n * Close a dialog\n * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n */\n public closeDialog(dialogId?: string): void {\n if (dialogId) {\n this.openedDialogs$.value.find(o => o.id === dialogId).overlayRef.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter(o => o.id !== dialogId));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n } else {\n this.overlayRef?.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n }\n }\n\n /**\n * Close all the dialogs.\n */\n public closeAllDialogs(): void {\n this.openedDialogs$.value.forEach((dialog) => {\n dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n });\n }\n\n /**\n * Returns an `Observable` with all opened windows.\n * @returns `Observable` of `OpenedDialog[]`.\n */\n public getOpenedDialog(): Observable<OpenedDialog[]> {\n return this.openedDialogs$;\n }\n\n /**\n * Returns an `Object` with a dialog\n * @param dialogId id of the dialog to be returned\n * @returns `OpenedDialog`\n */\n public getDialog(dialogId: string): OpenedDialog {\n return this.openedDialogs$.value.find(o => o.id === dialogId);\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\n }\n\n private createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n Output, EventEmitter, Directive, ContentChild, forwardRef, QueryList, ElementRef, OnInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\n\n@Component({\n selector: 'eui-dialog',\n templateUrl: './eui-dialog.component.html',\n styleUrls: ['./styles/_index.scss'],\n providers: [\n { provide: DIALOG_COMPONENT_CONFIG, useValue: null }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr: string = 'eui-dialog';\n @Input() title: string;\n @Input() width: string = '50rem';\n @Input() height: string = 'auto';\n @Input() acceptLabel: string = 'eui.OK';\n @Input() dismissLabel: string = 'eui.CANCEL';\n @Input() typeClass: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent');\n\n @Output() clickOutside = new EventEmitter();\n @Output() escape = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n public content: string | TemplatePortal;\n public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: BooleanInput) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get hasAcceptButton(): boolean { return this._hasAcceptButton; }\n set hasAcceptButton(value: BooleanInput) { this._hasAcceptButton = coerceBooleanProperty(value); }\n private _hasAcceptButton = true;\n @Input()\n get hasDismissButton(): boolean { return this._hasDismissButton; }\n set hasDismissButton(value: BooleanInput) { this._hasDismissButton = coerceBooleanProperty(value); }\n private _hasDismissButton = true;\n @Input()\n get hasMobileCustomSize(): boolean { return this._hasMobileCustomSize; }\n set hasMobileCustomSize(value: BooleanInput) { this._hasMobileCustomSize = coerceBooleanProperty(value); }\n private _hasMobileCustomSize = false;\n @Input()\n get isClosedOnClickOutside(): boolean { return this._isClosedOnClickOutside; }\n set isClosedOnClickOutside(value: BooleanInput) { this._isClosedOnClickOutside = coerceBooleanProperty(value); }\n private _isClosedOnClickOutside = false;\n @Input()\n get isClosedOnEscape(): boolean { return this._isClosedOnEscape; }\n set isClosedOnEscape(value: BooleanInput) { this._isClosedOnEscape = coerceBooleanProperty(value); }\n private _isClosedOnEscape = true;\n @Input()\n get isHandleCloseOnDismiss(): boolean { return this._isHandleCloseOnDismiss; }\n set isHandleCloseOnDismiss(value: BooleanInput) { this._isHandleCloseOnDismiss = coerceBooleanProperty(value); }\n private _isHandleCloseOnDismiss = false;\n @Input()\n get isHandleCloseOnClose(): boolean { return this._isHandleCloseOnClose; }\n set isHandleCloseOnClose(value: BooleanInput) { this._isHandleCloseOnClose = coerceBooleanProperty(value); }\n private _isHandleCloseOnClose = false;\n @Input()\n get isHandleCloseOnAccept(): boolean { return this._isHandleCloseOnAccept; }\n set isHandleCloseOnAccept(value: BooleanInput) { this._isHandleCloseOnAccept = coerceBooleanProperty(value); }\n private _isHandleCloseOnAccept = false;\n @Input()\n get isHandleCloseOnClickOutside(): boolean { return this._isHandleCloseOnClickOutside; }\n set isHandleCloseOnClickOutside(value: BooleanInput) { this._isHandleCloseOnClickOutside = coerceBooleanProperty(value); }\n private _isHandleCloseOnClickOutside = false;\n @Input()\n get isHandleCloseOnEscape(): boolean { return this._isHandleCloseOnEscape; }\n set isHandleCloseOnEscape(value: BooleanInput) { this._isHandleCloseOnEscape = coerceBooleanProperty(value); }\n private _isHandleCloseOnEscape = false;\n @Input()\n get isMessageBox(): boolean { return this._isMessageBox; }\n set isMessageBox(value: BooleanInput) { this._isMessageBox = coerceBooleanProperty(value); }\n private _isMessageBox = false;\n @Input()\n get isDraggable(): boolean { return this._isDraggable; }\n set isDraggable(value: BooleanInput) { this._isDraggable = coerceBooleanProperty(value); }\n private _isDraggable = false;\n @Input()\n get hasNoBodyPadding(): boolean { return this._hasNoBodyPadding; }\n set hasNoBodyPadding(value: BooleanInput) { this._hasNoBodyPadding = coerceBooleanProperty(value); }\n private _hasNoBodyPadding = false;\n @Input()\n get hasFooter(): boolean { return this._hasFooter; }\n set hasFooter(value: BooleanInput) { this._hasFooter = coerceBooleanProperty(value); }\n private _hasFooter = true;\n\n private dialog: OpenedDialog;\n private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiDialogService: EuiDialogService) {\n super();\n }\n\n ngOnInit(): void {\n if (this.isMessageBox) {\n this.isClosedOnEscape = false;\n this.hasCloseButton = false;\n }\n\n if (this.euiPrimary) { this.typeClass = 'primary'; }\n if (this.euiSecondary) { this.typeClass = 'secondary'; }\n if (this.euiInfo) { this.typeClass = 'info'; }\n if (this.euiSuccess) { this.typeClass = 'success'; }\n if (this.euiWarning) { this.typeClass = 'warning'; }\n if (this.euiDanger) { this.typeClass = 'danger'; }\n if (this.euiAccent) { this.typeClass = 'accent'; }\n }\n\n ngAfterViewInit(): void {\n if (this.euiDialogHeaderDirective) {\n this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n }\n\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiDialogFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Whether the eui-dialog is open.\n *\n * @usageNotes\n * ```html\n * <eui-dialog #dialog>\n * <my-component *ngIf=\"dialog.isOpen\"></my-component>\n * </eui-dialog>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Open a dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n typeClass: this.typeClass,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: this.hasCloseButton,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasMobileCustomSize: this.hasMobileCustomSize,\n isClosedOnClickOutside: this.isClosedOnClickOutside,\n isClosedOnEscape: this.isClosedOnEscape,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n isDraggable: this.isDraggable,\n hasNoBodyPadding: this.hasNoBodyPadding,\n hasFooter: this.hasFooter,\n header: this.templatePortalHeader,\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n clickOutside: () => {\n if (this.isClosedOnClickOutside) {\n this.isOpen$.next(false);\n }\n this.clickOutside.emit();\n },\n escape: () => {\n if (this.isClosedOnEscape) {\n this.isOpen$.next(false);\n }\n this.escape.emit();\n },\n open: () => {\n this.open.emit();\n },\n close: () => {\n if (!this.isHandleCloseOnClose) {\n this.isOpen$.next(false);\n }\n this.close.emit();\n },\n dismiss: () => {\n if (!this.isHandleCloseOnDismiss) {\n this.isOpen$.next(false);\n }\n this.dismiss.emit();\n },\n accept: () => {\n if (!this.isHandleCloseOnAccept) {\n this.isOpen$.next(false);\n }\n this.accept.emit();\n },\n };\n\n this.isOpen$.next(true);\n this.dialog = this.euiDialogService.openDialog(config);\n\n return this.dialog;\n }\n\n /**\n * Close a Dialog\n */\n public closeDialog(): void {\n this.isOpen$.next(false);\n this.euiDialogService.closeDialog();\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header' })\nexport class EuiDialogHeaderDirective { }\n\n@Directive({ selector: 'eui-dialog-footer' })\nexport class EuiDialogFooterDirective { }\n/* eslint-enable */\n","<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\nimport { EuiDialogComponent, EuiDialogFooterDirective, EuiDialogHeaderDirective } from './eui-dialog.component';\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogContainerComponent } from './container/eui-dialog-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiButtonModule,\n EuiIconModule,\n TranslateModule,\n PortalModule,\n OverlayModule,\n A11yModule,\n DragDropModule,\n CdkScrollableModule,\n ],\n exports: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n ],\n declarations: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n EuiDialogContainerComponent,\n ],\n providers: [\n EuiDialogService,\n ],\n})\n\nexport class EuiDialogModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.EuiDialogService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAEa,uBAAuB,GAAG,IAAI,cAAc,CAAM,yBAAyB,EAAE;MAC7E,uBAAuB,GAAG,IAAI,cAAc,CAAM,yBAAyB;;MCA3E,eAAe,CAAA;AAoBxB,IAAA,WAAA,CAAY,MAAqD,EAAA;QAnBjE,IAAO,CAAA,OAAA,GAAG,iBAAiB,CAAC;QAC5B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;QACvB,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;QAC5B,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QACtB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QACvB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAC5B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAC7B,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAA2B,CAAA,2BAAA,GAAG,KAAK,CAAC;QACpC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QACjB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ,CAAA;MAqDY,2BAA2B,CAAA;AAAxC,IAAA,WAAA,GAAA;QACI,IAAe,CAAA,eAAA,GAAO,IAAI,CAAC;QAC3B,IAAa,CAAA,aAAA,GAAO,IAAI,CAAC;QACzB,IAAe,CAAA,eAAA,GAAO,IAAI,CAAC;KAC9B;AAAA;;MCjEY,2BAA2B,CAAA;AAsBpC,IAAA,WAAA,CAAoD,qBAAoE,EACpG,QAAkB,EAAU,EAAqB,EAAA;QADjB,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAA+C;QACpG,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QArB9D,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAC7B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAE/B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAChC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;AAMhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,2BAA2B,EAAc,CAAC;AACnE,QAAA,IAAA,CAAA,qBAAqB,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACtF,QAAA,IAAA,CAAA,sBAAsB,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAExE,IAAM,CAAA,MAAA,GAAG,sBAAsB,CAAC;AAE9C,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAGa;IAEzE,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,YAAY,cAAc,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,YAAY,cAAc,EAAE;AAC9D,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,YAAY,cAAc,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CACnD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,EACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAC7B,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE;AACrD,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,EAClD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAC3B,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CACnD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,EACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAC7B,CAAC;AAC5B,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED,IAAA,IAAI,qBAAqB,GAAA;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAyB,CAAC;KAC/D;AAED,IAAA,IAAI,4BAA4B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAiB,CAAC;KACvD;IAEM,cAAc,CAAC,WAAuC,EAAE,SAAoE,EAAA;QAC/H,MAAM,YAAY,GAAG,WAAyC,CAAC;QAE/D,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;QAE5E,IAAI,CAAC,kBAAkB,GAAG;YACtB,GAAG,IAAI,CAAC,kBAAkB;AAC1B,YAAA,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ;SACrC,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;AAC9C,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpE,gBAAA,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;AACvE,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;wBAC1B,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,KAAI;4BAC5E,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5F,yBAAC,CAAC,CAAC;AACN,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAEM,WAAW,GAAA;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC7D;IAEM,SAAS,GAAA;QACZ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,EAAE;YACpD,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;IAEM,QAAQ,GAAA;QACX,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;AAED;;AAEG;IACI,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAEM,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KAC3B;IAEO,qBAAqB,CAAC,SAAsC,EAAE,MAAuB,EAAA;QACzF,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;AACjI,QAAA,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;KACpF;AAEO,IAAA,cAAc,CAAC,IAAqB,EAAA;AACxC,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACN;;AAtKQ,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAsBhB,uBAAuB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAtBlC,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,8GClBxC,ovMA+FA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FD7Ea,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,mBAGf,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ovMAAA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,CAAA;;0BAyBxB,MAAM;2BAAC,uBAAuB,CAAA;mGAJrB,MAAM,EAAA,CAAA;sBAA3B,WAAW;uBAAC,OAAO,CAAA;;;ME/BX,YAAY,CAAA;AAMrB,IAAA,WAAA,CAAY,MAA6B,EAAA;QALzC,IAAE,CAAA,EAAA,GAAW,IAAI,CAAC;QAClB,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;QACrB,IAAU,CAAA,UAAA,GAAe,IAAI,CAAC;QAC9B,IAAY,CAAA,YAAA,GAA4E,IAAI,CAAC;AAGzF,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ;;MCFY,gBAAgB,CAAA;IAMzB,WAAoB,CAAA,OAAgB,EAAU,QAAkB,EAAA;QAA5C,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAHxD,QAAA,IAAA,CAAA,cAAc,GAAoC,IAAI,eAAe,CAAiB,EAAE,CAAC,CAAC;AAC1F,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAEQ;IAEpE,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;AAED;;;;AAIG;IACI,UAAU,CAA4B,SAAwD,EAAE,EAAA;AACnG,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3C,aAAA,MAAM,EAAE;AACR,aAAA,kBAAkB,EAAE;AACpB,aAAA,gBAAgB,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC7D,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACjD,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;AAC1F,QAAA,MAAM,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;AACnE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,YAAA,aAAa,EAAE,CAAC,sBAAsB,EAAE,QAAQ,GAAG,YAAY,CAAC;AAChE,YAAA,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,gBAAgB;YAChB,cAAc;AACd,YAAA,mBAAmB,EAAE,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,YAAY,GAAG,IAAI,YAAY,CAAC;AAChC,YAAA,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC3C,UAAU;AACV,YAAA,YAAY,EAAE,IAAI;AACrB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,cAAc,GAAkD;AAClE,YAAA,GAAG,YAAY;YACf,QAAQ;YACR,UAAU;AACV,YAAA,IAAI,EAAE,CAAC,SAAkD,KAAI;AACzD,gBAAA,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;aAC5B;YACD,IAAI,EAAE,MAAK;AACP,gBAAA,MAAM,CAAC,IAAI,IAAI,CAAC;aACnB;AACD,YAAA,YAAY,EAAE,CAAC,SAAkD,KAAI;AACjE,gBAAA,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;aACpC;AACD,YAAA,MAAM,EAAE,CAAC,SAAkD,KAAI;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;aAC9B;AACD,YAAA,KAAK,EAAE,CAAC,SAAkD,KAAI;AAC1D,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3B,gBAAA,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;aAC7B;AACD,YAAA,OAAO,EAAE,CAAC,SAAkD,KAAI;AAC5D,gBAAA,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;aAC/B;AACD,YAAA,MAAM,EAAE,CAAC,SAAkD,KAAI;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;aAC9B;SACJ,CAAC;AACF,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CACvC,2BAA2B,EAC3B,IAAI,EACJ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAClC,CAAC;QACN,MAAM,YAAY,GAAyE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC3I,QAAA,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,CAAC;QAEjD,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAe,KAAI;YACjG,IAAI,cAAc,CAAC,sBAAsB,EAAE;gBACvC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAChE,gBAAA,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE;AACrC,oBAAA,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvC,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,gBAAgB,EAAE;YACjC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,KAAI;gBAC/F,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE;oBAC/C,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC1D,oBAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC/B,wBAAA,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvC,qBAAA;AACJ,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAEvE,QAAA,OAAO,YAAY,CAAC;KACvB;AAED;;;AAGG;AACI,IAAA,WAAW,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;AACnF,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9I,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/G,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9I,SAAA;KACJ;AAED;;AAEG;IACI,eAAe,GAAA;QAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACzC,YAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACnH,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;IACI,eAAe,GAAA;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED;;;;AAIG;AACI,IAAA,SAAS,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;KACjE;AAED;;AAEG;IACI,mBAAmB,GAAA;QACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/G;AAED;;AAEG;IACI,kBAAkB,GAAA;QACrB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;KAC9G;AAED;;AAEG;IACI,oBAAoB,GAAA;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAChH;AAED;;AAEG;IACI,mBAAmB,GAAA;QACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/G;AAEO,IAAA,cAAc,CAAC,IAAS,EAAA;AAC5B,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACN;;iIAxLQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qIAAhB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;ACYL,MAAO,kBAAmB,SAAQ,aAAa,CAAA;IA+FjD,WAAoB,CAAA,gBAAkC,EAAU,gBAAkC,EAAA;AAC9F,QAAA,KAAK,EAAE,CAAC;QADQ,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAAU,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QA9FzF,IAAO,CAAA,OAAA,GAAW,YAAY,CAAC;QAE/B,IAAK,CAAA,KAAA,GAAW,OAAO,CAAC;QACxB,IAAM,CAAA,MAAA,GAAW,MAAM,CAAC;QACxB,IAAW,CAAA,WAAA,GAAW,QAAQ,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAW,YAAY,CAAC;AAGnC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;;AAE5B,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;;AAE1B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,OAAO,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAYvE,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QAIvB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QAIxB,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAIzB,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAI7B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAIhC,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAIzB,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAIhC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAI9B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAA4B,CAAA,4BAAA,GAAG,KAAK,CAAC;QAIrC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAItB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAIrB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAI1B,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAMlB,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAI3D;IArED,IACI,cAAc,KAAc,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE;AAC9D,IAAA,IAAI,cAAc,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhG,IACI,eAAe,KAAc,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAChE,IAAA,IAAI,eAAe,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAElG,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,mBAAmB,KAAc,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE;AACxE,IAAA,IAAI,mBAAmB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1G,IACI,sBAAsB,KAAc,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE;AAC9E,IAAA,IAAI,sBAAsB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhH,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,sBAAsB,KAAc,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE;AAC9E,IAAA,IAAI,sBAAsB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhH,IACI,oBAAoB,KAAc,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE;AAC1E,IAAA,IAAI,oBAAoB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5G,IACI,qBAAqB,KAAc,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE;AAC5E,IAAA,IAAI,qBAAqB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE9G,IACI,2BAA2B,KAAc,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE;AACxF,IAAA,IAAI,2BAA2B,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,4BAA4B,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1H,IACI,qBAAqB,KAAc,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE;AAC5E,IAAA,IAAI,qBAAqB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE9G,IACI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;AAC1D,IAAA,IAAI,YAAY,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5F,IACI,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE;AACxD,IAAA,IAAI,WAAW,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1F,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;AACpD,IAAA,IAAI,SAAS,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAatF,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC/B,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;AAAE,SAAA;QACxD,IAAI,IAAI,CAAC,OAAO,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AAAE,SAAA;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAAE,SAAA;QAClD,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAAE,SAAA;KACrD;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjG,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEhG,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjG,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED;;;;;;;;;;AAUG;AACH,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7B;AAED;;;AAGG;IACI,UAAU,GAAA;AACb,QAAA,MAAM,MAAM,GAAkD;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,YAAY,EAAE,MAAK;gBACf,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC5B;YACD,MAAM,EAAE,MAAK;gBACT,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACtB;YACD,IAAI,EAAE,MAAK;AACP,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,KAAK,EAAE,MAAK;AACR,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC5B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aACrB;YACD,OAAO,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC9B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;YACD,MAAM,EAAE,MAAK;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC7B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACtB;SACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED;;AAEG;IACI,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;KACvC;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/F;AAED;;AAEG;IACI,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;KAC9F;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAChG;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/F;;mIA3PQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAPhB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OA8B8B,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OACxB,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjD3D,gTASA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDca,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGX,SAAA,EAAA;AACP,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gTAAA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,CAAA;mIAI5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAEG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBAEG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKyB,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBACG,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB,CAAA;gBACC,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBAE4B,wBAAwB,EAAA,CAAA;sBAAjF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAA;gBACE,wBAAwB,EAAA,CAAA;sBAAjF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAA;gBAGpD,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAKF,eAAe,EAAA,CAAA;sBADlB,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,mBAAmB,EAAA,CAAA;sBADtB,KAAK;gBAKF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAKF,oBAAoB,EAAA,CAAA;sBADvB,KAAK;gBAKF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAKF,2BAA2B,EAAA,CAAA;sBAD9B,KAAK;gBAKF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAKF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAKF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,SAAS,EAAA,CAAA;sBADZ,KAAK;;AA0KV;MAEa,wBAAwB,CAAA;;yIAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;;MAI/B,wBAAwB,CAAA;;yIAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;;;ME9O/B,eAAe,CAAA;;gIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAVpB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB;AACxB,QAAA,2BAA2B,aAnB3B,YAAY;QACZ,eAAe;QACf,aAAa;QACb,eAAe;QACf,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;AACd,QAAA,mBAAmB,aAGnB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAanB,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EALb,SAAA,EAAA;QACP,gBAAgB;AACnB,KAAA,EAAA,OAAA,EAAA,CAvBG,YAAY;QACZ,eAAe;QACf,aAAa;QACb,eAAe;QACf,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;QACd,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAkBd,eAAe,EAAA,UAAA,EAAA,CAAA;kBA5B3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,YAAY;wBACZ,aAAa;wBACb,UAAU;wBACV,cAAc;wBACd,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,wBAAwB;wBACxB,wBAAwB;AAC3B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,kBAAkB;wBAClB,wBAAwB;wBACxB,wBAAwB;wBACxB,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,gBAAgB;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;ACzCD;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-components-eui-dialog.mjs","sources":["../../eui-dialog/services/eui-dialog.token.ts","../../eui-dialog/models/eui-dialog.config.ts","../../eui-dialog/container/eui-dialog-container.component.ts","../../eui-dialog/container/eui-dialog-container.component.html","../../eui-dialog/models/opened-dialog.model.ts","../../eui-dialog/services/eui-dialog.service.ts","../../eui-dialog/eui-dialog.component.ts","../../eui-dialog/eui-dialog.component.html","../../eui-dialog/eui-dialog.module.ts","../../eui-dialog/eui-components-eui-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DIALOG_CONTAINER_CONFIG = new InjectionToken<any>('DIALOG_CONTAINER_CONFIG');\nexport const DIALOG_COMPONENT_CONFIG = new InjectionToken<any>('DIALOG_COMPONENT_CONFIG');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n width = '50rem';\n height = 'auto';\n isFullScreen = false;\n hasCloseButton = true;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasMobileCustomSize = false;\n isClosedOnClickOutside = false;\n isClosedOnEscape = true;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = false;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n dialogId?: string;\n e2eAttr?: string;\n title?: string;\n typeClass?: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent');\n acceptLabel?: string;\n dismissLabel?: string;\n width?: string;\n height?: string;\n isFullScreen?: boolean;\n headerComponent?: {\n component: ComponentType<HC>,\n config?: HCC,\n };\n bodyComponent?: {\n component: ComponentType<BC>,\n config?: BCC,\n };\n footerComponent?: {\n component: ComponentType<FC>,\n config?: FCC,\n };\n header?: TemplatePortal;\n content?: TemplatePortal | string | null;\n footer?: TemplatePortal;\n hasCloseButton?: boolean;\n hasAcceptButton?: boolean;\n hasDismissButton?: boolean;\n hasMobileCustomSize?: boolean;\n isClosedOnClickOutside?: boolean;\n isClosedOnEscape?: boolean;\n isHandleCloseOnDismiss?: boolean;\n isHandleCloseOnClose?: boolean;\n isHandleCloseOnAccept?: boolean;\n isHandleCloseOnClickOutside?: boolean;\n isHandleCloseOnEscape?: boolean;\n isDraggable?: boolean;\n hasNoBodyPadding?: boolean;\n hasFooter?: boolean;\n isMessageBox?: boolean;\n\n overlayRef?: OverlayRef;\n\n open?: () => void;\n init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ComponentRef, Inject, Injector, StaticProvider, OnDestroy, HostBinding,\n ChangeDetectorRef } from '@angular/core';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\n\n@Component({\n selector: 'eui-dialog-container',\n templateUrl: './eui-dialog-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy {\n\n public isHeaderTemplatePortal = false;\n public isBodyTemplatePortal = false;\n public isFooterTemplatePortal = false;\n\n public isHeaderComponentPortal = false;\n public isBodyComponentPortal = false;\n public isFooterComponentPortal = false;\n\n public headerComponentPortal: ComponentPortal<HC>;\n public bodyComponentPortal: ComponentPortal<BC>;\n public footerComponentPortal: ComponentPortal<FC>;\n\n public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @HostBinding('class') string = 'eui-dialog-container';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(@Inject(DIALOG_CONTAINER_CONFIG) public dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>,\n private injector: Injector, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n this.isHeaderTemplatePortal = true;\n }\n if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n this.isBodyTemplatePortal = true;\n }\n if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n this.isFooterTemplatePortal = true;\n }\n\n if (this.dialogContainerConfig.headerComponent?.component) {\n this.isHeaderComponentPortal = true;\n this.headerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.headerComponent.component,\n this.dialogContainerConfig.headerComponent.config,\n ) as ComponentPortal<HC>;\n }\n if (this.dialogContainerConfig.bodyComponent?.component) {\n this.isBodyComponentPortal = true;\n this.bodyComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.bodyComponent.component,\n this.dialogContainerConfig.bodyComponent.config,\n ) as ComponentPortal<BC>;\n }\n if (this.dialogContainerConfig.footerComponent?.component) {\n this.isFooterComponentPortal = true;\n this.footerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.footerComponent.component,\n this.dialogContainerConfig.footerComponent.config,\n ) as ComponentPortal<FC>;\n }\n\n this.dialogContainerConfig.open();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n return this.componentInstances;\n }\n\n get getPortalOutlet(): TemplatePortal | null {\n return this.dialogContainerConfig.content as TemplatePortal;\n }\n\n get dialogContainerConfigContent(): string {\n return this.dialogContainerConfig.content as string;\n }\n\n public portalAttached(attachedRef: CdkPortalOutletAttachedRef, component: ('headerComponent' | 'bodyComponent' | 'footerComponent')): void {\n const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n this.componentInstances = {\n ...this.componentInstances,\n [component]: componentRef.instance,\n };\n\n this.dialogContainerConfig.init(this.componentInstances);\n\n if (this.dialogContainerConfig[component].config) {\n Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n if (componentRef.instance[c]) {\n componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n });\n }\n } else {\n componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n }\n });\n }\n }\n\n public closeDialog(): void {\n this.dialogContainerConfig.close(this.componentInstances);\n }\n\n public onDismiss(): void {\n this.dialogContainerConfig.dismiss(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n this.closeDialog();\n }\n }\n\n public onAccept(): void {\n this.dialogContainerConfig.accept(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n this.closeDialog();\n }\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.acceptButtonDisabled$.next(true);\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.acceptButtonDisabled$.next(false);\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.dismissButtonDisabled$.next(true);\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.dismissButtonDisabled$.next(false);\n }\n\n public onScroll(): void {\n this.cd.detectChanges();\n }\n\n private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n }\n\n private createInjector(data: HCC | BCC | FCC): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","<div\n class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.typeClass }} eui-u-anim\"\n [class.eui-u-anim--flipInY]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-u-anim--fadeIn]=\"!dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n role=\"dialog\"\n [attr.aria-label]=\"dialogContainerConfig.isMessageBox ? 'Opened dialog window' : 'Opened message box window'\"\n tabindex=\"-1\"\n attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n cdkDrag\n cdkDragRootElement=\".cdk-overlay-pane\"\n [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture>\n\n <div class=\"eui-dialog__content\" role=\"document\">\n <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n <ng-container *ngIf=\"!isHeaderTemplatePortal && !isHeaderComponentPortal\">\n <h5 class=\"eui-dialog__header-title\">{{ dialogContainerConfig.title | translate }}</h5>\n <button type=\"button\" *ngIf=\"dialogContainerConfig.hasCloseButton\" (click)=\"closeDialog()\" euiButton euiIconButton euiRounded euiBasicButton euiSizeS>\n <span class=\"eui-icon eui-icon-close-m\"></span>\n </button>\n </ng-container>\n <ng-container *ngIf=\"isHeaderTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isHeaderComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n </ng-container>\n </div>\n <div class=\"eui-dialog__body\" cdkScrollable\n [style.height]=\"dialogContainerConfig.height\"\n [style.max-height]=\"dialogContainerConfig.height\"\n (scroll)=\"onScroll()\">\n <span *ngIf=\"dialogContainerConfig.isMessageBox\" class=\"eui-dialog__body-content-icon-container\">\n <span euiIcon iconClass=\"eui-icon eui-icon-question eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'primary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'secondary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-info eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'info'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-check eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'success'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'warning'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-ecl-error eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'danger'\"></span>\n </span>\n <div *ngIf=\"!isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n </div>\n <div *ngIf=\"isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n </div>\n <div *ngIf=\"isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n </div>\n </div>\n <div class=\"eui-dialog__footer\" *ngIf=\"dialogContainerConfig.hasFooter\">\n <ng-container *ngIf=\"!isFooterTemplatePortal && !isFooterComponentPortal\">\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!isFooterTemplatePortal\">\n <div class=\"eui-dialog__footer-content\">\n <button type=\"button\" euiButton\n *ngIf=\"dialogContainerConfig.hasDismissButton\"\n [euiDisabled]=\"dismissButtonDisabled$ | async\"\n class=\"eui-dialog__footer-dismiss-button\"\n [class.eui-u-mr-s]=\"dialogContainerConfig.hasAcceptButton\"\n (click)=\"onDismiss()\">\n {{ dialogContainerConfig.dismissLabel | translate }}\n </button>\n <button type=\"button\" euiButton\n euiPrimary\n *ngIf=\"dialogContainerConfig.hasAcceptButton\"\n [euiDisabled]=\"acceptButtonDisabled$ | async\"\n class=\"eui-dialog__footer-accept-button\"\n (click)=\"onAccept()\">\n {{ dialogContainerConfig.acceptLabel | translate }}\n </button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isFooterComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n </ng-container>\n </div>\n </div>\n\n</div>\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n id: string = null;\n order: number = null;\n overlayRef: OverlayRef = null;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n constructor(values: OpenedDialogInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface OpenedDialogInterface {\n id: string;\n order: number;\n overlayRef: OverlayRef;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\n\n@Injectable()\nexport class EuiDialogService implements OnDestroy {\n\n private overlayRef: OverlayRef;\n private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.openedDialogs$.next(null);\n }\n\n /**\n * Open a dialog.\n * @param config Configuration applied to the dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): OpenedDialog {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const isClosedOnEscape = config.isClosedOnEscape;\n const hasCloseButton = config.hasCloseButton;\n const dialogConfig = new EuiDialogConfig({\n ...config,\n isClosedOnEscape,\n hasCloseButton,\n width: config.isFullScreen ? '100vw' : config.width,\n height: config.isFullScreen ? '100vh' : config.height,\n });\n const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n const overlayRef = this.overlay.create({\n backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n hasBackdrop: true,\n width: dialogConfig.width,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n });\n\n this.overlayRef = overlayRef;\n let openedDialog = new OpenedDialog({\n id: dialogId,\n order: this.openedDialogs$.value.length + 1,\n overlayRef,\n containerRef: null,\n });\n\n const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n ...dialogConfig,\n dialogId,\n overlayRef,\n init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.init?.(instances);\n },\n open: () => {\n config.open?.();\n },\n clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.clickOutside?.(instances);\n },\n escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.escape?.(instances);\n },\n close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n this.closeDialog(dialogId);\n config.close?.(instances);\n },\n dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.dismiss?.(instances);\n },\n accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.accept?.(instances);\n },\n };\n const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n EuiDialogContainerComponent,\n null,\n this.createInjector(extendedConfig),\n );\n const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> = openedDialog.overlayRef.attach(containerPortal);\n openedDialog = { ...openedDialog, containerRef };\n\n openedDialog.overlayRef.backdropClick().pipe(takeUntil(this.destroy$)).subscribe((e: PointerEvent) => {\n if (extendedConfig.isClosedOnClickOutside) {\n config.clickOutside?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnClickOutside) {\n containerRef.instance.closeDialog();\n }\n }\n });\n\n if (extendedConfig.isClosedOnEscape) {\n openedDialog.overlayRef.keydownEvents().pipe(takeUntil(this.destroy$)).subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n config.escape?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnEscape) {\n containerRef.instance.closeDialog();\n }\n }\n });\n }\n\n this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n return openedDialog;\n }\n\n /**\n * Close a dialog\n * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n */\n public closeDialog(dialogId?: string): void {\n if (dialogId) {\n this.openedDialogs$.value.find(o => o.id === dialogId).overlayRef.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter(o => o.id !== dialogId));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n } else {\n this.overlayRef?.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n }\n }\n\n /**\n * Close all the dialogs.\n */\n public closeAllDialogs(): void {\n this.openedDialogs$.value.forEach((dialog) => {\n dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n });\n }\n\n /**\n * Returns an `Observable` with all opened windows.\n * @returns `Observable` of `OpenedDialog[]`.\n */\n public getOpenedDialog(): Observable<OpenedDialog[]> {\n return this.openedDialogs$;\n }\n\n /**\n * Returns an `Object` with a dialog\n * @param dialogId id of the dialog to be returned\n * @returns `OpenedDialog`\n */\n public getDialog(dialogId: string): OpenedDialog {\n return this.openedDialogs$.value.find(o => o.id === dialogId);\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\n }\n\n private createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n Output, EventEmitter, Directive, ContentChild, forwardRef, QueryList, ElementRef, OnInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\n\n@Component({\n selector: 'eui-dialog',\n templateUrl: './eui-dialog.component.html',\n styleUrls: ['./styles/_index.scss'],\n providers: [\n { provide: DIALOG_COMPONENT_CONFIG, useValue: null }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr: string = 'eui-dialog';\n @Input() title: string;\n @Input() acceptLabel = 'eui.OK';\n @Input() dismissLabel = 'eui.CANCEL';\n @Input() typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent';\n\n @Output() clickOutside = new EventEmitter();\n @Output() escape = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n public content: string | TemplatePortal;\n public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n @Input()\n get width(): string {\n if (this._isFullScreen === true) {\n return '100vw';\n }\n return this._width;\n }\n set width(value: string) {\n if (this._isFullScreen !== true) {\n this._width = value;\n }\n }\n private _width = '50rem';\n @Input()\n get height(): string {\n if (this._isFullScreen === true) {\n return '100vh';\n }\n return this._height;\n }\n set height(value: string) {\n if (this._isFullScreen !== true) {\n this._height = value;\n }\n }\n private _height = 'auto';\n @Input()\n get isFullScreen(): boolean {\n return this._isFullScreen;\n }\n set isFullScreen(value: BooleanInput) {\n this._isFullScreen = coerceBooleanProperty(value);\n if (this._isFullScreen === true) {\n this._width = '100vw';\n this._height = '100vh';\n }\n }\n private _isFullScreen = false;\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: BooleanInput) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get hasAcceptButton(): boolean { return this._hasAcceptButton; }\n set hasAcceptButton(value: BooleanInput) { this._hasAcceptButton = coerceBooleanProperty(value); }\n private _hasAcceptButton = true;\n @Input()\n get hasDismissButton(): boolean { return this._hasDismissButton; }\n set hasDismissButton(value: BooleanInput) { this._hasDismissButton = coerceBooleanProperty(value); }\n private _hasDismissButton = true;\n @Input()\n get hasMobileCustomSize(): boolean { return this._hasMobileCustomSize; }\n set hasMobileCustomSize(value: BooleanInput) { this._hasMobileCustomSize = coerceBooleanProperty(value); }\n private _hasMobileCustomSize = false;\n @Input()\n get isClosedOnClickOutside(): boolean { return this._isClosedOnClickOutside; }\n set isClosedOnClickOutside(value: BooleanInput) { this._isClosedOnClickOutside = coerceBooleanProperty(value); }\n private _isClosedOnClickOutside = false;\n @Input()\n get isClosedOnEscape(): boolean { return this._isClosedOnEscape; }\n set isClosedOnEscape(value: BooleanInput) { this._isClosedOnEscape = coerceBooleanProperty(value); }\n private _isClosedOnEscape = true;\n @Input()\n get isHandleCloseOnDismiss(): boolean { return this._isHandleCloseOnDismiss; }\n set isHandleCloseOnDismiss(value: BooleanInput) { this._isHandleCloseOnDismiss = coerceBooleanProperty(value); }\n private _isHandleCloseOnDismiss = false;\n @Input()\n get isHandleCloseOnClose(): boolean { return this._isHandleCloseOnClose; }\n set isHandleCloseOnClose(value: BooleanInput) { this._isHandleCloseOnClose = coerceBooleanProperty(value); }\n private _isHandleCloseOnClose = false;\n @Input()\n get isHandleCloseOnAccept(): boolean { return this._isHandleCloseOnAccept; }\n set isHandleCloseOnAccept(value: BooleanInput) { this._isHandleCloseOnAccept = coerceBooleanProperty(value); }\n private _isHandleCloseOnAccept = false;\n @Input()\n get isHandleCloseOnClickOutside(): boolean { return this._isHandleCloseOnClickOutside; }\n set isHandleCloseOnClickOutside(value: BooleanInput) { this._isHandleCloseOnClickOutside = coerceBooleanProperty(value); }\n private _isHandleCloseOnClickOutside = false;\n @Input()\n get isHandleCloseOnEscape(): boolean { return this._isHandleCloseOnEscape; }\n set isHandleCloseOnEscape(value: BooleanInput) { this._isHandleCloseOnEscape = coerceBooleanProperty(value); }\n private _isHandleCloseOnEscape = false;\n @Input()\n get isMessageBox(): boolean { return this._isMessageBox; }\n set isMessageBox(value: BooleanInput) { this._isMessageBox = coerceBooleanProperty(value); }\n private _isMessageBox = false;\n @Input()\n get isDraggable(): boolean { return this._isDraggable; }\n set isDraggable(value: BooleanInput) { this._isDraggable = coerceBooleanProperty(value); }\n private _isDraggable = false;\n @Input()\n get hasNoBodyPadding(): boolean { return this._hasNoBodyPadding; }\n set hasNoBodyPadding(value: BooleanInput) { this._hasNoBodyPadding = coerceBooleanProperty(value); }\n private _hasNoBodyPadding = false;\n @Input()\n get hasFooter(): boolean { return this._hasFooter; }\n set hasFooter(value: BooleanInput) { this._hasFooter = coerceBooleanProperty(value); }\n private _hasFooter = true;\n\n private dialog: OpenedDialog;\n private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiDialogService: EuiDialogService) {\n super();\n }\n\n ngOnInit(): void {\n if (this.isMessageBox) {\n this.isClosedOnEscape = false;\n this.hasCloseButton = false;\n }\n\n if (this.euiPrimary) { this.typeClass = 'primary'; }\n if (this.euiSecondary) { this.typeClass = 'secondary'; }\n if (this.euiInfo) { this.typeClass = 'info'; }\n if (this.euiSuccess) { this.typeClass = 'success'; }\n if (this.euiWarning) { this.typeClass = 'warning'; }\n if (this.euiDanger) { this.typeClass = 'danger'; }\n if (this.euiAccent) { this.typeClass = 'accent'; }\n }\n\n ngAfterViewInit(): void {\n if (this.euiDialogHeaderDirective) {\n this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n }\n\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiDialogFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Whether the eui-dialog is open.\n *\n * @usageNotes\n * ```html\n * <eui-dialog #dialog>\n * <my-component *ngIf=\"dialog.isOpen\"></my-component>\n * </eui-dialog>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Open a dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n isFullScreen: this.isFullScreen,\n typeClass: this.typeClass,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: this.hasCloseButton,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasMobileCustomSize: this.hasMobileCustomSize,\n isClosedOnClickOutside: this.isClosedOnClickOutside,\n isClosedOnEscape: this.isClosedOnEscape,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n isDraggable: this.isDraggable,\n hasNoBodyPadding: this.hasNoBodyPadding,\n hasFooter: this.hasFooter,\n header: this.templatePortalHeader,\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n clickOutside: () => {\n if (this.isClosedOnClickOutside) {\n this.isOpen$.next(false);\n }\n this.clickOutside.emit();\n },\n escape: () => {\n if (this.isClosedOnEscape) {\n this.isOpen$.next(false);\n }\n this.escape.emit();\n },\n open: () => {\n this.open.emit();\n },\n close: () => {\n if (!this.isHandleCloseOnClose) {\n this.isOpen$.next(false);\n }\n this.close.emit();\n },\n dismiss: () => {\n if (!this.isHandleCloseOnDismiss) {\n this.isOpen$.next(false);\n }\n this.dismiss.emit();\n },\n accept: () => {\n if (!this.isHandleCloseOnAccept) {\n this.isOpen$.next(false);\n }\n this.accept.emit();\n },\n };\n\n this.isOpen$.next(true);\n this.dialog = this.euiDialogService.openDialog(config);\n\n return this.dialog;\n }\n\n /**\n * Close a Dialog\n */\n public closeDialog(): void {\n this.isOpen$.next(false);\n this.euiDialogService.closeDialog();\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header' })\nexport class EuiDialogHeaderDirective { }\n\n@Directive({ selector: 'eui-dialog-footer' })\nexport class EuiDialogFooterDirective { }\n/* eslint-enable */\n","<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\nimport { EuiDialogComponent, EuiDialogFooterDirective, EuiDialogHeaderDirective } from './eui-dialog.component';\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogContainerComponent } from './container/eui-dialog-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiButtonModule,\n EuiIconModule,\n TranslateModule,\n PortalModule,\n OverlayModule,\n A11yModule,\n DragDropModule,\n CdkScrollableModule,\n ],\n exports: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n ],\n declarations: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n EuiDialogContainerComponent,\n ],\n providers: [\n EuiDialogService,\n ],\n})\n\nexport class EuiDialogModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.EuiDialogService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAEa,uBAAuB,GAAG,IAAI,cAAc,CAAM,yBAAyB,EAAE;MAC7E,uBAAuB,GAAG,IAAI,cAAc,CAAM,yBAAyB;;MCA3E,eAAe,CAAA;AAqBxB,IAAA,WAAA,CAAY,MAAqD,EAAA;QApBjE,IAAO,CAAA,OAAA,GAAG,iBAAiB,CAAC;QAC5B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;QACvB,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;QAC5B,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QACrB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QACtB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QACvB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAC5B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAC7B,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAA2B,CAAA,2BAAA,GAAG,KAAK,CAAC;QACpC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QACjB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ,CAAA;MAsDY,2BAA2B,CAAA;AAAxC,IAAA,WAAA,GAAA;QACI,IAAe,CAAA,eAAA,GAAO,IAAI,CAAC;QAC3B,IAAa,CAAA,aAAA,GAAO,IAAI,CAAC;QACzB,IAAe,CAAA,eAAA,GAAO,IAAI,CAAC;KAC9B;AAAA;;MCnEY,2BAA2B,CAAA;AAsBpC,IAAA,WAAA,CAAoD,qBAAoE,EACpG,QAAkB,EAAU,EAAqB,EAAA;QADjB,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAA+C;QACpG,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QArB9D,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAC7B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAE/B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAChC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;AAMhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,2BAA2B,EAAc,CAAC;AACnE,QAAA,IAAA,CAAA,qBAAqB,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACtF,QAAA,IAAA,CAAA,sBAAsB,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAExE,IAAM,CAAA,MAAA,GAAG,sBAAsB,CAAC;AAE9C,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAGa;IAEzE,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,YAAY,cAAc,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,YAAY,cAAc,EAAE;AAC9D,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,YAAY,cAAc,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CACnD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,EACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAC7B,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE;AACrD,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,EAClD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAC3B,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CACnD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,EACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAC7B,CAAC;AAC5B,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED,IAAA,IAAI,qBAAqB,GAAA;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAyB,CAAC;KAC/D;AAED,IAAA,IAAI,4BAA4B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAiB,CAAC;KACvD;IAEM,cAAc,CAAC,WAAuC,EAAE,SAAoE,EAAA;QAC/H,MAAM,YAAY,GAAG,WAAyC,CAAC;QAE/D,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;QAE5E,IAAI,CAAC,kBAAkB,GAAG;YACtB,GAAG,IAAI,CAAC,kBAAkB;AAC1B,YAAA,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ;SACrC,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;AAC9C,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpE,gBAAA,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;AACvE,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;wBAC1B,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,KAAI;4BAC5E,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5F,yBAAC,CAAC,CAAC;AACN,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAEM,WAAW,GAAA;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC7D;IAEM,SAAS,GAAA;QACZ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,EAAE;YACpD,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;IAEM,QAAQ,GAAA;QACX,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;AAED;;AAEG;IACI,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAEM,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KAC3B;IAEO,qBAAqB,CAAC,SAAsC,EAAE,MAAuB,EAAA;QACzF,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;AACjI,QAAA,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;KACpF;AAEO,IAAA,cAAc,CAAC,IAAqB,EAAA;AACxC,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACN;;AAtKQ,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAsBhB,uBAAuB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAtBlC,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,8GClBxC,ovMA+FA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FD7Ea,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,mBAGf,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ovMAAA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,CAAA;;0BAyBxB,MAAM;2BAAC,uBAAuB,CAAA;mGAJrB,MAAM,EAAA,CAAA;sBAA3B,WAAW;uBAAC,OAAO,CAAA;;;ME/BX,YAAY,CAAA;AAMrB,IAAA,WAAA,CAAY,MAA6B,EAAA;QALzC,IAAE,CAAA,EAAA,GAAW,IAAI,CAAC;QAClB,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;QACrB,IAAU,CAAA,UAAA,GAAe,IAAI,CAAC;QAC9B,IAAY,CAAA,YAAA,GAA4E,IAAI,CAAC;AAGzF,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ;;MCFY,gBAAgB,CAAA;IAMzB,WAAoB,CAAA,OAAgB,EAAU,QAAkB,EAAA;QAA5C,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAHxD,QAAA,IAAA,CAAA,cAAc,GAAoC,IAAI,eAAe,CAAiB,EAAE,CAAC,CAAC;AAC1F,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAEQ;IAEpE,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;AAED;;;;AAIG;IACI,UAAU,CAA4B,SAAwD,EAAE,EAAA;AACnG,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3C,aAAA,MAAM,EAAE;AACR,aAAA,kBAAkB,EAAE;AACpB,aAAA,gBAAgB,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC7D,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACjD,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACrC,YAAA,GAAG,MAAM;YACT,gBAAgB;YAChB,cAAc;AACd,YAAA,KAAK,EAAE,MAAM,CAAC,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC,KAAK;AACnD,YAAA,MAAM,EAAE,MAAM,CAAC,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM;AACxD,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;AACnE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,YAAA,aAAa,EAAE,CAAC,sBAAsB,EAAE,QAAQ,GAAG,YAAY,CAAC;AAChE,YAAA,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,gBAAgB;YAChB,cAAc;AACd,YAAA,mBAAmB,EAAE,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,YAAY,GAAG,IAAI,YAAY,CAAC;AAChC,YAAA,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC3C,UAAU;AACV,YAAA,YAAY,EAAE,IAAI;AACrB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,cAAc,GAAkD;AAClE,YAAA,GAAG,YAAY;YACf,QAAQ;YACR,UAAU;AACV,YAAA,IAAI,EAAE,CAAC,SAAkD,KAAI;AACzD,gBAAA,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;aAC5B;YACD,IAAI,EAAE,MAAK;AACP,gBAAA,MAAM,CAAC,IAAI,IAAI,CAAC;aACnB;AACD,YAAA,YAAY,EAAE,CAAC,SAAkD,KAAI;AACjE,gBAAA,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;aACpC;AACD,YAAA,MAAM,EAAE,CAAC,SAAkD,KAAI;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;aAC9B;AACD,YAAA,KAAK,EAAE,CAAC,SAAkD,KAAI;AAC1D,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3B,gBAAA,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;aAC7B;AACD,YAAA,OAAO,EAAE,CAAC,SAAkD,KAAI;AAC5D,gBAAA,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;aAC/B;AACD,YAAA,MAAM,EAAE,CAAC,SAAkD,KAAI;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;aAC9B;SACJ,CAAC;AACF,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CACvC,2BAA2B,EAC3B,IAAI,EACJ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAClC,CAAC;QACN,MAAM,YAAY,GAAyE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC3I,QAAA,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,CAAC;QAEjD,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAe,KAAI;YACjG,IAAI,cAAc,CAAC,sBAAsB,EAAE;gBACvC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAChE,gBAAA,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE;AACrC,oBAAA,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvC,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,gBAAgB,EAAE;YACjC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,KAAI;gBAC/F,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE;oBAC/C,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC1D,oBAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC/B,wBAAA,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvC,qBAAA;AACJ,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAEvE,QAAA,OAAO,YAAY,CAAC;KACvB;AAED;;;AAGG;AACI,IAAA,WAAW,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;AACnF,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9I,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/G,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9I,SAAA;KACJ;AAED;;AAEG;IACI,eAAe,GAAA;QAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACzC,YAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACnH,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;IACI,eAAe,GAAA;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED;;;;AAIG;AACI,IAAA,SAAS,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;KACjE;AAED;;AAEG;IACI,mBAAmB,GAAA;QACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/G;AAED;;AAEG;IACI,kBAAkB,GAAA;QACrB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;KAC9G;AAED;;AAEG;IACI,oBAAoB,GAAA;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAChH;AAED;;AAEG;IACI,mBAAmB,GAAA;QACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/G;AAEO,IAAA,cAAc,CAAC,IAAS,EAAA;AAC5B,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACN;;iIA9LQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qIAAhB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;ACYL,MAAO,kBAAmB,SAAQ,aAAa,CAAA;IAmIjD,WAAoB,CAAA,gBAAkC,EAAU,gBAAkC,EAAA;AAC9F,QAAA,KAAK,EAAE,CAAC;QADQ,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAAU,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAlIzF,IAAO,CAAA,OAAA,GAAW,YAAY,CAAC;QAE/B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;QACvB,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;AAG3B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;;AAE5B,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;;AAE1B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,OAAO,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAqBvE,IAAM,CAAA,MAAA,GAAG,OAAO,CAAC;QAajB,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC;QAYjB,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAItB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QAIvB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QAIxB,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAIzB,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAI7B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAIhC,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAIzB,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAIhC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAI9B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAA4B,CAAA,4BAAA,GAAG,KAAK,CAAC;QAIrC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAItB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAIrB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAI1B,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAMlB,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAI3D;AA3GD,IAAA,IACI,KAAK,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC7B,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IACD,IAAI,KAAK,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,SAAA;KACJ;AAED,IAAA,IACI,MAAM,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC7B,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IACD,IAAI,MAAM,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACxB,SAAA;KACJ;AAED,IAAA,IACI,YAAY,GAAA;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;IACD,IAAI,YAAY,CAAC,KAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAClD,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,SAAA;KACJ;IAED,IACI,cAAc,KAAc,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE;AAC9D,IAAA,IAAI,cAAc,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhG,IACI,eAAe,KAAc,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAChE,IAAA,IAAI,eAAe,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAElG,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,mBAAmB,KAAc,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE;AACxE,IAAA,IAAI,mBAAmB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1G,IACI,sBAAsB,KAAc,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE;AAC9E,IAAA,IAAI,sBAAsB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhH,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,sBAAsB,KAAc,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE;AAC9E,IAAA,IAAI,sBAAsB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhH,IACI,oBAAoB,KAAc,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE;AAC1E,IAAA,IAAI,oBAAoB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5G,IACI,qBAAqB,KAAc,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE;AAC5E,IAAA,IAAI,qBAAqB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE9G,IACI,2BAA2B,KAAc,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE;AACxF,IAAA,IAAI,2BAA2B,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,4BAA4B,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1H,IACI,qBAAqB,KAAc,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE;AAC5E,IAAA,IAAI,qBAAqB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE9G,IACI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;AAC1D,IAAA,IAAI,YAAY,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5F,IACI,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE;AACxD,IAAA,IAAI,WAAW,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1F,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;AACpD,IAAA,IAAI,SAAS,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAatF,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC/B,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;AAAE,SAAA;QACxD,IAAI,IAAI,CAAC,OAAO,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AAAE,SAAA;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAAE,SAAA;QAClD,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAAE,SAAA;KACrD;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjG,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEhG,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjG,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED;;;;;;;;;;AAUG;AACH,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7B;AAED;;;AAGG;IACI,UAAU,GAAA;AACb,QAAA,MAAM,MAAM,GAAkD;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,YAAY,EAAE,MAAK;gBACf,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC5B;YACD,MAAM,EAAE,MAAK;gBACT,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACtB;YACD,IAAI,EAAE,MAAK;AACP,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,KAAK,EAAE,MAAK;AACR,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC5B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aACrB;YACD,OAAO,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC9B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;YACD,MAAM,EAAE,MAAK;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC7B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACtB;SACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED;;AAEG;IACI,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;KACvC;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/F;AAED;;AAEG;IACI,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;KAC9F;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAChG;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/F;;mIAhSQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAPhB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OA4B8B,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OACxB,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/C3D,gTASA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDca,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGX,SAAA,EAAA;AACP,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gTAAA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,CAAA;mIAI5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAEG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBAEG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKyB,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBACG,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB,CAAA;gBACC,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBAE4B,wBAAwB,EAAA,CAAA;sBAAjF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAA;gBACE,wBAAwB,EAAA,CAAA;sBAAjF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAA;gBAGpD,KAAK,EAAA,CAAA;sBADR,KAAK;gBAcF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAcF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAaF,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAKF,eAAe,EAAA,CAAA;sBADlB,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,mBAAmB,EAAA,CAAA;sBADtB,KAAK;gBAKF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAKF,oBAAoB,EAAA,CAAA;sBADvB,KAAK;gBAKF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAKF,2BAA2B,EAAA,CAAA;sBAD9B,KAAK;gBAKF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAKF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAKF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,SAAS,EAAA,CAAA;sBADZ,KAAK;;AA2KV;MAEa,wBAAwB,CAAA;;yIAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;;MAI/B,wBAAwB,CAAA;;yIAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;;;MEnR/B,eAAe,CAAA;;gIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAVpB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB;AACxB,QAAA,2BAA2B,aAnB3B,YAAY;QACZ,eAAe;QACf,aAAa;QACb,eAAe;QACf,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;AACd,QAAA,mBAAmB,aAGnB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAanB,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EALb,SAAA,EAAA;QACP,gBAAgB;AACnB,KAAA,EAAA,OAAA,EAAA,CAvBG,YAAY;QACZ,eAAe;QACf,aAAa;QACb,eAAe;QACf,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;QACd,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAkBd,eAAe,EAAA,UAAA,EAAA,CAAA;kBA5B3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,YAAY;wBACZ,aAAa;wBACb,UAAU;wBACV,cAAc;wBACd,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,wBAAwB;wBACxB,wBAAwB;AAC3B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,kBAAkB;wBAClB,wBAAwB;wBACxB,wBAAwB;wBACxB,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,gBAAgB;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;ACzCD;;AAEG;;;;"}
@@ -982,6 +982,32 @@ const maxSizeValidator = (maxSize) => (control) => {
982
982
  }
983
983
  return control.value && totalSize > maxSize * 1.024 ? { maxSize } : null;
984
984
  };
985
+ /**
986
+ * @description
987
+ * Validator that requires an array of mime type that can be uploaded.
988
+ *
989
+ * @usageNotes
990
+ * Validate that the user doesn't select a file having another extension than .jpg or .jpeg:
991
+ *
992
+ * ```typescript
993
+ * const fileUpload = new FormControl(null, mimeTypeExtensionValidator(['image/jpeg'])),
994
+ * console.log(fileUpload.errors); // { invalidFileExtension: ['image/jpeg'] }
995
+ * ```
996
+ *
997
+ * @returns A validator function that returns an error map with the
998
+ * `invalidFileExtension` if the validation check fails, otherwise `null`.
999
+ */
1000
+ const mimeTypeExtensionValidator = (mimeTypes) => (control) => {
1001
+ const invalidFileExtension = [];
1002
+ if (control.value) {
1003
+ control.value.forEach((file) => {
1004
+ if (mimeTypes.indexOf(file.type) === -1) {
1005
+ invalidFileExtension.push(file.name);
1006
+ }
1007
+ });
1008
+ }
1009
+ return control.value && invalidFileExtension.length > 0 ? { invalidFileExtension } : null;
1010
+ };
985
1011
  /**
986
1012
  * @description
987
1013
  * Validator that requires an array of mime type that can be uploaded.
@@ -997,7 +1023,7 @@ const maxSizeValidator = (maxSize) => (control) => {
997
1023
  * @returns An Async validator function that returns an error map with the
998
1024
  * `invalidMimeFileType` if the validation check fails, otherwise `null`.
999
1025
  */
1000
- const mimeTypeExtensionValidator = (mimeTypes) => (control) => {
1026
+ const asyncMimeTypeExtensionValidator = (mimeTypes) => (control) => {
1001
1027
  if (control.value) {
1002
1028
  const fileErrorObservables = [];
1003
1029
  // iterate over files
@@ -1013,21 +1039,19 @@ const mimeTypeExtensionValidator = (mimeTypes) => (control) => {
1013
1039
  }
1014
1040
  return of(null);
1015
1041
  };
1016
- const validateFileMimeType = (file, mimeTypes) => {
1017
- return new Observable((subscriber) => {
1018
- const reader = new FileReader();
1019
- reader.onloadend = () => {
1020
- const buffer = reader.result;
1021
- const headerBytes = new Uint8Array(buffer).slice(0, 8);
1022
- const mime = getMimeType(headerBytes);
1023
- if (mimeTypes.indexOf(mime) === -1) {
1024
- subscriber.next({ [file.name]: mime });
1025
- }
1026
- subscriber.complete();
1027
- };
1028
- reader.readAsArrayBuffer(file);
1029
- });
1030
- };
1042
+ const validateFileMimeType = (file, mimeTypes) => new Observable((subscriber) => {
1043
+ const reader = new FileReader();
1044
+ reader.onloadend = () => {
1045
+ const buffer = reader.result;
1046
+ const headerBytes = new Uint8Array(buffer).slice(0, 8);
1047
+ const mime = getMimeType(headerBytes);
1048
+ if (mimeTypes.indexOf(mime) === -1) {
1049
+ subscriber.next({ [file.name]: mime });
1050
+ }
1051
+ subscriber.complete();
1052
+ };
1053
+ reader.readAsArrayBuffer(file);
1054
+ });
1031
1055
 
1032
1056
  class EuiUploadedFile {
1033
1057
  constructor(values) {
@@ -1039,5 +1063,5 @@ class EuiUploadedFile {
1039
1063
  * Generated bundle index. Do not edit.
1040
1064
  */
1041
1065
 
1042
- export { EuiFilePreviewComponent, EuiFileUploadComponent, EuiFileUploadModule, EuiFileUploadProgressComponent, EuiFileUploadUtilsService, EuiUploadedFile, maxFilesValidator, maxSizeValidator, mimeTypeExtensionValidator };
1066
+ export { EuiFilePreviewComponent, EuiFileUploadComponent, EuiFileUploadModule, EuiFileUploadProgressComponent, EuiFileUploadUtilsService, EuiUploadedFile, asyncMimeTypeExtensionValidator, maxFilesValidator, maxSizeValidator, mimeTypeExtensionValidator };
1043
1067
  //# sourceMappingURL=eui-components-eui-file-upload.mjs.map