@nxa-lab/nxa-ui 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/nxa-lab-nxa-ui.mjs +3571 -0
- package/fesm2022/nxa-lab-nxa-ui.mjs.map +1 -0
- package/package.json +37 -0
- package/styles/_layers.css +5 -0
- package/styles/_safelist.css +133 -0
- package/styles/_variables.css +4 -0
- package/styles/animations.css +80 -0
- package/styles/components/buttons.css +15 -0
- package/styles/components/modals.css +3 -0
- package/styles/components/nxa-drawer.css +55 -0
- package/styles/components/progress-api-call.css +5 -0
- package/styles/components/text.css +195 -0
- package/styles/inputs/nxa-radio.css +3 -0
- package/styles/layouts/host.css +3 -0
- package/styles/layouts/nxa-page.css +0 -0
- package/styles/main.css +18 -0
- package/types/nxa-lab-nxa-ui.d.ts +1463 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nxa-lab-nxa-ui.mjs","sources":["../../../projects/nxa-ui/src/lib/utils/nxa-color-utils.ts","../../../projects/nxa-ui/src/lib/utils/nxa-mixin-utils.ts","../../../projects/nxa-ui/src/lib/utils/nxa-size-utils.ts","../../../projects/nxa-ui/src/lib/utils/nxa-utils.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-form-control/nxa-form-control.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-form-control/nxa-form-control.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-button/nxa-button.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-button/nxa-button.component.html","../../../projects/nxa-ui/src/internals/inputWrapper.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-checkbox/nxa-checkbox.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-checkbox/nxa-checkbox.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-date-time-input/nxa-date-time-input.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-date-time-input/nxa-date-time-input.component.html","../../../projects/nxa-ui/src/lib/services/nxa-drawer.service.ts","../../../projects/nxa-ui/src/lib/services/nxa-layout.service.ts","../../../projects/nxa-ui/src/lib/services/nxa-loading.service.ts","../../../projects/nxa-ui/src/lib/services/nxa-overlay.service.ts","../../../projects/nxa-ui/src/lib/services/nxa-theme.service.ts","../../../projects/nxa-ui/src/lib/services/nxa-toast.service.ts","../../../projects/nxa-ui/src/lib/mixins/nxa-overlay-mixins.ts","../../../projects/nxa-ui/src/lib/mixins/nxa-component-class-name-mixin.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-dropdown/nxa-dropdown.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-dropdown/nxa-dropdown.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-file-input/nxa-file-input.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-file-input/nxa-file-input.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-radio/nxa-radio.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-radio/nxa-radio.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-radio-group/nxa-radio-group.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-range/nxa-range.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-range/nxa-range.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-select/nxa-select.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-select/nxa-select.component.html","../../../projects/nxa-ui/src/lib/components/inputs/nxa-text-input/nxa-text-input.component.ts","../../../projects/nxa-ui/src/lib/components/inputs/nxa-text-input/nxa-text-input.component.html","../../../projects/nxa-ui/src/lib/components/layout-primitives/nxa-linear-layout.component.ts","../../../projects/nxa-ui/src/lib/components/layout-primitives/nxa-container.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-expansion-panel/nxa-expansion-panel.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-expansion-panel/nxa-expansion-panel.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-accordion/nxa-accordion.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-accordion/nxa-accordion.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-card/nxa-card.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-card/nxa-card.component.html","../../../projects/nxa-ui/src/lib/directives/nxa-auto-size.directive.ts","../../../projects/nxa-ui/src/lib/directives/nxa-force-size.directive.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-pagination/nxa-pagination.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-pagination/nxa-pagination.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-datagrid/nxa-datagrid.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-datagrid/nxa-datagrid.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-dynamic-list/nxa-dynamic-list.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-dynamic-list/nxa-dynamic-list.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-list-tile/nxa-list-tile.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-list-tile/nxa-list-tile.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-badge/nxa-badge.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-badge/nxa-badge.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-text/nxa-text.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-text/nxa-text.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-drawer/nxa-drawer.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-drawer/nxa-drawer.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-progress-api-call/nxa-progress-api-call.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-progress-api-call/nxa-progress-api-call.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-toast/nxa-toast.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-toast/nxa-toast.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-tooltip/nxa-tooltip.component.ts","../../../projects/nxa-ui/src/lib/components/components/nxa-tooltip/nxa-tooltip.component.html","../../../projects/nxa-ui/src/lib/components/components/nxa-tooltip/nxa-tooltip.directive.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-navbar/nxa-navbar.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-navbar/nxa-navbar.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-page/nxa-page.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-page/nxa-page.component.html","../../../projects/nxa-ui/src/lib/components/layouts/nxa-tab-view/nxa-tab.directive.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-tab-view/nxa-tab-view.component.ts","../../../projects/nxa-ui/src/lib/components/layouts/nxa-tab-view/nxa-tab-view.component.html","../../../projects/nxa-ui/src/lib/components/layouts/index.ts","../../../projects/nxa-ui/src/lib/interceptors/nxa-loading.interceptor.ts","../../../projects/nxa-ui/src/public-api.ts","../../../projects/nxa-ui/src/nxa-lab-nxa-ui.ts"],"sourcesContent":["export const NXA_COLORS_ALL = [\n 'primary',\n 'secondary',\n 'accent',\n 'neutral',\n 'info',\n 'warning',\n 'error',\n 'success',\n 'content',\n 'ghost',\n 'link',\n] as const;\nexport const NXA_NEUTRAL_COLORS = [\n 'neutral'\n] as const;\nexport const NXA_CONTENT_COLORS = [\n 'content'\n] as const;\nexport const NXA_BRAND_COLORS = [\n 'primary',\n 'secondary',\n 'accent',\n] as const;\nexport const NXA_STATUS_COLORS = [\n 'info',\n 'success',\n 'warning',\n 'error',\n] as const;\nexport type NxaBrandColor = typeof NXA_BRAND_COLORS[number];\nexport type NxaStatusColor = typeof NXA_STATUS_COLORS[number];\nexport type NxaNeutralColor = typeof NXA_NEUTRAL_COLORS[number];\nexport type NxaContentColor = typeof NXA_CONTENT_COLORS[number];\nexport type NxaColorAll = typeof NXA_COLORS_ALL[number];","export type NxaConstructor<T = object> = new(...args:any[])=>T;\n\n\nexport function applyMixins(derivedCtor: any, constructors: any[]) {\n constructors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||\n Object.create(null)\n );\n });\n });\n}","\nexport type NxaCssLength =\n | `${number}${'px' | '%' | 'em' | 'rem' | 'vh' | 'vw' |'dvw' |'dvh'}`\n | `calc(${string})`\n | 'auto'\n | '0';\n\nexport type NxaDirection =\n | 'left'\n | 'top-left'\n | 'top'\n | 'top-right'\n | 'right'\n | 'bottom-right'\n | 'bottom'\n | 'bottom-left'\n | 'center-left'\n | 'center'\n |'center-right';\n\nexport const NXA_SIZES = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl'\n] as const;\nexport type NxaSize = typeof NXA_SIZES[number];","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport const NXA_HOST_CONTENTS_ONLY = 'contents';\nexport const NXA_HOST_BLOCK='block min-h-0 basis-fit h-fit flex-1 max-h-full w-full max-w-full inset-0 box-border';\nexport const NXA_HOST_LAYOUT = 'w-full h-full min-h-0 flex flex-col flex-1';\n\nexport function sanitizeIcon(icon: string, sanitizer: DomSanitizer): SafeHtml {\n return sanitizer.bypassSecurityTrustHtml(icon);\n}\nexport function isBrowserContext(){\n return typeof document !== \"undefined\";\n}\nexport function isServerContext(){\n return typeof document===\"undefined\";\n}\n\n\nexport function shallowEqual<T=any>(obj1: Record<string, T>, obj2: Record<string, T>): boolean {\n if (obj1 === obj2) return true;\n if (!obj1 || !obj2) return false;\n\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) return false;\n\n for (const key of keys1) {\n if (obj1[key] !== obj2[key]) return false;\n }\n\n return true;\n}\nexport function deepEqual<T = any>(a: T, b: T): boolean {\n if (a === b) return true;\n\n // Handle NaN\n if (typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b)) {\n return true;\n }\n\n if (typeof a !== 'object' || a === null ||\n typeof b !== 'object' || b === null) {\n return false;\n }\n\n // Date\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n\n // RegExp\n if (a instanceof RegExp && b instanceof RegExp) {\n return a.toString() === b.toString();\n }\n\n // Arrays\n if (Array.isArray(a) !== Array.isArray(b)) return false;\n\n const keysA = Object.keys(a as object);\n const keysB = Object.keys(b as object);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (!keysB.includes(key)) return false;\n if (!deepEqual((a as any)[key], (b as any)[key])) return false;\n }\n\n return true;\n}\nexport function getStyleVariable(name: string): string {\n return getComputedStyle(document.documentElement).getPropertyValue(`${name}`).trim();\n}\n// export function isRunningInBrowser(): boolean {\n// return typeof document !== 'undefined';\n// }\nexport type Nullable<T> = T | null | undefined;\n\n","import { Component } from '@angular/core';\nimport { NXA_HOST_BLOCK } from '../../../utils';\n\n@Component({\n selector: 'nxa-form-control',\n templateUrl: './nxa-form-control.component.html',\n styleUrls:['./nxa-form-control.component.css'],\n host:{\n '[attr.id]':'null',\n class:NXA_HOST_BLOCK,\n }\n})\nexport class NxaFormControl {\n\n}\n","<!-- container -->\n<div class=\"nxa-form-control-container\">\n <!-- Top Label Container -->\n <div class=\"nxa-form-control-top\">\n <div>\n <ng-content select=\"[top-left]\"></ng-content>\n </div>\n <div>\n <ng-content select=\"[top-right]\"></ng-content>\n </div>\n </div>\n <!-- Input container -->\n <div class=\"nxa-form-control-input-container\">\n <div>\n <ng-content select=\"[leading]\"></ng-content>\n </div>\n <ng-content select=\"\"></ng-content>\n <div>\n <ng-content select=\"[trailing]\"></ng-content>\n </div>\n\n </div>\n <!-- Bottom Label Container -->\n <div class=\"nxa-form-control-bottom\">\n <div>\n <ng-content select=\"[bottom-left]\"></ng-content>\n </div>\n <div>\n <ng-content select=\"[bottom-right]\"></ng-content>\n </div>\n </div>\n</div>\n<!-- Error message Container -->\n<div class=\"nxa-form-control-error-message\">\n <ng-content select=\"[error-message]\"></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n EventEmitter,\n Input,\n Output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterLink, RouterLinkActive, UrlTree } from '@angular/router';\nimport { NXA_HOST_CONTENTS_ONLY, Nullable } from '../../../utils/nxa-utils';\nimport { NxaColorAll, NxaSize } from '../../../utils';\n\n\n@Component({\n selector: 'nxa-button',\n imports: [CommonModule, RouterLink, RouterLinkActive],\n templateUrl: './nxa-button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n\n host: {\n role:\"button\",\n class: NXA_HOST_CONTENTS_ONLY,\n \"(click)\":\"handleClick($event)\"\n }\n\n})\nexport class NxaButton {\n\n //#region Private Singnal\n /**\n * @ignore\n */\n protected readonly _color = signal<NxaColorAll>('neutral');\n /**\n * @ignore\n */\n protected readonly _size = signal<NxaSize>(\"md\");\n /**\n * @ignore\n */\n protected readonly _disabled = signal<boolean>(false);\n /**\n * @ignore\n */\n protected readonly _loading = signal<boolean>(false);\n /**\n * @ignore\n */\n protected readonly _routerLink = signal<Nullable<string | any[] | UrlTree>>(null);\n /**\n * @ignore\n */\n protected readonly _outlined = signal<boolean>(false);\n /**\n * @ignore\n */\n private readonly _className = signal<string>('');\n /**\n * @ignore\n */\n protected readonly _type = signal<'button' | 'submit' | 'reset'>('button');\n /**\n * @ignore\n */\n protected readonly _spinnerTemplateRef = signal<Nullable<TemplateRef<any>>>(null);\n /**\n * \n */\n protected readonly _label=signal<string>('');\n @Input() public set label(value:string){\n this._label.set(value);\n }\n public get label():string{\n return this._label();\n }\n //#endregion\n\n\n //#region public Input\n // /**\n // * Color of the button based on DaisyUI Theme Colors\n // * @param {NxaColorAll}\n // * {@link NxaColorAll}\n // */\n @Input() public set color(value: NxaColorAll) { this._color.set(value) };\n\n /**\n * Size of the button based on DaisyUI Theme Sizes\n */\n @Input() public set size(value: NxaSize) { this._size.set(value) };\n /**\n * Disabled button effect + handleClick won't fire an event\n */\n @Input() public set disabled(value: boolean) { this._disabled.set(value) };\n /**\n * show a loading spinner + diabled fire events from button\n */\n @Input() public set loading(value: boolean) { this._loading.set(value) };\n /**\n * if value is provided it change the button into a link that is navigable\n */\n @Input() public set routerLink(value: Nullable<string | any[] | UrlTree>) {\n this._routerLink.set(value);\n }\n /**\n * set the style to outlinee\n */\n @Input() public set outlined(value: boolean) {\n this._outlined.set(value);\n };\n /**\n * classes provided will be injected into the button\n */\n @Input() public set className(value: string) {\n this._className.set(value);\n };\n /**\n * type of button, work only if it's a button without routerLink\n */\n @Input() public set type(value: 'button' | 'submit' | 'reset') {\n this._type.set(value);\n };\n\n /**\n * custom spinner for the loading state\n */\n @Input() public set spinnerTemplateRef(value: Nullable<TemplateRef<any>>) {\n this._spinnerTemplateRef.set(value);\n };\n //#endregion\n /**\n * click event handled with disabled & loading condition to prevent multiple clicks\n */\n @Output() nxaClick = new EventEmitter<Event>();\n //#region Output\n /**\n * @ignore\n */\n protected computedClasses = computed(() => {\n const consumerClasses = this._className().split(/\\s+/).filter(Boolean).reduce((acc, cls) => ({ ...acc, [cls]: true }), {});\n const defaultClasses = {\n 'btn': true,\n [`btn-${this._color()}`]: true,\n [`btn-${this._size()}`]: true,\n 'btn-disabled': this._disabled() || this._loading(),\n 'btn-outline': this._outlined(),\n ['pointer-events-none']:this._disabled() || this._loading(),\n };\n return { ...defaultClasses, ...consumerClasses };\n });\n\n handleClick(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n if (this._disabled() || this._loading()) {\n return;\n }\n this.nxaClick.emit(event);\n }\n}\n","<!-- Button Content Wrapper -->\n<ng-container>\n <!-- Link Button -->\n @if (!!_routerLink()) {\n\n <a role=\"button\" [ngClass]=\"computedClasses()\" [routerLink]=\"_routerLink()\"\n [attr.aria-disabled]=\"_disabled() || _loading()\" [attr.aria-busy]=\"_loading()\"\n [routerLinkActive]=\"'btn-disabled'\" [attr.aria-label]=\"label\">\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\n </a>\n }\n <!-- Norml Button Behaviour -->\n @else {\n\n <button role=\"button\" [ngClass]=\"computedClasses()\" [disabled]=\"_disabled() || _loading()\"\n [attr.aria-disabled]=\"_disabled() || _loading()\" [attr.aria-busy]=\"_loading()\" [type]=\"_type()\"\n [attr.aria-label]=\"label\">\n @if(_loading()){\n <ng-container *ngTemplateOutlet=\"_spinnerTemplateRef()??defaultSpinner\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\n </button>\n\n }\n</ng-container>\n<ng-template #defaultSpinner>\n <span class=\"loading loading-spinner\"\n [ngClass]=\"\n {'loading-xs':_size()==='xs', 'loading-sm':_size()==='sm', 'loading-md':_size()==='md', 'loading-lg':_size()==='lg','loading-xl':_size()==='xl'}\"></span>\n</ng-template>\n<!-- Button Template with slots -->\n<ng-template #buttonContent>\n <ng-content select=\"[leading]\"></ng-content>\n <ng-content select=\"\"></ng-content>\n <ng-content select=\"[trailing]\"></ng-content>\n</ng-template>","import { effect, EventEmitter, signal } from '@angular/core';\n\nexport function modelState<T>(initialValue: T, autoEmit = false) {\n const _modelSig = signal<T>(initialValue);\n const emitter = new EventEmitter<T>();\n if (autoEmit) {\n let initialized = false;\n effect(() => {\n const value = _modelSig();\n if (!initialized) {\n initialized = true;\n return;\n }\n emitter.emit(value);\n });\n }\n return {\n sig: _modelSig,\n emitter,\n get: () => _modelSig(),\n set: (v: T) => {\n _modelSig.set(v);\n },\n update: (updateFn: (old: T) => T) => {\n _modelSig.update(updateFn);\n },\n };\n}\n","import { Component, computed, forwardRef, Input, Output, signal, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NXA_HOST_CONTENTS_ONLY } from '../../../utils/nxa-utils';\nimport { CommonModule } from '@angular/common';\nimport { modelState } from '../../../../internals/inputWrapper';\nimport { NxaBrandColor, NxaStatusColor, NxaNeutralColor, NxaSize } from '../../../utils';\n\n\n@Component({\n selector: 'nxa-checkbox',\n templateUrl: './nxa-checkbox.component.html',\n standalone: true,\n host: {\n '[attr.id]': 'null',\n class: NXA_HOST_CONTENTS_ONLY\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NxaCheckbox),\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule]\n})\nexport class NxaCheckbox implements ControlValueAccessor {\n //#region private signals\n protected _value = modelState<boolean>(true,true);\n protected _disabled = signal<boolean>(false);\n protected _color = signal<NxaBrandColor | NxaStatusColor | NxaNeutralColor>('neutral');\n protected _size = signal<Exclude<NxaSize, 'xl'>>('md');\n protected _displayAs = signal<'checkbox' | 'toggle'>('checkbox');\n protected _id = signal<string>('');\n protected _className = signal<string>('');\n ///\n /// Control Value Accessor Stat Functions\n ///\n private onChange: (value: any) => void = () => {return };\n private onTouched: () => void = () => {return };\n\n\n //#region inputs\n /**\n * Checkbox Value\n * @type {boolean}\n * @default false\n */\n @Input() public set value(value: boolean) {\n this._value.update(()=>value);\n }\n public get value():boolean{\n return this._value.get();\n }\n /**\n * Checkbox disabled state\n * @type {boolean}\n * @default false\n * @description If true, the checkbox will be disabled and cannot be interacted with.\n */\n @Input() public set disabled(value: boolean) {\n this._disabled.set(value);\n }\n /**\n * Checkbox color\n * @type {NxaBrandColor | NxaStatusColor | NxaNeutralColor}\n * @default 'neutral'\n */\n @Input() public set color(value: NxaBrandColor | NxaStatusColor | NxaNeutralColor) {\n this._color.set(value);\n }\n /**\n * Checkbox size\n * @type {NxaSize}\n * @default 'md'\n */\n @Input() public set size(value: Exclude<NxaSize, 'xl'>) {\n this._size.set(value);\n }\n /**\n * Show checkbox as checkbox or toggle\n * @type {'checkbox' | 'toggle'}\n * @default 'checkbox'\n * @description If 'checkbox', it will show as a checkbox, if 'toggle', it will show as a toggle switch.\n * This is useful for different use cases where you want to show a checkbox or a toggle switch.\n */\n @Input() public set displayAs(value: 'checkbox' | 'toggle') {\n this._displayAs.set(value);\n }\n @Input() public set id(value: string) {\n this._id.set(value);\n }\n @Input() public set className(value: string) {\n this._className.set(value);\n }\n //#endregion\n //#region outputs\n @Output() public valueChange = this._value.emitter;\n //#endregion\n //#region control value accessor\n\n\n /**\n * @ignore\n * Control value accessor write value function\n * update state value when form inject current value\n */\n public writeValue(obj: any): void {\n this._value.sig.set(obj);\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = (isDisabled);\n }\n public onInput(event: Event) {\n const input = event.target as HTMLInputElement;\n this._value.set(input.checked);\n this.onChange(input.checked);\n }\n public onBlur() {\n this.onTouched();\n }\n //#endregion\n\n\n protected computedNgClasses = computed(() => {\n return {\n [`${this._displayAs()}`]: true,\n [`disabled`]: this._disabled(),\n [`${this._displayAs()}-xs`]: this._size() === 'xs',\n [`${this._displayAs()}-sm`]: this._size() === 'sm',\n [`${this._displayAs()}-md`]: this._size() === 'md',\n [`${this._displayAs()}-lg`]: this._size() === 'lg',\n [`${this._displayAs()}-primary`]: this._color() === 'primary',\n [`${this._displayAs()}-secondary`]: this._color() === 'secondary',\n [`${this._displayAs()}-accent`]: this._color() === 'accent',\n [`${this._displayAs()}-info`]: this._color() === 'info',\n [`${this._displayAs()}-warning`]: this._color() === 'warning',\n [`${this._displayAs()}-error`]: this._color() === 'error',\n [`${this._displayAs()}-success`]: this._color() === 'success',\n [`${this._displayAs()}-neutral`]: this._color() === 'neutral',\n };\n });\n\n}\n","<div class=\"form-control w-fit min-w-5 flex flex-row items-center\" [class]=\"_className()\">\n <label class=\"label cursor-pointer\" [for]=\"_id()\">\n <span class=\"label-text\">\n <ng-content select=\"[label]\"></ng-content>\n </span> \n </label>\n <input \n [attr.id]=\"_id()\"\n type=\"checkbox\"\n [disabled]=\"_disabled()\" \n (input)=\"onInput($event)\"\n class=\"mx-2\"\n [checked]=\"_value.get()\"\n [aria-checked]=\"_value.get()\"\n [ngClass]=\"computedNgClasses()\"\n (blur)=\"onBlur()\" />\n</div>\n","import { Component, forwardRef, Input, OnInit, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NXA_HOST_BLOCK } from '../../../utils';\n\n@Component({\n selector: 'nxa-date-time-input',\n templateUrl: './nxa-date-time-input.component.html',\n providers:[\n {\n provide:NG_VALUE_ACCESSOR,\n useExisting: forwardRef(()=>NxaDateTimeInput),\n multi:true,\n }\n ],\n host:{\n class:`${NXA_HOST_BLOCK} p-2`\n },\n imports:[\n\n ],\n})\nexport class NxaDateTimeInput implements OnInit,ControlValueAccessor{\n //#region state\n //#endregion\n\n //#region inputs\n protected _type=signal<'date'|'datetime-local'>('datetime-local');\n @Input() public set type(value: 'date'|'datetime-local') { this._type.set(value); };\n get type(): 'date'|'datetime-local' { return this._type(); }\n //#endregion\n writeValue(obj: any): void {\n throw new Error('Method not implemented.');\n }\n registerOnChange(fn: any): void {\n throw new Error('Method not implemented.');\n }\n registerOnTouched(fn: any): void {\n throw new Error('Method not implemented.');\n }\n setDisabledState?(isDisabled: boolean): void {\n throw new Error('Method not implemented.');\n }\n\n ngOnInit() {\n }\n\n}\n","<input [type]=\"_type()\" placeholder=\"\" class=\"input w-full\" />","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\n\nexport interface NxaDrawerState {\n id: string;\n state: \"OPEN\" | \"CLOSE\" | \"REMOVED\";\n side:\"LEFT\"|\"RIGHT\";\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NxaDrawerService {\n /**\n * store state of any drawer\n */\n private _drawerStates$ = new BehaviorSubject<NxaDrawerState[]>([]);\n\n\n /**\n * register a drawer so that it can be used\n * @param drawerState initial drawer state\n */\n public registerDrawer(drawerState: NxaDrawerState) {\n const states = this._drawerStates$.value;\n const index = states.findIndex(drawer => drawer.id === drawerState.id);\n if (index !== -1) {\n // Replace existing drawer state with the same id\n const updatedStates = [...states];\n updatedStates[index] = drawerState;\n this._drawerStates$.next(updatedStates);\n } else {\n // Add new drawer state\n this._drawerStates$.next([...states, drawerState]);\n }\n }\n /**\n * remove drawer state\n * @param id id of the drawer\n */\n public unregisterDrawer(id: string) {\n this._drawerStates$.next(\n this._drawerStates$.value.filter(drawer => drawer.id !== id)\n );\n }\n /**\n * get drawer state stream by Id\n * @param id id of the drawer\n * @returns Observable state of the drawer\n */\n public getDrawerState$(id: string): Observable<NxaDrawerState | null | undefined> {\n return this._drawerStates$.asObservable().pipe(\n // Map the array to the drawer state with the given id\n map(states => states.find(x => x.id === id))\n );\n }\n /**\n * get current drawer state by Id\n * @param id id of the drawer\n * @returns NxaDrawerState\n */\n public getDrawerState(id: string): NxaDrawerState | null | undefined {\n return this._drawerStates$.value.find(x => x.id === id);\n }\n /**\n * update state of a drawer\n * @param drawerState \n */\n public updateDrawerState(drawerState: NxaDrawerState) {\n this._drawerStates$.next(\n this._drawerStates$.value.map(drawer =>\n drawer.id === drawerState.id ? { ...drawer, ...drawerState } : drawer\n )\n );\n }\n /**\n * Toggle State of a drawer\n * @param id drawer Id\n */\n public toggle(id:string){\n const state=this.getDrawerState(id);\n this.updateDrawerState(({...state,state:state?.state==\"OPEN\"?\"CLOSE\":\"OPEN\"} as NxaDrawerState));\n }\n}\n","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, throttleTime } from 'rxjs';\n\nexport type NxaBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nexport type NxaBreakpointMap = Partial<Record<Exclude<NxaBreakpoint, 'xs'>, number>>;\n\nexport const DEFAULT_TAILWIND_BREAKPOINTS: NxaBreakpointMap = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n};\n\nexport const NXA_BREAKPOINTS = new InjectionToken<NxaBreakpointMap>(\n 'NXA_BREAKPOINTS',\n {\n providedIn: 'root',\n factory: () => DEFAULT_TAILWIND_BREAKPOINTS,\n }\n);\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NxaLayoutService {\n private breakpoints = inject(NXA_BREAKPOINTS)\n private _breakpoint$ = new BehaviorSubject<NxaBreakpoint>(this.getBreakpoint());\n private _resizeObserver?: ResizeObserver;\n\n constructor() {\n if (typeof window === \"undefined\") return;\n this._resizeObserver = new ResizeObserver(() => {\n this._breakpoint$.next(this.getBreakpoint());\n });\n this._resizeObserver.observe(document.documentElement);\n }\n\n get breakpoint$() {\n return this._breakpoint$.asObservable().pipe(throttleTime(10));\n }\n\n get current(): NxaBreakpoint {\n return this._breakpoint$.value;\n }\n\n private getBreakpoint(): NxaBreakpoint {\n if (typeof window === \"undefined\") return 'md';\n const width = window.innerWidth;\n const { sm = 640, md = 768, lg = 1024, xl = 1280, ['2xl']: x2l = 1536 } = this.breakpoints;\n\n if (width < sm) return 'xs';\n if (width < md) return 'sm';\n if (width < lg) return 'md';\n if (width < xl) return 'lg';\n if (width < x2l) return 'xl';\n return '2xl';\n }\n}\n","import { HttpContextToken } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\n\nexport const SKIP_LOADING = new HttpContextToken<boolean>(() => false);\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NxaLoadingService {\n private _isLoading$ = new BehaviorSubject<number>(0);\n public get isLoading$():Observable<boolean>{\n return this._isLoading$.pipe(map((count)=>count>0));\n }\n public get isLoading():boolean{\n return this._isLoading$.value>0;\n }\n public addLoading(){\n this._isLoading$.next(this._isLoading$.value+1);\n }\n public removeLoading() {\n const current = this._isLoading$.value;\n if (current > 0) {\n this._isLoading$.next(current - 1);\n }\n }\n \n}\n","import {\n ComponentType,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, InjectionToken, Injector } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Nullable } from '../utils';\n\nexport class NxaOverlayRef<T> {\n private _afterClose$ = new BehaviorSubject<Nullable<T>>(null);\n public readonly afterClose$ = this._afterClose$.asObservable();\n constructor(public overlayRef: OverlayRef) {}\n\n close(returnValue?: T) {\n this.overlayRef.dispose();\n this._afterClose$.next(returnValue);\n }\n}\nexport type NxaOverlayConfig = OverlayConfig & {\n backdropClickDismiss?: boolean;\n};\n\nexport const NXA_OVERLAY_DATA = new InjectionToken<Nullable<any>>(\n 'NXA_OVERLAY_DATA',\n {\n providedIn: 'root',\n factory: () => null,\n },\n);\n\nexport const NXA_OVERLAY_CONFIG_DEFAULTS =\n new InjectionToken<NxaOverlayConfig>('NXA_OVERLAY_CONFIG_DEFAULTS', {\n providedIn: 'root',\n factory: () => {\n const overlay = inject(Overlay);\n return {\n disposeOnNavigation: true,\n width: '80%',\n height: '60%',\n usePopover: true,\n hasBackdrop: true,\n scrollStrategy: overlay.scrollStrategies.block(),\n backdropClickDismiss: true,\n } as NxaOverlayConfig satisfies NxaOverlayConfig;\n },\n });\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NxaOverlayService {\n private readonly overlay = inject(Overlay);\n private readonly defaultConfig = inject(NXA_OVERLAY_CONFIG_DEFAULTS);\n private readonly positionBuilder = inject(OverlayPositionBuilder);\n\n public create<TComponent,TData, TReturn>(\n component: ComponentType<TComponent>,\n data?: Nullable<TData>,\n config?: Partial<NxaOverlayConfig>,\n ): NxaOverlayRef<TReturn> {\n // merge Configurations\n const finalConfig = {\n ...this.defaultConfig,\n ...config,\n } as NxaOverlayConfig;\n // create position strategy if missing\n if (!finalConfig.positionStrategy) {\n finalConfig.positionStrategy = this.positionBuilder\n .global()\n .centerHorizontally()\n .centerVertically();\n }\n\n //create Overlay Ref\n const modalRef = new NxaOverlayRef<TReturn>(this.overlay.create(finalConfig));\n\n // create injection context\n const injector = Injector.create({\n providers: [\n { provide: NxaOverlayRef, useValue: modalRef },\n { provide: NXA_OVERLAY_DATA, useValue: data },\n ],\n });\n // Create Portal for the overlay and attach component to it\n const componentPortal = new ComponentPortal(component, null, injector);\n modalRef.overlayRef.attach(componentPortal);\n\n // dismiss on backdrop click\n if (finalConfig.backdropClickDismiss) {\n modalRef.overlayRef.backdropClick().subscribe(() => {\n modalRef.close();\n });\n }\n\n return modalRef;\n }\n}\n","\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, firstValueFrom, isObservable, Observable } from 'rxjs';\nimport { isBrowserContext } from '../utils';\nexport const NXA_DEFAULT_THEME_BRIGHTNESS_MAP: Record<string, \"light\" | \"dark\"> = {\n light: \"light\",\n dark: \"dark\",\n cupcake: \"light\",\n bumblebee: \"light\",\n emerald: \"light\",\n corporate: \"light\",\n synthwave: \"dark\",\n retro: \"light\",\n cyberpunk: \"light\",\n valentine: \"light\",\n halloween: \"dark\",\n garden: \"light\",\n forest: \"dark\",\n aqua: \"light\",\n lofi: \"light\",\n pastel: \"light\",\n fantasy: \"light\",\n wireframe: \"light\",\n black: \"dark\",\n luxury: \"dark\",\n dracula: \"dark\",\n cmyk: \"light\",\n autumn: \"light\",\n business: \"dark\",\n acid: \"light\",\n lemonade: \"light\",\n night: \"dark\",\n coffee: \"dark\",\n winter: \"light\",\n};\nexport const NXA_THEME_BRIGHTNESS_MAP = new InjectionToken<Record<string,\"light\"|\"dark\">>(\"NXA_THEME_BRIGHTNESS_MAP\",{\n providedIn:\"root\",\n factory:()=> NXA_DEFAULT_THEME_BRIGHTNESS_MAP,\n});\n\n/**\n * Default Light theme name\n */\nexport const NXA_DEFAULT_LIGHT_THEME = new InjectionToken<string>('NXA_DEFAULT_LIGHT_THEME', {\n providedIn: 'root',\n factory: () => 'light'\n});\n/**\n * Default Dark theme name\n */\nexport const NXA_DEFAULT_DARK_THEME = new InjectionToken<string>('NXA_DEFAULT_DARK_THEME', {\n providedIn: 'root',\n factory: () => 'dark'\n});\n/**\n * Preference for dark theme\n * If true, the service will set the default theme to dark\n * If false, it will set the default theme to light\n */\nexport const NXA_PREFER_DARK_THEME = new InjectionToken<boolean>('NXA_PREFERRED_DARK_THEME', {\n providedIn: 'root',\n factory: () => true\n});\n\nexport type NxaThemeLoaderFn = ()=> string|null | Promise<string|null> | Observable<string|null>;\n/**\n * Theme Loader function\n * allow to load theme dynamically\n * can be override to load theme from local storage, server or any other source\n */\nexport const NXA_THEME_LOADER = new InjectionToken<NxaThemeLoaderFn>('NXA_THEME_LOADER', {\n providedIn:'root',\n factory: () => () => {\n if(inject(NXA_PREFER_DARK_THEME)) {\n return inject(NXA_DEFAULT_DARK_THEME);\n }\n return inject(NXA_DEFAULT_LIGHT_THEME);\n },\n});\n/**\n * Theme Saving function\n * allow to save theme name when it is changed\n * can be override to save theme in local storage, server or any other source\n */\nexport const NXA_THEME_SAVING = new InjectionToken<(themeName:string)=>void>('NXA_THEME_SAVING', {\n providedIn:'root',\n factory: () => (themeName:string)=>{\n console.debug(`Inject a function to store ${themeName} the selected theme of the user`)\n }\n});\n@Injectable({\n providedIn: 'root'\n})\nexport class NxaThemeService {\n\n private _defaultLightTheme: string = inject(NXA_DEFAULT_LIGHT_THEME);\n private _defaultDarkTheme: string = inject(NXA_DEFAULT_DARK_THEME);\n private _preferDarkTheme: boolean = inject(NXA_PREFER_DARK_THEME);\n private _themeBrightnessMap: Record<string,\"light\"|\"dark\"> = inject(NXA_THEME_BRIGHTNESS_MAP);\n private _themeLoaderFn: NxaThemeLoaderFn = inject(NXA_THEME_LOADER);\n private _themeSavingFn: (themeName:string) => void = inject(NXA_THEME_SAVING);\n private _currentTheme: string | null = null;\n public get currentTheme(): string | null {\n return this._currentTheme;\n }\n public set currentTheme(value: string | null) {\n this._currentTheme = value;\n if(value)\n this._currentBrightness$.next(this.getColorScheme(value));\n }\n private _currentBrightness$ = new BehaviorSubject<\"light\"|\"dark\">(\"dark\");\n public get currentBrightness$():Observable<\"light\"|\"dark\">{return this._currentBrightness$.asObservable()};\n public getTheme(): string | null {\n return this.currentTheme;\n }\n private getColorScheme(themeName:string): \"light\" | \"dark\" {\n if(themeName)\n return this._themeBrightnessMap[themeName];\n return this._preferDarkTheme?\"dark\":\"light\";\n }\n\n public setTheme(theme: string): void {\n if(!isBrowserContext()) return;\n this._currentBrightness$.next(this.getColorScheme(theme));\n if (this._currentTheme === theme) return;\n this._currentTheme = theme;\n document.documentElement.setAttribute('data-theme', theme);\n if(this._themeSavingFn){\n this._themeSavingFn(this._currentTheme);\n }\n }\n\n constructor() {\n this._initializeTheme();\n\n }\n private async _initializeTheme(){\n if(typeof document === \"undefined\") return;\n // Load theme from HTML\n const htmlTheme = document.documentElement.getAttribute('data-theme');\n // if no theme is provided in html\n if (!htmlTheme) {\n try{\n // try to read with the theme loaded function\n const loadedTheme = await this._resolveTheme(this._themeLoaderFn);\n // if it not work then throw an error and go on the fall back\n if(!loadedTheme) {\n throw new Error('Theme loader returned null or undefined');\n }\n this.setTheme(loadedTheme);\n }catch {\n // fall back to default theme\n const fallback = this._preferDarkTheme ? this._defaultDarkTheme : this._defaultLightTheme;\n this.setTheme(fallback);\n }\n }else{\n // set theme from html and save it\n this.setTheme(htmlTheme);\n }\n\n }\n private async _resolveTheme(loader: NxaThemeLoaderFn): Promise<string> {\n if(isObservable(loader)) {\n return await firstValueFrom<string>(loader as Observable<string>);\n }else if( loader instanceof Promise) {\n return await loader;\n }\n else{\n return loader() as string;\n }\n }\n\n}\n","import { inject, Injectable, InjectionToken, Type } from '@angular/core';\nimport { timer } from 'rxjs';\nimport { NxaStatusColor } from '../utils/nxa-color-utils';\nimport { NxaCssLength, NxaDirection } from '../utils';\nimport { NxaOverlayService } from './nxa-overlay.service';\nimport { NxaToast } from '../components';\nimport { Overlay } from '@angular/cdk/overlay';\n\nexport interface NxaToastModel {\n title: string;\n message: string;\n color: NxaStatusColor;\n duration: number;\n}\nexport interface NxaToastConfig {\n component: Type<any>;\n direction: NxaDirection;\n distance: [NxaCssLength, NxaCssLength];\n width: NxaCssLength;\n height: NxaCssLength;\n maxWidth: NxaCssLength;\n maxHeight: NxaCssLength;\n panelClass?: string;\n}\nexport const NXA_TOAST_CONFIG_DEFAULTS = new InjectionToken<NxaToastConfig>(\n 'NXA_TOAST_CONFIG_DEFAULTS',\n {\n providedIn: 'any',\n factory: () => {\n return {\n component: NxaToast,\n direction: 'bottom-right',\n width: 'auto',\n height: 'auto',\n maxWidth: '20rem',\n maxHeight: '1rem',\n /**\n * x and y distance from the edge of the screen. \n * The first value is for x (left or right) \n * and the second value is for y (top or bottom). \n * You can use any valid CSS length unit (e.g., px, rem, %, etc.).\n */\n distance: ['1em', '3em'],\n } as NxaToastConfig;\n },\n },\n);\n@Injectable({\n providedIn: 'root',\n})\nexport class NxaToastService {\n private static count = 0;\n private overlayService = inject(NxaOverlayService);\n private toastDefaultConfig = inject(NXA_TOAST_CONFIG_DEFAULTS);\n private overlay = inject(Overlay);\n show(\n title: string,\n message: string,\n color: NxaStatusColor,\n duration=3000,\n config?: Partial<NxaToastConfig>,\n ) {\n const finalConf = { ...this.toastDefaultConfig, ...config };\n\n let positionStrategy = this.overlay.position().global();\n if (finalConf.direction.includes('top')) {\n positionStrategy = positionStrategy.top(`${finalConf.distance[1]}`);\n }\n if (finalConf.direction.includes('bottom')) {\n positionStrategy = positionStrategy.bottom(`${finalConf.distance[1]}`);\n }\n if (finalConf.direction.includes('right')) {\n positionStrategy = positionStrategy.right(`${finalConf.distance[0]}`);\n }\n if (finalConf.direction.includes('left')) {\n positionStrategy = positionStrategy.left(`${finalConf.distance[0]}`);\n }\n const ref = this.overlayService.create<any, any, any>(\n config?.component ?? NxaToast,\n { title: title, message, color, duration },\n {\n hasBackdrop: false,\n positionStrategy: positionStrategy,\n panelClass: finalConf.panelClass,\n height: finalConf.height,\n maxHeight: finalConf.maxHeight,\n maxWidth: finalConf.maxWidth,\n width: finalConf.width,\n },\n );\n NxaToastService.count++;\n\n timer(duration).subscribe(() => {\n NxaToastService.count--;\n ref.close();\n });\n }\n}\n","// import { inject } from '@angular/core';\n// import { NxaConstructor } from '../utils/nxa-mixin-utils';\n// import {\n// NxaOverlayService,\n// } from '../services/overlay/nxa-overlay.service';\n// import { NxaOverlayHandler, NXA_OVERLAY_DATA, NXA_OVERLAY_HANDLER, NxaOverlayState } from '../services';\n\nimport { inject } from '@angular/core';\nimport {\n NXA_OVERLAY_DATA,\n NxaOverlayRef,\n NxaOverlayService,\n} from '../services';\nimport { NxaConstructor } from '../utils';\n\n// Base overlay\nexport const NxaOverlayBase = NxaOverlayBaseMixin<any, NxaConstructor>(\n class {},\n);\n\n// Overlay + draggable\n// export const NxaOverlayDraggable = NxaOverlayDraggableMixin<any, NxaConstructor>(class {});\n\n// // Base overlay contract\nexport interface INxaOverlay<TData> {\n overlayService: NxaOverlayService;\n overlayRef: NxaOverlayRef<TData>;\n overlayData: TData;\n}\n\n// // Overlay + draggable contract\n// export interface INxaOverlayDraggable<TData> extends INxaOverlay<TData> {\n// startDrag(): void;\n// stopDrag(): void;\n// updateOverlayPosition(x: number, y: number): void;\n// }\n\n// Base mixin: injects overlay services\nexport function NxaOverlayBaseMixin<\n TData,\n TBase extends NxaConstructor<object>,\n>(Base: TBase) {\n return class extends Base implements INxaOverlay<TData> {\n overlayService = inject(NxaOverlayService);\n overlayRef = inject<NxaOverlayRef<TData>>(NxaOverlayRef);\n overlayData = inject<TData>(NXA_OVERLAY_DATA);\n };\n}\n\n// // Draggable mixin: requires the base overlay mixin\n// export function NxaOverlayDraggableMixin<\n// TData,\n// TBase extends NxaConstructor<object>,\n// >(Base: TBase) {\n// return class\n// extends NxaOverlayBaseMixin<TData, TBase>(Base)\n// implements INxaOverlayDraggable<TData>\n// {\n// startDrag(): void {\n// (this.overlayState.value as any).dragging = true;\n// }\n\n// updateOverlayPosition(x: number, y: number) {\n// if (!(this.overlayState.value as any).dragging) return;\n// const offset = (this.overlayState.value as any).offset || { x: 0, y: 0 };\n// const newLeft = x + offset.x;\n// const newTop = y + offset.y;\n// this.overlayService.updateOverlayConfig({\n// ...this.overlayState,\n// left: `${newLeft}px`,\n// top: `${newTop}px`,\n// });\n// }\n\n// stopDrag(): void {\n// (this.overlayState.value as any).dragging = false;\n// }\n// };\n// }\n","import { signal, computed } from '@angular/core';\nimport { NxaConstructor } from '../utils/nxa-mixin-utils';\n\nexport type NxaClassList = string | Record<string, boolean>;\nexport const WithClassName = WithClassNameMixin<NxaConstructor>(class {});\n\nexport function WithClassNameMixin<TBase extends NxaConstructor>(Base: TBase) {\n return class extends Base {\n /** Raw internal value from the component's @Input() */\n _className = signal<NxaClassList | null>(null);\n /** Normalized final string */\n readonly _classNameObject = computed(() => {\n const classes = this._className();\n let out: Record<string, boolean> = {};\n\n if (!classes) return '';\n\n if (typeof classes === 'string') {\n out = classes\n .split(/\\s+/)\n .filter(Boolean)\n .reduce((acc, val) => ({ ...acc, [val]: true }), {});\n } else if (typeof classes === 'object') {\n out = classes;\n } else {\n throw new Error('ClassName type is not valid', classes);\n }\n return out;\n });\n };\n}\n\nexport function WithClassHeaderMixin<TBase extends NxaConstructor>(base: TBase) {\n return class extends base {\n _classHeader = signal<NxaClassList|null>('');\n _classHeaderObject = computed<Record<string, boolean>>(() => {\n const classes = this._classHeader();\n let out: Record<string, boolean> = {};\n if(!classes) return {};\n if (typeof classes === 'string') {\n // String to object\n out = classes\n .split(/\\s+/)\n .filter(Boolean)\n .reduce((acc, val) => ({ ...acc, [val]: true }), {});\n } else if (typeof classes === 'object') {\n out = classes;\n } else {\n throw new Error('ClassBody type is not valid', classes);\n }\n return out;\n });\n };\n}\n\nexport function WithClassBodyMixin<TBase extends NxaConstructor>(base: TBase) {\n return class extends base {\n _classBody = signal<NxaClassList|null>({});\n _classBodyObject = computed<Record<string, boolean>>(() => {\n const classes = this._classBody();\n let out: Record<string, boolean> = {};\n if(!classes) return {};\n if (typeof classes === 'string') {\n // String to object\n out = classes\n .split(/\\s+/)\n .filter(Boolean)\n .reduce((acc, val) => ({ ...acc, [val]: true }), {});\n } else if (typeof classes === 'object') {\n out = classes;\n } else {\n throw new Error('ClassBody type is not valid', classes);\n }\n return out;\n });\n };\n}\n\nexport function WithClassFooterMixin<TBase extends NxaConstructor>(base: TBase) {\n return class extends base {\n _classFooter = signal<NxaClassList|null>('');\n _classFooterObject = computed<Record<string, boolean>>(() => {\n const classes = this._classFooter();\n let out: Record<string, boolean> = {};\n if(!classes) return {};\n if (typeof classes === 'string') {\n // String to object\n out = classes\n .split(/\\s+/)\n .filter(Boolean)\n .reduce((acc, val) => ({ ...acc, [val]: true }), {});\n } else if (typeof classes === 'object') {\n out = classes;\n } else {\n throw new Error('ClassBody type is not valid', classes);\n }\n return out;\n });\n };\n}\n","import {\n Component,\n computed,\n Input,\n Output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport {\n heroChevronDownSolid,\n heroChevronUpSolid,\n} from '@ng-icons/heroicons/solid';\nimport { CommonModule } from '@angular/common';\nimport { NxaButton } from '../nxa-button/nxa-button.component';\nimport { Nullable } from '../../../utils';\nimport { modelState } from '../../../../internals/inputWrapper';\nimport { NxaClassList, WithClassNameMixin } from '../../../mixins';\n\nexport interface INxaDropDownOption<T = any> {\n label: string;\n value: T;\n}\n// Typeguard\nfunction isNxaDropDownOption<T>(obj: any): obj is INxaDropDownOption<T> {\n return obj && typeof obj === 'object' && 'label' in obj && 'value' in obj;\n}\n@Component({\n selector: 'nxa-dropdown',\n templateUrl: './nxa-dropdown.component.html',\n imports: [CommonModule, NxaButton, NgIcon],\n viewProviders: [provideIcons({ heroChevronDownSolid, heroChevronUpSolid })],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxaDropdown<T = any> extends WithClassNameMixin(class {}) {\n //#region state\n protected _isOpen = signal<boolean>(false);\n protected _label = signal<string>('');\n protected _options = signal<INxaDropDownOption[] | string[]>([]);\n protected _buttonTemplateRef = signal<Nullable<TemplateRef<any>>>(null);\n protected _itemTemplateRef =\n signal<Nullable<TemplateRef<INxaDropDownOption>>>(null);\n protected _value = modelState<Nullable<INxaDropDownOption>>(null, true);\n //#endregion\n //#region inputs/outputs\n @Input() public set isOpen(value: boolean) {\n this._isOpen.set(value);\n }\n public get isOpen(): boolean {\n return this._isOpen();\n }\n @Input() public set label(value: string) {\n this._label.set(value);\n }\n public get label(): string {\n return this._label();\n }\n @Input() public set options(value: INxaDropDownOption[] | string[]) {\n this._options.set(value);\n }\n public get options(): INxaDropDownOption[] | string[] {\n return this._options();\n }\n @Input() public set buttonTemplateRef(value: Nullable<TemplateRef<any>>) {\n this._buttonTemplateRef.set(value);\n }\n public get buttonTemplateRef(): Nullable<TemplateRef<any>> {\n return this._buttonTemplateRef();\n }\n @Input() public set itemTemplateRef(\n value: Nullable<TemplateRef<INxaDropDownOption>>,\n ) {\n this._itemTemplateRef.set(value);\n }\n public get itemTemplateRef(): Nullable<TemplateRef<INxaDropDownOption>> {\n return this._itemTemplateRef();\n }\n @Input() public set className(value: NxaClassList | null) {\n this._className.set(value);\n }\n public get className(): NxaClassList | null {\n return this._className();\n }\n\n @Input() public set value(value: Nullable<INxaDropDownOption> | T) {\n if (isNxaDropDownOption<T>(value)) {\n this._value.set(value); // full option object\n } else {\n this._value.set(value != null ? { label: String(value), value } : null);\n }\n }\n public get value(): Nullable<INxaDropDownOption> {\n return this._value.get();\n }\n @Output() public valueChange = this._value.emitter;\n //#endregion\n public selectByValue(value: T): void {\n const options = this.options;\n\n const match = options.find((opt: INxaDropDownOption<T> | string) => {\n if (typeof opt === 'string') {\n return opt === value;\n }\n\n return opt.value === value;\n });\n\n if (!match) return;\n\n if (typeof match === 'string') {\n this._value.set({\n label: match,\n value: match as any as T,\n });\n return;\n }\n\n this._value.set(match);\n }\n public selectItem(selectedItem: { label: string; value: any }) {\n this._value.set(selectedItem);\n // this.valueChange.emit(selectedItem.value);\n }\n protected _normalizedOptions = computed(() =>\n this._options().map(item =>\n typeof item === 'string'\n ? { label: item, value: item }\n : item\n )\n);\n}\n","<!-- Drop Down Container -->\n<div class=\"dropdown nxa-dropdown\" [ngClass]=\"_classNameObject()\" (focusin)=\"_isOpen.set(true)\"\n (focusout)=\"_isOpen.set(false)\">\n <!-- Drop Down Button -->\n @if(!!_buttonTemplateRef()){\n <!-- DropDown Template Injected Button -->\n <ng-container *ngTemplateOutlet=\"_buttonTemplateRef()!\"></ng-container>\n }@else {\n <!-- DropDown Default Button -->\n <nxa-button color=\"primary\" className=\"w-full h-full\">\n <p class=\"font-semibold menu\">{{ _value.get()?.label || _label() }}</p>\n <div trailing class=\"swap swap-rotate fill-current\">\n <ng-icon name=\"heroChevronDownSolid\" [class.swap-on]=\"_isOpen()\" [class.swap-off]=\"!_isOpen()\"\n class=\"fill-current\"></ng-icon>\n <ng-icon name=\"heroChevronUpSolid\" [class.swap-on]=\"!_isOpen()\" [class.swap-off]=\"_isOpen()\"\n class=\"fill-current\"></ng-icon>\n </div>\n </nxa-button>\n }\n <!-- Drop Down List Of Items -->\n <ul tabindex=\"0\" class=\"dropdown-content menu bg-base-100 rounded-box z-100 min-w-32 p-2 w-fit nxa-dropdown-content\">\n @for (item of _normalizedOptions(); track $index) {\n <li class=\"w-fit cursor-pointer\" tabindex=\"0\" (click)=\"selectItem(item)\" (keypress.enter)=\"selectItem(item)\">\n @if (!!_itemTemplateRef()) {\n <ng-container\n *ngTemplateOutlet=\"_itemTemplateRef()!; context: { label: item.label, value: item.value }\"></ng-container>\n } @else {\n <p>{{ item.label }}</p>\n }\n </li>\n }\n </ul>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, computed, forwardRef, Input, Output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NXA_HOST_LAYOUT, NxaBrandColor, NxaNeutralColor, NxaSize, NxaStatusColor, Nullable } from '../../../utils';\nimport { modelState } from '../../../../internals/inputWrapper';\n\n@Component({\n selector: 'nxa-file-input',\n templateUrl: './nxa-file-input.component.html',\n host:{\n class:`${NXA_HOST_LAYOUT} p-2`,\n },\n providers:[\n {\n provide:NG_VALUE_ACCESSOR,\n useExisting:forwardRef(()=>NxaFileInput),\n multi:true,\n }\n ],\n imports:[CommonModule]\n})\nexport class NxaFileInput implements ControlValueAccessor {\n //#region state \n protected _multiFile= signal<boolean>(false);\n protected _disabled = signal<boolean>(false);\n protected _color = signal<NxaBrandColor|NxaStatusColor|NxaNeutralColor>('neutral');\n protected _size = signal<Exclude<NxaSize,'xl'>>('md');\n protected _className = signal<string>('');\n protected _value = modelState<Nullable<FileList>>(null,true);\n\n //#endregion\n //#region Input/Output\n @Input() public set multiFile(value:boolean){\n this._multiFile.set(value);\n }\n @Input() public set disabled(value:boolean){\n this._disabled.set(value);\n }\n @Input() public set color(value:NxaBrandColor|NxaStatusColor|NxaNeutralColor){\n this._color.set(value);\n }\n @Input() public set size(value:Exclude<NxaSize,'xl'>){\n this._size.set(value);\n }\n @Input() public set className(value:string){\n this._className.set(value);\n }\n @Input() public set value(value:Nullable<FileList>){\n this._value.set(value);\n }\n @Output() public valueChange = this._value.emitter;\n //#endregion\n\n //#region Input State Fn\n private onChange: (file: Nullable<FileList>) => void = () => {return};\n private onTouched: () => void = () => {return};\n //#endregion\n\n //#region Compute Class\n protected computedInputNgClasses=computed(()=>({\n [`file-input-${this._size()}`]:true,\n [`file-input-${this._color()}`]:true,\n }));\n \n\n //#endregion\n\n //#region control value Accessor\n writeValue(obj: FileList): void {\n this._value.set(obj);\n }\n registerOnChange(fn: any): void {\n this.onChange=fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched=fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n onFileSelected(event: Event) {\n const input = event.target as HTMLInputElement;\n this._value.set(input.files ?? null);\n this.onChange(this._value.get());\n this.onTouched();\n }\n}\n","<input \ntype=\"file\" \nclass=\"file-input\" \n[ngClass]=\"computedInputNgClasses()\"\n[class]=\"_className()\"\n(change)=\"onFileSelected($event)\" \n[multiple]=\"_multiFile()\" \n[disabled]=\"_disabled()\"\n/>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, Output, EventEmitter, signal, computed, ViewEncapsulation, effect } from '@angular/core';\nimport { NXA_HOST_CONTENTS_ONLY, NxaBrandColor, NxaNeutralColor, NxaSize, NxaStatusColor, Nullable } from '../../../utils';\nimport { modelState } from '../../../../internals/inputWrapper';\n\n@Component({\n selector: 'nxa-radio',\n templateUrl: './nxa-radio.component.html',\n standalone: true,\n encapsulation:ViewEncapsulation.None,\n host: {\n class: NXA_HOST_CONTENTS_ONLY\n },\n imports: [CommonModule]\n})\nexport class NxaRadio<T = any> {\n //#region State\n protected _id = signal<string>('');\n @Input() public set id(value: string) { this._id.set(value); }\n public get id() { return this._id(); }\n\n protected _name = signal<string>('');\n @Input() public set name(value: string) { this._name.set(value); }\n public get name() { return this._name(); } \n\n protected _value = signal<Nullable<T>>(null);\n @Input() public set value(value: Nullable<T>) { this._value.set(value); }\n public get value(): Nullable<T> { return this._value(); }\n\n protected _checked = modelState<boolean>(false, true);\n @Input() public set checked(value: boolean) { this._checked.set(value); }\n public get checked() { return this._checked.get(); }\n\n protected _disabled = signal<boolean>(false);\n @Input() public set disabled(value: boolean) { this._disabled.set(value); }\n public get disabled() { return this._disabled(); }\n\n protected _color = signal<NxaBrandColor | NxaStatusColor | NxaNeutralColor>('neutral');\n @Input() public set color(value: NxaBrandColor | NxaStatusColor | NxaNeutralColor) { this._color.set(value); }\n\n protected _size = signal<Exclude<NxaSize, 'xl'>>('md');\n @Input() public set size(value: Exclude<NxaSize, 'xl'>) { this._size.set(value); }\n\n protected _className = signal<string>('');\n @Input() public set className(value: string) { this._className.set(value); }\n public get className() { return this._className(); }\n\n //#endregion\n private selectedChangeEffect = effect(()=>{\n const checked = this._checked.get();\n if(checked){\n this.selected.emit();\n }\n });\n @Output() public selected = new EventEmitter<void>();\n @Output() public checkedChange = this._checked.emitter;\n //#endregion\n\n //#region Computed classes\n protected computedNgClasses = computed(() => ({\n [`radio-${this._color()}`]: true,\n [`radio-${this._size()}`]: true,\n 'disabled': this._disabled(),\n 'checked': this._checked.get()\n }));\n //#endregion\n\n //#region Methods\n /** Called by group to set checked state */\n setChecked(value: boolean) {\n this._checked.set(value);\n }\n\n /** Trigger selection event */\n select() {\n if (!this._disabled()) {\n // this.selected.emit(this._value()!);\n this._checked.set(true);\n }\n }\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n /** For native input change if used directly */\n onNativeChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this._checked.set(input.checked);\n if (input.checked) this.selected.emit();\n }\n //#endregion\n}\n","<div class=\"form-control min-w-fit w-fit display flex flex-row items-center nxa-radio\" [class]=\"_className()\">\n <div class=\"label label-text w-fit\">\n <ng-content select=\"[label]\" class=\"label-text\"></ng-content>\n </div>\n <input \n tabindex=\"0\" \n [id]=\"_id()\" \n type=\"radio\" \n [name]=\"_name()\" \n [value]=\"_value()\"\n [checked]=\"_checked.get()\"\n [disabled]=\"_disabled()\" \n [aria-checked]=\"_checked.get()\"\n [aria-disabled]=\"_disabled()\"\n (input)=\"onNativeChange($event)\"\n class=\"radio mx-2\" [ngClass]=\"computedNgClasses()\" />\n</div>","import {\n Component,\n forwardRef,\n Input,\n AfterContentInit,\n contentChildren,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { modelState } from '../../../../internals/inputWrapper';\nimport { Nullable } from '../../../utils';\nimport { NxaRadio } from '../nxa-radio/nxa-radio.component';\n\n@Component({\n selector: 'nxa-radio-group',\n template: ` <ng-content select=\"\"></ng-content> `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NxaRadioGroup),\n multi: true,\n },\n ],\n})\nexport class NxaRadioGroup<T = any>\n implements AfterContentInit, ControlValueAccessor\n{\n protected _radiosSig = contentChildren(NxaRadio, { descendants: true });\n protected _selectedValue = modelState<Nullable<T>>(null, true);\n\n get selectedValue() {\n return this._selectedValue.get();\n }\n @Input() set selectedValue(value: Nullable<T>) {\n this._selectedValue.set(value);\n this.updateRadios();\n this.onChange(value);\n this.onTouched();\n }\n protected _name = signal<string>('');\n @Input() public set name(value: string) {\n this._name.set(value);\n this._radiosSig().forEach((radio) => (radio.name = value));\n }\n public get name() {\n return this._name();\n }\n\n private onChange: (value: Nullable<T>) => void = () => {\n return;\n };\n private onTouched: () => void = () => {\n return;\n };\n\n ngAfterContentInit() {\n this._radiosSig().forEach((radio) => {\n radio.name = this.name;\n radio.selected.subscribe(() => {\n this.selectedValue = radio.value;\n });\n });\n this.updateRadios(); // initial sync\n }\n\n writeValue(obj: any): void {\n this._selectedValue.set(obj);\n this.updateRadios();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this._radiosSig().forEach((radio) => radio.setDisabledState(isDisabled));\n }\n\n /** Sync all radios with the selected value */\n private updateRadios() {\n const value = this._selectedValue.get();\n this._radiosSig()?.forEach((radio) => {\n radio.setChecked(radio.value === value);\n });\n }\n}\n","import { Component, computed, forwardRef, Input, Output, signal } from '@angular/core';\nimport { NXA_HOST_BLOCK, NxaBrandColor, NxaNeutralColor, NxaSize, NxaStatusColor } from '../../../utils';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { modelState } from '../../../../internals/inputWrapper';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'nxa-range',\n templateUrl: './nxa-range.component.html',\n host:{\n class:NXA_HOST_BLOCK,\n },\n providers:[\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NxaRange),\n multi: true,\n }\n ],\n imports: [CommonModule]\n})\nexport class NxaRange implements ControlValueAccessor {\n\n protected _min = signal<number>(0);\n @Input() public set min(value:number){this._min.set(value)}\n public get min():number{return this._min()};\n\n protected _max = signal<number>(100);\n @Input() public set max(value:number){\n this._max.set(value);\n }\n public get max():number {\n return this._max();\n }\n protected _step=signal<number>(1);\n @Input() public set step(value:number){this._step.set(value)}\n public get step():number{return this._step()}\n\n protected _value = modelState<number>(0,true);\n @Input() public set value(value:number){this._value.set(value)}\n public get value():number {return this._value.get()}\n\n @Output() public valueChange=this._value.emitter;\n\n protected _disabled = signal<boolean>(false);\n @Input() public set disabled(value:boolean){this._disabled.set(value)}\n public get disabled():boolean{return this._disabled()}\n\n \n protected _size = signal<Exclude<NxaSize,\"xl\">>(\"md\");\n @Input()public set size(size:Exclude<NxaSize,\"xl\">){this._size.set(size)}\n public get size():Exclude<NxaSize,\"xl\">{\n return this._size();\n }\n\n\n protected _color = signal<NxaBrandColor|NxaStatusColor|NxaNeutralColor>('neutral');\n @Input() public set color(color:NxaBrandColor|NxaStatusColor|NxaNeutralColor){this._color.set(color)}\n public get color():NxaBrandColor|NxaStatusColor|NxaNeutralColor{\n return this._color();\n }\n protected _className = signal<string>(\"\");\n @Input() set className(value:string){this._className.set(value)}\n public get className():string{return this._className()}\n protected computedNgClasses = computed(()=>{\n const consumerClasses = this._className().split(/\\s+/).filter(Boolean).reduce((acc, cls) => ({ ...acc, [cls]: true }), {});\n return {\n \"range\":true,\n [`range-${this._size()}`]:true,\n [`range-${this._color()}`]:true,\n ...consumerClasses,\n } as Record<string, boolean>;\n });\n private onChange: (value: any) => void = () => {return};\n private onTouched: () => void = () => {return};\n\n writeValue(obj: any): void {\n if(obj ==null) return;\n const value = parseFloat(obj);\n if (isNaN(value)) throw Error(\"Write value is not a number\");\n this._value.set(value);\n }\n registerOnChange(fn: any): void {\n this.onChange=fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched=fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled=isDisabled;\n }\n\n \n onValueChange($event: Event) {\n const inputEl = ($event.target as HTMLInputElement);\n this.value = parseFloat(inputEl.value);\n this.onChange(this.value);\n this.onTouched();\n }\n}\n","<input \n tooltip\n type=\"range\" \n [min]=\"_min()\"\n [max]=\"_max()\"\n [value]=\"_value.get()\"\n [step]=\"_step()\"\n [disabled]=\"_disabled()\"\n [ariaValueMin]=\"_min()\"\n [ariaValueMax]=\"_max()\"\n [ariaValueNow]=\"_value.get()\"\n [ngClass]=\"computedNgClasses()\"\n [title]=\"_value.get()\"\n (input)=\"onValueChange($event)\"\n class=\"range w-full min-h-fit\" />","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { Nullable, NxaBrandColor, NxaNeutralColor, NxaSize, NxaStatusColor, NXA_HOST_CONTENTS_ONLY } from '../../../utils';\nimport { modelState } from '../../../../internals/inputWrapper';\nimport { Component, forwardRef, signal, Input, TemplateRef, Output, computed } from '@angular/core';\n\n@Component({\n selector: 'nxa-select',\n templateUrl: './nxa-select.component.html',\n host: {\n '[attr.id]': 'null',\n class: NXA_HOST_CONTENTS_ONLY\n },\n imports: [CommonModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NxaSelect),\n multi: true,\n }\n ]\n})\nexport class NxaSelect<T = any> implements ControlValueAccessor {\n //#region State\n\n //#endregion\n //#region Input/Output\n /**\n * doc protected\n */\n protected _id = signal<string>('');\n /**\n * doc setter\n */\n @Input() public set id(value: string) {\n this._id.set(value);\n }\n /**\n * doc getter\n */\n public get id():string{return this._id()};\n\n\n protected _optionTemplateRef = signal<Nullable<TemplateRef<{ $implicit: T }>>>(null);\n @Input() public set optionTemplateRef(value: TemplateRef<{ $implicit: T }>) {\n this._optionTemplateRef.set(value);\n }\n public get optionTemplateRef():Nullable<TemplateRef<{$implicit:T}>>{return this._optionTemplateRef()};\n\n protected _value = modelState<Nullable<T>>(null,true);\n @Input() public set selected(value: Nullable<T>) {\n this._value.set(value);\n }\n public get selected() { return this._value.get(); }\n\n protected _options = signal<(T | { label: string; options: T[] })[]>([]);\n @Input() public set options(values: (T | { label: string; options: T[] })[]) {\n this._options.set(values);\n }\n\n protected _disabled = signal<boolean>(false);\n @Input() public set disabled(value: boolean) {\n this._disabled.set(value);\n }\n\n protected _color = signal<NxaBrandColor | NxaStatusColor | NxaNeutralColor>('neutral');\n @Input() public set color(value: NxaBrandColor | NxaStatusColor | NxaNeutralColor) {\n this._color.set(value);\n }\n\n\n protected _size = signal<Exclude<NxaSize, 'xl'>>('md');\n @Input() public set size(value: Exclude<NxaSize, 'xl'>) {\n this._size.set(value);\n }\n\n\n protected _className = signal<string>('');\n @Input() public set className(value: string) {\n this._className.set(value);\n }\n\n \n protected _compareFn = (a: T, b: T) => a === b;\n @Input() public set compareFn(value: (a: T, b: T) => boolean) {\n this._compareFn = value;\n }\n @Output() public nxaSelectedChange = this._value.emitter;\n //#endregion\n protected computeNgClasses = computed(() => {\n return {\n [`select-${this._size()}`]: true,\n [`select-${this._color()}`]: true,\n // [this.className()]: !!this.className(),\n };\n });\n\n private onChange: (value: any) => void = () => {return;} ;\n private onTouched: () => void = () => {return; };\n\n\n isGroup(item: any): item is { label: string; options: T[] } {\n return item && typeof item === 'object' && 'options' in item && Array.isArray(item.options);\n }\n protected getIndexFromValue() {\n if (!this._value.get()) return -1;\n return this._options().indexOf(this._value.get()!);\n }\n writeValue(obj: any): void {\n if (!obj) {\n this._value.set(null);\n return;\n }\n\n let found: T | null = null;\n\n for (const item of this._options()) {\n if (this.isGroup(item)) {\n const inner = item.options.find(opt => this._compareFn(opt, obj));\n if (inner) {\n found = inner;\n break;\n }\n } else {\n if (this._compareFn(item as T, obj)) {\n found = item as T;\n break;\n }\n }\n }\n\n // fallback: accept obj directly if not found\n this._value.set(found ?? obj);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n selectedChange(event: Event) {\n const value = (event.target as HTMLSelectElement).value;\n // value format: \"i\" or \"i-j\" where i = group index or option index, j = index inside group\n let selectedOption: any;\n\n if (value.includes('-')) {\n const [groupIndexStr, optionIndexStr] = value.split('-');\n const groupIndex = parseInt(groupIndexStr, 10);\n const optionIndex = parseInt(optionIndexStr, 10);\n const group = this._options()[groupIndex] as { label: string; options: T[] };\n selectedOption = group.options[optionIndex];\n } else {\n const index = parseInt(value, 10);\n selectedOption = this._options()[index];\n }\n\n this._value.set(selectedOption);\n this.onChange(selectedOption);\n this.onTouched();\n }\n\n}\n","<div class=\"form-control h-full w-full\" [class]=\"_className()\">\n <div class=\"label min-h-0 p-0 m-0\">\n <div class=\"label-text\">\n <ng-content select=\"[top-left]\"></ng-content>\n </div>\n <div class=\"label-text-alt\">\n <ng-content select=\"[top-right]\"></ng-content>\n </div>\n </div>\n <div class=\"flex flex-row gap-2 justify-center items-center pb-2\">\n <div class=\"w-fit label-text min-h-0\">\n <ng-content select=\"[label]\"></ng-content>\n </div>\n <select class=\"select select-bordered w-full\" [id]=\"_id()\" [ngClass]=\"computeNgClasses()\" [value]=\"getIndexFromValue()\" (input)=\"selectedChange($event)\"\n [disabled]=\"_disabled()\">\n @for (element of _options(); track $index; let i = $index) {\n @if (isGroup(element)) {\n <optgroup [label]=\"element.label\">\n @for (item of element.options; track $index; let j = $index) {\n <option [value]=\"i + '-' + j\">\n <ng-container *ngTemplateOutlet=\"_optionTemplateRef() ?? defaultRow; context: { $implicit: item }\"></ng-container>\n </option>\n }\n </optgroup>\n } @else {\n <option [value]=\"i.toString()\">\n <ng-container *ngTemplateOutlet=\"_optionTemplateRef() ?? defaultRow; context: { $implicit: element }\"></ng-container>\n </option>\n }\n }\n </select>\n </div>\n <div class=\"label p-0\">\n <div class=\"label-text\">\n <ng-content select=\"[bottom-left]\"></ng-content>\n </div>\n <div class=\"label-text-alt\">\n <ng-content select=\"[bottom-right]\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #defaultRow let-item>\n {{item}}\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n forwardRef,\n Input,\n OnInit,\n Output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n NxaBrandColor as NxaBrandColor,\n NxaNeutralColor as NxaNeutralColor,\n NxaSize,\n NxaStatusColor as NxaStatusColor,\n Nullable,\n NXA_HOST_BLOCK,\n} from '../../../utils';\nimport { modelState } from '../../../../internals/inputWrapper';\nimport { NxaClassList, WithClassBodyMixin, WithClassNameMixin } from '../../../mixins';\n\nexport type NxaTextInputType =\n | 'text'\n | 'email'\n | 'password'\n | 'search'\n | 'url'\n | 'tel'\n | 'number';\n\n@Component({\n selector: 'nxa-text-input',\n templateUrl: './nxa-text-input.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NxaTextInput),\n multi: true,\n },\n ],\n standalone: true,\n styleUrls:['./nxa-text-input.component.css'],\n host: {\n '[attr.id]': 'null',\n class: NXA_HOST_BLOCK,\n },\n imports: [CommonModule],\n})\nexport class NxaTextInput extends WithClassBodyMixin(WithClassNameMixin(class{})) implements ControlValueAccessor,OnInit {\n protected _placeholder = signal<string>('');\n /**\n * Placeholder displayed Text\n * */\n @Input() set placeholder(value: string) {\n this._placeholder.set(value);\n }\n get placeholder() {\n return this._placeholder();\n }\n protected _type = signal<NxaTextInputType>('text');\n /**\n * Input type (text, email, password, search, url, tel, number)\n */\n @Input() set type(value: NxaTextInputType) {\n this._type.set(value);\n }\n get type() {\n return this._type();\n }\n protected _name = signal<Nullable<string>>(undefined);\n /**\n * Name Of Input Element\n */\n @Input() public set name(value: Nullable<string>) {\n this._name.set(value);\n }\n public get name() {\n return this._name();\n }\n\n protected _id = signal<Nullable<string>>(undefined);\n /**\n * Html element id\n */\n @Input()\n public set id(value: Nullable<string>) {\n this._id.set(value);\n }\n public get id() {\n return this._id();\n }\n\n protected _color = signal<NxaBrandColor | NxaStatusColor | NxaNeutralColor>(\n 'neutral'\n );\n /**\n * Color of the input ( \"primary\" | \"secondary\" | \"accent\" | \"info\" | \"success\" | \"warning\" | \"error\" | \"neutral\")\n */\n @Input() public set color(\n value: NxaBrandColor | NxaStatusColor | NxaNeutralColor\n ) {\n this._color.set(value);\n }\n public get color() {\n return this._color();\n }\n\n protected _size = signal<Exclude<NxaSize, 'xl'>>('md');\n @Input() public set size(value: Exclude<NxaSize, 'xl'>) {\n this._size.set(value);\n }\n public get size() {\n return this._size();\n }\n protected _autocomplete = signal<string | undefined>(undefined);\n @Input() public set autocomplete(value: string | undefined) {\n this._autocomplete.set(value);\n }\n public get autocomplete() {\n return this._autocomplete();\n }\n\n _maxlength = signal<number | undefined>(undefined);\n @Input() public set maxlength(value: number | undefined) {\n this._maxlength.set(value);\n }\n public get maxlength() {\n return this._maxlength();\n }\n _minlength = signal<number | undefined>(undefined);\n @Input() public set minlength(value: number | undefined) {\n this._minlength.set(value);\n }\n public get minlength() {\n return this._minlength();\n }\n _required = signal<boolean | undefined>(undefined);\n @Input() public set required(value: boolean | undefined) {\n this._required.set(value);\n }\n public get required() {\n return this._required();\n }\n\n _readonly = signal<boolean | undefined>(undefined);\n @Input() public set readonly(value: boolean | undefined) {\n this._readonly.set(value);\n }\n public get readonly() {\n return this._readonly();\n }\n @Input() public set classBody(value: NxaClassList|null) {\n this._classBody.set(value);\n }\n public get classBody():Nullable<NxaClassList> {\n return this._classBody();\n }\n @Input() public set className(value: NxaClassList|null) {\n this._className.set(value);\n }\n public get className():Nullable<NxaClassList> {\n return this._className();\n }\n\n _value = modelState<Nullable<string>>(null, true);\n @Input() public set value(value: Nullable<string>) {\n this._value.set(value);\n }\n public get value() {\n return this._value.get();\n }\n @Output() public nxValueChange = this._value.emitter;\n\n _disabled = signal<boolean>(false);\n @Input() public set disabled(value: boolean) {\n this._disabled.set(value);\n }\n public get disabled() {\n return this._disabled();\n }\n\n /** @ignore */\n protected computedNgClasses = computed(() => ({\n [`input-${this._color()}`]: true,\n ['disabled']: this._disabled(),\n [`input-${this._size()}`]: true,\n }));\n \n\n private onChange: (value: any) => void = () => {\n return;\n };\n private onTouched: () => void = () => {\n return;\n };\n\n writeValue(obj: any): void {\n this._value.set(obj);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n onInput(event: Event) {\n const input = event.target as HTMLInputElement;\n this._value.set(input.value);\n this.onChange(input.value);\n }\n\n onBlur() {\n this.onTouched();\n }\n\n ngOnInit(): void {return;}\n}\n","<span class=\"nxa-text-input-container\" [ngClass]=\"_classNameObject()\">\n <div class=\"content label\">\n <ng-content select=\"[left]\"></ng-content>\n </div>\n\n <span \n class=\"input input-bordered flex flex-row flex-1 justify-start items-center my-2 px-0\" \n [ngClass]=\"{...computedNgClasses(),..._classBodyObject()}\"\n >\n <div class=\"min-w-0 px-0 w-fit\">\n <ng-content select=\"[leading]\"></ng-content>\n </div>\n\n <input\n class=\"grow flex-1 ps-2 min-w-fit\"\n [attr.type]=\"_type()\"\n [attr.placeholder]=\"_placeholder()\"\n [attr.name]=\"_name()\"\n [attr.id]=\"_id()\"\n [attr.autocomplete]=\"_autocomplete()\"\n [attr.maxlength]=\"_maxlength()\"\n [attr.minlength]=\"_minlength()\"\n [attr.required]=\"_required() ? true : null\"\n [attr.readonly]=\"_readonly() ? true : null\"\n [ngClass]=\"computedNgClasses()\"\n [value]=\"_value.get() ?? ''\"\n [disabled]=\"_disabled()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n\n <div class=\"px-0 min-w-0\">\n <ng-content select=\"[trailing]\"></ng-content>\n </div>\n </span>\n\n <div class=\"contents label\">\n <ng-content select=\"[right]\"></ng-content>\n </div>\n</span>\n\n<div class=\"w-full min-h-0 p-0 m-0 text-error text-sm\">\n <ng-content select=\"[error-message]\"></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, computed, Input, signal } from '@angular/core';\nimport { NXA_HOST_BLOCK, NxaCssLength } from '../../utils';\n\n@Component({\n selector: 'nxa-linear-layout',\n template: ` \n <div class=\"flex items-stretch min-h-fit h-full\" [ngClass]=\"computedClasses()\" [style.gap]=\"_gap()||'calc(var(--spacing) * 1)'\">\n <ng-content></ng-content>\n </div>\n `,\n imports: [CommonModule],\n host: {\n class: NXA_HOST_BLOCK,\n },\n})\nexport class NxaLinearLayout {\n protected _className = signal<string>('');\n /**\n * Allows the consumer to pass additional CSS classes to the component. \n * These classes will be merged with the component's own classes, \n * allowing for further customization of the layout's appearance and behavior.\n * className=\"flex-col\"\n */\n @Input() set className(value: string) {\n this._className.set(value);\n }\n get className() {\n return this._className();\n }\n\n protected _gap = signal<NxaCssLength>('0');\n @Input() set gap(value: NxaCssLength) {\n this._gap.set(value);\n }\n get gap() {\n return this._gap();\n }\n protected _justify = signal<'start' | 'end' | 'center' | 'between' | 'around'>('between');\n @Input() set justify(value: 'start' | 'end' | 'center' | 'between' | 'around') {\n this._justify.set(value);\n }\n get justify() {\n return this._justify();\n }\n protected _align = signal<'start' | 'end' | 'center' | 'between' | 'around'>('start');\n @Input() set align(value: 'start' | 'end' | 'center' | 'between' | 'around' ) {\n this._align.set(value);\n }\n get align() {\n return this._align();\n }\n protected _wrap = signal<\"nowrap\" | \"wrap\" | \"wrap-reverse\">('wrap'); // nowrap, wrap, wrap-reverse\n @Input() set wrap(value: \"nowrap\" | \"wrap\" | \"wrap-reverse\") {\n this._wrap.set(value);\n }\n get wrap() {\n return this._wrap();\n }\n protected _direction = signal<'col' | 'row'>('col'); // row, row-reverse, col, col-reverse\n @Input() set direction(value: 'col' | 'row') {\n this._direction.set(value);\n }\n get direction() {\n return this._direction();\n }\n // computed\n protected computedClasses = computed(()=>{\n const consumerClasses = this._className().split(/\\s+/).filter(Boolean).reduce((acc, cls) => ({ ...acc, [cls]: true }), {});\n return{\n [`justify-${this._justify()}`]: !!this._justify(),\n [`items-${this._align()}`]: !!this._align(),\n [`flex-${this._wrap()}`]: !!this._wrap(),\n [`flex-${this._direction()}`]: !!this._direction(),\n ...consumerClasses\n };\n });\n}\n","import { Component } from '@angular/core';\nimport { NXA_HOST_BLOCK } from '../../utils';\n\n@Component({\n selector: 'nxa-container',\n template: `\n <ng-content></ng-content>\n `,\n host:{\n class: `${NXA_HOST_BLOCK} relative z-0 inset-0 box-border`,\n }\n})\nexport class NxaContainer {\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, Output, signal, ViewEncapsulation } from '@angular/core';\nimport { NXA_HOST_CONTENTS_ONLY } from '../../../utils';\nimport { modelState } from '../../../../internals/inputWrapper';\n\n@Component({\n selector: 'nxa-expansion-panel',\n templateUrl: './nxa-expansion-panel.component.html',\n changeDetection:ChangeDetectionStrategy.OnPush,\n encapsulation:ViewEncapsulation.None,\n host:{\n class: NXA_HOST_CONTENTS_ONLY\n },\n imports:[\n CommonModule\n ]\n})\nexport class NxaExpansionPanel {\n protected _isOpen = modelState<boolean>(false,true);\n protected _className = signal<string>('');\n protected _classHeader = signal<string>('');\n protected _classBody = signal<string>('');\n\n\n @Input() public set isOpen(value:boolean){this._isOpen.set(value);}\n public get isOpen(){return this._isOpen.get();}\n @Input() public set className(value:string){this._className.set(value);}\n @Input() public set classHeader(value:string){this._classHeader.set(value);}\n @Input() public set classBody(value:string){this._classBody.set(value);}\n @Output() isOpenChange =this._isOpen.emitter;\n\n\n headerClicked(){\n this._isOpen.set(!this._isOpen.get());\n }\n}\n","<div class=\"collapse collapse-arrow bg-base-200 relative overflow-visible pointer-events-all\"\n [class.collapse-open]=\"_isOpen.get()\" [class.collapse-close]=\"!_isOpen.get()\" [class]=\"_className()\">\n <div class=\"collapse-title max-h-12 content-stretch overflow-visible pointer-events-auto cursor-pointer\" tabindex=\"0\"\n (keyup.enter)=\"headerClicked()\" (click)=\"headerClicked()\" [class]=\"_classHeader()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"collapse-content nxa-expansion-body \" [class]=\"_classBody()\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #headerTemplate>\n <ng-content select=\"[expansion-header]\"></ng-content>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <ng-content select=\"[expansion-body]\"></ng-content>\n</ng-template>","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n effect,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NxaExpansionPanel } from '../nxa-expansion-panel/nxa-expansion-panel.component';\nimport { NXA_HOST_LAYOUT as NXA_HOST_LAYOUT } from '../../../utils';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'nxa-accordion',\n templateUrl: './nxa-accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: `${NXA_HOST_LAYOUT}`,\n },\n imports: [CommonModule],\n})\n/**\n * @group UI Components\n */\nexport class NxaAccordion implements AfterContentInit {\n /**\n * Get Expansion Panel Children\n */\n protected expansionPanelsSig =\n contentChildren<NxaExpansionPanel>(NxaExpansionPanel);\n /**\n * Map Expansion Panel state into a signal\n */\n private expansionPanelStateSig = computed(() =>\n this.expansionPanelsSig().map((x) => x.isOpen),\n );\n /**\n * Store old state\n */\n private _oldState?: boolean[];\n /**\n * detect index of changed expansion panel (toggled) or NaN\n */\n private changedPanel = computed(() => {\n let index = NaN;\n const oldState = this._oldState;\n const newState = this.expansionPanelStateSig();\n if (typeof this._oldState === 'undefined') return NaN;\n // Check for changes in state array\n for (let i = 0; i < newState.length; i++) {\n if (typeof oldState !== 'undefined' && oldState[i] !== newState[i]) {\n index = i;\n break;\n }\n }\n // update old values\n this._oldState = newState;\n return index;\n });\n private updatePanels = effect(() => {\n const index = this.changedPanel();\n const panels = this.expansionPanelsSig();\n if (Number.isNaN(index) || !panels[index].isOpen) return;\n for (let i = 0; i < panels.length; i++) {\n const updatedPanel = panels[i];\n if (index !== i) {\n updatedPanel.isOpen = false;\n }\n }\n });\n\n ngAfterContentInit(): void {\n this._oldState = this.expansionPanelStateSig();\n }\n}\n","<div class=\"overflow-visible\">\n <ng-container *ngTemplateOutlet=\"expansionPanelContainer\"></ng-container>\n</div>\n<ng-template #expansionPanelContainer>\n <ng-content select=\"nxa-expansion-panel\"></ng-content>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n Nullable,\n NXA_HOST_BLOCK as NXA_HOST_BLOCK,\n} from '../../../utils/nxa-utils';\nimport {\n NxaClassList,\n WithClassBodyMixin,\n WithClassFooterMixin,\n WithClassHeaderMixin,\n WithClassNameMixin,\n} from '../../../mixins/nxa-component-class-name-mixin';\nimport { NxaSize } from '../../../utils';\n\n@Component({\n selector: 'nxa-card',\n templateUrl: './nxa-card.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: NXA_HOST_BLOCK,\n },\n imports: [CommonModule],\n})\nexport class NxaCard extends WithClassNameMixin(\n WithClassHeaderMixin(WithClassBodyMixin(WithClassFooterMixin(class {}))),\n) {\n protected _size = signal<NxaSize>('md');\n protected sizeComputed = computed(() => {\n return { [`card-${this._size()}`]: true };\n });\n @Input() public set size(size: NxaSize) {\n this._size.set(size);\n }\n public get size(): NxaSize {\n return this._size();\n }\n @Input() public set className(value: NxaClassList) {\n this._className.set(value);\n }\n public get className(): Nullable<NxaClassList> {\n return this._className();\n }\n @Input() public set classHeader(value: NxaClassList) {\n this._classHeader.set(value);\n }\n public get classHeader(): Nullable<NxaClassList> {\n return this._classHeader();\n }\n @Input() public set classBody(value: NxaClassList) {\n this._classBody.set(value);\n }\n public get classBody(): Nullable<NxaClassList> {\n return this._classBody();\n }\n @Input()\n public set classFooter(value: NxaClassList) {\n this._classFooter.set(value);\n }\n public get classFooter(): Nullable<NxaClassList> {\n return this._classFooter();\n }\n}\n","<div class=\"card bg-base-200 drop-shadow-xl flex h-full max-h-full nxa-card-component\" [ngClass]=\"{...sizeComputed(),..._classNameObject()}\">\n <ng-content select=\"[card-image]\"></ng-content>\n <div class=\"card-body flex flex-1 flex-col min-h-0 basis-full\">\n <div class=\"card-title flex flex-0 min-h-0 h-fit nxa-card-title\" [ngClass]=\"_classHeaderObject()\">\n <ng-content select=\"[card-header]\"></ng-content>\n </div>\n <div class=\"flex grow min-h-0 basis-full overflow-hidden nxa-card-body\" [ngClass]=\"_classBodyObject()\">\n <ng-content select=\"[card-body]\"></ng-content>\n </div>\n <div class=\"card-actions flex grow-0 min-h-0 h-fit nxa-card-footer\" [ngClass]=\"_classFooterObject()\">\n <ng-content select=\"[card-footer]\"></ng-content>\n </div>\n </div>\n <ng-content select=\"[card-image-bottom]\"></ng-content>\n\n</div>\n","import { Directive, Input, HostBinding, signal } from '@angular/core';\n\n@Directive({\n selector: '[nxaAutoSize]',\n standalone: true,\n})\nexport class NxaAutoSizeDirective {\n \n private _nxaAutoSize = signal<'x' | 'y' | 'xy'>('xy');\n @Input() set nxaAutoSize(value:'x' | 'y' | 'xy'){\n this._nxaAutoSize.set(value);\n };\n\n @HostBinding('style.height')\n get height() {\n return this._nxaAutoSize().includes('y') ? '100%' : null;\n }\n\n @HostBinding('style.flex-grow')\n get flexGrow() {\n return this._nxaAutoSize().includes('y') ? '1' : null;\n }\n\n @HostBinding('style.flex-shrink')\n get flexShrink() {\n return this._nxaAutoSize().includes('y') ? '1' : null;\n }\n\n @HostBinding('style.flex-basis')\n get flexBasis() {\n return this._nxaAutoSize().includes('y') ? '0' : null;\n }\n\n @HostBinding('style.min-height')\n get minHeight() {\n return this._nxaAutoSize().includes('y') ? '0' : null;\n }\n\n @HostBinding('style.width')\n get width() {\n return this._nxaAutoSize().includes('x') ? '100%' : null;\n }\n\n @HostBinding('style.min-width')\n get minWidth() {\n return this._nxaAutoSize().includes('x') ? '0' : null;\n }\n\n @HostBinding('style.position')\n position = 'relative';\n}\n","import {\n Directive,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n NgZone,\n HostBinding,\n Input,\n signal,\n inject,\n} from '@angular/core';\n\n@Directive({\n selector: '[nxaForceSize]',\n standalone: true,\n})\nexport class NxaForceSizeDirective implements AfterViewInit, OnDestroy {\n private el = inject(ElementRef);\n private zone= inject(NgZone);\n @Input() set nxaForceSize(value: 'x' | 'y' | 'xy') {\n this._nxaForceSize.set(value);\n };\n private _nxaForceSize = signal<'x' | 'y' | 'xy'>('xy',{});\n private _resizeObserver?: ResizeObserver;\n\n @HostBinding('style.width') hostWidth?: string;\n @HostBinding('style.height') hostHeight?: string;\n\n ngAfterViewInit(): void {\n if (typeof window === 'undefined') return;\n requestAnimationFrame(() => {\n this.zone.runOutsideAngular(() => {\n this.setDimensions();\n\n const parent = this.el.nativeElement.parentElement;\n if (parent) {\n this._resizeObserver = new ResizeObserver(() => this.setDimensions());\n this._resizeObserver.observe(parent);\n }\n\n window.addEventListener('resize', this.setDimensions);\n });\n });\n }\n\n private setDimensions = (): void => {\n const parent = this.el.nativeElement.parentElement;\n if (!parent) return;\n\n const { height, width } = parent.getBoundingClientRect();\n const size = this._nxaForceSize();\n this.hostHeight = size.includes('y') ? `${height}px` : undefined;\n this.hostWidth = size.includes('x') ? `${width}px` : undefined;\n };\n\n ngOnDestroy(): void {\n this._resizeObserver?.disconnect();\n if (typeof window === 'undefined') return;\n window.removeEventListener('resize', this.setDimensions);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, Output, signal, ViewEncapsulation } from '@angular/core';\n\nimport { heroChevronLeft, heroChevronRight } from '@ng-icons/heroicons/outline';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { NxaButton } from '../../inputs';\nimport { modelState } from '../../../../internals/inputWrapper';\n\n@Component({\n selector: 'nxa-pagination',\n templateUrl: './nxa-pagination.component.html',\n encapsulation: ViewEncapsulation.Emulated,\n viewProviders:[provideIcons({heroChevronRight,heroChevronLeft})],\n imports: [CommonModule,NgIcon, NxaButton],\n})\nexport class NxaPagination {\n protected _label = signal<string>('Page');\n @Input() public set label(value:string){\n this._label.set(value);\n }\n public get label():string{\n return this._label();\n }\n protected _totalPages = signal<number>(10);\n @Input() public set totalPages(value:number){\n this._totalPages.set(value);\n }\n public get totalPages():number{\n return this._totalPages();\n }\n protected _currentPage = modelState<number>(1,true);\n @Input() public set currentPage(value:number){\n this._currentPage.set(value);\n }\n public get currentPage():number{\n return this._currentPage.get();\n }\n \n @Output() currentPageChange = this._currentPage.emitter;\n\n nextPage() {\n this.currentPageChange.emit(this._currentPage.get() + 1);\n }\n prevPage() {\n this.currentPageChange.emit(this._currentPage.get() - 1);\n }\n}\n","<div class=\"join w-72 py-1 my-3 flex flex-row justify-between items-center ms-4\">\n <nxa-button color=\"primary\" classes=\"min-w-14 join-item\" [outlined]=\"true\" (click)=\"prevPage()\"\n [disabled]=\"_currentPage.get() === 1\">\n <ng-icon name=\"heroChevronLeft\"></ng-icon>\n </nxa-button>\n <span class=\"join-item bg-base-200 self-stretch flex-1 px-1 text-center content-center\">\n <p class=\"text-center \">{{_label()}}</p>\n </span>\n <nxa-button color=\"primary\" classes=\"min-w-14 join-item\" [outlined]=\"true\" (click)=\"nextPage()\"\n [disabled]=\"_currentPage.get() === _totalPages()\">\n <ng-icon name=\"heroChevronRight\"></ng-icon>\n </nxa-button>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, Input, InputSignal, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NxaAutoSizeDirective } from '../../../directives';\nimport { NxaPagination } from '../../components/nxa-pagination/nxa-pagination.component';\nimport { NXA_HOST_LAYOUT as NXA_HOST_LAYOUT } from '../../../utils';\n\nexport interface INxaDataGridHeader{\n label:string;\n}\n\nexport interface INxaDataGrid<T = any> {\n data: InputSignal<T[]>;\n headers: InputSignal<T[]>;\n headerRowTemplate: InputSignal<TemplateRef<any>|undefined>;\n dataRowTemplate?: InputSignal<TemplateRef<any>|undefined>;\n}\n\n\n@Component({\n selector: 'nxa-datagrid',\n templateUrl: './nxa-datagrid.component.html',\n imports: [CommonModule, NxaAutoSizeDirective, NxaPagination],\n encapsulation:ViewEncapsulation.None,\n host:{\n class:NXA_HOST_LAYOUT\n }\n})\nexport class NxaDatagrid<T=any>{\n protected _data = signal<T[]>([]);\n @Input() public set data(value:T[]){\n this._data.set(value);\n }\n public get data():T[]{\n return this._data();\n }\n protected _headers = signal<INxaDataGridHeader[]>([]);\n @Input() public set headers(value:INxaDataGridHeader[]){\n this._headers.set(value);\n }\n public get headers():INxaDataGridHeader[]{\n return this._headers();\n }\n protected _headerRowTemplate = signal<TemplateRef<any>|undefined>(undefined);\n @Input() public set headerRowTemplate(value:TemplateRef<any>|undefined){\n this._headerRowTemplate.set(value);\n }\n public get headerRowTemplate():TemplateRef<any>|undefined{\n return this._headerRowTemplate();\n }\n protected _dataRowTemplate = signal<TemplateRef<any>|undefined>(undefined);\n @Input() public set dataRowTemplate(value:TemplateRef<any>|undefined){\n this._dataRowTemplate.set(value);\n }\n public get dataRowTemplate():TemplateRef<any>|undefined{\n return this._dataRowTemplate();\n }\n\n protected getObjectKeys(value:any){\n return Object.keys(value);\n }\n}\n","<div class=\"nxa-datagrid-container overflow-visible h-full min-h-0 flex flex-col flex-1\">\n <div class=\"flex flex-row nxa-datagrid-headers relative top-0 left-0 w-full h-10 justify-between items-center overflow-visible\">\n <div *ngFor=\"let header of _headers(); let hi = index\" class=\"w-full justify-stretch flex flex-row\">\n <ng-container\n *ngTemplateOutlet=\"_headerRowTemplate()|| defaultHeaders; context: { $implicit: header, index: hi }\"></ng-container>\n </div>\n </div>\n <div class=\"w-full flex flex-col overflow-y-auto\" nxaAutoSize=\"y\">\n <div class=\"flex flex-row justify-between\" *ngFor=\"let row of _data(); let ri = index\">\n <ng-container\n *ngTemplateOutlet=\"_dataRowTemplate() || defaultRow; context: { $implicit: row, index: ri }\"></ng-container>\n </div>\n </div>\n <div>\n <nxa-pagination class=\"h-20\" [currentPage]=\"1\" [totalPages]=\"20\" [label]=\"`page 1/20`\"></nxa-pagination>\n </div>\n</div>\n\n<ng-template #defaultHeaders let-header let-index=\"index\">\n <div class=\"flex flex-row w-full justify-stretch bg-purple-700 border\">\n @for (key of getObjectKeys(header); track key) {\n <div class=\"flex flex-row bg-red-500 w-full text-center\">\n <p>\n {{header[key]}}\n </p>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #defaultRow let-row let-index=\"index\">\n <div class=\"flex flex-row w-full justify-between shadow-xl\">\n @for (key of getObjectKeys(row); track key) {\n <div class=\"flex flex-row justify-between\">\n {{row[key]}} {{index}}\n </div>\n }\n </div>\n</ng-template>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, signal, TemplateRef } from '@angular/core';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { NXA_HOST_BLOCK, Nullable } from '../../../utils';\nimport { NxaContainer } from \"../../layout-primitives\";\n\nexport interface INxaListElement {\n id:string | number;\n}\n\n\n@Component({\n selector: 'nxa-dynamic-list',\n standalone: true,\n templateUrl: './nxa-dynamic-list.component.html',\n host:{\n class:NXA_HOST_BLOCK\n },\n imports: [CommonModule, ScrollingModule, CdkDrag, CdkDropList, NxaContainer]\n})\nexport class NxaDynamicList<T=INxaListElement> {\n protected _rowTemplateRef = signal<Nullable<TemplateRef<any>>>(null);\n @Input() set rowTemplateRef(value:Nullable<TemplateRef<any>>){\n this._rowTemplateRef.set(value);\n }\n get rowTemplateRef(){\n return this._rowTemplateRef();\n }\n protected _data = signal<Nullable<T[]>>(null);\n @Input() set data(value:Nullable<T[]>){\n this._data.set(value);\n }\n get data(){\n return this._data();\n }\n protected _enableSorting = signal<boolean>(false);\n @Input() set enableSorting(value:boolean){\n this._enableSorting.set(value);\n }\n get enableSorting(){\n return this._enableSorting();\n }\n protected _enableDrop = signal<boolean>(false);\n @Input() set enableDrop(value:boolean){\n this._enableDrop.set(value);\n }\n get enableDrop(){\n return this._enableDrop();\n }\n protected _enableDrag = signal<boolean>(false);\n @Input() set enableDrag(value:boolean){\n this._enableDrag.set(value);\n }\n get enableDrag(){\n return this._enableDrag();\n }\n protected _rowHeight = signal<number>(48);\n @Input() set rowHeight(value:number){\n this._rowHeight.set(value);\n }\n get rowHeight(){\n return this._rowHeight();\n }\n @Output() elementSorted = new EventEmitter<{prevIndex:number,currentIndex:number}>();\n\n\n elementDropped(event: CdkDragDrop<T[]>) {\n this._data.update((currentData) => {\n if (!currentData) {\n console.warn(\"NxaDynamicList: Data array is not initialized during drop operation.\");\n return [];\n }\n const newData = [...currentData];\n this.elementSorted.emit({prevIndex:event.previousIndex,currentIndex:event.currentIndex});\n moveItemInArray(newData, event.previousIndex, event.currentIndex);\n return newData;\n });\n }\n\n}\n","<cdk-virtual-scroll-viewport [itemSize]=\"_rowHeight()\" class=\"h-full w-full\" cdkDropList\n [cdkDropListDisabled]=\"!_enableDrop()\" [cdkDropListSortingDisabled]=\"!_enableSorting()\"\n (cdkDropListDropped)=\"elementDropped($event)\">\n <div *cdkVirtualFor=\"let item of _data(); let i = index\" cdkDrag [cdkDragDisabled]=\"!_enableDrag()\">\n <ng-container *ngTemplateOutlet=\"_rowTemplateRef(); context: { $implicit: item, index: i }\"></ng-container>\n </div>\n</cdk-virtual-scroll-viewport>","import { Component, Input, signal } from '@angular/core';\nimport { NXA_HOST_CONTENTS_ONLY } from '../../../utils';\n\n@Component({\n selector: 'nxa-list-tile',\n templateUrl: './nxa-list-tile.component.html',\n host:{\n class:NXA_HOST_CONTENTS_ONLY,\n }\n})\nexport class NxaListTile {\n protected _className = signal<string>('');\n @Input() set className(value:string){\n this._className.set(value);\n }\n get className(){\n return this._className();\n }\n\n}\n","<div class=\"w-full grid bg-inherit grid-cols-[auto_auto_auto] gap-1 h-12\" [class]=\"_className()\">\n <div class=\"nxa-list-tile-leading content-center\">\n <ng-content select=\"[leading]\"></ng-content>\n </div>\n <div class=\"nxa-list-tile-content content-center\">\n <ng-content select=\"\"></ng-content>\n </div>\n <div class=\"nxa-list-tile-trailing content-center\">\n <ng-content select=\"[trailing]\"></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NxaColorAll, NxaSize, Nullable, sanitizeIcon } from '../../../utils';\nimport { NxaClassList, WithClassNameMixin } from '../../../mixins';\n\n@Component({\n selector: 'nxa-badge',\n templateUrl: './nxa-badge.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule],\n})\nexport class NxaBadge extends WithClassNameMixin(class {}){\n private domSanitizer = inject(DomSanitizer);\n // Signals\n protected _color = signal<NxaColorAll>('accent');\n protected _outlined = signal<boolean>(false);\n protected _size = signal<NxaSize>('md');\n protected _label = signal<Nullable<string>>('');\n protected _icon = signal<Nullable<string>>('');\n\n // @Input() setters\n @Input() set color(value: NxaColorAll) {\n this._color.set(value);\n }\n get color(): NxaColorAll {\n return this._color();\n }\n @Input() set outlined(value: boolean) {\n this._outlined.set(value);\n }\n get outlined(): boolean {\n return this._outlined();\n }\n @Input() set size(value: NxaSize) {\n this._size.set(value);\n }\n\n get size(): NxaSize {\n return this._size();\n }\n @Input() set label(value: Nullable<string>) {\n this._label.set(value);\n }\n get label(): Nullable<string> {\n return this._label();\n }\n @Input() set icon(value: Nullable<string>) {\n this._icon.set(value);\n }\n\n get icon(): string | null | undefined {\n return this._icon();\n }\n @Input() set className(value: NxaClassList|null) {\n this._className.set(value);\n }\n\n get className(): NxaClassList|null {\n return this._className();\n }\n\n protected computedClasses = computed(() => {\n return {\n [`badge-${this._size()}`]: true,\n [`badge-${this._color()}`]: true,\n [`badge-outline`]: this._outlined(),\n };\n });\n getIconHTML() {\n if (this._icon()) {\n return sanitizeIcon(this._icon()!, this.domSanitizer);\n }\n return null;\n }\n}\n","<div class=\"badge flex flex-row items-center nxa-badge-component\" [ngClass]=\"{\n 'badge-neutral':_color()==='neutral',\n 'badge-primary':_color()==='primary',\n 'badge-secondary':_color()==='secondary',\n 'badge-accent':_color()==='accent',\n 'badge-ghost':_color()==='ghost',\n 'badge-link':_color()==='link',\n 'badge-info':_color()==='info',\n 'badge-success':_color()==='success',\n 'badge-warning':_color()==='warning',\n 'badge-error':_color()==='error',\n 'badge-xs':_size()==='xs',\n 'badge-sm':_size()==='sm',\n 'badge-md':_size()==='md',\n 'badge-lg':_size()==='lg',\n 'badge-xl':_size()==='xl', \n ...computedClasses(),\n ..._classNameObject()\n }\">\n <div class=\"w-fit h-fit\">\n <ng-content select=\"[leading]\"></ng-content>\n </div>\n @if (_label()) {\n <p class=\"me-1 font-light text-sm\">{{_label()}}</p>\n }\n <ng-content></ng-content>\n @if(!!_icon()){\n <div class=\"w-4 h-4 flex items-center justify-center text-[1rem]\" [innerHTML]=\"getIconHTML()\"></div>\n }\n <div class=\"w-fit h-fit\">\n <ng-content select=\"[trailing]\"></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Input, signal, ViewEncapsulation } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NXA_HOST_CONTENTS_ONLY, Nullable } from '../../../utils';\nimport { NxaBreakpoint, NxaLayoutService } from '../../../services';\nimport { NxaSize } from '../../../utils/nxa-size-utils';\nimport { NxaBrandColor, NxaStatusColor, NxaContentColor, NxaNeutralColor } from '../../../utils/nxa-color-utils';\n\n@Component({\n selector: 'nxa-text',\n templateUrl: './nxa-text.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection:ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n host: {\n class: NXA_HOST_CONTENTS_ONLY,\n '[attr.for]':\"null\",\n }\n})\nexport class NxaText {\n private _layoutService = inject(NxaLayoutService);\n private _screenSizeChanged = toSignal(this._layoutService.breakpoint$);\n \n protected _for = signal<string>('');\n @Input() set for(value: string) { this._for.set(value); }\n get for(): string { return this._for(); }\n \n protected _useLabelTag = computed(()=>!!this._for())\n /**\n * The type of text to render.\n */\n protected _type = signal<'title' | 'paragraph' | 'subtitle' | 'caption' | 'label'>('paragraph');\n @Input() set type(value: 'title' | 'paragraph' | 'subtitle' | 'caption' | 'label') { this._type.set(value); }\n get type() { return this._type(); }\n /**\n * The size of the text.\n * default depends on the type of text\n */\n protected _size = signal<Nullable<NxaSize | Partial<Record<NxaBreakpoint, NxaSize>>>>('md');\n @Input() set size(value: Nullable<NxaSize | Partial<Record<NxaBreakpoint, NxaSize>>>) { this._size.set(value); }\n get size() { return this._size(); }\n\n protected _computeSizeSuffix = computed(() => {\n const screenBreakPoint = this._screenSizeChanged();\n const sizeInput = this._size();\n let result: NxaSize | undefined = 'md';\n\n if (!!sizeInput && typeof sizeInput === 'object') {\n result = sizeInput[screenBreakPoint!] || 'md';\n }\n else if (!!sizeInput && typeof sizeInput === 'string') {\n result = sizeInput;\n }\n return result;\n });\n\n\n /**\n * The weight of the text.\n * default depends on the type of text\n * Possible values: 'extralight', 'thin', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold'\n */\n protected _weight = signal<Nullable<'extralight' | 'thin' | 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold'>>(null);\n @Input() public set weight(value: Nullable<'extralight' | 'thin' | 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold'>) { this._weight.set(value); };\n get weight(): Nullable<'extralight' | 'thin' | 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold'> { return this._weight(); }\n /**\n * The italic style of the text.\n * default false\n */\n protected _italic = signal<boolean>(false);\n @Input() public set italic(value:boolean){this._italic.set(value)};\n public get italic():boolean{return this._italic()}\n /**\n * The color of the text.\n * default 'content'\n * Possible values: 'primary', 'secondary', 'success', 'warning', 'error', 'content', 'info', 'neutral'\n * \n * Note: This is a custom color, not a tailwind color.\n * You can use this to set the color of the text to any color you want.\n */\n protected _color = signal<Nullable<NxaBrandColor|NxaStatusColor|NxaContentColor|NxaNeutralColor>>('content');\n @Input() public set color(value: Nullable<NxaBrandColor|NxaStatusColor|NxaContentColor|NxaNeutralColor>) { this._color.set(value); };\n get color(): Nullable<NxaBrandColor|NxaStatusColor|NxaContentColor|NxaNeutralColor> { return this._color(); }\n // Alternative using input from angular core\n //\n /**\n * Custom class name to add to the text element.\n * This can be used to add additional styles to the text element.\n * It will be added to the computed classes of the text element.\n * \n * Note: use tailwind/ global classes to override local value, some time !important is required.\n */\n protected _className = signal<string>('');\n @Input() public set className(value: string) {\n this._className.set(value);\n };\n get className(): string {\n return this._className();\n };\n protected computedClasses = computed(() => {\n let classes = `nxa-text ${'nxa-text-' + this._type()}`;\n const size = this._computeSizeSuffix();\n\n classes += ` nxa-text-${size}`;\n \n if (this._weight()) {\n classes += ` nxa-text-${this._weight()}`;\n }\n if (this._color()) {\n classes += ` nxa-text-${this._color()}`;\n }\n return `${classes} ${this._className()}`;\n });\n}\n","@if(!!_for()){\n<label class=\"min-h-fit h-fit w-fit\" [for]=\"_for()\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</label>\n}@else if(_type()===\"title\" && _size()==='xl')\n{\n<h1 class=\"min-h-fit h-fit\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</h1>\n}@else if(_type()===\"title\" && _size()==='lg')\n{\n<h2 class=\"min-h-fit h-fit\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</h2>\n}@else if(_type()===\"title\" && _size()==='md')\n{\n<h3 class=\"min-h-fit h-fit\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</h3>\n}@else if(_type()===\"title\" && _size()==='sm')\n{\n<h4 class=\"min-h-fit h-fit\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</h4>\n}@else if(_type()===\"title\" && _size()==='xs')\n{\n<h5 class=\"min-h-fit h-fit\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</h5>\n}@else{\n<p class=\"min-h-fit h-fit\" [class]=\"computedClasses()\" [ngClass]=\"{\n 'italic': _italic(),\n }\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n</p>\n}\n\n<ng-template #content>\n <ng-content select=\"\"></ng-content>\n</ng-template>","import { ChangeDetectionStrategy, Component, inject, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NxaBadge } from \"../nxa-badge/nxa-badge.component\";\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NxaText } from \"../nxa-text/nxa-text.component\";\nimport { signal, Input } from '@angular/core';\nimport { NXA_HOST_LAYOUT, NxaColorAll, NxaSize, sanitizeIcon } from '../../../utils';\nimport { NxaExpansionPanel } from '../../layouts';\nexport interface INxaDrawerBadge{\n label?: string,\n color?: NxaColorAll,\n size?: NxaSize,\n icon?: string,\n}\nexport interface INxaDrawerSection {\n label: string,\n entries: INxaDrawerEntry[],\n}\nexport interface INxaDrawerEntry {\n label: string,\n routerLink?: string[],\n fragment?: string,\n onClick?:()=>void,\n id?:string,\n badge?: INxaDrawerBadge,\n icon?: string,\n defaultOpen?: boolean,\n subEntries?: INxaDrawerEntry[],\n}\n@Component({\n selector: 'nxa-drawer',\n templateUrl: './nxa-drawer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, NxaBadge, NxaExpansionPanel, RouterLink, RouterLinkActive, NxaText],\n host:{\n class:NXA_HOST_LAYOUT\n }\n})\nexport class NxaDrawer{\n private domSanitizer = inject(DomSanitizer);\n protected _headerContent = signal<TemplateRef<any> | null>(null);\n @Input() set headerContent(value: TemplateRef<any> | null) {\n this._headerContent.set(value);\n }\n get headerContent(): TemplateRef<any> | null {\n return this._headerContent();\n }\n\n protected _footerContent = signal<TemplateRef<any> | null>(null);\n @Input() set footerContent(value: TemplateRef<any> | null) {\n this._footerContent.set(value);\n }\n get footerContent(): TemplateRef<any> | null {\n return this._footerContent();\n }\n\n protected _menuEntries = signal<INxaDrawerSection[]>([]);\n @Input() set menuEntries(value: INxaDrawerSection[]) {\n this._menuEntries.set(value);\n }\n get menuEntries(): INxaDrawerSection[] {\n return this._menuEntries();\n }\n \n protected _className = signal<string>('');\n @Input() set className(value: string) {\n this._className.set(value);\n }\n public get className():string{\n return this._className();\n }\n\n\n getIconHtml(icon: string) {\n return sanitizeIcon(icon, this.domSanitizer);\n }\n}\n","<!-- nxa Drawer Container -->\n<div class=\"nxa-drawer-container\" [class]=\"_className()\">\n <!-- nxa Drawer Header -->\n @if(!!_headerContent()){\n <div class=\"nxa-drawer-header\">\n <ng-container *ngTemplateOutlet=\"_headerContent()!\"></ng-container>\n </div>\n }\n <!-- nxa Drawer Menu -->\n <div class=\"nxa-drawer-menu\">\n <!-- For each Section in the menu Entries -->\n @for (section of _menuEntries(); track $index) {\n <div class=\"nxa-drawer-menu-section\">\n <!-- Menu Section Title -->\n <nxa-text className=\"nxa-drawer-menu-section-title\" type=\"label\" size=\"xl\"\n color=\"primary\">{{section.label}}</nxa-text>\n <!-- Menu Section Entries -->\n <ul class=\"w-full\">\n @for (item of section.entries; track $index) {\n <ng-container *ngTemplateOutlet=\"renderMenuEntry; context: { $implicit: item }\"></ng-container>\n }\n </ul>\n </div>\n }\n </div>\n\n\n @if(!!_footerContent()){\n <div class=\"nxa-drawer-footer\">\n <ng-container *ngTemplateOutlet=\"_footerContent()!\"></ng-container>\n </div>\n }\n</div>\n\n<ng-template #renderMenuEntry let-item>\n @if(!item.subEntries && item.routerLink){\n <!-- Menu Entry single line -->\n <a class=\"nxa-drawer-menu-entry nxa-click-animation\" [id]=\"item.id||''\" [routerLink]=\"item.routerLink\"\n [fragment]=\"item.fragment\" [routerLinkActive]=\"'active'\">\n <!-- Display icon if needed or placeholder-->\n @if(!!item.icon){\n <div class=\"nxa-drawer-menu-icon\" [innerHTML]=\"getIconHtml(item.icon)\"></div>\n }\n @else {\n <div class=\"\"></div>\n }\n <!-- Actual Entry label -->\n <nxa-text className=\"nxa-drawer-menu-label\" type=\"label\" [size]=\"{\n 'xs': 'sm',\n 'sm': 'md',\n 'md': 'md',\n 'lg': 'md',\n 'xl': 'lg',\n '2xl': 'lg'\n }\" weight=\"light\" color=\"content\">{{item.label}}</nxa-text>\n <!-- Display Badge If needed -->\n @if (!!item.badge) {\n <nxa-badge class=\"nxa-drawer-menu-badge\" [label]=\"item.badge.label\" [color]=\"item.badge.color\"\n [size]=\"item.badge.size\" [icon]=\"item.badge.icon\">\n </nxa-badge>\n }\n </a>\n }@else if(item.onClick){\n <!-- Menu Entry single line -->\n <button class=\"nxa-drawer-menu-entry nxa-click-animation\" [id]=\"item.id||''\" [routerLink]=\"item.routerLink\"\n [fragment]=\"item.fragment\" [routerLinkActive]=\"'active'\" (click)=\"item.onClick()\">\n <!-- Display icon if needed or placeholder-->\n @if(!!item.icon){\n <div class=\"nxa-drawer-menu-icon\" [innerHTML]=\"getIconHtml(item.icon)\"></div>\n }\n @else {\n <div class=\"\"></div>\n }\n <!-- Actual Entry label -->\n <nxa-text className=\"nxa-drawer-menu-label\" type=\"label\" [size]=\"{\n 'xs': 'sm',\n 'sm': 'md',\n 'md': 'md',\n 'lg': 'md',\n 'xl': 'lg',\n '2xl': 'lg'\n }\" weight=\"light\" color=\"content\">{{item.label}}</nxa-text>\n <!-- Display Badge If needed -->\n @if (!!item.badge) {\n <nxa-badge class=\"nxa-drawer-menu-badge\" [label]=\"item.badge.label\" [color]=\"item.badge.color\"\n [size]=\"item.badge.size\" [icon]=\"item.badge.icon\">\n </nxa-badge>\n }\n </button>\n }\n @else{\n <!-- Menu section Subentries (recursive) -->\n <nxa-expansion-panel [isOpen]=\"item.defaultOpen || false\" className=\"mx-0\" classBody=\"px-0\">\n <div expansion-header class=\"nxa-drawer-menu-expansion h-10 pointer-events-auto\">\n <!-- Display icon if needed or placeholder-->\n @if(!!item.icon){\n <div class=\"nxa-drawer-menu-icon\" [innerHTML]=\"getIconHtml(item.icon)\">\n </div>\n }@else {\n <div class=\"\"></div>\n }\n <!-- Actual Entry label -->\n <nxa-text className=\"nxa-drawer-menu-label\" type=\"label\" size=\"md\">{{item.label}}</nxa-text>\n <!-- Display Badge If needed -->\n @if (!!item.badge) {\n <nxa-badge class=\"nxa-drawer-menu-badge\" [label]=\"item.badge.label\" [color]=\"item.badge.color\"\n [size]=\"item.badge.size\" [icon]=\"item.badge.icon\">\n </nxa-badge>\n }\n </div>\n <div expansion-body>\n <ul>\n @for (subItem of item.subEntries; track $index) {\n <ng-container *ngTemplateOutlet=\"renderMenuEntry; context: { $implicit: subItem }\"></ng-container>\n }\n </ul>\n </div>\n </nxa-expansion-panel>\n }\n</ng-template>","import { Component, HostBinding, inject } from '@angular/core';\nimport { NxaLoadingService } from '../../../services';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'nxa-progress-api-call',\n templateUrl: './nxa-progress-api-call.component.html',\n})\nexport class NxaProgressApiCall {\n private loadingService = inject(NxaLoadingService);\n private isLoading = toSignal(this.loadingService.isLoading$);\n @HostBinding('class.hidden') get hidden() {\n return !this.isLoading();\n }\n\n}\n","<progress class=\"progress w-full progress-accent\"></progress>","import { CommonModule } from '@angular/common';\nimport { Component, OnInit, signal } from '@angular/core';\nimport {bootstrapInfoCircle } from '@ng-icons/bootstrap-icons';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { NxaOverlayBaseMixin } from '../../../mixins/nxa-overlay-mixins';\nimport { NxaToastModel } from '../../../services';\nimport { NXA_HOST_BLOCK, NxaConstructor } from '../../../utils';\n\n\n@Component({\n selector: 'nxa-toast',\n templateUrl: './nxa-toast.component.html',\n viewProviders:[provideIcons({bootstrapInfoCircle})],\n imports:[NgIcon,CommonModule],\n host:{\n class:`${NXA_HOST_BLOCK}`\n }\n})\nexport class NxaToast extends NxaOverlayBaseMixin<NxaToastModel,NxaConstructor>(class{}) implements OnInit {\n protected isVisible=signal(true);\n\n ngOnInit(): void {\n // Initialization logic here if needed\n }\n\n}\n","<div class=\"transition-transform duration-200\" [class.translate-x-[100%]]=\"!isVisible()\">\n <div class=\"alert\" [ngClass]=\"{\n 'alert-info':overlayData.color==='info',\n 'alert-success':overlayData.color==='success',\n 'alert-warning':overlayData.color==='warning',\n 'alert-error':overlayData.color==='error',\n }\">\n <ng-icon name=\"bootstrapInfoCircle\"></ng-icon>\n <span>{{overlayData.title}}</span>\n <span>{{overlayData.message}}</span>\n </div>\n</div>","import { Component, effect, Input, signal, viewChild } from '@angular/core';\nimport { NXA_HOST_CONTENTS_ONLY } from '../../../utils';\nimport { NxaText } from \"../nxa-text/nxa-text.component\";\n\n@Component({\nselector: 'nxa-tooltip',\n templateUrl: './nxa-tooltip.component.html',\n host: {\n class: NXA_HOST_CONTENTS_ONLY\n },\n imports: [NxaText]\n})\nexport class NxaTooltip {\n // tooltipMessage\n protected _tooltipMessage = signal<string>('');\n @Input() set tooltipMessage(value: string) {\n this._tooltipMessage.set(value ?? '');\n }\n get tooltipMessage() {\n return this._tooltipMessage();\n }\n\n // anchorId\n protected _anchorId = signal<string>('');\n @Input() set anchorId(value: string) {\n this._anchorId.set(value ?? '');\n }\n get anchorId() {\n return this._anchorId();\n }\n protected tooltipRef = viewChild.required<HTMLElement>('tooltip');\n protected setAnchorEffect = effect(() => {\n const anchorId = this._anchorId();\n if (anchorId) {\n const anchorElement = document.getElementById(anchorId);\n if (anchorElement && this.tooltipRef()) {\n const rect = anchorElement.getBoundingClientRect();\n this.tooltipRef().style.position = 'absolute';\n this.tooltipRef().style.overflowAnchor = anchorId;\n this.tooltipRef().style.top = `${rect.bottom + window.scrollY}px`;\n this.tooltipRef().style.left = `${rect.left + window.scrollX}px`;\n }\n }\n });\n\n}\n","<nxa-text type=\"caption\" className=\"tooltip-primary p-2 rounded-md absolute z-[999]\" #tooltip>\n {{ _tooltipMessage() }}\n</nxa-text>","import { ComponentRef, Directive, HostBinding, HostListener, inject, Input, signal, ViewContainerRef } from '@angular/core';\nimport { NxaDirection } from '../../../utils';\nimport { NxaTooltip } from './nxa-tooltip.component';\n\n@Directive({\n selector: '[nxaTooltip]'\n})\nexport class NxaTooltipDirective {\n private viewContainerRef = inject(ViewContainerRef);\n private tooltipComponentRef?: ComponentRef<NxaTooltip>;\n // Signals for inputs\n private readonly _anchorId = signal<string | null>(null);\n private readonly _tooltipMessage = signal<string | null>(null);\n private readonly _direction = signal<NxaDirection | null>(null);\n\n @Input() set anchorId(value: string | null) {\n this._anchorId.set(value);\n }\n get anchorId(): string | null {\n return this._anchorId();\n }\n\n @Input() set tooltipMessage(value: string | null) {\n this._tooltipMessage.set(value);\n }\n get tooltipMessage(): string | null {\n return this._tooltipMessage();\n }\n\n @Input() set direction(value: NxaDirection | null) {\n this._direction.set(value);\n }\n get direction(): NxaDirection | null {\n return this._direction();\n }\n @HostBinding('class.relative') protected _relativeClass = true;\n @HostListener('mouseenter') onMouseEnter() {\n this.viewContainerRef.clear();\n this.tooltipComponentRef = this.viewContainerRef.createComponent(NxaTooltip);\n if(this._tooltipMessage()) this.tooltipComponentRef.instance.tooltipMessage = this._tooltipMessage()!;\n\n }\n @HostListener('mouseleave') onMouseLeave() {\n if (this.tooltipComponentRef) {\n this.tooltipComponentRef.destroy();\n this.tooltipComponentRef = undefined;\n }\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, signal, TemplateRef, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { NxaProgressApiCall } from '../../components';\nimport { Nullable } from '../../../utils';\nimport { NxaClassList, WithClassNameMixin } from '../../../mixins';\n\n\n@Component({\n selector: 'nxa-navbar',\n templateUrl: './nxa-navbar.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, NxaProgressApiCall],\n changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class NxaNavbar extends WithClassNameMixin(class{}){\n protected _leadingTemplate = signal<Nullable<TemplateRef<any>>>(null);\n @Input() public set leadingTemplate(value: TemplateRef<any>) {\n this._leadingTemplate.set(value);\n }\n public get leadingTemplate(): Nullable<TemplateRef<any>> {\n return this._leadingTemplate();\n }\n protected _contentTemplate = signal<Nullable<TemplateRef<any>>>(null);\n @Input() public set contentTemplate(value: TemplateRef<any>) {\n this._contentTemplate.set(value);\n }\n public get contentTemplate(): Nullable<TemplateRef<any>> {\n return this._contentTemplate();\n }\n protected _trailingTemplate = signal<Nullable<TemplateRef<any>>>(null);\n @Input() public set trailingTemplate(value: TemplateRef<any>) {\n this._trailingTemplate.set(value);\n }\n public get trailingTemplate(): Nullable<TemplateRef<any>> {\n return this._trailingTemplate();\n }\n @Input()\n public set className(value:NxaClassList){\n this._className.set(value);\n }\n public get className():Nullable<NxaClassList>{\n return this._className();\n }\n}\n","<div class=\"navbar shadow-xl\" [ngClass]=\"_classNameObject()\">\n <div class=\"navbar-start\">\n @if(!!_leadingTemplate()){\n <ng-container [ngTemplateOutlet]=\"_leadingTemplate()!\"></ng-container>\n }@else {\n <ng-content select=\"[leading]\"></ng-content>\n }\n </div>\n <div class=\"navbar-center\">\n @if(!!_contentTemplate()){\n <ng-container [ngTemplateOutlet]=\"_contentTemplate()!\"></ng-container>\n }@else {\n <ng-content select=\"[content]\"></ng-content>\n }\n </div>\n <div class=\"navbar-end\">\n @if(!!_trailingTemplate()){\n <ng-container [ngTemplateOutlet]=\"_trailingTemplate()!\"></ng-container>\n }@else {\n <ng-content select=\"[trailing]\"></ng-content>\n }\n </div>\n</div>\n<div class=\"relative inset-0 h-1\">\n <nxa-progress-api-call class=\"absolute w-full top-0 bottom-0\"></nxa-progress-api-call>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, computed, HostBinding, inject, Input, OnInit, signal, TemplateRef, ViewEncapsulation, OnDestroy} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { Observable, switchMap } from 'rxjs';\nimport {NXA_HOST_LAYOUT, Nullable } from '../../../utils/nxa-utils';\nimport { NxaDrawerService, NxaDrawerState } from '../../../services/nxa-drawer.service';\nimport { NxaBreakpoint, NXA_BREAKPOINTS, NxaLayoutService } from '../../../services/nxa-layout.service';\nimport { NxaClassList, WithClassBodyMixin, WithClassNameMixin } from '../../../mixins';\n\nconst BREAKPOINT_ORDER: Record<NxaBreakpoint, number> = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n '2xl': 5,\n};\n\n@Component({\n selector: 'nxa-page',\n templateUrl: './nxa-page.component.html',\n styleUrls:['./nxa-page.component.css'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: NXA_HOST_LAYOUT\n },\n imports: [CommonModule],\n\n})\nexport class NxaPage extends WithClassNameMixin(WithClassBodyMixin(class {})) implements OnInit, OnDestroy {\n\n //#region Injection\n /**\n * \n */\n protected drawerService = inject(NxaDrawerService);\n protected layoutService = inject(NxaLayoutService);\n protected nxaBreakpoints = inject(NXA_BREAKPOINTS);\n //#endregion\n //#region State\n protected _isRoot = signal<boolean>(false);\n protected _drawer = signal<Nullable<TemplateRef<any>>>(null);\n protected _navBar = signal<Nullable<TemplateRef<any>>>(null);\n protected _contentFooter = signal<Nullable<TemplateRef<any>>>(null);\n protected _pageFooter = signal<Nullable<TemplateRef<any>>>(null);\n protected _sidebar = signal<Nullable<TemplateRef<any>>>(null);\n protected _drawerId = signal<string>('nxa-drawer');\n protected _drawerDefaultOpen = signal<boolean>(true);\n protected _overlayFrom = signal<NxaBreakpoint>('md');\n protected _currentBreakpoint = toSignal(this.layoutService.breakpoint$);\n protected _oldBreakpoint = signal<NxaBreakpoint>('md');\n\n // protected _drawerRef = viewChild<ElementRef>(\"drawer\");\n // protected _contentRef = viewChild<ElementRef>(\"content\");\n // protected _enforceMaxWidth= signal<boolean>(true);\n\n // protected _updateContentWidth=effect(()=>{\n // const enforcedWidth = this._enforceMaxWidth();\n // const drawerState = this._drawerState()\n // if(!enforcedWidth) return;\n // const drawerEl = (this._drawerRef()?.nativeElement as HTMLElement);\n // const contentEl = (this._contentRef()?.nativeElement as HTMLElement);\n // if (!drawerEl || !contentEl) return;\n // const drawerWidth = drawerState?.state == 'OPEN' ? drawerEl.clientWidth : 0;\n // contentEl.style.maxWidth=`calc(100% - ${drawerWidth}px)`;\n // });\n protected _isOverlay = computed(() => {\n const current = this._currentBreakpoint();\n if (!current) return false; // no value yet\n\n return (\n BREAKPOINT_ORDER[current] < BREAKPOINT_ORDER[this._overlayFrom()]\n );\n });\n protected _computedNgClasses = computed(()=>{\n return {\n ...this._classNameObject(),\n 'is-root':this._isRoot(),\n 'nxa-drawer-overlay':this._isOverlay(),\n };\n });\n /**\n * fetch drawer state for this drawer\n */\n protected _drawerState$!: Observable<NxaDrawerState | null | undefined>;\n /**\n * fetch drawe state for this drawer again\n */\n protected _drawerState = toSignal(toObservable(this._drawerId).pipe(switchMap(x => this.drawerService.getDrawerState$(x))));\n //#endregion\n //#region inputs\n @Input() public set className(value:NxaClassList){\n this._className.set(value);\n }\n public get className():Nullable<NxaClassList>{\n return this._className();\n }\n @Input() public set classBody(value:NxaClassList){\n this._classBody.set(value);\n }\n public get classBody():Nullable<NxaClassList>{\n return this._classBody();\n }\n // @Input() public set enforceMaxWidth(value:boolean){\n // this._enforceMaxWidth.set(value);\n // }\n // public get enforceMaxWidth():boolean{\n // return this._enforceMaxWidth();\n // }\n /**\n * if this page is root of the website page,\n * set true if it's the base container of the app\n */\n @Input() public set root(value: boolean) {\n this._isRoot.set(value);\n };\n /**\n * drawer layout to display\n */\n @Input() public set drawerTemplate(value: TemplateRef<any>) {\n this._drawer.set(value);\n }\n /**\n * navbar to display\n */\n @Input() public set navBarTemplate(value: TemplateRef<any>) {\n this._navBar.set(value);\n }\n /**\n * footer for content\n */\n @Input() public set contentFooterTemplate(value: TemplateRef<any>) {\n this._contentFooter.set(value);\n }\n /**\n * footer for the entire page\n */\n @Input() public set pageFooterTemplate(value: TemplateRef<any>) {\n this._pageFooter.set(value);\n }\n /**\n * sidenav on the side of the page\n */\n @Input() public set sidebarTemplate(value: TemplateRef<any>) {\n this._sidebar.set(value);\n };\n /**\n * \n */\n @Input() public set drawerId(value: string) {\n this._drawerId.set(value);\n };\n @Input() public set drawerDefaultOpen(value: boolean) {\n this._drawerDefaultOpen.set(value);\n }\n @Input() public set overlayFrom(value: NxaBreakpoint) {\n this._overlayFrom.set(value);\n }\n\n //#endregion\n\n ngOnInit() {\n\n const isOpen = (this.layoutService.current === \"lg\" || this.layoutService.current === \"xl\" || this.layoutService.current === \"2xl\") && this._drawerDefaultOpen();\n\n this.drawerService.registerDrawer(({ id: this._drawerId(), state: isOpen ? 'OPEN' : 'CLOSE', side: 'LEFT' } as NxaDrawerState));\n this._drawerState$ = this.drawerService.getDrawerState$(this._drawerId());\n\n }\n ngOnDestroy(): void {\n\n this.drawerService.unregisterDrawer(this._drawerId());\n }\n\n /**\n * handle changes in the value of the checkbox\n * this sync the state between daisy ui component and service status\n * @param event \n */\n protected valueChange(event: Event) {\n const checked = (event.target as HTMLInputElement).checked;\n this.drawerService.updateDrawerState(({ ...this._drawerState(), state: checked ? \"OPEN\" : \"CLOSE\", side: 'LEFT' } as NxaDrawerState));\n }\n protected closeDrawer() {\n this.drawerService.updateDrawerState({...this._drawerState()!,state:\"CLOSE\"});\n }\n\n /**\n * handle the injection on host element of class root\n * this is needed to allow the switch of style if root page\n * */\n @HostBinding('class.is-root')\n get isRoot() {\n return this._isRoot();\n }\n}\n","<div class=\"nxa-page\" [ngClass]=\"_computedNgClasses()\">\n\n <div class=\"nxa-page-content-container\">\n\n <!-- Navbar Slot -->\n @if(!!_navBar()){\n <ng-container *ngTemplateOutlet=\"_navBar()!\"></ng-container>\n }@else{\n <ng-content select=\"[navbar]\"></ng-content>\n }\n <!-- Content Slot -->\n <div class=\"nxa-page-content\" #content>\n <div class=\"nxa-content\" [ngClass]=\"_classBody()\">\n <ng-content></ng-content>\n </div>\n <div class=\"nxa-page-sidenav-container\">\n <!-- Sidebar slot -->\n @if(!!_sidebar()){\n <ng-container [ngTemplateOutlet]=\"_sidebar()!\"></ng-container>\n }@else{\n <ng-content select=\"[sidenav]\"></ng-content>\n }\n </div>\n </div>\n <!-- Content Footer Slot -->\n <div class=\"grow-0 w-full h-fit\">\n @if(!!_contentFooter()){\n <ng-container *ngTemplateOutlet=\"_contentFooter()!\"></ng-container>\n }@else{\n <ng-content select=\"[content-footer]\"></ng-content>\n }\n </div>\n </div>\n @if (_isOverlay() && _drawerState()?.state === 'OPEN') {\n <div class=\"nxa-drawer-backdrop\" tabindex=\"0\" (click)=\"closeDrawer()\" (keydown.enter)=\"closeDrawer()\">\n </div>\n }\n <!-- Drawer Content Slot-->\n <div class=\"nxa-drawer-container\" #drawer [ngClass]=\"{\n 'nxa-drawer-open':_drawerState()?.state==='OPEN',\n 'nxa-drawer-close':_drawerState()?.state==='CLOSE',\n 'nxa-drawer-overlay':_isOverlay(),\n }\n \">\n @if(!!_drawer()){\n <ng-container *ngTemplateOutlet=\"_drawer()!\"></ng-container>\n }@else{\n <ng-content select=\"[drawer]\"></ng-content>\n }\n\n </div>\n</div>\n<!-- Full page Footer Slot-->\n<div class=\"nxa-page-footer\">\n @if(!!_pageFooter()){\n <ng-container *ngTemplateOutlet=\"_pageFooter()!\"></ng-container>\n\n }@else{\n <ng-content select=\"[page-footer]\"></ng-content>\n }\n</div>","import { Directive, effect, HostBinding, Input, OnInit, signal } from '@angular/core';\n\n@Directive({\n selector: '[nxaTab]'\n})\nexport class NxaTabDirective implements OnInit {\n //#region public interface\n // Signals\n private readonly _tabId = signal<string>('');\n private readonly _tabIndex = signal<number>(0);\n private readonly _openingIndex = signal<number>(0);\n private readonly _isActive = signal<boolean>(false);\n private readonly _title = signal<string>('');\n private readonly _icon = signal<string>('');\n private readonly _disabled = signal<boolean>(false);\n private readonly _animationDuration = signal<number>(650);\n private readonly _defaultAnimation = signal<boolean>(true);\n\n // @Input() bindings with getters/setters\n @Input()\n get tabId(): string {\n return this._tabId();\n }\n set tabId(value: string) {\n this._tabId.set(value);\n }\n\n @Input()\n get tabIndex(): number {\n return this._tabIndex();\n }\n set tabIndex(value: number) {\n this._tabIndex.set(value);\n }\n\n @Input()\n get openingIndex(): number {\n return this._openingIndex();\n }\n set openingIndex(value: number) {\n this._openingIndex.set(value);\n }\n\n @Input()\n get isActive(): boolean {\n return this._isActive();\n }\n set isActive(value: boolean) {\n this._isActive.set(value);\n }\n\n @Input()\n get title(): string {\n return this._title();\n }\n set title(value: string) {\n this._title.set(value);\n }\n\n @Input()\n get icon(): string {\n return this._icon();\n }\n set icon(value: string) {\n this._icon.set(value);\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled();\n }\n set disabled(value: boolean) {\n this._disabled.set(value);\n }\n\n @Input()\n get animationDuration(): number {\n return this._animationDuration();\n }\n set animationDuration(value: number) {\n this._animationDuration.set(value);\n }\n\n @Input()\n get defaultAnimation(): boolean {\n return this._defaultAnimation();\n }\n set defaultAnimation(value: boolean) {\n this._defaultAnimation.set(value);\n }\n //#endregion\n\n private _tabState = signal<'OPENING' | 'OPEN' | 'CLOSING' | 'CLOSE'>('OPEN');\n \n private _animationDelayEffect = effect(() => {\n const isActive = this._isActive();\n const state = this._tabState();\n if (isActive && state === 'CLOSE') {\n this._tabState.set('OPENING');\n setTimeout(() => {\n this._tabState.set('OPEN');\n }, this._animationDuration());\n }\n else if (!isActive && state === 'OPEN') {\n this._tabState.set('CLOSING');\n setTimeout(() => {\n this._tabState.set('CLOSE');\n }, this._animationDuration());\n }\n });\n @HostBinding('class.nxa-tab') protected nxaTab = true;\n @HostBinding('class.h-full') protected fullHeight = true;\n @HostBinding('class.w-full') protected fullWidth = true;\n @HostBinding('style.left') protected left = 0;\n @HostBinding('style.top') protected top = 0;\n @HostBinding('style.right') protected right = 0;\n @HostBinding('style.bottom') protected bottom = 0;\n @HostBinding('style.position') protected position = 'absolute';\n @HostBinding('style.display') get display() {\n return this._tabState() == 'CLOSE' ? 'none' : 'block';\n }\n @HostBinding('class.nxa-tab-opening') get isTabOpening(): boolean {\n return this._tabState() == 'OPENING';\n }\n @HostBinding('class.nxa-tab-open') get isTabOpen(): boolean {\n return this._tabState() == 'OPEN';\n }\n @HostBinding('class.nxa-tab-closing') get isTabClosing(): boolean {\n return this._tabState() == 'CLOSING';\n }\n @HostBinding('class.nxa-tab-close') get isTabClose(): boolean {\n return this._tabState() == 'CLOSE';\n }\n @HostBinding('class.nxa-closing-left') get isClosingLeft():boolean{\n return this._tabState()=='CLOSING' && this._tabIndex()! > this._openingIndex()!;\n }\n @HostBinding('class.nxa-closing-right') get isClosingRight():boolean{\n return this._tabState()=='CLOSING' && this._tabIndex()! < this._openingIndex()!;\n }\n @HostBinding('class.nxa-opening-left') get isOpeningLeft():boolean{\n return this._tabState()=='CLOSING' && this._tabIndex()! < this._openingIndex()!;\n }\n @HostBinding('class.nxa-opening-right') get isOpeningRight():boolean{\n return this._tabState()=='CLOSING' && this._tabIndex()! > this._openingIndex()!;\n }\n @HostBinding('class.tab-animate-default') protected get animateDefault():boolean{\n return this._defaultAnimation();\n }\n\n ngOnInit(): void {\n this._tabState.set(this._isActive() ? 'OPEN' : 'CLOSE');\n }\n\n}\n","import { Component, computed, contentChildren, effect, Input, signal, ViewEncapsulation } from '@angular/core';\nimport { NxaTabDirective } from './nxa-tab.directive';\nimport { CommonModule } from '@angular/common';\nimport { NxaSize } from '../../../utils/nxa-size-utils';\nimport { NXA_HOST_BLOCK } from '../../../utils';\n\n@Component({\n selector: 'nxa-tab-view',\n templateUrl: './nxa-tab-view.component.html',\n encapsulation:ViewEncapsulation.None,\n imports:[CommonModule],\n host:{\n class:`${NXA_HOST_BLOCK}`,\n }\n})\nexport class NxaTabView {\n /* ---- Signals + @Input setters ---- */\n protected _tabType = signal<'border' | 'lift' | 'box'>('lift');\n @Input()\n set tabType(value: 'border' | 'lift' | 'box') {\n this._tabType.set(value);\n }\n get tabType() {\n return this._tabType();\n }\n\n protected _tabSize = signal<Exclude<NxaSize, 'xl'>>('md');\n @Input()\n set tabSize(value: Exclude<NxaSize, 'xl'>) {\n this._tabSize.set(value);\n }\n get tabSize() {\n return this._tabSize();\n }\n\n protected _className = signal<string>('');\n @Input()\n set className(value: string) {\n this._className.set(value);\n }\n get className() {\n return this._className();\n }\n\n protected _animate = signal<boolean>(true);\n @Input()\n set animate(value: boolean) {\n this._animate.set(value);\n }\n get animate() {\n return this._animate();\n }\n tabs = contentChildren(NxaTabDirective,{descendants:true});\n\n\n updateTabState=effect(()=>{\n this.tabs().forEach(x=>{if(!this._animate()){x.animationDuration = 0;}});\n });\n\n tabsLabelState=computed<{label:string,active:boolean}[]>(() => {\n return this.tabs().map<{label:string,active:boolean}>((tab)=>(\n {\n label:tab.title!,\n active:tab.isActive\n }\n ));\n });\n protected computedNgTabClass = computed(()=>(\n {\n [`tabs-${this._tabType()}`]:true,\n [`tabs-${this._tabSize()}`]:true,\n }\n ));\n\n\n protected onTabclick(tabIndex:number) {\n this.tabs().forEach((tab, index) => {\n tab.tabIndex = index;\n if(tabIndex === index) {\n tab.isActive = true;\n }\n else {\n tab.isActive = false;\n tab.openingIndex = tabIndex;\n }\n });\n }\n}\n","<!-- Nxa Tab View Container -->\n<div class=\"flex flex-col flex-1 min-h-0 h-full relative w-full nxa-tab-view-container\" [class]=\"_className()\">\n <!-- Nxa Tab view Header -->\n <div class=\"overflow-x-auto px-2 shrink-0 grow-0 min-h-fit nxa-tab-view-header\">\n <div role=\"tablist\" class=\"tabs tabs-bordered px-1\" [ngClass]=\"computedNgTabClass()\">\n @for (label of tabsLabelState(); let index = $index; track $index) {\n <a role=\"tab\" class=\"tab\" tabindex=\"0\" [class.tab-active]=\"label.active\" (click)=\"onTabclick(index)\" (keypress)=\"onTabclick(index)\">\n {{label.label}}\n </a>\n }\n </div>\n </div>\n <!-- Nxa Tab View Body -->\n <div class=\"flex relative flex-1 min-h-0 h-full basis-full nxa-tab-view-body\">\n <ng-content select=\"[nxaTab]\"></ng-content>\n </div>\n</div>","// Layouts\n\nexport * from './nxa-accordion/nxa-accordion.component';\nexport * from './nxa-card/nxa-card.component';\nexport * from './nxa-datagrid/nxa-datagrid.component';\n\nexport * from './nxa-dynamic-list/nxa-dynamic-list.component';\nexport * from './nxa-list-tile/nxa-list-tile.component';\n\nexport * from './nxa-expansion-panel/nxa-expansion-panel.component';\n\nexport * from './nxa-navbar/nxa-navbar.component';\n\n// export * from './nxa-overlay-host/nxa-overlay-host.component';\n\nexport * from './nxa-page/nxa-page.component';\n\nexport * from './nxa-tab-view/nxa-tab.directive';\nexport * from './nxa-tab-view/nxa-tab-view.component';","import { HttpInterceptorFn } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { NxaLoadingService, SKIP_LOADING } from '../services/nxa-loading.service';\nimport { finalize } from 'rxjs';\n\nexport const NxaLoadingInterceptor: HttpInterceptorFn = (req, next) => {\n const loadingService = inject(NxaLoadingService);\n const shouldTrack = !req.context.get(SKIP_LOADING);\n if (shouldTrack) {\n loadingService.addLoading();\n }\n return next(req).pipe(finalize(() => {\n if (shouldTrack) {\n loadingService.removeLoading();\n }\n }));\n};\n","/*\n * Public API Surface of nxa-ui\n */\nexport * from './lib/components';\nexport * from './lib/directives';\nexport * from './lib/services';\nexport * from './lib/utils';\nexport * from './lib/mixins';\nexport * from './lib/interceptors';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAO,MAAM,cAAc,GAAG;IAC1B,SAAS;IACT,WAAW;IACX,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;;AAEH,MAAM,kBAAkB,GAAG;IAC9B;;AAEG,MAAM,kBAAkB,GAAG;IAC9B;;AAEG,MAAM,gBAAgB,GAAG;IAC5B,SAAS;IACT,WAAW;IACX,QAAQ;;AAEL,MAAM,iBAAiB,GAAG;IAC7B,MAAM;IACN,SAAS;IACT,SAAS;IACT,OAAO;;;ACzBL,SAAU,WAAW,CAAC,WAAgB,EAAE,YAAmB,EAAA;AAC/D,IAAA,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AAChC,QAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC9D,YAAA,MAAM,CAAC,cAAc,CACnB,WAAW,CAAC,SAAS,EACrB,IAAI,EACJ,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACvD,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CACtB;AACH,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC,CAAC;AACJ;;ACMO,MAAM,SAAS,GAAG;IACrB,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ;;;ACvBG,MAAM,sBAAsB,GAAG;AAC/B,MAAM,cAAc,GAAC;AACrB,MAAM,eAAe,GAAG;AAEzB,SAAU,YAAY,CAAC,IAAY,EAAE,SAAuB,EAAA;AAC9D,IAAA,OAAO,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;AAClD;SACgB,gBAAgB,GAAA;AAC9B,IAAA,OAAO,OAAO,QAAQ,KAAK,WAAW;AACxC;SACgB,eAAe,GAAA;AAC7B,IAAA,OAAO,OAAO,QAAQ,KAAG,WAAW;AACtC;AAGM,SAAU,YAAY,CAAQ,IAAuB,EAAE,IAAuB,EAAA;IAClF,IAAI,IAAI,KAAK,IAAI;AAAE,QAAA,OAAO,IAAI;AAC9B,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,KAAK;IAEhC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAE/B,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;AAAE,QAAA,OAAO,KAAK;AAE/C,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,KAAK;IAC3C;AAEA,IAAA,OAAO,IAAI;AACb;AACM,SAAU,SAAS,CAAU,CAAI,EAAE,CAAI,EAAA;IAC3C,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,IAAI;;IAGxB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC1E,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QACnC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;AACvC,QAAA,OAAO,KAAK;IACd;;IAGA,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE;QAC1C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;IACpC;;IAGA,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,MAAM,EAAE;QAC9C,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE;IACtC;;AAGA,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAAE,QAAA,OAAO,KAAK;IAEvD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC;AAEtC,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;AAAE,QAAA,OAAO,KAAK;AAE/C,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,KAAK;AACtC,QAAA,IAAI,CAAC,SAAS,CAAE,CAAS,CAAC,GAAG,CAAC,EAAG,CAAS,CAAC,GAAG,CAAC,CAAC;AAAE,YAAA,OAAO,KAAK;IAChE;AAEA,IAAA,OAAO,IAAI;AACb;AACM,SAAU,gBAAgB,CAAC,IAAY,EAAA;AACzC,IAAA,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC,CAAC,IAAI,EAAE;AACxF;;MC5Da,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,iOCZ3B,u+BAmCM,EAAA,MAAA,EAAA,CAAA,klTAAA,CAAA,EAAA,CAAA;;2FDvBO,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,IAAA,EAGvB;AACH,wBAAA,WAAW,EAAC,MAAM;AAClB,wBAAA,KAAK,EAAC,cAAc;AACrB,qBAAA,EAAA,QAAA,EAAA,u+BAAA,EAAA,MAAA,EAAA,CAAA,klTAAA,CAAA,EAAA;;;MEsBU,SAAS,CAAA;;AAGpB;;AAEG;AACgB,IAAA,MAAM,GAAG,MAAM,CAAc,SAAS,kDAAC;AAC1D;;AAEG;AACgB,IAAA,KAAK,GAAG,MAAM,CAAU,IAAI,iDAAC;AAChD;;AAEG;AACiB,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AACtD;;AAEG;AACgB,IAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,oDAAC;AACpD;;AAEG;AACgB,IAAA,WAAW,GAAG,MAAM,CAAqC,IAAI,uDAAC;AACjF;;AAEG;AACgB,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AACrD;;AAEG;AACc,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AAChD;;AAEG;AACgB,IAAA,KAAK,GAAG,MAAM,CAAgC,QAAQ,iDAAC;AAC1E;;AAEG;AACgB,IAAA,mBAAmB,GAAG,MAAM,CAA6B,IAAI,+DAAC;AACjF;;AAEG;AACgB,IAAA,MAAM,GAAC,MAAM,CAAS,EAAE,kDAAC;IAC5C,IAAoB,KAAK,CAAC,KAAY,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;;;;;;;;AAUA,IAAA,IAAoB,KAAK,CAAC,KAAkB,EAAA,EAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;;AAEvE;;AAEG;AACH,IAAA,IAAoB,IAAI,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;;AACjE;;AAEG;AACH,IAAA,IAAoB,QAAQ,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;;AACzE;;AAEC;AACD,IAAA,IAAoB,OAAO,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;;AACvE;;AAEG;IACH,IAAoB,UAAU,CAAC,KAAyC,EAAA;AACtE,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AACA;;AAEG;IACH,IAAoB,QAAQ,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;;AACA;;AAEC;IACD,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;;AACA;;AAEC;IACD,IAAoB,IAAI,CAAC,KAAoC,EAAA;AAC3D,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;;AAEA;;AAEG;IACH,IAAoB,kBAAkB,CAAC,KAAiC,EAAA;AACtE,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC;;;AAEA;;AAEG;AACO,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAS;;AAE9C;;AAEG;AACO,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC1H,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,KAAK,EAAE,IAAI;YACX,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAG,IAAI;YAC9B,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,IAAI;YAC7B,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnD,YAAA,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE;YAC/B,CAAC,qBAAqB,GAAE,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;SAC5D;AACD,QAAA,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,eAAe,EAAE;AAClD,IAAA,CAAC,2DAAC;AAEF,IAAA,WAAW,CAAC,KAAY,EAAA;QACtB,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACvC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;uGApIW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,ocChCtB,y+CAmCc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhBF,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,oOAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAazC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAfrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAEtC,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,IAAA,EAEV;AACJ,wBAAA,IAAI,EAAC,QAAQ;AACb,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,SAAS,EAAC;AACX,qBAAA,EAAA,QAAA,EAAA,y+CAAA,EAAA;;sBA8CA;;sBAeA;;sBAKA;;sBAIA;;sBAIA;;sBAIA;;sBAMA;;sBAMA;;sBAMA;;sBAOA;;sBAOA;;;SEzIa,UAAU,CAAI,YAAe,EAAE,QAAQ,GAAG,KAAK,EAAA;AAC7D,IAAA,MAAM,SAAS,GAAG,MAAM,CAAI,YAAY,qDAAC;AACzC,IAAA,MAAM,OAAO,GAAG,IAAI,YAAY,EAAK;IACrC,IAAI,QAAQ,EAAE;QACZ,IAAI,WAAW,GAAG,KAAK;QACvB,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,KAAK,GAAG,SAAS,EAAE;YACzB,IAAI,CAAC,WAAW,EAAE;gBAChB,WAAW,GAAG,IAAI;gBAClB;YACF;AACA,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACrB,QAAA,CAAC,CAAC;IACJ;IACA,OAAO;AACL,QAAA,GAAG,EAAE,SAAS;QACd,OAAO;AACP,QAAA,GAAG,EAAE,MAAM,SAAS,EAAE;AACtB,QAAA,GAAG,EAAE,CAAC,CAAI,KAAI;AACZ,YAAA,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;AACD,QAAA,MAAM,EAAE,CAAC,QAAuB,KAAI;AAClC,YAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,CAAC;KACF;AACH;;MCDa,WAAW,CAAA;;AAEZ,IAAA,MAAM,GAAG,UAAU,CAAU,IAAI,EAAC,IAAI,CAAC;AACvC,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,IAAA,MAAM,GAAG,MAAM,CAAmD,SAAS,kDAAC;AAC5E,IAAA,KAAK,GAAG,MAAM,CAAyB,IAAI,iDAAC;AAC5C,IAAA,UAAU,GAAG,MAAM,CAAwB,UAAU,sDAAC;AACtD,IAAA,GAAG,GAAG,MAAM,CAAS,EAAE,+CAAC;AACxB,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;;;;AAIjC,IAAA,QAAQ,GAAyB,QAAO,OAAM,CAAC,CAAC;AAChD,IAAA,SAAS,GAAe,QAAO,OAAM,CAAC,CAAC;;AAI/C;;;;AAIG;IACH,IAAoB,KAAK,CAAC,KAAc,EAAA;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAI,KAAK,CAAC;IAC/B;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;IAC1B;AACA;;;;;AAKG;IACH,IAAoB,QAAQ,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AACA;;;;AAIG;IACH,IAAoB,KAAK,CAAC,KAAuD,EAAA;AAC/E,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA;;;;AAIC;IACD,IAAoB,IAAI,CAAC,KAA6B,EAAA;AACpD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA;;;;;;AAMC;IACD,IAAoB,SAAS,CAAC,KAA4B,EAAA;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;IACA,IAAoB,EAAE,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACrB;IACA,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;;;AAGiB,IAAA,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;;;AAKlD;;;;AAIG;AACI,IAAA,UAAU,CAAC,GAAQ,EAAA;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1B;AAEO,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEO,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEO,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC;IAC9B;AACO,IAAA,OAAO,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9B;IACO,MAAM,GAAA;QACX,IAAI,CAAC,SAAS,EAAE;IAClB;;AAIU,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QAC1C,OAAO;YACL,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,CAAE,GAAG,IAAI;AAC9B,YAAA,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE;AAC9B,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,GAAA,CAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI;AAClD,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,GAAA,CAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI;AAClD,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,GAAA,CAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI;AAClD,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,GAAA,CAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI;AAClD,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,QAAA,CAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS;AAC7D,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,UAAA,CAAY,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,WAAW;AACjE,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,OAAA,CAAS,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ;AAC3D,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,KAAA,CAAO,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,MAAM;AACvD,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,QAAA,CAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS;AAC7D,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,MAAA,CAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,OAAO;AACzD,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,QAAA,CAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS;AAC7D,YAAA,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,QAAA,CAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS;SAC9D;AACH,IAAA,CAAC,6DAAC;uGA5HS,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAVX;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,WAAW,CAAC;AAC1C,gBAAA,KAAK,EAAE;AACR;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBH,4iBAiBA,2CDOY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAlBvB,SAAS;+BACE,cAAc,EAAA,UAAA,EAEZ,IAAI,EAAA,IAAA,EACV;AACJ,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,KAAK,EAAE;qBACR,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC;AAC1C,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,4iBAAA,EAAA;;sBAwBtB;;sBAYA;;sBAQA;;sBAQA;;sBAUA;;sBAGA;;sBAGA;;sBAKA;;;ME5EU,gBAAgB,CAAA;;;;AAKjB,IAAA,KAAK,GAAC,MAAM,CAA0B,gBAAgB,iDAAC;AACjE,IAAA,IAAoB,IAAI,CAAC,KAA8B,EAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;;IAClF,IAAI,IAAI,KAA8B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;;AAE3D,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;AACA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;AACA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;AACA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;IAEA,QAAQ,GAAA;IACR;uGAvBW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0FAAA,EAAA,EAAA,SAAA,EAdjB;AACR,YAAA;AACE,gBAAA,OAAO,EAAC,iBAAiB;AACzB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAI,gBAAgB,CAAC;AAC7C,gBAAA,KAAK,EAAC,IAAI;AACX;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbH,sEAA8D,EAAA,CAAA;;2FDqBjD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAjB5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,SAAA,EAErB;AACR,wBAAA;AACE,4BAAA,OAAO,EAAC,iBAAiB;AACzB,4BAAA,WAAW,EAAE,UAAU,CAAC,sBAAoB,CAAC;AAC7C,4BAAA,KAAK,EAAC,IAAI;AACX;qBACF,EAAA,IAAA,EACI;wBACH,KAAK,EAAC,CAAA,EAAG,cAAc,CAAA,IAAA;AACxB,qBAAA,EAAA,OAAA,EACO,EAEP,EAAA,QAAA,EAAA,sEAAA,EAAA;;sBAQA;;;MEfU,gBAAgB,CAAA;AAC3B;;AAEG;AACK,IAAA,cAAc,GAAG,IAAI,eAAe,CAAmB,EAAE,CAAC;AAGlE;;;AAGG;AACI,IAAA,cAAc,CAAC,WAA2B,EAAA;AAC/C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;AACxC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;AACtE,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;;AAEhB,YAAA,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC;AACjC,YAAA,aAAa,CAAC,KAAK,CAAC,GAAG,WAAW;AAClC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC;aAAO;;AAEL,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,CAAC;QACpD;IACF;AACA;;;AAGG;AACI,IAAA,gBAAgB,CAAC,EAAU,EAAA;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAC7D;IACH;AACA;;;;AAIG;AACI,IAAA,eAAe,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI;;QAE5C,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7C;IACH;AACA;;;;AAIG;AACI,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACzD;AACA;;;AAGG;AACI,IAAA,iBAAiB,CAAC,WAA2B,EAAA;AAClD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAClC,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CACtE,CACF;IACH;AACA;;;AAGG;AACI,IAAA,MAAM,CAAC,EAAS,EAAA;QACrB,MAAM,KAAK,GAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAE,EAAC,GAAG,KAAK,EAAC,KAAK,EAAC,KAAK,EAAE,KAAK,IAAE,MAAM,GAAC,OAAO,GAAC,MAAM,EAAoB,CAAC;IAClG;uGAtEW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACJM,MAAM,4BAA4B,GAAqB;AAC5D,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,IAAI;;MAGA,eAAe,GAAG,IAAI,cAAc,CAC/C,iBAAiB,EACjB;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,4BAA4B;AAC5C,CAAA;MAQU,gBAAgB,CAAA;AACnB,IAAA,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC;IACrC,YAAY,GAAG,IAAI,eAAe,CAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;AACvE,IAAA,eAAe;AAEvB,IAAA,WAAA,GAAA;QACE,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;AACnC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,MAAK;YAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC9C,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACxD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChE;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK;IAChC;IAEQ,aAAa,GAAA;QACnB,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,YAAA,OAAO,IAAI;AAC9C,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAC/B,QAAA,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW;QAE1F,IAAI,KAAK,GAAG,EAAE;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,KAAK,GAAG,EAAE;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,KAAK,GAAG,EAAE;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,KAAK,GAAG,EAAE;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,KAAK,GAAG,GAAG;AAAE,YAAA,OAAO,IAAI;AAC5B,QAAA,OAAO,KAAK;IACd;uGAhCW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACvBM,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAU,MAAM,KAAK;MAKxD,iBAAiB,CAAA;AACpB,IAAA,WAAW,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC;AACpD,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAG,KAAK,GAAC,CAAC,CAAC,CAAC;IACrD;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,GAAC,CAAC;IACjC;IACO,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAC,CAAC,CAAC;IACjD;IACO,aAAa,GAAA;AAClB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;AACtC,QAAA,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACpC;IACF;uGAhBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCIY,aAAa,CAAA;AAGL,IAAA,UAAA;AAFX,IAAA,YAAY,GAAG,IAAI,eAAe,CAAc,IAAI,CAAC;AAC7C,IAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAC9D,IAAA,WAAA,CAAmB,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;IAAe;AAE5C,IAAA,KAAK,CAAC,WAAe,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;IACrC;AACD;MAKY,gBAAgB,GAAG,IAAI,cAAc,CAChD,kBAAkB,EAClB;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,IAAI;AACpB,CAAA;MAGU,2BAA2B,GACtC,IAAI,cAAc,CAAmB,6BAA6B,EAAE;AAClE,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;AACZ,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO;AACL,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAChD,YAAA,oBAAoB,EAAE,IAAI;SACoB;IAClD,CAAC;AACF,CAAA;MAKU,iBAAiB,CAAA;AACX,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,aAAa,GAAG,MAAM,CAAC,2BAA2B,CAAC;AACnD,IAAA,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAE1D,IAAA,MAAM,CACX,SAAoC,EACpC,IAAsB,EACtB,MAAkC,EAAA;;AAGlC,QAAA,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,CAAC,aAAa;AACrB,YAAA,GAAG,MAAM;SACU;;AAErB,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;AACjC,YAAA,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACjC,iBAAA,MAAM;AACN,iBAAA,kBAAkB;AAClB,iBAAA,gBAAgB,EAAE;QACvB;;AAGA,QAAA,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;;AAG7E,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC9C,gBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC9C,aAAA;AACF,SAAA,CAAC;;QAEF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;AACtE,QAAA,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;;AAG3C,QAAA,IAAI,WAAW,CAAC,oBAAoB,EAAE;YACpC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAK;gBACjD,QAAQ,CAAC,KAAK,EAAE;AAClB,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,OAAO,QAAQ;IACjB;uGA7CW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACjDM,MAAM,gCAAgC,GAAqC;AAChF,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,MAAM,EAAE,OAAO;;MAEJ,wBAAwB,GAAG,IAAI,cAAc,CAAgC,0BAA0B,EAAC;AACnH,IAAA,UAAU,EAAC,MAAM;AACjB,IAAA,OAAO,EAAC,MAAK,gCAAgC;AAC9C,CAAA;AAED;;AAEG;MACU,uBAAuB,GAAG,IAAI,cAAc,CAAS,yBAAyB,EAAE;AAC3F,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM;AAChB,CAAA;AACD;;AAEG;MACU,sBAAsB,GAAG,IAAI,cAAc,CAAS,wBAAwB,EAAE;AACzF,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM;AAChB,CAAA;AACD;;;;AAIG;MACU,qBAAqB,GAAG,IAAI,cAAc,CAAU,0BAA0B,EAAE;AAC3F,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM;AAChB,CAAA;AAGD;;;;AAIG;MACU,gBAAgB,GAAG,IAAI,cAAc,CAAmB,kBAAkB,EAAE;AACvF,IAAA,UAAU,EAAC,MAAM;AACjB,IAAA,OAAO,EAAE,MAAM,MAAK;AAClB,QAAA,IAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE;AAChC,YAAA,OAAO,MAAM,CAAC,sBAAsB,CAAC;QACvC;AACA,QAAA,OAAO,MAAM,CAAC,uBAAuB,CAAC;IACxC,CAAC;AACF,CAAA;AACD;;;;AAIG;MACU,gBAAgB,GAAG,IAAI,cAAc,CAA2B,kBAAkB,EAAE;AAC/F,IAAA,UAAU,EAAC,MAAM;AACjB,IAAA,OAAO,EAAE,MAAM,CAAC,SAAgB,KAAG;AACjC,QAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,SAAS,CAAA,+BAAA,CAAiC,CAAC;IACzF;AACD,CAAA;MAIY,eAAe,CAAA;AAElB,IAAA,kBAAkB,GAAW,MAAM,CAAC,uBAAuB,CAAC;AAC5D,IAAA,iBAAiB,GAAW,MAAM,CAAC,sBAAsB,CAAC;AAC1D,IAAA,gBAAgB,GAAY,MAAM,CAAC,qBAAqB,CAAC;AACzD,IAAA,mBAAmB,GAAkC,MAAM,CAAC,wBAAwB,CAAC;AACrF,IAAA,cAAc,GAAqB,MAAM,CAAC,gBAAgB,CAAC;AAC3D,IAAA,cAAc,GAA+B,MAAM,CAAC,gBAAgB,CAAC;IACrE,aAAa,GAAkB,IAAI;AAC3C,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAW,YAAY,CAAC,KAAoB,EAAA;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAG,KAAK;AACR,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3D;AACQ,IAAA,mBAAmB,GAAG,IAAI,eAAe,CAAiB,MAAM,CAAC;IACzE,IAAY,kBAAkB,GAAA,EAA8B,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAA,CAAA;;IACnG,QAAQ,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;AACQ,IAAA,cAAc,CAAC,SAAgB,EAAA;AACrC,QAAA,IAAG,SAAS;AACV,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC5C,OAAO,IAAI,CAAC,gBAAgB,GAAC,MAAM,GAAC,OAAO;IAC7C;AAEO,IAAA,QAAQ,CAAC,KAAa,EAAA;QAC3B,IAAG,CAAC,gBAAgB,EAAE;YAAE;AACxB,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACzD,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK;YAAE;AAClC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC;AAC1D,QAAA,IAAG,IAAI,CAAC,cAAc,EAAC;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC;IACF;AAEA,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,gBAAgB,EAAE;IAEzB;AACQ,IAAA,MAAM,gBAAgB,GAAA;QAC5B,IAAG,OAAO,QAAQ,KAAK,WAAW;YAAE;;QAEpC,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC;;QAElE,IAAI,CAAC,SAAS,EAAE;AACf,YAAA,IAAG;;gBAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;;gBAEjE,IAAG,CAAC,WAAW,EAAE;AACf,oBAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;gBAC5D;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5B;AAAC,YAAA,MAAM;;AAEL,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB;AACzF,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzB;QACF;aAAK;;AAEH,YAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1B;IAEJ;IACQ,MAAM,aAAa,CAAC,MAAwB,EAAA;AAClD,QAAA,IAAG,YAAY,CAAC,MAAM,CAAC,EAAE;AACvB,YAAA,OAAO,MAAM,cAAc,CAAS,MAA4B,CAAC;QACnE;AAAM,aAAA,IAAI,MAAM,YAAY,OAAO,EAAE;YACnC,OAAO,MAAM,MAAM;QACrB;aACI;YACF,OAAO,MAAM,EAAY;QAC3B;IACF;uGA7EW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCpEY,yBAAyB,GAAG,IAAI,cAAc,CACzD,2BAA2B,EAC3B;AACE,IAAA,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,MAAK;QACZ,OAAO;AACL,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,SAAS,EAAE,cAAc;AACzB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,SAAS,EAAE,MAAM;AACjB;;;;;AAKG;AACH,YAAA,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;SACP;IACrB,CAAC;AACF,CAAA;MAKU,eAAe,CAAA;AAClB,IAAA,OAAO,KAAK,GAAG,CAAC;AAChB,IAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,IAAA,kBAAkB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACtD,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,IAAI,CACF,KAAa,EACb,OAAe,EACf,KAAqB,EACrB,QAAQ,GAAC,IAAI,EACb,MAAgC,EAAA;QAEhC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,MAAM,EAAE;QAE3D,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;QACvD,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACvC,YAAA,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA,EAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;QACrE;QACA,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC1C,YAAA,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA,EAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;QACxE;QACA,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzC,YAAA,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA,EAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;QACvE;QACA,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxC,YAAA,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA,EAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;QACtE;QACA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CACpC,MAAM,EAAE,SAAS,IAAI,QAAQ,EAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAC1C;AACE,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,gBAAgB,EAAE,gBAAgB;YAClC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;AACvB,SAAA,CACF;QACD,eAAe,CAAC,KAAK,EAAE;AAEvB,QAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;YAC7B,eAAe,CAAC,KAAK,EAAE;YACvB,GAAG,CAAC,KAAK,EAAE;AACb,QAAA,CAAC,CAAC;IACJ;uGA9CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACjDD;AACA;AACA;AACA;AACA;AACA;AAUA;AACO,MAAM,cAAc,GAAG,mBAAmB,CAC/C,MAAA;AAAQ,CAAA;AAaV;AACA;AACA;AACA;AACA;AACA;AAEA;AACM,SAAU,mBAAmB,CAGjC,IAAW,EAAA;IACX,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,UAAU,GAAG,MAAM,CAAuB,aAAa,CAAC;AACxD,QAAA,WAAW,GAAG,MAAM,CAAQ,gBAAgB,CAAC;KAC9C;AACH;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AC1EO,MAAM,aAAa,GAAG,kBAAkB,CAAiB,MAAA;AAAQ,CAAA;AAElE,SAAU,kBAAkB,CAA+B,IAAW,EAAA;IAC1E,OAAO,cAAc,IAAI,CAAA;;AAEvB,QAAA,UAAU,GAAG,MAAM,CAAsB,IAAI,sDAAC;;AAErC,QAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AACxC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;YACjC,IAAI,GAAG,GAA4B,EAAE;AAErC,YAAA,IAAI,CAAC,OAAO;AAAE,gBAAA,OAAO,EAAE;AAEvB,YAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,gBAAA,GAAG,GAAG;qBACH,KAAK,CAAC,KAAK;qBACX,MAAM,CAAC,OAAO;qBACd,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD;AAAO,iBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACtC,GAAG,GAAG,OAAO;YACf;iBAAO;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC;YACzD;AACA,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,4DAAC;KACH;AACH;AAEM,SAAU,oBAAoB,CAA+B,IAAW,EAAA;IAC5E,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,YAAY,GAAG,MAAM,CAAoB,EAAE,wDAAC;AAC5C,QAAA,kBAAkB,GAAG,QAAQ,CAA0B,MAAK;AAC1D,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,GAAG,GAA4B,EAAE;AACrC,YAAA,IAAG,CAAC,OAAO;AAAE,gBAAA,OAAO,EAAE;AACtB,YAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;AAE/B,gBAAA,GAAG,GAAG;qBACH,KAAK,CAAC,KAAK;qBACX,MAAM,CAAC,OAAO;qBACd,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD;AAAO,iBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACtC,GAAG,GAAG,OAAO;YACf;iBAAO;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC;YACzD;AACA,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,8DAAC;KACH;AACH;AAEM,SAAU,kBAAkB,CAA+B,IAAW,EAAA;IAC1E,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,UAAU,GAAG,MAAM,CAAoB,EAAE,sDAAC;AAC1C,QAAA,gBAAgB,GAAG,QAAQ,CAA0B,MAAK;AACxD,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;YACjC,IAAI,GAAG,GAA4B,EAAE;AACrC,YAAA,IAAG,CAAC,OAAO;AAAE,gBAAA,OAAO,EAAE;AACtB,YAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;AAE/B,gBAAA,GAAG,GAAG;qBACH,KAAK,CAAC,KAAK;qBACX,MAAM,CAAC,OAAO;qBACd,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD;AAAO,iBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACtC,GAAG,GAAG,OAAO;YACf;iBAAO;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC;YACzD;AACA,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,4DAAC;KACH;AACH;AAEM,SAAU,oBAAoB,CAA+B,IAAW,EAAA;IAC5E,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,YAAY,GAAG,MAAM,CAAoB,EAAE,wDAAC;AAC5C,QAAA,kBAAkB,GAAG,QAAQ,CAA0B,MAAK;AAC1D,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,GAAG,GAA4B,EAAE;AACrC,YAAA,IAAG,CAAC,OAAO;AAAE,gBAAA,OAAO,EAAE;AACtB,YAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;AAE/B,gBAAA,GAAG,GAAG;qBACH,KAAK,CAAC,KAAK;qBACX,MAAM,CAAC,OAAO;qBACd,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD;AAAO,iBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACtC,GAAG,GAAG,OAAO;YACf;iBAAO;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC;YACzD;AACA,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,8DAAC;KACH;AACH;;AC1EA;AACA,SAAS,mBAAmB,CAAI,GAAQ,EAAA;AACtC,IAAA,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG;AAC3E;AAQM,MAAO,WAAqB,SAAQ,kBAAkB,CAAC,MAAA;CAAQ,CAAC,CAAA;;AAE1D,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,mDAAC;AAChC,IAAA,MAAM,GAAG,MAAM,CAAS,EAAE,kDAAC;AAC3B,IAAA,QAAQ,GAAG,MAAM,CAAkC,EAAE,oDAAC;AACtD,IAAA,kBAAkB,GAAG,MAAM,CAA6B,IAAI,8DAAC;AAC7D,IAAA,gBAAgB,GACxB,MAAM,CAA4C,IAAI,4DAAC;AAC/C,IAAA,MAAM,GAAG,UAAU,CAA+B,IAAI,EAAE,IAAI,CAAC;;;IAGvE,IAAoB,MAAM,CAAC,KAAc,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB;AACA,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;IACA,IAAoB,KAAK,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IACA,IAAoB,OAAO,CAAC,KAAsC,EAAA;AAChE,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;IACA,IAAoB,iBAAiB,CAAC,KAAiC,EAAA;AACrE,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC;AACA,IAAA,IAAW,iBAAiB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;IAClC;IACA,IAAoB,eAAe,CACjC,KAAgD,EAAA;AAEhD,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;IAClC;AACA,IAAA,IAAW,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;IAChC;IACA,IAAoB,SAAS,CAAC,KAA0B,EAAA;AACtD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IAEA,IAAoB,KAAK,CAAC,KAAuC,EAAA;AAC/D,QAAA,IAAI,mBAAmB,CAAI,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB;aAAO;YACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACzE;IACF;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;IAC1B;AACiB,IAAA,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;;AAE3C,IAAA,aAAa,CAAC,KAAQ,EAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;QAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAmC,KAAI;AACjE,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAC3B,OAAO,GAAG,KAAK,KAAK;YACtB;AAEA,YAAA,OAAO,GAAG,CAAC,KAAK,KAAK,KAAK;AAC5B,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,KAAK;YAAE;AAEZ,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACd,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE,KAAiB;AACzB,aAAA,CAAC;YACF;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACO,IAAA,UAAU,CAAC,YAA2C,EAAA;AAC3D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;;IAE/B;IACU,kBAAkB,GAAG,QAAQ,CAAC,MACxC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,IACtB,OAAO,IAAI,KAAK;UACZ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;AAC5B,UAAE,IAAI,CACT,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACF;uGA/FY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,8TCpCxB,0gDAgCM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAM,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,8MAAE,MAAM,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAC1B,CAAC,YAAY,CAAC,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGhE,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;+BACE,cAAc,EAAA,OAAA,EAEf,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,EAAA,aAAA,EAC3B,CAAC,YAAY,CAAC,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAA,aAAA,EAC5D,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0gDAAA,EAAA;;sBAapC;;sBAMA;;sBAMA;;sBAMA;;sBAMA;;sBAQA;;sBAOA;;sBAUA;;;ME3EU,YAAY,CAAA;;AAEb,IAAA,UAAU,GAAE,MAAM,CAAU,KAAK,sDAAC;AAClC,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,IAAA,MAAM,GAAG,MAAM,CAA+C,SAAS,kDAAC;AACxE,IAAA,KAAK,GAAG,MAAM,CAAwB,IAAI,iDAAC;AAC3C,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AAC/B,IAAA,MAAM,GAAG,UAAU,CAAqB,IAAI,EAAC,IAAI,CAAC;;;IAI5D,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;IACA,IAAoB,QAAQ,CAAC,KAAa,EAAA;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;IACA,IAAoB,KAAK,CAAC,KAAkD,EAAA;AAC1E,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;IACA,IAAoB,IAAI,CAAC,KAA2B,EAAA;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;IACA,IAAoB,SAAS,CAAC,KAAY,EAAA;AACxC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;IACA,IAAoB,KAAK,CAAC,KAAwB,EAAA;AAChD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACiB,IAAA,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;;;AAI1C,IAAA,QAAQ,GAAuC,QAAO,OAAM,CAAA,CAAC;AAC7D,IAAA,SAAS,GAAe,QAAO,OAAM,CAAA,CAAC;;;AAIpC,IAAA,sBAAsB,GAAC,QAAQ,CAAC,OAAK;QAC7C,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAE,IAAI;QACnC,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAE,IAAI;AACrC,KAAA,CAAC,kEAAC;;;AAMH,IAAA,UAAU,CAAC,GAAa,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IACtB;AACA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAC,EAAE;IAClB;AACA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAC,EAAE;IACnB;AACA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC;AACA,IAAA,cAAc,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE;IAClB;uGAhEW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gDAAA,EAAA,EAAA,SAAA,EATb;AACR,YAAA;AACE,gBAAA,OAAO,EAAC,iBAAiB;AACzB,gBAAA,WAAW,EAAC,UAAU,CAAC,MAAI,YAAY,CAAC;AACxC,gBAAA,KAAK,EAAC,IAAI;AACX;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBH,wNASA,2CDUW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAEV,YAAY,EAAA,UAAA,EAAA,CAAA;kBAfxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,IAAA,EAErB;wBACH,KAAK,EAAC,CAAA,EAAG,eAAe,CAAA,IAAA,CAAM;qBAC/B,EAAA,SAAA,EACS;AACR,wBAAA;AACE,4BAAA,OAAO,EAAC,iBAAiB;AACzB,4BAAA,WAAW,EAAC,UAAU,CAAC,kBAAgB,CAAC;AACxC,4BAAA,KAAK,EAAC,IAAI;AACX;qBACF,EAAA,OAAA,EACO,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wNAAA,EAAA;;sBAarB;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;;MEnCU,QAAQ,CAAA;;AAET,IAAA,GAAG,GAAG,MAAM,CAAS,EAAE,+CAAC;AAClC,IAAA,IAAoB,EAAE,CAAC,KAAa,EAAA,EAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAW,EAAE,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAE3B,IAAA,KAAK,GAAG,MAAM,CAAS,EAAE,iDAAC;AACpC,IAAA,IAAoB,IAAI,CAAC,KAAa,EAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAE/B,IAAA,MAAM,GAAG,MAAM,CAAc,IAAI,kDAAC;AAC5C,IAAA,IAAoB,KAAK,CAAC,KAAkB,EAAA,EAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,IAAW,KAAK,KAAkB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAE9C,IAAA,QAAQ,GAAG,UAAU,CAAU,KAAK,EAAE,IAAI,CAAC;AACrD,IAAA,IAAoB,OAAO,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,IAAW,OAAO,GAAA,EAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAEzC,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAC5C,IAAA,IAAoB,QAAQ,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAEvC,IAAA,MAAM,GAAG,MAAM,CAAmD,SAAS,kDAAC;AACtF,IAAA,IAAoB,KAAK,CAAC,KAAuD,EAAA,EAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnG,IAAA,KAAK,GAAG,MAAM,CAAyB,IAAI,iDAAC;AACtD,IAAA,IAAoB,IAAI,CAAC,KAA6B,EAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvE,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AACzC,IAAA,IAAoB,SAAS,CAAC,KAAa,EAAA,EAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;;AAG3C,IAAA,oBAAoB,GAAG,MAAM,CAAC,MAAI;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;QACnC,IAAG,OAAO,EAAC;AACT,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QACtB;AACF,IAAA,CAAC,gEAAC;AACe,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ;AACnC,IAAA,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;;;AAI5C,IAAA,iBAAiB,GAAG,QAAQ,CAAC,OAAO;QAC5C,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAG,IAAI;QAChC,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,IAAI;AAC/B,QAAA,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;AAC5B,QAAA,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;AAC7B,KAAA,CAAC,6DAAC;;;;AAKH,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;;IAGA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;;AAErB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB;IACF;AACA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC;;AAEA,IAAA,cAAc,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACzC;uGAzEW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfrB,0mBAgBM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEX,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,cAET,IAAI,EAAA,aAAA,EACF,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC9B;AACJ,wBAAA,KAAK,EAAE;qBACR,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,0mBAAA,EAAA;;sBAKtB;;sBAIA;;sBAIA;;sBAIA;;sBAIA;;sBAIA;;sBAGA;;sBAGA;;sBAUA;;sBACA;;;ME9BU,aAAa,CAAA;IAGd,UAAU,GAAG,eAAe,CAAC,QAAQ,uDAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAC7D,IAAA,cAAc,GAAG,UAAU,CAAc,IAAI,EAAE,IAAI,CAAC;AAE9D,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;IAClC;IACA,IAAa,aAAa,CAAC,KAAkB,EAAA;AAC3C,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE;IAClB;AACU,IAAA,KAAK,GAAG,MAAM,CAAS,EAAE,iDAAC;IACpC,IAAoB,IAAI,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAC5D;AACA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IAEQ,QAAQ,GAAiC,MAAK;QACpD;AACF,IAAA,CAAC;IACO,SAAS,GAAe,MAAK;QACnC;AACF,IAAA,CAAC;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAClC,YAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACtB,YAAA,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK;AACpC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB;AAEA,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1E;;IAGQ,YAAY,GAAA;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,KAAI;YACnC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;AACzC,QAAA,CAAC,CAAC;IACJ;uGAhEW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EARb;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAKsC,QAAQ,gEAZrC,CAAA,qCAAA,CAAuC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAStC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAAA,qCAAA,CAAuC;AACjD,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,mBAAmB,CAAC;AAC5C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;AAIwC,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,QAAQ,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA;sBAMrE;;sBAOA;;;MCpBU,QAAQ,CAAA;AAET,IAAA,IAAI,GAAG,MAAM,CAAS,CAAC,gDAAC;AAClC,IAAA,IAAoB,GAAG,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;IAC1D,IAAW,GAAG,KAAU,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA,CAAA;;AAEhC,IAAA,IAAI,GAAG,MAAM,CAAS,GAAG,gDAAC;IACpC,IAAoB,GAAG,CAAC,KAAY,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACtB;AACA,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;IACpB;AACU,IAAA,KAAK,GAAC,MAAM,CAAS,CAAC,iDAAC;AACjC,IAAA,IAAoB,IAAI,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;IAC5D,IAAW,IAAI,KAAU,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA,CAAA;AAElC,IAAA,MAAM,GAAG,UAAU,CAAS,CAAC,EAAC,IAAI,CAAC;AAC7C,IAAA,IAAoB,KAAK,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;IAC9D,IAAW,KAAK,GAAA,EAAW,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA,CAAA;AAElC,IAAA,WAAW,GAAC,IAAI,CAAC,MAAM,CAAC,OAAO;AAEtC,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAC5C,IAAA,IAAoB,QAAQ,CAAC,KAAa,EAAA,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;IACrE,IAAW,QAAQ,KAAW,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA,CAAA;AAG3C,IAAA,KAAK,GAAG,MAAM,CAAwB,IAAI,iDAAC;AACrD,IAAA,IAAmB,IAAI,CAAC,IAA0B,EAAA,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AACxE,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AAGU,IAAA,MAAM,GAAG,MAAM,CAA+C,SAAS,kDAAC;AAClF,IAAA,IAAoB,KAAK,CAAC,KAAkD,EAAA,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACpG,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;AACU,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AACzC,IAAA,IAAa,SAAS,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;IAC/D,IAAW,SAAS,KAAU,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA,CAAA;AAC5C,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAI;AACzC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1H,OAAO;AACL,YAAA,OAAO,EAAC,IAAI;YACZ,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAE,IAAI;YAC9B,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAE,IAAI;AAC/B,YAAA,GAAG,eAAe;SACQ;AAC9B,IAAA,CAAC,6DAAC;AACM,IAAA,QAAQ,GAAyB,QAAO,OAAM,CAAA,CAAC;AAC/C,IAAA,SAAS,GAAe,QAAO,OAAM,CAAA,CAAC;AAE9C,IAAA,UAAU,CAAC,GAAQ,EAAA;QACjB,IAAG,GAAG,IAAG,IAAI;YAAE;AACf,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC7B,IAAI,KAAK,CAAC,KAAK,CAAC;AAAE,YAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC;AAC1D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAC,EAAE;IAClB;AACA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAC,EAAE;IACnB;AACA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAC,UAAU;IAC1B;AAGA,IAAA,aAAa,CAAC,MAAa,EAAA;AACzB,QAAA,MAAM,OAAO,GAAI,MAAM,CAAC,MAA2B;QACnD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AACtC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE;IAClB;uGA7EW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,SAAA,EATT;AACR,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBH,yYAcmC,2CDKvB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAEX,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAfpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,IAAA,EAEhB;AACH,wBAAA,KAAK,EAAC,cAAc;qBACrB,EAAA,SAAA,EACS;AACR,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ;qBACF,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yYAAA,EAAA;;sBAKtB;;sBAIA;;sBAOA;;sBAIA;;sBAGA;;sBAGA;;sBAKA;;sBAOA;;sBAKA;;;MExCU,SAAS,CAAA;;;;AAKpB;;AAEG;AACO,IAAA,GAAG,GAAG,MAAM,CAAS,EAAE,+CAAC;AAClC;;AAEG;IACH,IAAoB,EAAE,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACrB;AACA;;AAEG;IACH,IAAW,EAAE,KAAU,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA;;AAG9B,IAAA,kBAAkB,GAAG,MAAM,CAA0C,IAAI,8DAAC;IACpF,IAAoB,iBAAiB,CAAC,KAAoC,EAAA;AACxE,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC;IACA,IAAW,iBAAiB,KAAwC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAA,CAAA;;AAE1F,IAAA,MAAM,GAAG,UAAU,CAAc,IAAI,EAAC,IAAI,CAAC;IACrD,IAAoB,QAAQ,CAAC,KAAkB,EAAA;AAC7C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;IACA,IAAW,QAAQ,GAAA,EAAK,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAExC,IAAA,QAAQ,GAAG,MAAM,CAA0C,EAAE,oDAAC;IACxE,IAAoB,OAAO,CAAC,MAA+C,EAAA;AACzE,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3B;AAEU,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;IAC5C,IAAoB,QAAQ,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AAEU,IAAA,MAAM,GAAG,MAAM,CAAmD,SAAS,kDAAC;IACtF,IAAoB,KAAK,CAAC,KAAuD,EAAA;AAC/E,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AAGU,IAAA,KAAK,GAAG,MAAM,CAAyB,IAAI,iDAAC;IACtD,IAAoB,IAAI,CAAC,KAA6B,EAAA;AACpD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AAGU,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;IACzC,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;IAGU,UAAU,GAAG,CAAC,CAAI,EAAE,CAAI,KAAK,CAAC,KAAK,CAAC;IAC9C,IAAoB,SAAS,CAAC,KAA8B,EAAA;AAC1D,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;AACiB,IAAA,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;;AAE9C,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;QACzC,OAAO;YACL,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,IAAI;YAChC,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAG,IAAI;;SAElC;AACH,IAAA,CAAC,4DAAC;AAEM,IAAA,QAAQ,GAAyB,QAAO,OAAO,CAAA,CAAC;AAChD,IAAA,SAAS,GAAe,QAAO,OAAO,CAAC,CAAC;AAGhD,IAAA,OAAO,CAAC,IAAS,EAAA;AACf,QAAA,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7F;IACU,iBAAiB,GAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAG,CAAC;IACpD;AACA,IAAA,UAAU,CAAC,GAAQ,EAAA;QACjB,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACrB;QACF;QAEA,IAAI,KAAK,GAAa,IAAI;QAE1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjE,IAAI,KAAK,EAAE;oBACT,KAAK,GAAG,KAAK;oBACb;gBACF;YACF;iBAAO;gBACL,IAAI,IAAI,CAAC,UAAU,CAAC,IAAS,EAAE,GAAG,CAAC,EAAE;oBACnC,KAAK,GAAG,IAAS;oBACjB;gBACF;YACF;QACF;;QAGA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC;IAC/B;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC;AAEA,IAAA,cAAc,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,KAAK,GAAI,KAAK,CAAC,MAA4B,CAAC,KAAK;;AAEvD,QAAA,IAAI,cAAmB;AAEvB,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACvB,YAAA,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAoC;AAC5E,YAAA,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C;aAAO;YACL,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YACjC,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC;QACzC;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE;IAClB;uGAhJW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EART;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,SAAS,CAAC;AACxC,gBAAA,KAAK,EAAE,IAAI;AACZ;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBH,suDA6CA,2CDhCY,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FASX,SAAS,EAAA,UAAA,EAAA,CAAA;kBAhBrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,IAAA,EAEhB;AACJ,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,KAAK,EAAE;qBACR,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,SAAA,EACZ;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ;AACF,qBAAA,EAAA,QAAA,EAAA,suDAAA,EAAA;;sBAcA;;sBAUA;;sBAMA;;sBAMA;;sBAKA;;sBAKA;;sBAMA;;sBAMA;;sBAMA;;sBAGA;;;MEtCU,YAAa,SAAQ,kBAAkB,CAAC,kBAAkB,CAAC,MAAA;AAAO,CAAA,CAAC,CAAC,CAAA;AACrE,IAAA,YAAY,GAAG,MAAM,CAAS,EAAE,wDAAC;AAC3C;;AAEM;IACN,IAAa,WAAW,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;AACA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE;IAC5B;AACU,IAAA,KAAK,GAAG,MAAM,CAAmB,MAAM,iDAAC;AAClD;;AAEG;IACH,IAAa,IAAI,CAAC,KAAuB,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AACU,IAAA,KAAK,GAAG,MAAM,CAAmB,SAAS,iDAAC;AACrD;;AAEG;IACH,IAAoB,IAAI,CAAC,KAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AAEU,IAAA,GAAG,GAAG,MAAM,CAAmB,SAAS,+CAAC;AACnD;;AAEG;IACH,IACW,EAAE,CAAC,KAAuB,EAAA;AACnC,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACrB;AACA,IAAA,IAAW,EAAE,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,GAAG,EAAE;IACnB;AAEU,IAAA,MAAM,GAAG,MAAM,CACvB,SAAS,kDACV;AACD;;AAEG;IACH,IAAoB,KAAK,CACvB,KAAuD,EAAA;AAEvD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;AAEU,IAAA,KAAK,GAAG,MAAM,CAAyB,IAAI,iDAAC;IACtD,IAAoB,IAAI,CAAC,KAA6B,EAAA;AACpD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AACU,IAAA,aAAa,GAAG,MAAM,CAAqB,SAAS,yDAAC;IAC/D,IAAoB,YAAY,CAAC,KAAyB,EAAA;AACxD,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;AACA,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC7B;AAEA,IAAA,UAAU,GAAG,MAAM,CAAqB,SAAS,sDAAC;IAClD,IAAoB,SAAS,CAAC,KAAyB,EAAA;AACrD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AACA,IAAA,UAAU,GAAG,MAAM,CAAqB,SAAS,sDAAC;IAClD,IAAoB,SAAS,CAAC,KAAyB,EAAA;AACrD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AACA,IAAA,SAAS,GAAG,MAAM,CAAsB,SAAS,qDAAC;IAClD,IAAoB,QAAQ,CAAC,KAA0B,EAAA;AACrD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AACA,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;AAEA,IAAA,SAAS,GAAG,MAAM,CAAsB,SAAS,qDAAC;IAClD,IAAoB,QAAQ,CAAC,KAA0B,EAAA;AACrD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AACA,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;IACA,IAAoB,SAAS,CAAC,KAAwB,EAAA;AACpD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IACA,IAAoB,SAAS,CAAC,KAAwB,EAAA;AACpD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AAEA,IAAA,MAAM,GAAG,UAAU,CAAmB,IAAI,EAAE,IAAI,CAAC;IACjD,IAAoB,KAAK,CAAC,KAAuB,EAAA;AAC/C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;IAC1B;AACiB,IAAA,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;AAEpD,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;IAClC,IAAoB,QAAQ,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AACA,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;;AAGU,IAAA,iBAAiB,GAAG,QAAQ,CAAC,OAAO;QAC5C,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAG,IAAI;AAChC,QAAA,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE;QAC9B,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,IAAI;AAChC,KAAA,CAAC,6DAAC;IAGK,QAAQ,GAAyB,MAAK;QAC5C;AACF,IAAA,CAAC;IACO,SAAS,GAAe,MAAK;QACnC;AACF,IAAA,CAAC;AAED,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IACtB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,QAAQ,GAAA,EAAU,OAAO,CAAA;uGA9Kd,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,SAAA,EAfZ;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC;AAC3C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCH,k4CA2CM,oqODIM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAEX,YAAY,EAAA,UAAA,EAAA,CAAA;kBAlBxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,SAAA,EAEf;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,kBAAkB,CAAC;AAC3C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,IAAA,EAEV;AACJ,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,KAAK,EAAE,cAAc;qBACtB,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,k4CAAA,EAAA,MAAA,EAAA,CAAA,6mOAAA,CAAA,EAAA;;sBAOtB;;sBAUA;;sBAUA;;sBAWA;;sBAcA;;sBAUA;;sBAOA;;sBAQA;;sBAOA;;sBAOA;;sBAQA;;sBAMA;;sBAMA;;sBAQA;;sBAMA;;sBAGA;;;ME/JU,eAAe,CAAA;AAChB,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AACzC;;;;;AAKG;IACH,IAAa,SAAS,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AAEU,IAAA,IAAI,GAAG,MAAM,CAAe,GAAG,gDAAC;IAC1C,IAAa,GAAG,CAAC,KAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACtB;AACA,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;IACpB;AACU,IAAA,QAAQ,GAAG,MAAM,CAAoD,SAAS,oDAAC;IACzF,IAAa,OAAO,CAAC,KAAwD,EAAA;AAC3E,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;AACU,IAAA,MAAM,GAAG,MAAM,CAAoD,OAAO,kDAAC;IACrF,IAAa,KAAK,CAAC,KAAwD,EAAA;AACzE,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;AACU,IAAA,KAAK,GAAG,MAAM,CAAqC,MAAM,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC;IACrE,IAAa,IAAI,CAAC,KAAyC,EAAA;AACzD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AACU,IAAA,UAAU,GAAG,MAAM,CAAgB,KAAK,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC;IACpD,IAAa,SAAS,CAAC,KAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;;AAEU,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAI;AACvC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1H,OAAM;AACJ,YAAA,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjD,YAAA,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;AAC3C,YAAA,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACxC,YAAA,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,UAAU,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;AAClD,YAAA,GAAG;SACJ;AACH,IAAA,CAAC,2DAAC;uGA5DS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVhB,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,cAAc;AACtB,qBAAA;AACF,iBAAA;;sBASE;;sBAQA;;sBAOA;;sBAOA;;sBAOA;;sBAOA;;;MChDU,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sHAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPb;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAKU,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACD,oBAAA,IAAI,EAAC;wBACH,KAAK,EAAE,CAAA,EAAG,cAAc,CAAA,gCAAA,CAAkC;AAC3D;AACF,iBAAA;;;MCMY,iBAAiB,CAAA;AAClB,IAAA,OAAO,GAAG,UAAU,CAAU,KAAK,EAAC,IAAI,CAAC;AACzC,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AAC/B,IAAA,YAAY,GAAG,MAAM,CAAS,EAAE,wDAAC;AACjC,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;AAGzC,IAAA,IAAoB,MAAM,CAAC,KAAa,EAAA,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,IAAW,MAAM,GAAA,EAAG,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAC9C,IAAA,IAAoB,SAAS,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AACvE,IAAA,IAAoB,WAAW,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3E,IAAA,IAAoB,SAAS,CAAC,KAAY,EAAA,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,IAAA,YAAY,GAAE,IAAI,CAAC,OAAO,CAAC,OAAO;IAG5C,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC;uGAjBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB9B,y3BAgBc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFV,YAAY,EAAA,EAAA,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,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAEf,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACH,wBAAA,KAAK,EAAE;qBACR,EAAA,OAAA,EACO;wBACN;AACD,qBAAA,EAAA,QAAA,EAAA,y3BAAA,EAAA;;sBASA;;sBAEA;;sBACA;;sBACA;;sBACA;;;AENH;;AAEG;MACU,YAAY,CAAA;AACvB;;AAEG;AACO,IAAA,kBAAkB,GAC1B,eAAe,CAAoB,iBAAiB,8DAAC;AACvD;;AAEG;IACK,sBAAsB,GAAG,QAAQ,CAAC,MACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAC/C;AACD;;AAEG;AACK,IAAA,SAAS;AACjB;;AAEG;AACK,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;QACnC,IAAI,KAAK,GAAG,GAAG;AACf,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE;AAC9C,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;AAAE,YAAA,OAAO,GAAG;;AAErD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAClE,KAAK,GAAG,CAAC;gBACT;YACF;QACF;;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,OAAO,KAAK;AACd,IAAA,CAAC,wDAAC;AACM,IAAA,YAAY,GAAG,MAAM,CAAC,MAAK;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACxC,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;YAAE;AAClD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC;AAC9B,YAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,gBAAA,YAAY,CAAC,MAAM,GAAG,KAAK;YAC7B;QACF;AACF,IAAA,CAAC,wDAAC;IAEF,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE;IAChD;uGAjDW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,SAAA,EAKc,iBAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BxD,iPAKc,2CDgBF,YAAY,EAAA,EAAA,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,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,YAAY,EAAA,UAAA,EAAA,CAAA;kBAbxB,SAAS;+BACE,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;wBACJ,KAAK,EAAE,CAAA,EAAG,eAAe,CAAA,CAAE;qBAC5B,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,iPAAA,EAAA;0GAUc,iBAAiB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEElD,MAAO,OAAQ,SAAQ,kBAAkB,CAC7C,oBAAoB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,MAAA;CAAQ,CAAC,CAAC,CAAC,CACzE,CAAA;AACW,IAAA,KAAK,GAAG,MAAM,CAAU,IAAI,iDAAC;AAC7B,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACrC,QAAA,OAAO,EAAE,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,IAAI,EAAE;AAC3C,IAAA,CAAC,wDAAC;IACF,IAAoB,IAAI,CAAC,IAAa,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACtB;AACA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IACA,IAAoB,SAAS,CAAC,KAAmB,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IACA,IAAoB,WAAW,CAAC,KAAmB,EAAA;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;AACA,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE;IAC5B;IACA,IAAoB,SAAS,CAAC,KAAmB,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IACA,IACW,WAAW,CAAC,KAAmB,EAAA;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;AACA,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE;IAC5B;uGArCW,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCpB,83BAgBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDeY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEX,OAAO,EAAA,UAAA,EAAA,CAAA;kBAXnB,SAAS;+BACE,UAAU,EAAA,UAAA,EAER,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,KAAK,EAAE,cAAc;qBACtB,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,83BAAA,EAAA;;sBAStB;;sBAMA;;sBAMA;;sBAMA;;sBAMA;;;ME1DU,oBAAoB,CAAA;AAEvB,IAAA,YAAY,GAAG,MAAM,CAAmB,IAAI,wDAAC;IACrD,IAAa,WAAW,CAAC,KAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;;AAEA,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;IAC1D;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;IACvD;AAEA,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;IACvD;AAEA,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;IACvD;AAEA,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;IACvD;AAEA,IAAA,IACI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;IAC1D;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;IACvD;IAGA,QAAQ,GAAG,UAAU;uGA3CV,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAIE;;sBAIA,WAAW;uBAAC,cAAc;;sBAK1B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,mBAAmB;;sBAK/B,WAAW;uBAAC,kBAAkB;;sBAK9B,WAAW;uBAAC,kBAAkB;;sBAK9B,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,gBAAgB;;;MChClB,qBAAqB,CAAA;AACxB,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,IAAI,GAAE,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAa,YAAY,CAAC,KAAuB,EAAA;AAC/C,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;;AACQ,IAAA,aAAa,GAAG,MAAM,CAAmB,IAAI,2DAAI;AACjD,IAAA,eAAe;AAEK,IAAA,SAAS;AACR,IAAA,UAAU;IAEvC,eAAe,GAAA;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;QACnC,qBAAqB,CAAC,MAAK;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;gBAC/B,IAAI,CAAC,aAAa,EAAE;gBAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa;gBAClD,IAAI,MAAM,EAAE;AACV,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AACrE,oBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;gBACtC;gBAEA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;AACvD,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEQ,aAAa,GAAG,MAAW;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa;AAClD,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAE;AACxD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAA,EAAA,CAAI,GAAG,SAAS;AAChE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAA,EAAA,CAAI,GAAG,SAAS;AAChE,IAAA,CAAC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE;QAClC,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;QACnC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;IAC1D;uGA3CW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAIE;;sBAMA,WAAW;uBAAC,aAAa;;sBACzB,WAAW;uBAAC,cAAc;;;MCXhB,aAAa,CAAA;AACd,IAAA,MAAM,GAAG,MAAM,CAAS,MAAM,kDAAC;IACzC,IAAoB,KAAK,CAAC,KAAY,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;AACU,IAAA,WAAW,GAAG,MAAM,CAAS,EAAE,uDAAC;IAC1C,IAAoB,UAAU,CAAC,KAAY,EAAA;AACzC,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AACA,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;IAC3B;AACU,IAAA,YAAY,GAAG,UAAU,CAAS,CAAC,EAAC,IAAI,CAAC;IACnD,IAAoB,WAAW,CAAC,KAAY,EAAA;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;AACA,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;IAChC;AAEU,IAAA,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO;IAEvD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D;IACA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D;uGA9BW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,iNCf1B,2rBAYM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDCM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,MAAM,6GAAE,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAD1B,CAAC,YAAY,CAAC,EAAC,gBAAgB,EAAC,eAAe,EAAC,CAAC,CAAC,EAAA,CAAA;;2FAGrD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;+BACE,gBAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,QAAQ,iBAC3B,CAAC,YAAY,CAAC,EAAC,gBAAgB,EAAC,eAAe,EAAC,CAAC,CAAC,EAAA,OAAA,EACvD,CAAC,YAAY,EAAC,MAAM,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,2rBAAA,EAAA;;sBAIxC;;sBAOA;;sBAOA;;sBAOA;;;MEXU,WAAW,CAAA;AACZ,IAAA,KAAK,GAAG,MAAM,CAAM,EAAE,iDAAC;IACjC,IAAoB,IAAI,CAAC,KAAS,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AACU,IAAA,QAAQ,GAAG,MAAM,CAAuB,EAAE,oDAAC;IACrD,IAAoB,OAAO,CAAC,KAA0B,EAAA;AACpD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;AACU,IAAA,kBAAkB,GAAG,MAAM,CAA6B,SAAS,8DAAC;IAC5E,IAAoB,iBAAiB,CAAC,KAAgC,EAAA;AACpE,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC;AACA,IAAA,IAAW,iBAAiB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;IAClC;AACU,IAAA,gBAAgB,GAAG,MAAM,CAA6B,SAAS,4DAAC;IAC1E,IAAoB,eAAe,CAAC,KAAgC,EAAA;AAClE,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;IAClC;AACA,IAAA,IAAW,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;IAChC;AAEU,IAAA,aAAa,CAAC,KAAS,EAAA;AAC/B,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;uGAhCW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,0QC3BxB,wnDAsCc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBF,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,mFAAE,aAAa,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAMhD,WAAW,EAAA,UAAA,EAAA,CAAA;kBATvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,OAAA,EAEf,CAAC,YAAY,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAA,aAAA,EAC9C,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACH,wBAAA,KAAK,EAAC;AACP,qBAAA,EAAA,QAAA,EAAA,wnDAAA,EAAA;;sBAIA;;sBAOA;;sBAOA;;sBAOA;;;ME7BU,cAAc,CAAA;AACf,IAAA,eAAe,GAAG,MAAM,CAA6B,IAAI,2DAAC;IACpE,IAAa,cAAc,CAAC,KAAgC,EAAA;AAC1D,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;IACjC;AACA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE;IAC/B;AACU,IAAA,KAAK,GAAG,MAAM,CAAgB,IAAI,iDAAC;IAC7C,IAAa,IAAI,CAAC,KAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AACU,IAAA,cAAc,GAAG,MAAM,CAAU,KAAK,0DAAC;IACjD,IAAa,aAAa,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC;AACA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE;IAC9B;AACU,IAAA,WAAW,GAAG,MAAM,CAAU,KAAK,uDAAC;IAC9C,IAAa,UAAU,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AACA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;IAC3B;AACU,IAAA,WAAW,GAAG,MAAM,CAAU,KAAK,uDAAC;IAC9C,IAAa,UAAU,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AACA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;IAC3B;AACU,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;IACzC,IAAa,SAAS,CAAC,KAAY,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AACU,IAAA,aAAa,GAAG,IAAI,YAAY,EAA0C;AAGpF,IAAA,cAAc,CAAC,KAAuB,EAAA;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,KAAI;YAChC,IAAI,CAAC,WAAW,EAAE;AAChB,gBAAA,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC;AACpF,gBAAA,OAAO,EAAE;YACX;AACA,YAAA,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;AAChC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,KAAK,CAAC,aAAa,EAAC,YAAY,EAAC,KAAK,CAAC,YAAY,EAAC,CAAC;YACxF,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;AACjE,YAAA,OAAO,OAAO;AAChB,QAAA,CAAC,CAAC;IACJ;uGAzDW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB3B,0fAM8B,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDalB,YAAY,qMAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,gCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,WAAW,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAElD,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,IAAA,EAEX;AACH,wBAAA,KAAK,EAAC;qBACP,EAAA,OAAA,EACQ,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,0fAAA,EAAA;;sBAI3E;;sBAOA;;sBAOA;;sBAOA;;sBAOA;;sBAOA;;sBAMA;;;MEtDU,WAAW,CAAA;AACZ,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;IACzC,IAAa,SAAS,CAAC,KAAY,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;uGAPW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,mJCVxB,0cAUM,EAAA,CAAA;;2FDAO,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,IAAA,EAEpB;AACH,wBAAA,KAAK,EAAC,sBAAsB;AAC7B,qBAAA,EAAA,QAAA,EAAA,0cAAA,EAAA;;sBAIA;;;AEOG,MAAO,QAAS,SAAQ,kBAAkB,CAAC,MAAA;CAAQ,CAAC,CAAA;AAChD,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;;AAEjC,IAAA,MAAM,GAAG,MAAM,CAAc,QAAQ,kDAAC;AACtC,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,IAAA,KAAK,GAAG,MAAM,CAAU,IAAI,iDAAC;AAC7B,IAAA,MAAM,GAAG,MAAM,CAAmB,EAAE,kDAAC;AACrC,IAAA,KAAK,GAAG,MAAM,CAAmB,EAAE,iDAAC;;IAG9C,IAAa,KAAK,CAAC,KAAkB,EAAA;AACnC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IACA,IAAa,QAAQ,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AACA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;IACA,IAAa,IAAI,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IACA,IAAa,KAAK,CAAC,KAAuB,EAAA;AACxC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AACA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IACA,IAAa,IAAI,CAAC,KAAuB,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IACA,IAAa,SAAS,CAAC,KAAwB,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AAEU,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;QACxC,OAAO;YACL,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,IAAI;YAC/B,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,GAAG,IAAI;AAChC,YAAA,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE;SACpC;AACH,IAAA,CAAC,2DAAC;IACF,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YAChB,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAG,EAAE,IAAI,CAAC,YAAY,CAAC;QACvD;AACA,QAAA,OAAO,IAAI;IACb;uGA9DW,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBrB,kxCAgCM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEX,QAAQ,EAAA,UAAA,EAAA,CAAA;kBANpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,iBAEN,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,kxCAAA,EAAA;;sBAYtB;;sBAMA;;sBAMA;;sBAOA;;sBAMA;;sBAOA;;;MEzCU,OAAO,CAAA;AACV,IAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACzC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;AAE5D,IAAA,IAAI,GAAG,MAAM,CAAS,EAAE,gDAAC;AACnC,IAAA,IAAa,GAAG,CAAC,KAAa,EAAA,EAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,IAAI,GAAG,KAAa,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9B,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,wDAAC;AACpD;;AAEG;AACO,IAAA,KAAK,GAAG,MAAM,CAA2D,WAAW,iDAAC;AAC/F,IAAA,IAAa,IAAI,CAAC,KAA+D,EAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5G,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAClC;;;AAGG;AACO,IAAA,KAAK,GAAG,MAAM,CAA8D,IAAI,iDAAC;AAC3F,IAAA,IAAa,IAAI,CAAC,KAAkE,EAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/G,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAExB,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;AAC3C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAClD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE;QAC9B,IAAI,MAAM,GAAwB,IAAI;QAEtC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAChD,YAAA,MAAM,GAAG,SAAS,CAAC,gBAAiB,CAAC,IAAI,IAAI;QAC/C;aACK,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACrD,MAAM,GAAG,SAAS;QACpB;AACA,QAAA,OAAO,MAAM;AACf,IAAA,CAAC,8DAAC;AAGF;;;;AAIG;AACO,IAAA,OAAO,GAAG,MAAM,CAAsG,IAAI,mDAAC;AACrI,IAAA,IAAoB,MAAM,CAAC,KAA0G,EAAA,EAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;;IAClK,IAAI,MAAM,KAA0G,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3I;;;AAGG;AACO,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,mDAAC;AAC1C,IAAA,IAAoB,MAAM,CAAC,KAAa,EAAA,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAA;;IACjE,IAAW,MAAM,KAAW,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA,CAAA;AACjD;;;;;;;AAOG;AACO,IAAA,MAAM,GAAG,MAAM,CAAyE,SAAS,kDAAC;AAC5G,IAAA,IAAoB,KAAK,CAAC,KAA6E,EAAA,EAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;;IACnI,IAAI,KAAK,KAA6E,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;;;AAG5G;;;;;;AAMG;AACO,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;IACzC,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;;AACU,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;QACxC,IAAI,OAAO,GAAG,CAAA,SAAA,EAAY,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;AACtD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAEtC,QAAA,OAAO,IAAI,CAAA,UAAA,EAAa,IAAI,CAAA,CAAE;AAE9B,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,OAAO,IAAI,CAAA,UAAA,EAAa,IAAI,CAAC,OAAO,EAAE,EAAE;QAC1C;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,OAAO,IAAI,CAAA,UAAA,EAAa,IAAI,CAAC,MAAM,EAAE,EAAE;QACzC;QACA,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AAC1C,IAAA,CAAC,2DAAC;uGA7FS,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBpB,+nDAmDc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrCF,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAMX,OAAO,EAAA,UAAA,EAAA,CAAA;kBAZnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,UAAA,EAER,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACrB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACrC,CAAC,YAAY,CAAC,EAAA,IAAA,EACjB;AACJ,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,YAAY,EAAC,MAAM;AACpB,qBAAA,EAAA,QAAA,EAAA,+nDAAA,EAAA;;sBAOA;;sBAQA;;sBAOA;;sBAwBA;;sBAOA;;sBAWA;;sBAYA;;;MEtDU,SAAS,CAAA;AACZ,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACjC,IAAA,cAAc,GAAG,MAAM,CAA0B,IAAI,0DAAC;IAChE,IAAa,aAAa,CAAC,KAA8B,EAAA;AACvD,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC;AACA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE;IAC9B;AAEU,IAAA,cAAc,GAAG,MAAM,CAA0B,IAAI,0DAAC;IAChE,IAAa,aAAa,CAAC,KAA8B,EAAA;AACvD,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC;AACA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE;IAC9B;AAEU,IAAA,YAAY,GAAG,MAAM,CAAsB,EAAE,wDAAC;IACxD,IAAa,WAAW,CAAC,KAA0B,EAAA;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;AACA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE;IAC5B;AAEU,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;IACzC,IAAa,SAAS,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AAGA,IAAA,WAAW,CAAC,IAAY,EAAA;QACtB,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;IAC9C;uGArCW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCtB,s1JAuHc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpFF,YAAY,EAAA,EAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,8MAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK/E,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;+BACE,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAA,IAAA,EACtF;AACH,wBAAA,KAAK,EAAC;AACP,qBAAA,EAAA,QAAA,EAAA,s1JAAA,EAAA;;sBAKA;;sBAQA;;sBAQA;;sBAQA;;;ME3DU,kBAAkB,CAAA;AACrB,IAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;AAC5D,IAAA,IAAiC,MAAM,GAAA;AACrC,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;IAC1B;uGALW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,0ICR/B,iEAA6D,EAAA,CAAA;;2FDQhD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,iEAAA,EAAA;;sBAMhC,WAAW;uBAAC,cAAc;;;AEOvB,MAAO,QAAS,SAAQ,mBAAmB,CAA+B,MAAA;CAAO,CAAC,CAAA;AAC5E,IAAA,SAAS,GAAC,MAAM,CAAC,IAAI,qDAAC;IAEhC,QAAQ,GAAA;;IAEN;uGALS,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBrB,6eAWM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEK,MAAM,4GAAC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EADd,CAAC,YAAY,CAAC,EAAC,mBAAmB,EAAC,CAAC,CAAC,EAAA,CAAA;;2FAMxC,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,aAAA,EAEP,CAAC,YAAY,CAAC,EAAC,mBAAmB,EAAC,CAAC,CAAC,WAC3C,CAAC,MAAM,EAAC,YAAY,CAAC,EAAA,IAAA,EACxB;wBACH,KAAK,EAAC,CAAA,EAAG,cAAc,CAAA;AACxB,qBAAA,EAAA,QAAA,EAAA,6eAAA,EAAA;;;MEJU,UAAU,CAAA;;AAEX,IAAA,eAAe,GAAG,MAAM,CAAS,EAAE,2DAAC;IAC9C,IAAa,cAAc,CAAC,KAAa,EAAA;QACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACvC;AACA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE;IAC/B;;AAGU,IAAA,SAAS,GAAG,MAAM,CAAS,EAAE,qDAAC;IACxC,IAAa,QAAQ,CAAC,KAAa,EAAA;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC;AACA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;AACU,IAAA,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAc,SAAS,CAAC;AACvD,IAAA,eAAe,GAAG,MAAM,CAAC,MAAK;AACtC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE;QACjC,IAAI,QAAQ,EAAE;YACZ,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AACvD,YAAA,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACtC,gBAAA,MAAM,IAAI,GAAG,aAAa,CAAC,qBAAqB,EAAE;gBAClD,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;gBAC7C,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ;AACjD,gBAAA,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI;AACjE,gBAAA,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI;YAClE;QACF;AACF,IAAA,CAAC,2DAAC;uGA/BS,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZvB,4IAEW,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDQC,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAEN,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AACA,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,IAAA,EAEf;AACJ,wBAAA,KAAK,EAAE;qBACR,EAAA,OAAA,EACQ,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,4IAAA,EAAA;;sBAKjB;;sBASA;0DAMsD,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEvBrD,mBAAmB,CAAA;AACtB,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,IAAA,mBAAmB;;AAEV,IAAA,SAAS,GAAG,MAAM,CAAgB,IAAI,qDAAC;AACvC,IAAA,eAAe,GAAG,MAAM,CAAgB,IAAI,2DAAC;AAC7C,IAAA,UAAU,GAAG,MAAM,CAAsB,IAAI,sDAAC;IAE/D,IAAa,QAAQ,CAAC,KAAoB,EAAA;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AACA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;IAEA,IAAa,cAAc,CAAC,KAAoB,EAAA;AAC9C,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;IACjC;AACA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE;IAC/B;IAEA,IAAa,SAAS,CAAC,KAA0B,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IACyC,cAAc,GAAG,IAAI;IAClC,YAAY,GAAA;AACtC,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC;QAC5E,IAAG,IAAI,CAAC,eAAe,EAAE;YAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAG;IAEvG;IAC4B,YAAY,GAAA;AACtC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAClC,YAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS;QACtC;IACF;uGAxCW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;;sBASE;;sBAOA;;sBAOA;;sBAMA,WAAW;uBAAC,gBAAgB;;sBAC5B,YAAY;uBAAC,YAAY;;sBAMzB,YAAY;uBAAC,YAAY;;;AC5BtB,MAAO,SAAU,SAAQ,kBAAkB,CAAC,MAAA;CAAO,CAAC,CAAA;AAC9C,IAAA,gBAAgB,GAAG,MAAM,CAA6B,IAAI,4DAAC;IACrE,IAAoB,eAAe,CAAC,KAAuB,EAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;IAClC;AACA,IAAA,IAAW,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;IAChC;AACU,IAAA,gBAAgB,GAAG,MAAM,CAA6B,IAAI,4DAAC;IACrE,IAAoB,eAAe,CAAC,KAAuB,EAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;IAClC;AACA,IAAA,IAAW,eAAe,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;IAChC;AACU,IAAA,iBAAiB,GAAG,MAAM,CAA6B,IAAI,6DAAC;IACtE,IAAoB,gBAAgB,CAAC,KAAuB,EAAA;AAC1D,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC;AACA,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;IACjC;IACA,IACW,SAAS,CAAC,KAAkB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;uGA5BW,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdtB,03BAyBM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdM,YAAY,oSAAE,kBAAkB,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAG/B,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,aAAA,EAEP,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,eAAA,EAC3B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,03BAAA,EAAA;;sBAI7C;;sBAOA;;sBAOA;;sBAMA;;;AE3BH,MAAM,gBAAgB,GAAkC;AACtD,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,KAAK,EAAE,CAAC;CACT;MAaY,OAAQ,SAAQ,kBAAkB,CAAC,kBAAkB,CAAC,MAAA;AAAQ,CAAA,CAAC,CAAC,CAAA;;AAG3E;;AAEG;AACO,IAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,IAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,IAAA,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC;;;AAGxC,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,mDAAC;AAChC,IAAA,OAAO,GAAG,MAAM,CAA6B,IAAI,mDAAC;AAClD,IAAA,OAAO,GAAG,MAAM,CAA6B,IAAI,mDAAC;AAClD,IAAA,cAAc,GAAG,MAAM,CAA6B,IAAI,0DAAC;AACzD,IAAA,WAAW,GAAG,MAAM,CAA6B,IAAI,uDAAC;AACtD,IAAA,QAAQ,GAAG,MAAM,CAA6B,IAAI,oDAAC;AACnD,IAAA,SAAS,GAAG,MAAM,CAAS,YAAY,qDAAC;AACxC,IAAA,kBAAkB,GAAG,MAAM,CAAU,IAAI,8DAAC;AAC1C,IAAA,YAAY,GAAG,MAAM,CAAgB,IAAI,wDAAC;IAC1C,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;AAC7D,IAAA,cAAc,GAAG,MAAM,CAAgB,IAAI,0DAAC;;;;;;;;;;;;;;AAgB5C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACnC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACzC,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;AAE3B,QAAA,QACE,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAErE,IAAA,CAAC,sDAAC;AACQ,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAI;QAC1C,OAAO;YACL,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,SAAS,EAAC,IAAI,CAAC,OAAO,EAAE;AACxB,YAAA,oBAAoB,EAAC,IAAI,CAAC,UAAU,EAAE;SACvC;AACH,IAAA,CAAC,8DAAC;AACF;;AAEC;AACS,IAAA,aAAa;AACvB;;AAEG;AACO,IAAA,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;IAG3H,IAAoB,SAAS,CAAC,KAAkB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IACA,IAAoB,SAAS,CAAC,KAAkB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;;;;;;;AAOA;;;AAGG;IACH,IAAoB,IAAI,CAAC,KAAc,EAAA;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB;;AACA;;AAEG;IACH,IAAoB,cAAc,CAAC,KAAuB,EAAA;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB;AACA;;AAEG;IACH,IAAoB,cAAc,CAAC,KAAuB,EAAA;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB;AACA;;AAEG;IACH,IAAoB,qBAAqB,CAAC,KAAuB,EAAA;AAC/D,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC;AACA;;AAEG;IACH,IAAoB,kBAAkB,CAAC,KAAuB,EAAA;AAC5D,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AACA;;AAEG;IACH,IAAoB,eAAe,CAAC,KAAuB,EAAA;AACzD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;;AACA;;AAEG;IACH,IAAoB,QAAQ,CAAC,KAAa,EAAA;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;;IACA,IAAoB,iBAAiB,CAAC,KAAc,EAAA;AAClD,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC;IACA,IAAoB,WAAW,CAAC,KAAoB,EAAA;AAClD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;;IAIA,QAAQ,GAAA;AAEN,QAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,KAAK,KAAK,IAAI,CAAC,kBAAkB,EAAE;AAEhK,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAE,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAqB,CAAC;AAC/H,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAE3E;IACA,WAAW,GAAA;QAET,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACvD;AAEA;;;;AAIG;AACO,IAAA,WAAW,CAAC,KAAY,EAAA;AAChC,QAAA,MAAM,OAAO,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO;AAC1D,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAqB,CAAC;IACvI;IACU,WAAW,GAAA;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAC,GAAG,IAAI,CAAC,YAAY,EAAG,EAAC,KAAK,EAAC,OAAO,EAAC,CAAC;IAC/E;AAEA;;;AAGK;AACL,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;uGArKW,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,aAAA,EAAA,EAAA,cAAA,EAAA,4CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BpB,w6DA4DM,EAAA,MAAA,EAAA,CAAA,+wTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlCM,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGX,OAAO,EAAA,UAAA,EAAA,CAAA;kBAXnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,aAAA,EAGL,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,KAAK,EAAE;qBACR,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,w6DAAA,EAAA,MAAA,EAAA,CAAA,+wTAAA,CAAA,EAAA;;sBAiEtB;;sBAMA;;sBAgBA;;sBAMA;;sBAMA;;sBAMA;;sBAMA;;sBAMA;;sBAMA;;sBAGA;;sBAGA;;sBAoCA,WAAW;uBAAC,eAAe;;;ME1LjB,eAAe,CAAA;;;AAGT,IAAA,MAAM,GAAG,MAAM,CAAS,EAAE,kDAAC;AAC3B,IAAA,SAAS,GAAG,MAAM,CAAS,CAAC,qDAAC;AAC7B,IAAA,aAAa,GAAG,MAAM,CAAS,CAAC,yDAAC;AACjC,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,IAAA,MAAM,GAAG,MAAM,CAAS,EAAE,kDAAC;AAC3B,IAAA,KAAK,GAAG,MAAM,CAAS,EAAE,iDAAC;AAC1B,IAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,IAAA,kBAAkB,GAAG,MAAM,CAAS,GAAG,8DAAC;AACxC,IAAA,iBAAiB,GAAG,MAAM,CAAU,IAAI,6DAAC;;AAG1D,IAAA,IACI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IACA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;IACA,IAAI,QAAQ,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,IACI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC7B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,IACI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IACA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AAEA,IAAA,IACI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IACzB;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,IACI,iBAAiB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;IAClC;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC;AAEA,IAAA,IACI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;IACjC;IACA,IAAI,gBAAgB,CAAC,KAAc,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC;;AAGQ,IAAA,SAAS,GAAG,MAAM,CAA2C,MAAM,qDAAC;AAEpE,IAAA,qBAAqB,GAAG,MAAM,CAAC,MAAK;AAC1C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AAC9B,QAAA,IAAI,QAAQ,IAAI,KAAK,KAAK,OAAO,EAAE;AACjC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5B,YAAA,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/B;AACK,aAAA,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,MAAM,EAAE;AACtC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AAC7B,YAAA,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/B;AACF,IAAA,CAAC,iEAAC;IACsC,MAAM,GAAG,IAAI;IACd,UAAU,GAAG,IAAI;IACjB,SAAS,GAAG,IAAI;IAClB,IAAI,GAAG,CAAC;IACT,GAAG,GAAG,CAAC;IACL,KAAK,GAAG,CAAC;IACR,MAAM,GAAG,CAAC;IACR,QAAQ,GAAG,UAAU;AAC9D,IAAA,IAAkC,OAAO,GAAA;AACvC,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO;IACvD;AACA,IAAA,IAA0C,YAAY,GAAA;AACpD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,SAAS;IACtC;AACA,IAAA,IAAuC,SAAS,GAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,MAAM;IACnC;AACA,IAAA,IAA0C,YAAY,GAAA;AACpD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,SAAS;IACtC;AACA,IAAA,IAAwC,UAAU,GAAA;AAChD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO;IACpC;AACA,IAAA,IAA2C,aAAa,GAAA;AACtD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAG,GAAG,IAAI,CAAC,aAAa,EAAG;IACjF;AACA,IAAA,IAA4C,cAAc,GAAA;AACxD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAG,GAAG,IAAI,CAAC,aAAa,EAAG;IACjF;AACE,IAAA,IAA2C,aAAa,GAAA;AACxD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAG,GAAG,IAAI,CAAC,aAAa,EAAG;IACjF;AACA,IAAA,IAA4C,cAAc,GAAA;AACxD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,IAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAG,GAAG,IAAI,CAAC,aAAa,EAAG;IACjF;AACA,IAAA,IAAwD,cAAc,GAAA;AACpE,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;IACjC;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC;IACzD;uGAlJW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;;sBAeE;;sBAQA;;sBAQA;;sBAQA;;sBAQA;;sBAQA;;sBAQA;;sBAQA;;sBAQA;;sBA2BA,WAAW;uBAAC,eAAe;;sBAC3B,WAAW;uBAAC,cAAc;;sBAC1B,WAAW;uBAAC,cAAc;;sBAC1B,WAAW;uBAAC,YAAY;;sBACxB,WAAW;uBAAC,WAAW;;sBACvB,WAAW;uBAAC,aAAa;;sBACzB,WAAW;uBAAC,cAAc;;sBAC1B,WAAW;uBAAC,gBAAgB;;sBAC5B,WAAW;uBAAC,eAAe;;sBAG3B,WAAW;uBAAC,uBAAuB;;sBAGnC,WAAW;uBAAC,oBAAoB;;sBAGhC,WAAW;uBAAC,uBAAuB;;sBAGnC,WAAW;uBAAC,qBAAqB;;sBAGjC,WAAW;uBAAC,wBAAwB;;sBAGpC,WAAW;uBAAC,yBAAyB;;sBAGnC,WAAW;uBAAC,wBAAwB;;sBAGtC,WAAW;uBAAC,yBAAyB;;sBAGrC,WAAW;uBAAC,2BAA2B;;;MClI7B,UAAU,CAAA;;AAEX,IAAA,QAAQ,GAAG,MAAM,CAA4B,MAAM,oDAAC;IAC9D,IACI,OAAO,CAAC,KAAgC,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;AAEU,IAAA,QAAQ,GAAG,MAAM,CAAyB,IAAI,oDAAC;IACzD,IACI,OAAO,CAAC,KAA6B,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;AAEU,IAAA,UAAU,GAAG,MAAM,CAAS,EAAE,sDAAC;IACzC,IACI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AACA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;AAEU,IAAA,QAAQ,GAAG,MAAM,CAAU,IAAI,oDAAC;IAC1C,IACI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;IACA,IAAI,GAAG,eAAe,CAAC,eAAe,iDAAE,WAAW,EAAC,IAAI,EAAA,CAAE;AAG1D,IAAA,cAAc,GAAC,MAAM,CAAC,MAAI;AACxB,QAAA,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,IAAE,EAAC,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC;AAAC,YAAA,CAAC,CAAC,iBAAiB,GAAG,CAAC;QAAC,CAAC,CAAA,CAAC,CAAC;AAC1E,IAAA,CAAC,0DAAC;AAEF,IAAA,cAAc,GAAC,QAAQ,CAAkC,MAAK;AAC5D,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAgC,CAAC,GAAG,MACxD;YACA,KAAK,EAAC,GAAG,CAAC,KAAM;YAChB,MAAM,EAAC,GAAG,CAAC;AACV,SAAA,CACF,CAAC;AACJ,IAAA,CAAC,0DAAC;AACQ,IAAA,kBAAkB,GAAG,QAAQ,CAAC,OACtC;QACE,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAE,GAAE,IAAI;QAChC,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAE,GAAE,IAAI;AACjC,KAAA,CACF,8DAAC;AAGQ,IAAA,UAAU,CAAC,QAAe,EAAA;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;AACjC,YAAA,GAAG,CAAC,QAAQ,GAAG,KAAK;AACpB,YAAA,IAAG,QAAQ,KAAK,KAAK,EAAE;AACrB,gBAAA,GAAG,CAAC,QAAQ,GAAG,IAAI;YACrB;iBACK;AACH,gBAAA,GAAG,CAAC,QAAQ,GAAG,KAAK;AACpB,gBAAA,GAAG,CAAC,YAAY,GAAG,QAAQ;YAC7B;AACF,QAAA,CAAC,CAAC;IACJ;uGAvEW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sFAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAqCE,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpDxC,w3BAgBM,2CDNK,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKV,UAAU,EAAA,UAAA,EAAA,CAAA;kBATtB,SAAS;+BACE,cAAc,EAAA,aAAA,EAEV,iBAAiB,CAAC,IAAI,WAC5B,CAAC,YAAY,CAAC,EAAA,IAAA,EACjB;wBACH,KAAK,EAAC,CAAA,EAAG,cAAc,CAAA,CAAE;AAC1B,qBAAA,EAAA,QAAA,EAAA,w3BAAA,EAAA;;sBAKA;;sBASA;;sBASA;;sBASA;AAOsB,aAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,eAAe,CAAA,EAAA,EAAA,GAAC,EAAC,WAAW,EAAC,IAAI,EAAC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEpD3D;;MCKa,qBAAqB,GAAsB,CAAC,GAAG,EAAE,IAAI,KAAI;AACpE,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAClD,IAAI,WAAW,EAAE;QACf,cAAc,CAAC,UAAU,EAAE;IAC7B;IACA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAK;QAClC,IAAI,WAAW,EAAE;YACf,cAAc,CAAC,aAAa,EAAE;QAChC;IACF,CAAC,CAAC,CAAC;AACL;;AChBA;;AAEG;;ACFH;;AAEG;;;;"}
|