{"version":3,"file":"uib-angular-components-tooltip.mjs","sources":["../../../../libs/angular-components/components/tooltip/src/lib/models/tooltip-size.ts","../../../../libs/angular-components/components/tooltip/src/lib/tooltip.config.ts","../../../../libs/angular-components/components/tooltip/src/lib/create-tooltip.ts","../../../../libs/angular-components/components/tooltip/src/lib/tooltip.directive.ts","../../../../libs/angular-components/components/tooltip/src/lib/tooltip.module.ts","../../../../libs/angular-components/components/tooltip/src/uib-angular-components-tooltip.ts"],"sourcesContent":["export type TooltipSize = typeof TooltipSize[keyof typeof TooltipSize];\nexport const TooltipSize = {\n  AUTO: 'auto',\n  SMALL: 'small',\n  MEDIUM: 'medium',\n  LARGE: 'large',\n} as const;\n","import { InjectionToken } from '@angular/core';\nimport { TooltipOptions, TooltipSize } from './models';\n\nexport const TOOLTIP_OPTIONS = new InjectionToken<TooltipOptions>('@uib/angular/components/tooltip::TooltipOptions', {\n  providedIn: 'root',\n  factory: () => ({\n    alwaysShown: false,\n    trigger: 'mouseenter focus',\n    placement: 'top',\n    ignoreLineBreaks: false,\n    delayIn: null,\n    delayOut: null,\n    interactive: false,\n    lazy: false,\n    size: TooltipSize.LARGE,\n  }),\n});\n","import { isFunction } from '@uib/angular/utils';\nimport tippy, { Instance, PopperElement, Props as TippyProps } from 'tippy.js/headless';\nimport { TooltipInstance, TooltipOptions } from './models';\n\nexport function createTooltipCSSClass(element?: string, modifier?: string): string {\n  const elementIdentifier = element ? `__${element}` : '';\n  const elementModifier = modifier ? `--${modifier}` : '';\n\n  return `uib-tooltip${elementIdentifier}${elementModifier}`;\n}\n\nexport default function createTooltip(target: Element, props: Partial<TippyProps>, options: TooltipOptions): Instance {\n  let currentTransitionEndListener: (event: TransitionEvent) => void;\n\n  function updateTransitionEndListener(target: Element, action: 'add' | 'remove', listener: (event: TransitionEvent) => void) {\n    const method = `${action}EventListener` as 'addEventListener' | 'removeEventListener';\n    ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n      target[method](event, listener as EventListener);\n    });\n  }\n\n  function onTransitionedOut(callback: () => void) {\n    onTransitionEnd(() => {\n      if (!instance.state.isVisible && instance.popper.parentNode && instance.popper.parentNode.contains(instance.popper)) {\n        callback();\n      }\n    });\n  }\n\n  function onTransitionEnd(callback: () => void) {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const target = instance.popper.firstElementChild!;\n    function listener(event: TransitionEvent): void {\n      if (event.target === target) {\n        updateTransitionEndListener(target, 'remove', listener);\n        callback();\n      }\n    }\n    updateTransitionEndListener(target, 'remove', currentTransitionEndListener);\n    updateTransitionEndListener(target, 'add', listener);\n    currentTransitionEndListener = listener;\n  }\n\n  function setTransitionDuration(popper: PopperElement, enabled: boolean) {\n    const inner = popper.firstElementChild as HTMLDivElement;\n    inner.style.transitionDuration = enabled ? '' : '0ms';\n  }\n\n  function onMount({ popper }: TooltipInstance) {\n    setTransitionDuration(popper, true);\n    popper.setAttribute('data-state', 'visible');\n  }\n\n  function onHide({ popper, unmount }: TooltipInstance) {\n    onTransitionedOut(() => {\n      setTransitionDuration(popper, false);\n      unmount();\n    });\n    popper.removeAttribute('data-state');\n  }\n\n  function setContent(element: HTMLDivElement, { content }: TippyProps) {\n    element.innerHTML = '';\n    if (content instanceof Element || content instanceof DocumentFragment) {\n      element.appendChild(content);\n    } else if (!isFunction(content)) {\n      element.innerHTML = content;\n    }\n  }\n\n  function render({ props }: TooltipInstance) {\n    const popper = document.createElement('div');\n    const innerElement = document.createElement('div');\n    const contentElement = document.createElement('div');\n    const arrowElement = document.createElement('div');\n\n    popper.classList.add(createTooltipCSSClass());\n\n    innerElement.classList.add(createTooltipCSSClass('inner'));\n\n    contentElement.classList.add(createTooltipCSSClass('content'));\n    if (!options.ignoreLineBreaks) {\n      contentElement.style.whiteSpace = 'pre-line';\n    }\n\n    arrowElement.classList.add(createTooltipCSSClass('arrow'));\n    arrowElement.setAttribute('data-popper-arrow', '');\n\n    setContent(contentElement, props);\n\n    innerElement.appendChild(contentElement);\n    innerElement.appendChild(arrowElement);\n    popper.appendChild(innerElement);\n\n    setTransitionDuration(popper, false);\n\n    function onUpdate(prevProps: TippyProps, nextProps: TippyProps): void {\n      if (prevProps.content !== nextProps.content) {\n        setContent(contentElement, nextProps);\n      }\n    }\n\n    return {\n      popper,\n      onUpdate,\n    };\n  }\n\n  const instance = tippy(target, {\n    animation: true,\n    allowHTML: true,\n    onHide,\n    onMount,\n    render,\n    popperOptions: {\n      modifiers: [\n        {\n          name: 'arrow',\n        },\n      ],\n    },\n    ...props,\n  });\n\n  return instance;\n}\n","import {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  Inject,\n  Injector,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  ViewContainerRef,\n} from '@angular/core';\nimport { DestroyService } from '@uib/angular/common';\nimport { DynamicContent, DynamicViewOptions, DynamicViewRef, DynamicViewService } from '@uib/angular/components/dynamic-view';\nimport { BooleanInput, coerceBooleanProperty, Transform } from '@uib/angular/core';\nimport { hasChanged, isComponent, isElementInView$, isString, isTemplateRef, NgChanges } from '@uib/angular/utils';\nimport { Observable, of } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { PopperElement, Props as TippyProps } from 'tippy.js/headless';\nimport createTooltip, { createTooltipCSSClass } from './create-tooltip';\nimport { TooltipInstance, TooltipOptions, TooltipSize } from './models';\nimport { TOOLTIP_OPTIONS } from './tooltip.config';\n\n@Directive({\n  selector: '[uibTooltip]',\n  providers: [DestroyService],\n})\nexport class TooltipDirective implements AfterViewInit, OnChanges, OnDestroy {\n  public static ngAcceptInputType_uibTooltipDisabled: BooleanInput;\n\n  private instance: TooltipInstance | null = null;\n  private viewOptions: DynamicViewOptions | null = null;\n  private viewRef: DynamicViewRef | null = null;\n  private currentSize: TooltipSize;\n  private isInView = false;\n  private tooltipOptions: TooltipOptions;\n\n  @Input('uibTooltip')\n  public content: Exclude<DynamicContent, Observable<unknown>>;\n\n  @Input('uibTooltipDisabled')\n  @Transform(coerceBooleanProperty)\n  public disabled = false;\n\n  @Input('uibTooltipOptions')\n  public set options(value: Partial<TooltipOptions>) {\n    this.tooltipOptions = {\n      ...this.globalOptions,\n      ...value,\n    };\n  }\n\n  public get tooltipProps(): Partial<TippyProps> {\n    const { delayIn, delayOut, interactive, placement, trigger } = this.tooltipOptions;\n    return {\n      placement,\n      trigger,\n      interactive,\n      delay: [delayIn, delayOut],\n    };\n  }\n\n  public get element(): PopperElement | null {\n    return this.instance?.popper ?? null;\n  }\n\n  constructor(\n    private readonly ngOnDestroy$: DestroyService,\n    private readonly host: ElementRef<Element>,\n    private readonly injector: Injector,\n    private readonly viewContainerRef: ViewContainerRef,\n    private readonly viewService: DynamicViewService,\n    private readonly zone: NgZone,\n    @Inject(TOOLTIP_OPTIONS)\n    private readonly globalOptions: TooltipOptions,\n  ) {\n    this.tooltipOptions = this.globalOptions;\n  }\n\n  public ngAfterViewInit(): void {\n    const init$ = this.tooltipOptions.lazy ? isElementInView$(this.host.nativeElement) : of(true);\n    init$.pipe(takeUntil(this.ngOnDestroy$)).subscribe(() => {\n      this.createInstance();\n      this.isInView = true;\n    });\n  }\n\n  public ngOnChanges(changes: NgChanges<TooltipDirective>): void {\n    if (hasChanged(changes, 'content')) {\n      if (!this.instance && this.isInView) {\n        this.createInstance();\n      }\n      this.instance?.setContent(this.resolveContent());\n    }\n\n    if (hasChanged(changes, 'options')) {\n      if (this.instance) {\n        this.instance.setProps(this.tooltipProps);\n        this.updateSizeModifier();\n        if (this.tooltipOptions.alwaysShown) {\n          this.makeAlwaysShown();\n        } else if (changes.options.previousValue?.alwaysShown) {\n          this.hide();\n        }\n      }\n    }\n\n    if (hasChanged(changes, 'disabled')) {\n      if (this.disabled) {\n        this.instance?.disable();\n      } else {\n        this.instance?.enable();\n        if (this.tooltipOptions.alwaysShown) {\n          this.makeAlwaysShown();\n        }\n      }\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.instance?.destroy();\n    this.destroyView();\n  }\n\n  public getInstance(): TooltipInstance | null {\n    return this.instance;\n  }\n\n  public hide(): void {\n    this.instance?.hide();\n  }\n\n  public show(): void {\n    this.instance?.show();\n  }\n\n  private destroyView() {\n    this.viewRef?.destroy();\n    this.viewRef = null;\n  }\n\n  private createInstance() {\n    this.zone.runOutsideAngular(() => {\n      if (this.content) {\n        this.instance = createTooltip(\n          this.host.nativeElement,\n          {\n            ...this.tooltipProps,\n            onShow: this.onShow.bind(this),\n            onHidden: this.onHidden.bind(this),\n          },\n          this.tooltipOptions,\n        );\n        if (this.disabled) {\n          this.instance.disable();\n        }\n        if (this.tooltipOptions.alwaysShown) {\n          this.makeAlwaysShown();\n        }\n      }\n    });\n  }\n\n  private makeAlwaysShown() {\n    this.instance?.setProps({ trigger: '', hideOnClick: false });\n    this.show();\n  }\n\n  private onShow(instance: TooltipInstance) {\n    this.zone.run(() => {\n      instance.setContent(this.resolveContent());\n      this.updateSizeModifier();\n    });\n  }\n\n  private onHidden() {\n    this.destroyView();\n  }\n\n  private resolveContent() {\n    if (!this.viewOptions && !isString(this.content)) {\n      if (isComponent(this.content)) {\n        this.viewOptions = {\n          injector: Injector.create({\n            providers: [],\n            parent: this.injector,\n          }),\n        };\n      } else if (isTemplateRef(this.content)) {\n        this.viewOptions = {\n          context: {\n            $implicit: this.hide.bind(this),\n            element: this.element,\n          },\n        };\n      }\n    }\n\n    this.viewRef = this.viewService.createView(this.content, {\n      vcr: this.viewContainerRef,\n      ...this.viewOptions,\n    });\n\n    return this.viewRef.getElement();\n  }\n\n  private updateSizeModifier() {\n    const { size } = this.tooltipOptions;\n    const classList = this.instance?.popper?.classList;\n    if (this.currentSize) {\n      classList?.remove?.(createTooltipCSSClass(undefined, this.currentSize));\n    }\n    classList?.add?.(createTooltipCSSClass(undefined, size));\n    this.currentSize = size;\n    this.instance?.popperInstance?.update();\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n  declarations: [TooltipDirective],\n  exports: [TooltipDirective],\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AACa,MAAA,WAAW,GAAG;AACzB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;MCFH,eAAe,GAAG,IAAI,cAAc,CAAiB,iDAAiD,EAAE;AACnH,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,WAAW,CAAC,KAAK;KACxB,CAAC;AACH,CAAA;;ACZe,SAAA,qBAAqB,CAAC,OAAgB,EAAE,QAAiB,EAAA;AACvE,IAAA,MAAM,iBAAiB,GAAG,OAAO,GAAG,CAAK,EAAA,EAAA,OAAO,CAAE,CAAA,GAAG,EAAE,CAAC;AACxD,IAAA,MAAM,eAAe,GAAG,QAAQ,GAAG,CAAK,EAAA,EAAA,QAAQ,CAAE,CAAA,GAAG,EAAE,CAAC;AAExD,IAAA,OAAO,CAAc,WAAA,EAAA,iBAAiB,CAAG,EAAA,eAAe,EAAE,CAAC;AAC7D,CAAC;AAEuB,SAAA,aAAa,CAAC,MAAe,EAAE,KAA0B,EAAE,OAAuB,EAAA;AACxG,IAAA,IAAI,4BAA8D,CAAC;AAEnE,IAAA,SAAS,2BAA2B,CAAC,MAAe,EAAE,MAAwB,EAAE,QAA0C,EAAA;AACxH,QAAA,MAAM,MAAM,GAAG,CAAG,EAAA,MAAM,eAA6D,CAAC;QACtF,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAyB,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;KACJ;IAED,SAAS,iBAAiB,CAAC,QAAoB,EAAA;QAC7C,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACnH,gBAAA,QAAQ,EAAE,CAAC;AACZ,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,SAAS,eAAe,CAAC,QAAoB,EAAA;;AAE3C,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAkB,CAAC;QAClD,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AAC3B,gBAAA,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACxD,gBAAA,QAAQ,EAAE,CAAC;AACZ,aAAA;SACF;AACD,QAAA,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;AAC5E,QAAA,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrD,4BAA4B,GAAG,QAAQ,CAAC;KACzC;AAED,IAAA,SAAS,qBAAqB,CAAC,MAAqB,EAAE,OAAgB,EAAA;AACpE,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAmC,CAAC;AACzD,QAAA,KAAK,CAAC,KAAK,CAAC,kBAAkB,GAAG,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;KACvD;AAED,IAAA,SAAS,OAAO,CAAC,EAAE,MAAM,EAAmB,EAAA;AAC1C,QAAA,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpC,QAAA,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;KAC9C;AAED,IAAA,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAmB,EAAA;QAClD,iBAAiB,CAAC,MAAK;AACrB,YAAA,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACrC,YAAA,OAAO,EAAE,CAAC;AACZ,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;KACtC;AAED,IAAA,SAAS,UAAU,CAAC,OAAuB,EAAE,EAAE,OAAO,EAAc,EAAA;AAClE,QAAA,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,OAAO,YAAY,OAAO,IAAI,OAAO,YAAY,gBAAgB,EAAE;AACrE,YAAA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAC/B,YAAA,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;AAC7B,SAAA;KACF;AAED,IAAA,SAAS,MAAM,CAAC,EAAE,KAAK,EAAmB,EAAA;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEnD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAE9C,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAE3D,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;AAC7B,YAAA,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9C,SAAA;QAED,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,QAAA,YAAY,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAEnD,QAAA,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAElC,QAAA,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AACzC,QAAA,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AACvC,QAAA,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAEjC,QAAA,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAErC,QAAA,SAAS,QAAQ,CAAC,SAAqB,EAAE,SAAqB,EAAA;AAC5D,YAAA,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE;AAC3C,gBAAA,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AACvC,aAAA;SACF;QAED,OAAO;YACL,MAAM;YACN,QAAQ;SACT,CAAC;KACH;AAED,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE;AAC7B,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,IAAI;QACf,MAAM;QACN,OAAO;QACP,MAAM;AACN,QAAA,aAAa,EAAE;AACb,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,GAAG,KAAK;AACT,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,QAAQ,CAAC;AAClB;;MClGa,gBAAgB,CAAA;AAuC3B,IAAA,WAAA,CACmB,YAA4B,EAC5B,IAAyB,EACzB,QAAkB,EAClB,gBAAkC,EAClC,WAA+B,EAC/B,IAAY,EAEZ,aAA6B,EAAA;QAP7B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;QAC5B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAqB;QACzB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;QAC/B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QAEZ,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QA5CxC,IAAQ,CAAA,QAAA,GAA2B,IAAI,CAAC;QACxC,IAAW,CAAA,WAAA,GAA8B,IAAI,CAAC;QAC9C,IAAO,CAAA,OAAA,GAA0B,IAAI,CAAC;QAEtC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAQlB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAkCtB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;KAC1C;IAjCD,IACW,OAAO,CAAC,KAA8B,EAAA;QAC/C,IAAI,CAAC,cAAc,GAAG;YACpB,GAAG,IAAI,CAAC,aAAa;AACrB,YAAA,GAAG,KAAK;SACT,CAAC;KACH;AAED,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QACnF,OAAO;YACL,SAAS;YACT,OAAO;YACP,WAAW;AACX,YAAA,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC3B,CAAC;KACH;AAED,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC;KACtC;IAeM,eAAe,GAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAC9F,QAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,SAAC,CAAC,CAAC;KACJ;AAEM,IAAA,WAAW,CAAC,OAAoC,EAAA;AACrD,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,aAAA;YACD,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;YAClC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,gBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;oBACnC,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,iBAAA;AAAM,qBAAA,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE;oBACrD,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1B,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;AACxB,gBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;oBACnC,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEM,WAAW,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAEM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;KACvB;IAEM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;KACvB;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAEO,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC/B,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EACvB;oBACE,GAAG,IAAI,CAAC,YAAY;oBACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,iBAAA,EACD,IAAI,CAAC,cAAc,CACpB,CAAC;gBACF,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACzB,iBAAA;AACD,gBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;oBACnC,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;AAEO,IAAA,MAAM,CAAC,QAAyB,EAAA;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;YACjB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACJ;IAEO,QAAQ,GAAA;QACd,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAChD,YAAA,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC7B,IAAI,CAAC,WAAW,GAAG;AACjB,oBAAA,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;AACxB,wBAAA,SAAS,EAAE,EAAE;wBACb,MAAM,EAAE,IAAI,CAAC,QAAQ;qBACtB,CAAC;iBACH,CAAC;AACH,aAAA;AAAM,iBAAA,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACtC,IAAI,CAAC,WAAW,GAAG;AACjB,oBAAA,OAAO,EAAE;wBACP,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,qBAAA;iBACF,CAAC;AACH,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;YACvD,GAAG,EAAE,IAAI,CAAC,gBAAgB;YAC1B,GAAG,IAAI,CAAC,WAAW;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAClC;IAEO,kBAAkB,GAAA;AACxB,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,SAAA;QACD,SAAS,EAAE,GAAG,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;KACzC;;AA5LU,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,0LA8CjB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGA9Cd,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAFhB,CAAC,cAAc,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAiB3B,UAAA,CAAA;IADC,SAAS,CAAC,qBAAqB,CAAC;;AACT,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAfb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;oBACxB,SAAS,EAAE,CAAC,cAAc,CAAC;AAC5B,iBAAA,CAAA;;0BA+CI,MAAM;2BAAC,eAAe,CAAA;4CAnClB,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,YAAY,CAAA;gBAKZ,QAAQ,EAAA,CAAA;sBAFd,KAAK;uBAAC,oBAAoB,CAAA;gBAKhB,OAAO,EAAA,CAAA;sBADjB,KAAK;uBAAC,mBAAmB,CAAA;;;MCrCf,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAHT,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAEf,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;ACND;;AAEG;;;;"}