{"version":3,"file":"ng-devui-read-tip.mjs","sources":["../../devui/read-tip/read-tip.component.ts","../../devui/read-tip/read-tip.component.html","../../devui/read-tip/read-tip.directive.ts","../../devui/read-tip/read-tip.module.ts","../../devui/read-tip/ng-devui-read-tip.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n  AfterContentChecked,\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostBinding,\n  HostListener,\n  Input,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  TemplateRef\n} from '@angular/core';\nimport { PositionService } from 'ng-devui/position';\nimport { PositionType } from 'ng-devui/tooltip';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n  selector: 'd-read-tip',\n  templateUrl: './read-tip.component.html',\n  styleUrls: ['./read-tip.component.scss'],\n  animations: [\n    trigger('state', [\n      state('void', style({ opacity: 0 })),\n      state('visible', style({ opacity: 1 })),\n      transition('* => visible', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n      transition('visible => *', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)')),\n    ]),\n  ],\n})\nexport class ReadTipComponent implements OnInit, AfterViewInit, AfterContentChecked, OnDestroy {\n  @Input() triggerElementRef: ElementRef;\n  @Input() position: PositionType | PositionType[] = 'top';\n  @Input() content: string | HTMLElement | TemplateRef<any>;\n  @Input() customData: any;\n  @Input() title: string | HTMLElement;\n  @Input() showAnimate = false;\n  @Input() scrollElement: Element;\n  @Input() appendToBody: boolean;\n  @Input() zIndex = 1060;\n  @Input() popMaxWidth: number;\n  @Input() overlayClassName: string;\n\n  subs: Subscription = new Subscription();\n  SCROLL_REFRESH_INTERVAL = 100;\n  currentPosition: PositionType;\n  connectionBias: string;\n  animateState: string = this.showAnimate ? 'void' : '';\n\n  @HostBinding('style.display') get display() {\n    return this.content ? 'block' : 'none';\n  }\n  @HostBinding('class') get class() {\n    return 'devui-popover ' + this.currentPosition + ' ' + this.connectionBias;\n  }\n\n  @HostBinding('@state') get state() {\n    return this.animateState;\n  }\n\n  get template() {\n    return this.content instanceof TemplateRef ? this.content : null;\n  }\n\n  constructor(\n    private renderer: Renderer2,\n    private positionService: PositionService,\n    public elementRef: ElementRef,\n    private cdr: ChangeDetectorRef\n  ) {}\n\n  ngOnInit(): void {\n    this.elementRef.nativeElement.style.zIndex = this.zIndex;\n  }\n\n  ngAfterViewInit() {\n    setTimeout(() => {\n      this.updatePosition();\n    });\n\n    if (this.appendToBody) {\n      if (!this.scrollElement) {\n        this.scrollElement = this.positionService.getScrollParent(this.triggerElementRef.nativeElement);\n      }\n      this.subs.add(\n        fromEvent(this.scrollElement || window, 'scroll')\n          .pipe(debounceTime(this.SCROLL_REFRESH_INTERVAL))\n          .subscribe(() => {\n            this.updatePosition();\n          })\n      );\n      this.subs.add(\n        fromEvent(window, 'resize')\n          .pipe(debounceTime(this.SCROLL_REFRESH_INTERVAL))\n          .subscribe(() => {\n            this.updatePosition();\n          })\n      );\n    }\n  }\n\n  ngAfterContentChecked() {\n    this.updatePosition();\n  }\n\n  show() {\n    this.animateState = 'visible';\n  }\n\n  hide() {\n    this.animateState = 'void';\n  }\n\n  onHidden() {}\n\n  @HostListener('@state.done', ['$event'])\n  onAnimationEnd(event) {\n    if (event.toState === 'void') {\n      this.onHidden();\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.subs) {\n      this.subs.unsubscribe();\n    }\n  }\n\n  updatePosition() {\n    const rect = this.positionService.positionElements(\n      this.triggerElementRef.nativeElement,\n      this.elementRef.nativeElement,\n      this.position,\n      this.appendToBody\n    );\n    this.currentPosition = rect.placementPrimary;\n    this.connectionBias = `bias-${rect.placementSecondary}`;\n    if (rect.placementSecondary === 'center') {\n      if (rect.placementPrimary === 'left' || rect.placementPrimary === 'right') {\n        this.connectionBias = 'bias-vertical-center';\n      } else {\n        this.connectionBias = 'bias-horizontal-center';\n      }\n    }\n    this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${rect.left}px`);\n    this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${rect.top}px`);\n  }\n}\n","<div class=\"arrow\"></div>\n<div class=\"devui-popover-content {{ overlayClassName }}\" [style.maxWidth.px]=\"popMaxWidth\">\n  <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\" [ngTemplateOutletContext]=\"{ $implicit: customData }\"> </ng-template>\n  <ng-template #defaultTemplate>\n    <div class=\"read-tip-container\">\n      <div class=\"title\">\n        {{ title }}\n      </div>\n      <div class=\"content\">\n        {{ content }}\n      </div>\n    </div>\n  </ng-template>\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport {\n  ComponentFactoryResolver,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  HostListener,\n  Inject,\n  Injector,\n  Input,\n  OnDestroy,\n  OnInit,\n  TemplateRef,\n  ViewContainerRef\n} from '@angular/core';\nimport { OverlayContainerRef } from 'ng-devui/overlay-container';\nimport { of } from 'rxjs';\nimport { ReadTipComponent } from './read-tip.component';\nimport { ReadTipOptions, ReadTipRule } from './read-tip.types';\n\n@Directive({\n  selector: '[dReadTip]',\n  exportAs: 'dReadTip',\n})\nexport class ReadTipDirective implements OnInit, OnDestroy {\n  readTipComponentRef: ComponentRef<ReadTipComponent>;\n\n  _prevTarget;\n  document: Document;\n\n  defaultOptions: ReadTipOptions = {\n    trigger: 'hover',\n    showAnimate: false,\n    mouseenterTime: 100,\n    mouseleaveTime: 100,\n    position: 'top',\n    overlayClassName: '',\n    appendToBody: true,\n    rules: { selector: null },\n  };\n\n  set prevTarget(target) {\n    if (target !== this._prevTarget) {\n      this._prevTarget = target;\n      this.hide();\n    }\n  }\n\n  @Input() readTipOptions: ReadTipOptions;\n\n  @Input() contentTemplate: TemplateRef<any>;\n\n  @HostListener('mouseover', ['$event'])\n  onMouseOver(event: MouseEvent) {\n    this.findElementIndex(event.target, this.readTipOptions?.rules, 'hover').subscribe((elementInfo) => {\n      if (elementInfo?.shouldTrigger) {\n        this.hide();\n        if (!this.readTipComponentRef) {\n          const target = new ElementRef(event.target);\n          setTimeout(() => {\n            this.show(target, elementInfo.rule);\n          }, elementInfo.rule?.mouseenterTime);\n        }\n        if (this.readTipComponentRef) {\n          setTimeout(() => {\n            if (this.readTipComponentRef) {\n              this.readTipComponentRef.instance.updatePosition();\n            }\n          }, elementInfo.rule?.mouseenterTime);\n        }\n      }\n    });\n  }\n\n  @HostListener('mouseout', ['$event'])\n  onMouseOut(event: MouseEvent) {\n    this.findElementIndex(event.target, this.readTipOptions?.rules, 'hover').subscribe((elementInfo) => {\n      if (elementInfo?.shouldTrigger) {\n        setTimeout(() => {\n          this.hide();\n        }, elementInfo.rule?.mouseleaveTime);\n      }\n    });\n  }\n\n  @HostListener('click', ['$event'])\n  onClick(event: MouseEvent) {\n    this.findElementIndex(event.target, this.readTipOptions?.rules, 'click').subscribe((elementInfo) => {\n      this.prevTarget = event.target;\n      if (elementInfo?.shouldTrigger) {\n        if (!this.readTipComponentRef) {\n          const target = new ElementRef(event.target);\n          this.show(target, elementInfo.rule);\n        }\n        if (this.readTipComponentRef) {\n          setTimeout(() => {\n            if (this.readTipComponentRef) {\n              this.readTipComponentRef.instance.updatePosition();\n            }\n          });\n        }\n      }\n    });\n  }\n\n  constructor(\n    private el: ElementRef,\n    private componentFactoryResolver: ComponentFactoryResolver,\n    private overlayContainerRef: OverlayContainerRef,\n    private inject: Injector,\n    private viewContainerRef: ViewContainerRef,\n    @Inject(DOCUMENT) private doc: any\n  ) {\n    this.document = this.doc;\n  }\n\n  ngOnInit() {}\n\n  ngOnDestroy() {\n    this.destroy();\n  }\n\n  show(target, rule?: ReadTipRule) {\n    this.hide();\n    if (!this.readTipComponentRef) {\n      this.createReadTip(target, rule);\n    }\n\n    if (rule.showAnimate) {\n      this.readTipComponentRef.instance.show();\n    }\n    if (rule.trigger === 'click') {\n      this.document.addEventListener('click', this.onDocumentClick);\n    }\n  }\n\n  createReadTip(target, rule?: ReadTipRule) {\n    if (rule.appendToBody) {\n      this.readTipComponentRef = this.overlayContainerRef.createComponent(\n        this.componentFactoryResolver.resolveComponentFactory(ReadTipComponent)\n      );\n    } else {\n      this.readTipComponentRef = this.viewContainerRef.createComponent(\n        this.componentFactoryResolver.resolveComponentFactory(ReadTipComponent),\n        this.viewContainerRef.length,\n        this.inject\n      );\n    }\n\n    if (this.contentTemplate) {\n      Object.assign(this.readTipComponentRef.instance, {\n        content: this.contentTemplate,\n        triggerElementRef: target,\n        appendToBody: rule.appendToBody,\n        position: rule.position,\n        overlayClassName: rule.overlayClassName,\n      });\n    } else {\n      if (rule.dataFn) {\n        rule.dataFn({ element: target.nativeElement, rule }).subscribe((data) => {\n          if (data.template) {\n            Object.assign(this.readTipComponentRef.instance, {\n              content: data.template,\n              customData: data.customData,\n              triggerElementRef: target,\n              appendToBody: rule.appendToBody,\n              position: rule.position,\n              overlayClassName: rule.overlayClassName,\n            });\n          } else {\n            Object.assign(this.readTipComponentRef.instance, {\n              content: data.content,\n              title: data.title,\n              triggerElementRef: target,\n              appendToBody: rule.appendToBody,\n              position: rule.position,\n              overlayClassName: rule.overlayClassName,\n            });\n          }\n        });\n      } else {\n        Object.assign(this.readTipComponentRef.instance, {\n          content: rule.content,\n          title: rule.title,\n          triggerElementRef: target,\n          appendToBody: rule.appendToBody,\n          position: rule.position,\n          overlayClassName: rule.overlayClassName,\n        });\n      }\n    }\n  }\n\n  hide() {\n    if (this.readTipComponentRef) {\n      if (!this.readTipOptions.showAnimate) {\n        this.destroy();\n        return;\n      }\n\n      this.readTipComponentRef.instance.hide();\n      this.readTipComponentRef.instance.onHidden = () => {\n        this.destroy();\n      };\n    }\n  }\n\n  destroy() {\n    if (this.readTipComponentRef) {\n      this.readTipComponentRef.destroy();\n      this.readTipComponentRef = null;\n    }\n    if (this.readTipOptions.trigger === 'click') {\n      this.document.removeEventListener('click', this.onDocumentClick);\n    }\n  }\n\n  onDocumentClick = (event) => {\n    event.stopPropagation();\n    if (\n      !this.el.nativeElement.contains(event.target) &&\n      !(this.readTipComponentRef && this.readTipComponentRef.instance.elementRef.nativeElement.contains(event.target))\n    ) {\n      this.hide();\n    }\n  };\n\n  findElementIndex(element, rules, trigger) {\n    const keysCanInherit = ['trigger', 'showAnimate', 'mouseenterTime', 'mouseleaveTime', 'position', 'overlayClassName', 'appendToBody'];\n    if (rules instanceof Array) {\n      let elementIndex = -1;\n\n      for (let i = 0; i < rules.length; i++) {\n        if (this.isCorrectElement(rules[i].selector, element)) {\n          elementIndex = i;\n          break;\n        }\n      }\n\n      keysCanInherit.forEach((key) => {\n        if (rules[elementIndex]) {\n          rules[elementIndex][key] = rules[elementIndex][key] || this.readTipOptions[key] || this.defaultOptions[key];\n        }\n      });\n      return of({\n        shouldTrigger: rules[elementIndex]?.trigger === trigger && this.isCorrectElement(rules[elementIndex]?.selector, element),\n        rule: rules[elementIndex],\n      });\n    } else {\n      keysCanInherit.forEach((key) => {\n        if (rules) {\n          rules[key] = rules[key] || this.readTipOptions[key] || this.defaultOptions[key];\n        }\n      });\n      return of({\n        shouldTrigger: rules?.trigger === trigger && this.isCorrectElement(rules?.selector, element),\n        rule: rules,\n      });\n    }\n  }\n\n  isCorrectElement(selector: string, element) {\n    const elementsArray = this.el.nativeElement.querySelectorAll(selector);\n    for (let i = 0; i < elementsArray.length; i++) {\n      if (elementsArray[i] === element) {\n        return true;\n      }\n    }\n    return false;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OverlayContainerModule } from 'ng-devui/overlay-container';\nimport { PositioningModule } from 'ng-devui/position';\nimport { ReadTipComponent } from './read-tip.component';\nimport { ReadTipDirective } from './read-tip.directive';\n\n@NgModule({\n  imports: [CommonModule, PositioningModule, OverlayContainerModule],\n  exports: [ReadTipComponent, ReadTipDirective],\n  declarations: [ReadTipComponent, ReadTipDirective],\n})\nexport class ReadTipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;MAiCa,gBAAgB,CAAA;AAmB3B,IAAA,IAAkC,OAAO,GAAA;QACvC,OAAO,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;KACxC;AACD,IAAA,IAA0B,KAAK,GAAA;QAC7B,OAAO,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;KAC5E;AAED,IAAA,IAA2B,KAAK,GAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,YAAY,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KAClE;AAED,IAAA,WAAA,CACU,QAAmB,EACnB,eAAgC,EACjC,UAAsB,EACrB,GAAsB,EAAA;QAHtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QACjC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QApCvB,IAAQ,CAAA,QAAA,GAAkC,KAAK,CAAC;QAIhD,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QAGpB,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;AAIvB,QAAA,IAAA,CAAA,IAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;QACxC,IAAuB,CAAA,uBAAA,GAAG,GAAG,CAAC;AAG9B,QAAA,IAAA,CAAA,YAAY,GAAW,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,EAAE,CAAC;KAsBlD;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAC1D;IAED,eAAe,GAAA;QACb,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;aACjG;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE,QAAQ,CAAC;AAC9C,iBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChD,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CACL,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACxB,iBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChD,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CACL,CAAC;SACH;KACF;IAED,qBAAqB,GAAA;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;KAC/B;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC5B;AAED,IAAA,QAAQ,MAAK;AAGb,IAAA,cAAc,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SACzB;KACF;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAChD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EACpC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAClB,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACxD,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,QAAQ,EAAE;AACxC,YAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,EAAE;AACzE,gBAAA,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;aAC9C;iBAAM;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC;aAChD;SACF;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC;KAC/E;+GApHU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjC7B,ggBAcA,EDUc,MAAA,EAAA,CAAA,mgIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,OAAO,EAAE;gBACf,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,gBAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAC3E,gBAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;aAC1E,CAAC;AACH,SAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGV,UAAA,EAAA;wBACV,OAAO,CAAC,OAAO,EAAE;4BACf,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;4BACpC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,4BAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAC3E,4BAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;yBAC1E,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,ggBAAA,EAAA,MAAA,EAAA,CAAA,mgIAAA,CAAA,EAAA,CAAA;qKAGQ,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAQ4B,OAAO,EAAA,CAAA;sBAAxC,WAAW;uBAAC,eAAe,CAAA;gBAGF,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO,CAAA;gBAIO,KAAK,EAAA,CAAA;sBAA/B,WAAW;uBAAC,QAAQ,CAAA;gBA4DrB,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME9F5B,gBAAgB,CAAA;IAiB3B,IAAI,UAAU,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;KACF;AAOD,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjG,YAAA,IAAI,WAAW,EAAE,aAAa,EAAE;gBAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC5C,UAAU,CAAC,MAAK;wBACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,qBAAC,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBACtC;AACD,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,4BAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;yBACpD;AACH,qBAAC,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBACtC;aACF;AACH,SAAC,CAAC,CAAC;KACJ;AAGD,IAAA,UAAU,CAAC,KAAiB,EAAA;QAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjG,YAAA,IAAI,WAAW,EAAE,aAAa,EAAE;gBAC9B,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,iBAAC,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aACtC;AACH,SAAC,CAAC,CAAC;KACJ;AAGD,IAAA,OAAO,CAAC,KAAiB,EAAA;QACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjG,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;AAC/B,YAAA,IAAI,WAAW,EAAE,aAAa,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;iBACrC;AACD,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,4BAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;yBACpD;AACH,qBAAC,CAAC,CAAC;iBACJ;aACF;AACH,SAAC,CAAC,CAAC;KACJ;IAED,WACU,CAAA,EAAc,EACd,wBAAkD,EAClD,mBAAwC,EACxC,MAAgB,EAChB,gBAAkC,EAChB,GAAQ,EAAA;QAL1B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QACxC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAU;QAChB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAChB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;AAjFpC,QAAA,IAAA,CAAA,cAAc,GAAmB;AAC/B,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1B,CAAC;AAkLF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAK,KAAI;YAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,YAAA,IACE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7C,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAChH;gBACA,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;AACH,SAAC,CAAC;AAhHA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;KAC1B;AAED,IAAA,QAAQ,MAAK;IAEb,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,IAAI,CAAC,MAAM,EAAE,IAAkB,EAAA;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAClC;AAED,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1C;AACD,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/D;KACF;IAED,aAAa,CAAC,MAAM,EAAE,IAAkB,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACjE,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CACxE,CAAC;SACH;aAAM;AACL,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAC9D,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EACvE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAC5B,IAAI,CAAC,MAAM,CACZ,CAAC;SACH;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;gBAC/C,OAAO,EAAE,IAAI,CAAC,eAAe;AAC7B,gBAAA,iBAAiB,EAAE,MAAM;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AACtE,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;4BAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;4BACtB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,4BAAA,iBAAiB,EAAE,MAAM;4BACzB,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,yBAAA,CAAC,CAAC;qBACJ;yBAAM;wBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;4BAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,4BAAA,iBAAiB,EAAE,MAAM;4BACzB,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,yBAAA,CAAC,CAAC;qBACJ;AACH,iBAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;oBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,iBAAiB,EAAE,MAAM;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,iBAAA,CAAC,CAAC;aACJ;SACF;KACF;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;gBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;aACR;AAED,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAK;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,aAAC,CAAC;SACH;KACF;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;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,OAAO,EAAE;YAC3C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAClE;KACF;AAYD,IAAA,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAA;AACtC,QAAA,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;AACtI,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;AAEtB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;oBACrD,YAAY,GAAG,CAAC,CAAC;oBACjB,MAAM;iBACP;aACF;AAED,YAAA,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC7B,gBAAA,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;AACvB,oBAAA,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAC7G;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,EAAE,CAAC;gBACR,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC;AACxH,gBAAA,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;AAC1B,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;gBAC7B,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBACjF;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,EAAE,CAAC;AACR,gBAAA,aAAa,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC5F,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA,CAAC,CAAC;SACJ;KACF;IAED,gBAAgB,CAAC,QAAgB,EAAE,OAAO,EAAA;AACxC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACvE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,YAAA,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;AAChC,gBAAA,OAAO,IAAI,CAAC;aACb;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AArPU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iLAuFjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAvFP,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,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;;0BAwFI,MAAM;2BAAC,QAAQ,CAAA;yCA/DT,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGN,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAuBrC,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAYpC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCzEtB,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,EAFT,YAAA,EAAA,CAAA,gBAAgB,EAAE,gBAAgB,CAFvC,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,CACvD,EAAA,OAAA,EAAA,CAAA,gBAAgB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGjC,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,EAJd,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAItD,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;AAClE,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AAC7C,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AACnD,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}