{"version":3,"file":"ng-devui-tooltip.mjs","sources":["../../devui/tooltip/tooltip.component.ts","../../devui/tooltip/tooltip.component.html","../../devui/tooltip/tooltip.directive.ts","../../devui/tooltip/tooltip.module.ts","../../devui/tooltip/ng-devui-tooltip.ts"],"sourcesContent":["import {\n  AfterViewInit, Component, ElementRef, HostBinding, HostListener, Input, OnDestroy,\n  Renderer2\n} from '@angular/core';\nimport { PositionService } from 'ng-devui/position';\nimport { directionFadeInOut } from 'ng-devui/utils';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { PositionType } from './tooltip.types';\n\n@Component({\n  selector: 'd-tooltip',\n  templateUrl: './tooltip.component.html',\n  styleUrls: ['./tooltip.component.scss'],\n  animations: [\n    directionFadeInOut\n  ],\n  preserveWhitespaces: false,\n})\nexport class TooltipComponent implements AfterViewInit, OnDestroy {\n  @Input() content: string;\n  _position: PositionType | PositionType[];\n  @Input() get position() {\n    return this._position;\n  }\n  set position(pos) {\n    this._position = pos;\n    this.currentPosition = Array.isArray(pos) ? pos[0] : pos;\n  }\n  currentPosition: PositionType;\n  @Input() triggerElementRef: ElementRef;\n  @Input()  showAnimation  = true;\n  scrollElement: Element;\n  animateState: string ;\n\n  @HostBinding('style.display') display = 'block';\n  @HostBinding('class') get class() {\n    return 'devui-tooltip ' + this.currentPosition;\n  }\n\n  @HostBinding('@directionFadeInOut') get state() {\n    return this.animateState;\n  }\n  @HostBinding('@.disabled') get disabled() {\n    return !this.showAnimation;\n  }\n  _onScroll: Subscription;\n\n  constructor(\n    private positionService: PositionService,\n    private tooltip: ElementRef,\n    private renderer2: Renderer2\n  ) {\n  }\n\n  ngAfterViewInit() {\n    this.updatePosition();\n    this.scrollElement = this.positionService.getScrollParent(this.triggerElementRef.nativeElement);\n    this._onScroll = fromEvent((this.scrollElement || window), 'scroll')\n      .subscribe(() => {\n        this.updatePosition();\n      });\n  }\n\n  ngOnDestroy() {\n    if (this._onScroll) {\n      this._onScroll.unsubscribe();\n    }\n  }\n\n  onShow() {\n    this.animateState = this.currentPosition;\n  }\n\n  onHide() {\n    this.animateState = 'void';\n  }\n\n  // will be overwrite by tooltip directive\n  onHidden() {\n  }\n\n  @HostListener('@directionFadeInOut.done', ['$event'])\n  onAnimationEnd(event) {\n    if (event.toState === 'void') {\n      this.onHidden();\n    }\n  }\n\n  updatePosition() {\n    // 解决tooltip自身大小导致出现滚动条，影响位置计算\n    this.renderer2.setStyle(this.tooltip.nativeElement, 'visibility', 'hidden');\n    this.renderer2.setStyle(this.tooltip.nativeElement, 'transform', 'translate(0, -99999px)');\n    const rect = this.positionService.positionElements(this.triggerElementRef.nativeElement,\n      this.tooltip.nativeElement, this.position, true);\n    setTimeout(() => { // 预防脏检查\n      this.currentPosition = rect.placementPrimary;\n    });\n    this.renderer2.setStyle(this.tooltip.nativeElement, 'left', `${rect.left}px`);\n    this.renderer2.setStyle(this.tooltip.nativeElement, 'top', `${rect.top}px`);\n    // 移除样式\n    this.renderer2.removeStyle(this.tooltip.nativeElement, 'visibility');\n    this.renderer2.removeStyle(this.tooltip.nativeElement, 'transform');\n  }\n}\n","<div class=\"devui-tooltip-arrow\"></div>\n<div class=\"devui-tooltip-inner\" [innerHTML]=\"content\"></div>\n","import {\r\n  AfterViewInit,\r\n  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  Directive,\r\n  ElementRef,\r\n  HostListener,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { OverlayContainerRef } from 'ng-devui/overlay-container';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { debounceTime, filter, map, takeUntil } from 'rxjs/operators';\r\nimport { TooltipComponent } from './tooltip.component';\r\nimport { PositionType } from './tooltip.types';\r\n\r\n@Directive({\r\n  selector: '[dTooltip]',\r\n  exportAs: 'dTooltip',\r\n})\r\nexport class TooltipDirective implements OnChanges, AfterViewInit, OnDestroy {\r\n  @Input() content: string;\r\n  @Input() position: PositionType | PositionType[] = 'top';\r\n  @Input() @WithConfig() showAnimation = true;\r\n  /**\r\n   * @deprecated Use showAnimation to replace.\r\n   */\r\n  @Input() set showAnimate(isShowAnimate: any) {\r\n    this.showAnimation = isShowAnimate;\r\n  }\r\n  // 防止每次鼠标不小心经过目标元素就会显示出Tooltip的内容，所以增加适当的延迟。\r\n  @Input() mouseEnterDelay = 150;\r\n  // 因为鼠标移出之后如果立刻消失会很突然，所以增加略小一些的延迟，使得既不突然也反应灵敏\r\n  @Input() mouseLeaveDelay = 100;\r\n  isEnter: boolean;\r\n  unsubscribe$ = new Subject<void>();\r\n  unsubscribeT$ = new Subject<void>();\r\n  tooltipComponentRef: ComponentRef<TooltipComponent>;\r\n  constructor(\r\n    private triggerElementRef: ElementRef,\r\n    private overlayContainerRef: OverlayContainerRef,\r\n    private componentFactoryResolver: ComponentFactoryResolver,\r\n    private devConfigService: DevConfigService\r\n  ) {}\r\n\r\n  @HostListener('focus') onFocus() {\r\n    this.show();\r\n  }\r\n\r\n  @HostListener('blur') onBlur() {\r\n    this.hide();\r\n  }\r\n\r\n  createTooltip() {\r\n    this.tooltipComponentRef = this.overlayContainerRef.createComponent(\r\n      this.componentFactoryResolver.resolveComponentFactory(TooltipComponent)\r\n    );\r\n\r\n    this.instanceAssignValue(['content', 'position', 'showAnimation', 'triggerElementRef']);\r\n\r\n    // 对创建的ToolTip组件添加鼠标移入和移出的监听事件\r\n    if ((this.tooltipComponentRef.instance as any).tooltip.nativeElement) {\r\n      this.bindMouseEvent((this.tooltipComponentRef.instance as any).tooltip.nativeElement, this.unsubscribeT$);\r\n    }\r\n  }\r\n\r\n  bindMouseEvent(eventTarget: HTMLElement, unsubscribe$: Subject<unknown>) {\r\n    fromEvent(eventTarget, 'mouseenter')\r\n      .pipe(\r\n        map((event) => {\r\n          this.isEnter = true;\r\n          return event;\r\n        }),\r\n        debounceTime(this.mouseEnterDelay),\r\n        filter((event) => this.isEnter),\r\n        takeUntil(unsubscribe$)\r\n      )\r\n      .subscribe(() => {\r\n        if (!this.tooltipComponentRef) {\r\n          this.show();\r\n        }\r\n      });\r\n    fromEvent(eventTarget, 'mouseleave')\r\n      .pipe(\r\n        map((event) => {\r\n          this.isEnter = false;\r\n          return event;\r\n        }),\r\n        debounceTime(this.mouseLeaveDelay),\r\n        filter((event) => !this.isEnter),\r\n        takeUntil(unsubscribe$)\r\n      )\r\n      .subscribe(() => {\r\n        this.hide();\r\n      });\r\n  }\r\n\r\n  show() {\r\n    if (!this.content) {\r\n      return;\r\n    }\r\n\r\n    if (this.tooltipComponentRef) {\r\n      this.destroy();\r\n    }\r\n\r\n    this.createTooltip();\r\n    this.tooltipComponentRef.instance.onShow();\r\n  }\r\n\r\n  destroy() {\r\n    if (this.tooltipComponentRef) {\r\n      this.tooltipComponentRef.destroy();\r\n      this.tooltipComponentRef = null;\r\n    }\r\n    if (this.unsubscribeT$) {\r\n      this.unsubscribeT$.next();\r\n      this.unsubscribeT$.complete();\r\n    }\r\n  }\r\n\r\n  hide() {\r\n    if (this.tooltipComponentRef) {\r\n      this.tooltipComponentRef.instance.onHide();\r\n      if (!this.showAnimation) {\r\n        this.destroy();\r\n        return;\r\n      }\r\n      this.tooltipComponentRef.instance.onHidden = () => {\r\n        this.destroy();\r\n      };\r\n    }\r\n    if (this.unsubscribeT$) {\r\n      this.unsubscribeT$.next();\r\n      this.unsubscribeT$.complete();\r\n    }\r\n  }\r\n\r\n  instanceAssignValue(key: string | string[]): void {\r\n    const keyArr = typeof key === 'string' ? [key] : key;\r\n    const obj: any = {};\r\n    keyArr.forEach((item) => {\r\n      obj[item] = this[item];\r\n    });\r\n    Object.assign(this.tooltipComponentRef.instance, obj);\r\n  }\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (this.tooltipComponentRef) {\r\n      const { content, position, showAnimation } = changes;\r\n      if (!content.currentValue) {\r\n        this.hide();\r\n      }\r\n\r\n      if (content) {\r\n        this.instanceAssignValue('content');\r\n      }\r\n      if (position) {\r\n        this.instanceAssignValue('position');\r\n      }\r\n      if (showAnimation) {\r\n        this.instanceAssignValue('showAnimation');\r\n      }\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (this.triggerElementRef.nativeElement) {\r\n      this.bindMouseEvent(this.triggerElementRef.nativeElement, this.unsubscribe$);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.unsubscribeT$) {\r\n      this.unsubscribeT$.next();\r\n      this.unsubscribeT$.complete();\r\n    }\r\n    this.unsubscribe$.next();\r\n    this.unsubscribe$.complete();\r\n    this.destroy();\r\n  }\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OverlayContainerRef } from 'ng-devui/overlay-container';\nimport { PortalModule } from 'ng-devui/portal';\nimport {PositioningModule} from 'ng-devui/position';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    PortalModule,\n    PositioningModule\n  ],\n  exports: [TooltipComponent, TooltipDirective],\n  declarations: [TooltipComponent, TooltipDirective],\n  providers: [\n    OverlayContainerRef,\n  ],\n\n})\nexport class TooltipModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;MAkBa,gBAAgB,CAAA;AAG3B,IAAA,IAAa,QAAQ,GAAA;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,GAAG,EAAA;AACd,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAC1D;AAQD,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;KAChD;AAED,IAAA,IAAwC,KAAK,GAAA;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;AACD,IAAA,IAA+B,QAAQ,GAAA;AACrC,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;KAC5B;AAGD,IAAA,WAAA,CACU,eAAgC,EAChC,OAAmB,EACnB,SAAoB,EAAA;QAFpB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAChC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QApBpB,IAAa,CAAA,aAAA,GAAI,IAAI,CAAC;QAIF,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAkB/C;IAED,eAAe,GAAA;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,IAAI,CAAC,aAAa,IAAI,MAAM,GAAG,QAAQ,CAAC;aACjE,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC9B;KACF;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;KAC1C;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC5B;;IAGD,QAAQ,GAAA;KACP;AAGD,IAAA,cAAc,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;KACF;IAED,cAAc,GAAA;;AAEZ,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EACrF,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC/C,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;AAC9E,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC;;AAE5E,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;KACrE;+GApFU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB7B,gHAEA,EDWc,MAAA,EAAA,CAAA,g2GAAA,CAAA,EAAA,UAAA,EAAA;YACV,kBAAkB;AACnB,SAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGT,UAAA,EAAA;wBACV,kBAAkB;AACnB,qBAAA,EAAA,mBAAA,EACoB,KAAK,EAAA,QAAA,EAAA,gHAAA,EAAA,MAAA,EAAA,CAAA,g2GAAA,CAAA,EAAA,CAAA;qIAGjB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAQG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,KAAK;gBAIwB,OAAO,EAAA,CAAA;sBAApC,WAAW;uBAAC,eAAe,CAAA;gBACF,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO,CAAA;gBAIoB,KAAK,EAAA,CAAA;sBAA5C,WAAW;uBAAC,qBAAqB,CAAA;gBAGH,QAAQ,EAAA,CAAA;sBAAtC,WAAW;uBAAC,YAAY,CAAA;gBAwCzB,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME1DzC,gBAAgB,CAAA;AAI3B;;AAEG;IACH,IAAa,WAAW,CAAC,aAAkB,EAAA;AACzC,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;KACpC;AASD,IAAA,WAAA,CACU,iBAA6B,EAC7B,mBAAwC,EACxC,wBAAkD,EAClD,gBAAkC,EAAA;QAHlC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAY;QAC7B,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QACxC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QApBnC,IAAQ,CAAA,QAAA,GAAkC,KAAK,CAAC;QAClC,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;;QAQnC,IAAe,CAAA,eAAA,GAAG,GAAG,CAAC;;QAEtB,IAAe,CAAA,eAAA,GAAG,GAAG,CAAC;AAE/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;AACnC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;KAOhC;IAEmB,OAAO,GAAA;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAEqB,MAAM,GAAA;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACjE,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CACxE,CAAC;AAEF,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;;QAGxF,IAAK,IAAI,CAAC,mBAAmB,CAAC,QAAgB,CAAC,OAAO,CAAC,aAAa,EAAE;AACpE,YAAA,IAAI,CAAC,cAAc,CAAE,IAAI,CAAC,mBAAmB,CAAC,QAAgB,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC3G;KACF;IAED,cAAc,CAAC,WAAwB,EAAE,YAA8B,EAAA;AACrE,QAAA,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC;AACjC,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,YAAA,OAAO,KAAK,CAAC;SACd,CAAC,EACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,EAC/B,SAAS,CAAC,YAAY,CAAC,CACxB;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;AACH,SAAC,CAAC,CAAC;AACL,QAAA,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC;AACjC,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,OAAO,KAAK,CAAC;SACd,CAAC,EACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAChC,SAAS,CAAC,YAAY,CAAC,CACxB;aACA,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,SAAC,CAAC,CAAC;KACN;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;AAED,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC5C;IAED,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;AACD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/B;KACF;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC3C,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;aACR;YACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAK;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,aAAC,CAAC;SACH;AACD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/B;KACF;AAED,IAAA,mBAAmB,CAAC,GAAsB,EAAA;AACxC,QAAA,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACrD,MAAM,GAAG,GAAQ,EAAE,CAAC;AACpB,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,SAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACvD;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;AACrD,YAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;YAED,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;aACrC;YACD,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;aACtC;YACD,IAAI,aAAa,EAAE;AACjB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;aAC3C;SACF;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;AACxC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9E;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/B;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;+GA/JU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAGJ,UAAA,CAAA;AAAb,IAAA,UAAU,EAAE;;AAAsB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAHjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA,CAAA;yLAEU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACiB,aAAa,EAAA,CAAA;sBAAnC,KAAK;gBAIO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAIG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAYiB,OAAO,EAAA,CAAA;sBAA7B,YAAY;uBAAC,OAAO,CAAA;gBAIC,MAAM,EAAA,CAAA;sBAA3B,YAAY;uBAAC,MAAM,CAAA;;;MC/BT,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EANT,YAAA,EAAA,CAAA,gBAAgB,EAAE,gBAAgB,aAL/C,YAAY;YACZ,YAAY;YACZ,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAET,gBAAgB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAOjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EALb,SAAA,EAAA;YACT,mBAAmB;AACpB,SAAA,EAAA,OAAA,EAAA,CARC,YAAY;YACZ,YAAY;YACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FASR,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AAC7C,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AAClD,oBAAA,SAAS,EAAE;wBACT,mBAAmB;AACpB,qBAAA;AAEF,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}