{"version":3,"file":"ddata-ui-dialog.mjs","sources":["../../../projects/ddata-ui-dialog/src/lib/models/dialog/content/dialog-content-item.ts","../../../projects/ddata-ui-dialog/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../projects/ddata-ui-dialog/src/lib/components/confirm-dialog/confirm-dialog.component.html","../../../projects/ddata-ui-dialog/src/lib/components/modal-dialog/modal-dialog.component.ts","../../../projects/ddata-ui-dialog/src/lib/components/modal-dialog/modal-dialog.component.html","../../../projects/ddata-ui-dialog/src/lib/ddata-ui-dialog.module.ts","../../../projects/ddata-ui-dialog/src/public-api.ts","../../../projects/ddata-ui-dialog/src/ddata-ui-dialog.ts"],"sourcesContent":["import { Type } from '@angular/core';\n\nexport class DialogContentItem {\n  constructor(public component: Type<any>, public data: any) {}\n}\n\nexport class DialogContentWithOptions {\n  constructor(public component: Type<any>, public options: any) {}\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { faExclamationTriangle, faInfoCircle, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { DialogType } from '../../models/dialog/dialog.interface';\n\ndeclare var $: any;\n@Component({\n  selector: 'dd-confirm-dialog',\n  templateUrl: './confirm-dialog.component.html',\n  styleUrls: ['./confirm-dialog.component.scss']\n})\nexport class DdataUiConfirmDialogComponent implements OnInit {\n  @Input() title = '';\n  @Input() content = '';\n  @Input() type: DialogType = 'message';\n  @Input() showDialog = false;\n  @Input() overlayClickCloseDialog = true;\n  @Input() successButtonText = 'OK';\n  @Input() cancelButtonText = 'Cancel';\n  @Input() closeButtonText = 'Close';\n\n  @Output() confirm: EventEmitter<any> = new EventEmitter();\n  @Output() pressed: EventEmitter<boolean> = new EventEmitter();\n\n  confirmed = false;\n\n  icon = {\n    close: faTimes,\n    info: faInfoCircle,\n    alert: faExclamationTriangle,\n  };\n\n  constructor() { }\n\n  ngOnInit(): void {\n  }\n\n  cancel(): void {\n    this.showDialog = false;\n    this.pressed.emit(false);\n  }\n\n  confirmModal(): void {\n    this.pressed.emit(true);\n    this.showDialog = false;\n    this.confirm.emit();\n  }\n\n  clickOnOverlay(): void {\n    if (this.overlayClickCloseDialog) {\n      this.cancel();\n    }\n  }\n}\n","<!-- modal overlay -->\n<div class=\"modal-overlay\" [class.active]=\"showDialog\" (click)=\"clickOnOverlay()\"></div>\n\n<!-- dialog -->\n<div *ngIf=\"showDialog\" class=\"modal\" tabindex=\"-1\" role=\"dialog\">\n  <div class=\"modal-dialog modal-dialog-centered modal-md\" role=\"document\">\n    <div class=\"modal-content\">\n\n      <!-- header -->\n      <div class=\"modal-header\">\n        <!-- title -->\n        <div class=\"col-10 text-start\">\n          <h5 class=\"modal-title\">{{ title }}</h5>\n        </div>\n\n        <!-- close button -->\n        <div class=\"col-2 text-end\">\n          <button type=\"button\" class=\"btn btn-light close\" data-dismiss=\"modal\"\n            [attr.aria-label]=\"closeButtonText\"\n            (click)=\"cancel()\">\n\n            <fa-icon [icon]=\"icon.close\"></fa-icon>\n          </button>\n        </div>\n      </div>\n\n      <!-- body -->\n      <div class=\"modal-body d-flex\">\n        <div class=\"icon-container\"\n          [ngClass]=\"{'text-primary': type === 'message' || type === 'warning', 'text-danger': type === 'delete'}\">\n          <!-- alert icon -->\n          <div *ngIf=\"type === 'delete'\">\n            <fa-icon [icon]=\"icon.alert\"></fa-icon>\n          </div>\n\n          <!-- info icon -->\n          <div *ngIf=\"type === 'message'\">\n            <fa-icon [icon]=\"icon.info\"></fa-icon>\n          </div>\n\n        </div>\n\n        <div class=\"content-container px-3\">\n          <p>{{ content }}</p>\n        </div>\n\n      </div>\n\n      <!-- footer -->\n      <div class=\"modal-footer\">\n        <!-- confirmation button -->\n        <button type=\"button\" class=\"btn\"\n          [ngClass]=\"{'btn-primary': type === 'message' || type === 'warning', 'btn-danger': type === 'delete'}\"\n          (click)=\"confirmModal()\">\n\n          <span>{{ successButtonText }}</span>\n        </button>\n\n        <!-- cancel button -->\n        <button type=\"button\" class=\"btn btn-secondary\"\n          *ngIf=\"type === 'delete' || type === 'message' || type === 'warning'\"\n          (click)=\"cancel()\">\n\n          {{ cancelButtonText }}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n","// tslint:disable-next-line: max-line-length\nimport { ChangeDetectorRef, Component, ComponentFactoryResolver, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { BaseCreateEditComponent, BaseModel, BaseModelInterface, BaseModelWithoutTypeDefinitionInterface } from 'ddata-core';\nimport { DdataUiNoDataComponent } from 'ddata-ui-common';\nimport { Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DialogContentItem } from '../../models/dialog/content/dialog-content-item';\nimport { DialogContentInterface } from '../../models/dialog/content/dialog-content.interface';\n\n@Component({\n  selector: 'dd-modal-dialog',\n  templateUrl: './modal-dialog.component.html',\n  styleUrls: ['./modal-dialog.component.scss']\n})\nexport class DdataUiModalDialogComponent implements OnInit {\n  isModalVisible = false;\n  componentSubscription: Subscription;\n  @Input() title = '';\n  @Input() model: BaseModelWithoutTypeDefinitionInterface = new BaseModel();\n  @Input() dialogContent: DialogContentItem = new DialogContentItem(DdataUiNoDataComponent, {});\n  @Input() set showDialog(value: boolean) {\n    if (!!value) {\n      this.showModal();\n    } else {\n      this.close();\n    }\n  }\n  @Input() overlayClickCloseDialog = true;\n  @Input() closeButtonText = 'Close';\n\n  // tslint:disable-next-line: no-output-native\n  @Output() success: EventEmitter<BaseModelWithoutTypeDefinitionInterface> = new EventEmitter();\n  @Output() fail: EventEmitter<string> = new EventEmitter();\n\n  @ViewChild('dialogHost', { read: ViewContainerRef }) dialogHost: ViewContainerRef;\n  componentRef: any;\n  icon = {\n    close: faTimes,\n  };\n\n  constructor(\n    private componentFactoryResolver: ComponentFactoryResolver,\n    private changeDetector: ChangeDetectorRef,\n  ) { }\n\n  ngOnInit(): void {\n  }\n\n  close(emit: boolean = true): void {\n    this.changeModalStatus(false);\n    this.componentSubscription?.unsubscribe();\n\n    if (emit) {\n      this.fail.emit('close');\n    }\n  }\n\n  closeWithoutEmit(): void {\n    this.close(false);\n  }\n\n  showModal(): void {\n    this.changeModalStatus(true);\n    this.renderComponent();\n  }\n\n  private changeModalStatus(isVisible: boolean = false): void {\n    this.isModalVisible = isVisible;\n    this.changeDetector.detectChanges();\n  }\n\n  renderComponent(): void {\n    if (!this.dialogContent) {\n      return;\n    }\n\n    const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.dialogContent.component);\n\n    this.dialogHost.clear();\n\n    this.componentRef = this.dialogHost.createComponent(componentFactory);\n    if (!!this.dialogContent.data.model) {\n      // tslint:disable-next-line: max-line-length\n      (this.componentRef.instance as BaseCreateEditComponent<BaseModelInterface<any>>).model = this.dialogContent.data.model;\n    }\n    (this.componentRef.instance as DialogContentInterface).data = this.dialogContent.data;\n    (this.componentRef.instance as DialogContentInterface).isModal = true;\n    if (!!(this.componentRef.instance as DialogContentInterface).saveModel) {\n      this.componentSubscription = (this.componentRef.instance as DialogContentInterface).saveModel\n        .subscribe((model: any) => this.save(model));\n    }\n\n    if (!!this.dialogContent.data) {\n      (this.componentRef.instance as DialogContentInterface).isModal = true;\n      (this.componentRef.instance as DialogContentInterface).multipleSelectEnabled = this.dialogContent.data.multipleSelectEnabled;\n      (this.componentRef.instance as DialogContentInterface).isSelectionList = this.dialogContent.data.isSelectionList;\n      (this.componentRef.instance as DialogContentInterface).loadData = this.dialogContent.data.loadData;\n      (this.componentRef.instance as DialogContentInterface).filter = this.dialogContent.data.filter ?? {};\n\n      // if the list component has preloaded datas\n      if (!this.dialogContent.data.loadData && !!this.dialogContent.data.models) {\n        (this.componentRef.instance as DialogContentInterface).models = this.dialogContent.data.models;\n      }\n\n      // if there are previously selected elements\n      if (!!this.dialogContent.data.selectedElements) {\n        (this.componentRef.instance as DialogContentInterface).selectedElements = [...this.dialogContent.data.selectedElements];\n      }\n\n      // if component hasn't select observable we finish setting process here\n      if (!(this.componentRef.instance as DialogContentInterface).select) {\n        return;\n      }\n\n      // if component has select observable we need to handle it's events\n      this.componentSubscription = (this.componentRef.instance as DialogContentInterface).select.pipe(\n        map((models: any[]) => {\n          // always return an array, even if there is only one selected item\n          models.forEach((model: any) => {\n            // do emit with all selected elements\n            this.success.emit(model);\n          });\n\n          this.close();\n        }),\n      ).subscribe();\n    }\n  }\n\n  save(model: any): void {\n    this.success.emit(model);\n    this.closeWithoutEmit();\n  }\n\n  clickOnOverlay(): void {\n    if (this.overlayClickCloseDialog) {\n      this.closeWithoutEmit();\n    }\n  }\n}\n","<div class=\"modal-overlay\" [class.active]=\"isModalVisible\" (click)=\"clickOnOverlay()\"></div>\n\n<div *ngIf=\"isModalVisible\" class=\"modal\" tabindex=\"-1\" role=\"dialog\">\n  <div class=\"modal-dialog modal-dialog-centered modal-lg modal-dialog-scrollable\" role=\"document\">\n    <div class=\"modal-content\">\n\n      <div class=\"modal-header\">\n        <div class=\"col-10\">\n          <h5 class=\"modal-title\">{{ title }}</h5>\n        </div>\n        <div class=\"col-2 text-end\">\n          <button type=\"button\" class=\"btn btn-light close\" (click)=\"close()\" [attr.aria-label]=\"closeButtonText\">\n            <fa-icon [icon]=\"icon.close\"></fa-icon>\n          </button>\n        </div>\n      </div>\n\n      <div class=\"modal-body\">\n        <ng-template #dialogHost></ng-template>\n      </div>\n    </div>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DdataCoreModule } from 'ddata-core';\nimport { DdataUiCommonModule } from 'ddata-ui-common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DdataUiConfirmDialogComponent } from './components/confirm-dialog/confirm-dialog.component';\nimport { DdataUiModalDialogComponent } from './components/modal-dialog/modal-dialog.component';\n\n@NgModule({\n  declarations: [\n    DdataUiConfirmDialogComponent,\n    DdataUiModalDialogComponent,\n  ],\n  imports: [\n    CommonModule,\n    DdataCoreModule,\n    DdataUiCommonModule,\n    FontAwesomeModule,\n  ],\n  exports: [\n    DdataUiConfirmDialogComponent,\n    DdataUiModalDialogComponent,\n\n  ]\n})\nexport class DdataUiDialogModule { }\n","/*\n * Public API Surface of ddata-ui-dialog\n */\n\nexport * from './lib/models/dialog/dialog.interface';\n\nexport * from './lib/models/dialog/content/dialog-content.interface';\nexport * from './lib/models/dialog/content/dialog-content-item';\n\nexport * from './lib/components/confirm-dialog/confirm-dialog.component';\nexport * from './lib/components/modal-dialog/modal-dialog.component';\n\nexport * from './lib/ddata-ui-dialog.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;MAEa,iBAAiB,CAAA;IAC5B,WAAmB,CAAA,SAAoB,EAAS,IAAS,EAAA;AAAtC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAAS,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAK;KAAI;AAC9D,CAAA;MAEY,wBAAwB,CAAA;IACnC,WAAmB,CAAA,SAAoB,EAAS,OAAY,EAAA;AAAzC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAAS,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAK;KAAI;AACjE;;MCEY,6BAA6B,CAAA;AAqBxC,IAAA,WAAA,GAAA;AApBS,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAI,CAAA,IAAA,GAAe,SAAS,CAAC;AAC7B,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAuB,CAAA,uBAAA,GAAG,IAAI,CAAC;AAC/B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AACzB,QAAA,IAAgB,CAAA,gBAAA,GAAG,QAAQ,CAAC;AAC5B,QAAA,IAAe,CAAA,eAAA,GAAG,OAAO,CAAC;AAEzB,QAAA,IAAA,CAAA,OAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;AAChD,QAAA,IAAA,CAAA,OAAO,GAA0B,IAAI,YAAY,EAAE,CAAC;AAE9D,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAElB,IAAA,CAAA,IAAI,GAAG;AACL,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,KAAK,EAAE,qBAAqB;SAC7B,CAAC;KAEe;IAEjB,QAAQ,GAAA;KACP;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;IAED,cAAc,GAAA;QACZ,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;AACf,SAAA;KACF;;0HAzCU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,4WCV1C,2qEAqEA,EAAA,MAAA,EAAA,CAAA,0SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,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,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD3Da,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,2qEAAA,EAAA,MAAA,EAAA,CAAA,0SAAA,CAAA,EAAA,CAAA;0EAKpB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;AErBT;MAea,2BAA2B,CAAA;IA0BtC,WACU,CAAA,wBAAkD,EAClD,cAAiC,EAAA;AADjC,QAAA,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAClD,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAmB;AA3B3C,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAEd,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAA,CAAA,KAAK,GAA4C,IAAI,SAAS,EAAE,CAAC;QACjE,IAAa,CAAA,aAAA,GAAsB,IAAI,iBAAiB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AAQrF,QAAA,IAAuB,CAAA,uBAAA,GAAG,IAAI,CAAC;AAC/B,QAAA,IAAe,CAAA,eAAA,GAAG,OAAO,CAAC;;AAGzB,QAAA,IAAA,CAAA,OAAO,GAA0D,IAAI,YAAY,EAAE,CAAC;AACpF,QAAA,IAAA,CAAA,IAAI,GAAyB,IAAI,YAAY,EAAE,CAAC;QAI1D,IAAA,CAAA,IAAI,GAAG;AACL,YAAA,KAAK,EAAE,OAAO;SACf,CAAC;KAKG;IAvBL,IAAa,UAAU,CAAC,KAAc,EAAA;QACpC,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,SAAA;KACF;IAmBD,QAAQ,GAAA;KACP;IAED,KAAK,CAAC,OAAgB,IAAI,EAAA;;AACxB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AAE1C,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,SAAA;KACF;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACnB;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAEO,iBAAiB,CAAC,YAAqB,KAAK,EAAA;AAClD,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;KACrC;IAED,eAAe,GAAA;;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO;AACR,SAAA;AAED,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAE7G,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACtE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;;AAElC,YAAA,IAAI,CAAC,YAAY,CAAC,QAA6D,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACxH,SAAA;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QACrF,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,OAAO,GAAG,IAAI,CAAC;QACtE,IAAI,CAAC,CAAE,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,SAAS,EAAE;YACtE,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,SAAS;AAC1F,iBAAA,SAAS,CAAC,CAAC,KAAU,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,OAAO,GAAG,IAAI,CAAC;AACrE,YAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAC5H,YAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;AAChH,YAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClG,YAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;;AAGrG,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE;AACxE,gBAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AAChG,aAAA;;YAGD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC7C,gBAAA,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzH,aAAA;;YAGD,IAAI,CAAE,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,MAAM,EAAE;gBAClE,OAAO;AACR,aAAA;;AAGD,YAAA,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,YAAY,CAAC,QAAmC,CAAC,MAAM,CAAC,IAAI,CAC7F,GAAG,CAAC,CAAC,MAAa,KAAI;;AAEpB,gBAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;;AAE5B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,iBAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,aAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAC;AACf,SAAA;KACF;AAED,IAAA,IAAI,CAAC,KAAU,EAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,cAAc,GAAA;QACZ,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzB,SAAA;KACF;;wHA5HU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA3B,2BAA2B,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAoBL,gBAAgB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnCnD,+1BAuBA,EAAA,MAAA,EAAA,CAAA,sXAAA,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,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDRa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,+1BAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA,CAAA;+IAOlB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAOG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBAE8C,UAAU,EAAA,CAAA;sBAA9D,SAAS;gBAAC,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;;;METxC,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAf5B,6BAA6B;AAC7B,QAAA,2BAA2B,aAG3B,YAAY;QACZ,eAAe;QACf,mBAAmB;AACnB,QAAA,iBAAiB,aAGjB,6BAA6B;QAC7B,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAIlB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;QACZ,eAAe;QACf,mBAAmB;QACnB,iBAAiB,CAAA,EAAA,CAAA,CAAA;2FAQR,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAjB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,6BAA6B;wBAC7B,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,mBAAmB;wBACnB,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,2BAA2B;AAE5B,qBAAA;iBACF,CAAA;;;ACzBD;;AAEG;;ACFH;;AAEG;;;;"}