{"version":3,"file":"overlayscrollbars-ngx.mjs","sources":["../../src/overlayscrollbars.directive.ts","../../src/overlayscrollbars.component.ts","../../src/overlayscrollbars.module.ts","../../src/overlayscrollbars-ngx.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/consistent-type-imports */\r\nimport { Directive, Input, OnChanges, SimpleChanges, NgZone } from '@angular/core';\r\nimport { OverlayScrollbars } from 'overlayscrollbars';\r\nimport type { InitializationTarget } from 'overlayscrollbars';\r\nimport type { OverlayScrollbarsComponent } from './overlayscrollbars.component';\r\n\r\ntype Defer = [\r\n  requestDefer: (callback: () => any, options?: OverlayScrollbarsComponent['defer']) => void,\r\n  cancelDefer: () => void\r\n];\r\n\r\nconst createDefer = (): Defer => {\r\n  /* istanbul ignore next */\r\n  if (typeof window === 'undefined') {\r\n    // mock ssr calls with \"noop\"\r\n    // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n    const noop = () => {};\r\n    return [noop, noop];\r\n  }\r\n\r\n  let idleId: number;\r\n  let rafId: number;\r\n  const wnd = window;\r\n  const idleSupported = typeof wnd.requestIdleCallback === 'function';\r\n  const rAF = wnd.requestAnimationFrame;\r\n  const cAF = wnd.cancelAnimationFrame;\r\n  const rIdle = idleSupported ? wnd.requestIdleCallback : rAF;\r\n  const cIdle = idleSupported ? wnd.cancelIdleCallback : cAF;\r\n  const clear = () => {\r\n    cIdle(idleId);\r\n    cAF(rafId);\r\n  };\r\n\r\n  return [\r\n    (callback, options) => {\r\n      clear();\r\n      idleId = rIdle(\r\n        idleSupported\r\n          ? () => {\r\n              clear();\r\n              // inside idle its best practice to use rAF to change DOM for best performance\r\n              rafId = rAF(callback);\r\n            }\r\n          : callback,\r\n        // @ts-ignore\r\n        typeof options === 'object' ? options : { timeout: 2233 }\r\n      );\r\n    },\r\n    clear,\r\n  ];\r\n};\r\n\r\n@Directive({\r\n  selector: '[overlayScrollbars]', // https://angular.io/guide/styleguide#directive-selectors\r\n})\r\nexport class OverlayScrollbarsDirective implements OnChanges {\r\n  private instanceRef: OverlayScrollbars | null = null;\r\n  private requestDefer: ReturnType<typeof createDefer>[0];\r\n  private cancelDefer: ReturnType<typeof createDefer>[1];\r\n\r\n  @Input('options')\r\n  options?: OverlayScrollbarsComponent['options'];\r\n  @Input('events')\r\n  events?: OverlayScrollbarsComponent['events'];\r\n  @Input('defer')\r\n  defer?: OverlayScrollbarsComponent['defer'];\r\n\r\n  constructor(private ngZone: NgZone) {\r\n    const [requestDefer, cancelDefer] = createDefer();\r\n    this.requestDefer = requestDefer;\r\n    this.cancelDefer = cancelDefer;\r\n  }\r\n\r\n  osInitialize(target: InitializationTarget): void {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      const init = () => {\r\n        this.instanceRef = OverlayScrollbars(\r\n          target,\r\n          this.options || {},\r\n          /* istanbul ignore next */\r\n          this.events || {}\r\n        );\r\n      };\r\n\r\n      if (this.defer) {\r\n        this.requestDefer(init, this.defer);\r\n      } else {\r\n        init();\r\n      }\r\n    });\r\n  }\r\n\r\n  osInstance(): OverlayScrollbars | null {\r\n    return this.instanceRef;\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    const optionsChange = changes.options;\r\n    const eventsChange = changes.events;\r\n\r\n    if (optionsChange) {\r\n      const curr = optionsChange.currentValue;\r\n\r\n      this.options = curr;\r\n\r\n      if (OverlayScrollbars.valid(this.instanceRef)) {\r\n        this.instanceRef.options(curr || {}, true);\r\n      }\r\n    }\r\n    /* istanbul ignore else */\r\n    if (eventsChange) {\r\n      const curr = eventsChange.currentValue;\r\n\r\n      this.events = curr;\r\n\r\n      if (OverlayScrollbars.valid(this.instanceRef)) {\r\n        this.instanceRef.on(\r\n          /* istanbul ignore next */\r\n          curr || {},\r\n          true\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.cancelDefer();\r\n  }\r\n}\r\n","/* eslint-disable @typescript-eslint/consistent-type-imports */\r\nimport {\r\n  Component,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n  ViewChild,\r\n  ElementRef,\r\n  OnDestroy,\r\n  AfterViewInit,\r\n  NgZone,\r\n} from '@angular/core';\r\nimport { OverlayScrollbars } from 'overlayscrollbars';\r\nimport type { PartialOptions, EventListeners, EventListenerArgs } from 'overlayscrollbars';\r\nimport { OverlayScrollbarsDirective } from './overlayscrollbars.directive';\r\n\r\nconst mergeEventListeners = (emits: EventListeners, events: EventListeners) =>\r\n  (Object.keys(emits) as (keyof EventListeners)[]).reduce<EventListeners>(\r\n    <N extends keyof EventListeners>(obj: EventListeners, name: N) => {\r\n      const emitListener = emits[name];\r\n      const eventListener = events[name];\r\n      /* istanbul ignore next */\r\n      obj[name] = [\r\n        emitListener,\r\n        ...(Array.isArray(eventListener) ? eventListener : [eventListener]).filter(Boolean),\r\n      ];\r\n      return obj;\r\n    },\r\n    {}\r\n  );\r\n\r\n@Component({\r\n  selector: 'overlay-scrollbars, [overlay-scrollbars]', // https://angular.io/guide/styleguide#component-selectors\r\n  host: { 'data-overlayscrollbars-initialize': '' },\r\n  template: `\r\n    <div\r\n      overlayScrollbars\r\n      data-overlayscrollbars-contents=\"\"\r\n      [options]=\"options\"\r\n      [events]=\"mergeEvents(events)\"\r\n      [defer]=\"defer\"\r\n      #content\r\n    >\r\n      <ng-content></ng-content>\r\n    </div>\r\n  `,\r\n})\r\nexport class OverlayScrollbarsComponent implements OnDestroy, AfterViewInit {\r\n  /** OverlayScrollbars options. */\r\n  @Input('options')\r\n  options?: PartialOptions | false | null;\r\n  /** OverlayScrollbars events. */\r\n  @Input('events')\r\n  events?: EventListeners | false | null;\r\n  /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\r\n  @Input('defer')\r\n  defer?: boolean | IdleRequestOptions;\r\n\r\n  @Output('osInitialized')\r\n  onInitialized = new EventEmitter<EventListenerArgs['initialized']>();\r\n  @Output('osUpdated')\r\n  onUpdated = new EventEmitter<EventListenerArgs['updated']>();\r\n  @Output('osDestroyed')\r\n  onDestroyed = new EventEmitter<EventListenerArgs['destroyed']>();\r\n  @Output('osScroll')\r\n  onScroll = new EventEmitter<EventListenerArgs['scroll']>();\r\n\r\n  @ViewChild('content')\r\n  private contentRef?: ElementRef<HTMLDivElement>;\r\n  @ViewChild('content', { read: OverlayScrollbarsDirective })\r\n  private osDirective?: OverlayScrollbarsDirective;\r\n\r\n  constructor(private ngZone: NgZone, private targetRef: ElementRef<HTMLElement>) {}\r\n\r\n  osInstance(): OverlayScrollbars | null {\r\n    return this.osDirective!.osInstance();\r\n  }\r\n\r\n  getElement(): HTMLElement {\r\n    return this.targetRef.nativeElement;\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    const targetElm = this.getElement();\r\n    const contentElm = this.contentRef!.nativeElement;\r\n\r\n    /* istanbul ignore else */\r\n    if (targetElm && contentElm) {\r\n      this.osDirective!.osInitialize({\r\n        target: targetElm,\r\n        elements: {\r\n          viewport: contentElm,\r\n          content: contentElm,\r\n        },\r\n      });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.osDirective?.osInstance()?.destroy();\r\n  }\r\n\r\n  mergeEvents(originalEvents: OverlayScrollbarsComponent['events']) {\r\n    return mergeEventListeners(\r\n      {\r\n        initialized: (...args) => this.dispatchEventIfHasObservers(this.onInitialized, args),\r\n        updated: (...args) => this.dispatchEventIfHasObservers(this.onUpdated, args),\r\n        destroyed: (...args) => this.dispatchEventIfHasObservers(this.onDestroyed, args),\r\n        scroll: (...args) => this.dispatchEventIfHasObservers(this.onScroll, args),\r\n      },\r\n      originalEvents || {}\r\n    );\r\n  }\r\n\r\n  private dispatchEventIfHasObservers<T>(eventEmitter: EventEmitter<T>, args: T): void {\r\n    // `observed` is available since RxJS@7.2 because `observers` is being deprecated.\r\n    if ((eventEmitter as any).observed || eventEmitter.observers.length > 0) {\r\n      // This is required to re-enter the Angular zone to call the event handler in the Angular\r\n      // zone too. This will not re-enter the Angular zone if emitter doesn't have any observers,\r\n      // for instance, it's being listened: `<overlay-scrollbars (osInitialized)=\"...\"`.\r\n      // Events are dispatched outside of the Angular zone because instance is created in the\r\n      // `<root>` zone, see `OverlayScrollbarsDirective#osInitialize`.\r\n      this.ngZone.run(() => eventEmitter.emit(args));\r\n    }\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { OverlayScrollbarsDirective } from './overlayscrollbars.directive';\r\nimport { OverlayScrollbarsComponent } from './overlayscrollbars.component';\r\n\r\n@NgModule({\r\n  declarations: [OverlayScrollbarsComponent, OverlayScrollbarsDirective],\r\n  exports: [OverlayScrollbarsComponent, OverlayScrollbarsDirective],\r\n})\r\nexport class OverlayscrollbarsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.OverlayScrollbarsDirective"],"mappings":";;;;AAAA;AAWA,MAAM,WAAW,GAAG,MAAY;;AAE9B,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;;;AAGjC,QAAA,MAAM,IAAI,GAAG,MAAK,GAAG,CAAC;AACtB,QAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrB,KAAA;AAED,IAAA,IAAI,MAAc,CAAC;AACnB,IAAA,IAAI,KAAa,CAAC;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,mBAAmB,KAAK,UAAU,CAAC;AACpE,IAAA,MAAM,GAAG,GAAG,GAAG,CAAC,qBAAqB,CAAC;AACtC,IAAA,MAAM,GAAG,GAAG,GAAG,CAAC,oBAAoB,CAAC;AACrC,IAAA,MAAM,KAAK,GAAG,aAAa,GAAG,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;AAC5D,IAAA,MAAM,KAAK,GAAG,aAAa,GAAG,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAK;QACjB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,GAAG,CAAC,KAAK,CAAC,CAAC;AACb,KAAC,CAAC;IAEF,OAAO;AACL,QAAA,CAAC,QAAQ,EAAE,OAAO,KAAI;AACpB,YAAA,KAAK,EAAE,CAAC;YACR,MAAM,GAAG,KAAK,CACZ,aAAa;kBACT,MAAK;AACH,oBAAA,KAAK,EAAE,CAAC;;AAER,oBAAA,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACvB;AACH,kBAAE,QAAQ;;AAEZ,YAAA,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1D,CAAC;SACH;QACD,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;MAKW,0BAA0B,CAAA;AAYrC,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAX1B,IAAW,CAAA,WAAA,GAA6B,IAAI,CAAC;QAYnD,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,WAAW,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAChC;AAED,IAAA,YAAY,CAAC,MAA4B,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;YACjC,MAAM,IAAI,GAAG,MAAK;gBAChB,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAClC,MAAM,EACN,IAAI,CAAC,OAAO,IAAI,EAAE;;AAElB,gBAAA,IAAI,CAAC,MAAM,IAAI,EAAE,CAClB,CAAC;AACJ,aAAC,CAAC;YAEF,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,EAAE,CAAC;AACR,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;AAEpC,QAAA,IAAI,aAAa,EAAE;AACjB,YAAA,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC;AAExC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC7C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;;AAED,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC;AAEvC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAEnB,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC7C,IAAI,CAAC,WAAW,CAAC,EAAE;;AAEjB,gBAAA,IAAI,IAAI,EAAE,EACV,IAAI,CACL,CAAC;AACH,aAAA;AACF,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;uHAxEU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;6FAOC,OAAO,EAAA,CAAA;sBADN,KAAK;uBAAC,SAAS,CAAA;gBAGhB,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,QAAQ,CAAA;gBAGf,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,OAAO,CAAA;;;AChEhB;AAgBA,MAAM,mBAAmB,GAAG,CAAC,KAAqB,EAAE,MAAsB,KACvE,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,CAAC,MAAM,CACrD,CAAiC,GAAmB,EAAE,IAAO,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;;IAEnC,GAAG,CAAC,IAAI,CAAC,GAAG;QACV,YAAY;QACZ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;KACpF,CAAC;AACF,IAAA,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,CACH,CAAC;MAkBS,0BAA0B,CAAA;IAyBrC,WAAoB,CAAA,MAAc,EAAU,SAAkC,EAAA;QAA1D,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;AAb9E,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAoC,CAAC;AAErE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAgC,CAAC;AAE7D,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAkC,CAAC;AAEjE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAA+B,CAAC;KAOuB;IAElF,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,WAAY,CAAC,UAAU,EAAE,CAAC;KACvC;IAED,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;KACrC;IAED,eAAe,GAAA;AACb,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACpC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC;;QAGlD,IAAI,SAAS,IAAI,UAAU,EAAE;AAC3B,YAAA,IAAI,CAAC,WAAY,CAAC,YAAY,CAAC;AAC7B,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,QAAQ,EAAE;AACR,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;KAC3C;AAED,IAAA,WAAW,CAAC,cAAoD,EAAA;AAC9D,QAAA,OAAO,mBAAmB,CACxB;AACE,YAAA,WAAW,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;AACpF,YAAA,OAAO,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AAC5E,YAAA,SAAS,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;AAChF,YAAA,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC3E,SAAA,EACD,cAAc,IAAI,EAAE,CACrB,CAAC;KACH;IAEO,2BAA2B,CAAI,YAA6B,EAAE,IAAO,EAAA;;QAE3E,IAAK,YAAoB,CAAC,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;;;;;;AAMvE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,SAAA;KACF;;uHA7EU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAsBP,0BAA0B,EAnC9C,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAhBtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0CAA0C;AACpD,oBAAA,IAAI,EAAE,EAAE,mCAAmC,EAAE,EAAE,EAAE;AACjD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA;AACF,iBAAA,CAAA;sHAIC,OAAO,EAAA,CAAA;sBADN,KAAK;uBAAC,SAAS,CAAA;gBAIhB,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,QAAQ,CAAA;gBAIf,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,OAAO,CAAA;gBAId,aAAa,EAAA,CAAA;sBADZ,MAAM;uBAAC,eAAe,CAAA;gBAGvB,SAAS,EAAA,CAAA;sBADR,MAAM;uBAAC,WAAW,CAAA;gBAGnB,WAAW,EAAA,CAAA;sBADV,MAAM;uBAAC,aAAa,CAAA;gBAGrB,QAAQ,EAAA,CAAA;sBADP,MAAM;uBAAC,UAAU,CAAA;gBAIV,UAAU,EAAA,CAAA;sBADjB,SAAS;uBAAC,SAAS,CAAA;gBAGZ,WAAW,EAAA,CAAA;sBADlB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAA;;;MC7D/C,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAHnB,0BAA0B,EAAE,0BAA0B,CAC3D,EAAA,OAAA,EAAA,CAAA,0BAA0B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;qHAErD,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;AACtE,oBAAA,OAAO,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;AAClE,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}