@flywheel-io/vision 2.10.0 → 2.10.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"flywheel-io-vision.mjs","sources":["../../../src/components/icon/icon.component.ts","../../../src/components/icon-button/icon-button.component.ts","../../../src/components/icon-button/icon-button.component.html","../../../src/components/alert/alert.component.ts","../../../src/components/alert/alert.component.html","../../../src/components/icon/icon.module.ts","../../../src/components/icon-button/icon-button.module.ts","../../../src/components/alert/alert.module.ts","../../../src/components/app-icon/app-icon.component.ts","../../../src/components/app-icon/app-icon.component.html","../../../src/components/app-icon/app-icon.module.ts","../../../src/color.utils.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/avatar/avatar.module.ts","../../../src/components/layouts/context/context.component.ts","../../../src/components/layouts/context/context.component.html","../../../src/components/layouts/grid/grid.component.ts","../../../src/components/layouts/layout-group.component.ts","../../../src/components/layouts/panel/panel.component.ts","../../../src/components/layouts/panel/panel.component.html","../../../src/components/layouts/sidebar/sidebar.component.ts","../../../src/components/layouts/sidebar/sidebar.component.html","../../../src/components/layouts/toolbar/toolbar.component.ts","../../../src/components/layouts/layouts.module.ts","../../../src/components/popover/popover-panel/popover-panel.component.ts","../../../src/components/popover/popover-panel/popover-panel.component.html","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.component.html","../../../src/components/popover/popover.module.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.html","../../../src/components/tooltip/tooltip.directive.ts","../../../src/components/tooltip/tooltip.component.ts","../../../src/components/tooltip/tooltip.component.html","../../../src/components/tooltip/tooltip.module.ts","../../../src/components/avatar-list/avatar-list.component.ts","../../../src/components/avatar-list/avatar-list.component.html","../../../src/components/badge/badge.component.ts","../../../src/components/badge/badge.component.html","../../../src/components/badge/badge.module.ts","../../../src/components/breadcrumbs/crumb.component.ts","../../../src/components/breadcrumbs/crumb.component.html","../../../src/components/breadcrumbs/breadcrumbs.component.ts","../../../src/components/breadcrumbs/breadcrumbs.module.ts","../../../src/components/progress/spinner/spinner.component.ts","../../../src/components/progress/spinner/spinner.component.html","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.directives.ts","../../../src/components/progress/bar/bar.component.ts","../../../src/components/progress/bar/bar.component.html","../../../src/components/progress/progress.module.ts","../../../src/components/button/button.module.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.html","../../../src/components/button-group/button-group.component.ts","../../../src/components/button-toggle/button-toggle.component.ts","../../../src/components/button-toggle/button-toggle.module.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/card/card.component.ts","../../../src/components/card/card.component.html","../../../src/components/card/card-attribute/card-attribute.component.ts","../../../src/components/card/card-attribute/card-attribute.component.html","../../../src/components/card/card-author/card-author.component.ts","../../../src/components/card/card-author/card-author.component.html","../../../src/components/card/card-content/card-content.component.ts","../../../src/components/card/card-footer/card-footer.component.ts","../../../src/components/card/card-header/card-header.component.ts","../../../src/components/card/card-header/card-header.component.html","../../../src/components/card/card.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.module.ts","../../../src/components/chip/chip.component.ts","../../../src/components/chip/chip.component.html","../../../src/components/chip/chip.module.ts","../../../src/components/switch/switch.component.ts","../../../src/components/switch/switch.component.html","../../../src/components/contained-input/contained-input.component.ts","../../../src/components/contained-input/contained-input.component.html","../../../src/components/switch/switch.module.ts","../../../src/components/contained-input/contained-input.module.ts","../../../src/components/date-input/date-input.component.ts","../../../src/components/date-input/date-input.component.html","../../../src/components/date-input/date-input.module.ts","../../../src/components/dialog/dialog.component.ts","../../../src/components/dialog/dialog.component.html","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/dialog-actions.component.ts","../../../src/components/dialog/dialog-content.component.ts","../../../src/components/dialog/dialog-confirm.component.ts","../../../src/components/dialog/dialog-confirm.component.html","../../../src/components/dialog/dialog-header.component.ts","../../../src/components/dialog/dialog-simple.component.ts","../../../src/components/dialog/dialog-simple.component.html","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialogs.module.ts","../../../src/components/tag/tag.component.ts","../../../src/components/tag/tag.component.html","../../../src/components/form-heading/form-heading.component.ts","../../../src/components/form-heading/form-heading.component.html","../../../src/components/tag/tag.module.ts","../../../src/components/form-heading/form-heading.module.ts","../../../src/components/forms/validators.ts","../../../src/components/icon/icon.types.ts","../../../src/components/menu/menu-sub-item/menu-sub-item.component.ts","../../../src/components/menu/menu-sub-item/menu-sub-item.component.html","../../../src/components/radio/radio.component.ts","../../../src/components/radio/radio.component.html","../../../src/components/menu/menu-item/menu-item.component.ts","../../../src/components/menu/menu-item/menu-item.component.html","../../../src/components/menu/menu.component.ts","../../../src/components/menu/menu.component.html","../../../src/components/radio/radio-group.component.ts","../../../src/components/radio/radio.module.ts","../../../src/components/text-input/text-input.component.ts","../../../src/components/text-input/text-input.component.html","../../../src/components/text-input/text-input.module.ts","../../../src/components/menu/menu-close-triggers.directive.ts","../../../src/components/menu/menu-container/menu-container.component.ts","../../../src/components/menu/menu-container/menu-container.component.html","../../../src/components/menu/menu-header/menu-header.component.ts","../../../src/components/menu/menu-header/menu-header.component.html","../../../src/components/menu/menu-item-group/menu-item-group.component.ts","../../../src/components/menu/menu-item-group/menu-item-group.component.html","../../../src/components/menu/menu-separator/menu-separator.component.ts","../../../src/components/menu/menu.module.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.html","../../../src/components/navbar/navbar-item/navbar-item.component.ts","../../../src/components/navbar/navbar-item/navbar-item.component.html","../../../src/components/navbar/navbar.component.ts","../../../src/components/navbar/navbar.component.html","../../../src/components/navbar/navbar-header/navbar-header.component.ts","../../../src/components/navbar/navbar-header/navbar-header.component.html","../../../src/components/navbar/navbar.module.ts","../../../src/components/number-input/number-input.component.ts","../../../src/components/number-input/number-input.component.html","../../../src/components/number-input/number-input.module.ts","../../../src/components/paginator/paginator.component.ts","../../../src/components/paginator/paginator.component.html","../../../src/components/shared/services/menu-manager.service.ts","../../../src/directives/menu-register.directive.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.html","../../../src/components/select-menu/select-menu.component.ts","../../../src/components/select-menu/select-menu.component.html","../../../src/components/select-menu/select-menu.module.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.html","../../../src/components/paginator/paginator.module.ts","../../../src/components/phone-input/country-code.data.ts","../../../src/components/phone-input/phone-input.component.ts","../../../src/components/phone-input/phone-input.component.html","../../../src/components/phone-input/phone-input.module.ts","../../../src/components/section-heading/back-button/back-button.component.ts","../../../src/components/section-heading/back-button/back-button.component.html","../../../src/components/section-heading/section-heading.component.ts","../../../src/components/section-heading/section-heading.component.html","../../../src/components/section-heading/subsection-heading/subsection-heading.component.ts","../../../src/components/section-heading/subsection-heading/subsection-heading.component.html","../../../src/components/section-heading/section-heading.module.ts","../../../src/components/snackbar/snackbar-timer.service.ts","../../../src/components/snackbar/snackbar/snackbar.component.ts","../../../src/components/snackbar/snackbar/snackbar.component.html","../../../src/components/snackbar/snackbar.service.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.html","../../../src/components/snackbar/snackbar.module.ts","../../../src/components/stepper/step.component.ts","../../../src/components/stepper/step.component.html","../../../src/components/stepper/stepper.component.ts","../../../src/components/stepper/stepper.module.ts","../../../src/components/table/cell.ts","../../../src/components/table/row.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table-dense.component.ts","../../../src/components/table/table.module.ts","../../../src/components/tabs/tab/tab.component.ts","../../../src/components/tabs/tab/tab.component.html","../../../src/components/tabs/tab-panel/tab-panel.component.ts","../../../src/components/tabs/tab-panel/tab-panel.component.html","../../../src/components/tabs/tabs.component.ts","../../../src/components/tabs/tabs.component.html","../../../src/components/tabs/tabs.module.ts","../../../src/components/textarea-input/textarea-input.component.ts","../../../src/components/textarea-input/textarea-input.component.html","../../../src/components/textarea-input/textarea-input.module.ts","../../../src/components/chip-list/chip-list.component.ts","../../../src/components/chip-list/chip-list.component.html","../../../src/components/typeahead/typeahead.component.ts","../../../src/components/typeahead/typeahead.component.html","../../../src/components/wrapped-input/wrapped-input.component.ts","../../../src/components/wrapped-input/wrapped-input.component.html","../../../src/components/wrapped-input/wrapped-input.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\ntype NamedIconSize = 'large' | 'medium' | 'small' | 'extra-small';\n\nexport type IconSize = NamedIconSize | number;\n\nconst namedSizeToPxMap = {\n large: 28,\n medium: 24,\n small: 22,\n 'extra-small': 18,\n}\n\n@Component({\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {\n @Input({\n transform: (input: IconSize) => {\n if (typeof input === 'string') {\n return namedSizeToPxMap[input] || parseInt(input) || 24;\n }\n return input;\n },\n }) size: number;\n @Input() color?:\n | 'primary'\n | 'secondary'\n | 'red'\n | 'orange'\n | 'green'\n | 'slate'\n | 'muted'\n | 'typography';\n @HostBinding('class') class = 'vision-icon';\n @HostBinding('role') role = 'img';\n @HostBinding('style') get style(): SafeStyle {\n const sizeStyle: string = `font-size: ${this.size}px; min-width: ${this.size}px; width: ${this.size}px;`;\n let colorStyle: string = '';\n if (this.color) {\n if (this.color === 'muted') {\n colorStyle = 'color: var(--typography-muted);';\n } else {\n colorStyle = `color: var(--${this.color}-base);`;\n }\n }\n return this.sanitizer.bypassSecurityTrustStyle(`\n ${sizeStyle}\n ${colorStyle}\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, HostBinding, Input, input } from '@angular/core';\n\n@Component({\n selector: 'fw-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.scss'],\n})\nexport class FwIconButtonComponent {\n @HostBinding('attr.class') get classes(): string {\n return this.size;\n };\n\n @HostBinding('tabindex') tabindex: string;\n\n @Input() color?:\n | 'primary'\n | 'secondary'\n | 'red'\n | 'error'\n | 'warning'\n | 'orange'\n | 'success'\n | 'green'\n | 'light-slate'\n | 'slate'\n | 'overlay'\n | 'info' = 'primary';\n @Input() icon: string = '';\n @Input() size?: 'large' | 'medium' | 'small' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() selected?: boolean = false;\n\n public border = input(false);\n}\n","<button [disabled]=\"disabled\"\n [class]=\"color + '-button'\"\n [class.selected-button]=\"selected\"\n [class.border]=\"border()\"\n [tabindex]=\"tabindex\">\n <fw-icon>{{ icon }}</fw-icon>\n</button>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n})\nexport class FwAlertComponent {\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() severity?: 'info' | 'success' | 'warning' | 'error' = 'info';\n @Input() title?: string;\n @Input() variant?: 'standard' | 'outlined' | 'filled' = 'standard';\n @Input() showClose?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n}\n","<div [ngClass]=\"['fw-alert', variant, severity]\">\n <fw-icon *ngIf=\"icon\" class=\"fw-alert-icon\">{{ icon }}</fw-icon>\n <div class=\"fw-alert-text\">\n <h4 *ngIf=\"title\" class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p2\">{{ description }}</p>\n <p class=\"vision-p2\">\n <ng-content></ng-content>\n </p>\n </div>\n <div class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n <fw-icon-button\n *ngIf=\"showClose\"\n icon=\"close\" size=\"small\"\n [color]=\"variant==='filled'?'overlay':severity\"\n (click)=\"close?close.emit():undefined\">\n </fw-icon-button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwIconComponent,\n ],\n declarations: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonComponent } from './icon-button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwIconButtonComponent,\n ],\n declarations: [\n FwIconButtonComponent,\n ],\n})\nexport class FwIconButtonModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwAlertComponent } from './alert.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n ],\n exports: [\n FwAlertComponent,\n ],\n declarations: [\n FwAlertComponent,\n ],\n})\nexport class FwAlertModule {\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-app-icon',\n templateUrl: './app-icon.component.html',\n styleUrls: ['./app-icon.component.scss'],\n})\nexport class FwAppIconComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() imageUrl?: string;\n @Input() color?: 'primary' | 'dark' | 'light' | 'gradient' | 'transparent' = 'primary';\n @Input() fontColor?: 'contrast' | 'base' = 'contrast';\n @Input() size?: 'small' | 'medium' | 'large' | 'extra-large' = 'medium';\n @Input() variant?: 'interactive' | 'hover' | 'focused' | 'static' = 'interactive';\n @Input() badge?: string;\n @HostBinding('tabindex') @Input() tabindex = '';\n @HostBinding('class.locked') @Input() locked?: boolean = false;\n @HostBinding('class.animated') @Input() animated?: boolean = false;\n @HostBinding('role') role = 'button';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-app-icon', this.size, this.color, this.variant].join(' ');\n }\n}\n","<div class=\"icon-highlight\"></div>\n<div class=\"icon-wrapper\">\n <div class=\"app-badge\" *ngIf=\"badge\"><span>{{ badge }}</span></div>\n <div class=\"app-locked\" *ngIf=\"locked\">\n <fw-icon>lock</fw-icon>\n </div>\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" alt=\"App Icon\">\n <fw-icon *ngIf=\"icon\" [ngClass]=\"fontColor\">{{ icon }}</fw-icon>\n</div>\n<p class=\"vision-p3\" *ngIf=\"title\">{{ title }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAppIconComponent } from './app-icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwAppIconComponent,\n ],\n declarations: [\n FwAppIconComponent,\n ],\n})\nexport class FwAppIconModule {\n}\n","\nconst accesibilityPallete = [\n '#1B68FA',\n '#D73D3D',\n '#FF8C00',\n '#C47E09',\n '#B080FC',\n '#14AE5C',\n '#FF6347',\n '#F28B8B',\n '#FF69B4',\n '#748295',\n '#9CCEF9',\n '#66CDAA',\n '#00CED1',\n]\n\nexport const hashCode = (str: string): number => {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return Math.abs(hash);\n}\n\nexport const pickColorViaHash = (seed = ''): string => {\n const hash = hashCode(seed);\n return accesibilityPallete[hash % (accesibilityPallete.length - 1)]\n}\n","import { Component, computed, HostBinding, Input, input, model } from '@angular/core';\n\nimport { pickColorViaHash } from '../../color.utils';\nimport { IconType } from '../icon/icon.types';\n\ntype AvatarColorOption = 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success';\n\nconst namedColorMap: { [K in AvatarColorOption]: string } = {\n primary: 'var(--primary-base)',\n secondary: 'var(--secondary-base)',\n red: 'var(--red-base)',\n 'light-slate': 'var(--slate-light)',\n slate: 'var(--slate-base)',\n warning: 'var(--orange-base)',\n success: 'var(--green-base)',\n};\n\n@Component({\n selector: 'fw-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n})\nexport class FwAvatarComponent {\n @HostBinding('attr.class') get classes(): string {\n\n return [this.size, this.variant, this.content, 'selected'].filter(Boolean).join(' ');\n };\n\n\n @Input() color?: AvatarColorOption = 'primary';\n @Input() variant?: 'circular' | 'rounded' | 'square' = 'circular';\n @Input() content?: 'image' | 'icon' | 'initial' = 'icon';\n @Input() size?: 'small' | 'medium' | 'large' | 'x-large' = 'small';\n @Input() initial?: string = '';\n @Input() imageUrl?: string = '';\n @Input() imageAltText?: string = '';\n @Input() icon?: IconType = 'user';\n @Input() bordered = false;\n\n @HostBinding('class.bordered') get borderClass(): boolean {\n return this.bordered;\n }\n\n selected = input(false);\n colorSeed = model<string>();\n\n @HostBinding('class.selected') get selectedClassApplied(): boolean {\n return this.selected();\n }\n\n hasedColor = computed(() => pickColorViaHash(this.colorSeed()));\n\n colorToDisplay = computed(() => this.colorSeed() ? this.hasedColor() : namedColorMap[this.color]);\n\n isImageBroken: boolean = false;\n\n loadImage(): void {\n this.isImageBroken = false;\n }\n\n errorImage(): void {\n this.isImageBroken = true;\n }\n}\n","<ng-container [ngSwitch]=\"content\">\n <div [style.backgroundColor]=\"colorToDisplay()\" *ngSwitchCase=\"'image'\" class=\"avatar\">\n <img\n *ngIf=\"!isImageBroken else displayInitial\"\n [src]=\"imageUrl\"\n [alt]=\"imageAltText\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [style.backgroundColor]=\"colorToDisplay()\" class=\"avatar\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [style.backgroundColor]=\"colorToDisplay()\" class=\"avatar\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwAvatarComponent,\n ],\n declarations: [\n FwAvatarComponent,\n ],\n})\nexport class FwAvatarModule {\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\nexport enum LayoutWidth {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large'\n}\n\n@Component({\n selector: 'fw-layout-context',\n templateUrl: './context.component.html',\n styleUrls: ['./context.component.scss'],\n})\nexport class FwLayoutContextComponent {\n @Input() width?: 'small' | 'medium' | 'large' | 'extra-large' = LayoutWidth.Small;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'secondary';\n @Input() title?: string;\n @Input() description?: string;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-context'];\n classes.push(`context-width-${this.width}`);\n if (this.iconColor) {\n classes.push(`context-color-${this.iconColor}`);\n }\n return classes.join(' ');\n };\n}\n","@if (icon) {\n <fw-icon [ngClass]=\"iconColor\">{{ icon }}</fw-icon>\n}\n\n@if (title) {\n <h3>{{ title }}</h3>\n}\n\n<ng-content select=\"[slot='description']\"></ng-content>\n\n<div class=\"context-actions\">\n <ng-content select=\"[slot='actions']\"></ng-content>\n</div>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-grid',\n template: '<ng-content select=\"fw-grid-item\"></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridComponent {\n @HostBinding('class') get cssClass(): string {\n return ['fw-grid'].join(' ');\n }\n}\n\n@Component({\n selector: 'fw-grid-item',\n template: '<ng-content></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridItemComponent {\n @Input() cols: number = 12;\n @Input() sm?: number;\n @Input() md?: number;\n @Input() lg?: number;\n @Input() xl?: number;\n @Input() padded?: boolean = false;\n @Input() rounded?: boolean = false;\n @Input() variant?: 'page-light' | 'page-shaded' | 'card-header' | 'card-background' = 'page-light';\n\n @HostBinding('class') get cssClass(): string {\n return [\n 'fw-grid-col-' + this.cols,\n this.variant,\n this.padded ? 'grid-item-padded' : null,\n this.rounded ? 'grid-item-rounded' : null,\n this.sm ? 'fw-grid-col-sm-' + this.sm : null,\n this.md ? 'fw-grid-col-md-' + this.md : null,\n this.lg ? 'fw-grid-col-lg-' + this.lg : null,\n this.xl ? 'fw-grid-col-xl-' + this.xl : null,\n ].filter(Boolean).join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-group',\n template: '<ng-content></ng-content>',\n styleUrls: ['./layout-group.component.scss'],\n})\nexport class FwLayoutGroupComponent {\n @Input() stackable: boolean = false;\n @Input() padded: boolean = true;\n @Input() justify: 'space-between' | 'space-around' | 'space-evenly' | 'flex-end' | 'flex-start' = 'space-between';\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-group', this.justify];\n if (this.stackable) {\n classes.push('stackable');\n }\n if (this.padded) {\n classes.push('padded');\n }\n return classes.join(' ');\n };\n\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwLayoutPanelComponent {\n @Input() height?: string = '100%';\n @Input() fitted?: boolean = false;\n @Input() border?: 'all' | 'left' | 'right' | 'none' = 'none';\n @Input() rounded?: boolean = true;\n @Input() margin?: boolean = false;\n @Input() padded?: boolean = true;\n}\n","<main\n [ngClass]=\"[fitted?'fitted':'', margin?'margin':'', rounded?'rounded':'', 'border-'+border]\"\n [ngStyle]=\"{height: height}\">\n <ng-content select=\"header\"></ng-content>\n <article [ngClass]=\"[padded?'padded':'']\">\n <ng-content></ng-content>\n </article>\n <ng-content select=\"footer\"></ng-content>\n</main>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwLayoutSidebarComponent {\n @Input() outlined: boolean = true;\n @Input() rounded: boolean = true;\n @Input() width?: string = '65%';\n @Input() direction?: 'row' | 'row-reverse' = 'row';\n}\n","<div\n [ngClass]=\"[\n outlined?'outlined':'',\n rounded?'rounded':'',\n direction,\n 'container'\n ]\">\n <div class=\"main\" [ngStyle]=\"{width: 'calc( 100% - '+width+' )'}\">\n <ng-content></ng-content>\n </div>\n <div class=\"aside\" [ngStyle]=\"{width: width}\">\n <ng-content select=\"aside\"></ng-content>\n </div>\n</div>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-toolbar',\n template: '<ng-content></ng-content>',\n styleUrls: ['./toolbar.component.scss'],\n})\nexport class FwLayoutToolbarComponent {\n @Input() dense?: boolean;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-toolbar', this.dense ? 'dense' : ''];\n return classes.join(' ');\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwLayoutContextComponent } from './context/context.component';\nimport { FwGridComponent, FwGridItemComponent } from './grid/grid.component';\nimport { FwLayoutGroupComponent } from './layout-group.component';\nimport { FwLayoutPanelComponent } from './panel/panel.component';\nimport { FwLayoutSidebarComponent } from './sidebar/sidebar.component';\nimport { FwLayoutToolbarComponent } from './toolbar/toolbar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n declarations: [\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n})\nexport class FwLayoutsModule {\n}\n","import { Component, EventEmitter, HostBinding, HostListener, Input, input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-popover-panel',\n templateUrl: './popover-panel.component.html',\n styleUrls: ['./popover-panel.component.scss'],\n})\nexport class FwPopoverPanelComponent {\n @Input() position: 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n showCaret = input(true);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-popover-panel', 'fw-popover-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div *ngIf=\"showCaret()\" class=\"fw-popover-caret\"></div>\n</div>\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Component, computed, effect, Input, input, model, signal } from '@angular/core';\nimport { MouseEvent } from 'react';\n\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\ntype PositionOption = 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n\n/**\n * component for mounting content in a floating container\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/latest/?path=/docs/components-popover--docs)\n */\n@Component({\n selector: 'fw-popover',\n templateUrl: './popover.component.html',\n styles: [],\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class FwPopoverComponent {\n @Input() position: PositionOption = 'above';\n trigger = input<CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin>();\n isOpen = model<boolean>(false);\n @Input() action: 'mouseenter' | 'click' = 'mouseenter';\n @Input() flyoutPanel: FwPopoverPanelComponent;\n delay = input<DelayLength>('short');\n delayMs = computed(() => {\n return delayMap[this.delay()];\n })\n showCaret = input(true);\n activePositionPair = signal<ConnectedOverlayPositionChange>(null);\n // for mapping from the connectionPairs to a named position\n panelPosition = computed<PositionOption>(() => {\n const currentPosition = this.activePositionPair()?.connectionPair;\n\n if (!currentPosition) {\n return this.position;\n }\n\n const positionNames = Object.keys(this.positionMap);\n\n const activePositionName = positionNames.find(positionName => {\n const pos = this.positionMap[positionName];\n return pos.originX === currentPosition.originX &&\n pos.originY === currentPosition.originY &&\n pos.overlayX === currentPosition.overlayX &&\n pos.overlayY === currentPosition.overlayY;\n })\n\n return (activePositionName || this.position) as PositionOption;\n })\n\n positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'above-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 40 },\n 'above-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -40 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n 'below-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 40 },\n 'below-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -40 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'left-above': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 37 },\n 'left-below': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -40 },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'right-above': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 37 },\n 'right-below': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -40 },\n };\n\n /**\n * Gets a list of fallback positions for the selected one\n * Preserves the primary axis i.e. which side of the origin the panel is on\n */\n getFallbackPositions = (): ConnectedPosition[] => {\n const positionSplitRegex = /(?<primary>[a-z]\\w+)-*(?<secondary>[a-z]\\w+)*/;\n const { primary, secondary } = positionSplitRegex.exec(this.position).groups;\n\n // '' represents a primary axis with no secondary i.e. 'above'\n // fallbacks if no secondary position\n const primaryAxisToFallbacks = {\n 'left': ['', 'below', 'above'],\n 'right': ['', 'below', 'above'],\n 'above': ['', 'left', 'right'],\n 'below': ['', 'left', 'right'],\n }\n\n // preference order for fallbacks\n const secondaryPositionFallbacks = {\n 'left': ['left', '', 'right'],\n 'right': ['right', '', 'left'],\n 'above': ['above', '', 'below'],\n 'below': ['below', '', 'above'],\n }\n\n const secondaryOptions = secondaryPositionFallbacks[secondary] || primaryAxisToFallbacks[primary];\n\n const positionArray = secondaryOptions.map(secondaryOption => {\n const addDash = secondaryOption ? '-' : '';\n const parsedOptionName = primary + addDash + secondaryOption;\n return this.positionMap[parsedOptionName];\n })\n\n return positionArray;\n }\n\n registerEventListeners = effect(() => {\n\n const trigger = this.trigger() as HTMLElement;\n\n if (!trigger) {\n return;\n }\n\n if (this.action === 'mouseenter' && !trigger.onmouseenter) {\n trigger.onclick = undefined;\n trigger.style.cursor = 'pointer';\n\n let timerId;\n\n trigger.onmouseenter = (): void => {\n timerId = this.openOnDelay();\n };\n\n // @ts-expect-error MouseEvent\n trigger.onmouseleave = (e: MouseEvent): void => {\n window.clearTimeout(timerId);\n\n const relatedTarget = (e.relatedTarget as HTMLElement);\n if (!relatedTarget?.classList.contains('fw-popover-panel') && !relatedTarget?.classList.contains('fw-popover-caret') && !relatedTarget?.classList.contains('cdk-overlay-pane')) {\n this.isOpen.set(false);\n }\n };\n }\n\n if (this.action === 'click' && !trigger.onclick) {\n trigger.onmouseenter = undefined;\n trigger.onmouseleave = undefined;\n\n trigger.onclick = (): void => {\n this.isOpen.update((val) => !val);\n };\n }\n })\n\n openOnDelay(): number {\n return window.setTimeout(() => {\n this.isOpen.set(true);\n }, this.delayMs())\n }\n\n\n backdropClick(): void {\n this.isOpen.set(false);\n }\n\n handlePanelLeave(): void {\n if (this.action === 'mouseenter') {\n this.isOpen.set(false);\n }\n }\n\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositionStrategy]=\"\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"getFallbackPositions()\"\n [cdkConnectedOverlayViewportMargin]=\"10\"\n (positionChange)=\"activePositionPair.set($event)\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"backdropClick()\">\n <fw-popover-panel\n @fadeInFadeOut\n [position]=\"panelPosition()\"\n (mouseLeave)=\"handlePanelLeave()\"\n [showCaret]=\"showCaret()\">\n <ng-content></ng-content>\n </fw-popover-panel>\n</ng-template>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwLayoutsModule } from '../layouts/layouts.module';\nimport { FwPopoverComponent } from './popover.component';\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwLayoutsModule,\n OverlayModule,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n declarations: [\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwPopoverModule {\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';\nimport { Component, computed, ElementRef, EventEmitter, HostBinding, HostListener, Input, input, Output, ViewEncapsulation } from '@angular/core';\n\nexport type DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nexport type SimplePosition = 'above' | 'below' | 'left' | 'right';\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n};\n\nconst isElementRef = (input: unknown): input is ElementRef<HTMLElement> => (\n (Boolean((input as ElementRef<HTMLElement>).nativeElement))\n)\n\n@Component({\n selector: 'fw-tooltip-panel',\n templateUrl: './tooltip-panel.component.html',\n styleUrls: ['./tooltip-panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class FwTooltipPanelComponent {\n\n @HostBinding('@fadeInFadeOut') animation;\n\n trigger = input(undefined, {\n transform: (unparsed: CdkOverlayOrigin | ElementRef<HTMLElement>): CdkOverlayOrigin => {\n if (isElementRef(unparsed)) {\n return new CdkOverlayOrigin(unparsed);\n }\n return unparsed;\n },\n })\n @Input() title = '';\n isOpen = input(false);\n position = input<SimplePosition>('below');\n connectedPosition = computed(() => [positionMap[this.position()]]);\n @Input() color?: 'light' | 'dark' = 'dark';\n @Input() maxWidth?: number = 200;\n @Input() displayCaret: boolean = true;\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n delay = input<DelayLength>('short');\n delayMs = computed(() => delayMap[this.delay()]);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip-panel', 'fw-tooltip-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div\n class=\"fw-tooltip-content-wrapper vision-dark-theme\"\n [ngClass]=\"'fw-tooltip-' + position()\"\n [ngStyle]=\"{'maxWidth': maxWidth+'px'}\">\n <ng-content></ng-content>\n <h5 class=\"vision-h5\">{{ title }}</h5>\n @if (displayCaret) {\n <div class=\"fw-tooltip-caret\"></div>\n }\n</div>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, computed, Directive, effect, ElementRef, inject, input, model, OnDestroy, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTooltipPanelComponent, SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nconst delayNameToMs = (name: DelayLength): number => {\n return delayMap[name];\n}\n\n\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n};\n\n\n/**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n@Directive({\n selector: '[fwTooltip]',\n standalone: true,\n})\nexport class FwTooltipDirective implements OnInit, OnDestroy {\n\n /***** External Context *****/\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private overlayService = inject(Overlay);\n\n /***** Internal Refs *****/\n\n private overlayRef = signal<OverlayRef | undefined>(undefined);\n private tooltipRef = signal<ComponentRef<FwTooltipPanelComponent> | undefined>(undefined);\n private tooltipPortal: ComponentPortal<FwTooltipPanelComponent>;\n\n /***** Inputs *****/\n\n // a lot of these ideally wouldn't be models,\n // but it makes it easier to interact with this from derivative directives\n\n // VS Code pulls the input that shares a name with the directive for giving context\n // so putting the top level comment on this input\n\n /**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n title = model<string>('Placeholder', {\n alias: 'fwTooltip',\n })\n\n /**\n * direction relative to the parent component that the tooltip will attempt to position itself to\n */\n position = model<SimplePosition>('above', {\n alias: 'fwTooltipPosition',\n });\n\n /**\n * maximum width of the tooltip in pixels\n */\n maxWidth = model<number>(200, {\n alias: 'fwTooltipMaxWidthPx',\n })\n\n /**\n * amount of delay before the tooltip displays\n *\n * none (0ms),\n * short (400ms),\n * long (700ms)\n */\n delayMs = input(400, {\n transform: delayNameToMs,\n alias: 'fwTooltipDelay',\n });\n\n /**\n * whether or not the tooltip should have a caret\n */\n displayCaret = input(true, {\n alias: 'fwTooltipCaret',\n });\n\n\n enabled = model(true, {\n alias: 'fwTooltipEnabled',\n });\n\n /***** Derived State *****/\n\n connectedPositions = computed<ConnectedPosition[]>(() => {\n // falback positions for if it doesn't fit in the specified position\n // tend towards closer first i.e. 'above' will try 'left' and 'right' before resorting to 'below\n const positionPreferenceOrderMap = {\n 'above': ['above', 'right', 'left', 'below'],\n 'right': ['right', 'below', 'above', 'left'],\n 'below': ['below', 'left', 'right', 'above'],\n 'left': ['left', 'above', 'below', 'right'],\n }\n\n const fallbackNamedPositions = positionPreferenceOrderMap[this.position()];\n const connectedPositions = fallbackNamedPositions.map(name => positionMap[name]);\n\n return connectedPositions;\n });\n\n positionStrategy = computed(() => {\n const positionBuilder = this.overlayService.position();\n const withOrigin = positionBuilder.flexibleConnectedTo(this.elementRef);\n const completedStrategy = withOrigin.withPositions(this.connectedPositions());\n return completedStrategy;\n });\n\n overlayConfig = computed<OverlayConfig>(() => ({\n positionStrategy: this.positionStrategy(),\n maxWidth: Number(this.maxWidth()),\n ScrollStrategyOptions: this.overlayService.scrollStrategies.close(),\n disposeOnNavigation: true,\n }));\n\n /***** Effects and Methods *****/\n\n addMouseEventListeners = effect(() => {\n\n const nativeElement = this.elementRef.nativeElement;\n\n nativeElement.addEventListener('mouseenter', () => {\n this.showTooltip();\n });\n\n nativeElement.addEventListener('mouseleave', () => {\n this.hideTooltip();\n });\n })\n\n ngOnInit(): void {\n this.tooltipPortal = new ComponentPortal(FwTooltipPanelComponent, this.viewContainerRef);\n\n this.overlayRef.set(this.overlayService.create());\n }\n\n\n private openDelayTimer: number;\n\n showTooltip(): void {\n if (!this.enabled() || !this.title()) {\n return;\n }\n\n const overlayRef = this.overlayRef();\n overlayRef.updatePositionStrategy(this.positionStrategy());\n\n if (this.openDelayTimer) {\n return;\n }\n\n this.openDelayTimer = window.setTimeout(() => {\n const tooltipRef = overlayRef.attach(this.tooltipPortal);\n this.tooltipRef.set(tooltipRef);\n\n tooltipRef.setInput('title', this.title());\n tooltipRef.setInput('position', this.position());\n tooltipRef.setInput('maxWidth', this.maxWidth());\n tooltipRef.setInput('displayCaret', this.displayCaret());\n tooltipRef.changeDetectorRef.detectChanges();\n }, this.delayMs());\n }\n\n positionChangeSub: Subscription | undefined;\n\n // updates the tooltip panel's caret position if a fallback position is used\n handlePositionChange = effect(() => {\n\n this.positionChangeSub?.unsubscribe();\n this.positionChangeSub = this.positionStrategy().positionChanges.subscribe(positionChange => {\n\n const newPosition = positionChange.connectionPair;\n\n const positionNames = Object.keys(positionMap);\n const newPositionName = positionNames.find(name => {\n const pos = positionMap[name];\n\n return pos.originX === newPosition.originX &&\n pos.originY === newPosition.originY &&\n pos.overlayX === newPosition.overlayX &&\n pos.overlayY === newPosition.overlayY;\n })\n\n if (newPositionName) {\n this.tooltipRef()?.setInput('position', newPositionName);\n this.tooltipRef()?.changeDetectorRef.detectChanges();\n }\n })\n })\n\n hideTooltip(): void {\n window.clearTimeout(this.openDelayTimer);\n this.openDelayTimer = undefined;\n this.overlayRef()?.detach();\n this.tooltipRef.set(undefined);\n }\n\n ngOnDestroy(): void {\n this.positionChangeSub?.unsubscribe();\n this.hideTooltip();\n }\n}\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { CdkOverlayOrigin, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Component, HostBinding, Input,input } from '@angular/core';\n\nimport { SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\n\n/**\n * component for giving extra context when a user hovers something\n * @deprecated use the [tooltip directive](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs) instead, intend to remove in v3\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-wrapped-tooltip--docs)\n */\n@Component({\n selector: 'fw-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n})\nexport class FwTooltipComponent {\n @Input() title: string;\n @Input() color: 'light' | 'dark' = 'dark';\n @Input() position: SimplePosition = 'above';\n @Input() maxWidth?: number = 200;\n @Input() fullWidth?: boolean = false;\n // TODO v3: remove, we shouldn't need to give direct control over a tooltip's open state\n @Input() isOpen: boolean = false;\n // TODO v3: this is a no-op input, we should remove\n @Input() trigger: CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin;\n\n delay = input<DelayLength>('short');\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip', this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n };\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n\n}\n","<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n [fwTooltip]=\"title\"\n [fwTooltipDelay]=\"delay()\"\n [fwTooltipPosition]=\"position\">\n <ng-content></ng-content>\n</div>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CdkNoDataRow } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverModule } from '../popover/popover.module';\nimport { FwTooltipComponent } from './tooltip.component';\nimport { FwTooltipDirective } from './tooltip.directive';\nimport { FwTooltipPanelComponent } from './tooltip-panel/tooltip-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwPopoverModule,\n OverlayModule,\n CdkNoDataRow,\n FwTooltipDirective,\n],\n exports: [\n FwTooltipComponent,\n FwTooltipPanelComponent,\n FwTooltipDirective,\n ],\n declarations: [\n FwTooltipComponent,\n FwTooltipPanelComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwTooltipModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, Subscription, timer } from 'rxjs';\n\nimport { FwAvatarComponent } from '../avatar/avatar.component';\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n\n/**\n * Component for displaying and managing the overflow of a list of `fw-avatar`s\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-avatar-list--docs)\n */\n@Component({\n selector: 'fw-avatar-list',\n standalone: true,\n imports: [\n FwAvatarModule,\n FwTooltipModule,\n ],\n templateUrl: './avatar-list.component.html',\n styleUrl: './avatar-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwAvatarListComponent implements OnInit, OnDestroy {\n\n private subscriptions: Subscription[] = [];\n\n hostElement = inject(ElementRef);\n avatars = contentChildren<FwAvatarComponent>(FwAvatarComponent);\n avatarElementRefs = contentChildren<FwAvatarComponent, ElementRef>(FwAvatarComponent, { read: ElementRef });\n moreText = viewChild.required<ElementRef<HTMLParagraphElement>>('moreText');\n changeDetector = inject(ChangeDetectorRef);\n resizeDebounceMs = input(100);\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcOverflow());\n this.subscriptions.push(sub);\n }\n\n applyBorderToChildAvatars = effect(() => {\n this.avatars().forEach(avatar => {\n avatar.bordered = true;\n });\n });\n\n childrenChanged = effect(() => {\n this.avatarElementRefs();\n this.calcOverflow();\n }, { allowSignalWrites: true });\n\n\n hiddenAvatars = signal([]);\n\n calcOverflow(): void {\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const avatarElements = this.avatarElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = this.moreText().nativeElement;\n\n avatarElements.forEach(avatar => avatar.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleAvatars = avatarElements.filter(avatar => {\n const avatarRect = avatar.getBoundingClientRect();\n return !(avatarRect.right > hostRect.right || avatarRect.bottom > hostRect.bottom);\n })\n\n const overflowingAvatars = avatarElements.toSpliced(0, visibleAvatars.length);\n\n if (overflowingAvatars.length > 0) {\n const lastVisibleAvatar = visibleAvatars[visibleAvatars.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleAvatar.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowingAvatars.push(lastVisibleAvatar);\n }\n\n this.hiddenAvatars.set(overflowingAvatars);\n overflowingAvatars.forEach(overflowAvatar => {\n overflowAvatar.classList.add('hidden');\n })\n } else {\n this.moreText().nativeElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwBadgeComponent {\n @Input() color?: 'default' | 'primary' | 'secondary' | 'error' | 'warning' | 'success' = 'default';\n @Input() variant?: 'standard' | 'dot' | 'static' = 'standard';\n @Input() value?: string = '';\n @Input() hideZero?: boolean = false;\n @Input() hideEmpty?: boolean = false;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-badge', this.color, this.variant].join(' ');\n }\n\n showBadge(): boolean {\n let show = true;\n if (this.hideEmpty) {\n show = !(this.value.length === 0);\n }\n if (this.hideZero) {\n show = !(this.value && this.value === '0' || (this.hideEmpty && this.value.length === 0));\n }\n return show;\n }\n}\n","<ng-content></ng-content>\n<div class=\"badge-content vision-p4\" *ngIf=\"showBadge()\">\n {{ value }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwBadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwBadgeComponent,\n ],\n declarations: [\n FwBadgeComponent,\n ],\n})\nexport class FwBadgeModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-crumb',\n templateUrl: './crumb.component.html',\n styleUrls: ['./crumb.component.scss'],\n})\nexport class FwCrumbComponent {\n @Input() title: string;\n @Input() description?: string;\n @Input() href?: string;\n @Input() last?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<Event> = new EventEmitter<Event>();\n\n handleClick(evt: Event): void {\n evt.stopPropagation();\n if (this.href) {\n window.location.href = this.href;\n }\n this.click.emit(evt);\n }\n}\n","<div (click)=\"handleClick($event)\">\n <h3 class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<fw-icon *ngIf=\"!last\" size=\"medium\" color=\"slate\">chevron-forward</fw-icon>\n","import { AfterContentInit, Component, ContentChildren, QueryList } from '@angular/core';\n\nimport { FwCrumbComponent } from './crumb.component';\n\n@Component({\n selector: 'fw-breadcrumbs',\n template: '<ng-content select=\"fw-crumb\"></ng-content>',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class FwBreadcrumbsComponent implements AfterContentInit {\n @ContentChildren(FwCrumbComponent) crumbs: QueryList<FwCrumbComponent>;\n\n ngAfterContentInit(): void {\n this.crumbs.forEach((crumb, index) => {\n if (index === this.crumbs.length - 1) {\n crumb.last = true;\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBreadcrumbsComponent } from './breadcrumbs.component';\nimport { FwCrumbComponent } from './crumb.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n declarations: [\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n})\nexport class FwBreadcrumbsModule {\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\n\n/** Based on [mat-progress-spinner](https://material.angular.io/components/progress-spinner/) */\n@Component({\n selector: 'fw-progress-spinner',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-spinner',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-small]': 'size === \"small\"',\n '[class.progress-show-value]': 'this.showValue',\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n // '[style.--progress-size]': 'diameter + \"px\"',\n // '[style.--progress-active-indicator-width]': 'diameter + \"px\"',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode',\n },\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwProgressSpinnerComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n ) {\n }\n\n /** Mode of the progress spinner. **/\n @Input() mode: 'determinate' | 'indeterminate' = 'indeterminate';\n\n /** Size of the progress spinner. **/\n @Input() size: 'small' | 'medium' = 'medium';\n\n /** Color of the progress spinner. **/\n @Input() color?: 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress spinner. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress spinner. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = Math.max(0, Math.min(100, v || 0));\n }\n\n private _value: number = 0;\n private _diameter = 20;\n private _strokeWidth: number = 3;\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n get diameter(): number {\n switch (this.size) {\n case 'small':\n this._diameter = 20;\n this._strokeWidth = 3;\n break;\n case 'medium':\n this._diameter = 36;\n this._strokeWidth = 4;\n break;\n }\n return this._diameter;\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n _circleRadius(): number {\n return (this.diameter - 10) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n _viewBox(): string {\n const viewBox = this._circleRadius() * 2 + this._strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius();\n }\n\n /** The dash offset of the svg circle. */\n _strokeDashOffset(): number {\n if (this.mode === 'determinate') {\n return (this._strokeCircumference() * (100 - this._value)) / 100;\n }\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n _circleStrokeWidth(): number {\n return (this._strokeWidth / this.diameter) * 100;\n }\n}\n","<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-indeterminate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-indeterminate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</ng-template>\n\n<div class=\"progress-determinate-container\" aria-hidden=\"true\" #determinateSpinner>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-determinate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-circle\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</div>\n<div class=\"progress-indeterminate-container\" aria-hidden=\"true\">\n <div class=\"progress-spinner-layer\">\n <div class=\"progress-circle-clipper progress-circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n <div class=\"progress-circle-clipper progress-circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n </div>\n</div>\n<p [ngClass]=\"['progress-label','size-'+size, 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n})\nexport class FwButtonComponent {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button', this.size, this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n }\n\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() variant?: 'ghost' | 'solid' | 'outline' | 'progress' = 'solid';\n @Input() type?: 'button' | 'submit' | 'reset';\n @Input() disabled?: boolean = false;\n @Input() fullWidth?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: IconType;\n\n getMappedColor(): 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' | undefined {\n switch (this.color) {\n case 'primary':\n case 'secondary':\n case 'slate':\n return this.color;\n case 'danger':\n return 'red';\n case 'warning':\n return 'orange';\n case 'success':\n return 'green';\n default:\n return undefined;\n }\n }\n}\n","<button [type]=\"type\" [class]=\"[color + '-' + variant, size]\" [disabled]=\"disabled\">\n <fw-progress-spinner size=\"small\" [color]=\"getMappedColor()\" *ngIf=\"variant==='progress'\"></fw-progress-spinner>\n <fw-icon *ngIf=\"!!leftIcon && variant!=='progress'\">{{ leftIcon }}</fw-icon>\n <div class=\"spacer\" *ngIf=\"!leftIcon\"></div>\n <span><ng-content></ng-content></span>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n</button>\n","import { Directive, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Directive({\n selector: '[fwButton]',\n})\nexport class FwButtonDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n font-family: Inter, sans-serif;\n font-size: 14px;\n line-height: 14px;\n font-style: normal;\n font-weight: 500;\n display: inline-flex;\n height: 36px;\n padding: 12px;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n border: 1px solid transparent;\n border-radius: 8px;\n background-color: var(--slate-light);\n color: var(--typography-base);\n cursor: pointer;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n\n@Directive({\n selector: '[fwButtonPrimary]',\n})\nexport class FwButtonPrimaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--primary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSecondary]',\n})\nexport class FwButtonSecondaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--secondary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonDanger]',\n})\nexport class FwButtonDangerDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--red-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSuccess]',\n})\nexport class FwButtonSuccessDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--green-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n/** Based on [mat-progress-bar](https://material.angular.io/components/progress-bar/) */\n@Component({\n selector: 'fw-progress-bar',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-bar progress progress-animation-ready',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-show-value]': 'this.showValue',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': '_isIndeterminate() ? null : value',\n '[attr.mode]': 'mode',\n },\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwProgressBarComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n }\n\n /** Mode of the progress bar. **/\n @Input() mode: 'determinate' | 'indeterminate' | 'buffer' = 'indeterminate';\n\n /** Color of the progress bar. **/\n @Input() color: 'primary' | 'secondary' | 'orange' | 'red' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress bar. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _value: number = 0;\n\n /** Buffer value of the progress bar. Defaults to zero. */\n @Input()\n get bufferValue(): number {\n return this._bufferValue || 0;\n }\n\n set bufferValue(v: number) {\n this._bufferValue = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _bufferValue = 0;\n\n /** Gets the transform style that should be applied to the primary bar. */\n _getPrimaryBarTransform(): string {\n return `scaleX(${this._isIndeterminate() ? 1 : this.value / 100})`;\n }\n\n /** Gets the `flex-basis` value that should be applied to the buffer bar. */\n _getBufferBarFlexBasis(): string {\n return `${this.mode === 'buffer' ? this.bufferValue : 100}%`;\n }\n\n /** Returns whether the progress bar is indeterminate. */\n _isIndeterminate(): boolean {\n return this.mode === 'indeterminate';\n }\n}\n\n/** Clamps a value to be between two numbers, by default 0 and 100. */\nfunction clamp(v: number, min = 0, max = 100): number {\n return Math.max(min, Math.min(max, v));\n}\n","<div class=\"progress-wrapper\">\n <div class=\"progress-buffer\" aria-hidden=\"true\">\n <div\n class=\"progress-buffer-bar\"\n [style.flex-basis]=\"_getBufferBarFlexBasis()\"></div>\n <div class=\"progress-buffer-dots\" *ngIf=\"mode === 'buffer'\"></div>\n </div>\n <div\n class=\"progress-bar progress-primary-bar\"\n aria-hidden=\"true\"\n [style.transform]=\"_getPrimaryBarTransform()\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n <div class=\"progress-bar progress-secondary-bar\" aria-hidden=\"true\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n</div>\n<p [ngClass]=\"['progress-label', 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwProgressBarComponent } from './bar/bar.component';\nimport { FwProgressSpinnerComponent } from './spinner/spinner.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n declarations: [\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n})\nexport class FwProgressModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwButtonComponent } from './button.component';\nimport {\n FwButtonDangerDirective,\n FwButtonDirective,\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n} from './button.directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwProgressModule,\n ],\n exports: [\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n declarations: [\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n})\nexport class FwButtonModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-button-toggle-item',\n templateUrl: './button-toggle-item.component.html',\n styleUrls: [],\n})\nexport class FwButtonToggleItemComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() selectedIcon?: IconType;\n @Input() value?: string;\n @Input() selected: boolean = false;\n @Input() disabled: boolean = false;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'slate';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() selectedStyle?: 'background' | 'foreground' = 'background';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle-item', this.title && this.title.length > 0 ? 'has-title' : 'no-title'].filter(Boolean).join(' ');\n };\n\n constructor() {\n }\n\n handleClick(): void {\n if (this.value) {\n this.click.emit(this.value);\n }\n }\n}\n","<fw-button\n [leftIcon]=\"(selected && selectedIcon) ? selectedIcon : icon\"\n [variant]=\"(selected && selectedStyle==='background') ? 'solid':'outline'\"\n [color]=\"selected ? selectedColor:color\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (click)=\"handleClick()\">\n {{ title }}\n</fw-button>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from '../button-toggle/button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-group',\n styleUrls: ['./button-group.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonGroupComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonGroupComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-group', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string[]>();\n private _value: string[];\n @Input()\n get value(): string[] {\n return this._value;\n }\n\n set value(newValue: string[]) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string[]) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string[]): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n updateValue(value: string[]): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (this.value.indexOf(toggle.value) >= 0) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n toggle.selected = !toggle.selected;\n const vals = this.toggleButtons.map(tb => {\n if (tb.selected) {\n return tb.value;\n } else {\n return null;\n }\n }).filter(Boolean);\n this.writeValue(vals);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-toggle',\n styleUrls: ['./button-toggle.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonToggleComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonToggleComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n // Inputs need an `${inputName}Change` event to support two-way binding to [(value)]\n // https://angular.dev/guide/templates/two-way-binding\n valueChange(value: string): void {\n this.updateValue(value);\n }\n\n updateValue(value: string): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (toggle.value === this.value) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n if (this.toggleButtons.length === 1) {\n toggle.selected = !toggle.selected;\n } else {\n this.toggleButtons.forEach(t => {\n t.selected = false;\n });\n toggle.selected = true;\n }\n const val = this.toggleButtons.find(t => t.selected)?.value;\n this.writeValue(val);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonToggleComponent } from './button-toggle.component';\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n@NgModule({\n exports: [\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n declarations: [\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n ],\n})\nexport class FwButtonToggleModule {\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwButtonToggleModule } from '../button-toggle/button-toggle.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n declarations: [\n FwButtonGroupComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n FwButtonToggleModule,\n ],\n})\nexport class FwButtonGroupModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class FwCardComponent {\n @Input() value?: object | string;\n @Input() disabled?: boolean;\n @Input() focused?: boolean;\n @Input() constrained?: boolean;\n @Input() selectable?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n}\n","<div\n class=\"fw-card\"\n [class.focused]=\"focused\"\n [class.constrained]=\"constrained\"\n [class.selectable]=\"selectable\"\n [class.disabled]=\"disabled\"\n (click)=\"select && selectable && !disabled ? select.emit(value) : undefined\">\n <ng-content select=\"fw-card-header\"></ng-content>\n <ng-content select=\"fw-card-author\"></ng-content>\n <ng-content select=\"fw-card-content\"></ng-content>\n <ng-content select=\"fw-card-footer\"></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-attr',\n templateUrl: './card-attribute.component.html',\n styleUrls: ['./card-attribute.component.scss'],\n})\nexport class FwCardAttributeComponent {\n @Input() icon: IconType;\n @Input() title: string;\n}\n","<fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n<h5 *ngIf=\"title\" class=\"vision-h5\">{{ title }}</h5>\n<ng-content></ng-content>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-card-author',\n templateUrl: './card-author.component.html',\n styleUrls: ['./card-author.component.scss'],\n})\nexport class FwCardAuthorComponent {\n @Input() name: string;\n @Input() details: string;\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<div class=\"author-text\">\n <h5 class=\"vision-h5\">{{ name }}</h5>\n <p class=\"vision-p3\">{{ details }}</p>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-card-content',\n template: '<ng-content></ng-content>',\n styleUrls: ['./card-content.component.scss'],\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class FwCardContentComponent {\n\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n selector: 'fw-card-footer',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwCardFooterComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-top: 8px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-header',\n templateUrl: './card-header.component.html',\n styleUrls: ['./card-header.component.scss'],\n})\nexport class FwCardHeaderComponent {\n @Input() title?: string;\n @Input() description?: string;\n @Input() leftIcon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'muted' | 'typography' = 'primary';\n}\n","<ng-content select=\"fw-app-icon\"></ng-content>\n<fw-icon [color]=\"iconColor\" *ngIf=\"leftIcon\">{{ leftIcon }}</fw-icon>\n<div class=\"card-header-title\">\n <h3 *ngIf=\"title\" class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<div class=\"card-header-key\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwCardComponent } from './card.component';\nimport { FwCardAttributeComponent } from './card-attribute/card-attribute.component';\nimport { FwCardAuthorComponent } from './card-author/card-author.component';\nimport { FwCardContentComponent } from './card-content/card-content.component';\nimport { FwCardFooterComponent } from './card-footer/card-footer.component';\nimport { FwCardHeaderComponent } from './card-header/card-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAvatarModule,\n ],\n exports: [\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n declarations: [\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n})\nexport class FwCardModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-checkbox',\n styleUrls: ['./checkbox.component.scss'],\n templateUrl: './checkbox.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwCheckboxComponent,\n multi: true,\n }],\n})\nexport class FwCheckboxComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() title: string;\n @Input() focused: boolean = false;\n\n get checkboxStyles(): string[] {\n return [\n 'fw-checkbox',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.checked === undefined ? 'indeterminate' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n @Input() checked?: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div class=\"checkbox-wrapper\" (click)=\"handleClick()\" [ngClass]=\"disabled?'disabled':''\">\n <div [ngClass]=\"checkboxStyles\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n <p class=\"vision-p2\">{{ title }}\n <ng-content></ng-content>\n </p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n ],\n exports: [\n FwCheckboxComponent,\n ],\n declarations: [\n FwCheckboxComponent,\n ],\n})\nexport class FwCheckboxModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n})\nexport class FwChipComponent {\n @Input() value?: object | string;\n @Input() variant?: 'enabled' | 'hovered' | 'focused' | 'disabled' = 'enabled';\n @Input() color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() icon?: IconType;\n @Input() title?: string;\n @Input() description?: string;\n @Input() showClose?: boolean;\n @Input() disabled?: boolean;\n @Input() selected?: boolean;\n @Input() textWrap? = true;\n @Input() selectable?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n\n handleClose(event: MouseEvent): void {\n event.stopPropagation();\n if (this.close) {\n this.close.emit();\n }\n }\n}\n","<div\n [ngClass]=\"['chip', variant, 'chip-'+color]\" [class.disabled]=\"disabled\" [class.focused]=\"selected\"\n [class.selectable]=\"selectable\" (click)=\"selectable ? select.emit(value) : undefined\">\n\n @if (icon) {\n <fw-icon class=\"chip-icon\">{{ icon }}</fw-icon>\n }\n\n <ng-content select=\"fw-avatar\"></ng-content>\n <ng-content select=\"fw-progress-spinner\"></ng-content>\n @if (title) {\n <div class=\"chip-text-container\">\n <span [class.text-wrap]=\"!textWrap\" class=\"chip-text\">{{ title }}</span>\n\n @if (description) {\n <span class=\"description\">{{ description }}</span>\n }\n </div>\n }\n\n @if (showClose) {\n <div class=\"close-icon\" (click)=\"handleClose($event)\">\n <fw-icon>close</fw-icon>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwChipComponent } from './chip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n ],\n exports: [\n FwChipComponent,\n ],\n declarations: [\n FwChipComponent,\n ],\n})\nexport class FwChipModule {\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwSwitchComponent),\n multi: true,\n },\n ],\n})\nexport class FwSwitchComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() title?: string;\n @Input() titlePosition?: 'start' | 'end' = 'end';\n @Input() size?: 'small' | 'medium' = 'medium';\n @Input() color?: 'default' | 'primary' | 'secondary' = 'primary';\n @Input() disabled?: boolean;\n @Input() checked: boolean = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p class=\"vision-p2\">{{ title }}</p></label>\n</div>\n","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-contained-input',\n templateUrl: './contained-input.component.html',\n styleUrls: ['./contained-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwContainedInputComponent,\n multi: true,\n }],\n})\nexport class FwContainedInputComponent implements ControlValueAccessor {\n @Input() title: string;\n @Input() description?: string;\n @Input() status?: string;\n @Input() inputPosition?: 'start' | 'end' = 'end';\n @Input() inputVariant?: 'none' | 'switch' | 'checkbox' = 'switch';\n @Input() checked?: boolean;\n @Input() disabled?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n @HostListener('click') clicked(): void {\n if (!this.disabled) {\n this.writeValue(!this.checked);\n this.onChange(this.checked);\n this.change.emit(this.checked);\n }\n }\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-contained-input',\n `position-${this.inputPosition}`,\n [this.checked ? 'checked' : ''],\n [this.disabled ? 'disabled' : ''],\n ].join(' ');\n };\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: boolean): void => {\n };\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"vision-h4 section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-switch>\n <fw-checkbox\n *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-checkbox>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwSwitchComponent } from './switch.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwSwitchComponent,\n ],\n declarations: [\n FwSwitchComponent,\n ],\n})\nexport class FwSwitchModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwSwitchModule } from '../switch/switch.module';\nimport { FwContainedInputComponent } from './contained-input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwSwitchModule,\n FwCheckboxModule,\n ],\n exports: [\n FwContainedInputComponent,\n ],\n declarations: [\n FwContainedInputComponent,\n ],\n})\nexport class FwContainedInputModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-date-input',\n templateUrl: './date-input.component.html',\n styleUrls: ['./date-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwDateInputComponent,\n multi: true,\n }],\n})\nexport class FwDateInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string = 'mm/dd/yyyy';\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: 'date' | 'time' | 'datetime-local' = 'date';\n @Input() max?: string;\n @Input() min?: string;\n @Input() step?: number;\n @Input() autofocus?: string;\n @Input() autocomplete?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n if (this.isIsoDate(newValue)) {\n this.setDateString(newValue);\n } else {\n this.writeValue(newValue);\n }\n }\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n public setDate(value: Date): void {\n const year = value.getFullYear();\n const month = (value.getMonth() + 1).toString().padStart(2, '0');\n const day = value.getDate().toString().padStart(2, '0');\n const hours = value.getHours().toString().padStart(2, '0');\n const minutes = value.getMinutes().toString().padStart(2, '0');\n if (this.type === 'date') {\n this.writeValue(`${year}-${month}-${day}`);\n }\n if (this.type === 'datetime-local') {\n this.writeValue(`${year}-${month}-${day}T${hours}:${minutes}:00`);\n }\n if (this.type === 'time') {\n this.writeValue(`${hours}:${minutes}`);\n }\n }\n\n public setDateString(isoValue: string): void {\n this.setDate(new Date(isoValue));\n }\n\n isIsoDate(str): boolean {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) {\n return false;\n }\n const d = new Date(str);\n return !isNaN(d.getTime()) && d.toISOString() === str; // valid date\n }\n\n writeValue(obj: string): void {\n this._value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: Event): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n}\n","<div class=\"full-container\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">\n {{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n <input\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n (change)=\"changeHandler($event)\"\n [value]=\"value\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\">\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwDateInputComponent } from './date-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n ],\n exports: [\n FwDateInputComponent,\n ],\n declarations: [\n FwDateInputComponent,\n ],\n})\nexport class FwDateInputModule {\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\nexport enum DialogWidth {\n ExtraSmall = 'extra-small',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large',\n Responsive = 'responsive'\n}\n\n@Component({\n selector: 'fw-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class FwDialogComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() protected dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {\n [`dialog-width-${this.width}`]: true,\n 'dialog-closing': this.isClosing,\n };\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n protected handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<div class=\"fw-dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DEFAULT_DIALOG_CONFIG, Dialog, DIALOG_SCROLL_STRATEGY, DialogConfig, DialogRef } from '@angular/cdk/dialog';\nimport { ComponentType, Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Inject, Injectable, Injector, Optional, SkipSelf } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwDialogService extends Dialog {\n constructor(private overlay: Overlay,\n _injector: Injector,\n public injector: Injector,\n @Optional() @Inject(DEFAULT_DIALOG_CONFIG) _dialogConfig: DialogConfig,\n public _overlayContainerRef: OverlayContainer,\n @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() _parentDialog: Dialog,\n @Optional() public dialogRef: DialogRef<any>) {\n super(overlay, _injector, _dialogConfig, _parentDialog, _overlayContainerRef, scrollStrategy);\n }\n\n /**\n * Open a custom component in an overlay and positioned near the top\n */\n openDialog<T>(component: ComponentType<T>, config?: DialogConfig & { canCloseCheck?: () => boolean, responsive?: boolean }, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: config?.responsive \n ? this.overlay.position().global()\n .top('5vh') // Reduced top margin for mobile optimization\n .centerHorizontally()\n : this.overlay.position().global()\n .top(topOffset ? topOffset : '10vh')\n .centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n const dialogRef = super.open(component, config);\n\n // Handle backdrop clicks with animation\n if (dialogRef.overlayRef.backdropElement) {\n dialogRef.overlayRef.backdropElement.addEventListener('click', evt => {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n if (isBackdropCloseEnabled) {\n evt.stopPropagation();\n this.closeWithAnimation(dialogRef);\n }\n });\n }\n\n // Handle ESC key with animation\n dialogRef.overlayRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n\n if (isBackdropCloseEnabled) {\n this.closeWithAnimation(dialogRef);\n }\n }\n });\n\n return dialogRef;\n }\n\n openModalDialog<T>(component: ComponentType<T>, config?: DialogConfig, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: this.overlay.position().global().top(topOffset ? topOffset : '10vh').centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n return super.open(component, config);\n }\n\n closeWithAnimation(dialogRef: DialogRef<any>): void {\n const dialogElement = dialogRef.overlayRef.overlayElement?.querySelector('fw-dialog, fw-dialog-confirm, fw-dialog-simple');\n\n if (dialogElement && !dialogElement.classList.contains('dialog-closing')) {\n if (dialogElement.tagName.toLowerCase() !== 'fw-dialog') {\n // For fw-dialog-confirm and fw-dialog-simple, apply the class to the inner fw-dialog element\n const innerDialog = dialogElement.querySelector('fw-dialog');\n if (innerDialog) {\n innerDialog.classList.add('dialog-closing');\n }\n } else {\n dialogElement.classList.add('dialog-closing');\n }\n\n setTimeout(() => {\n dialogRef.close();\n }, 300);\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-actions',\n})\nexport class FwDialogActionsComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 16px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-content',\n})\nexport class FwDialogContentComponent {\n @Input() padded?: boolean;\n\n @HostBinding('style') get style(): SafeStyle {\n if (this.padded) {\n return this.sanitizer.bypassSecurityTrustStyle(`\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n `);\n } else {\n return '';\n }\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n})\nexport class FwDialogConfirmComponent {\n @Input() title?: string = 'Confirm';\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() confirmColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'primary';\n @Input() cancelColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'slate';\n @Input() confirmButtonText?: string = 'Confirm';\n @Input() confirmButtonIcon?: IconType = 'done-check';\n @Input() cancelButtonText?: string = 'Cancel';\n @Input() contentIcon?: string;\n @Input() contentTitle?: string = 'Are you sure?';\n @Input() contentText?: string;\n @Input() showConfirmButtonIcon = true;\n @Input() showClose = false;\n @Input() width: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = 'extra-small';\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n protected handleConfirm(): void {\n this.dialogRef.close(true);\n this.confirm.emit();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n @if (contentIcon) {\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\">\n {{ contentIcon }}\n </fw-icon>\n }\n\n @if (contentTitle) {\n <p class=\"vision-p2 content-title\">\n {{ contentTitle }}\n </p>\n }\n\n @if (contentText) {\n <p class=\"vision-p2 content-text\">\n {{ contentText }}\n </p>\n }\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n @if (cancelButtonText) {\n <fw-button\n variant=\"outline\"\n [color]=\"cancelColor\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n }\n\n @if (confirmButtonText) {\n <fw-button\n variant=\"solid\"\n [color]=\"confirmColor\"\n [leftIcon]=\"showConfirmButtonIcon ? confirmButtonIcon : null\"\n (click)=\"handleConfirm()\">\n {{ confirmButtonText }}\n </fw-button>\n }\n </fw-dialog-actions>\n</fw-dialog>\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-header',\n})\nexport class FwDialogHeaderComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n border-bottom: 1px solid var(--separations-base);\n padding: 12px 16px;\n height: 44px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\nimport { DialogWidth } from './dialog.component';\n\n@Component({\n selector: 'fw-dialog-simple',\n templateUrl: './dialog-simple.component.html',\n styleUrls: ['./dialog-simple.component.scss'],\n})\nexport class FwDialogSimpleComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n @Input() actionButtonText?: string;\n @Input() actionButtonIcon?: string;\n @Input() cancelButtonText?: string;\n @Input() alternateButtonText?: string;\n @Input() alternateButtonIcon?: IconType;\n @Input() contentText?: string;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() action: EventEmitter<void> = new EventEmitter<void>();\n @Output() alternateAction: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n@Injectable()\nexport class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {};\n private messages: { [key: string]: string } = {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MinimalTranslationService,TranslationService } from '../translation.service';\nimport { TranslatePipe } from './translate.pipe';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n@NgModule({\n declarations: exports,\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { PipesModule } from '../shared/pipes/pipes.module';\nimport { FwDialogComponent } from './dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogConfirmComponent } from './dialog-confirm.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\nimport { FwDialogHeaderComponent } from './dialog-header.component';\nimport { FwDialogSimpleComponent } from './dialog-simple.component';\n\n@NgModule({\n declarations: [\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n imports: [\n CommonModule,\n DialogModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n PipesModule,\n ],\n exports: [\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n providers: [\n FwDialogService,\n ],\n})\nexport class FwDialogsModule {\n}\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n})\nexport class FwTagComponent {\n @Input() size?: 'small' | 'large' = 'small';\n @Input() color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() icon?: IconType;\n @Input() title?: string;\n}\n","<div [ngClass]=\"['tag', 'tag-'+size, 'tag-'+color]\">\n <fw-icon *ngIf=\"icon\" class=\"tag-icon\">{{ icon }}</fw-icon>\n <div class=\"tag-text\" *ngIf=\"title\">\n <span>{{ title }}</span>\n </div>\n</div>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-form-heading',\n templateUrl: './form-heading.component.html',\n styleUrls: ['./form-heading.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwFormHeadingComponent {\n @HostBinding('attr.class') class = 'fw-form-heading';\n @Input() title: string;\n @Input() description?: string;\n @Input() required?: boolean;\n @Input() status?: string;\n @Input() statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <div>\n <div class=\"section-heading\">\n <h4 class=\"vision-h4\">\n <span>{{ title }}</span>\n <span *ngIf=\"required\" class=\"required\">*</span>\n </h4>\n <fw-tag *ngIf=\"status\" [color]=\"statusColor\" [title]=\"status\"></fw-tag>\n <ng-content select=\"fw-tooltip\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </div>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagComponent } from './tag.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwTagComponent,\n ],\n declarations: [\n FwTagComponent,\n ],\n})\nexport class FwTagModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagModule } from '../tag/tag.module';\nimport { FwFormHeadingComponent } from './form-heading.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwTagModule,\n ],\n exports: [\n FwFormHeadingComponent,\n ],\n declarations: [\n FwFormHeadingComponent,\n ],\n})\nexport class FwFormHeadingModule {\n}\n","// adapted from https://github.com/yuyang041060120/ng2-validation\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { isAfter,isBefore, isSameDay, parseISO } from 'date-fns';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\n\nexport class FwValidators {\n static phone: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n return isValidPhoneNumber(v) ? null : { 'phone': true };\n };\n\n static email: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegex.test(v) ? null : { 'email': true };\n };\n\n static url: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const urlRegEx = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return urlRegEx.test(v) ? null : { 'url': true };\n };\n}\n\nconst isFormControl = (obj: unknown | AbstractControl): obj is AbstractControl => {\n return Boolean((obj as AbstractControl)?.status);\n}\n\n/**\n * @description Checks that passed form control's value is after passed date\n * @param earliestDateArg Date object or another form control\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns\n */\nexport const notBeforeDate = (earliestDateArg: AbstractControl | Date): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n const valueToCheck = parseISO(control.value);\n const earliestDate = isFormControl(earliestDateArg) ? parseISO(earliestDateArg.value as string) : earliestDateArg;\n\n const isInvalid = isBefore(valueToCheck, earliestDate);\n const areSameDay = isSameDay(valueToCheck, earliestDate);\n\n const error = {\n dateRange: 'date range is invalid',\n }\n\n return (isInvalid && !areSameDay) ? error : null;\n }\n}\n\n/**\n * @description Checks that the date emitted by the attached form control is not in the future\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns Validation error or null\n */\nexport const notFutureDate = (): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n // assume the control uses an ISO timestamp\n const valueToCheck = parseISO(control.value);\n\n const today = new Date();\n const isFuture = isAfter(valueToCheck, today);\n\n return isFuture ? { isFuture: true } : null;\n }\n}\n","export type IconType = typeof allIcons[number];\n\nexport const allIcons = <const>[\n '3d-sphere-rotate-arrows',\n 'add-circle',\n 'add-new-create',\n 'add-row-above',\n 'add-row-below',\n 'add-server',\n 'add-server-databases-endpoint',\n 'add-user',\n 'ai',\n 'apple',\n 'apply-copy-duplicate',\n 'archive-documents-box-big',\n 'arrange-filter-sort',\n 'arrow',\n 'arrow-annotate',\n 'arrow-back',\n 'arrow-back-collapse',\n 'arrow-down',\n 'arrow-forward',\n 'arrow-forward-collapse',\n 'arrow-redo',\n 'arrow-rotate',\n 'arrow-rotate-restore',\n 'arrow-undo',\n 'arrow-up',\n 'arrow-up-high-priority',\n 'arrow-up-low-priority',\n 'barcode-serial',\n 'barcode-stack-scan',\n 'bell-notification',\n 'bezier-curve',\n 'blocks-code-test-checkmark',\n 'book-lab-flask',\n 'bookmark',\n 'bookmark-plus-add',\n 'brain',\n 'brightness-photo-edit',\n 'browser-internet-web-windows',\n 'brush-edit-create',\n 'bucket-paint',\n 'button-form-element',\n 'calendar-arrow-left-center',\n 'calendar-schedule',\n 'camera-photo-capture',\n 'cash-banknotes',\n 'certificate',\n 'chart-square',\n 'chart-trend-square',\n 'chat-messages-bubble',\n 'check-mark-certificate',\n 'checklist',\n 'checklist-tasks-chechmark-square',\n 'chevron-back',\n 'chevron-down',\n 'chevron-forward',\n 'chevron-input-number',\n 'chevron-up',\n 'circle',\n 'circle-ellipses',\n 'clap-applause-hands',\n 'clip-attachment',\n 'clock-history',\n 'clock-hour-4',\n 'clock-loading',\n 'close',\n 'close-circled',\n 'closed-freehand-vector-poly',\n 'cloud-network-add',\n 'cloud-storage-checkmark',\n 'cloud-upload',\n 'code-block-embed',\n 'code-text',\n 'color-design-profile',\n 'color-ven-design-profile-central',\n 'column-edit',\n 'computer-chip',\n 'contract-vertical',\n 'contrast-photo-edit',\n 'conversion-exchange',\n 'copy-item',\n 'creative-commons',\n 'crosshair',\n 'crown-style-circle',\n 'cursor-click',\n 'cursor-select',\n 'curve-object-secet-cursor',\n 'data-tree',\n 'delivery-shipment-packages',\n 'dna-hospital-medical',\n 'document-file-add-plus-bottom-left',\n 'document-file-blank',\n 'document-file-checkmark-bottom-left',\n 'document-file-deleted-cross-remove-center-cancel',\n 'document-file-download',\n 'document-file-list-protocol',\n 'document-file-tar',\n 'document-file-upload-bottom-center',\n 'document-file-zip',\n 'document-status-done-checkmark',\n 'document-visible',\n 'documents-file',\n 'documents-file-checkmark',\n 'documents-file-move-arrow-right',\n 'documents-files',\n 'done-check',\n 'done-check-tracked',\n 'download',\n 'download-status',\n 'drag-drop-indicator',\n 'draw-rectangle',\n 'earth-globe-fail',\n 'edit',\n 'edit-boxed',\n 'edit-erase',\n 'email',\n 'email-mail-checkmark-group',\n 'embed-circle',\n 'exchange',\n 'expand-pathfinder-dot-square-segmentation',\n 'facebook',\n 'file-blank-image-load-mask',\n 'file-blank-search',\n 'file-download',\n 'file-text',\n 'files',\n 'files-library',\n 'files-library-content',\n 'filter',\n 'filter-sort-add',\n 'filter-sort-check-mark',\n 'filter-sort-delete',\n 'flag',\n 'flip-horizontal',\n 'flip-vertical',\n 'floppy-save',\n 'flywheel-mark-logo',\n 'flywheel-viewer-mark-logo',\n 'folder-add',\n 'folder-blank',\n 'folder-checked',\n 'folder-copy-expand-arrow-down',\n 'folder-copy-expand-arrow-up',\n 'folder-group',\n 'folder-move',\n 'folder-open',\n 'folder-share',\n 'form-metadata-element',\n 'free-rights',\n 'freehand-vector-poly',\n 'full-screen-zoom',\n 'git-add-branch',\n 'git-branch',\n 'git-merge',\n 'git-merge-draft',\n 'git-pull-request-2',\n 'github-color-login',\n 'gitlab',\n 'graduate-hat',\n 'grid-dot-square',\n 'grid-layout',\n 'grid-layout-9-square',\n 'hammer-legal-square',\n 'hammer-screwdriver',\n 'hand-money-currency',\n 'header-form-element',\n 'home-modern-door',\n 'home-modern-option-lines',\n 'human-artificial-intelligence',\n 'icon-placeholder',\n 'image-photo-copy-left-down',\n 'image-picture-square',\n 'information-circle',\n 'invoice',\n 'invoice-checkmark-paid',\n 'italic',\n 'items-group-elements',\n 'key',\n 'keyboard',\n 'keychain',\n 'label-tag',\n 'laptop-health-medical-cross',\n 'layers',\n 'layout',\n 'layout-grid',\n 'line',\n 'link',\n 'link-unlink',\n 'linkedin',\n 'linux',\n 'list-paragraph',\n 'list-paragraph-number',\n 'list-test-lab-flask',\n 'livewire-tool',\n 'loading-status-checkmark',\n 'lock',\n 'lock-unlock',\n 'logout',\n 'lungs',\n 'markdown',\n 'measure-angle',\n 'measure-ruler-calibration',\n 'media-library-imports-dowload',\n 'menu-burger-handle',\n 'menu-horizontal',\n 'menu-list-form-square',\n 'menu-vertical',\n 'message-chat-add-plus',\n 'message-chat-info',\n 'message-chat-question-support',\n 'message-checkmark-sent',\n 'message-question-checkmark',\n 'microphone-mic-rec',\n 'microphone-mic-rec-circle',\n 'microphone-mic-recording-circle',\n 'minus',\n 'modalities',\n 'molecule',\n 'money',\n 'money-coin',\n 'money-dollar',\n 'monitor-computer',\n 'moon-night-mode',\n 'mouse-big',\n 'mouse-scroll',\n 'move',\n 'music-play-resume',\n 'music-stop',\n 'mute',\n 'network-storage-alert',\n 'notebook',\n 'notebook-add-plus',\n 'notebook-open',\n 'notebook-pen-edit',\n 'notes-pen',\n 'object-search-zoom-plus',\n 'open',\n 'paint-roller',\n 'pause',\n 'pen-edit-circle',\n 'pen-edit-compose-new',\n 'pencil-edit-create',\n 'photo-edit-brightness-invert',\n 'pie-chart',\n 'pie-graph-chart-sample',\n 'plus-add-rectangle',\n 'polygon',\n 'private-mode-protection-circle',\n 'protection-target',\n 'protective-mask',\n 'question-circle',\n 'quote',\n 'radiology-scan',\n 'radiology-scan-circle',\n 'reader-studies',\n 'rotate',\n 'rotate-arrow-manual',\n 'rotate-item-left',\n 'rotate-item-right',\n 'rotate-refresh',\n 'ruler',\n 'ruler-bidirectional',\n 'scanner',\n 'search',\n 'search-loop',\n 'search-user-profile-person',\n 'search-zoom-minus',\n 'search-zoom-plus',\n 'section-form-element',\n 'send-message-share',\n 'server',\n 'server-checkmark',\n 'server-database-endpoint',\n 'server-databases-checkmark-user',\n 'server-databases-connect',\n 'server-databases-download',\n 'server-databases-key-protection',\n 'server-databases-minimal-download',\n 'server-databases-sync',\n 'server-databases-sync-import',\n 'server-upload',\n 'servers-database',\n 'setting-gear',\n 'settings-adjust',\n 'settings-gear',\n 'settings-gear-square',\n 'settings-select',\n 'shapes-objects',\n 'share',\n 'shield-protect',\n 'show-visible',\n 'smiley-emoji-face',\n 'speed-dashboard',\n 'square-fill',\n 'square-fill-outline',\n 'square-outline',\n 'star',\n 'star-ai-artificial-intelligence',\n 'stars-light-sparkle',\n 'stomach',\n 'stop-minus',\n 'stretch-vertical',\n 'substract-group',\n 'switch',\n 'target',\n 'target-space-object-select',\n 'tasklist-to-do-checkmark',\n 'technology-cube-3d',\n 'test-lab-flask',\n 'text-bold',\n 'text-cross',\n 'text-h1',\n 'text-h2',\n 'text-input-form',\n 'text-long',\n 'text-short-form-element',\n 'text-underline',\n 'thumbs-down-dislike',\n 'thumbs-up-like',\n 'timer-clock-style',\n 'trash-bin-warning',\n 'trash-delete',\n 'twitter',\n 'undone-uncheck-untracked',\n 'unlimited-repeat-subscription-circle',\n 'upload',\n 'user',\n 'user-checked',\n 'user-delete-cross',\n 'user-document',\n 'user-group',\n 'user-key',\n 'user-lock',\n 'user-profile-cards-pool',\n 'user-profile-group-discovery',\n 'user-setting-gear',\n 'video-player-controls',\n 'visible-eye-hidden',\n 'volume-full',\n 'warning',\n 'warning-circle',\n 'window-finder-resize-arrow-down',\n 'window-finder-resize-arrow-up',\n 'window-resize-left',\n 'window-resize-right',\n 'window-zoom-plus-loupe',\n 'windows',\n 'workspace-mode',\n 'youtube',\n 'zendesk-logo',\n];\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-menu-sub-item',\n templateUrl: './menu-sub-item.component.html',\n styleUrls: ['./menu-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwMenuSubItemComponent {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n }\n else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n}\n","<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, input,model, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-radio-button',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n})\nexport class FwRadioComponent {\n public value = input<string>();\n public checked = model(false);\n\n @Input() group: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'default' | 'primary' | 'secondary' = 'default';\n @Input() title: string;\n @Input() focused: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n get radioStyles(): string[] {\n return [\n 'fw-radio',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n handleChange(event): void {\n this.change.emit(event.target.value);\n }\n}\n","<div [ngClass]=\"['fw-radio-wrapper', disabled?'disabled':'']\">\n <div [ngClass]=\"radioStyles\">\n <input\n type=\"radio\"\n class=\"fw-radio\"\n [id]=\"group+value()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [name]=\"group\"\n [disabled]=\"disabled\"\n (change)=\"handleChange($event)\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n\n @if (title) {\n <label [htmlFor]=\"group+value()\" class=\"vision-h4\">{{ title }}\n <ng-content></ng-content>\n </label>\n }\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n model,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IconType } from '../../icon/icon.types';\nimport { FwMenuSubItemComponent } from '../menu-sub-item/menu-sub-item.component';\n\ntype MouseEnterHandler = ($event: PointerEvent, item: FwMenuItemComponent) => void;\n\n@Component({\n selector: 'fw-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n})\nexport class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled?: boolean;\n @Input() showCheckbox?: boolean = false;\n @Input() checkboxColor?: 'primary' | 'secondary' = 'primary';\n @Input() multiSelect?: boolean = false;\n @Input() hidden?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n mouseEnterHandler = model<MouseEnterHandler>(() => {});\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwMenuSubItemComponent) subItems: QueryList<FwMenuSubItemComponent>;\n private subscriptions: Subscription[] = [];\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n scrollIntoView(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.subItems.forEach(subItem => {\n const sub = subItem.click.subscribe(value => this.click.emit(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n }\n\n @HostListener('mouseenter', ['$event']) onMouseEnter(event: PointerEvent): void {\n this.mouseEnterHandler()?.(event, this);\n }\n\n updateLayout(): void {\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.size = this.size;\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n subItem.collapsed = this.collapsed;\n });\n }\n }\n\n toggleSubItemsView(): void {\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n }\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n } else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n}\n","<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwMenuComponent,\n multi: true,\n }],\n})\nexport class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @Input() disabled = false;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() multiSelect?: boolean = false;\n @Input() useCheckbox?: boolean = undefined;\n @Input() value?: string | string[];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change: EventEmitter<string | string[]> = new EventEmitter<string | string[]>();\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n @ContentChild('menuContentWrapper') menuContentWrapper: ElementRef;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (value: string | string[]): void => {\n };\n\n onTouched = (): void => {\n };\n\n private subscriptions: Subscription[] = [];\n\n ngOnChanges(): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.menuItems.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.subscriptions.push(sub);\n });\n\n const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems) => {\n newMenuItems.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n });\n\n this.subscriptions.push(menuItemChangeSub);\n\n this.updateLayout();\n }\n\n writeValue(value: string | string[]): void {\n this.value = value;\n this.onChange(this.value);\n this.change.emit(this.value);\n this.updateLayout();\n }\n\n registerOnChange(fn: (value: string | string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleSelect(value: string): void {\n if (this.multiSelect) {\n const newValues = [...this.value];\n if (newValues.indexOf(value) >= 0) {\n newValues.splice(newValues.indexOf(value), 1);\n } else {\n newValues.push(value);\n }\n this.writeValue(newValues);\n } else {\n this.writeValue(value);\n }\n }\n\n updateLayout(): void {\n\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.size !== undefined) {\n item.size = this.size;\n }\n if (this.useCheckbox !== undefined) {\n item.showCheckbox = this.useCheckbox;\n }\n if (this.multiSelect !== undefined) {\n item.multiSelect = this.multiSelect;\n }\n // only disable children if this is disabled\n if (this.disabled) {\n item.disabled = this.disabled;\n }\n if (this.value !== undefined) {\n item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;\n }\n item.subItems.forEach(sub => {\n sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;\n });\n\n item.updateLayout();\n });\n }\n }\n}\n","<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n","import {\n Component,\n contentChildren,\n DestroyRef,\n effect,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwRadioComponent } from './radio.component';\n\n@Component({\n selector: 'fw-radio-group',\n styleUrls: [],\n template: '<ng-content select=\"fw-radio-button\"></ng-content>',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwRadioGroupComponent,\n multi: true,\n }],\n})\nexport class FwRadioGroupComponent implements ControlValueAccessor {\n @Input() value: string;\n @Input() group: string;\n @Input() color?: 'primary' | 'secondary' | 'default';\n @Input() size?: 'medium' | 'compact';\n @Input() disabled?: boolean;\n @Input() direction?: 'horizontal' | 'vertical' = 'horizontal';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n private sanitizer = inject(DomSanitizer);\n private dr = inject(DestroyRef);\n\n protected radioButtons = contentChildren(FwRadioComponent);\n private _value = signal<string | null>(null);\n private radioSubs = new Map<FwRadioComponent, Subscription>();\n\n @HostBinding('style') get style(): SafeStyle {\n const dir = this.direction === 'vertical' ? 'column' : 'row';\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: ${dir};\n `);\n }\n\n constructor() {\n effect(() => {\n const radios = this.radioButtons();\n const value = this._value();\n const disabled = this.disabled;\n const group = this.group;\n const color = this.color;\n const size = this.size;\n\n radios.forEach(rb => {\n rb.group = group;\n rb.checked.set(rb.value() === value);\n rb.disabled = Boolean(disabled);\n\n if (color) {\n rb.color = color;\n }\n\n if (size) {\n rb.size = size;\n }\n });\n });\n\n effect(() => {\n const radios = this.radioButtons();\n\n this.radioSubs.forEach((sub, rb) => {\n if (!radios.includes(rb)) {\n sub.unsubscribe();\n this.radioSubs.delete(rb);\n }\n });\n\n radios.forEach(rb => {\n if (!this.radioSubs.has(rb)) {\n const sub = rb.change.pipe(takeUntilDestroyed(this.dr)).subscribe(value => this.handleChange(value));\n this.radioSubs.set(rb, sub);\n }\n });\n });\n }\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(value: string): void {\n this.value = value;\n this._value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleChange(value: string): void {\n this.value = value;\n this._value.set(value);\n this.onChange(value);\n this.change.emit(this.value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwRadioComponent } from './radio.component';\nimport { FwRadioGroupComponent } from './radio-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n ],\n exports: [\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n declarations: [\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n})\nexport class FwRadioModule {\n}\n","import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-text-input',\n templateUrl: './text-input.component.html',\n styleUrls: ['./text-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextInputComponent,\n multi: true,\n }],\n})\nexport class FwTextInputComponent implements ControlValueAccessor {\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: string;\n @Input() prefix?: string;\n @Input() context?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() errorInIconTooltip?: boolean = false;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: string = 'text';\n @Input() maxLength?: number = 255;\n @Input() autofocus?: boolean = false;\n @Input() autocomplete?: string;\n @Input() value = '';\n\n @ViewChild('input') inputRef: ElementRef<HTMLInputElement>;\n\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Output() leftIconAction = new EventEmitter<void>();\n @Output() rightIconAction = new EventEmitter<void>();\n\n @ContentChild('textInput', { static: false }) textInput;\n @HostBinding('style.width') @Input() width = '100%';\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {};\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n focus(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef.nativeElement.focus();\n }\n\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #input\n *ngIf=\"!textInput\"\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n [attr.maxlength]=\"maxLength\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\" [fwTooltip]=\"errorInIconTooltip ? errorText : ''\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText && !errorInIconTooltip\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTooltipDirective } from '../tooltip/tooltip.directive';\nimport { FwTextInputComponent } from './text-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTooltipDirective,\n ReactiveFormsModule,\n ],\n exports: [\n FwTextInputComponent,\n ],\n declarations: [\n FwTextInputComponent,\n ],\n})\nexport class FwTextInputModule {\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ContentChildren, Directive, HostListener, QueryList } from '@angular/core';\n\n@Directive({\n selector: '[fwMenuCloseTriggers]',\n})\nexport class FwMenuCloseTriggersDirective {\n @ContentChildren(CdkMenuTrigger, { descendants: true }) triggers?: QueryList<CdkMenuTrigger>;\n\n private _isOpen = false;\n\n @HostListener('document:click', ['$event'])\n outsideClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n\n // Check is close under fw-menu-container (overlay)\n const clickedInsideMenu = target.closest('fw-menu-container') !== null;\n\n // Check is clicked on trigger\n const clickedOnTrigger = target.closest('[cdkMenuTriggerFor]') !== null;\n\n if (!clickedInsideMenu && !clickedOnTrigger && this._isOpen && this.triggers?.length > 0) {\n // Close menu if click outside menu and trigger\n this.triggers.forEach(trigger => {\n trigger.close();\n });\n this._isOpen = false;\n }\n\n if (this.triggers?.length > 0) {\n this.triggers.forEach(trigger => {\n if (trigger.isOpen()) {\n this._isOpen = true;\n }\n });\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n Component,\n computed,\n ContentChild,\n contentChildren,\n HostBinding,\n Input,\n input,\n output,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\nimport { FwTextInputComponent } from '../../text-input/text-input.component';\nimport { FwMenuComponent } from '../menu.component';\nimport { FwMenuItemComponent } from '../menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu-container, fw-menu-filter',\n templateUrl: './menu-container.component.html',\n styleUrls: ['./menu-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwMenuContainerComponent implements AfterViewInit {\n\n @Input() width?: string = 'inherit';\n @Input() maxHeight?: string = 'auto';\n @Input() minHeight?: string = 'auto';\n @Input() border?: 'none' | 'default' = 'default';\n @Input() shadow?: 'none' | 'small' | 'medium' | 'large' | 'extra-large' | 'inner' = 'large';\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) showFilter: boolean = false;\n @Input() filterText?: string = '';\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) focusFilterOnMount: boolean = false;\n @Input() offset?: string = '0px';\n emptyText = input('No results')\n\n filteredMenuItems: FwMenuItemComponent[];\n filteredMenuItemChange = output<FwMenuItemComponent[]>();\n\n private defaultFilterFn = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems?.filter(menuItem => menuItem.title?.toLowerCase().includes(filter?.toLowerCase()));\n }\n\n filterFn = input(this.defaultFilterFn);\n\n filterChanged = output<string>();\n @ViewChild('menuFilter') filterRef: FwTextInputComponent;\n\n @ContentChild(FwMenuComponent) menu: FwMenuComponent;\n\n // for passing menu items for the container to filter\n // works around a problem with nested content children\n // @see https://stackoverflow.com/questions/62886613/angular-9-nested-ng-content-and-contentchildren\n additionalMenuItems = input<FwMenuItemComponent[]>([]);\n childMenuItems = contentChildren(FwMenuItemComponent, { descendants: true });\n private combinedMenuItems = computed(() => {\n return [...this.childMenuItems(), ...this.additionalMenuItems()];\n });\n\n @Input() keyHandler: (event: KeyboardEvent) => void;\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-menu-container',\n `vision-shadow-${this.shadow}`,\n `border-${this.border}`,\n ].join(' ');\n };\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: ${this.width};\n max-height: ${this.maxHeight};\n min-height: ${this.minHeight};\n margin-top: ${this.offset};\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngAfterViewInit(): void {\n if (this.focusFilterOnMount && this.showFilter) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.filterRef?.focus();\n }\n\n // we need to run the filter on init in case the custom filter is filtering things\n this.onFilterChange('');\n }\n\n noResults = signal(false);\n\n handleFilterClick(event: Event): void{\n // stops filters in menus from closing the parent menu\n event.stopPropagation();\n }\n\n handleFilterInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n const filterValue = input.value;\n this.onFilterChange(filterValue);\n }\n\n onFilterChange(filter: string): void {\n const allMenuItems = this.combinedMenuItems();\n\n this.filterChanged.emit(filter);\n const filterFn = this.filterFn();\n\n this.filteredMenuItems = filterFn(filter, allMenuItems);\n\n allMenuItems.forEach(menuItem => {\n const shouldBeHidden = !this.filteredMenuItems.includes(menuItem);\n menuItem.hidden = shouldBeHidden;\n })\n\n this.noResults.set(allMenuItems.length > 0 && allMenuItems.every(item => item.hidden));\n\n this.filteredMenuItemChange.emit(this.filteredMenuItems);\n }\n}\n","<div #filterBox *ngIf=\"showFilter\" class=\"filter-box\" cdkMenuBar>\n <fw-text-input\n (click)=\"handleFilterClick($event)\"\n #menuFilter\n (keydown)=\"keyHandler?.($event)\"\n placeholder=\"Search\" leftIcon=\"search\" [autofocus]=\"true\"\n [value]=\"filterText\" (input)=\"handleFilterInput($event)\">\n </fw-text-input>\n <ng-content select=\".filter-content\"></ng-content>\n</div>\n<div class=\"menu-wrapper\">\n <fw-menu-item *ngIf=\"noResults()\" [title]=\"emptyText()\" [disabled]=\"true\"></fw-menu-item>\n <ng-content></ng-content>\n <ng-content select=\"custom-menu-items\"></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-header',\n templateUrl: './menu-header.component.html',\n styleUrls: ['./menu-header.component.scss'],\n})\nexport class FwMenuHeaderComponent {\n\n}\n","<h3 class=\"vision-h3\">\n <ng-content></ng-content>\n</h3>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-menu-item-group',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.scss'],\n})\nexport class FwMenuItemGroupComponent {\n @HostBinding('role') @Input() role = 'group';\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled = false;\n}\n","<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-separator',\n template: '',\n styleUrls: ['./menu-separator.component.scss'],\n})\nexport class FwMenuSeparatorComponent {\n}\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwRadioModule } from '../radio/radio.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwMenuComponent } from './menu.component';\nimport { FwMenuCloseTriggersDirective } from './menu-close-triggers.directive';\nimport { FwMenuContainerComponent } from './menu-container/menu-container.component';\nimport { FwMenuHeaderComponent } from './menu-header/menu-header.component';\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from './menu-separator/menu-separator.component';\nimport { FwMenuSubItemComponent } from './menu-sub-item/menu-sub-item.component';\n\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n FwCheckboxModule,\n FwRadioModule,\n ],\n exports: [\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n declarations: [\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n})\nexport class FwMenuModule {\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-navbar-sub-item',\n templateUrl: './navbar-sub-item.component.html',\n styleUrls: ['./navbar-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwNavbarSubItemComponent {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n}\n","<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\nimport { FwNavbarSubItemComponent } from '../navbar-sub-item/navbar-sub-item.component';\n\n@Component({\n selector: 'fw-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss'],\n})\nexport class FwNavbarItemComponent implements OnChanges, AfterViewInit {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' | 'muted' = 'primary';\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n @Input() subItemsTooltipTitle?: string = '';\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwNavbarSubItemComponent) subItems: QueryList<FwNavbarSubItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.selected) {\n this.iconColor = 'primary';\n } else {\n this.iconColor = 'muted';\n }\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n if (this.collapsed !== undefined) {\n subItem.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n subItem.disabled = this.disabled;\n }\n });\n }\n }\n\n toggleSubItemsView(event: Event): boolean {\n event.stopPropagation();\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n return false;\n }\n\n}\n","<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5 class=\"vision-h5\">{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView($event)\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\n\n@Component({\n selector: 'fw-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n width: '{{openWidth}}',\n }), { params: { openWidth: '200px' } }),\n state('closed', style({\n width: '60px',\n })),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwNavbarComponent implements OnChanges, AfterViewInit {\n @Input() disabled;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() width: string = '200px';\n @ContentChildren(FwNavbarItemComponent) menuItems: QueryList<FwNavbarItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.collapsed !== undefined) {\n item.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n item.disabled = this.disabled;\n }\n item.showTooltip = this.collapsed;\n item.updateLayout();\n });\n }\n }\n}\n","<div\n class=\"navbar\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: width || 'inherit'}}\">\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-navbar-header',\n templateUrl: './navbar-header.component.html',\n styleUrls: ['./navbar-header.component.scss'],\n})\nexport class FwNavbarHeaderComponent {\n\n}\n","<h4 class=\"vision-h4\">\n <ng-content></ng-content>\n</h4>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwNavbarComponent } from './navbar.component';\nimport { FwNavbarHeaderComponent } from './navbar-header/navbar-header.component';\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { FwNavbarSubItemComponent } from './navbar-sub-item/navbar-sub-item.component';\n\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n ],\n exports: [\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n declarations: [\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n})\nexport class FwNavbarModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwNumberInputComponent,\n multi: true,\n }],\n})\nexport class FwNumberInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() rightIcon?: string;\n @Output() rightIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n @Input() context?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() min?: number;\n @Input() max?: number;\n @Input() step?: number;\n @Input() arrows?: 'native' | 'plus-minus' | 'none';\n @Input() numberType?: 'integer' | 'float';\n @Input() autofocus?: boolean;\n @Input() autocomplete?: boolean;\n @ViewChild('numberInput') numberInput;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: number;\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: number): void => {\n };\n\n writeValue(obj: number): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n if (this.numberType === 'float') {\n this.value = parseFloat((event.target as HTMLInputElement).value);\n } else {\n this.value = parseInt((event.target as HTMLInputElement).value);\n }\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n handleDecrement(): void {\n this.numberInput.nativeElement.stepDown();\n }\n\n handleIncrement(): void {\n this.numberInput.nativeElement.stepUp();\n }\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleDecrement()\">-</button>\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #numberInput\n [class]=\"arrows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleIncrement()\">+</button>\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwNumberInputComponent } from './number-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n ],\n exports: [\n FwNumberInputComponent,\n ],\n declarations: [\n FwNumberInputComponent,\n ],\n})\nexport class FwNumberInputModule {\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TrackByFunction } from '@angular/core';\n\nimport { FwPaginatorEvent } from './paginator.model';\n\nexport interface PaginationPage {\n pageIndex: number;\n number: number;\n active: boolean;\n}\n\n@Component({\n selector: 'fw-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwPaginatorComponent implements OnChanges {\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() color: 'slate' | 'primary' | 'secondary' = 'slate';\n @Input() shape: 'rounded' | 'circle' = 'rounded';\n @Input() variant: 'ghost' | 'outline' | 'solid' = 'ghost';\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 10;\n @Input() maxPagesShown: number = 10;\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n pages: PaginationPage[] = [];\n pagesTrackByFn: TrackByFunction<PaginationPage> = (_: number, page: PaginationPage): number => page.pageIndex;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.pageIndex || changes.maxPagesShown || changes.length || changes.pageSize) {\n this.pages = this.getPages();\n }\n }\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n this.setPage(0);\n }\n\n lastPage(): void {\n this.setPage(this.getNumberOfPages() - 1);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n this.setPage(this.pageIndex + 1);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n this.setPage(this.pageIndex - 1);\n }\n }\n\n setPage(pageIndex: number): void {\n const evt = this.buildPageEvent(pageIndex);\n this.pageIndex = pageIndex;\n this.page.emit(evt);\n this.pages = this.getPages();\n }\n\n getPages(): PaginationPage[] {\n const pages: PaginationPage[] = [];\n const currentSet = Math.ceil((this.pageIndex + 1) / this.maxPagesShown);\n for (let i = 0; i < this.getNumberOfPages(); i++) {\n if (currentSet === Math.ceil((i + 1) / this.maxPagesShown)) {\n pages.push({ pageIndex: i, number: i + 1, active: this.pageIndex === i });\n }\n }\n return pages;\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd >= this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', variant, color, size, shape, alignment]\">\n <div class=\"pages-list\">\n <button\n *ngIf=\"showFirst\" class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"firstPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"previousPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-back</fw-icon>\n </button>\n <button\n *ngFor=\"let page of pages; trackBy: pagesTrackByFn\"\n [ngClass]=\"['page-item', 'page-number', page.active ? 'page-active': '']\"\n [disabled]=\"disabled\"\n (click)=\"setPage(page.pageIndex)\"\n >\n <h4 class=\"vision-h4\">{{ page.number }}</h4>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-forward-collapse</fw-icon>\n </button>\n </div>\n</div>\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class MenuManagerService {\n private triggers = new Set<CdkMenuTrigger>();\n\n public register(trigger: CdkMenuTrigger): void {\n this.triggers.add(trigger);\n }\n\n public unregister(trigger: CdkMenuTrigger): void {\n this.triggers.delete(trigger);\n }\n\n public closeAllExcept(current: CdkMenuTrigger): void {\n this.triggers.forEach(trigger => {\n if (trigger !== current) {\n trigger.close();\n }\n });\n }\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, Host, HostListener, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { MenuManagerService } from '../components/shared/services/menu-manager.service';\n\n@Directive({\n selector: '[fwMenuRegister]',\n standalone: true,\n})\nexport class MenuRegisterDirective implements OnInit, OnDestroy {\n constructor(@Optional() @Host() private trigger: CdkMenuTrigger, @Optional()private menuManager: MenuManagerService) {}\n\n @HostListener('click')\n private onClick(): void {\n this.menuManager?.closeAllExcept(this.trigger);\n }\n\n ngOnInit(): void {\n this.menuManager?.register(this.trigger);\n }\n\n ngOnDestroy(): void {\n this.menuManager?.unregister(this.trigger);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n input,\n OnDestroy,\n Output,\n QueryList,\n signal,\n ViewChild,\n viewChild,\n ViewChildren,\n WritableSignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwMenuComponent } from '../../menu/menu.component';\nimport { FwMenuContainerComponent } from '../../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';\n\n/**\n * FwMultiSelect a component for selecting multiple options\n * @see [Storybook Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-multi-select--docs)\n */\n@Component({\n selector: 'fw-multi-select',\n templateUrl: './multi-select-menu.component.html',\n styleUrls: ['./multi-select-menu.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwMultiSelectMenuComponent),\n multi: true,\n },\n ],\n})\nexport class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnDestroy {\n @HostListener('document:click', ['$event']) outsideClick(event: MouseEvent): void {\n if (this._isOpen) {\n const clickedInside = this.elementRef.nativeElement.contains(event.target);\n if (clickedInside) {\n return;\n }\n this.trigger.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n\n // options\n @Input() options: object[] = [];\n @Input() valueProperty?: string = 'value';\n @Input() titleProperty?: string = 'title';\n @Input() iconProperty?: string = 'icon';\n\n\n // behaviour\n @Input() emptyText: string = 'No matches found...';\n @Input() placeholder: string = 'Select something...';\n @Input() disabled?: boolean = false;\n @Input() useCheckbox?: boolean = false;\n @Input() closeOnSelect?: boolean = true;\n @Input() maxSelectedShown: number = 100;\n\n showClear = input(false);\n showFilter = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n showSelectionInfo = input(false, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n filterItemsOnSelect = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n\n // sizing\n @Input() width: string = '200px';\n @Input() minHeight: string = '';\n @Input() maxHeight: string = '200px';\n @Input() optionsWidth?: string;\n @Input() minOptionsHeight?: string;\n @Input() maxOptionsHeight: string = '400px';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n\n // view children\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwMenuComponent) menu: FwMenuComponent;\n menuFilter = viewChild(FwMenuContainerComponent);\n @ViewChildren(FwMenuItemComponent) renderedMenuItems: QueryList<FwMenuItemComponent>;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) customMenuItems: QueryList<FwMenuItemComponent>;\n\n // need this for the template\n createArray = (d: Iterable<string>): string[] => Array.from(d);\n\n // internal state\n selectedValues: Set<string> = new Set();\n selectedOptions: object[] = [];\n displayedOptions: WritableSignal<FwMenuItemComponent[]> = signal([]);\n focusedIndex = signal(0);\n touched = false;\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n\n @Input()\n get value(): any[] {\n return this._value;\n }\n\n set value(newValue: any[]) {\n this.updateValue(newValue);\n }\n\n private _value: any[] = [];\n\n constructor(\n private elementRef: ElementRef,\n ) {}\n\n @HostBinding('tabIndex') tabIndex = 0;\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled;\n }\n onChange: (value: any[]) => void;\n onTouched = (): void => {};\n\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: any[]): void {\n this.value = value;\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.registerCustomMenuItems()\n\n this.customMenuItems.changes.subscribe(() => {\n this.registerCustomMenuItems();\n })\n }\n\n private registerCustomMenuItems(): void {\n // first filter any menuItems we've already registered as options\n const newMenuItems = this.customMenuItems?.filter(\n menuItem => !this.options.find(option => menuItem.value === (option as any).value),\n )\n\n newMenuItems.forEach((newMenuItem) => {\n\n // sync render settings\n this.customMenuItems?.forEach(menuItem => {\n menuItem.showCheckbox = this.useCheckbox;\n menuItem.multiSelect = true;\n });\n\n // add it to the options\n // a lot of our value handling logic relies on\n const newOption = {\n value: newMenuItem.value,\n title: newMenuItem.title,\n icon: newMenuItem.icon,\n }\n this.options.push(newOption);\n\n newMenuItem.mouseEnterHandler.set((_, item) => {\n this.setFocusedIndex(item);\n })\n\n // add click listener\n const sub = newMenuItem.click.subscribe(value => {\n this.addValue(value);\n\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n });\n this.subscriptions.push(sub);\n })\n }\n\n handleTouched(): void {\n this.touched = true;\n }\n\n handleChipClose(chip: object): void {\n const newValues = this.value.filter(val => val !== chip[this.valueProperty]);\n this.updateValue(newValues);\n this.trigger.close();\n }\n\n // handles the value emission from the menu\n // TODO: make menu a dumb component, it shouldn't be handling values ideally\n handleMenuChange(e: string | string[]): void {\n if (Array.isArray(e)) {\n if (e.toString() !== this.selectedValues.toString()) {\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n }\n this.updateValue(e);\n }\n }\n\n\n // adds a single value\n addValue(incoming: string): void {\n const alreadySelected = this.value.includes(incoming);\n\n if (alreadySelected) {\n const splicedOut = this.value.toSpliced(this.value.indexOf(incoming), 1);\n this.updateValue(splicedOut);\n }\n else {\n this.updateValue([...this.value, incoming]);\n }\n }\n\n // handles all the display side effects of a value change\n updateValue(incomingValues: any[]): void {\n\n if (!incomingValues) {\n this.selectedValues.clear();\n this.selectedOptions = [];\n this._value = [];\n this.change.emit(this._value);\n this.postSelectSideEffects();\n return;\n }\n\n this.selectedValues.clear();\n this.selectedOptions = [];\n\n incomingValues.forEach(incoming => {\n\n if (typeof incoming === 'object') {\n this.selectedValues.add(incoming[this.valueProperty]);\n this.selectedOptions.push(incoming);\n\n } else {\n\n this.selectedValues.add(incoming);\n\n const incomingMappedToOption = this.options.find(opt => opt[this.valueProperty] === incoming);\n this.selectedOptions.push(incomingMappedToOption);\n }\n });\n\n this._value = Array.from(this.selectedValues);\n if (this.onChange) {\n this.onChange(this._value);\n }\n this.change.emit(this._value);\n this.postSelectSideEffects();\n }\n\n // custom filter for handling filterOnSelect\n customFilter = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems.filter(menuItem => {\n const filterMatches = menuItem.title.toLowerCase().includes(filter.toLowerCase());\n const isSelected = this.value.includes(menuItem.value);\n const filterBecauseSelected = isSelected && this.filterItemsOnSelect();\n\n return filterMatches && !filterBecauseSelected;\n })\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n }\n else if (n >= options.length) {\n return 0;\n }\n\n return n;\n }\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n setFocusedIndex(item: unknown): void {\n const foundIndex = this.displayedOptions().findIndex(i => i.value === item[this.valueProperty]);\n this.focusedIndex.set(foundIndex);\n }\n\n displayFocusIndicator = effect(() => {\n this.displayedOptions().forEach((item, index) => {\n item.focused = index === this.focusedIndex();\n })\n }, { allowSignalWrites: true })\n\n /* eslint-disable @typescript-eslint/naming-convention, @rx-angular/prefer-no-layout-sensitive-apis */\n private keyboardActionMap = {\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Tab': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Escape': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Enter': () => {\n const selectedMenuItem = this.displayedOptions()[this.focusedIndex()];\n\n if (!selectedMenuItem) { return }\n\n this.addValue(selectedMenuItem.value);\n this.postSelectSideEffects();\n },\n }\n\n private closedTriggerKeyboardActionsMap = {\n 'Enter': () => {\n this.trigger.open();\n },\n 'Backspace': () => {\n this.updateValue(this.value.toSpliced(-1));\n },\n }\n /* eslint-enable */\n\n // needs to be an arrow function to lock the scope\n @HostListener('keydown', ['$event'])\n handleKeyDown = (event: KeyboardEvent): void =>{\n\n const handler = this.trigger.isOpen() ? this.keyboardActionMap[event.key] : this.closedTriggerKeyboardActionsMap[event.key];\n\n if (handler) {\n event.preventDefault();\n handler();\n }\n }\n\n private postSelectSideEffects(): void {\n this.menuFilter()?.onFilterChange('');\n\n this.customMenuItems?.forEach(menuItem => {\n menuItem.selected = this.value.includes(menuItem.value);\n })\n\n if (this.closeOnSelect) {\n setTimeout(() => {\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.focus();\n }, 0);\n }\n }\n}\n","<div [ngStyle]=\"{width: width}\" #wrapper>\n\n <div\n fwMenuRegister\n class=\"chip-grid\"\n [ngClass]=\"[size]\"\n [ngStyle]=\"{ minHeight: minHeight, maxHeight: maxHeight }\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <span *ngIf=\"value.length === 0\" class=\"placeholder\">{{placeholder}}</span>\n\n <!-- CHIPS -->\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleChipClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"maxSelectedShown === 0 && value.length > 0\" class=\"selected-text\">\n {{ value.length }} selected\n </span>\n <span *ngIf=\"value.length > maxSelectedShown && maxSelectedShown > 0\" class=\"max-exceeded\">\n +{{ value.length - maxSelectedShown }} more\n </span>\n </div>\n\n <fw-icon *ngIf=\"showClear() && value.length > 0\" (click)=\"updateValue([])\">close</fw-icon>\n <fw-icon>chevron-down</fw-icon>\n </div>\n\n <!-- MENU -->\n <ng-template #selectMenu>\n <fw-menu-filter\n [keyHandler]=\"handleKeyDown\"\n [showFilter]=\"showFilter()\"\n [focusFilterOnMount]=\"showFilter()\"\n [width]=\"optionsWidth || (wrapper.offsetWidth - 2) + 'px'\"\n [additionalMenuItems]=\"this.customMenuItems.toArray()\"\n [emptyText]=\"emptyText\"\n [maxHeight]=\"maxOptionsHeight\"\n [minHeight]=\"minOptionsHeight\"\n [filterFn]=\"customFilter\"\n (filteredMenuItemChange)=\"displayedOptions.set($event)\"\n >\n <div class=\"filter-content\" *ngIf=\"showSelectionInfo()\">\n <p>{{value.length}} selections</p>\n <fw-button variant=\"ghost\" (click)=\"updateValue([])\">Clear</fw-button>\n </div>\n <fw-menu\n [multiSelect]=\"true\"\n [disabled]=\"disabled\"\n [value]=\"createArray(selectedValues)\"\n (change)=\"handleMenuChange($event)\">\n <ng-container *ngIf=\"customMenuItems.length === 0\">\n <fw-menu-item\n *ngFor=\"let item of options; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [selected]=\"value.includes(item[valueProperty])\"\n [showCheckbox]=\"useCheckbox\"\n (mouseenter)=\"setFocusedIndex(item)\"\n >\n </fw-menu-item>\n </ng-container>\n <ng-content ngProjectAs=\"custom-menu-items\" select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group, fw-menu-header]\"></ng-content>\n </fw-menu>\n </fw-menu-filter>\n </ng-template>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n Self,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { IconType } from '../icon/icon.types';\nimport { FwMenuComponent } from '../menu/menu.component';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-select',\n templateUrl: './select-menu.component.html',\n styleUrls: ['./select-menu.component.scss'],\n})\nexport class FwSelectMenuComponent implements OnChanges, AfterContentInit, OnDestroy, ControlValueAccessor {\n @HostListener('document:click', ['$event.target']) outsideClick(evt: any): void {\n if (this._isOpen && evt.nodeName !== 'INPUT') {\n this.onTouched();\n this.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled;\n }\n\n // bind it for the template\n public JSON = JSON;\n\n @Input() options: object[] = [];\n @Input() valueProperty?: string = 'value';\n @Input() useFullOptionAsValue = false;\n @Input() titleProperty?: string = 'title';\n @Input() iconProperty?: string = 'icon';\n @Input() staticIcon?: IconType;\n @Input() descriptionProperty?: string = 'description';\n @Input() showFilter?: boolean = false;\n @Input() showReset?: boolean = false;\n @Input() disabled?: boolean = false;\n @Input() errored?: boolean = false;\n @Input() width: string = '200px';\n @Input() optionsWidth?: string;\n @Input() minOptionsHeight?: string;\n @Input() maxOptionsHeight?: string;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() placeholder: string = 'Select something...';\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwMenuComponent) menu: FwMenuComponent;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n @Output() readonly filterChanged = new EventEmitter<string>();\n selectValue: string = '';\n selectTitle: string = '';\n selectIcon: IconType | '' = '';\n filterValue: string = '';\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n focused = 0;\n inFocusOpen = false;\n preFocusValue: any;\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n this.updateValue(newValue);\n }\n\n private _value = '';\n\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Self() private ngControl: NgControl,\n ) {\n // this is just a different way of binding the controlValueAccessor\n // it can be accessed in the component this way\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const currentOptions = changes.options?.currentValue;\n\n // if the options change check if the title we should be displaying has changed\n if (currentOptions && currentOptions !== changes.options?.previousValue) {\n const selectedOption = currentOptions.find(item => item[this.valueProperty]?.toString() === this.selectValue);\n\n if (selectedOption) {\n this.selectTitle = selectedOption[this.titleProperty];\n }\n }\n }\n\n ngAfterContentInit(): void {\n if (!this.options || (this.options.length === 0 && this.menuItems && this.menuItems.length > 0)) {\n this.options = [];\n this.menuItems.forEach(item => {\n this.options.push({\n value: item.value.toString(),\n title: item.title.toString(),\n icon: item.icon,\n description: item.description,\n });\n const sub = item.click.subscribe(value => this.menu.writeValue(value));\n this.subscriptions.push(sub);\n if (item.value.toString() === this.selectValue) {\n this.selectTitle = item.title.toString();\n this.selectIcon = item.icon;\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n get invalid(): boolean {\n return this.ngControl?.invalid;\n }\n\n get touched(): boolean {\n return this.ngControl?.touched;\n }\n\n onChange(newValue: any): void {\n this._value = typeof newValue === 'object' ? JSON.stringify(newValue) : newValue;\n this.change.emit(newValue);\n this.externalOnChange?.(newValue);\n };\n\n onTouched = (): void => {\n };\n\n externalOnChange;\n registerOnChange(fn: (value: any) => void): void {\n this.externalOnChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(value: any): void {\n value = value ?? ''\n\n if (value === this.value) {\n return;\n }\n this.updateValue(value);\n }\n\n handleClick(e: string): void {\n this.onTouched();\n\n if (this.selectValue === e) {\n this.close();\n return;\n }\n\n if (this.useFullOptionAsValue) {\n const parsedValue = JSON.parse(e);\n this.updateValue(parsedValue);\n } else {\n this.updateValue(e);\n }\n\n this.close();\n }\n\n moveFocused(direction: string): void {\n switch (direction) {\n case 'down': {\n this.focused++;\n if (this.focused >= this.options.length) {\n this.focused = 0;\n }\n break;\n }\n case 'up': {\n this.focused--;\n if (this.focused < 0) {\n this.focused = this.options.length - 1;\n }\n break;\n }\n default: {\n this.focused = 0;\n break;\n }\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n if (this.trigger.isOpen()) {\n if (this.inFocusOpen) {\n if (event.key === 'ArrowDown') {\n this.moveFocused('down');\n this.updateValue(this.options[this.focused]);\n }\n if (event.key === 'ArrowUp') {\n this.moveFocused('up');\n this.updateValue(this.options[this.focused]);\n }\n if (event.key === 'Tab') {\n this.close();\n this.inFocusOpen = false;\n this.updateValue(this.preFocusValue);\n }\n if (event.key === 'Enter') {\n this.close();\n this.inFocusOpen = false;\n const newValue = this.useFullOptionAsValue ? this.JSON.parse(this.value) : this.value;\n this.updateValue(newValue);\n }\n } else {\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n }\n } else {\n if (event.key === 'Enter') {\n this.inFocusOpen = false;\n this.preFocusValue = this.value;\n }\n }\n }\n\n handleKeyUp(event: KeyboardEvent): void {\n if (this.trigger.isOpen()) {\n if (event.key === 'Escape') {\n this.close();\n this.inFocusOpen = false;\n this.updateValue(this.preFocusValue);\n }\n } else {\n if (this.showReset) {\n if (event.key === 'Escape') {\n this.handleReset();\n }\n }\n }\n }\n\n\n updateValue(newValue: unknown): void {\n // do housekeeping first\n this.onTouched();\n\n // null guard\n if (!newValue) {\n this.selectValue = '';\n this.selectTitle = '';\n this.selectIcon = '';\n return this.onChange(newValue);\n }\n\n if (typeof newValue === 'object') {\n this.selectValue = newValue?.[this.valueProperty]?.toString();\n this.selectTitle = newValue?.[this.titleProperty]?.toString();\n this.selectIcon = newValue?.[this.iconProperty];\n\n const changeToEmit = this.useFullOptionAsValue ? newValue : newValue[this.valueProperty];\n return this.onChange(changeToEmit);\n }\n\n // try and find a matching option\n const matchedOption = this.options.find(option => {\n const matchesValue = option[this.valueProperty] === newValue;\n const matchesTitle = option[this.titleProperty] === newValue;\n\n return matchesValue || matchesTitle;\n });\n\n if (matchedOption) {\n this.selectValue = matchedOption[this.valueProperty]?.toString();\n this.selectTitle = matchedOption[this.titleProperty]?.toString();\n this.selectIcon = matchedOption[this.iconProperty];\n\n const changeToEmit = this.useFullOptionAsValue ? matchedOption : matchedOption[this.valueProperty];\n return this.onChange(changeToEmit);\n } else {\n // fall back to stringify\n const stringified = newValue.toString() || '';\n this.selectValue = stringified;\n this.selectTitle = stringified;\n return this.onChange(stringified);\n }\n }\n\n handleReset(): void {\n if (this.showReset) {\n this.updateValue(null);\n }\n }\n\n close(): void {\n this.trigger.close();\n this.filterValue = '';\n this.filterChanged.emit(this.filterValue);\n }\n\n onFilterChanged(value: string): void {\n this.filterValue = value;\n this.filterChanged.emit(value);\n }\n}\n","<div #wrapper [ngStyle]=\"{width: width, cursor: 'pointer'}\">\n <fw-text-input\n fwMenuRegister\n [cdkMenuTriggerFor]=\"selectMenu\"\n [value]=\"selectTitle\"\n [leftIcon]=\"staticIcon || selectIcon || null\"\n [rightIcon]=\"(selectTitle&&showReset)?'close-circled':'chevron-down'\"\n (rightIconAction)=\"handleReset()\"\n [useActionableIcons]=\"true\"\n [placeholder]=\"placeholder\"\n [size]=\"size\"\n [error]=\"errored || (invalid && touched)\"\n (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\"\n [readOnly]=\"true\">\n </fw-text-input>\n <ng-template #selectMenu>\n <fw-menu-container\n [filterText]=\"filterValue\"\n *ngIf=\"!disabled\" [showFilter]=\"showFilter\" [width]=\"optionsWidth || wrapper.offsetWidth + 'px'\"\n [maxHeight]=\"maxOptionsHeight\" [minHeight]=\"minOptionsHeight\" (filterChanged)=\"onFilterChanged($event)\">\n <fw-menu [disabled]=\"disabled\" [value]=\"selectValue\" (change)=\"handleClick($any($event))\">\n <ng-container *ngIf=\"menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of options\"\n [title]=\"item[titleProperty]?.toString()\"\n [description]=\"item[descriptionProperty]\"\n [value]=\"useFullOptionAsValue ? JSON.stringify(item) : item?.[valueProperty]?.toString()\"\n [icon]=\"item[iconProperty]\"\n [disabled]=\"$any(item).disabled\"\n >\n </fw-menu-item>\n </ng-container>\n <div #menuContentWrapper>\n <ng-content select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group]\"></ng-content>\n </div>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwMultiSelectMenuComponent } from './multi-select-menu/multi-select-menu.component';\nimport { FwSelectMenuComponent } from './select-menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n CdkMenuModule,\n FormsModule,\n FwButtonModule,\n FwChipModule,\n FwIconModule,\n FwMenuModule,\n FwTextInputModule,\n MenuRegisterDirective,\n ],\n exports: [\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n declarations: [\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n})\nexport class FwSelectMenuModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FwPaginatorEvent } from '../paginator.model';\n\n@Component({\n selector: 'fw-paginator-advanced',\n templateUrl: './paginator-advanced.component.html',\n styleUrls: ['./paginator-advanced.component.scss'],\n})\nexport class FwPaginatorAdvancedComponent {\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSizeOptions: number[] = [10, 25, 50, 100];\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n\n set pageSize(newSize: number) {\n this._pageSize = parseInt(newSize.toString());\n this.pageIndex = 0;\n const pageEvt = this.buildPageEvent(0);\n this.page.emit(pageEvt);\n }\n\n private _pageSize: number = 10;\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n const evt = this.buildPageEvent(0);\n this.pageIndex = 0;\n this.page.emit(evt);\n }\n\n lastPage(): void {\n const evt = this.buildPageEvent(this.getNumberOfPages() - 1);\n this.pageIndex = this.getNumberOfPages() - 1;\n this.page.emit(evt);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n const evt = this.buildPageEvent(this.pageIndex + 1);\n this.pageIndex++;\n this.page.emit(evt);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n const evt = this.buildPageEvent(this.pageIndex - 1);\n this.pageIndex--;\n this.page.emit(evt);\n }\n }\n\n setPage(pageNumber: number): void {\n const evt = this.buildPageEvent(pageNumber);\n this.pageIndex = pageNumber;\n this.page.emit(evt);\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd > this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n &nbsp;\n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwSelectMenuModule } from '../select-menu/select-menu.module';\nimport { FwPaginatorComponent } from './paginator.component';\nimport { FwPaginatorAdvancedComponent } from './paginator-advanced/paginator-advanced.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FwIconButtonModule,\n FwIconModule,\n FwMenuModule,\n FwSelectMenuModule,\n ],\n exports: [\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n declarations: [\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n})\nexport class FwPaginatorModule {\n}\n","/* eslint-disable */\n// adapted from ngx-mat-intl-tel-input\n\nexport const CountryCodeData = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1684'],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1264'],\n ['Antigua and Barbuda', 'ag', '1268'],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1242'],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1246'],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1441'],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1284'],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n ['Canada', 'ca', '1', 1, ['204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416', '418', '431', '437',\n '438', '450', '506', '514', '519', '548', '579', '581', '587', '604', '613', '639', '647', '672', '705', '709', '742',\n '778', '780', '782', '807', '819', '825', '867', '873', '902', '905']],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1345'],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1767'],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']], ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1473'],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1671'],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']], ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']], ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1869'],\n ['Saint Lucia', 'lc', '1758'],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1721'],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1868'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1649'],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1340'],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1]];\n\nexport const Examples: any = {\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any,@rx-angular/prefer-no-layout-sensitive-apis,@rx-angular/no-explicit-change-detection-apis */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n AsYouType,\n CountryCode,\n E164Number,\n getExampleNumber,\n parsePhoneNumberFromString,\n PhoneNumber,\n} from 'libphonenumber-js';\n\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { CountryCodeData, Examples } from './country-code.data';\nimport { Country, PhoneNumberFormat } from './phone-input.model';\n\n@Component({\n selector: 'fw-phone-input',\n templateUrl: './phone-input.component.html',\n styleUrls: ['./phone-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwPhoneInputComponent),\n multi: true,\n }],\n})\nexport class FwPhoneInputComponent implements OnInit, OnChanges, ControlValueAccessor {\n @Input() preferredCountries: Array<string> = ['us'];\n @Input() onlyCountries: Array<string> = [];\n @Input() enableCountrySearch = true;\n @Input() showCountrySelector?: boolean = true;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() rightIcon?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: E164Number | string | undefined;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = Boolean(value);\n }\n\n @Input()\n get format(): PhoneNumberFormat {\n return this._format;\n }\n\n set format(value: PhoneNumberFormat) {\n this._format = value;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n\n @Output() countryChanged = new EventEmitter<Country>();\n\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n phoneFormattedNational: string | undefined;\n allCountryList: Array<Country> = [];\n preferredCountryList: Array<Country> = [];\n selectedCountry: Country | undefined;\n selectedCountryCode: CountryCode | undefined;\n filteredCountryItems: Array<FwMenuItemComponent> = [];\n\n private _value: E164Number | string | undefined;\n private _disabled = false;\n private _format: PhoneNumberFormat = 'national';\n private _numberObject: PhoneNumber | undefined;\n private _previousFormattedNumber: string | undefined;\n\n static getPhoneNumberPlaceHolder(countryISOCode: CountryCode): string | undefined {\n const result = getExampleNumber(countryISOCode, Examples);\n return Boolean(result) ? result.number.toString() : undefined;\n }\n\n onTouched = (): void => {\n };\n\n onChange: any = () => {\n };\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n this.fetchCountryData();\n }\n\n ngOnInit(): void {\n if (this.preferredCountries.length) {\n this.preferredCountries.forEach((iso2) => {\n const preferredCountry = this.allCountryList\n .filter((c) => c.iso2 === iso2)\n .shift();\n if (preferredCountry) {\n this.preferredCountryList.push(preferredCountry);\n }\n });\n }\n if (this.onlyCountries.length) {\n this.allCountryList = this.allCountryList.filter((c) =>\n this.onlyCountries.includes(c.iso2),\n );\n }\n if (this._numberObject && this._numberObject.country) {\n // If an existing number is present, we use it to determine selectedCountry\n this.selectedCountry = this.getCountry(this._numberObject.country);\n } else {\n if (this.preferredCountryList.length) {\n this.selectedCountry = this.preferredCountryList[0];\n } else {\n this.selectedCountry = this.allCountryList[0];\n }\n }\n this.countryChanged.emit(this.selectedCountry);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this.writeValue(changes.value.currentValue);\n }\n }\n\n public phoneNumberChange(): void {\n try {\n this._numberObject = parsePhoneNumberFromString(\n this.phoneFormattedNational?.toString() || '',\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n this.formatAsYouTypeIfEnabled();\n this.value = this._numberObject?.number;\n if (this._numberObject && this._numberObject.isValid()) {\n if (this.phoneFormattedNational !== this.formattedPhoneNumber) {\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n if (\n this.selectedCountry?.iso2 !== this._numberObject.country &&\n Boolean(this._numberObject.country)\n ) {\n this.selectedCountry = this.getCountry(this._numberObject.country);\n this.countryChanged.emit(this.selectedCountry);\n }\n }\n } catch (e) {\n // if no possible numbers are there,\n // then the full number is passed so that validator could be triggered and proper error could be shown\n this.value = this.phoneFormattedNational?.toString();\n }\n this.onChange(this.value);\n this._changeDetectorRef.markForCheck();\n }\n\n protected countrySelect(isoValue: string, el: HTMLElement): void {\n if (this.phoneFormattedNational) {\n this.phoneFormattedNational = this._numberObject?.nationalNumber;\n }\n this.selectedCountry = this.getCountry(isoValue);\n this.countryChanged.emit(this.selectedCountry);\n this.phoneNumberChange();\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n el.focus();\n }\n\n protected filteredItemsChange(menuItems): void {\n this.filteredCountryItems = menuItems;\n }\n\n public getCountry(code: string): Country {\n return (\n this.allCountryList.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: '',\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }\n );\n }\n\n public buttonKeyPress(event: KeyboardEvent): void {\n if (this.trigger) {\n if (event.key === 'Escape') {\n this.trigger.close();\n }\n if (this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n if (event.key === 'Enter') {\n this.trigger.open();\n }\n }\n }\n\n public inputKeyPress(event: KeyboardEvent): void {\n const allowedKeys = ['Backspace', 'Escape', 'ArrowLeft', 'ArrowRight', 'Meta', 'Tab'];\n const pattern = /[0-9+\\- ]/;\n if (!allowedKeys.includes(event.key) && !event.metaKey && !event.ctrlKey && !pattern.test(event.key)) {\n event.preventDefault();\n }\n if (this.trigger && this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n }\n\n protected fetchCountryData(): void {\n CountryCodeData.forEach((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: Number(c[3]) || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n };\n this.allCountryList.push(country);\n });\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 = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n this._numberObject = parsePhoneNumberFromString(value);\n if (this._numberObject) {\n const countryCode = this._numberObject.country;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n if (!countryCode) {\n return;\n }\n setTimeout(() => {\n this.selectedCountry = this.getCountry(countryCode);\n if (\n this.selectedCountry.dialCode &&\n !this.preferredCountries.includes(this.selectedCountry.iso2)\n ) {\n this.preferredCountryList.push(this.selectedCountry);\n }\n this.countryChanged.emit(this.selectedCountry);\n this._changeDetectorRef.markForCheck();\n }, 1);\n } else {\n this.phoneFormattedNational = value;\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private get formattedPhoneNumber(): string {\n if (!this._numberObject) {\n return this.phoneFormattedNational?.toString() || '';\n }\n switch (this.format) {\n case 'national':\n return this._numberObject.formatNational();\n case 'international':\n return this._numberObject.formatInternational();\n default:\n return this._numberObject.nationalNumber.toString();\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return;\n }\n const asYouType: AsYouType = new AsYouType(\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (\n this.phoneFormattedNational\n ?.toString()\n .startsWith(this._previousFormattedNumber || '')\n ) {\n this.phoneFormattedNational = asYouType.input(this.phoneFormattedNational.toString());\n }\n this._previousFormattedNumber = this.phoneFormattedNational?.toString();\n }\n}\n","<div class=\"full-container\">\n <div [class]=\"['input-container', size, showCountrySelector?'country-selector':'no-country-selector']\">\n <button\n *ngIf=\"showCountrySelector\"\n (keydown)=\"buttonKeyPress($event)\"\n [cdkMenuTriggerFor]=\"countryMenu\"\n [cdkMenuPosition]=\"[{originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 2, offsetX: -2}]\"\n [disabled]=\"disabled\">\n <div class=\"country-text\">\n <span class=\"indicator-wrapper\">\n <fw-icon>chevron-down</fw-icon>\n </span>\n <span class=\"country-selector-flag flag\" [ngClass]=\"selectedCountry?.flagClass.toLowerCase()\">\n </span>\n <span class=\"country-selector-code\" *ngIf=\"selectedCountry?.dialCode && format==='national'\">\n +{{ selectedCountry.dialCode }}\n </span>\n </div>\n </button>\n <ng-template #countryMenu>\n <fw-menu-container width=\"300px\" maxHeight=\"500px\" shadow=\"large\" [showFilter]=\"enableCountrySearch\">\n <fw-menu\n [value]=\"selectedCountryCode\" (change)=\"countrySelect($any($event), focusableInput)\"\n (filteredItemsChange)=\"filteredItemsChange($event)\">\n <ng-container *ngIf=\"!filteredCountryItems?.length\">\n <fw-menu-item\n *ngFor=\"let country of preferredCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n <fw-menu-separator></fw-menu-separator>\n </ng-container>\n <ng-container>\n <fw-menu-item\n *ngFor=\"let country of allCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n </ng-container>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n <input\n type=\"tel\"\n autocomplete=\"tel\"\n (click)=\"trigger.close()\"\n (blur)=\"onTouched()\"\n (keydown)=\"inputKeyPress($event)\"\n [(ngModel)]=\"phoneFormattedNational\"\n (ngModelChange)=\"phoneNumberChange()\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [maxLength]=\"15\"\n #focusableInput>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwPhoneInputComponent } from './phone-input.component';\n\n@NgModule({\n imports: [\n CdkMenuModule,\n FwButtonModule,\n FwIconModule,\n FwMenuModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [\n FwPhoneInputComponent,\n ],\n declarations: [\n FwPhoneInputComponent,\n ],\n})\nexport class FwPhoneInputModule {\n}\n","import { Location } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwBackButtonComponent {\n @Input() backFunction?: () => {};\n @HostBinding('attr.class') class = 'fw-back-button';\n\n constructor(public location: Location) {\n }\n\n handleClick(): void {\n if (this.backFunction) {\n this.backFunction();\n } else {\n this.location.back();\n }\n }\n}\n","<button (click)=\"handleClick()\">\n <fw-icon>arrow-back</fw-icon>\n</button>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-section-heading',\n templateUrl: './section-heading.component.html',\n styleUrls: ['./section-heading.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwSectionHeadingComponent {\n @HostBinding('attr.class') class = 'fw-section-heading';\n @Input() title: string;\n @Input() description?: string;\n @Input() backButton?: boolean = false;\n @Input() backFunction?: () => {};\n @Input() icon?: IconType;\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <fw-back-button *ngIf=\"backButton\" [backFunction]=\"backFunction\"></fw-back-button>\n <fw-icon *ngIf=\"icon\" class=\"heading-icon\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-icon\"></ng-content>\n <div>\n <h2 class=\"vision-h2 section-heading\">{{ title }}\n <ng-content select=\"fw-chip\"></ng-content>\n </h2>\n <p *ngIf=\"description\" class=\"vision-p2\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-subsection-heading',\n templateUrl: './subsection-heading.component.html',\n styleUrls: ['./subsection-heading.component.scss'],\n})\nexport class FwSubsectionHeadingComponent {\n @Input() title: string;\n @Input() icon?: IconType;\n\n constructor() {\n }\n\n}\n","<div class=\"heading-area\">\n <fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3 subsection-heading\">{{ title }}</h3>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBackButtonComponent } from './back-button/back-button.component';\nimport { FwSectionHeadingComponent } from './section-heading.component';\nimport { FwSubsectionHeadingComponent } from './subsection-heading/subsection-heading.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n ],\n exports: [\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n declarations: [\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n})\nexport class FwSectionHeadingModule {\n}\n","export class FwSnackbarTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","/* eslint-disable @rx-angular/no-explicit-change-detection-apis */\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n HostBinding,\n input,\n output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\nimport { FwSnackbarTimerService } from '../snackbar-timer.service';\n\n@Component({\n selector: 'fw-snackbar',\n styleUrls: ['./snackbar.component.scss'],\n templateUrl: './snackbar.component.html',\n providers: [FwSnackbarTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class FwSnackbarComponent implements AfterViewInit {\n message = input.required<FwSnackbarMessage>();\n messageDuration = input(9000);\n ready = output<FwSnackbarComponent>();\n dismiss = output<string>();\n action = output<string>();\n\n private defaultIcons: Record<FwSnackbarMessage['severity'], IconType> = {\n success: 'done-check-tracked',\n warning: 'warning-circle',\n error: 'warning',\n info: 'information-circle',\n };\n\n icon = computed(() => this.message().icon || this.defaultIcons[this.message().severity]);\n\n showClose = computed(() => {\n const msg = this.message();\n return msg.showClose !== undefined ? msg.showClose : msg.severity === 'error';\n });\n\n duration = computed(() => {\n const msg = this.message();\n if (msg.duration) {\n return msg.duration;\n }\n return msg.severity === 'error' ? 29000 : this.messageDuration();\n });\n\n color = computed<FwButtonComponent['color']>(() => {\n const severity = this.message().severity;\n const colors: Record<FwSnackbarMessage['severity'], FwButtonComponent['color']> = {\n success: 'success',\n warning: 'warning',\n error: 'danger',\n info: 'primary',\n }\n return colors[severity] || 'primary';\n });\n\n isTemplateRef = computed(() => this.message().message instanceof TemplateRef);\n\n @HostBinding('class') get cssClass(): string {\n const cssClass = 'fw-snackbar';\n const severity = this.message()?.severity;\n if (severity) {\n return cssClass + ' ' + this.color();\n } else {\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwSnackbarTimerService) {\n }\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.duration()).then(() => {\n this.handleDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n handleDismiss(): void {\n this.dismiss.emit(this.message().id);\n this.cdr.markForCheck();\n }\n\n handleAction(): void {\n const msg = this.message();\n this.action.emit(msg.id);\n if (msg.action) {\n msg.action();\n }\n this.cdr.markForCheck();\n }\n\n}\n","@if (message(); as msg) {\n @if (icon()) {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @if (isTemplateRef()) {\n <ng-container *ngTemplateOutlet=\"$any(msg.message); context: msg.templateContext\"></ng-container>\n } @else {\n @if (msg.message) {\n <h4 class=\"vision-h4\">{{ msg.message }}</h4>\n }\n }\n @if (msg.actionText) {\n <fw-button\n size=\"small\"\n variant=\"ghost\"\n [color]=\"color()\"\n (click)=\"handleAction()\"\n >\n {{ msg.actionText }}\n </fw-button>\n }\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\"\n size=\"small\"\n [color]=\"msg.severity\"\n (click)=\"handleDismiss()\"\n ></fw-icon-button>\n }\n @if (!msg.actionText && !showClose()) {\n <div></div>\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FwSnackbarMessage } from './snackbar-message.model';\n\nexport function genMessageId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwSnackbarService {\n readonly messages$ = new BehaviorSubject<FwSnackbarMessage[]>([]);\n private messageQueue: FwSnackbarMessage[] = [];\n\n show(message: FwSnackbarMessage): void {\n if (!message.id) {\n message.id = genMessageId();\n }\n\n this.messageQueue.push(message);\n this.messages$.next(this.messageQueue);\n }\n\n dismiss(messageId: string): void {\n this.messageQueue = this.messageQueue.filter((v) => v.id !== messageId);\n this.messages$.next(this.messageQueue);\n }\n\n dismissAll(): void {\n this.messageQueue = [];\n this.messages$.next(this.messageQueue);\n }\n}\n\n","import {\n ChangeDetectorRef,\n Component,\n HostBinding,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwSnackbarService } from '../snackbar.service';\nimport { FwSnackbarComponent } from '../snackbar/snackbar.component';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\n\n@Component({\n selector: 'fw-snackbar-container',\n templateUrl: './snackbar-container.component.html',\n styleUrls: ['./snackbar-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwSnackbarContainerComponent implements OnDestroy {\n @HostBinding('attr.class') get classes(): string {\n return 'fw-snackbar-container';\n };\n\n limit = 10;\n messages: FwSnackbarMessage[] = [];\n\n private subscriptions = {\n messages: Subscription.EMPTY,\n };\n\n constructor(private cdr: ChangeDetectorRef, private snackbarService: FwSnackbarService) {\n this.subscriptions.messages = this.snackbarService.messages$.subscribe((messages: FwSnackbarMessage[]) => {\n this.messages = messages;\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n onReady(snackbar: FwSnackbarComponent): void {\n const currentMessage = this.messages[this.messages.length - 1];\n currentMessage.ref = snackbar;\n snackbar.startTimer();\n }\n\n onDismiss(messageId: string): void {\n const message = this.messages.find(currentMessage => currentMessage.id === messageId);\n if (message?.ref) {\n message.ref.stopTimer();\n }\n if (message?.id) {\n this.snackbarService.dismiss(message.id);\n }\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.snackbarService.dismissAll();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" variant=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwSnackbarComponent } from './snackbar/snackbar.component';\nimport { FwSnackbarContainerComponent } from './snackbar-container/snackbar-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n ],\n exports: [\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n declarations: [\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n})\nexport class FwSnackbarModule {\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-step',\n templateUrl: './step.component.html',\n styleUrls: ['./step.component.scss'],\n})\nexport class FwStepComponent implements OnChanges {\n @Input() stepNumber: number;\n @Input() color?: 'slate' | 'success' | 'error' | 'warning' | 'info' = 'slate';\n @Input() variant?: 'number' | 'icon' | 'decorator' = 'number';\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() active?: boolean;\n @Input() completed?: boolean;\n @Input() done?: boolean;\n @Input() status?: 'default' | 'active' | 'completed' | 'done' | 'disabled' | 'error' | 'warning' | 'info';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<number> = new EventEmitter<number>();\n\n handleClick(): void {\n if (this.completed && !this.done && !this.disabled) {\n this.select.emit(this.stepNumber);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.status) {\n this.active = false;\n this.disabled = false;\n this.completed = false;\n this.done = false;\n this.color = 'slate';\n switch (changes.status.currentValue) {\n case 'active':\n this.active = true;\n break;\n case 'completed':\n this.completed = true;\n break;\n case 'done':\n this.done = true;\n break;\n case 'disabled':\n this.disabled = true;\n break;\n case 'error':\n this.color = 'error';\n break;\n case 'warning':\n this.color = 'warning';\n break;\n case 'info':\n this.color = 'info';\n break;\n case 'default':\n default:\n // handled in init\n break;\n }\n }\n if (changes.active && changes.active.previousValue === false) {\n this.status = 'active';\n }\n if (changes.completed && changes.completed.previousValue === false) {\n this.status = 'completed';\n }\n if (changes.done && changes.done.previousValue === false) {\n this.status = 'done';\n }\n if (changes.disabled && changes.disabled.previousValue === false) {\n this.status = 'disabled';\n }\n if (this.color === 'slate' && !this.active && !this.completed && !this.done && !this.disabled) {\n this.status = 'default';\n }\n }\n}\n\n@Component({\n selector: 'fw-step-decorator',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwStepDecoratorComponent {\n}\n","<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwStepComponent } from './step.component';\n\n@Component({\n selector: 'fw-stepper',\n template: '<ng-content select=\"fw-step\"></ng-content>',\n styleUrls: [],\n})\nexport class FwStepperComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() activeStep: number = 1;\n @Input() doneStep?: number;\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Output() stepChange: EventEmitter<number> = new EventEmitter<number>();\n @ContentChildren(FwStepComponent) steps: QueryList<FwStepComponent>;\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n background-color: ${this.backgroundColor};\n `);\n }\n\n private subscriptions: Subscription[] = [];\n\n constructor(private sanitizer: DomSanitizer) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.updateSteps();\n }\n }\n\n ngAfterContentInit(): void {\n this.steps.forEach(step => {\n const sub = step.select.subscribe(step => this.handleSelect(step));\n this.subscriptions.push(sub);\n });\n this.updateSteps();\n }\n\n handleSelect(step?: number): void {\n this.activeStep = step;\n this.stepChange.emit(parseInt(step.toString())); // weirdly passing out step directly fails the eqeqeq\n this.updateSteps();\n }\n\n updateSteps(): void {\n if (this.steps && this.steps.length > 0) {\n this.steps.forEach(step => {\n if (step.stepNumber < this.activeStep) {\n step.completed = true;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber.toString() === this.activeStep.toString()) {\n step.completed = false;\n step.active = true;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber > this.activeStep) {\n step.completed = false;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (Boolean(this.doneStep) && step.stepNumber <= this.doneStep) {\n step.done = true;\n }\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwStepComponent, FwStepDecoratorComponent } from './step.component';\nimport { FwStepperComponent } from './stepper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n ],\n exports: [\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n declarations: [\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n})\nexport class FwStepperModule {\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * Cell definition for the fw-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: FwCellDef }],\n standalone: true,\n})\nexport class FwCellDef extends CdkCellDef {\n}\n\n/**\n * Header cell definition for the fw-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: FwHeaderCellDef }],\n standalone: true,\n})\nexport class FwHeaderCellDef extends CdkHeaderCellDef {\n}\n\n/**\n * Footer cell definition for the fw-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwFooterCellDef]',\n providers: [{ provide: CdkFooterCellDef, useExisting: FwFooterCellDef }],\n standalone: true,\n})\nexport class FwFooterCellDef extends CdkFooterCellDef {\n}\n\n/**\n * Column definition for the fw-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[fwColumnDef]',\n providers: [\n { provide: CdkColumnDef, useExisting: FwColumnDef },\n ],\n standalone: true,\n})\nexport class FwColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('fwColumnDef')\n override get name(): string {\n return this._name;\n }\n\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"fw-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"fw-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName(): void {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`fw-column-${this.cssClassFriendlyName}`);\n }\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-header-cell, th[fw-header-cell]',\n standalone: true,\n})\nexport class FwHeaderCell extends CdkHeaderCell {\n @HostBinding() class: string = 'fw-header-cell';\n @HostBinding() role: string = 'columnheader';\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-footer-cell, td[fw-footer-cell]',\n standalone: true,\n})\nexport class FwFooterCell extends CdkFooterCell {\n @HostBinding() class: string = 'fw-footer-cell';\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-cell, td[fw-cell]',\n standalone: true,\n})\nexport class FwCell extends CdkCell {\n @HostBinding() class: string = 'fw-cell';\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n/* eslint @angular-eslint/component-class-suffix:0 */\n\nimport {\n CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkNoDataRow,\n CdkRow,\n CdkRowDef,\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nconst ROW_TEMPLATE = '<ng-container cdkCellOutlet></ng-container>';\n\n/**\n * Header row definition for the fw-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[fwHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: FwHeaderRowDef }],\n})\nexport class FwHeaderRowDef extends CdkHeaderRowDef {\n @Input('fwHeaderRowDef') columns: string[];\n // @Input('fwHeaderRowDefSticky') sticky: boolean;\n}\n\n/**\n * Footer row definition for the fw-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[fwFooterRowDef]',\n providers: [{ provide: CdkFooterRowDef, useExisting: FwFooterRowDef }],\n})\nexport class FwFooterRowDef extends CdkFooterRowDef {\n @Input('fwFooterRowDef') columns: string[];\n // @Input('fwFooterRowDefSticky') sticky: boolean;\n}\n\n/**\n * Data row definition for the fw-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[fwRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: FwRowDef }],\n})\nexport class FwRowDef<T> extends CdkRowDef<T> {\n @Input('fwRowDefColumns') columns: string[];\n @Input('fwRowDefWhen') when: (index: number, rowData: T) => boolean;\n}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-header-row, tr[fw-header-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwHeaderRow',\n providers: [{ provide: CdkHeaderRow, useExisting: FwHeaderRow }],\n})\nexport class FwHeaderRow extends CdkHeaderRow {\n @HostBinding() class = 'fw-header-row';\n @HostBinding() role = 'row';\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-footer-row, tr[fw-footer-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwFooterRow',\n providers: [{ provide: CdkFooterRow, useExisting: FwFooterRow }],\n})\nexport class FwFooterRow extends CdkFooterRow {\n @HostBinding() class = 'fw-footer-row';\n @HostBinding() role = 'row';\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-row, tr[fw-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwRow',\n providers: [{ provide: CdkRow, useExisting: FwRow }],\n})\nexport class FwRow extends CdkRow {\n @HostBinding() class = 'fw-row';\n @HostBinding() role = 'row';\n}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[fwNoDataRow]',\n providers: [{ provide: CdkNoDataRow, useExisting: FwNoDataRow }],\n})\nexport class FwNoDataRow extends CdkNoDataRow {\n override _contentClassName = 'fw-no-data-row';\n}\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport {\n _COALESCED_STYLE_SCHEDULER,\n _CoalescedStyleScheduler,\n CDK_TABLE,\n CdkTable,\n STICKY_POSITIONING_LISTENER,\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table, table[fw-table]',\n exportAs: 'fwTable',\n templateUrl: 'table.component.html',\n styleUrls: ['table.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableComponent },\n { provide: CDK_TABLE, useExisting: FwTableComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FwTableComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","<ng-container headerRowOutlet></ng-container>\n<ng-container rowOutlet></ng-container>\n<ng-container noDataRowOutlet></ng-container>\n<ng-container footerRowOutlet></ng-container>\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport {\n _COALESCED_STYLE_SCHEDULER,\n _CoalescedStyleScheduler,\n CDK_TABLE,\n CdkTable,\n STICKY_POSITIONING_LISTENER,\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table-dense, table[fw-table-dense]',\n exportAs: 'fwTableDense',\n templateUrl: 'table.component.html',\n styleUrls: ['table-dense.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableDenseComponent },\n { provide: CDK_TABLE, useExisting: FwTableDenseComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FwTableDenseComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table-dense', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwCell, FwCellDef, FwColumnDef, FwFooterCell, FwFooterCellDef, FwHeaderCell, FwHeaderCellDef } from './cell';\nimport { FwFooterRow, FwFooterRowDef, FwHeaderRow, FwHeaderRowDef, FwNoDataRow, FwRow, FwRowDef } from './row';\nimport { FwTableComponent } from './table.component';\nimport { FwTableDenseComponent } from './table-dense.component';\n\n@NgModule({\n imports: [\n CdkTableModule,\n CommonModule,\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwHeaderCell,\n FwHeaderCellDef,\n ],\n exports: [\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderCell,\n FwHeaderCellDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n FwRow,\n FwRowDef,\n FwTableComponent,\n FwTableDenseComponent,\n ],\n declarations: [\n FwTableComponent,\n FwTableDenseComponent,\n FwRow,\n FwRowDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n ],\n})\nexport class FwTableModule {\n}\n","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../../components/icon/icon.types';\nimport { FwTabPanelComponent } from '../tab-panel/tab-panel.component';\n\n@Component({\n selector: 'fw-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.scss'],\n})\nexport class FwTabComponent {\n @Input() title: string;\n @Input() panel?: FwTabPanelComponent;\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() icon?: IconType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @HostBinding('class.active') @Input() active: boolean = false;\n @HostBinding('class.disabled') @Input() disabled: boolean = false;\n @HostBinding('role') role = 'button';\n @HostBinding('tabindex') @Input() tabindex = '';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tab', this.color].join(' ');\n }\n\n @HostListener('click') onClick(): void {\n this.handleSelect();\n }\n\n @HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent): void {\n if (event.key === 'Enter' && event.target['attributes']?.['label']?.['nodeValue'] === this.title) {\n this.handleSelect();\n }\n }\n\n handleSelect(): void {\n if (!this.disabled) {\n this.active = true;\n if (this.panel) {\n this.panel.active = true;\n }\n this.select.emit(this);\n }\n }\n\n}\n","<fw-icon *ngIf=\"icon\" size=\"medium\">{{ icon }}</fw-icon>\n<h4 class=\"vision-h4\">{{ title }}</h4>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-tab-panel',\n templateUrl: './tab-panel.component.html',\n styleUrls: ['./tab-panel.component.scss'],\n})\nexport class FwTabPanelComponent {\n @HostBinding('class.active') @Input() active: boolean = false;\n\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTabComponent } from './tab/tab.component';\n\n@Component({\n selector: 'fw-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n})\nexport class FwTabsComponent implements AfterContentInit, OnDestroy {\n @Input() activeTabIndex: number;\n @Input() activeTab?: FwTabComponent;\n @Input() bordered?: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @ContentChildren(FwTabComponent) tabs: QueryList<FwTabComponent>;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tabs', this.bordered ? 'bordered' : ''].join(' ');\n }\n\n private subscriptions: Array<Subscription> = [];\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.activeTabIndex <= this.tabs.length) {\n this.activeTab = this.tabs.get(this.activeTabIndex);\n this.activeTab.active = true;\n if (this.activeTab.panel) {\n this.activeTab.panel.active = true;\n }\n }\n this.tabs.forEach(tab => {\n const sub = tab.select.subscribe(selected => this.handleTabChange(selected));\n this.subscriptions.push(sub);\n });\n }\n\n handleTabChange(tab: FwTabComponent): void {\n this.activeTab = tab;\n this.tabs.forEach((t, index) => {\n if (t !== tab) {\n t.active = false;\n if (t.panel) {\n t.panel.active = false;\n }\n } else {\n this.activeTabIndex = index;\n }\n });\n this.select.emit(tab);\n }\n}\n","<ng-content select=\"fw-tab\"></ng-content>\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTabComponent } from './tab/tab.component';\nimport { FwTabPanelComponent } from './tab-panel/tab-panel.component';\nimport { FwTabsComponent } from './tabs.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n declarations: [\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n})\nexport class FwTabsModule {\n}\n","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { Component, HostBinding, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { min } from 'rxjs';\n\n@Component({\n selector: 'fw-textarea-input',\n templateUrl: './textarea-input.component.html',\n styleUrls: ['./textarea-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextAreaInputComponent,\n multi: true,\n }],\n})\nexport class FwTextAreaInputComponent implements ControlValueAccessor {\n\n @Input() minRows: number = 2;\n @Input() maxRows: number = 15;\n @Input() disabled?: boolean = false;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() autofocus?: string;\n @Input() width?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n @ViewChild(CdkTextareaAutosize) autosize!: CdkTextareaAutosize;\n\n @Input() value = '';\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n\n setTimeout(() => {\n if (this.autosize) {\n this.autosize.resizeToFitContent(true);\n }\n });\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n protected readonly min = min;\n}\n","<div class=\"textarea-wrapper\" [ngStyle]=\"{width: width}\">\n <textarea\n test-id=\"textarea\"\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n [cdkAutosizeMinRows]=\"minRows\"\n [cdkAutosizeMaxRows]=\"maxRows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [placeholder]=\"placeholder || ''\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [autofocus]=\"autofocus\">\n </textarea>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTextAreaInputComponent } from './textarea-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TextFieldModule,\n FwIconModule,\n ],\n exports: [\n FwTextAreaInputComponent,\n ],\n declarations: [\n FwTextAreaInputComponent,\n ],\n})\nexport class FwTextAreaInputModule {\n}\n","import {\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, timer } from 'rxjs';\n\nimport { FwChipComponent } from '../chip/chip.component';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n@Component({\n selector: 'fw-chip-list',\n standalone: true,\n imports: [\n FwChipModule,\n FwTooltipModule,\n ],\n templateUrl: './chip-list.component.html',\n styleUrl: './chip-list.component.scss',\n})\nexport class FwChipListComponent implements OnInit, OnDestroy {\n changeDetector = inject(ChangeDetectorRef);\n hostElement = inject(ElementRef);\n childChipElementRefs = contentChildren<FwChipComponent, ElementRef>(FwChipComponent, { read: ElementRef });\n moreText = viewChild<ElementRef<HTMLParagraphElement>>('moreText');\n\n subscriptions = [];\n\n hiddenElementCount = signal(0);\n hiddenChips = signal<HTMLElement[]>([]);\n hiddenLabels = computed(() => {\n return this.hiddenChips().map(chip => {\n // this relies on the dom shape of the chip, might be fragile\n const contentSpan = chip.querySelector('span');\n return contentSpan.innerText;\n }).join(', ');\n });\n\n resizeDebounceMs = input(100);\n disableOverflow = input(false);\n\n childrenChanged = effect(() => {\n this.childChipElementRefs();\n this.calcChipOverflow();\n }, { allowSignalWrites: true });\n\n resizeObserver = new ResizeObserver(() => {\n this.calcChipOverflow();\n });\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcChipOverflow());\n this.subscriptions.push(sub);\n }\n\n calcChipOverflow(): void {\n if (this.disableOverflow()) {\n return;\n }\n\n const moreTextRef = this.moreText();\n if (!moreTextRef) {\n return;\n }\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const chipElements = this.childChipElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = moreTextRef.nativeElement;\n\n chipElements.forEach(chip => chip.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleChips = chipElements.filter(chip => {\n const chipRect = chip.getBoundingClientRect();\n return !(chipRect.right > hostRect.right || chipRect.bottom > hostRect.bottom);\n });\n\n const overflowChips = chipElements.toSpliced(0, visibleChips.length);\n\n if (overflowChips.length > 0) {\n const lastVisibleChip = visibleChips[visibleChips.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleChip.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowChips.push(lastVisibleChip);\n }\n\n this.hiddenChips.set(overflowChips);\n overflowChips.forEach(hiddenChip => {\n hiddenChip.classList.add('hidden');\n });\n } else {\n moreTextElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","<ng-content></ng-content>\n@if(!disableOverflow()) {\n <fw-tooltip [title]=\"hiddenLabels()\">\n <p #moreText> +{{hiddenChips().length}} more </p>\n </fw-tooltip>\n}\n","import { CdkMenuModule, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { combineLatest, map, Observable, of, switchMap, tap } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwChipListComponent } from '../chip-list/chip-list.component';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\n\ntype OptionFetchingFn = (searchString: string) => Observable<string[]>;\n\n/**\n * Component for having a user select multiple values while also allowing arbitrary values to be added\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-typeahead--docs)\n */\n@Component({\n selector: 'fw-typeahead',\n standalone: true,\n imports: [\n FwTextInputModule,\n FwChipModule,\n ReactiveFormsModule,\n FwMenuModule,\n CdkMenuModule,\n MenuRegisterDirective,\n FwProgressModule,\n FwChipListComponent,\n NgClass,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwTypeaheadComponent),\n multi: true,\n },\n ],\n templateUrl: './typeahead.component.html',\n styleUrl: './typeahead.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwTypeaheadComponent implements ControlValueAccessor {\n @HostListener('document:click') outsideClick(): void {\n this.trigger().close();\n }\n\n trigger = viewChild(CdkMenuTrigger);\n changeDetector = inject(ChangeDetectorRef);\n loading = model(false);\n disabled = model(false);\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n writeValue(incomingValue: string[]): void {\n this.value.set(incomingValue);\n }\n\n onChange = (_: string[]): void => {\n };\n\n registerOnChange(onChangeFn): void {\n this.onChange = onChangeFn;\n }\n\n onTouched = (): void => {\n };\n\n registerOnTouched(onTouchedFn): void {\n this.onTouched = onTouchedFn;\n }\n\n @HostListener('click', ['$event']) onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n value = model<string[]>([]);\n value$ = toObservable(this.value);\n optionsInput = input<string[] | OptionFetchingFn>([], { alias: 'options' });\n optionsInput$ = toObservable(this.optionsInput);\n\n maxOptionsHeight = input('400px');\n minOptionsHeight = input('0px');\n optionsWidth = input('');\n maxHeight = input('');\n\n notifyOnValueChanges = effect(() => {\n this.onChange(this.value());\n });\n\n searchValue = model('');\n searchValueChanges$ = toObservable(this.searchValue);\n\n handleSearchChange(event: KeyboardEvent): void {\n if (this.trigger().closed) {\n this.trigger().open();\n }\n const value = (event.target as HTMLInputElement).value;\n this.searchValue.set(value);\n }\n\n allowNew = input(true);\n placeholder = input('Enter tags...');\n showPlaceholder = computed(() => this.value().length === 0);\n\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions$: Observable<string[]> = combineLatest([\n this.searchValueChanges$,\n this.optionsInput$,\n ]).pipe(\n tap(() => this.loading.set(true)),\n\n // first determine if it's a function or static options\n switchMap(([searchString, optionInput]) => {\n if (typeof optionInput === 'function') {\n const fetchingFunction = optionInput as OptionFetchingFn;\n return fetchingFunction(searchString);\n } else {\n // if they're static options we need to do the search filtering\n const filteredOptionInput = optionInput?.filter(opt => opt.toLowerCase().includes(searchString.toLowerCase()));\n return of(filteredOptionInput);\n }\n\n }),\n\n // next filter out already selected values\n switchMap(options => combineLatest([of(options), this.value$])),\n map(([options, currentValue]) => {\n return options?.filter(option => {\n const alreadySelected = currentValue.find(val => val.toLowerCase() === option.toLowerCase());\n return !alreadySelected;\n });\n }),\n\n tap(() => this.loading.set(false)),\n );\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions = toSignal(this.filteredOptions$);\n\n\n closeChip(chipValue: string): void {\n const currentValue = this.value();\n const newValue = currentValue.filter(val => val !== chipValue);\n this.value.set(newValue);\n this.focusInput();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n displayNewOption = computed(() => {\n const newValue = this.searchValue();\n\n if (!newValue) {\n return false;\n }\n\n const directMatch = this.filteredOptions()?.includes?.(newValue);\n const loading = this.loading();\n const alreadySelected = Boolean(this.value().find(val => val.toLowerCase() === newValue.toLowerCase()));\n\n\n return this.allowNew() && !alreadySelected && (!directMatch || loading);\n });\n\n addValue = (newValue: string): void => {\n\n const isInOptions = this.filteredOptions().includes(newValue);\n const isNewWhileDisallowed = !this.allowNew() && !isInOptions;\n\n const isDuplicate = this.value().includes(newValue.toLowerCase());\n\n if (isNewWhileDisallowed || isDuplicate) {\n return;\n }\n\n this.value.update(prevValue => [\n ...prevValue || [],\n newValue,\n ]);\n };\n\n handleOptionClick = (optionValue): void => {\n this.onTouched();\n this.addValue(optionValue);\n this.focusInput();\n this.searchValue.set('');\n };\n\n resetFocusOnOptionsChange = effect(() => {\n if (this.displayedOptions() || this.searchValue()) {\n this.focusedIndex.set(0);\n }\n }, { allowSignalWrites: true });\n\n displayedOptions = viewChildren(FwMenuItemComponent);\n focusedIndex = signal(0);\n focusedOption = computed(() => {\n const options = this.displayedOptions();\n const focused = this.focusedIndex();\n\n const onlyOne = options.length === 1;\n return onlyOne ? this.searchValue() : options[focused]?.value;\n });\n\n inputRef = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n focusInput(e: MouseEvent = null): void {\n e?.preventDefault();\n e?.stopPropagation();\n e?.stopImmediatePropagation();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef().nativeElement.focus();\n }\n\n onFocusLoss(_: Event): void {\n this.onTouched();\n }\n\n /* eslint-disable @typescript-eslint/naming-convention */\n keyHandlerMap: { [keycode: string]: (e: KeyboardEvent) => void } = {\n 'Enter': () => {\n this.onTouched();\n const newValue = this.focusedOption() || this.searchValue();\n const duplicate = this.value().find(val => val.toLowerCase() === newValue.toLowerCase());\n\n if (!newValue || duplicate) {\n return;\n }\n\n this.addValue(newValue);\n this.searchValue.set('');\n },\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Backspace': () => {\n const searchIsEmpty = !this.searchValue(); // any falsy value is empty\n if (searchIsEmpty && this.value()?.length > 0) {\n this.closeChip(this.value()[this.value().length - 1]);\n }\n return !searchIsEmpty;\n },\n 'Tab': () => {\n if (this.trigger().isOpen) {\n this.trigger().close();\n }\n },\n };\n\n /* eslint-enable */\n\n handleKey(e: KeyboardEvent): void {\n const handler = this.keyHandlerMap[e.key];\n handler?.(e);\n }\n\n setFocusByValue(value: string): void {\n const options = this.displayedOptions();\n const foundIndex = options.findIndex(opt => opt.value === value);\n const finalIndex = foundIndex === -1 ? 0 : foundIndex;\n this.focusedIndex.set(finalIndex);\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n } else if (n >= options.length) {\n return 0;\n }\n\n return n;\n };\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n}\n","<div\n (click)=\"focusInput($event)\"\n class=\"input-container\"\n [ngClass]=\"{ 'disabled': disabled() }\"\n [style.max-height]=\"maxHeight()\"\n [cdkMenuTriggerFor]=\"menuContent\"\n fwMenuRegister\n #inputContainer>\n <fw-chip-list class=\"chips\" [disableOverflow]=\"!!maxHeight()\">\n @for(val of value(); track val) {\n <fw-chip\n color=\"primary\"\n [showClose]=\"true\"\n [title]=\"val\"\n [selectable]=\"false\"\n (close)=\"closeChip(val)\"\n />\n }\n </fw-chip-list>\n <input\n test-id=\"typeahead-input\"\n [placeholder]=\"showPlaceholder() ? placeholder() : ''\"\n [disabled]=\"disabled()\"\n [value]=\"searchValue()\"\n (keyup)=\"handleSearchChange($event)\"\n (keydown)=\"handleKey($event)\"\n (focusout)=\"onFocusLoss($event)\"\n #input\n type=\"text\"\n />\n @if(loading()) {\n <fw-progress-spinner size=\"small\"/>\n }\n</div>\n<ng-template #menuContent>\n <fw-menu-container\n [maxHeight]=\"maxOptionsHeight()\"\n [minHeight]=\"minOptionsHeight()\"\n [width]=\"optionsWidth() || inputContainer.offsetWidth - 2 + 'px'\"\n >\n <fw-menu>\n @if(loading() && !displayNewOption()) {\n <fw-menu-item title=\"Searching...\" [disabled]=\"true\"/>\n } @else if(!loading()) {\n @for (option of filteredOptions(); track option) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(option)\"\n [title]=\"option\"\n [focused]=\"focusedOption() === option\"\n [value]=\"option\"\n />\n }\n @empty {\n @if (!displayNewOption()) {\n <fw-menu-item title=\"No tag suggestions\" [disabled]=\"true\"/>\n }\n }\n }\n @if(displayNewOption()) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(searchValue())\"\n [title]=\"searchValue()\"\n [value]=\"searchValue()\"\n [focused]=\"focusedOption() === searchValue()\">\n <p class=\"new-tag\">New</p>\n </fw-menu-item>\n }\n </fw-menu>\n </fw-menu-container>\n</ng-template>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-wrapped-input',\n templateUrl: './wrapped-input.component.html',\n styleUrls: ['./wrapped-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwWrappedInputComponent {\n @Input() title: string;\n @Input() status?: string;\n @Input() statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() description?: string;\n @Input() helperText?: string;\n @Input() errorText?: string;\n @Input() required?: boolean;\n\n @HostBinding('class.fw-wrapped-input') class = true;\n}\n\n\n","<label>\n <fw-form-heading\n *ngIf=\"title\" [title]=\"title\" [description]=\"description\"\n [required]=\"required\" [status]=\"status\" [statusColor]=\"statusColor\">\n </fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead\"></ng-content>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText && !errorText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwFormHeadingModule } from '../form-heading/form-heading.module';\nimport { FwWrappedInputComponent } from './wrapped-input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwFormHeadingModule,\n ],\n exports: [\n FwWrappedInputComponent,\n ],\n declarations: [\n FwWrappedInputComponent,\n ],\n})\nexport class FwWrappedInputModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FwIconComponent","i1","i2.FwIconComponent","i3.FwIconButtonComponent","delayMap","i2.FwPopoverPanelComponent","positionMap","i2.FwTooltipDirective","i1.FwTooltipComponent","i3.FwProgressSpinnerComponent","i1.FwButtonComponent","i2.FwSwitchComponent","i3.FwCheckboxComponent","i2","i4.FwIconComponent","i3.FwButtonComponent","i5.FwDialogActionsComponent","i6.FwDialogComponent","i7.FwDialogContentComponent","i4.FwDialogActionsComponent","i5.FwDialogComponent","i6.FwDialogContentComponent","i1.TranslationService","exports","i2.FwTagComponent","i2.FwIconButtonComponent","i3.FwIconComponent","i4.FwCheckboxComponent","i5.FwRadioComponent","i3.FwTooltipDirective","i3","i4.FwTextInputComponent","i5.FwMenuItemComponent","i2.FwTooltipComponent","i4.FwTooltipComponent","i2.MenuManagerService","i4.FwChipComponent","i5.FwIconComponent","i6.FwMenuComponent","i7.FwMenuContainerComponent","i8.FwMenuItemComponent","i9.MenuRegisterDirective","i4.FwMenuComponent","i5.FwMenuContainerComponent","i6.FwMenuItemComponent","i7.FwTextInputComponent","i8.MenuRegisterDirective","i4.FwMenuItemComponent","i5.FwSelectMenuComponent","i3.FwMenuComponent","i4.FwMenuContainerComponent","i6.FwMenuSeparatorComponent","i7","i3.FwBackButtonComponent","i1.FwSnackbarTimerService","i4.FwIconButtonComponent","i1.FwSnackbarService","i4.FwSnackbarComponent","i1.FwChipComponent","i2.FwMenuComponent","i3.FwMenuContainerComponent","i5","i6.FwProgressSpinnerComponent","i2.FwFormHeadingComponent"],"mappings":"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"}
1
+ {"version":3,"file":"flywheel-io-vision.mjs","sources":["../../../src/components/icon/icon.component.ts","../../../src/components/icon-button/icon-button.component.ts","../../../src/components/icon-button/icon-button.component.html","../../../src/components/alert/alert.component.ts","../../../src/components/alert/alert.component.html","../../../src/components/icon/icon.module.ts","../../../src/components/icon-button/icon-button.module.ts","../../../src/components/alert/alert.module.ts","../../../src/components/app-icon/app-icon.component.ts","../../../src/components/app-icon/app-icon.component.html","../../../src/components/app-icon/app-icon.module.ts","../../../src/color.utils.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/avatar/avatar.module.ts","../../../src/components/layouts/context/context.component.ts","../../../src/components/layouts/context/context.component.html","../../../src/components/layouts/grid/grid.component.ts","../../../src/components/layouts/layout-group.component.ts","../../../src/components/layouts/panel/panel.component.ts","../../../src/components/layouts/panel/panel.component.html","../../../src/components/layouts/sidebar/sidebar.component.ts","../../../src/components/layouts/sidebar/sidebar.component.html","../../../src/components/layouts/toolbar/toolbar.component.ts","../../../src/components/layouts/layouts.module.ts","../../../src/components/popover/popover-panel/popover-panel.component.ts","../../../src/components/popover/popover-panel/popover-panel.component.html","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.component.html","../../../src/components/popover/popover.module.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.html","../../../src/components/tooltip/tooltip.directive.ts","../../../src/components/tooltip/tooltip.component.ts","../../../src/components/tooltip/tooltip.component.html","../../../src/components/tooltip/tooltip.module.ts","../../../src/components/avatar-list/avatar-list.component.ts","../../../src/components/avatar-list/avatar-list.component.html","../../../src/components/badge/badge.component.ts","../../../src/components/badge/badge.component.html","../../../src/components/badge/badge.module.ts","../../../src/components/breadcrumbs/crumb.component.ts","../../../src/components/breadcrumbs/crumb.component.html","../../../src/components/breadcrumbs/breadcrumbs.component.ts","../../../src/components/breadcrumbs/breadcrumbs.module.ts","../../../src/components/progress/spinner/spinner.component.ts","../../../src/components/progress/spinner/spinner.component.html","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.directives.ts","../../../src/components/progress/bar/bar.component.ts","../../../src/components/progress/bar/bar.component.html","../../../src/components/progress/progress.module.ts","../../../src/components/button/button.module.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.html","../../../src/components/button-group/button-group.component.ts","../../../src/components/button-toggle/button-toggle.component.ts","../../../src/components/button-toggle/button-toggle.module.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/card/card.component.ts","../../../src/components/card/card.component.html","../../../src/components/card/card-attribute/card-attribute.component.ts","../../../src/components/card/card-attribute/card-attribute.component.html","../../../src/components/card/card-author/card-author.component.ts","../../../src/components/card/card-author/card-author.component.html","../../../src/components/card/card-content/card-content.component.ts","../../../src/components/card/card-footer/card-footer.component.ts","../../../src/components/card/card-header/card-header.component.ts","../../../src/components/card/card-header/card-header.component.html","../../../src/components/card/card.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.module.ts","../../../src/components/chip/chip.component.ts","../../../src/components/chip/chip.component.html","../../../src/components/chip/chip.module.ts","../../../src/components/switch/switch.component.ts","../../../src/components/switch/switch.component.html","../../../src/components/contained-input/contained-input.component.ts","../../../src/components/contained-input/contained-input.component.html","../../../src/components/switch/switch.module.ts","../../../src/components/contained-input/contained-input.module.ts","../../../src/components/date-input/date-input.component.ts","../../../src/components/date-input/date-input.component.html","../../../src/components/date-input/date-input.module.ts","../../../src/components/dialog/dialog.component.ts","../../../src/components/dialog/dialog.component.html","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/dialog-actions.component.ts","../../../src/components/dialog/dialog-content.component.ts","../../../src/components/dialog/dialog-confirm.component.ts","../../../src/components/dialog/dialog-confirm.component.html","../../../src/components/dialog/dialog-header.component.ts","../../../src/components/dialog/dialog-simple.component.ts","../../../src/components/dialog/dialog-simple.component.html","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialogs.module.ts","../../../src/components/tag/tag.component.ts","../../../src/components/tag/tag.component.html","../../../src/components/form-heading/form-heading.component.ts","../../../src/components/form-heading/form-heading.component.html","../../../src/components/tag/tag.module.ts","../../../src/components/form-heading/form-heading.module.ts","../../../src/components/forms/validators.ts","../../../src/components/icon/icon.types.ts","../../../src/components/menu/menu-sub-item/menu-sub-item.component.ts","../../../src/components/menu/menu-sub-item/menu-sub-item.component.html","../../../src/components/radio/radio.component.ts","../../../src/components/radio/radio.component.html","../../../src/components/menu/menu-item/menu-item.component.ts","../../../src/components/menu/menu-item/menu-item.component.html","../../../src/components/menu/menu.component.ts","../../../src/components/menu/menu.component.html","../../../src/components/radio/radio-group.component.ts","../../../src/components/radio/radio.module.ts","../../../src/components/text-input/text-input.component.ts","../../../src/components/text-input/text-input.component.html","../../../src/components/text-input/text-input.module.ts","../../../src/components/menu/menu-close-triggers.directive.ts","../../../src/components/menu/menu-container/menu-container.component.ts","../../../src/components/menu/menu-container/menu-container.component.html","../../../src/components/menu/menu-header/menu-header.component.ts","../../../src/components/menu/menu-header/menu-header.component.html","../../../src/components/menu/menu-item-group/menu-item-group.component.ts","../../../src/components/menu/menu-item-group/menu-item-group.component.html","../../../src/components/menu/menu-separator/menu-separator.component.ts","../../../src/components/menu/menu.module.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.html","../../../src/components/navbar/navbar-item/navbar-item.component.ts","../../../src/components/navbar/navbar-item/navbar-item.component.html","../../../src/components/navbar/navbar.component.ts","../../../src/components/navbar/navbar.component.html","../../../src/components/navbar/navbar-header/navbar-header.component.ts","../../../src/components/navbar/navbar-header/navbar-header.component.html","../../../src/components/navbar/navbar.module.ts","../../../src/components/number-input/number-input.component.ts","../../../src/components/number-input/number-input.component.html","../../../src/components/number-input/number-input.module.ts","../../../src/components/paginator/paginator.component.ts","../../../src/components/paginator/paginator.component.html","../../../src/components/shared/services/menu-manager.service.ts","../../../src/directives/menu-register.directive.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.html","../../../src/components/select-menu/select-menu.component.ts","../../../src/components/select-menu/select-menu.component.html","../../../src/components/select-menu/select-menu.module.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.html","../../../src/components/paginator/paginator.module.ts","../../../src/components/phone-input/country-code.data.ts","../../../src/components/phone-input/phone-input.component.ts","../../../src/components/phone-input/phone-input.component.html","../../../src/components/phone-input/phone-input.module.ts","../../../src/components/section-heading/back-button/back-button.component.ts","../../../src/components/section-heading/back-button/back-button.component.html","../../../src/components/section-heading/section-heading.component.ts","../../../src/components/section-heading/section-heading.component.html","../../../src/components/section-heading/subsection-heading/subsection-heading.component.ts","../../../src/components/section-heading/subsection-heading/subsection-heading.component.html","../../../src/components/section-heading/section-heading.module.ts","../../../src/components/snackbar/snackbar-timer.service.ts","../../../src/components/snackbar/snackbar/snackbar.component.ts","../../../src/components/snackbar/snackbar/snackbar.component.html","../../../src/components/snackbar/snackbar.service.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.html","../../../src/components/snackbar/snackbar.module.ts","../../../src/components/stepper/step.component.ts","../../../src/components/stepper/step.component.html","../../../src/components/stepper/stepper.component.ts","../../../src/components/stepper/stepper.module.ts","../../../src/components/table/cell.ts","../../../src/components/table/row.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table-dense.component.ts","../../../src/components/table/table.module.ts","../../../src/components/tabs/tab/tab.component.ts","../../../src/components/tabs/tab/tab.component.html","../../../src/components/tabs/tab-panel/tab-panel.component.ts","../../../src/components/tabs/tab-panel/tab-panel.component.html","../../../src/components/tabs/tabs.component.ts","../../../src/components/tabs/tabs.component.html","../../../src/components/tabs/tabs.module.ts","../../../src/components/textarea-input/textarea-input.component.ts","../../../src/components/textarea-input/textarea-input.component.html","../../../src/components/textarea-input/textarea-input.module.ts","../../../src/components/chip-list/chip-list.component.ts","../../../src/components/chip-list/chip-list.component.html","../../../src/components/typeahead/typeahead.component.ts","../../../src/components/typeahead/typeahead.component.html","../../../src/components/wrapped-input/wrapped-input.component.ts","../../../src/components/wrapped-input/wrapped-input.component.html","../../../src/components/wrapped-input/wrapped-input.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\ntype NamedIconSize = 'large' | 'medium' | 'small' | 'extra-small';\n\nexport type IconSize = NamedIconSize | number;\n\nconst namedSizeToPxMap = {\n large: 28,\n medium: 24,\n small: 22,\n 'extra-small': 18,\n}\n\n@Component({\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {\n @Input({\n transform: (input: IconSize) => {\n if (typeof input === 'string') {\n return namedSizeToPxMap[input] || parseInt(input) || 24;\n }\n return input;\n },\n }) size: number;\n @Input() color?:\n | 'primary'\n | 'secondary'\n | 'red'\n | 'orange'\n | 'green'\n | 'slate'\n | 'muted'\n | 'typography';\n @HostBinding('class') class = 'vision-icon';\n @HostBinding('role') role = 'img';\n @HostBinding('style') get style(): SafeStyle {\n const sizeStyle: string = `font-size: ${this.size}px; min-width: ${this.size}px; width: ${this.size}px;`;\n let colorStyle: string = '';\n if (this.color) {\n if (this.color === 'muted') {\n colorStyle = 'color: var(--typography-muted);';\n } else {\n colorStyle = `color: var(--${this.color}-base);`;\n }\n }\n return this.sanitizer.bypassSecurityTrustStyle(`\n ${sizeStyle}\n ${colorStyle}\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, HostBinding, Input, input } from '@angular/core';\n\n@Component({\n selector: 'fw-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.scss'],\n})\nexport class FwIconButtonComponent {\n @HostBinding('attr.class') get classes(): string {\n return this.size;\n };\n\n @HostBinding('tabindex') tabindex: string;\n\n @Input() color?:\n | 'primary'\n | 'secondary'\n | 'red'\n | 'error'\n | 'warning'\n | 'orange'\n | 'success'\n | 'green'\n | 'light-slate'\n | 'slate'\n | 'overlay'\n | 'info' = 'primary';\n @Input() icon: string = '';\n @Input() size?: 'large' | 'medium' | 'small' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() selected?: boolean = false;\n\n public border = input(false);\n}\n","<button [disabled]=\"disabled\"\n [class]=\"color + '-button'\"\n [class.selected-button]=\"selected\"\n [class.border]=\"border()\"\n [tabindex]=\"tabindex\">\n <fw-icon>{{ icon }}</fw-icon>\n</button>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n})\nexport class FwAlertComponent {\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() severity?: 'info' | 'success' | 'warning' | 'error' = 'info';\n @Input() title?: string;\n @Input() variant?: 'standard' | 'outlined' | 'filled' = 'standard';\n @Input() showClose?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n}\n","<div [ngClass]=\"['fw-alert', variant, severity]\">\n <fw-icon *ngIf=\"icon\" class=\"fw-alert-icon\">{{ icon }}</fw-icon>\n <div class=\"fw-alert-text\">\n <h4 *ngIf=\"title\" class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p2\">{{ description }}</p>\n <p class=\"vision-p2\">\n <ng-content></ng-content>\n </p>\n </div>\n <div class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n <fw-icon-button\n *ngIf=\"showClose\"\n icon=\"close\" size=\"small\"\n [color]=\"variant==='filled'?'overlay':severity\"\n (click)=\"close?close.emit():undefined\">\n </fw-icon-button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwIconComponent,\n ],\n declarations: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonComponent } from './icon-button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwIconButtonComponent,\n ],\n declarations: [\n FwIconButtonComponent,\n ],\n})\nexport class FwIconButtonModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwAlertComponent } from './alert.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n ],\n exports: [\n FwAlertComponent,\n ],\n declarations: [\n FwAlertComponent,\n ],\n})\nexport class FwAlertModule {\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-app-icon',\n templateUrl: './app-icon.component.html',\n styleUrls: ['./app-icon.component.scss'],\n})\nexport class FwAppIconComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() imageUrl?: string;\n @Input() color?: 'primary' | 'dark' | 'light' | 'gradient' | 'transparent' = 'primary';\n @Input() fontColor?: 'contrast' | 'base' = 'contrast';\n @Input() size?: 'small' | 'medium' | 'large' | 'extra-large' = 'medium';\n @Input() variant?: 'interactive' | 'hover' | 'focused' | 'static' = 'interactive';\n @Input() badge?: string;\n @HostBinding('tabindex') @Input() tabindex = '';\n @HostBinding('class.locked') @Input() locked?: boolean = false;\n @HostBinding('class.animated') @Input() animated?: boolean = false;\n @HostBinding('role') role = 'button';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-app-icon', this.size, this.color, this.variant].join(' ');\n }\n}\n","<div class=\"icon-highlight\"></div>\n<div class=\"icon-wrapper\">\n <div class=\"app-badge\" *ngIf=\"badge\"><span>{{ badge }}</span></div>\n <div class=\"app-locked\" *ngIf=\"locked\">\n <fw-icon>lock</fw-icon>\n </div>\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" alt=\"App Icon\">\n <fw-icon *ngIf=\"icon\" [ngClass]=\"fontColor\">{{ icon }}</fw-icon>\n</div>\n<p class=\"vision-p3\" *ngIf=\"title\">{{ title }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAppIconComponent } from './app-icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwAppIconComponent,\n ],\n declarations: [\n FwAppIconComponent,\n ],\n})\nexport class FwAppIconModule {\n}\n","\nconst accesibilityPallete = [\n '#1B68FA',\n '#D73D3D',\n '#FF8C00',\n '#C47E09',\n '#B080FC',\n '#14AE5C',\n '#FF6347',\n '#F28B8B',\n '#FF69B4',\n '#748295',\n '#9CCEF9',\n '#66CDAA',\n '#00CED1',\n]\n\nexport const hashCode = (str: string): number => {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return Math.abs(hash);\n}\n\nexport const pickColorViaHash = (seed = ''): string => {\n const hash = hashCode(seed);\n return accesibilityPallete[hash % (accesibilityPallete.length - 1)]\n}\n","import { Component, computed, HostBinding, Input, input, model } from '@angular/core';\n\nimport { pickColorViaHash } from '../../color.utils';\nimport { IconType } from '../icon/icon.types';\n\ntype AvatarColorOption = 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success';\n\nconst namedColorMap: { [K in AvatarColorOption]: string } = {\n primary: 'var(--primary-base)',\n secondary: 'var(--secondary-base)',\n red: 'var(--red-base)',\n 'light-slate': 'var(--slate-light)',\n slate: 'var(--slate-base)',\n warning: 'var(--orange-base)',\n success: 'var(--green-base)',\n};\n\n@Component({\n selector: 'fw-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n})\nexport class FwAvatarComponent {\n @HostBinding('attr.class') get classes(): string {\n\n return [this.size, this.variant, this.content, 'selected'].filter(Boolean).join(' ');\n };\n\n\n @Input() color?: AvatarColorOption = 'primary';\n @Input() variant?: 'circular' | 'rounded' | 'square' = 'circular';\n @Input() content?: 'image' | 'icon' | 'initial' = 'icon';\n @Input() size?: 'small' | 'medium' | 'large' | 'x-large' = 'small';\n @Input() initial?: string = '';\n @Input() imageUrl?: string = '';\n @Input() imageAltText?: string = '';\n @Input() icon?: IconType = 'user';\n @Input() bordered = false;\n\n @HostBinding('class.bordered') get borderClass(): boolean {\n return this.bordered;\n }\n\n selected = input(false);\n colorSeed = model<string>();\n\n @HostBinding('class.selected') get selectedClassApplied(): boolean {\n return this.selected();\n }\n\n hasedColor = computed(() => pickColorViaHash(this.colorSeed()));\n\n colorToDisplay = computed(() => this.colorSeed() ? this.hasedColor() : namedColorMap[this.color]);\n\n isImageBroken: boolean = false;\n\n loadImage(): void {\n this.isImageBroken = false;\n }\n\n errorImage(): void {\n this.isImageBroken = true;\n }\n}\n","<ng-container [ngSwitch]=\"content\">\n <div [style.backgroundColor]=\"colorToDisplay()\" *ngSwitchCase=\"'image'\" class=\"avatar\">\n <img\n *ngIf=\"!isImageBroken else displayInitial\"\n [src]=\"imageUrl\"\n [alt]=\"imageAltText\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [style.backgroundColor]=\"colorToDisplay()\" class=\"avatar\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [style.backgroundColor]=\"colorToDisplay()\" class=\"avatar\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwAvatarComponent,\n ],\n declarations: [\n FwAvatarComponent,\n ],\n})\nexport class FwAvatarModule {\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\nexport enum LayoutWidth {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large'\n}\n\n@Component({\n selector: 'fw-layout-context',\n templateUrl: './context.component.html',\n styleUrls: ['./context.component.scss'],\n})\nexport class FwLayoutContextComponent {\n @Input() width?: 'small' | 'medium' | 'large' | 'extra-large' = LayoutWidth.Small;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'secondary';\n @Input() title?: string;\n @Input() description?: string;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-context'];\n classes.push(`context-width-${this.width}`);\n if (this.iconColor) {\n classes.push(`context-color-${this.iconColor}`);\n }\n return classes.join(' ');\n };\n}\n","<fw-icon *ngIf=\"icon\" [ngClass]=\"iconColor\">{{ icon }}</fw-icon>\n<h3 *ngIf=\"title\">{{ title }}</h3>\n<p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n<div class=\"context-actions\">\n <ng-content select=\"fw-button\"></ng-content>\n</div>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-grid',\n template: '<ng-content select=\"fw-grid-item\"></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridComponent {\n @HostBinding('class') get cssClass(): string {\n return ['fw-grid'].join(' ');\n }\n}\n\n@Component({\n selector: 'fw-grid-item',\n template: '<ng-content></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridItemComponent {\n @Input() cols: number = 12;\n @Input() sm?: number;\n @Input() md?: number;\n @Input() lg?: number;\n @Input() xl?: number;\n @Input() padded?: boolean = false;\n @Input() rounded?: boolean = false;\n @Input() variant?: 'page-light' | 'page-shaded' | 'card-header' | 'card-background' = 'page-light';\n\n @HostBinding('class') get cssClass(): string {\n return [\n 'fw-grid-col-' + this.cols,\n this.variant,\n this.padded ? 'grid-item-padded' : null,\n this.rounded ? 'grid-item-rounded' : null,\n this.sm ? 'fw-grid-col-sm-' + this.sm : null,\n this.md ? 'fw-grid-col-md-' + this.md : null,\n this.lg ? 'fw-grid-col-lg-' + this.lg : null,\n this.xl ? 'fw-grid-col-xl-' + this.xl : null,\n ].filter(Boolean).join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-group',\n template: '<ng-content></ng-content>',\n styleUrls: ['./layout-group.component.scss'],\n})\nexport class FwLayoutGroupComponent {\n @Input() stackable: boolean = false;\n @Input() padded: boolean = true;\n @Input() justify: 'space-between' | 'space-around' | 'space-evenly' | 'flex-end' | 'flex-start' = 'space-between';\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-group', this.justify];\n if (this.stackable) {\n classes.push('stackable');\n }\n if (this.padded) {\n classes.push('padded');\n }\n return classes.join(' ');\n };\n\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwLayoutPanelComponent {\n @Input() height?: string = '100%';\n @Input() fitted?: boolean = false;\n @Input() border?: 'all' | 'left' | 'right' | 'none' = 'none';\n @Input() rounded?: boolean = true;\n @Input() margin?: boolean = false;\n @Input() padded?: boolean = true;\n}\n","<main\n [ngClass]=\"[fitted?'fitted':'', margin?'margin':'', rounded?'rounded':'', 'border-'+border]\"\n [ngStyle]=\"{height: height}\">\n <ng-content select=\"header\"></ng-content>\n <article [ngClass]=\"[padded?'padded':'']\">\n <ng-content></ng-content>\n </article>\n <ng-content select=\"footer\"></ng-content>\n</main>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwLayoutSidebarComponent {\n @Input() outlined: boolean = true;\n @Input() rounded: boolean = true;\n @Input() width?: string = '65%';\n @Input() direction?: 'row' | 'row-reverse' = 'row';\n}\n","<div\n [ngClass]=\"[\n outlined?'outlined':'',\n rounded?'rounded':'',\n direction,\n 'container'\n ]\">\n <div class=\"main\" [ngStyle]=\"{width: 'calc( 100% - '+width+' )'}\">\n <ng-content></ng-content>\n </div>\n <div class=\"aside\" [ngStyle]=\"{width: width}\">\n <ng-content select=\"aside\"></ng-content>\n </div>\n</div>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-toolbar',\n template: '<ng-content></ng-content>',\n styleUrls: ['./toolbar.component.scss'],\n})\nexport class FwLayoutToolbarComponent {\n @Input() dense?: boolean;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-toolbar', this.dense ? 'dense' : ''];\n return classes.join(' ');\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwLayoutContextComponent } from './context/context.component';\nimport { FwGridComponent, FwGridItemComponent } from './grid/grid.component';\nimport { FwLayoutGroupComponent } from './layout-group.component';\nimport { FwLayoutPanelComponent } from './panel/panel.component';\nimport { FwLayoutSidebarComponent } from './sidebar/sidebar.component';\nimport { FwLayoutToolbarComponent } from './toolbar/toolbar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n declarations: [\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n})\nexport class FwLayoutsModule {\n}\n","import { Component, EventEmitter, HostBinding, HostListener, Input, input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-popover-panel',\n templateUrl: './popover-panel.component.html',\n styleUrls: ['./popover-panel.component.scss'],\n})\nexport class FwPopoverPanelComponent {\n @Input() position: 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n showCaret = input(true);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-popover-panel', 'fw-popover-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div *ngIf=\"showCaret()\" class=\"fw-popover-caret\"></div>\n</div>\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Component, computed, effect, Input, input, model, signal } from '@angular/core';\nimport { MouseEvent } from 'react';\n\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\ntype PositionOption = 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n\n/**\n * component for mounting content in a floating container\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/latest/?path=/docs/components-popover--docs)\n */\n@Component({\n selector: 'fw-popover',\n templateUrl: './popover.component.html',\n styles: [],\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class FwPopoverComponent {\n @Input() position: PositionOption = 'above';\n trigger = input<CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin>();\n isOpen = model<boolean>(false);\n @Input() action: 'mouseenter' | 'click' = 'mouseenter';\n @Input() flyoutPanel: FwPopoverPanelComponent;\n delay = input<DelayLength>('short');\n delayMs = computed(() => {\n return delayMap[this.delay()];\n })\n showCaret = input(true);\n activePositionPair = signal<ConnectedOverlayPositionChange>(null);\n // for mapping from the connectionPairs to a named position\n panelPosition = computed<PositionOption>(() => {\n const currentPosition = this.activePositionPair()?.connectionPair;\n\n if (!currentPosition) {\n return this.position;\n }\n\n const positionNames = Object.keys(this.positionMap);\n\n const activePositionName = positionNames.find(positionName => {\n const pos = this.positionMap[positionName];\n return pos.originX === currentPosition.originX &&\n pos.originY === currentPosition.originY &&\n pos.overlayX === currentPosition.overlayX &&\n pos.overlayY === currentPosition.overlayY;\n })\n\n return (activePositionName || this.position) as PositionOption;\n })\n\n positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'above-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 40 },\n 'above-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -40 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n 'below-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 40 },\n 'below-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -40 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'left-above': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 37 },\n 'left-below': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -40 },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'right-above': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 37 },\n 'right-below': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -40 },\n };\n\n /**\n * Gets a list of fallback positions for the selected one\n * Preserves the primary axis i.e. which side of the origin the panel is on\n */\n getFallbackPositions = (): ConnectedPosition[] => {\n const positionSplitRegex = /(?<primary>[a-z]\\w+)-*(?<secondary>[a-z]\\w+)*/;\n const { primary, secondary } = positionSplitRegex.exec(this.position).groups;\n\n // '' represents a primary axis with no secondary i.e. 'above'\n // fallbacks if no secondary position\n const primaryAxisToFallbacks = {\n 'left': ['', 'below', 'above'],\n 'right': ['', 'below', 'above'],\n 'above': ['', 'left', 'right'],\n 'below': ['', 'left', 'right'],\n }\n\n // preference order for fallbacks\n const secondaryPositionFallbacks = {\n 'left': ['left', '', 'right'],\n 'right': ['right', '', 'left'],\n 'above': ['above', '', 'below'],\n 'below': ['below', '', 'above'],\n }\n\n const secondaryOptions = secondaryPositionFallbacks[secondary] || primaryAxisToFallbacks[primary];\n\n const positionArray = secondaryOptions.map(secondaryOption => {\n const addDash = secondaryOption ? '-' : '';\n const parsedOptionName = primary + addDash + secondaryOption;\n return this.positionMap[parsedOptionName];\n })\n\n return positionArray;\n }\n\n registerEventListeners = effect(() => {\n\n const trigger = this.trigger() as HTMLElement;\n\n if (!trigger) {\n return;\n }\n\n if (this.action === 'mouseenter' && !trigger.onmouseenter) {\n trigger.onclick = undefined;\n trigger.style.cursor = 'pointer';\n\n let timerId;\n\n trigger.onmouseenter = (): void => {\n timerId = this.openOnDelay();\n };\n\n // @ts-expect-error MouseEvent\n trigger.onmouseleave = (e: MouseEvent): void => {\n window.clearTimeout(timerId);\n\n const relatedTarget = (e.relatedTarget as HTMLElement);\n if (!relatedTarget?.classList.contains('fw-popover-panel') && !relatedTarget?.classList.contains('fw-popover-caret') && !relatedTarget?.classList.contains('cdk-overlay-pane')) {\n this.isOpen.set(false);\n }\n };\n }\n\n if (this.action === 'click' && !trigger.onclick) {\n trigger.onmouseenter = undefined;\n trigger.onmouseleave = undefined;\n\n trigger.onclick = (): void => {\n this.isOpen.update((val) => !val);\n };\n }\n })\n\n openOnDelay(): number {\n return window.setTimeout(() => {\n this.isOpen.set(true);\n }, this.delayMs())\n }\n\n\n backdropClick(): void {\n this.isOpen.set(false);\n }\n\n handlePanelLeave(): void {\n if (this.action === 'mouseenter') {\n this.isOpen.set(false);\n }\n }\n\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositionStrategy]=\"\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"getFallbackPositions()\"\n [cdkConnectedOverlayViewportMargin]=\"10\"\n (positionChange)=\"activePositionPair.set($event)\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"backdropClick()\">\n <fw-popover-panel\n @fadeInFadeOut\n [position]=\"panelPosition()\"\n (mouseLeave)=\"handlePanelLeave()\"\n [showCaret]=\"showCaret()\">\n <ng-content></ng-content>\n </fw-popover-panel>\n</ng-template>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwLayoutsModule } from '../layouts/layouts.module';\nimport { FwPopoverComponent } from './popover.component';\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwLayoutsModule,\n OverlayModule,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n declarations: [\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwPopoverModule {\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';\nimport { Component, computed, ElementRef, EventEmitter, HostBinding, HostListener, Input, input, Output, ViewEncapsulation } from '@angular/core';\n\nexport type DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nexport type SimplePosition = 'above' | 'below' | 'left' | 'right';\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n};\n\nconst isElementRef = (input: unknown): input is ElementRef<HTMLElement> => (\n (Boolean((input as ElementRef<HTMLElement>).nativeElement))\n)\n\n@Component({\n selector: 'fw-tooltip-panel',\n templateUrl: './tooltip-panel.component.html',\n styleUrls: ['./tooltip-panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class FwTooltipPanelComponent {\n\n @HostBinding('@fadeInFadeOut') animation;\n\n trigger = input(undefined, {\n transform: (unparsed: CdkOverlayOrigin | ElementRef<HTMLElement>): CdkOverlayOrigin => {\n if (isElementRef(unparsed)) {\n return new CdkOverlayOrigin(unparsed);\n }\n return unparsed;\n },\n })\n @Input() title = '';\n isOpen = input(false);\n position = input<SimplePosition>('below');\n connectedPosition = computed(() => [positionMap[this.position()]]);\n @Input() color?: 'light' | 'dark' = 'dark';\n @Input() maxWidth?: number = 200;\n @Input() displayCaret: boolean = true;\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n delay = input<DelayLength>('short');\n delayMs = computed(() => delayMap[this.delay()]);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip-panel', 'fw-tooltip-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div\n class=\"fw-tooltip-content-wrapper vision-dark-theme\"\n [ngClass]=\"'fw-tooltip-' + position()\"\n [ngStyle]=\"{'maxWidth': maxWidth+'px'}\">\n <ng-content></ng-content>\n <h5 class=\"vision-h5\">{{ title }}</h5>\n @if (displayCaret) {\n <div class=\"fw-tooltip-caret\"></div>\n }\n</div>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, computed, Directive, effect, ElementRef, inject, input, model, OnDestroy, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTooltipPanelComponent, SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nconst delayNameToMs = (name: DelayLength): number => {\n return delayMap[name];\n}\n\n\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n};\n\n\n/**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n@Directive({\n selector: '[fwTooltip]',\n standalone: true,\n})\nexport class FwTooltipDirective implements OnInit, OnDestroy {\n\n /***** External Context *****/\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private overlayService = inject(Overlay);\n\n /***** Internal Refs *****/\n\n private overlayRef = signal<OverlayRef | undefined>(undefined);\n private tooltipRef = signal<ComponentRef<FwTooltipPanelComponent> | undefined>(undefined);\n private tooltipPortal: ComponentPortal<FwTooltipPanelComponent>;\n\n /***** Inputs *****/\n\n // a lot of these ideally wouldn't be models,\n // but it makes it easier to interact with this from derivative directives\n\n // VS Code pulls the input that shares a name with the directive for giving context\n // so putting the top level comment on this input\n\n /**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n title = model<string>('Placeholder', {\n alias: 'fwTooltip',\n })\n\n /**\n * direction relative to the parent component that the tooltip will attempt to position itself to\n */\n position = model<SimplePosition>('above', {\n alias: 'fwTooltipPosition',\n });\n\n /**\n * maximum width of the tooltip in pixels\n */\n maxWidth = model<number>(200, {\n alias: 'fwTooltipMaxWidthPx',\n })\n\n /**\n * amount of delay before the tooltip displays\n *\n * none (0ms),\n * short (400ms),\n * long (700ms)\n */\n delayMs = input(400, {\n transform: delayNameToMs,\n alias: 'fwTooltipDelay',\n });\n\n /**\n * whether or not the tooltip should have a caret\n */\n displayCaret = input(true, {\n alias: 'fwTooltipCaret',\n });\n\n\n enabled = model(true, {\n alias: 'fwTooltipEnabled',\n });\n\n /***** Derived State *****/\n\n connectedPositions = computed<ConnectedPosition[]>(() => {\n // falback positions for if it doesn't fit in the specified position\n // tend towards closer first i.e. 'above' will try 'left' and 'right' before resorting to 'below\n const positionPreferenceOrderMap = {\n 'above': ['above', 'right', 'left', 'below'],\n 'right': ['right', 'below', 'above', 'left'],\n 'below': ['below', 'left', 'right', 'above'],\n 'left': ['left', 'above', 'below', 'right'],\n }\n\n const fallbackNamedPositions = positionPreferenceOrderMap[this.position()];\n const connectedPositions = fallbackNamedPositions.map(name => positionMap[name]);\n\n return connectedPositions;\n });\n\n positionStrategy = computed(() => {\n const positionBuilder = this.overlayService.position();\n const withOrigin = positionBuilder.flexibleConnectedTo(this.elementRef);\n const completedStrategy = withOrigin.withPositions(this.connectedPositions());\n return completedStrategy;\n });\n\n overlayConfig = computed<OverlayConfig>(() => ({\n positionStrategy: this.positionStrategy(),\n maxWidth: Number(this.maxWidth()),\n ScrollStrategyOptions: this.overlayService.scrollStrategies.close(),\n disposeOnNavigation: true,\n }));\n\n /***** Effects and Methods *****/\n\n addMouseEventListeners = effect(() => {\n\n const nativeElement = this.elementRef.nativeElement;\n\n nativeElement.addEventListener('mouseenter', () => {\n this.showTooltip();\n });\n\n nativeElement.addEventListener('mouseleave', () => {\n this.hideTooltip();\n });\n })\n\n ngOnInit(): void {\n this.tooltipPortal = new ComponentPortal(FwTooltipPanelComponent, this.viewContainerRef);\n\n this.overlayRef.set(this.overlayService.create());\n }\n\n\n private openDelayTimer: number;\n\n showTooltip(): void {\n if (!this.enabled() || !this.title()) {\n return;\n }\n\n const overlayRef = this.overlayRef();\n overlayRef.updatePositionStrategy(this.positionStrategy());\n\n if (this.openDelayTimer) {\n return;\n }\n\n this.openDelayTimer = window.setTimeout(() => {\n const tooltipRef = overlayRef.attach(this.tooltipPortal);\n this.tooltipRef.set(tooltipRef);\n\n tooltipRef.setInput('title', this.title());\n tooltipRef.setInput('position', this.position());\n tooltipRef.setInput('maxWidth', this.maxWidth());\n tooltipRef.setInput('displayCaret', this.displayCaret());\n tooltipRef.changeDetectorRef.detectChanges();\n }, this.delayMs());\n }\n\n positionChangeSub: Subscription | undefined;\n\n // updates the tooltip panel's caret position if a fallback position is used\n handlePositionChange = effect(() => {\n\n this.positionChangeSub?.unsubscribe();\n this.positionChangeSub = this.positionStrategy().positionChanges.subscribe(positionChange => {\n\n const newPosition = positionChange.connectionPair;\n\n const positionNames = Object.keys(positionMap);\n const newPositionName = positionNames.find(name => {\n const pos = positionMap[name];\n\n return pos.originX === newPosition.originX &&\n pos.originY === newPosition.originY &&\n pos.overlayX === newPosition.overlayX &&\n pos.overlayY === newPosition.overlayY;\n })\n\n if (newPositionName) {\n this.tooltipRef()?.setInput('position', newPositionName);\n this.tooltipRef()?.changeDetectorRef.detectChanges();\n }\n })\n })\n\n hideTooltip(): void {\n window.clearTimeout(this.openDelayTimer);\n this.openDelayTimer = undefined;\n this.overlayRef()?.detach();\n this.tooltipRef.set(undefined);\n }\n\n ngOnDestroy(): void {\n this.positionChangeSub?.unsubscribe();\n this.hideTooltip();\n }\n}\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { CdkOverlayOrigin, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Component, HostBinding, Input,input } from '@angular/core';\n\nimport { SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\n\n/**\n * component for giving extra context when a user hovers something\n * @deprecated use the [tooltip directive](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs) instead, intend to remove in v3\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-wrapped-tooltip--docs)\n */\n@Component({\n selector: 'fw-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n})\nexport class FwTooltipComponent {\n @Input() title: string;\n @Input() color: 'light' | 'dark' = 'dark';\n @Input() position: SimplePosition = 'above';\n @Input() maxWidth?: number = 200;\n @Input() fullWidth?: boolean = false;\n // TODO v3: remove, we shouldn't need to give direct control over a tooltip's open state\n @Input() isOpen: boolean = false;\n // TODO v3: this is a no-op input, we should remove\n @Input() trigger: CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin;\n\n delay = input<DelayLength>('short');\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip', this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n };\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n\n}\n","<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n [fwTooltip]=\"title\"\n [fwTooltipDelay]=\"delay()\"\n [fwTooltipPosition]=\"position\">\n <ng-content></ng-content>\n</div>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CdkNoDataRow } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverModule } from '../popover/popover.module';\nimport { FwTooltipComponent } from './tooltip.component';\nimport { FwTooltipDirective } from './tooltip.directive';\nimport { FwTooltipPanelComponent } from './tooltip-panel/tooltip-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwPopoverModule,\n OverlayModule,\n CdkNoDataRow,\n FwTooltipDirective,\n],\n exports: [\n FwTooltipComponent,\n FwTooltipPanelComponent,\n FwTooltipDirective,\n ],\n declarations: [\n FwTooltipComponent,\n FwTooltipPanelComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwTooltipModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, Subscription, timer } from 'rxjs';\n\nimport { FwAvatarComponent } from '../avatar/avatar.component';\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n\n/**\n * Component for displaying and managing the overflow of a list of `fw-avatar`s\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-avatar-list--docs)\n */\n@Component({\n selector: 'fw-avatar-list',\n standalone: true,\n imports: [\n FwAvatarModule,\n FwTooltipModule,\n ],\n templateUrl: './avatar-list.component.html',\n styleUrl: './avatar-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwAvatarListComponent implements OnInit, OnDestroy {\n\n private subscriptions: Subscription[] = [];\n\n hostElement = inject(ElementRef);\n avatars = contentChildren<FwAvatarComponent>(FwAvatarComponent);\n avatarElementRefs = contentChildren<FwAvatarComponent, ElementRef>(FwAvatarComponent, { read: ElementRef });\n moreText = viewChild.required<ElementRef<HTMLParagraphElement>>('moreText');\n changeDetector = inject(ChangeDetectorRef);\n resizeDebounceMs = input(100);\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcOverflow());\n this.subscriptions.push(sub);\n }\n\n applyBorderToChildAvatars = effect(() => {\n this.avatars().forEach(avatar => {\n avatar.bordered = true;\n });\n });\n\n childrenChanged = effect(() => {\n this.avatarElementRefs();\n this.calcOverflow();\n }, { allowSignalWrites: true });\n\n\n hiddenAvatars = signal([]);\n\n calcOverflow(): void {\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const avatarElements = this.avatarElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = this.moreText().nativeElement;\n\n avatarElements.forEach(avatar => avatar.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleAvatars = avatarElements.filter(avatar => {\n const avatarRect = avatar.getBoundingClientRect();\n return !(avatarRect.right > hostRect.right || avatarRect.bottom > hostRect.bottom);\n })\n\n const overflowingAvatars = avatarElements.toSpliced(0, visibleAvatars.length);\n\n if (overflowingAvatars.length > 0) {\n const lastVisibleAvatar = visibleAvatars[visibleAvatars.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleAvatar.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowingAvatars.push(lastVisibleAvatar);\n }\n\n this.hiddenAvatars.set(overflowingAvatars);\n overflowingAvatars.forEach(overflowAvatar => {\n overflowAvatar.classList.add('hidden');\n })\n } else {\n this.moreText().nativeElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwBadgeComponent {\n @Input() color?: 'default' | 'primary' | 'secondary' | 'error' | 'warning' | 'success' = 'default';\n @Input() variant?: 'standard' | 'dot' | 'static' = 'standard';\n @Input() value?: string = '';\n @Input() hideZero?: boolean = false;\n @Input() hideEmpty?: boolean = false;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-badge', this.color, this.variant].join(' ');\n }\n\n showBadge(): boolean {\n let show = true;\n if (this.hideEmpty) {\n show = !(this.value.length === 0);\n }\n if (this.hideZero) {\n show = !(this.value && this.value === '0' || (this.hideEmpty && this.value.length === 0));\n }\n return show;\n }\n}\n","<ng-content></ng-content>\n<div class=\"badge-content vision-p4\" *ngIf=\"showBadge()\">\n {{ value }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwBadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwBadgeComponent,\n ],\n declarations: [\n FwBadgeComponent,\n ],\n})\nexport class FwBadgeModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-crumb',\n templateUrl: './crumb.component.html',\n styleUrls: ['./crumb.component.scss'],\n})\nexport class FwCrumbComponent {\n @Input() title: string;\n @Input() description?: string;\n @Input() href?: string;\n @Input() last?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<Event> = new EventEmitter<Event>();\n\n handleClick(evt: Event): void {\n evt.stopPropagation();\n if (this.href) {\n window.location.href = this.href;\n }\n this.click.emit(evt);\n }\n}\n","<div (click)=\"handleClick($event)\">\n <h3 class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<fw-icon *ngIf=\"!last\" size=\"medium\" color=\"slate\">chevron-forward</fw-icon>\n","import { AfterContentInit, Component, ContentChildren, QueryList } from '@angular/core';\n\nimport { FwCrumbComponent } from './crumb.component';\n\n@Component({\n selector: 'fw-breadcrumbs',\n template: '<ng-content select=\"fw-crumb\"></ng-content>',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class FwBreadcrumbsComponent implements AfterContentInit {\n @ContentChildren(FwCrumbComponent) crumbs: QueryList<FwCrumbComponent>;\n\n ngAfterContentInit(): void {\n this.crumbs.forEach((crumb, index) => {\n if (index === this.crumbs.length - 1) {\n crumb.last = true;\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBreadcrumbsComponent } from './breadcrumbs.component';\nimport { FwCrumbComponent } from './crumb.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n declarations: [\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n})\nexport class FwBreadcrumbsModule {\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\n\n/** Based on [mat-progress-spinner](https://material.angular.io/components/progress-spinner/) */\n@Component({\n selector: 'fw-progress-spinner',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-spinner',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-small]': 'size === \"small\"',\n '[class.progress-show-value]': 'this.showValue',\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n // '[style.--progress-size]': 'diameter + \"px\"',\n // '[style.--progress-active-indicator-width]': 'diameter + \"px\"',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode',\n },\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwProgressSpinnerComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n ) {\n }\n\n /** Mode of the progress spinner. **/\n @Input() mode: 'determinate' | 'indeterminate' = 'indeterminate';\n\n /** Size of the progress spinner. **/\n @Input() size: 'small' | 'medium' = 'medium';\n\n /** Color of the progress spinner. **/\n @Input() color?: 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress spinner. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress spinner. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = Math.max(0, Math.min(100, v || 0));\n }\n\n private _value: number = 0;\n private _diameter = 20;\n private _strokeWidth: number = 3;\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n get diameter(): number {\n switch (this.size) {\n case 'small':\n this._diameter = 20;\n this._strokeWidth = 3;\n break;\n case 'medium':\n this._diameter = 36;\n this._strokeWidth = 4;\n break;\n }\n return this._diameter;\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n _circleRadius(): number {\n return (this.diameter - 10) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n _viewBox(): string {\n const viewBox = this._circleRadius() * 2 + this._strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius();\n }\n\n /** The dash offset of the svg circle. */\n _strokeDashOffset(): number {\n if (this.mode === 'determinate') {\n return (this._strokeCircumference() * (100 - this._value)) / 100;\n }\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n _circleStrokeWidth(): number {\n return (this._strokeWidth / this.diameter) * 100;\n }\n}\n","<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-indeterminate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-indeterminate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</ng-template>\n\n<div class=\"progress-determinate-container\" aria-hidden=\"true\" #determinateSpinner>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-determinate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-circle\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</div>\n<div class=\"progress-indeterminate-container\" aria-hidden=\"true\">\n <div class=\"progress-spinner-layer\">\n <div class=\"progress-circle-clipper progress-circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n <div class=\"progress-circle-clipper progress-circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n </div>\n</div>\n<p [ngClass]=\"['progress-label','size-'+size, 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n})\nexport class FwButtonComponent {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button', this.size, this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n }\n\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() variant?: 'ghost' | 'solid' | 'outline' | 'progress' = 'solid';\n @Input() type?: 'button' | 'submit' | 'reset';\n @Input() disabled?: boolean = false;\n @Input() fullWidth?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: IconType;\n\n getMappedColor(): 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' | undefined {\n switch (this.color) {\n case 'primary':\n case 'secondary':\n case 'slate':\n return this.color;\n case 'danger':\n return 'red';\n case 'warning':\n return 'orange';\n case 'success':\n return 'green';\n default:\n return undefined;\n }\n }\n}\n","<button [type]=\"type\" [class]=\"[color + '-' + variant, size]\" [disabled]=\"disabled\">\n <fw-progress-spinner size=\"small\" [color]=\"getMappedColor()\" *ngIf=\"variant==='progress'\"></fw-progress-spinner>\n <fw-icon *ngIf=\"!!leftIcon && variant!=='progress'\">{{ leftIcon }}</fw-icon>\n <div class=\"spacer\" *ngIf=\"!leftIcon\"></div>\n <span><ng-content></ng-content></span>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n</button>\n","import { Directive, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Directive({\n selector: '[fwButton]',\n})\nexport class FwButtonDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n font-family: Inter, sans-serif;\n font-size: 14px;\n line-height: 14px;\n font-style: normal;\n font-weight: 500;\n display: inline-flex;\n height: 36px;\n padding: 12px;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n border: 1px solid transparent;\n border-radius: 8px;\n background-color: var(--slate-light);\n color: var(--typography-base);\n cursor: pointer;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n\n@Directive({\n selector: '[fwButtonPrimary]',\n})\nexport class FwButtonPrimaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--primary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSecondary]',\n})\nexport class FwButtonSecondaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--secondary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonDanger]',\n})\nexport class FwButtonDangerDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--red-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSuccess]',\n})\nexport class FwButtonSuccessDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--green-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n/** Based on [mat-progress-bar](https://material.angular.io/components/progress-bar/) */\n@Component({\n selector: 'fw-progress-bar',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-bar progress progress-animation-ready',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-show-value]': 'this.showValue',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': '_isIndeterminate() ? null : value',\n '[attr.mode]': 'mode',\n },\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwProgressBarComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n }\n\n /** Mode of the progress bar. **/\n @Input() mode: 'determinate' | 'indeterminate' | 'buffer' = 'indeterminate';\n\n /** Color of the progress bar. **/\n @Input() color: 'primary' | 'secondary' | 'orange' | 'red' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress bar. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _value: number = 0;\n\n /** Buffer value of the progress bar. Defaults to zero. */\n @Input()\n get bufferValue(): number {\n return this._bufferValue || 0;\n }\n\n set bufferValue(v: number) {\n this._bufferValue = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _bufferValue = 0;\n\n /** Gets the transform style that should be applied to the primary bar. */\n _getPrimaryBarTransform(): string {\n return `scaleX(${this._isIndeterminate() ? 1 : this.value / 100})`;\n }\n\n /** Gets the `flex-basis` value that should be applied to the buffer bar. */\n _getBufferBarFlexBasis(): string {\n return `${this.mode === 'buffer' ? this.bufferValue : 100}%`;\n }\n\n /** Returns whether the progress bar is indeterminate. */\n _isIndeterminate(): boolean {\n return this.mode === 'indeterminate';\n }\n}\n\n/** Clamps a value to be between two numbers, by default 0 and 100. */\nfunction clamp(v: number, min = 0, max = 100): number {\n return Math.max(min, Math.min(max, v));\n}\n","<div class=\"progress-wrapper\">\n <div class=\"progress-buffer\" aria-hidden=\"true\">\n <div\n class=\"progress-buffer-bar\"\n [style.flex-basis]=\"_getBufferBarFlexBasis()\"></div>\n <div class=\"progress-buffer-dots\" *ngIf=\"mode === 'buffer'\"></div>\n </div>\n <div\n class=\"progress-bar progress-primary-bar\"\n aria-hidden=\"true\"\n [style.transform]=\"_getPrimaryBarTransform()\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n <div class=\"progress-bar progress-secondary-bar\" aria-hidden=\"true\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n</div>\n<p [ngClass]=\"['progress-label', 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwProgressBarComponent } from './bar/bar.component';\nimport { FwProgressSpinnerComponent } from './spinner/spinner.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n declarations: [\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n})\nexport class FwProgressModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwButtonComponent } from './button.component';\nimport {\n FwButtonDangerDirective,\n FwButtonDirective,\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n} from './button.directives';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwProgressModule,\n ],\n exports: [\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n declarations: [\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n})\nexport class FwButtonModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-button-toggle-item',\n templateUrl: './button-toggle-item.component.html',\n styleUrls: [],\n})\nexport class FwButtonToggleItemComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() selectedIcon?: IconType;\n @Input() value?: string;\n @Input() selected: boolean = false;\n @Input() disabled: boolean = false;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'slate';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() selectedStyle?: 'background' | 'foreground' = 'background';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle-item', this.title && this.title.length > 0 ? 'has-title' : 'no-title'].filter(Boolean).join(' ');\n };\n\n constructor() {\n }\n\n handleClick(): void {\n if (this.value) {\n this.click.emit(this.value);\n }\n }\n}\n","<fw-button\n [leftIcon]=\"(selected && selectedIcon) ? selectedIcon : icon\"\n [variant]=\"(selected && selectedStyle==='background') ? 'solid':'outline'\"\n [color]=\"selected ? selectedColor:color\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (click)=\"handleClick()\">\n {{ title }}\n</fw-button>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from '../button-toggle/button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-group',\n styleUrls: ['./button-group.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonGroupComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonGroupComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-group', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string[]>();\n private _value: string[];\n @Input()\n get value(): string[] {\n return this._value;\n }\n\n set value(newValue: string[]) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string[]) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string[]): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n updateValue(value: string[]): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (this.value.indexOf(toggle.value) >= 0) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n toggle.selected = !toggle.selected;\n const vals = this.toggleButtons.map(tb => {\n if (tb.selected) {\n return tb.value;\n } else {\n return null;\n }\n }).filter(Boolean);\n this.writeValue(vals);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-toggle',\n styleUrls: ['./button-toggle.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonToggleComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonToggleComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n // Inputs need an `${inputName}Change` event to support two-way binding to [(value)]\n // https://angular.dev/guide/templates/two-way-binding\n valueChange(value: string): void {\n this.updateValue(value);\n }\n\n updateValue(value: string): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (toggle.value === this.value) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n if (this.toggleButtons.length === 1) {\n toggle.selected = !toggle.selected;\n } else {\n this.toggleButtons.forEach(t => {\n t.selected = false;\n });\n toggle.selected = true;\n }\n const val = this.toggleButtons.find(t => t.selected)?.value;\n this.writeValue(val);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonToggleComponent } from './button-toggle.component';\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n@NgModule({\n exports: [\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n declarations: [\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n ],\n})\nexport class FwButtonToggleModule {\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwButtonToggleModule } from '../button-toggle/button-toggle.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n declarations: [\n FwButtonGroupComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n FwButtonToggleModule,\n ],\n})\nexport class FwButtonGroupModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class FwCardComponent {\n @Input() value?: object | string;\n @Input() disabled?: boolean;\n @Input() focused?: boolean;\n @Input() constrained?: boolean;\n @Input() selectable?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n}\n","<div\n class=\"fw-card\"\n [class.focused]=\"focused\"\n [class.constrained]=\"constrained\"\n [class.selectable]=\"selectable\"\n [class.disabled]=\"disabled\"\n (click)=\"select && selectable && !disabled ? select.emit(value) : undefined\">\n <ng-content select=\"fw-card-header\"></ng-content>\n <ng-content select=\"fw-card-author\"></ng-content>\n <ng-content select=\"fw-card-content\"></ng-content>\n <ng-content select=\"fw-card-footer\"></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-attr',\n templateUrl: './card-attribute.component.html',\n styleUrls: ['./card-attribute.component.scss'],\n})\nexport class FwCardAttributeComponent {\n @Input() icon: IconType;\n @Input() title: string;\n}\n","<fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n<h5 *ngIf=\"title\" class=\"vision-h5\">{{ title }}</h5>\n<ng-content></ng-content>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-card-author',\n templateUrl: './card-author.component.html',\n styleUrls: ['./card-author.component.scss'],\n})\nexport class FwCardAuthorComponent {\n @Input() name: string;\n @Input() details: string;\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<div class=\"author-text\">\n <h5 class=\"vision-h5\">{{ name }}</h5>\n <p class=\"vision-p3\">{{ details }}</p>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-card-content',\n template: '<ng-content></ng-content>',\n styleUrls: ['./card-content.component.scss'],\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class FwCardContentComponent {\n\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n selector: 'fw-card-footer',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwCardFooterComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-top: 8px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-header',\n templateUrl: './card-header.component.html',\n styleUrls: ['./card-header.component.scss'],\n})\nexport class FwCardHeaderComponent {\n @Input() title?: string;\n @Input() description?: string;\n @Input() leftIcon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'muted' | 'typography' = 'primary';\n}\n","<ng-content select=\"fw-app-icon\"></ng-content>\n<fw-icon [color]=\"iconColor\" *ngIf=\"leftIcon\">{{ leftIcon }}</fw-icon>\n<div class=\"card-header-title\">\n <h3 *ngIf=\"title\" class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<div class=\"card-header-key\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwCardComponent } from './card.component';\nimport { FwCardAttributeComponent } from './card-attribute/card-attribute.component';\nimport { FwCardAuthorComponent } from './card-author/card-author.component';\nimport { FwCardContentComponent } from './card-content/card-content.component';\nimport { FwCardFooterComponent } from './card-footer/card-footer.component';\nimport { FwCardHeaderComponent } from './card-header/card-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAvatarModule,\n ],\n exports: [\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n declarations: [\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n})\nexport class FwCardModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-checkbox',\n styleUrls: ['./checkbox.component.scss'],\n templateUrl: './checkbox.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwCheckboxComponent,\n multi: true,\n }],\n})\nexport class FwCheckboxComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() title: string;\n @Input() focused: boolean = false;\n\n get checkboxStyles(): string[] {\n return [\n 'fw-checkbox',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.checked === undefined ? 'indeterminate' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n @Input() checked?: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div class=\"checkbox-wrapper\" (click)=\"handleClick()\" [ngClass]=\"disabled?'disabled':''\">\n <div [ngClass]=\"checkboxStyles\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n <p class=\"vision-p2\">{{ title }}\n <ng-content></ng-content>\n </p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n ],\n exports: [\n FwCheckboxComponent,\n ],\n declarations: [\n FwCheckboxComponent,\n ],\n})\nexport class FwCheckboxModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n})\nexport class FwChipComponent {\n @Input() value?: object | string;\n @Input() variant?: 'enabled' | 'hovered' | 'focused' | 'disabled' = 'enabled';\n @Input() color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() icon?: IconType;\n @Input() title?: string;\n @Input() description?: string;\n @Input() showClose?: boolean;\n @Input() disabled?: boolean;\n @Input() selected?: boolean;\n @Input() textWrap? = true;\n @Input() selectable?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n\n handleClose(event: MouseEvent): void {\n event.stopPropagation();\n if (this.close) {\n this.close.emit();\n }\n }\n}\n","<div\n [ngClass]=\"['chip', variant, 'chip-'+color]\" [class.disabled]=\"disabled\" [class.focused]=\"selected\"\n [class.selectable]=\"selectable\" (click)=\"selectable ? select.emit(value) : undefined\">\n\n @if (icon) {\n <fw-icon class=\"chip-icon\">{{ icon }}</fw-icon>\n }\n\n <ng-content select=\"fw-avatar\"></ng-content>\n <ng-content select=\"fw-progress-spinner\"></ng-content>\n @if (title) {\n <div class=\"chip-text-container\">\n <span [class.text-wrap]=\"!textWrap\" class=\"chip-text\">{{ title }}</span>\n\n @if (description) {\n <span class=\"description\">{{ description }}</span>\n }\n </div>\n }\n\n @if (showClose) {\n <div class=\"close-icon\" (click)=\"handleClose($event)\">\n <fw-icon>close</fw-icon>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwChipComponent } from './chip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n ],\n exports: [\n FwChipComponent,\n ],\n declarations: [\n FwChipComponent,\n ],\n})\nexport class FwChipModule {\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwSwitchComponent),\n multi: true,\n },\n ],\n})\nexport class FwSwitchComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() title?: string;\n @Input() titlePosition?: 'start' | 'end' = 'end';\n @Input() size?: 'small' | 'medium' = 'medium';\n @Input() color?: 'default' | 'primary' | 'secondary' = 'primary';\n @Input() disabled?: boolean;\n @Input() checked: boolean = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p class=\"vision-p2\">{{ title }}</p></label>\n</div>\n","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-contained-input',\n templateUrl: './contained-input.component.html',\n styleUrls: ['./contained-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwContainedInputComponent,\n multi: true,\n }],\n})\nexport class FwContainedInputComponent implements ControlValueAccessor {\n @Input() title: string;\n @Input() description?: string;\n @Input() status?: string;\n @Input() inputPosition?: 'start' | 'end' = 'end';\n @Input() inputVariant?: 'none' | 'switch' | 'checkbox' = 'switch';\n @Input() checked?: boolean;\n @Input() disabled?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n @HostListener('click') clicked(): void {\n if (!this.disabled) {\n this.writeValue(!this.checked);\n this.onChange(this.checked);\n this.change.emit(this.checked);\n }\n }\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-contained-input',\n `position-${this.inputPosition}`,\n [this.checked ? 'checked' : ''],\n [this.disabled ? 'disabled' : ''],\n ].join(' ');\n };\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: boolean): void => {\n };\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"vision-h4 section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-switch>\n <fw-checkbox\n *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-checkbox>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwSwitchComponent } from './switch.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwSwitchComponent,\n ],\n declarations: [\n FwSwitchComponent,\n ],\n})\nexport class FwSwitchModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwSwitchModule } from '../switch/switch.module';\nimport { FwContainedInputComponent } from './contained-input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwSwitchModule,\n FwCheckboxModule,\n ],\n exports: [\n FwContainedInputComponent,\n ],\n declarations: [\n FwContainedInputComponent,\n ],\n})\nexport class FwContainedInputModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-date-input',\n templateUrl: './date-input.component.html',\n styleUrls: ['./date-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwDateInputComponent,\n multi: true,\n }],\n})\nexport class FwDateInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string = 'mm/dd/yyyy';\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: 'date' | 'time' | 'datetime-local' = 'date';\n @Input() max?: string;\n @Input() min?: string;\n @Input() step?: number;\n @Input() autofocus?: string;\n @Input() autocomplete?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n if (this.isIsoDate(newValue)) {\n this.setDateString(newValue);\n } else {\n this.writeValue(newValue);\n }\n }\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n public setDate(value: Date): void {\n const year = value.getFullYear();\n const month = (value.getMonth() + 1).toString().padStart(2, '0');\n const day = value.getDate().toString().padStart(2, '0');\n const hours = value.getHours().toString().padStart(2, '0');\n const minutes = value.getMinutes().toString().padStart(2, '0');\n if (this.type === 'date') {\n this.writeValue(`${year}-${month}-${day}`);\n }\n if (this.type === 'datetime-local') {\n this.writeValue(`${year}-${month}-${day}T${hours}:${minutes}:00`);\n }\n if (this.type === 'time') {\n this.writeValue(`${hours}:${minutes}`);\n }\n }\n\n public setDateString(isoValue: string): void {\n this.setDate(new Date(isoValue));\n }\n\n isIsoDate(str): boolean {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) {\n return false;\n }\n const d = new Date(str);\n return !isNaN(d.getTime()) && d.toISOString() === str; // valid date\n }\n\n writeValue(obj: string): void {\n this._value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: Event): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n}\n","<div class=\"full-container\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">\n {{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n <input\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n (change)=\"changeHandler($event)\"\n [value]=\"value\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\">\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwDateInputComponent } from './date-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n ],\n exports: [\n FwDateInputComponent,\n ],\n declarations: [\n FwDateInputComponent,\n ],\n})\nexport class FwDateInputModule {\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\nexport enum DialogWidth {\n ExtraSmall = 'extra-small',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large',\n Responsive = 'responsive'\n}\n\n@Component({\n selector: 'fw-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class FwDialogComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() protected dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {\n [`dialog-width-${this.width}`]: true,\n 'dialog-closing': this.isClosing,\n };\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n protected handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<div class=\"fw-dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DEFAULT_DIALOG_CONFIG, Dialog, DIALOG_SCROLL_STRATEGY, DialogConfig, DialogRef } from '@angular/cdk/dialog';\nimport { ComponentType, Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Inject, Injectable, Injector, Optional, SkipSelf } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwDialogService extends Dialog {\n constructor(private overlay: Overlay,\n _injector: Injector,\n public injector: Injector,\n @Optional() @Inject(DEFAULT_DIALOG_CONFIG) _dialogConfig: DialogConfig,\n public _overlayContainerRef: OverlayContainer,\n @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() _parentDialog: Dialog,\n @Optional() public dialogRef: DialogRef<any>) {\n super(overlay, _injector, _dialogConfig, _parentDialog, _overlayContainerRef, scrollStrategy);\n }\n\n /**\n * Open a custom component in an overlay and positioned near the top\n */\n openDialog<T>(component: ComponentType<T>, config?: DialogConfig & { canCloseCheck?: () => boolean, responsive?: boolean }, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: config?.responsive \n ? this.overlay.position().global()\n .top('5vh') // Reduced top margin for mobile optimization\n .centerHorizontally()\n : this.overlay.position().global()\n .top(topOffset ? topOffset : '10vh')\n .centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n const dialogRef = super.open(component, config);\n\n // Handle backdrop clicks with animation\n if (dialogRef.overlayRef.backdropElement) {\n dialogRef.overlayRef.backdropElement.addEventListener('click', evt => {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n if (isBackdropCloseEnabled) {\n evt.stopPropagation();\n this.closeWithAnimation(dialogRef);\n }\n });\n }\n\n // Handle ESC key with animation\n dialogRef.overlayRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n\n if (isBackdropCloseEnabled) {\n this.closeWithAnimation(dialogRef);\n }\n }\n });\n\n return dialogRef;\n }\n\n openModalDialog<T>(component: ComponentType<T>, config?: DialogConfig, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: this.overlay.position().global().top(topOffset ? topOffset : '10vh').centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n return super.open(component, config);\n }\n\n closeWithAnimation(dialogRef: DialogRef<any>): void {\n const dialogElement = dialogRef.overlayRef.overlayElement?.querySelector('fw-dialog, fw-dialog-confirm, fw-dialog-simple');\n\n if (dialogElement && !dialogElement.classList.contains('dialog-closing')) {\n if (dialogElement.tagName.toLowerCase() !== 'fw-dialog') {\n // For fw-dialog-confirm and fw-dialog-simple, apply the class to the inner fw-dialog element\n const innerDialog = dialogElement.querySelector('fw-dialog');\n if (innerDialog) {\n innerDialog.classList.add('dialog-closing');\n }\n } else {\n dialogElement.classList.add('dialog-closing');\n }\n\n setTimeout(() => {\n dialogRef.close();\n }, 300);\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-actions',\n})\nexport class FwDialogActionsComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 16px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-content',\n})\nexport class FwDialogContentComponent {\n @Input() padded?: boolean;\n\n @HostBinding('style') get style(): SafeStyle {\n if (this.padded) {\n return this.sanitizer.bypassSecurityTrustStyle(`\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n `);\n } else {\n return '';\n }\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n})\nexport class FwDialogConfirmComponent {\n @Input() title?: string = 'Confirm';\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() confirmColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'primary';\n @Input() cancelColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'slate';\n @Input() confirmButtonText?: string = 'Confirm';\n @Input() confirmButtonIcon?: IconType = 'done-check';\n @Input() cancelButtonText?: string = 'Cancel';\n @Input() contentIcon?: string;\n @Input() contentTitle?: string = 'Are you sure?';\n @Input() contentText?: string;\n @Input() showConfirmButtonIcon = true;\n @Input() showClose = false;\n @Input() width: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = 'extra-small';\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n protected handleConfirm(): void {\n this.dialogRef.close(true);\n this.confirm.emit();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n @if (contentIcon) {\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\">\n {{ contentIcon }}\n </fw-icon>\n }\n\n @if (contentTitle) {\n <p class=\"vision-p2 content-title\">\n {{ contentTitle }}\n </p>\n }\n\n @if (contentText) {\n <p class=\"vision-p2 content-text\">\n {{ contentText }}\n </p>\n }\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n @if (cancelButtonText) {\n <fw-button\n variant=\"outline\"\n [color]=\"cancelColor\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n }\n\n @if (confirmButtonText) {\n <fw-button\n variant=\"solid\"\n [color]=\"confirmColor\"\n [leftIcon]=\"showConfirmButtonIcon ? confirmButtonIcon : null\"\n (click)=\"handleConfirm()\">\n {{ confirmButtonText }}\n </fw-button>\n }\n </fw-dialog-actions>\n</fw-dialog>\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-header',\n})\nexport class FwDialogHeaderComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n border-bottom: 1px solid var(--separations-base);\n padding: 12px 16px;\n height: 44px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\nimport { DialogWidth } from './dialog.component';\n\n@Component({\n selector: 'fw-dialog-simple',\n templateUrl: './dialog-simple.component.html',\n styleUrls: ['./dialog-simple.component.scss'],\n})\nexport class FwDialogSimpleComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n @Input() actionButtonText?: string;\n @Input() actionButtonIcon?: string;\n @Input() cancelButtonText?: string;\n @Input() alternateButtonText?: string;\n @Input() alternateButtonIcon?: IconType;\n @Input() contentText?: string;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() action: EventEmitter<void> = new EventEmitter<void>();\n @Output() alternateAction: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n@Injectable()\nexport class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {};\n private messages: { [key: string]: string } = {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MinimalTranslationService,TranslationService } from '../translation.service';\nimport { TranslatePipe } from './translate.pipe';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n@NgModule({\n declarations: exports,\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { PipesModule } from '../shared/pipes/pipes.module';\nimport { FwDialogComponent } from './dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogConfirmComponent } from './dialog-confirm.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\nimport { FwDialogHeaderComponent } from './dialog-header.component';\nimport { FwDialogSimpleComponent } from './dialog-simple.component';\n\n@NgModule({\n declarations: [\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n imports: [\n CommonModule,\n DialogModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n PipesModule,\n ],\n exports: [\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n providers: [\n FwDialogService,\n ],\n})\nexport class FwDialogsModule {\n}\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n})\nexport class FwTagComponent {\n @Input() size?: 'small' | 'large' = 'small';\n @Input() color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() icon?: IconType;\n @Input() title?: string;\n}\n","<div [ngClass]=\"['tag', 'tag-'+size, 'tag-'+color]\">\n <fw-icon *ngIf=\"icon\" class=\"tag-icon\">{{ icon }}</fw-icon>\n <div class=\"tag-text\" *ngIf=\"title\">\n <span>{{ title }}</span>\n </div>\n</div>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-form-heading',\n templateUrl: './form-heading.component.html',\n styleUrls: ['./form-heading.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwFormHeadingComponent {\n @HostBinding('attr.class') class = 'fw-form-heading';\n @Input() title: string;\n @Input() description?: string;\n @Input() required?: boolean;\n @Input() status?: string;\n @Input() statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <div>\n <div class=\"section-heading\">\n <h4 class=\"vision-h4\">\n <span>{{ title }}</span>\n <span *ngIf=\"required\" class=\"required\">*</span>\n </h4>\n <fw-tag *ngIf=\"status\" [color]=\"statusColor\" [title]=\"status\"></fw-tag>\n <ng-content select=\"fw-tooltip\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </div>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagComponent } from './tag.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwTagComponent,\n ],\n declarations: [\n FwTagComponent,\n ],\n})\nexport class FwTagModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagModule } from '../tag/tag.module';\nimport { FwFormHeadingComponent } from './form-heading.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwTagModule,\n ],\n exports: [\n FwFormHeadingComponent,\n ],\n declarations: [\n FwFormHeadingComponent,\n ],\n})\nexport class FwFormHeadingModule {\n}\n","// adapted from https://github.com/yuyang041060120/ng2-validation\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { isAfter,isBefore, isSameDay, parseISO } from 'date-fns';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\n\nexport class FwValidators {\n static phone: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n return isValidPhoneNumber(v) ? null : { 'phone': true };\n };\n\n static email: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegex.test(v) ? null : { 'email': true };\n };\n\n static url: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const urlRegEx = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return urlRegEx.test(v) ? null : { 'url': true };\n };\n}\n\nconst isFormControl = (obj: unknown | AbstractControl): obj is AbstractControl => {\n return Boolean((obj as AbstractControl)?.status);\n}\n\n/**\n * @description Checks that passed form control's value is after passed date\n * @param earliestDateArg Date object or another form control\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns\n */\nexport const notBeforeDate = (earliestDateArg: AbstractControl | Date): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n const valueToCheck = parseISO(control.value);\n const earliestDate = isFormControl(earliestDateArg) ? parseISO(earliestDateArg.value as string) : earliestDateArg;\n\n const isInvalid = isBefore(valueToCheck, earliestDate);\n const areSameDay = isSameDay(valueToCheck, earliestDate);\n\n const error = {\n dateRange: 'date range is invalid',\n }\n\n return (isInvalid && !areSameDay) ? error : null;\n }\n}\n\n/**\n * @description Checks that the date emitted by the attached form control is not in the future\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns Validation error or null\n */\nexport const notFutureDate = (): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n // assume the control uses an ISO timestamp\n const valueToCheck = parseISO(control.value);\n\n const today = new Date();\n const isFuture = isAfter(valueToCheck, today);\n\n return isFuture ? { isFuture: true } : null;\n }\n}\n","export type IconType = typeof allIcons[number];\n\nexport const allIcons = <const>[\n '3d-sphere-rotate-arrows',\n 'add-circle',\n 'add-new-create',\n 'add-row-above',\n 'add-row-below',\n 'add-server',\n 'add-server-databases-endpoint',\n 'add-user',\n 'ai',\n 'apple',\n 'apply-copy-duplicate',\n 'archive-documents-box-big',\n 'arrange-filter-sort',\n 'arrow',\n 'arrow-annotate',\n 'arrow-back',\n 'arrow-back-collapse',\n 'arrow-down',\n 'arrow-forward',\n 'arrow-forward-collapse',\n 'arrow-redo',\n 'arrow-rotate',\n 'arrow-rotate-restore',\n 'arrow-undo',\n 'arrow-up',\n 'arrow-up-high-priority',\n 'arrow-up-low-priority',\n 'barcode-serial',\n 'barcode-stack-scan',\n 'bell-notification',\n 'bezier-curve',\n 'blocks-code-test-checkmark',\n 'book-lab-flask',\n 'bookmark',\n 'bookmark-plus-add',\n 'brain',\n 'brightness-photo-edit',\n 'browser-internet-web-windows',\n 'brush-edit-create',\n 'bucket-paint',\n 'button-form-element',\n 'calendar-arrow-left-center',\n 'calendar-schedule',\n 'camera-photo-capture',\n 'cash-banknotes',\n 'certificate',\n 'chart-square',\n 'chart-trend-square',\n 'chat-messages-bubble',\n 'check-mark-certificate',\n 'checklist',\n 'checklist-tasks-chechmark-square',\n 'chevron-back',\n 'chevron-down',\n 'chevron-forward',\n 'chevron-input-number',\n 'chevron-up',\n 'circle',\n 'circle-ellipses',\n 'clap-applause-hands',\n 'clip-attachment',\n 'clock-history',\n 'clock-hour-4',\n 'clock-loading',\n 'close',\n 'close-circled',\n 'closed-freehand-vector-poly',\n 'cloud-network-add',\n 'cloud-storage-checkmark',\n 'cloud-upload',\n 'code-block-embed',\n 'code-text',\n 'color-design-profile',\n 'color-ven-design-profile-central',\n 'column-edit',\n 'computer-chip',\n 'contract-vertical',\n 'contrast-photo-edit',\n 'conversion-exchange',\n 'copy-item',\n 'creative-commons',\n 'crosshair',\n 'crown-style-circle',\n 'cursor-click',\n 'cursor-select',\n 'curve-object-secet-cursor',\n 'data-tree',\n 'delivery-shipment-packages',\n 'dna-hospital-medical',\n 'document-file-add-plus-bottom-left',\n 'document-file-blank',\n 'document-file-checkmark-bottom-left',\n 'document-file-deleted-cross-remove-center-cancel',\n 'document-file-download',\n 'document-file-list-protocol',\n 'document-file-tar',\n 'document-file-upload-bottom-center',\n 'document-file-zip',\n 'document-status-done-checkmark',\n 'document-visible',\n 'documents-file',\n 'documents-file-checkmark',\n 'documents-file-move-arrow-right',\n 'documents-files',\n 'done-check',\n 'done-check-tracked',\n 'download',\n 'download-status',\n 'drag-drop-indicator',\n 'draw-rectangle',\n 'earth-globe-fail',\n 'edit',\n 'edit-boxed',\n 'edit-erase',\n 'email',\n 'email-mail-checkmark-group',\n 'embed-circle',\n 'exchange',\n 'expand-pathfinder-dot-square-segmentation',\n 'facebook',\n 'file-blank-image-load-mask',\n 'file-blank-search',\n 'file-download',\n 'file-text',\n 'files',\n 'files-library',\n 'files-library-content',\n 'filter',\n 'filter-sort-add',\n 'filter-sort-check-mark',\n 'filter-sort-delete',\n 'flag',\n 'flip-horizontal',\n 'flip-vertical',\n 'floppy-save',\n 'flywheel-mark-logo',\n 'flywheel-viewer-mark-logo',\n 'folder-add',\n 'folder-blank',\n 'folder-checked',\n 'folder-copy-expand-arrow-down',\n 'folder-copy-expand-arrow-up',\n 'folder-group',\n 'folder-move',\n 'folder-open',\n 'folder-share',\n 'form-metadata-element',\n 'free-rights',\n 'freehand-vector-poly',\n 'full-screen-zoom',\n 'git-add-branch',\n 'git-branch',\n 'git-merge',\n 'git-merge-draft',\n 'git-pull-request-2',\n 'github-color-login',\n 'gitlab',\n 'graduate-hat',\n 'grid-dot-square',\n 'grid-layout',\n 'grid-layout-9-square',\n 'hammer-legal-square',\n 'hammer-screwdriver',\n 'hand-money-currency',\n 'header-form-element',\n 'home-modern-door',\n 'home-modern-option-lines',\n 'human-artificial-intelligence',\n 'icon-placeholder',\n 'image-photo-copy-left-down',\n 'image-picture-square',\n 'information-circle',\n 'invoice',\n 'invoice-checkmark-paid',\n 'italic',\n 'items-group-elements',\n 'key',\n 'keyboard',\n 'keychain',\n 'label-tag',\n 'laptop-health-medical-cross',\n 'layers',\n 'layout',\n 'layout-grid',\n 'line',\n 'link',\n 'link-unlink',\n 'linkedin',\n 'linux',\n 'list-paragraph',\n 'list-paragraph-number',\n 'list-test-lab-flask',\n 'livewire-tool',\n 'loading-status-checkmark',\n 'lock',\n 'lock-unlock',\n 'logout',\n 'lungs',\n 'markdown',\n 'measure-angle',\n 'measure-ruler-calibration',\n 'media-library-imports-dowload',\n 'menu-burger-handle',\n 'menu-horizontal',\n 'menu-list-form-square',\n 'menu-vertical',\n 'message-chat-add-plus',\n 'message-chat-info',\n 'message-chat-question-support',\n 'message-checkmark-sent',\n 'message-question-checkmark',\n 'microphone-mic-rec',\n 'microphone-mic-rec-circle',\n 'microphone-mic-recording-circle',\n 'minus',\n 'modalities',\n 'molecule',\n 'money',\n 'money-coin',\n 'money-dollar',\n 'monitor-computer',\n 'moon-night-mode',\n 'mouse-big',\n 'mouse-scroll',\n 'move',\n 'music-play-resume',\n 'music-stop',\n 'mute',\n 'network-storage-alert',\n 'notebook',\n 'notebook-add-plus',\n 'notebook-open',\n 'notebook-pen-edit',\n 'notes-pen',\n 'object-search-zoom-plus',\n 'open',\n 'paint-roller',\n 'pause',\n 'pen-edit-circle',\n 'pen-edit-compose-new',\n 'pencil-edit-create',\n 'photo-edit-brightness-invert',\n 'pie-chart',\n 'pie-graph-chart-sample',\n 'plus-add-rectangle',\n 'polygon',\n 'private-mode-protection-circle',\n 'protection-target',\n 'protective-mask',\n 'question-circle',\n 'quote',\n 'radiology-scan',\n 'radiology-scan-circle',\n 'reader-studies',\n 'rotate',\n 'rotate-arrow-manual',\n 'rotate-item-left',\n 'rotate-item-right',\n 'rotate-refresh',\n 'ruler',\n 'ruler-bidirectional',\n 'scanner',\n 'search',\n 'search-loop',\n 'search-user-profile-person',\n 'search-zoom-minus',\n 'search-zoom-plus',\n 'section-form-element',\n 'send-message-share',\n 'server',\n 'server-checkmark',\n 'server-database-endpoint',\n 'server-databases-checkmark-user',\n 'server-databases-connect',\n 'server-databases-download',\n 'server-databases-key-protection',\n 'server-databases-minimal-download',\n 'server-databases-sync',\n 'server-databases-sync-import',\n 'server-upload',\n 'servers-database',\n 'setting-gear',\n 'settings-adjust',\n 'settings-gear',\n 'settings-gear-square',\n 'settings-select',\n 'shapes-objects',\n 'share',\n 'shield-protect',\n 'show-visible',\n 'smiley-emoji-face',\n 'speed-dashboard',\n 'square-fill',\n 'square-fill-outline',\n 'square-outline',\n 'star',\n 'star-ai-artificial-intelligence',\n 'stars-light-sparkle',\n 'stomach',\n 'stop-minus',\n 'stretch-vertical',\n 'substract-group',\n 'switch',\n 'target',\n 'target-space-object-select',\n 'tasklist-to-do-checkmark',\n 'technology-cube-3d',\n 'test-lab-flask',\n 'text-bold',\n 'text-cross',\n 'text-h1',\n 'text-h2',\n 'text-input-form',\n 'text-long',\n 'text-short-form-element',\n 'text-underline',\n 'thumbs-down-dislike',\n 'thumbs-up-like',\n 'timer-clock-style',\n 'trash-bin-warning',\n 'trash-delete',\n 'twitter',\n 'undone-uncheck-untracked',\n 'unlimited-repeat-subscription-circle',\n 'upload',\n 'user',\n 'user-checked',\n 'user-delete-cross',\n 'user-document',\n 'user-group',\n 'user-key',\n 'user-lock',\n 'user-profile-cards-pool',\n 'user-profile-group-discovery',\n 'user-setting-gear',\n 'video-player-controls',\n 'visible-eye-hidden',\n 'volume-full',\n 'warning',\n 'warning-circle',\n 'window-finder-resize-arrow-down',\n 'window-finder-resize-arrow-up',\n 'window-resize-left',\n 'window-resize-right',\n 'window-zoom-plus-loupe',\n 'windows',\n 'workspace-mode',\n 'youtube',\n 'zendesk-logo',\n];\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-menu-sub-item',\n templateUrl: './menu-sub-item.component.html',\n styleUrls: ['./menu-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwMenuSubItemComponent {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n }\n else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n}\n","<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, input,model, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-radio-button',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n})\nexport class FwRadioComponent {\n public value = input<string>();\n public checked = model(false);\n\n @Input() group: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'default' | 'primary' | 'secondary' = 'default';\n @Input() title: string;\n @Input() focused: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n get radioStyles(): string[] {\n return [\n 'fw-radio',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n handleChange(event): void {\n this.change.emit(event.target.value);\n }\n}\n","<div [ngClass]=\"['fw-radio-wrapper', disabled?'disabled':'']\">\n <div [ngClass]=\"radioStyles\">\n <input\n type=\"radio\"\n class=\"fw-radio\"\n [id]=\"group+value()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [name]=\"group\"\n [disabled]=\"disabled\"\n (change)=\"handleChange($event)\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n\n @if (title) {\n <label [htmlFor]=\"group+value()\" class=\"vision-h4\">{{ title }}\n <ng-content></ng-content>\n </label>\n }\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n model,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IconType } from '../../icon/icon.types';\nimport { FwMenuSubItemComponent } from '../menu-sub-item/menu-sub-item.component';\n\ntype MouseEnterHandler = ($event: PointerEvent, item: FwMenuItemComponent) => void;\n\n@Component({\n selector: 'fw-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n})\nexport class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled?: boolean;\n @Input() showCheckbox?: boolean = false;\n @Input() checkboxColor?: 'primary' | 'secondary' = 'primary';\n @Input() multiSelect?: boolean = false;\n @Input() hidden?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n mouseEnterHandler = model<MouseEnterHandler>(() => {});\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwMenuSubItemComponent) subItems: QueryList<FwMenuSubItemComponent>;\n private subscriptions: Subscription[] = [];\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n scrollIntoView(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.subItems.forEach(subItem => {\n const sub = subItem.click.subscribe(value => this.click.emit(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n }\n\n @HostListener('mouseenter', ['$event']) onMouseEnter(event: PointerEvent): void {\n this.mouseEnterHandler()?.(event, this);\n }\n\n updateLayout(): void {\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.size = this.size;\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n subItem.collapsed = this.collapsed;\n });\n }\n }\n\n toggleSubItemsView(): void {\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n }\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n } else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n}\n","<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwMenuComponent,\n multi: true,\n }],\n})\nexport class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @Input() disabled = false;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() multiSelect?: boolean = false;\n @Input() useCheckbox?: boolean = undefined;\n @Input() value?: string | string[];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change: EventEmitter<string | string[]> = new EventEmitter<string | string[]>();\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n @ContentChild('menuContentWrapper') menuContentWrapper: ElementRef;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (value: string | string[]): void => {\n };\n\n onTouched = (): void => {\n };\n\n private subscriptions: Subscription[] = [];\n\n ngOnChanges(): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.menuItems.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.subscriptions.push(sub);\n });\n\n const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems) => {\n newMenuItems.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n });\n\n this.subscriptions.push(menuItemChangeSub);\n\n this.updateLayout();\n }\n\n writeValue(value: string | string[]): void {\n this.value = value;\n this.onChange(this.value);\n this.change.emit(this.value);\n this.updateLayout();\n }\n\n registerOnChange(fn: (value: string | string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleSelect(value: string): void {\n if (this.multiSelect) {\n const newValues = [...this.value];\n if (newValues.indexOf(value) >= 0) {\n newValues.splice(newValues.indexOf(value), 1);\n } else {\n newValues.push(value);\n }\n this.writeValue(newValues);\n } else {\n this.writeValue(value);\n }\n }\n\n updateLayout(): void {\n\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.size !== undefined) {\n item.size = this.size;\n }\n if (this.useCheckbox !== undefined) {\n item.showCheckbox = this.useCheckbox;\n }\n if (this.multiSelect !== undefined) {\n item.multiSelect = this.multiSelect;\n }\n // only disable children if this is disabled\n if (this.disabled) {\n item.disabled = this.disabled;\n }\n if (this.value !== undefined) {\n item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;\n }\n item.subItems.forEach(sub => {\n sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;\n });\n\n item.updateLayout();\n });\n }\n }\n}\n","<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n","import {\n Component,\n contentChildren,\n DestroyRef,\n effect,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwRadioComponent } from './radio.component';\n\n@Component({\n selector: 'fw-radio-group',\n styleUrls: [],\n template: '<ng-content select=\"fw-radio-button\"></ng-content>',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwRadioGroupComponent,\n multi: true,\n }],\n})\nexport class FwRadioGroupComponent implements ControlValueAccessor {\n @Input() value: string;\n @Input() group: string;\n @Input() color?: 'primary' | 'secondary' | 'default';\n @Input() size?: 'medium' | 'compact';\n @Input() disabled?: boolean;\n @Input() direction?: 'horizontal' | 'vertical' = 'horizontal';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n private sanitizer = inject(DomSanitizer);\n private dr = inject(DestroyRef);\n\n protected radioButtons = contentChildren(FwRadioComponent);\n private _value = signal<string | null>(null);\n private radioSubs = new Map<FwRadioComponent, Subscription>();\n\n @HostBinding('style') get style(): SafeStyle {\n const dir = this.direction === 'vertical' ? 'column' : 'row';\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: ${dir};\n `);\n }\n\n constructor() {\n effect(() => {\n const radios = this.radioButtons();\n const value = this._value();\n const disabled = this.disabled;\n const group = this.group;\n const color = this.color;\n const size = this.size;\n\n radios.forEach(rb => {\n rb.group = group;\n rb.checked.set(rb.value() === value);\n rb.disabled = Boolean(disabled);\n\n if (color) {\n rb.color = color;\n }\n\n if (size) {\n rb.size = size;\n }\n });\n });\n\n effect(() => {\n const radios = this.radioButtons();\n\n this.radioSubs.forEach((sub, rb) => {\n if (!radios.includes(rb)) {\n sub.unsubscribe();\n this.radioSubs.delete(rb);\n }\n });\n\n radios.forEach(rb => {\n if (!this.radioSubs.has(rb)) {\n const sub = rb.change.pipe(takeUntilDestroyed(this.dr)).subscribe(value => this.handleChange(value));\n this.radioSubs.set(rb, sub);\n }\n });\n });\n }\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(value: string): void {\n this.value = value;\n this._value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleChange(value: string): void {\n this.value = value;\n this._value.set(value);\n this.onChange(value);\n this.change.emit(this.value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwRadioComponent } from './radio.component';\nimport { FwRadioGroupComponent } from './radio-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n ],\n exports: [\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n declarations: [\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n})\nexport class FwRadioModule {\n}\n","import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-text-input',\n templateUrl: './text-input.component.html',\n styleUrls: ['./text-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextInputComponent,\n multi: true,\n }],\n})\nexport class FwTextInputComponent implements ControlValueAccessor {\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: string;\n @Input() prefix?: string;\n @Input() context?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() errorInIconTooltip?: boolean = false;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: string = 'text';\n @Input() maxLength?: number = 255;\n @Input() autofocus?: boolean = false;\n @Input() autocomplete?: string;\n @Input() value = '';\n\n @ViewChild('input') inputRef: ElementRef<HTMLInputElement>;\n\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Output() leftIconAction = new EventEmitter<void>();\n @Output() rightIconAction = new EventEmitter<void>();\n\n @ContentChild('textInput', { static: false }) textInput;\n @HostBinding('style.width') @Input() width = '100%';\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {};\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n focus(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef.nativeElement.focus();\n }\n\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #input\n *ngIf=\"!textInput\"\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n [attr.maxlength]=\"maxLength\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\" [fwTooltip]=\"errorInIconTooltip ? errorText : ''\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText && !errorInIconTooltip\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTooltipDirective } from '../tooltip/tooltip.directive';\nimport { FwTextInputComponent } from './text-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTooltipDirective,\n ReactiveFormsModule,\n ],\n exports: [\n FwTextInputComponent,\n ],\n declarations: [\n FwTextInputComponent,\n ],\n})\nexport class FwTextInputModule {\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ContentChildren, Directive, HostListener, QueryList } from '@angular/core';\n\n@Directive({\n selector: '[fwMenuCloseTriggers]',\n})\nexport class FwMenuCloseTriggersDirective {\n @ContentChildren(CdkMenuTrigger, { descendants: true }) triggers?: QueryList<CdkMenuTrigger>;\n\n private _isOpen = false;\n\n @HostListener('document:click', ['$event'])\n outsideClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n\n // Check is close under fw-menu-container (overlay)\n const clickedInsideMenu = target.closest('fw-menu-container') !== null;\n\n // Check is clicked on trigger\n const clickedOnTrigger = target.closest('[cdkMenuTriggerFor]') !== null;\n\n if (!clickedInsideMenu && !clickedOnTrigger && this._isOpen && this.triggers?.length > 0) {\n // Close menu if click outside menu and trigger\n this.triggers.forEach(trigger => {\n trigger.close();\n });\n this._isOpen = false;\n }\n\n if (this.triggers?.length > 0) {\n this.triggers.forEach(trigger => {\n if (trigger.isOpen()) {\n this._isOpen = true;\n }\n });\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n Component,\n computed,\n ContentChild,\n contentChildren,\n HostBinding,\n Input,\n input,\n output,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\nimport { FwTextInputComponent } from '../../text-input/text-input.component';\nimport { FwMenuComponent } from '../menu.component';\nimport { FwMenuItemComponent } from '../menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu-container, fw-menu-filter',\n templateUrl: './menu-container.component.html',\n styleUrls: ['./menu-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwMenuContainerComponent implements AfterViewInit {\n\n @Input() width?: string = 'inherit';\n @Input() maxHeight?: string = 'auto';\n @Input() minHeight?: string = 'auto';\n @Input() border?: 'none' | 'default' = 'default';\n @Input() shadow?: 'none' | 'small' | 'medium' | 'large' | 'extra-large' | 'inner' = 'large';\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) showFilter: boolean = false;\n @Input() filterText?: string = '';\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) focusFilterOnMount: boolean = false;\n @Input() offset?: string = '0px';\n emptyText = input('No results')\n\n filteredMenuItems: FwMenuItemComponent[];\n filteredMenuItemChange = output<FwMenuItemComponent[]>();\n\n private defaultFilterFn = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems?.filter(menuItem => menuItem.title?.toLowerCase().includes(filter?.toLowerCase()));\n }\n\n filterFn = input(this.defaultFilterFn);\n\n filterChanged = output<string>();\n @ViewChild('menuFilter') filterRef: FwTextInputComponent;\n\n @ContentChild(FwMenuComponent) menu: FwMenuComponent;\n\n // for passing menu items for the container to filter\n // works around a problem with nested content children\n // @see https://stackoverflow.com/questions/62886613/angular-9-nested-ng-content-and-contentchildren\n additionalMenuItems = input<FwMenuItemComponent[]>([]);\n childMenuItems = contentChildren(FwMenuItemComponent, { descendants: true });\n private combinedMenuItems = computed(() => {\n return [...this.childMenuItems(), ...this.additionalMenuItems()];\n });\n\n @Input() keyHandler: (event: KeyboardEvent) => void;\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-menu-container',\n `vision-shadow-${this.shadow}`,\n `border-${this.border}`,\n ].join(' ');\n };\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: ${this.width};\n max-height: ${this.maxHeight};\n min-height: ${this.minHeight};\n margin-top: ${this.offset};\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngAfterViewInit(): void {\n if (this.focusFilterOnMount && this.showFilter) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.filterRef?.focus();\n }\n\n // we need to run the filter on init in case the custom filter is filtering things\n this.onFilterChange('');\n }\n\n noResults = signal(false);\n\n handleFilterClick(event: Event): void{\n // stops filters in menus from closing the parent menu\n event.stopPropagation();\n }\n\n handleFilterInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n const filterValue = input.value;\n this.onFilterChange(filterValue);\n }\n\n onFilterChange(filter: string): void {\n const allMenuItems = this.combinedMenuItems();\n\n this.filterChanged.emit(filter);\n const filterFn = this.filterFn();\n\n this.filteredMenuItems = filterFn(filter, allMenuItems);\n\n allMenuItems.forEach(menuItem => {\n const shouldBeHidden = !this.filteredMenuItems.includes(menuItem);\n menuItem.hidden = shouldBeHidden;\n })\n\n this.noResults.set(allMenuItems.length > 0 && allMenuItems.every(item => item.hidden));\n\n this.filteredMenuItemChange.emit(this.filteredMenuItems);\n }\n}\n","<div #filterBox *ngIf=\"showFilter\" class=\"filter-box\" cdkMenuBar>\n <fw-text-input\n (click)=\"handleFilterClick($event)\"\n #menuFilter\n (keydown)=\"keyHandler?.($event)\"\n placeholder=\"Search\" leftIcon=\"search\" [autofocus]=\"true\"\n [value]=\"filterText\" (input)=\"handleFilterInput($event)\">\n </fw-text-input>\n <ng-content select=\".filter-content\"></ng-content>\n</div>\n<div class=\"menu-wrapper\">\n <fw-menu-item *ngIf=\"noResults()\" [title]=\"emptyText()\" [disabled]=\"true\"></fw-menu-item>\n <ng-content></ng-content>\n <ng-content select=\"custom-menu-items\"></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-header',\n templateUrl: './menu-header.component.html',\n styleUrls: ['./menu-header.component.scss'],\n})\nexport class FwMenuHeaderComponent {\n\n}\n","<h3 class=\"vision-h3\">\n <ng-content></ng-content>\n</h3>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-menu-item-group',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.scss'],\n})\nexport class FwMenuItemGroupComponent {\n @HostBinding('role') @Input() role = 'group';\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled = false;\n}\n","<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-separator',\n template: '',\n styleUrls: ['./menu-separator.component.scss'],\n})\nexport class FwMenuSeparatorComponent {\n}\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwRadioModule } from '../radio/radio.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwMenuComponent } from './menu.component';\nimport { FwMenuCloseTriggersDirective } from './menu-close-triggers.directive';\nimport { FwMenuContainerComponent } from './menu-container/menu-container.component';\nimport { FwMenuHeaderComponent } from './menu-header/menu-header.component';\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from './menu-separator/menu-separator.component';\nimport { FwMenuSubItemComponent } from './menu-sub-item/menu-sub-item.component';\n\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n FwCheckboxModule,\n FwRadioModule,\n ],\n exports: [\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n declarations: [\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n})\nexport class FwMenuModule {\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-navbar-sub-item',\n templateUrl: './navbar-sub-item.component.html',\n styleUrls: ['./navbar-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwNavbarSubItemComponent {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n}\n","<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\nimport { FwNavbarSubItemComponent } from '../navbar-sub-item/navbar-sub-item.component';\n\n@Component({\n selector: 'fw-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss'],\n})\nexport class FwNavbarItemComponent implements OnChanges, AfterViewInit {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' | 'muted' = 'primary';\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n @Input() subItemsTooltipTitle?: string = '';\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwNavbarSubItemComponent) subItems: QueryList<FwNavbarSubItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.selected) {\n this.iconColor = 'primary';\n } else {\n this.iconColor = 'muted';\n }\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n if (this.collapsed !== undefined) {\n subItem.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n subItem.disabled = this.disabled;\n }\n });\n }\n }\n\n toggleSubItemsView(event: Event): boolean {\n event.stopPropagation();\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n return false;\n }\n\n}\n","<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5 class=\"vision-h5\">{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView($event)\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\n\n@Component({\n selector: 'fw-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n width: '{{openWidth}}',\n }), { params: { openWidth: '200px' } }),\n state('closed', style({\n width: '60px',\n })),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwNavbarComponent implements OnChanges, AfterViewInit {\n @Input() disabled;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() width: string = '200px';\n @ContentChildren(FwNavbarItemComponent) menuItems: QueryList<FwNavbarItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.collapsed !== undefined) {\n item.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n item.disabled = this.disabled;\n }\n item.showTooltip = this.collapsed;\n item.updateLayout();\n });\n }\n }\n}\n","<div\n class=\"navbar\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: width || 'inherit'}}\">\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-navbar-header',\n templateUrl: './navbar-header.component.html',\n styleUrls: ['./navbar-header.component.scss'],\n})\nexport class FwNavbarHeaderComponent {\n\n}\n","<h4 class=\"vision-h4\">\n <ng-content></ng-content>\n</h4>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwNavbarComponent } from './navbar.component';\nimport { FwNavbarHeaderComponent } from './navbar-header/navbar-header.component';\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { FwNavbarSubItemComponent } from './navbar-sub-item/navbar-sub-item.component';\n\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n ],\n exports: [\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n declarations: [\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n})\nexport class FwNavbarModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwNumberInputComponent,\n multi: true,\n }],\n})\nexport class FwNumberInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() rightIcon?: string;\n @Output() rightIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n @Input() context?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() min?: number;\n @Input() max?: number;\n @Input() step?: number;\n @Input() arrows?: 'native' | 'plus-minus' | 'none';\n @Input() numberType?: 'integer' | 'float';\n @Input() autofocus?: boolean;\n @Input() autocomplete?: boolean;\n @ViewChild('numberInput') numberInput;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: number;\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: number): void => {\n };\n\n writeValue(obj: number): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n if (this.numberType === 'float') {\n this.value = parseFloat((event.target as HTMLInputElement).value);\n } else {\n this.value = parseInt((event.target as HTMLInputElement).value);\n }\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n handleDecrement(): void {\n this.numberInput.nativeElement.stepDown();\n }\n\n handleIncrement(): void {\n this.numberInput.nativeElement.stepUp();\n }\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleDecrement()\">-</button>\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #numberInput\n [class]=\"arrows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleIncrement()\">+</button>\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwNumberInputComponent } from './number-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n ],\n exports: [\n FwNumberInputComponent,\n ],\n declarations: [\n FwNumberInputComponent,\n ],\n})\nexport class FwNumberInputModule {\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TrackByFunction } from '@angular/core';\n\nimport { FwPaginatorEvent } from './paginator.model';\n\nexport interface PaginationPage {\n pageIndex: number;\n number: number;\n active: boolean;\n}\n\n@Component({\n selector: 'fw-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwPaginatorComponent implements OnChanges {\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() color: 'slate' | 'primary' | 'secondary' = 'slate';\n @Input() shape: 'rounded' | 'circle' = 'rounded';\n @Input() variant: 'ghost' | 'outline' | 'solid' = 'ghost';\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 10;\n @Input() maxPagesShown: number = 10;\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n pages: PaginationPage[] = [];\n pagesTrackByFn: TrackByFunction<PaginationPage> = (_: number, page: PaginationPage): number => page.pageIndex;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.pageIndex || changes.maxPagesShown || changes.length || changes.pageSize) {\n this.pages = this.getPages();\n }\n }\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n this.setPage(0);\n }\n\n lastPage(): void {\n this.setPage(this.getNumberOfPages() - 1);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n this.setPage(this.pageIndex + 1);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n this.setPage(this.pageIndex - 1);\n }\n }\n\n setPage(pageIndex: number): void {\n const evt = this.buildPageEvent(pageIndex);\n this.pageIndex = pageIndex;\n this.page.emit(evt);\n this.pages = this.getPages();\n }\n\n getPages(): PaginationPage[] {\n const pages: PaginationPage[] = [];\n const currentSet = Math.ceil((this.pageIndex + 1) / this.maxPagesShown);\n for (let i = 0; i < this.getNumberOfPages(); i++) {\n if (currentSet === Math.ceil((i + 1) / this.maxPagesShown)) {\n pages.push({ pageIndex: i, number: i + 1, active: this.pageIndex === i });\n }\n }\n return pages;\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd >= this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', variant, color, size, shape, alignment]\">\n <div class=\"pages-list\">\n <button\n *ngIf=\"showFirst\" class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"firstPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"previousPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-back</fw-icon>\n </button>\n <button\n *ngFor=\"let page of pages; trackBy: pagesTrackByFn\"\n [ngClass]=\"['page-item', 'page-number', page.active ? 'page-active': '']\"\n [disabled]=\"disabled\"\n (click)=\"setPage(page.pageIndex)\"\n >\n <h4 class=\"vision-h4\">{{ page.number }}</h4>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-forward-collapse</fw-icon>\n </button>\n </div>\n</div>\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class MenuManagerService {\n private triggers = new Set<CdkMenuTrigger>();\n\n public register(trigger: CdkMenuTrigger): void {\n this.triggers.add(trigger);\n }\n\n public unregister(trigger: CdkMenuTrigger): void {\n this.triggers.delete(trigger);\n }\n\n public closeAllExcept(current: CdkMenuTrigger): void {\n this.triggers.forEach(trigger => {\n if (trigger !== current) {\n trigger.close();\n }\n });\n }\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, Host, HostListener, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { MenuManagerService } from '../components/shared/services/menu-manager.service';\n\n@Directive({\n selector: '[fwMenuRegister]',\n standalone: true,\n})\nexport class MenuRegisterDirective implements OnInit, OnDestroy {\n constructor(@Optional() @Host() private trigger: CdkMenuTrigger, @Optional()private menuManager: MenuManagerService) {}\n\n @HostListener('click')\n private onClick(): void {\n this.menuManager?.closeAllExcept(this.trigger);\n }\n\n ngOnInit(): void {\n this.menuManager?.register(this.trigger);\n }\n\n ngOnDestroy(): void {\n this.menuManager?.unregister(this.trigger);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n input,\n OnDestroy,\n Output,\n QueryList,\n signal,\n ViewChild,\n viewChild,\n ViewChildren,\n WritableSignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwMenuComponent } from '../../menu/menu.component';\nimport { FwMenuContainerComponent } from '../../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';\n\n/**\n * FwMultiSelect a component for selecting multiple options\n * @see [Storybook Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-multi-select--docs)\n */\n@Component({\n selector: 'fw-multi-select',\n templateUrl: './multi-select-menu.component.html',\n styleUrls: ['./multi-select-menu.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwMultiSelectMenuComponent),\n multi: true,\n },\n ],\n})\nexport class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnDestroy {\n @HostListener('document:click', ['$event']) outsideClick(event: MouseEvent): void {\n if (this._isOpen) {\n const clickedInside = this.elementRef.nativeElement.contains(event.target);\n if (clickedInside) {\n return;\n }\n this.trigger.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n\n // options\n @Input() options: object[] = [];\n @Input() valueProperty?: string = 'value';\n @Input() titleProperty?: string = 'title';\n @Input() iconProperty?: string = 'icon';\n\n\n // behaviour\n @Input() emptyText: string = 'No matches found...';\n @Input() placeholder: string = 'Select something...';\n @Input() disabled?: boolean = false;\n @Input() useCheckbox?: boolean = false;\n @Input() closeOnSelect?: boolean = true;\n @Input() maxSelectedShown: number = 100;\n\n showClear = input(false);\n showFilter = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n showSelectionInfo = input(false, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n filterItemsOnSelect = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n\n // sizing\n @Input() width: string = '200px';\n @Input() minHeight: string = '';\n @Input() maxHeight: string = '200px';\n @Input() optionsWidth?: string;\n @Input() minOptionsHeight?: string;\n @Input() maxOptionsHeight: string = '400px';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n\n // view children\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwMenuComponent) menu: FwMenuComponent;\n menuFilter = viewChild(FwMenuContainerComponent);\n @ViewChildren(FwMenuItemComponent) renderedMenuItems: QueryList<FwMenuItemComponent>;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) customMenuItems: QueryList<FwMenuItemComponent>;\n\n // need this for the template\n createArray = (d: Iterable<string>): string[] => Array.from(d);\n\n // internal state\n selectedValues: Set<string> = new Set();\n selectedOptions: object[] = [];\n displayedOptions: WritableSignal<FwMenuItemComponent[]> = signal([]);\n focusedIndex = signal(0);\n touched = false;\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n\n @Input()\n get value(): any[] {\n return this._value;\n }\n\n set value(newValue: any[]) {\n this.updateValue(newValue);\n }\n\n private _value: any[] = [];\n\n constructor(\n private elementRef: ElementRef,\n ) {}\n\n @HostBinding('tabIndex') tabIndex = 0;\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled;\n }\n onChange: (value: any[]) => void;\n onTouched = (): void => {};\n\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: any[]): void {\n this.value = value;\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.registerCustomMenuItems()\n\n this.customMenuItems.changes.subscribe(() => {\n this.registerCustomMenuItems();\n })\n }\n\n private registerCustomMenuItems(): void {\n // first filter any menuItems we've already registered as options\n const newMenuItems = this.customMenuItems?.filter(\n menuItem => !this.options.find(option => menuItem.value === (option as any).value),\n )\n\n newMenuItems.forEach((newMenuItem) => {\n\n // sync render settings\n this.customMenuItems?.forEach(menuItem => {\n menuItem.showCheckbox = this.useCheckbox;\n menuItem.multiSelect = true;\n });\n\n // add it to the options\n // a lot of our value handling logic relies on\n const newOption = {\n value: newMenuItem.value,\n title: newMenuItem.title,\n icon: newMenuItem.icon,\n }\n this.options.push(newOption);\n\n newMenuItem.mouseEnterHandler.set((_, item) => {\n this.setFocusedIndex(item);\n })\n\n // add click listener\n const sub = newMenuItem.click.subscribe(value => {\n this.addValue(value);\n\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n });\n this.subscriptions.push(sub);\n })\n }\n\n handleTouched(): void {\n this.touched = true;\n }\n\n handleChipClose(chip: object): void {\n const newValues = this.value.filter(val => val !== chip[this.valueProperty]);\n this.updateValue(newValues);\n this.trigger.close();\n }\n\n // handles the value emission from the menu\n // TODO: make menu a dumb component, it shouldn't be handling values ideally\n handleMenuChange(e: string | string[]): void {\n if (Array.isArray(e)) {\n if (e.toString() !== this.selectedValues.toString()) {\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n }\n this.updateValue(e);\n }\n }\n\n\n // adds a single value\n addValue(incoming: string): void {\n const alreadySelected = this.value.includes(incoming);\n\n if (alreadySelected) {\n const splicedOut = this.value.toSpliced(this.value.indexOf(incoming), 1);\n this.updateValue(splicedOut);\n }\n else {\n this.updateValue([...this.value, incoming]);\n }\n }\n\n // handles all the display side effects of a value change\n updateValue(incomingValues: any[]): void {\n\n if (!incomingValues) {\n this.selectedValues.clear();\n this.selectedOptions = [];\n this._value = [];\n this.change.emit(this._value);\n this.postSelectSideEffects();\n return;\n }\n\n this.selectedValues.clear();\n this.selectedOptions = [];\n\n incomingValues.forEach(incoming => {\n\n if (typeof incoming === 'object') {\n this.selectedValues.add(incoming[this.valueProperty]);\n this.selectedOptions.push(incoming);\n\n } else {\n\n this.selectedValues.add(incoming);\n\n const incomingMappedToOption = this.options.find(opt => opt[this.valueProperty] === incoming);\n this.selectedOptions.push(incomingMappedToOption);\n }\n });\n\n this._value = Array.from(this.selectedValues);\n if (this.onChange) {\n this.onChange(this._value);\n }\n this.change.emit(this._value);\n this.postSelectSideEffects();\n }\n\n // custom filter for handling filterOnSelect\n customFilter = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems.filter(menuItem => {\n const filterMatches = menuItem.title.toLowerCase().includes(filter.toLowerCase());\n const isSelected = this.value.includes(menuItem.value);\n const filterBecauseSelected = isSelected && this.filterItemsOnSelect();\n\n return filterMatches && !filterBecauseSelected;\n })\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n }\n else if (n >= options.length) {\n return 0;\n }\n\n return n;\n }\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n setFocusedIndex(item: unknown): void {\n const foundIndex = this.displayedOptions().findIndex(i => i.value === item[this.valueProperty]);\n this.focusedIndex.set(foundIndex);\n }\n\n displayFocusIndicator = effect(() => {\n this.displayedOptions().forEach((item, index) => {\n item.focused = index === this.focusedIndex();\n })\n }, { allowSignalWrites: true })\n\n /* eslint-disable @typescript-eslint/naming-convention, @rx-angular/prefer-no-layout-sensitive-apis */\n private keyboardActionMap = {\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Tab': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Escape': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Enter': () => {\n const selectedMenuItem = this.displayedOptions()[this.focusedIndex()];\n\n if (!selectedMenuItem) { return }\n\n this.addValue(selectedMenuItem.value);\n this.postSelectSideEffects();\n },\n }\n\n private closedTriggerKeyboardActionsMap = {\n 'Enter': () => {\n this.trigger.open();\n },\n 'Backspace': () => {\n this.updateValue(this.value.toSpliced(-1));\n },\n }\n /* eslint-enable */\n\n // needs to be an arrow function to lock the scope\n @HostListener('keydown', ['$event'])\n handleKeyDown = (event: KeyboardEvent): void =>{\n\n const handler = this.trigger.isOpen() ? this.keyboardActionMap[event.key] : this.closedTriggerKeyboardActionsMap[event.key];\n\n if (handler) {\n event.preventDefault();\n handler();\n }\n }\n\n private postSelectSideEffects(): void {\n this.menuFilter()?.onFilterChange('');\n\n this.customMenuItems?.forEach(menuItem => {\n menuItem.selected = this.value.includes(menuItem.value);\n })\n\n if (this.closeOnSelect) {\n setTimeout(() => {\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.focus();\n }, 0);\n }\n }\n}\n","<div [ngStyle]=\"{width: width}\" #wrapper>\n\n <div\n fwMenuRegister\n class=\"chip-grid\"\n [ngClass]=\"[size]\"\n [ngStyle]=\"{ minHeight: minHeight, maxHeight: maxHeight }\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <span *ngIf=\"value.length === 0\" class=\"placeholder\">{{placeholder}}</span>\n\n <!-- CHIPS -->\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleChipClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"maxSelectedShown === 0 && value.length > 0\" class=\"selected-text\">\n {{ value.length }} selected\n </span>\n <span *ngIf=\"value.length > maxSelectedShown && maxSelectedShown > 0\" class=\"max-exceeded\">\n +{{ value.length - maxSelectedShown }} more\n </span>\n </div>\n\n <fw-icon *ngIf=\"showClear() && value.length > 0\" (click)=\"updateValue([])\">close</fw-icon>\n <fw-icon>chevron-down</fw-icon>\n </div>\n\n <!-- MENU -->\n <ng-template #selectMenu>\n <fw-menu-filter\n [keyHandler]=\"handleKeyDown\"\n [showFilter]=\"showFilter()\"\n [focusFilterOnMount]=\"showFilter()\"\n [width]=\"optionsWidth || (wrapper.offsetWidth - 2) + 'px'\"\n [additionalMenuItems]=\"this.customMenuItems.toArray()\"\n [emptyText]=\"emptyText\"\n [maxHeight]=\"maxOptionsHeight\"\n [minHeight]=\"minOptionsHeight\"\n [filterFn]=\"customFilter\"\n (filteredMenuItemChange)=\"displayedOptions.set($event)\"\n >\n <div class=\"filter-content\" *ngIf=\"showSelectionInfo()\">\n <p>{{value.length}} selections</p>\n <fw-button variant=\"ghost\" (click)=\"updateValue([])\">Clear</fw-button>\n </div>\n <fw-menu\n [multiSelect]=\"true\"\n [disabled]=\"disabled\"\n [value]=\"createArray(selectedValues)\"\n (change)=\"handleMenuChange($event)\">\n <ng-container *ngIf=\"customMenuItems.length === 0\">\n <fw-menu-item\n *ngFor=\"let item of options; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [selected]=\"value.includes(item[valueProperty])\"\n [showCheckbox]=\"useCheckbox\"\n (mouseenter)=\"setFocusedIndex(item)\"\n >\n </fw-menu-item>\n </ng-container>\n <ng-content ngProjectAs=\"custom-menu-items\" select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group, fw-menu-header]\"></ng-content>\n </fw-menu>\n </fw-menu-filter>\n </ng-template>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n Self,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { IconType } from '../icon/icon.types';\nimport { FwMenuComponent } from '../menu/menu.component';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-select',\n templateUrl: './select-menu.component.html',\n styleUrls: ['./select-menu.component.scss'],\n})\nexport class FwSelectMenuComponent implements OnChanges, AfterContentInit, OnDestroy, ControlValueAccessor {\n @HostListener('document:click', ['$event.target']) outsideClick(evt: any): void {\n if (this._isOpen && evt.nodeName !== 'INPUT') {\n this.onTouched();\n this.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled;\n }\n\n // bind it for the template\n public JSON = JSON;\n\n @Input() options: object[] = [];\n @Input() valueProperty?: string = 'value';\n @Input() useFullOptionAsValue = false;\n @Input() titleProperty?: string = 'title';\n @Input() iconProperty?: string = 'icon';\n @Input() staticIcon?: IconType;\n @Input() descriptionProperty?: string = 'description';\n @Input() showFilter?: boolean = false;\n @Input() showReset?: boolean = false;\n @Input() disabled?: boolean = false;\n @Input() errored?: boolean = false;\n @Input() width: string = '200px';\n @Input() optionsWidth?: string;\n @Input() minOptionsHeight?: string;\n @Input() maxOptionsHeight?: string;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() placeholder: string = 'Select something...';\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwMenuComponent) menu: FwMenuComponent;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n @Output() readonly filterChanged = new EventEmitter<string>();\n selectValue: string = '';\n selectTitle: string = '';\n selectIcon: IconType | '' = '';\n filterValue: string = '';\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n focused = 0;\n inFocusOpen = false;\n preFocusValue: any;\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n this.updateValue(newValue);\n }\n\n private _value = '';\n\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Self() private ngControl: NgControl,\n ) {\n // this is just a different way of binding the controlValueAccessor\n // it can be accessed in the component this way\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const currentOptions = changes.options?.currentValue;\n\n // if the options change check if the title we should be displaying has changed\n if (currentOptions && currentOptions !== changes.options?.previousValue) {\n const selectedOption = currentOptions.find(item => item[this.valueProperty]?.toString() === this.selectValue);\n\n if (selectedOption) {\n this.selectTitle = selectedOption[this.titleProperty];\n }\n }\n }\n\n ngAfterContentInit(): void {\n if (!this.options || (this.options.length === 0 && this.menuItems && this.menuItems.length > 0)) {\n this.options = [];\n this.menuItems.forEach(item => {\n this.options.push({\n value: item.value.toString(),\n title: item.title.toString(),\n icon: item.icon,\n description: item.description,\n });\n const sub = item.click.subscribe(value => this.menu.writeValue(value));\n this.subscriptions.push(sub);\n if (item.value.toString() === this.selectValue) {\n this.selectTitle = item.title.toString();\n this.selectIcon = item.icon;\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n get invalid(): boolean {\n return this.ngControl?.invalid;\n }\n\n get touched(): boolean {\n return this.ngControl?.touched;\n }\n\n onChange(newValue: any): void {\n this._value = typeof newValue === 'object' ? JSON.stringify(newValue) : newValue;\n this.change.emit(newValue);\n this.externalOnChange?.(newValue);\n };\n\n onTouched = (): void => {\n };\n\n externalOnChange;\n registerOnChange(fn: (value: any) => void): void {\n this.externalOnChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(value: any): void {\n value = value ?? ''\n\n if (value === this.value) {\n return;\n }\n this.updateValue(value);\n }\n\n handleClick(e: string): void {\n this.onTouched();\n\n if (this.selectValue === e) {\n this.close();\n return;\n }\n\n if (this.useFullOptionAsValue) {\n const parsedValue = JSON.parse(e);\n this.updateValue(parsedValue);\n } else {\n this.updateValue(e);\n }\n\n this.close();\n }\n\n moveFocused(direction: string): void {\n switch (direction) {\n case 'down': {\n this.focused++;\n if (this.focused >= this.options.length) {\n this.focused = 0;\n }\n break;\n }\n case 'up': {\n this.focused--;\n if (this.focused < 0) {\n this.focused = this.options.length - 1;\n }\n break;\n }\n default: {\n this.focused = 0;\n break;\n }\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n if (this.trigger.isOpen()) {\n if (this.inFocusOpen) {\n if (event.key === 'ArrowDown') {\n this.moveFocused('down');\n this.updateValue(this.options[this.focused]);\n }\n if (event.key === 'ArrowUp') {\n this.moveFocused('up');\n this.updateValue(this.options[this.focused]);\n }\n if (event.key === 'Tab') {\n this.close();\n this.inFocusOpen = false;\n this.updateValue(this.preFocusValue);\n }\n if (event.key === 'Enter') {\n this.close();\n this.inFocusOpen = false;\n const newValue = this.useFullOptionAsValue ? this.JSON.parse(this.value) : this.value;\n this.updateValue(newValue);\n }\n } else {\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n }\n } else {\n if (event.key === 'Enter') {\n this.inFocusOpen = false;\n this.preFocusValue = this.value;\n }\n }\n }\n\n handleKeyUp(event: KeyboardEvent): void {\n if (this.trigger.isOpen()) {\n if (event.key === 'Escape') {\n this.close();\n this.inFocusOpen = false;\n this.updateValue(this.preFocusValue);\n }\n } else {\n if (this.showReset) {\n if (event.key === 'Escape') {\n this.handleReset();\n }\n }\n }\n }\n\n\n updateValue(newValue: unknown): void {\n // do housekeeping first\n this.onTouched();\n\n // null guard\n if (!newValue) {\n this.selectValue = '';\n this.selectTitle = '';\n this.selectIcon = '';\n return this.onChange(newValue);\n }\n\n if (typeof newValue === 'object') {\n this.selectValue = newValue?.[this.valueProperty]?.toString();\n this.selectTitle = newValue?.[this.titleProperty]?.toString();\n this.selectIcon = newValue?.[this.iconProperty];\n\n const changeToEmit = this.useFullOptionAsValue ? newValue : newValue[this.valueProperty];\n return this.onChange(changeToEmit);\n }\n\n // try and find a matching option\n const matchedOption = this.options.find(option => {\n const matchesValue = option[this.valueProperty] === newValue;\n const matchesTitle = option[this.titleProperty] === newValue;\n\n return matchesValue || matchesTitle;\n });\n\n if (matchedOption) {\n this.selectValue = matchedOption[this.valueProperty]?.toString();\n this.selectTitle = matchedOption[this.titleProperty]?.toString();\n this.selectIcon = matchedOption[this.iconProperty];\n\n const changeToEmit = this.useFullOptionAsValue ? matchedOption : matchedOption[this.valueProperty];\n return this.onChange(changeToEmit);\n } else {\n // fall back to stringify\n const stringified = newValue.toString() || '';\n this.selectValue = stringified;\n this.selectTitle = stringified;\n return this.onChange(stringified);\n }\n }\n\n handleReset(): void {\n if (this.showReset) {\n this.updateValue(null);\n }\n }\n\n close(): void {\n this.trigger.close();\n this.filterValue = '';\n this.filterChanged.emit(this.filterValue);\n }\n\n onFilterChanged(value: string): void {\n this.filterValue = value;\n this.filterChanged.emit(value);\n }\n}\n","<div #wrapper [ngStyle]=\"{width: width, cursor: 'pointer'}\">\n <fw-text-input\n fwMenuRegister\n [cdkMenuTriggerFor]=\"selectMenu\"\n [value]=\"selectTitle\"\n [leftIcon]=\"staticIcon || selectIcon || null\"\n [rightIcon]=\"(selectTitle&&showReset)?'close-circled':'chevron-down'\"\n (rightIconAction)=\"handleReset()\"\n [useActionableIcons]=\"true\"\n [placeholder]=\"placeholder\"\n [size]=\"size\"\n [error]=\"errored || (invalid && touched)\"\n (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\"\n [readOnly]=\"true\">\n </fw-text-input>\n <ng-template #selectMenu>\n <fw-menu-container\n [filterText]=\"filterValue\"\n *ngIf=\"!disabled\" [showFilter]=\"showFilter\" [width]=\"optionsWidth || wrapper.offsetWidth + 'px'\"\n [maxHeight]=\"maxOptionsHeight\" [minHeight]=\"minOptionsHeight\" (filterChanged)=\"onFilterChanged($event)\">\n <fw-menu [disabled]=\"disabled\" [value]=\"selectValue\" (change)=\"handleClick($any($event))\">\n <ng-container *ngIf=\"menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of options\"\n [title]=\"item[titleProperty]?.toString()\"\n [description]=\"item[descriptionProperty]\"\n [value]=\"useFullOptionAsValue ? JSON.stringify(item) : item?.[valueProperty]?.toString()\"\n [icon]=\"item[iconProperty]\"\n [disabled]=\"$any(item).disabled\"\n >\n </fw-menu-item>\n </ng-container>\n <div #menuContentWrapper>\n <ng-content select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group]\"></ng-content>\n </div>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwMultiSelectMenuComponent } from './multi-select-menu/multi-select-menu.component';\nimport { FwSelectMenuComponent } from './select-menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n CdkMenuModule,\n FormsModule,\n FwButtonModule,\n FwChipModule,\n FwIconModule,\n FwMenuModule,\n FwTextInputModule,\n MenuRegisterDirective,\n ],\n exports: [\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n declarations: [\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n})\nexport class FwSelectMenuModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FwPaginatorEvent } from '../paginator.model';\n\n@Component({\n selector: 'fw-paginator-advanced',\n templateUrl: './paginator-advanced.component.html',\n styleUrls: ['./paginator-advanced.component.scss'],\n})\nexport class FwPaginatorAdvancedComponent {\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSizeOptions: number[] = [10, 25, 50, 100];\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n\n set pageSize(newSize: number) {\n this._pageSize = parseInt(newSize.toString());\n this.pageIndex = 0;\n const pageEvt = this.buildPageEvent(0);\n this.page.emit(pageEvt);\n }\n\n private _pageSize: number = 10;\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n const evt = this.buildPageEvent(0);\n this.pageIndex = 0;\n this.page.emit(evt);\n }\n\n lastPage(): void {\n const evt = this.buildPageEvent(this.getNumberOfPages() - 1);\n this.pageIndex = this.getNumberOfPages() - 1;\n this.page.emit(evt);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n const evt = this.buildPageEvent(this.pageIndex + 1);\n this.pageIndex++;\n this.page.emit(evt);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n const evt = this.buildPageEvent(this.pageIndex - 1);\n this.pageIndex--;\n this.page.emit(evt);\n }\n }\n\n setPage(pageNumber: number): void {\n const evt = this.buildPageEvent(pageNumber);\n this.pageIndex = pageNumber;\n this.page.emit(evt);\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd > this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n &nbsp;\n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwSelectMenuModule } from '../select-menu/select-menu.module';\nimport { FwPaginatorComponent } from './paginator.component';\nimport { FwPaginatorAdvancedComponent } from './paginator-advanced/paginator-advanced.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FwIconButtonModule,\n FwIconModule,\n FwMenuModule,\n FwSelectMenuModule,\n ],\n exports: [\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n declarations: [\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n})\nexport class FwPaginatorModule {\n}\n","/* eslint-disable */\n// adapted from ngx-mat-intl-tel-input\n\nexport const CountryCodeData = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1684'],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1264'],\n ['Antigua and Barbuda', 'ag', '1268'],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1242'],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1246'],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1441'],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1284'],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n ['Canada', 'ca', '1', 1, ['204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416', '418', '431', '437',\n '438', '450', '506', '514', '519', '548', '579', '581', '587', '604', '613', '639', '647', '672', '705', '709', '742',\n '778', '780', '782', '807', '819', '825', '867', '873', '902', '905']],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1345'],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1767'],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']], ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1473'],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1671'],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']], ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']], ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1869'],\n ['Saint Lucia', 'lc', '1758'],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1721'],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1868'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1649'],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1340'],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1]];\n\nexport const Examples: any = {\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any,@rx-angular/prefer-no-layout-sensitive-apis,@rx-angular/no-explicit-change-detection-apis */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n AsYouType,\n CountryCode,\n E164Number,\n getExampleNumber,\n parsePhoneNumberFromString,\n PhoneNumber,\n} from 'libphonenumber-js';\n\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { CountryCodeData, Examples } from './country-code.data';\nimport { Country, PhoneNumberFormat } from './phone-input.model';\n\n@Component({\n selector: 'fw-phone-input',\n templateUrl: './phone-input.component.html',\n styleUrls: ['./phone-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwPhoneInputComponent),\n multi: true,\n }],\n})\nexport class FwPhoneInputComponent implements OnInit, OnChanges, ControlValueAccessor {\n @Input() preferredCountries: Array<string> = ['us'];\n @Input() onlyCountries: Array<string> = [];\n @Input() enableCountrySearch = true;\n @Input() showCountrySelector?: boolean = true;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() rightIcon?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: E164Number | string | undefined;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = Boolean(value);\n }\n\n @Input()\n get format(): PhoneNumberFormat {\n return this._format;\n }\n\n set format(value: PhoneNumberFormat) {\n this._format = value;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n\n @Output() countryChanged = new EventEmitter<Country>();\n\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n phoneFormattedNational: string | undefined;\n allCountryList: Array<Country> = [];\n preferredCountryList: Array<Country> = [];\n selectedCountry: Country | undefined;\n selectedCountryCode: CountryCode | undefined;\n filteredCountryItems: Array<FwMenuItemComponent> = [];\n\n private _value: E164Number | string | undefined;\n private _disabled = false;\n private _format: PhoneNumberFormat = 'national';\n private _numberObject: PhoneNumber | undefined;\n private _previousFormattedNumber: string | undefined;\n\n static getPhoneNumberPlaceHolder(countryISOCode: CountryCode): string | undefined {\n const result = getExampleNumber(countryISOCode, Examples);\n return Boolean(result) ? result.number.toString() : undefined;\n }\n\n onTouched = (): void => {\n };\n\n onChange: any = () => {\n };\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n this.fetchCountryData();\n }\n\n ngOnInit(): void {\n if (this.preferredCountries.length) {\n this.preferredCountries.forEach((iso2) => {\n const preferredCountry = this.allCountryList\n .filter((c) => c.iso2 === iso2)\n .shift();\n if (preferredCountry) {\n this.preferredCountryList.push(preferredCountry);\n }\n });\n }\n if (this.onlyCountries.length) {\n this.allCountryList = this.allCountryList.filter((c) =>\n this.onlyCountries.includes(c.iso2),\n );\n }\n if (this._numberObject && this._numberObject.country) {\n // If an existing number is present, we use it to determine selectedCountry\n this.selectedCountry = this.getCountry(this._numberObject.country);\n } else {\n if (this.preferredCountryList.length) {\n this.selectedCountry = this.preferredCountryList[0];\n } else {\n this.selectedCountry = this.allCountryList[0];\n }\n }\n this.countryChanged.emit(this.selectedCountry);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this.writeValue(changes.value.currentValue);\n }\n }\n\n public phoneNumberChange(): void {\n try {\n this._numberObject = parsePhoneNumberFromString(\n this.phoneFormattedNational?.toString() || '',\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n this.formatAsYouTypeIfEnabled();\n this.value = this._numberObject?.number;\n if (this._numberObject && this._numberObject.isValid()) {\n if (this.phoneFormattedNational !== this.formattedPhoneNumber) {\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n if (\n this.selectedCountry?.iso2 !== this._numberObject.country &&\n Boolean(this._numberObject.country)\n ) {\n this.selectedCountry = this.getCountry(this._numberObject.country);\n this.countryChanged.emit(this.selectedCountry);\n }\n }\n } catch (e) {\n // if no possible numbers are there,\n // then the full number is passed so that validator could be triggered and proper error could be shown\n this.value = this.phoneFormattedNational?.toString();\n }\n this.onChange(this.value);\n this._changeDetectorRef.markForCheck();\n }\n\n protected countrySelect(isoValue: string, el: HTMLElement): void {\n if (this.phoneFormattedNational) {\n this.phoneFormattedNational = this._numberObject?.nationalNumber;\n }\n this.selectedCountry = this.getCountry(isoValue);\n this.countryChanged.emit(this.selectedCountry);\n this.phoneNumberChange();\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n el.focus();\n }\n\n protected filteredItemsChange(menuItems): void {\n this.filteredCountryItems = menuItems;\n }\n\n public getCountry(code: string): Country {\n return (\n this.allCountryList.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: '',\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }\n );\n }\n\n public buttonKeyPress(event: KeyboardEvent): void {\n if (this.trigger) {\n if (event.key === 'Escape') {\n this.trigger.close();\n }\n if (this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n if (event.key === 'Enter') {\n this.trigger.open();\n }\n }\n }\n\n public inputKeyPress(event: KeyboardEvent): void {\n const allowedKeys = ['Backspace', 'Escape', 'ArrowLeft', 'ArrowRight', 'Meta', 'Tab'];\n const pattern = /[0-9+\\- ]/;\n if (!allowedKeys.includes(event.key) && !event.metaKey && !event.ctrlKey && !pattern.test(event.key)) {\n event.preventDefault();\n }\n if (this.trigger && this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n }\n\n protected fetchCountryData(): void {\n CountryCodeData.forEach((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: Number(c[3]) || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n };\n this.allCountryList.push(country);\n });\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 = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n this._numberObject = parsePhoneNumberFromString(value);\n if (this._numberObject) {\n const countryCode = this._numberObject.country;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n if (!countryCode) {\n return;\n }\n setTimeout(() => {\n this.selectedCountry = this.getCountry(countryCode);\n if (\n this.selectedCountry.dialCode &&\n !this.preferredCountries.includes(this.selectedCountry.iso2)\n ) {\n this.preferredCountryList.push(this.selectedCountry);\n }\n this.countryChanged.emit(this.selectedCountry);\n this._changeDetectorRef.markForCheck();\n }, 1);\n } else {\n this.phoneFormattedNational = value;\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private get formattedPhoneNumber(): string {\n if (!this._numberObject) {\n return this.phoneFormattedNational?.toString() || '';\n }\n switch (this.format) {\n case 'national':\n return this._numberObject.formatNational();\n case 'international':\n return this._numberObject.formatInternational();\n default:\n return this._numberObject.nationalNumber.toString();\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return;\n }\n const asYouType: AsYouType = new AsYouType(\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (\n this.phoneFormattedNational\n ?.toString()\n .startsWith(this._previousFormattedNumber || '')\n ) {\n this.phoneFormattedNational = asYouType.input(this.phoneFormattedNational.toString());\n }\n this._previousFormattedNumber = this.phoneFormattedNational?.toString();\n }\n}\n","<div class=\"full-container\">\n <div [class]=\"['input-container', size, showCountrySelector?'country-selector':'no-country-selector']\">\n <button\n *ngIf=\"showCountrySelector\"\n (keydown)=\"buttonKeyPress($event)\"\n [cdkMenuTriggerFor]=\"countryMenu\"\n [cdkMenuPosition]=\"[{originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 2, offsetX: -2}]\"\n [disabled]=\"disabled\">\n <div class=\"country-text\">\n <span class=\"indicator-wrapper\">\n <fw-icon>chevron-down</fw-icon>\n </span>\n <span class=\"country-selector-flag flag\" [ngClass]=\"selectedCountry?.flagClass.toLowerCase()\">\n </span>\n <span class=\"country-selector-code\" *ngIf=\"selectedCountry?.dialCode && format==='national'\">\n +{{ selectedCountry.dialCode }}\n </span>\n </div>\n </button>\n <ng-template #countryMenu>\n <fw-menu-container width=\"300px\" maxHeight=\"500px\" shadow=\"large\" [showFilter]=\"enableCountrySearch\">\n <fw-menu\n [value]=\"selectedCountryCode\" (change)=\"countrySelect($any($event), focusableInput)\"\n (filteredItemsChange)=\"filteredItemsChange($event)\">\n <ng-container *ngIf=\"!filteredCountryItems?.length\">\n <fw-menu-item\n *ngFor=\"let country of preferredCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n <fw-menu-separator></fw-menu-separator>\n </ng-container>\n <ng-container>\n <fw-menu-item\n *ngFor=\"let country of allCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n </ng-container>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n <input\n type=\"tel\"\n autocomplete=\"tel\"\n (click)=\"trigger.close()\"\n (blur)=\"onTouched()\"\n (keydown)=\"inputKeyPress($event)\"\n [(ngModel)]=\"phoneFormattedNational\"\n (ngModelChange)=\"phoneNumberChange()\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [maxLength]=\"15\"\n #focusableInput>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwPhoneInputComponent } from './phone-input.component';\n\n@NgModule({\n imports: [\n CdkMenuModule,\n FwButtonModule,\n FwIconModule,\n FwMenuModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [\n FwPhoneInputComponent,\n ],\n declarations: [\n FwPhoneInputComponent,\n ],\n})\nexport class FwPhoneInputModule {\n}\n","import { Location } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwBackButtonComponent {\n @Input() backFunction?: () => {};\n @HostBinding('attr.class') class = 'fw-back-button';\n\n constructor(public location: Location) {\n }\n\n handleClick(): void {\n if (this.backFunction) {\n this.backFunction();\n } else {\n this.location.back();\n }\n }\n}\n","<button (click)=\"handleClick()\">\n <fw-icon>arrow-back</fw-icon>\n</button>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-section-heading',\n templateUrl: './section-heading.component.html',\n styleUrls: ['./section-heading.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwSectionHeadingComponent {\n @HostBinding('attr.class') class = 'fw-section-heading';\n @Input() title: string;\n @Input() description?: string;\n @Input() backButton?: boolean = false;\n @Input() backFunction?: () => {};\n @Input() icon?: IconType;\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <fw-back-button *ngIf=\"backButton\" [backFunction]=\"backFunction\"></fw-back-button>\n <fw-icon *ngIf=\"icon\" class=\"heading-icon\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-icon\"></ng-content>\n <div>\n <h2 class=\"vision-h2 section-heading\">{{ title }}\n <ng-content select=\"fw-chip\"></ng-content>\n </h2>\n <p *ngIf=\"description\" class=\"vision-p2\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-subsection-heading',\n templateUrl: './subsection-heading.component.html',\n styleUrls: ['./subsection-heading.component.scss'],\n})\nexport class FwSubsectionHeadingComponent {\n @Input() title: string;\n @Input() icon?: IconType;\n\n constructor() {\n }\n\n}\n","<div class=\"heading-area\">\n <fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3 subsection-heading\">{{ title }}</h3>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBackButtonComponent } from './back-button/back-button.component';\nimport { FwSectionHeadingComponent } from './section-heading.component';\nimport { FwSubsectionHeadingComponent } from './subsection-heading/subsection-heading.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n ],\n exports: [\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n declarations: [\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n})\nexport class FwSectionHeadingModule {\n}\n","export class FwSnackbarTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","/* eslint-disable @rx-angular/no-explicit-change-detection-apis */\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n HostBinding,\n input,\n output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\nimport { FwSnackbarTimerService } from '../snackbar-timer.service';\n\n@Component({\n selector: 'fw-snackbar',\n styleUrls: ['./snackbar.component.scss'],\n templateUrl: './snackbar.component.html',\n providers: [FwSnackbarTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class FwSnackbarComponent implements AfterViewInit {\n message = input.required<FwSnackbarMessage>();\n messageDuration = input(9000);\n ready = output<FwSnackbarComponent>();\n dismiss = output<string>();\n action = output<string>();\n\n private defaultIcons: Record<FwSnackbarMessage['severity'], IconType> = {\n success: 'done-check-tracked',\n warning: 'warning-circle',\n error: 'warning',\n info: 'information-circle',\n };\n\n icon = computed(() => this.message().icon || this.defaultIcons[this.message().severity]);\n\n showClose = computed(() => {\n const msg = this.message();\n return msg.showClose !== undefined ? msg.showClose : msg.severity === 'error';\n });\n\n duration = computed(() => {\n const msg = this.message();\n if (msg.duration) {\n return msg.duration;\n }\n return msg.severity === 'error' ? 29000 : this.messageDuration();\n });\n\n color = computed<FwButtonComponent['color']>(() => {\n const severity = this.message().severity;\n const colors: Record<FwSnackbarMessage['severity'], FwButtonComponent['color']> = {\n success: 'success',\n warning: 'warning',\n error: 'danger',\n info: 'primary',\n }\n return colors[severity] || 'primary';\n });\n\n isTemplateRef = computed(() => this.message().message instanceof TemplateRef);\n\n @HostBinding('class') get cssClass(): string {\n const cssClass = 'fw-snackbar';\n const severity = this.message()?.severity;\n if (severity) {\n return cssClass + ' ' + this.color();\n } else {\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwSnackbarTimerService) {\n }\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.duration()).then(() => {\n this.handleDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n handleDismiss(): void {\n this.dismiss.emit(this.message().id);\n this.cdr.markForCheck();\n }\n\n handleAction(): void {\n const msg = this.message();\n this.action.emit(msg.id);\n if (msg.action) {\n msg.action();\n }\n this.cdr.markForCheck();\n }\n\n}\n","@if (message(); as msg) {\n @if (icon()) {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @if (isTemplateRef()) {\n <ng-container *ngTemplateOutlet=\"$any(msg.message); context: msg.templateContext\"></ng-container>\n } @else {\n @if (msg.message) {\n <h4 class=\"vision-h4\">{{ msg.message }}</h4>\n }\n }\n @if (msg.actionText) {\n <fw-button\n size=\"small\"\n variant=\"ghost\"\n [color]=\"color()\"\n (click)=\"handleAction()\"\n >\n {{ msg.actionText }}\n </fw-button>\n }\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\"\n size=\"small\"\n [color]=\"msg.severity\"\n (click)=\"handleDismiss()\"\n ></fw-icon-button>\n }\n @if (!msg.actionText && !showClose()) {\n <div></div>\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FwSnackbarMessage } from './snackbar-message.model';\n\nexport function genMessageId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwSnackbarService {\n readonly messages$ = new BehaviorSubject<FwSnackbarMessage[]>([]);\n private messageQueue: FwSnackbarMessage[] = [];\n\n show(message: FwSnackbarMessage): void {\n if (!message.id) {\n message.id = genMessageId();\n }\n\n this.messageQueue.push(message);\n this.messages$.next(this.messageQueue);\n }\n\n dismiss(messageId: string): void {\n this.messageQueue = this.messageQueue.filter((v) => v.id !== messageId);\n this.messages$.next(this.messageQueue);\n }\n\n dismissAll(): void {\n this.messageQueue = [];\n this.messages$.next(this.messageQueue);\n }\n}\n\n","import {\n ChangeDetectorRef,\n Component,\n HostBinding,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwSnackbarService } from '../snackbar.service';\nimport { FwSnackbarComponent } from '../snackbar/snackbar.component';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\n\n@Component({\n selector: 'fw-snackbar-container',\n templateUrl: './snackbar-container.component.html',\n styleUrls: ['./snackbar-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwSnackbarContainerComponent implements OnDestroy {\n @HostBinding('attr.class') get classes(): string {\n return 'fw-snackbar-container';\n };\n\n limit = 10;\n messages: FwSnackbarMessage[] = [];\n\n private subscriptions = {\n messages: Subscription.EMPTY,\n };\n\n constructor(private cdr: ChangeDetectorRef, private snackbarService: FwSnackbarService) {\n this.subscriptions.messages = this.snackbarService.messages$.subscribe((messages: FwSnackbarMessage[]) => {\n this.messages = messages;\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n onReady(snackbar: FwSnackbarComponent): void {\n const currentMessage = this.messages[this.messages.length - 1];\n currentMessage.ref = snackbar;\n snackbar.startTimer();\n }\n\n onDismiss(messageId: string): void {\n const message = this.messages.find(currentMessage => currentMessage.id === messageId);\n if (message?.ref) {\n message.ref.stopTimer();\n }\n if (message?.id) {\n this.snackbarService.dismiss(message.id);\n }\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.snackbarService.dismissAll();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" variant=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwSnackbarComponent } from './snackbar/snackbar.component';\nimport { FwSnackbarContainerComponent } from './snackbar-container/snackbar-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n ],\n exports: [\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n declarations: [\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n})\nexport class FwSnackbarModule {\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-step',\n templateUrl: './step.component.html',\n styleUrls: ['./step.component.scss'],\n})\nexport class FwStepComponent implements OnChanges {\n @Input() stepNumber: number;\n @Input() color?: 'slate' | 'success' | 'error' | 'warning' | 'info' = 'slate';\n @Input() variant?: 'number' | 'icon' | 'decorator' = 'number';\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() active?: boolean;\n @Input() completed?: boolean;\n @Input() done?: boolean;\n @Input() status?: 'default' | 'active' | 'completed' | 'done' | 'disabled' | 'error' | 'warning' | 'info';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<number> = new EventEmitter<number>();\n\n handleClick(): void {\n if (this.completed && !this.done && !this.disabled) {\n this.select.emit(this.stepNumber);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.status) {\n this.active = false;\n this.disabled = false;\n this.completed = false;\n this.done = false;\n this.color = 'slate';\n switch (changes.status.currentValue) {\n case 'active':\n this.active = true;\n break;\n case 'completed':\n this.completed = true;\n break;\n case 'done':\n this.done = true;\n break;\n case 'disabled':\n this.disabled = true;\n break;\n case 'error':\n this.color = 'error';\n break;\n case 'warning':\n this.color = 'warning';\n break;\n case 'info':\n this.color = 'info';\n break;\n case 'default':\n default:\n // handled in init\n break;\n }\n }\n if (changes.active && changes.active.previousValue === false) {\n this.status = 'active';\n }\n if (changes.completed && changes.completed.previousValue === false) {\n this.status = 'completed';\n }\n if (changes.done && changes.done.previousValue === false) {\n this.status = 'done';\n }\n if (changes.disabled && changes.disabled.previousValue === false) {\n this.status = 'disabled';\n }\n if (this.color === 'slate' && !this.active && !this.completed && !this.done && !this.disabled) {\n this.status = 'default';\n }\n }\n}\n\n@Component({\n selector: 'fw-step-decorator',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwStepDecoratorComponent {\n}\n","<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwStepComponent } from './step.component';\n\n@Component({\n selector: 'fw-stepper',\n template: '<ng-content select=\"fw-step\"></ng-content>',\n styleUrls: [],\n})\nexport class FwStepperComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() activeStep: number = 1;\n @Input() doneStep?: number;\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Output() stepChange: EventEmitter<number> = new EventEmitter<number>();\n @ContentChildren(FwStepComponent) steps: QueryList<FwStepComponent>;\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n background-color: ${this.backgroundColor};\n `);\n }\n\n private subscriptions: Subscription[] = [];\n\n constructor(private sanitizer: DomSanitizer) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.updateSteps();\n }\n }\n\n ngAfterContentInit(): void {\n this.steps.forEach(step => {\n const sub = step.select.subscribe(step => this.handleSelect(step));\n this.subscriptions.push(sub);\n });\n this.updateSteps();\n }\n\n handleSelect(step?: number): void {\n this.activeStep = step;\n this.stepChange.emit(parseInt(step.toString())); // weirdly passing out step directly fails the eqeqeq\n this.updateSteps();\n }\n\n updateSteps(): void {\n if (this.steps && this.steps.length > 0) {\n this.steps.forEach(step => {\n if (step.stepNumber < this.activeStep) {\n step.completed = true;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber.toString() === this.activeStep.toString()) {\n step.completed = false;\n step.active = true;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber > this.activeStep) {\n step.completed = false;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (Boolean(this.doneStep) && step.stepNumber <= this.doneStep) {\n step.done = true;\n }\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwStepComponent, FwStepDecoratorComponent } from './step.component';\nimport { FwStepperComponent } from './stepper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n ],\n exports: [\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n declarations: [\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n})\nexport class FwStepperModule {\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * Cell definition for the fw-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: FwCellDef }],\n standalone: true,\n})\nexport class FwCellDef extends CdkCellDef {\n}\n\n/**\n * Header cell definition for the fw-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: FwHeaderCellDef }],\n standalone: true,\n})\nexport class FwHeaderCellDef extends CdkHeaderCellDef {\n}\n\n/**\n * Footer cell definition for the fw-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwFooterCellDef]',\n providers: [{ provide: CdkFooterCellDef, useExisting: FwFooterCellDef }],\n standalone: true,\n})\nexport class FwFooterCellDef extends CdkFooterCellDef {\n}\n\n/**\n * Column definition for the fw-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[fwColumnDef]',\n providers: [\n { provide: CdkColumnDef, useExisting: FwColumnDef },\n ],\n standalone: true,\n})\nexport class FwColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('fwColumnDef')\n override get name(): string {\n return this._name;\n }\n\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"fw-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"fw-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName(): void {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`fw-column-${this.cssClassFriendlyName}`);\n }\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-header-cell, th[fw-header-cell]',\n standalone: true,\n})\nexport class FwHeaderCell extends CdkHeaderCell {\n @HostBinding() class: string = 'fw-header-cell';\n @HostBinding() role: string = 'columnheader';\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-footer-cell, td[fw-footer-cell]',\n standalone: true,\n})\nexport class FwFooterCell extends CdkFooterCell {\n @HostBinding() class: string = 'fw-footer-cell';\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-cell, td[fw-cell]',\n standalone: true,\n})\nexport class FwCell extends CdkCell {\n @HostBinding() class: string = 'fw-cell';\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n/* eslint @angular-eslint/component-class-suffix:0 */\n\nimport {\n CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkNoDataRow,\n CdkRow,\n CdkRowDef,\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nconst ROW_TEMPLATE = '<ng-container cdkCellOutlet></ng-container>';\n\n/**\n * Header row definition for the fw-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[fwHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: FwHeaderRowDef }],\n})\nexport class FwHeaderRowDef extends CdkHeaderRowDef {\n @Input('fwHeaderRowDef') columns: string[];\n // @Input('fwHeaderRowDefSticky') sticky: boolean;\n}\n\n/**\n * Footer row definition for the fw-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[fwFooterRowDef]',\n providers: [{ provide: CdkFooterRowDef, useExisting: FwFooterRowDef }],\n})\nexport class FwFooterRowDef extends CdkFooterRowDef {\n @Input('fwFooterRowDef') columns: string[];\n // @Input('fwFooterRowDefSticky') sticky: boolean;\n}\n\n/**\n * Data row definition for the fw-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[fwRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: FwRowDef }],\n})\nexport class FwRowDef<T> extends CdkRowDef<T> {\n @Input('fwRowDefColumns') columns: string[];\n @Input('fwRowDefWhen') when: (index: number, rowData: T) => boolean;\n}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-header-row, tr[fw-header-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwHeaderRow',\n providers: [{ provide: CdkHeaderRow, useExisting: FwHeaderRow }],\n})\nexport class FwHeaderRow extends CdkHeaderRow {\n @HostBinding() class = 'fw-header-row';\n @HostBinding() role = 'row';\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-footer-row, tr[fw-footer-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwFooterRow',\n providers: [{ provide: CdkFooterRow, useExisting: FwFooterRow }],\n})\nexport class FwFooterRow extends CdkFooterRow {\n @HostBinding() class = 'fw-footer-row';\n @HostBinding() role = 'row';\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-row, tr[fw-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwRow',\n providers: [{ provide: CdkRow, useExisting: FwRow }],\n})\nexport class FwRow extends CdkRow {\n @HostBinding() class = 'fw-row';\n @HostBinding() role = 'row';\n}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[fwNoDataRow]',\n providers: [{ provide: CdkNoDataRow, useExisting: FwNoDataRow }],\n})\nexport class FwNoDataRow extends CdkNoDataRow {\n override _contentClassName = 'fw-no-data-row';\n}\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport {\n _COALESCED_STYLE_SCHEDULER,\n _CoalescedStyleScheduler,\n CDK_TABLE,\n CdkTable,\n STICKY_POSITIONING_LISTENER,\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table, table[fw-table]',\n exportAs: 'fwTable',\n templateUrl: 'table.component.html',\n styleUrls: ['table.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableComponent },\n { provide: CDK_TABLE, useExisting: FwTableComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FwTableComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","<ng-container headerRowOutlet></ng-container>\n<ng-container rowOutlet></ng-container>\n<ng-container noDataRowOutlet></ng-container>\n<ng-container footerRowOutlet></ng-container>\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport {\n _COALESCED_STYLE_SCHEDULER,\n _CoalescedStyleScheduler,\n CDK_TABLE,\n CdkTable,\n STICKY_POSITIONING_LISTENER,\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table-dense, table[fw-table-dense]',\n exportAs: 'fwTableDense',\n templateUrl: 'table.component.html',\n styleUrls: ['table-dense.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableDenseComponent },\n { provide: CDK_TABLE, useExisting: FwTableDenseComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FwTableDenseComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table-dense', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwCell, FwCellDef, FwColumnDef, FwFooterCell, FwFooterCellDef, FwHeaderCell, FwHeaderCellDef } from './cell';\nimport { FwFooterRow, FwFooterRowDef, FwHeaderRow, FwHeaderRowDef, FwNoDataRow, FwRow, FwRowDef } from './row';\nimport { FwTableComponent } from './table.component';\nimport { FwTableDenseComponent } from './table-dense.component';\n\n@NgModule({\n imports: [\n CdkTableModule,\n CommonModule,\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwHeaderCell,\n FwHeaderCellDef,\n ],\n exports: [\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderCell,\n FwHeaderCellDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n FwRow,\n FwRowDef,\n FwTableComponent,\n FwTableDenseComponent,\n ],\n declarations: [\n FwTableComponent,\n FwTableDenseComponent,\n FwRow,\n FwRowDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n ],\n})\nexport class FwTableModule {\n}\n","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../../components/icon/icon.types';\nimport { FwTabPanelComponent } from '../tab-panel/tab-panel.component';\n\n@Component({\n selector: 'fw-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.scss'],\n})\nexport class FwTabComponent {\n @Input() title: string;\n @Input() panel?: FwTabPanelComponent;\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() icon?: IconType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @HostBinding('class.active') @Input() active: boolean = false;\n @HostBinding('class.disabled') @Input() disabled: boolean = false;\n @HostBinding('role') role = 'button';\n @HostBinding('tabindex') @Input() tabindex = '';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tab', this.color].join(' ');\n }\n\n @HostListener('click') onClick(): void {\n this.handleSelect();\n }\n\n @HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent): void {\n if (event.key === 'Enter' && event.target['attributes']?.['label']?.['nodeValue'] === this.title) {\n this.handleSelect();\n }\n }\n\n handleSelect(): void {\n if (!this.disabled) {\n this.active = true;\n if (this.panel) {\n this.panel.active = true;\n }\n this.select.emit(this);\n }\n }\n\n}\n","<fw-icon *ngIf=\"icon\" size=\"medium\">{{ icon }}</fw-icon>\n<h4 class=\"vision-h4\">{{ title }}</h4>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-tab-panel',\n templateUrl: './tab-panel.component.html',\n styleUrls: ['./tab-panel.component.scss'],\n})\nexport class FwTabPanelComponent {\n @HostBinding('class.active') @Input() active: boolean = false;\n\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTabComponent } from './tab/tab.component';\n\n@Component({\n selector: 'fw-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n})\nexport class FwTabsComponent implements AfterContentInit, OnDestroy {\n @Input() activeTabIndex: number;\n @Input() activeTab?: FwTabComponent;\n @Input() bordered?: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @ContentChildren(FwTabComponent) tabs: QueryList<FwTabComponent>;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tabs', this.bordered ? 'bordered' : ''].join(' ');\n }\n\n private subscriptions: Array<Subscription> = [];\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.activeTabIndex <= this.tabs.length) {\n this.activeTab = this.tabs.get(this.activeTabIndex);\n this.activeTab.active = true;\n if (this.activeTab.panel) {\n this.activeTab.panel.active = true;\n }\n }\n this.tabs.forEach(tab => {\n const sub = tab.select.subscribe(selected => this.handleTabChange(selected));\n this.subscriptions.push(sub);\n });\n }\n\n handleTabChange(tab: FwTabComponent): void {\n this.activeTab = tab;\n this.tabs.forEach((t, index) => {\n if (t !== tab) {\n t.active = false;\n if (t.panel) {\n t.panel.active = false;\n }\n } else {\n this.activeTabIndex = index;\n }\n });\n this.select.emit(tab);\n }\n}\n","<ng-content select=\"fw-tab\"></ng-content>\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTabComponent } from './tab/tab.component';\nimport { FwTabPanelComponent } from './tab-panel/tab-panel.component';\nimport { FwTabsComponent } from './tabs.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ],\n exports: [\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n declarations: [\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n})\nexport class FwTabsModule {\n}\n","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { Component, HostBinding, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { min } from 'rxjs';\n\n@Component({\n selector: 'fw-textarea-input',\n templateUrl: './textarea-input.component.html',\n styleUrls: ['./textarea-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextAreaInputComponent,\n multi: true,\n }],\n})\nexport class FwTextAreaInputComponent implements ControlValueAccessor {\n\n @Input() minRows: number = 2;\n @Input() maxRows: number = 15;\n @Input() disabled?: boolean = false;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() autofocus?: string;\n @Input() width?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n @ViewChild(CdkTextareaAutosize) autosize!: CdkTextareaAutosize;\n\n @Input() value = '';\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n\n setTimeout(() => {\n if (this.autosize) {\n this.autosize.resizeToFitContent(true);\n }\n });\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n protected readonly min = min;\n}\n","<div class=\"textarea-wrapper\" [ngStyle]=\"{width: width}\">\n <textarea\n test-id=\"textarea\"\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n [cdkAutosizeMinRows]=\"minRows\"\n [cdkAutosizeMaxRows]=\"maxRows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [placeholder]=\"placeholder || ''\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [autofocus]=\"autofocus\">\n </textarea>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTextAreaInputComponent } from './textarea-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TextFieldModule,\n FwIconModule,\n ],\n exports: [\n FwTextAreaInputComponent,\n ],\n declarations: [\n FwTextAreaInputComponent,\n ],\n})\nexport class FwTextAreaInputModule {\n}\n","import {\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, timer } from 'rxjs';\n\nimport { FwChipComponent } from '../chip/chip.component';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n@Component({\n selector: 'fw-chip-list',\n standalone: true,\n imports: [\n FwChipModule,\n FwTooltipModule,\n ],\n templateUrl: './chip-list.component.html',\n styleUrl: './chip-list.component.scss',\n})\nexport class FwChipListComponent implements OnInit, OnDestroy {\n changeDetector = inject(ChangeDetectorRef);\n hostElement = inject(ElementRef);\n childChipElementRefs = contentChildren<FwChipComponent, ElementRef>(FwChipComponent, { read: ElementRef });\n moreText = viewChild<ElementRef<HTMLParagraphElement>>('moreText');\n\n subscriptions = [];\n\n hiddenElementCount = signal(0);\n hiddenChips = signal<HTMLElement[]>([]);\n hiddenLabels = computed(() => {\n return this.hiddenChips().map(chip => {\n // this relies on the dom shape of the chip, might be fragile\n const contentSpan = chip.querySelector('span');\n return contentSpan.innerText;\n }).join(', ');\n });\n\n resizeDebounceMs = input(100);\n disableOverflow = input(false);\n\n childrenChanged = effect(() => {\n this.childChipElementRefs();\n this.calcChipOverflow();\n }, { allowSignalWrites: true });\n\n resizeObserver = new ResizeObserver(() => {\n this.calcChipOverflow();\n });\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcChipOverflow());\n this.subscriptions.push(sub);\n }\n\n calcChipOverflow(): void {\n if (this.disableOverflow()) {\n return;\n }\n\n const moreTextRef = this.moreText();\n if (!moreTextRef) {\n return;\n }\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const chipElements = this.childChipElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = moreTextRef.nativeElement;\n\n chipElements.forEach(chip => chip.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleChips = chipElements.filter(chip => {\n const chipRect = chip.getBoundingClientRect();\n return !(chipRect.right > hostRect.right || chipRect.bottom > hostRect.bottom);\n });\n\n const overflowChips = chipElements.toSpliced(0, visibleChips.length);\n\n if (overflowChips.length > 0) {\n const lastVisibleChip = visibleChips[visibleChips.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleChip.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowChips.push(lastVisibleChip);\n }\n\n this.hiddenChips.set(overflowChips);\n overflowChips.forEach(hiddenChip => {\n hiddenChip.classList.add('hidden');\n });\n } else {\n moreTextElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","<ng-content></ng-content>\n@if(!disableOverflow()) {\n <fw-tooltip [title]=\"hiddenLabels()\">\n <p #moreText> +{{hiddenChips().length}} more </p>\n </fw-tooltip>\n}\n","import { CdkMenuModule, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { combineLatest, map, Observable, of, switchMap, tap } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwChipListComponent } from '../chip-list/chip-list.component';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\n\ntype OptionFetchingFn = (searchString: string) => Observable<string[]>;\n\n/**\n * Component for having a user select multiple values while also allowing arbitrary values to be added\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-typeahead--docs)\n */\n@Component({\n selector: 'fw-typeahead',\n standalone: true,\n imports: [\n FwTextInputModule,\n FwChipModule,\n ReactiveFormsModule,\n FwMenuModule,\n CdkMenuModule,\n MenuRegisterDirective,\n FwProgressModule,\n FwChipListComponent,\n NgClass,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwTypeaheadComponent),\n multi: true,\n },\n ],\n templateUrl: './typeahead.component.html',\n styleUrl: './typeahead.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwTypeaheadComponent implements ControlValueAccessor {\n @HostListener('document:click') outsideClick(): void {\n this.trigger().close();\n }\n\n trigger = viewChild(CdkMenuTrigger);\n changeDetector = inject(ChangeDetectorRef);\n loading = model(false);\n disabled = model(false);\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n writeValue(incomingValue: string[]): void {\n this.value.set(incomingValue);\n }\n\n onChange = (_: string[]): void => {\n };\n\n registerOnChange(onChangeFn): void {\n this.onChange = onChangeFn;\n }\n\n onTouched = (): void => {\n };\n\n registerOnTouched(onTouchedFn): void {\n this.onTouched = onTouchedFn;\n }\n\n @HostListener('click', ['$event']) onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n value = model<string[]>([]);\n value$ = toObservable(this.value);\n optionsInput = input<string[] | OptionFetchingFn>([], { alias: 'options' });\n optionsInput$ = toObservable(this.optionsInput);\n\n maxOptionsHeight = input('400px');\n minOptionsHeight = input('0px');\n optionsWidth = input('');\n maxHeight = input('');\n\n notifyOnValueChanges = effect(() => {\n this.onChange(this.value());\n });\n\n searchValue = model('');\n searchValueChanges$ = toObservable(this.searchValue);\n\n handleSearchChange(event: KeyboardEvent): void {\n if (this.trigger().closed) {\n this.trigger().open();\n }\n const value = (event.target as HTMLInputElement).value;\n this.searchValue.set(value);\n }\n\n allowNew = input(true);\n placeholder = input('Enter tags...');\n showPlaceholder = computed(() => this.value().length === 0);\n\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions$: Observable<string[]> = combineLatest([\n this.searchValueChanges$,\n this.optionsInput$,\n ]).pipe(\n tap(() => this.loading.set(true)),\n\n // first determine if it's a function or static options\n switchMap(([searchString, optionInput]) => {\n if (typeof optionInput === 'function') {\n const fetchingFunction = optionInput as OptionFetchingFn;\n return fetchingFunction(searchString);\n } else {\n // if they're static options we need to do the search filtering\n const filteredOptionInput = optionInput?.filter(opt => opt.toLowerCase().includes(searchString.toLowerCase()));\n return of(filteredOptionInput);\n }\n\n }),\n\n // next filter out already selected values\n switchMap(options => combineLatest([of(options), this.value$])),\n map(([options, currentValue]) => {\n return options?.filter(option => {\n const alreadySelected = currentValue.find(val => val.toLowerCase() === option.toLowerCase());\n return !alreadySelected;\n });\n }),\n\n tap(() => this.loading.set(false)),\n );\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions = toSignal(this.filteredOptions$);\n\n\n closeChip(chipValue: string): void {\n const currentValue = this.value();\n const newValue = currentValue.filter(val => val !== chipValue);\n this.value.set(newValue);\n this.focusInput();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n displayNewOption = computed(() => {\n const newValue = this.searchValue();\n\n if (!newValue) {\n return false;\n }\n\n const directMatch = this.filteredOptions()?.includes?.(newValue);\n const loading = this.loading();\n const alreadySelected = Boolean(this.value().find(val => val.toLowerCase() === newValue.toLowerCase()));\n\n\n return this.allowNew() && !alreadySelected && (!directMatch || loading);\n });\n\n addValue = (newValue: string): void => {\n\n const isInOptions = this.filteredOptions().includes(newValue);\n const isNewWhileDisallowed = !this.allowNew() && !isInOptions;\n\n const isDuplicate = this.value().includes(newValue.toLowerCase());\n\n if (isNewWhileDisallowed || isDuplicate) {\n return;\n }\n\n this.value.update(prevValue => [\n ...prevValue || [],\n newValue,\n ]);\n };\n\n handleOptionClick = (optionValue): void => {\n this.onTouched();\n this.addValue(optionValue);\n this.focusInput();\n this.searchValue.set('');\n };\n\n resetFocusOnOptionsChange = effect(() => {\n if (this.displayedOptions() || this.searchValue()) {\n this.focusedIndex.set(0);\n }\n }, { allowSignalWrites: true });\n\n displayedOptions = viewChildren(FwMenuItemComponent);\n focusedIndex = signal(0);\n focusedOption = computed(() => {\n const options = this.displayedOptions();\n const focused = this.focusedIndex();\n\n const onlyOne = options.length === 1;\n return onlyOne ? this.searchValue() : options[focused]?.value;\n });\n\n inputRef = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n focusInput(e: MouseEvent = null): void {\n e?.preventDefault();\n e?.stopPropagation();\n e?.stopImmediatePropagation();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef().nativeElement.focus();\n }\n\n onFocusLoss(_: Event): void {\n this.onTouched();\n }\n\n /* eslint-disable @typescript-eslint/naming-convention */\n keyHandlerMap: { [keycode: string]: (e: KeyboardEvent) => void } = {\n 'Enter': () => {\n this.onTouched();\n const newValue = this.focusedOption() || this.searchValue();\n const duplicate = this.value().find(val => val.toLowerCase() === newValue.toLowerCase());\n\n if (!newValue || duplicate) {\n return;\n }\n\n this.addValue(newValue);\n this.searchValue.set('');\n },\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Backspace': () => {\n const searchIsEmpty = !this.searchValue(); // any falsy value is empty\n if (searchIsEmpty && this.value()?.length > 0) {\n this.closeChip(this.value()[this.value().length - 1]);\n }\n return !searchIsEmpty;\n },\n 'Tab': () => {\n if (this.trigger().isOpen) {\n this.trigger().close();\n }\n },\n };\n\n /* eslint-enable */\n\n handleKey(e: KeyboardEvent): void {\n const handler = this.keyHandlerMap[e.key];\n handler?.(e);\n }\n\n setFocusByValue(value: string): void {\n const options = this.displayedOptions();\n const foundIndex = options.findIndex(opt => opt.value === value);\n const finalIndex = foundIndex === -1 ? 0 : foundIndex;\n this.focusedIndex.set(finalIndex);\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n } else if (n >= options.length) {\n return 0;\n }\n\n return n;\n };\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n}\n","<div\n (click)=\"focusInput($event)\"\n class=\"input-container\"\n [ngClass]=\"{ 'disabled': disabled() }\"\n [style.max-height]=\"maxHeight()\"\n [cdkMenuTriggerFor]=\"menuContent\"\n fwMenuRegister\n #inputContainer>\n <fw-chip-list class=\"chips\" [disableOverflow]=\"!!maxHeight()\">\n @for(val of value(); track val) {\n <fw-chip\n color=\"primary\"\n [showClose]=\"true\"\n [title]=\"val\"\n [selectable]=\"false\"\n (close)=\"closeChip(val)\"\n />\n }\n </fw-chip-list>\n <input\n test-id=\"typeahead-input\"\n [placeholder]=\"showPlaceholder() ? placeholder() : ''\"\n [disabled]=\"disabled()\"\n [value]=\"searchValue()\"\n (keyup)=\"handleSearchChange($event)\"\n (keydown)=\"handleKey($event)\"\n (focusout)=\"onFocusLoss($event)\"\n #input\n type=\"text\"\n />\n @if(loading()) {\n <fw-progress-spinner size=\"small\"/>\n }\n</div>\n<ng-template #menuContent>\n <fw-menu-container\n [maxHeight]=\"maxOptionsHeight()\"\n [minHeight]=\"minOptionsHeight()\"\n [width]=\"optionsWidth() || inputContainer.offsetWidth - 2 + 'px'\"\n >\n <fw-menu>\n @if(loading() && !displayNewOption()) {\n <fw-menu-item title=\"Searching...\" [disabled]=\"true\"/>\n } @else if(!loading()) {\n @for (option of filteredOptions(); track option) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(option)\"\n [title]=\"option\"\n [focused]=\"focusedOption() === option\"\n [value]=\"option\"\n />\n }\n @empty {\n @if (!displayNewOption()) {\n <fw-menu-item title=\"No tag suggestions\" [disabled]=\"true\"/>\n }\n }\n }\n @if(displayNewOption()) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(searchValue())\"\n [title]=\"searchValue()\"\n [value]=\"searchValue()\"\n [focused]=\"focusedOption() === searchValue()\">\n <p class=\"new-tag\">New</p>\n </fw-menu-item>\n }\n </fw-menu>\n </fw-menu-container>\n</ng-template>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-wrapped-input',\n templateUrl: './wrapped-input.component.html',\n styleUrls: ['./wrapped-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwWrappedInputComponent {\n @Input() title: string;\n @Input() status?: string;\n @Input() statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() description?: string;\n @Input() helperText?: string;\n @Input() errorText?: string;\n @Input() required?: boolean;\n\n @HostBinding('class.fw-wrapped-input') class = true;\n}\n\n\n","<label>\n <fw-form-heading\n *ngIf=\"title\" [title]=\"title\" [description]=\"description\"\n [required]=\"required\" [status]=\"status\" [statusColor]=\"statusColor\">\n </fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead\"></ng-content>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText && !errorText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwFormHeadingModule } from '../form-heading/form-heading.module';\nimport { FwWrappedInputComponent } from './wrapped-input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwFormHeadingModule,\n ],\n exports: [\n FwWrappedInputComponent,\n ],\n declarations: [\n FwWrappedInputComponent,\n ],\n})\nexport class FwWrappedInputModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FwIconComponent","i1","i2.FwIconComponent","i3.FwIconButtonComponent","delayMap","i2.FwPopoverPanelComponent","positionMap","i2.FwTooltipDirective","i1.FwTooltipComponent","i3.FwProgressSpinnerComponent","i1.FwButtonComponent","i2.FwSwitchComponent","i3.FwCheckboxComponent","i2","i4.FwIconComponent","i3.FwButtonComponent","i5.FwDialogActionsComponent","i6.FwDialogComponent","i7.FwDialogContentComponent","i4.FwDialogActionsComponent","i5.FwDialogComponent","i6.FwDialogContentComponent","i1.TranslationService","exports","i2.FwTagComponent","i2.FwIconButtonComponent","i3.FwIconComponent","i4.FwCheckboxComponent","i5.FwRadioComponent","i3.FwTooltipDirective","i3","i4.FwTextInputComponent","i5.FwMenuItemComponent","i2.FwTooltipComponent","i4.FwTooltipComponent","i2.MenuManagerService","i4.FwChipComponent","i5.FwIconComponent","i6.FwMenuComponent","i7.FwMenuContainerComponent","i8.FwMenuItemComponent","i9.MenuRegisterDirective","i4.FwMenuComponent","i5.FwMenuContainerComponent","i6.FwMenuItemComponent","i7.FwTextInputComponent","i8.MenuRegisterDirective","i4.FwMenuItemComponent","i5.FwSelectMenuComponent","i3.FwMenuComponent","i4.FwMenuContainerComponent","i6.FwMenuSeparatorComponent","i7","i3.FwBackButtonComponent","i1.FwSnackbarTimerService","i4.FwIconButtonComponent","i1.FwSnackbarService","i4.FwSnackbarComponent","i1.FwChipComponent","i2.FwMenuComponent","i3.FwMenuContainerComponent","i5","i6.FwProgressSpinnerComponent","i2.FwFormHeadingComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,gBAAgB,GAAG;AACvB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,aAAa,EAAE,EAAE;CAClB;MAOY,eAAe,CAAA;AAoB1B,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,MAAM,SAAS,GAAW,CAAA,WAAA,EAAc,IAAI,CAAC,IAAI,CAAA,eAAA,EAAkB,IAAI,CAAC,IAAI,CAAA,WAAA,EAAc,IAAI,CAAC,IAAI,KAAK;QACxG,IAAI,UAAU,GAAW,EAAE;AAC3B,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE;gBAC1B,UAAU,GAAG,iCAAiC;YAChD;iBAAO;AACL,gBAAA,UAAU,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,KAAK,SAAS;YAClD;QACF;AACA,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;QAC3C,SAAS;QACT,UAAU;AACf,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;QAlBP,IAAA,CAAA,KAAK,GAAG,aAAa;QACtB,IAAA,CAAA,IAAI,GAAG,KAAK;IAkBjC;+GArCW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAEb,CAAC,KAAe,KAAI;AAC7B,oBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7B,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;oBACzD;AACA,oBAAA,OAAO,KAAK;AACd,gBAAA,CAAC,0IAVO,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAG1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;iFASI,IAAI,EAAA,CAAA;sBAPN,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACL,wBAAA,SAAS,EAAE,CAAC,KAAe,KAAI;AAC7B,4BAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gCAC7B,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;4BACzD;AACA,4BAAA,OAAO,KAAK;wBACd,CAAC;AACF,qBAAA;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBASqB,KAAK,EAAA,CAAA;sBAA1B,WAAW;uBAAC,OAAO;gBACC,IAAI,EAAA,CAAA;sBAAxB,WAAW;uBAAC,MAAM;gBACO,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MChCT,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;QAYa,IAAA,CAAA,KAAK,GAYC,SAAS;QACf,IAAA,CAAA,IAAI,GAAW,EAAE;QACjB,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,QAAQ,GAAa,KAAK;AAE5B,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AAC/B,IAAA;AAzBG,IAAA,IAA+B,OAAO,GAAA;QAClC,OAAO,IAAI,CAAC,IAAI;IACpB;;+GAHS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,23BCPlC,6OAOA,EAAA,MAAA,EAAA,CAAA,y+GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDAa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACI,gBAAgB,EAAA,QAAA,EAAA,6OAAA,EAAA,MAAA,EAAA,CAAA,y+GAAA,CAAA,EAAA;8BAKK,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAIA,QAAQ,EAAA,CAAA;sBAAhC,WAAW;uBAAC,UAAU;gBAEd,KAAK,EAAA,CAAA;sBAAb;gBAaQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;;;MErBQ,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,QAAQ,GAA8C,MAAM;QAE5D,IAAA,CAAA,OAAO,GAAwC,UAAU;;AAGxD,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,YAAY,EAAQ;AAC/D,IAAA;+GATY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,qNCT7B,krBAmBA,EAAA,MAAA,EAAA,CAAA,yqEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDVa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,krBAAA,EAAA,MAAA,EAAA,CAAA,yqEAAA,CAAA,EAAA;8BAKX,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAES,KAAK,EAAA,CAAA;sBAAd;;;MEDU,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAAA,YAAA,EAAA,CAHrB,eAAe,CAAA,EAAA,OAAA,EAAA,CANf,YAAY,aAGZ,eAAe,CAAA,EAAA,CAAA,CAAA;AAMN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YATrB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,eAAe;AAChB,qBAAA;AACF,iBAAA;;;MCGY,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHvB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAPrB,YAAY;AACZ,YAAA,YAAY,aAGZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAMhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAVvB,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,YAAY;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,qBAAqB;AACxB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,qBAAqB;AACxB,qBAAA;AACJ,iBAAA;;;MCGY,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAb,aAAa,EAAA,YAAA,EAAA,CAHlB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CARhB,YAAY;YACZ,YAAY;AACZ,YAAA,kBAAkB,aAGlB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAMX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAXlB,YAAY;YACZ,YAAY;YACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;;4FASb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,gBAAgB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,gBAAgB;AACnB,qBAAA;AACJ,iBAAA;;;MCVY,kBAAkB,CAAA;AAL/B,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,KAAK,GAA+D,SAAS;QAC7E,IAAA,CAAA,SAAS,GAAyB,UAAU;QAC5C,IAAA,CAAA,IAAI,GAAkD,QAAQ;QAC9D,IAAA,CAAA,OAAO,GAAoD,aAAa;QAE/C,IAAA,CAAA,QAAQ,GAAG,EAAE;QACT,IAAA,CAAA,MAAM,GAAa,KAAK;QACtB,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC7C,IAAA,CAAA,IAAI,GAAG,QAAQ;AAKrC,IAAA;AAHC,IAAA,IAA0B,QAAQ,GAAA;QAChC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACvE;+GAhBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,mbCT/B,+aAUA,EAAA,MAAA,EAAA,CAAA,shKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDDa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,+aAAA,EAAA,MAAA,EAAA,CAAA,shKAAA,CAAA,EAAA;8BAKd,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACiC,QAAQ,EAAA,CAAA;sBAAzC,WAAW;uBAAC,UAAU;;sBAAG;gBACY,MAAM,EAAA,CAAA;sBAA3C,WAAW;uBAAC,cAAc;;sBAAG;gBACU,QAAQ,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;sBAAG;gBACX,IAAI,EAAA,CAAA;sBAAxB,WAAW;uBAAC,MAAM;gBAEO,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;;;MELT,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,YAAA,EAAA,CAHxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAPlB,YAAY;AACZ,YAAA,YAAY,aAGZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAMT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAVxB,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;AACnB,qBAAA;AACF,iBAAA;;;AChBD,MAAM,mBAAmB,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAW,KAAY;IAC9C,IAAI,IAAI,GAAG,CAAC;AACZ,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;IACjD;AACA,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,IAAI,GAAG,EAAE,KAAY;AACpD,IAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC3B,IAAA,OAAO,mBAAmB,CAAC,IAAI,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;;ACrBD,MAAM,aAAa,GAAyC;AAC1D,IAAA,OAAO,EAAE,qBAAqB;AAC9B,IAAA,SAAS,EAAE,uBAAuB;AAClC,IAAA,GAAG,EAAE,iBAAiB;AACtB,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,KAAK,EAAE,mBAAmB;AAC1B,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,OAAO,EAAE,mBAAmB;CAC7B;MAOY,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;QAYW,IAAA,CAAA,KAAK,GAAuB,SAAS;QACrC,IAAA,CAAA,OAAO,GAAuC,UAAU;QACxD,IAAA,CAAA,OAAO,GAAkC,MAAM;QAC/C,IAAA,CAAA,IAAI,GAA8C,OAAO;QACzD,IAAA,CAAA,OAAO,GAAY,EAAE;QACrB,IAAA,CAAA,QAAQ,GAAY,EAAE;QACtB,IAAA,CAAA,YAAY,GAAY,EAAE;QAC1B,IAAA,CAAA,IAAI,GAAc,MAAM;QACxB,IAAA,CAAA,QAAQ,GAAG,KAAK;AAMzB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;QACvB,IAAA,CAAA,SAAS,GAAG,KAAK,EAAU;AAM3B,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAE/D,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjG,IAAA,CAAA,aAAa,GAAY,KAAK;AAS/B,IAAA;AAxCC,IAAA,IAA+B,OAAO,GAAA;QAEpC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACtF;;AAaA,IAAA,IAAmC,WAAW,GAAA;QAC5C,OAAO,IAAI,CAAC,QAAQ;IACtB;AAKA,IAAA,IAAmC,oBAAoB,GAAA;AACrD,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;IAQA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC5B;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;+GAxCW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,8mDCtB9B,64BAsBA,EAAA,MAAA,EAAA,CAAA,8kDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDAa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,64BAAA,EAAA,MAAA,EAAA,CAAA,8kDAAA,CAAA,EAAA;8BAKU,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAMhB,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEkC,WAAW,EAAA,CAAA;sBAA7C,WAAW;uBAAC,gBAAgB;gBAOM,oBAAoB,EAAA,CAAA;sBAAtD,WAAW;uBAAC,gBAAgB;;;ME5BlB,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAd,cAAc,EAAA,YAAA,EAAA,CAHvB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAPjB,YAAY;AACZ,YAAA,YAAY,aAGZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAMR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAVvB,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;AAClB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;AAClB,qBAAA;AACF,iBAAA;;;ICbW;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC5B,CAAC,EALW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;MAYV,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;AAMW,QAAA,IAAA,CAAA,KAAK,GAAkD,WAAW,CAAC,KAAK;QAExE,IAAA,CAAA,SAAS,GAA0E,WAAW;AAYxG,IAAA;AARC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,MAAM,OAAO,GAAG,CAAC,mBAAmB,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC;AAC3C,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC;QACjD;AACA,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1B;;+GAdW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,+NChBrC,6QAMA,EAAA,MAAA,EAAA,CAAA,gwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDUa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,6QAAA,EAAA,MAAA,EAAA,CAAA,gwBAAA,CAAA,EAAA;8BAKpB,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAE8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;;;MEfd,eAAe,CAAA;AAC1B,IAAA,IAA0B,QAAQ,GAAA;QAChC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B;+GAHW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,mGAJhB,iDAAiD,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mxLAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAIhD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAAA,QAAA,EACT,iDAAiD,EAAA,aAAA,EAE5C,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,mxLAAA,CAAA,EAAA;8BAGX,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;;MAWT,mBAAmB,CAAA;AANhC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,IAAI,GAAW,EAAE;QAKjB,IAAA,CAAA,MAAM,GAAa,KAAK;QACxB,IAAA,CAAA,OAAO,GAAa,KAAK;QACzB,IAAA,CAAA,OAAO,GAAsE,YAAY;AAcnG,IAAA;AAZC,IAAA,IAA0B,QAAQ,GAAA;QAChC,OAAO;YACL,cAAc,GAAG,IAAI,CAAC,IAAI;AAC1B,YAAA,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,MAAM,GAAG,kBAAkB,GAAG,IAAI;YACvC,IAAI,CAAC,OAAO,GAAG,mBAAmB,GAAG,IAAI;AACzC,YAAA,IAAI,CAAC,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;AAC5C,YAAA,IAAI,CAAC,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;AAC5C,YAAA,IAAI,CAAC,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;AAC5C,YAAA,IAAI,CAAC,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI;SAC7C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B;+GArBW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,oOAJpB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mxLAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAI1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,QAAA,EACd,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,mxLAAA,CAAA,EAAA;8BAG5B,IAAI,EAAA,CAAA;sBAAZ;gBACQ,EAAE,EAAA,CAAA;sBAAV;gBACQ,EAAE,EAAA,CAAA;sBAAV;gBACQ,EAAE,EAAA,CAAA;sBAAV;gBACQ,EAAE,EAAA,CAAA;sBAAV;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAEyB,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;;;MCvBT,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;QAMW,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,MAAM,GAAY,IAAI;QACtB,IAAA,CAAA,OAAO,GAAkF,eAAe;AAalH,IAAA;AAXC,IAAA,IAA+B,OAAO,GAAA;QACpC,MAAM,OAAO,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC;AACjD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3B;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxB;AACA,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1B;;+GAdW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yLAHvB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6eAAA,CAAA,EAAA,CAAA,CAAA;;4FAG1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,YACjB,2BAA2B,EAAA,MAAA,EAAA,CAAA,6eAAA,CAAA,EAAA;8BAI5B,SAAS,EAAA,CAAA;sBAAjB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAE8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;;;MCJd,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,MAAM,GAAY,MAAM;QACxB,IAAA,CAAA,MAAM,GAAa,KAAK;QACxB,IAAA,CAAA,MAAM,GAAuC,MAAM;QACnD,IAAA,CAAA,OAAO,GAAa,IAAI;QACxB,IAAA,CAAA,MAAM,GAAa,KAAK;QACxB,IAAA,CAAA,MAAM,GAAa,IAAI;AACjC,IAAA;+GAPY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,iLCRnC,kVASA,EAAA,MAAA,EAAA,CAAA,86CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDDa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kVAAA,EAAA,MAAA,EAAA,CAAA,86CAAA,CAAA,EAAA;8BAG5B,MAAM,EAAA,CAAA;sBAAd;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,MAAM,EAAA,CAAA;sBAAd;;;MENU,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,QAAQ,GAAY,IAAI;QACxB,IAAA,CAAA,OAAO,GAAY,IAAI;QACvB,IAAA,CAAA,KAAK,GAAY,KAAK;QACtB,IAAA,CAAA,SAAS,GAA2B,KAAK;AACnD,IAAA;+GALY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,uJCRrC,2XAcA,EAAA,MAAA,EAAA,CAAA,gzBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDNa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,mBAAmB,EAAA,aAAA,EAGd,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,2XAAA,EAAA,MAAA,EAAA,CAAA,gzBAAA,CAAA,EAAA;8BAG5B,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;MELU,wBAAwB,CAAA;AAGnC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,MAAM,OAAO,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,CAAC;AAChE,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1B;;+GANW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,6IAHzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4GAAA,CAAA,EAAA,CAAA,CAAA;;4FAG1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,YACnB,2BAA2B,EAAA,MAAA,EAAA,CAAA,4GAAA,CAAA,EAAA;8BAI5B,KAAK,EAAA,CAAA;sBAAb;gBAE8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;;;MCyBd,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBATxB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,sBAAsB;YACtB,wBAAwB;YACxB,eAAe;AACf,YAAA,mBAAmB,aAnBnB,YAAY;AACZ,YAAA,YAAY,aAGZ,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,sBAAsB;YACtB,wBAAwB;YACxB,eAAe;YACf,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAYV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAtBxB,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAqBH,eAAe,EAAA,UAAA,EAAA,CAAA;kBAxB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;wBACtB,sBAAsB;wBACtB,wBAAwB;wBACxB,eAAe;wBACf,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;wBACtB,sBAAsB;wBACtB,wBAAwB;wBACxB,eAAe;wBACf,mBAAmB;AACpB,qBAAA;AACF,iBAAA;;;MC3BY,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;AAUY,QAAA,IAAA,CAAA,UAAU,GAA6B,IAAI,YAAY,EAAc;AAC/E,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;AASxB,IAAA;AAPC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,OAAO,CAAC,kBAAkB,EAAE,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACtE;AAEwC,IAAA,WAAW,CAAC,CAAa,EAAA;AAC/D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB;+GAdW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,6dCPpC,mJAIA,EAAA,MAAA,EAAA,CAAA,q9GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,mJAAA,EAAA,MAAA,EAAA,CAAA,q9GAAA,CAAA,EAAA;8BAKnB,QAAQ,EAAA,CAAA;sBAAhB;gBAIS,UAAU,EAAA,CAAA;sBAAnB;gBAG8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAIe,WAAW,EAAA,CAAA;sBAAlD,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;;AEnBxC;AAWA,MAAMG,UAAQ,GAAa;AACzB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,MAAM,EAAE,GAAG;CACZ;AAOD;;;AAGG;MAiBU,kBAAkB,CAAA;AAhB/B,IAAA,WAAA,GAAA;QAiBW,IAAA,CAAA,QAAQ,GAAmB,OAAO;QAC3C,IAAA,CAAA,OAAO,GAAG,KAAK,EAA8D;AAC7E,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,KAAK,CAAC;QACrB,IAAA,CAAA,MAAM,GAA2B,YAAY;AAEtD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAc,OAAO,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACtB,YAAA,OAAOA,UAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/B,QAAA,CAAC,CAAC;AACF,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;AACvB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAiC,IAAI,CAAC;;AAEjE,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAiB,MAAK;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,EAAE,cAAc;YAEjE,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,IAAI,CAAC,QAAQ;YACtB;YAEA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAEnD,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,IAAG;gBAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;AAC1C,gBAAA,OAAO,GAAG,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO;AAC9C,oBAAA,GAAG,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO;AACvC,oBAAA,GAAG,CAAC,QAAQ,KAAK,eAAe,CAAC,QAAQ;AACzC,oBAAA,GAAG,CAAC,QAAQ,KAAK,eAAe,CAAC,QAAQ;AAC3C,YAAA,CAAC,CAAC;AAEF,YAAA,QAAQ,kBAAkB,IAAI,IAAI,CAAC,QAAQ;AAC7C,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAyC;AAClD,YAAA,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACtF,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACrG,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AACzG,YAAA,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACtF,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACrG,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AACzG,YAAA,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACpF,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACvG,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AACrG,YAAA,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;YACrF,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACxG,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;SACvG;AAED;;;AAGG;QACH,IAAA,CAAA,oBAAoB,GAAG,MAA0B;YAC/C,MAAM,kBAAkB,GAAG,+CAA+C;AAC1E,YAAA,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;;;AAI5E,YAAA,MAAM,sBAAsB,GAAG;AAC7B,gBAAA,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;AAC9B,gBAAA,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;AAC/B,gBAAA,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC;AAC9B,gBAAA,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC;aAC/B;;AAGD,YAAA,MAAM,0BAA0B,GAAG;AACjC,gBAAA,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC;AAC7B,gBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC;AAC9B,gBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC;AAC/B,gBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC;aAChC;YAED,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC;YAEjG,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,eAAe,IAAG;gBAC3D,MAAM,OAAO,GAAG,eAAe,GAAG,GAAG,GAAG,EAAE;AAC1C,gBAAA,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,eAAe;AAC5D,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;AAC3C,YAAA,CAAC,CAAC;AAEF,YAAA,OAAO,aAAa;AACtB,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,MAAK;AAEnC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAiB;YAE7C,IAAI,CAAC,OAAO,EAAE;gBACZ;YACF;YAEA,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACzD,gBAAA,OAAO,CAAC,OAAO,GAAG,SAAS;AAC3B,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS;AAEhC,gBAAA,IAAI,OAAO;AAEX,gBAAA,OAAO,CAAC,YAAY,GAAG,MAAW;AAChC,oBAAA,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;AAC9B,gBAAA,CAAC;;AAGD,gBAAA,OAAO,CAAC,YAAY,GAAG,CAAC,CAAa,KAAU;AAC7C,oBAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;AAE5B,oBAAA,MAAM,aAAa,GAAI,CAAC,CAAC,aAA6B;AACtD,oBAAA,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAC9K,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;oBACxB;AACF,gBAAA,CAAC;YACH;YAEA,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC/C,gBAAA,OAAO,CAAC,YAAY,GAAG,SAAS;AAChC,gBAAA,OAAO,CAAC,YAAY,GAAG,SAAS;AAEhC,gBAAA,OAAO,CAAC,OAAO,GAAG,MAAW;AAC3B,oBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;AACnC,gBAAA,CAAC;YACH;AACF,QAAA,CAAC,CAAC;AAmBH,IAAA;IAjBC,WAAW,GAAA;AACT,QAAA,OAAO,MAAM,CAAC,UAAU,CAAC,MAAK;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACpB;IAGA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB;IACF;+GA1IW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1C/B,svBAoBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDUc;YACV,OAAO,CAAC,eAAe,EAAE;gBACvB,UAAU,CAAC,QAAQ,EAAE;AACnB,oBAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBACxC,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBACxC,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,UAAA,EAGV;wBACV,OAAO,CAAC,eAAe,EAAE;4BACvB,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACrB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BACxC,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BACxC,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,svBAAA,EAAA;8BAGQ,QAAQ,EAAA,CAAA;sBAAhB;gBAGQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;;;MErBU,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAPxB,kBAAkB;AAClB,YAAA,uBAAuB,aAVvB,YAAY;YACZ,eAAe;AACf,YAAA,aAAa,aAGb,kBAAkB;YAClB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAUd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAAA,SAAA,EAJf;YACT,OAAO;AACR,SAAA,EAAA,OAAA,EAAA,CAdC,YAAY;YACZ,eAAe;YACf,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAcJ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,OAAO;AACR,qBAAA;AACF,iBAAA;;;ACnBD,MAAMD,UAAQ,GAAa;AACzB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,MAAM,EAAE,GAAG;CACZ;AAGD,MAAME,aAAW,GAAyC;IACxD,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;IACjG,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;IAClG,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;AACnG,IAAA,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACpF,IAAA,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;CACtF;AAED,MAAM,YAAY,GAAG,CAAC,KAAc,OACjC,OAAO,CAAE,KAAiC,CAAC,aAAa,CAAC,EAC3D;MAmBY,uBAAuB,CAAA;AAjBpC,IAAA,WAAA,GAAA;AAqBE,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE;AACzB,YAAA,SAAS,EAAE,CAAC,QAAoD,KAAsB;AACpF,gBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;AAC1B,oBAAA,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC;gBACvC;AACA,gBAAA,OAAO,QAAQ;YACjB,CAAC;AACF,SAAA,CAAC;QACO,IAAA,CAAA,KAAK,GAAG,EAAE;AACnB,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AACrB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAiB,OAAO,CAAC;AACzC,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAACA,aAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACzD,IAAA,CAAA,KAAK,GAAsB,MAAM;QACjC,IAAA,CAAA,QAAQ,GAAY,GAAG;QACvB,IAAA,CAAA,YAAY,GAAY,IAAI;AAC3B,QAAA,IAAA,CAAA,UAAU,GAA6B,IAAI,YAAY,EAAc;AAC/E,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAc,OAAO,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAMF,UAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AASjD,IAAA;AAPC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,OAAO,CAAC,kBAAkB,EAAE,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACtE;AAEwC,IAAA,WAAW,CAAC,CAAa,EAAA;AAC/D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB;+GA7BW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CpC,sTAUA,EAAA,MAAA,EAAA,CAAA,28DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDoBc;YACV,OAAO,CAAC,eAAe,EAAE;gBACvB,UAAU,CAAC,QAAQ,EAAE;AACnB,oBAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBACxC,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBACxC,CAAC;aACH,CAAC;AACH,SAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjBnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB;wBACV,OAAO,CAAC,eAAe,EAAE;4BACvB,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACrB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BACxC,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BACxC,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,sTAAA,EAAA,MAAA,EAAA,CAAA,28DAAA,CAAA,EAAA;8BAI8B,SAAS,EAAA,CAAA;sBAAvC,WAAW;uBAAC,gBAAgB;gBAUpB,KAAK,EAAA,CAAA;sBAAb;gBAIQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACS,UAAU,EAAA,CAAA;sBAAnB;gBAI8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAIe,WAAW,EAAA,CAAA;sBAAlD,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;;AE3DxC,MAAM,QAAQ,GAAa;AACzB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,MAAM,EAAE,GAAG;CACZ;AAED,MAAM,aAAa,GAAG,CAAC,IAAiB,KAAY;AAClD,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAGD,MAAM,WAAW,GAAyC;IACxD,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;IAClG,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;AACnG,IAAA,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACpF,IAAA,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACrF,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;CAClG;AAGD;;;AAGG;MAKU,kBAAkB,CAAA;AAJ/B,IAAA,WAAA,GAAA;;AAQU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;;AAIhC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAyB,SAAS,CAAC;AACtD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAoD,SAAS,CAAC;;;;;;AAWzF;;;AAGG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,aAAa,EAAE;AACnC,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA,CAAC;AAEF;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAiB,OAAO,EAAE;AACxC,YAAA,KAAK,EAAE,mBAAmB;AAC3B,SAAA,CAAC;AAEF;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,GAAG,EAAE;AAC5B,YAAA,KAAK,EAAE,qBAAqB;AAC7B,SAAA,CAAC;AAEF;;;;;;AAMG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE;AACnB,YAAA,SAAS,EAAE,aAAa;AACxB,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA,CAAC;AAEF;;AAEG;AACH,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE;AACzB,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA,CAAC;AAGF,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;AACpB,YAAA,KAAK,EAAE,kBAAkB;AAC1B,SAAA,CAAC;;AAIF,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAsB,MAAK;;;AAGtD,YAAA,MAAM,0BAA0B,GAAG;gBACjC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;gBAC5C,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;gBAC5C,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;aAC5C;YAED,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1E,YAAA,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAEhF,YAAA,OAAO,kBAAkB;AAC3B,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;YAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YACtD,MAAM,UAAU,GAAG,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;YACvE,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC7E,YAAA,OAAO,iBAAiB;AAC1B,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAgB,OAAO;AAC7C,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzC,YAAA,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACnE,YAAA,mBAAmB,EAAE,IAAI;AAC1B,SAAA,CAAC,CAAC;;AAIH,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,MAAK;AAEnC,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAEnD,YAAA,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAK;gBAChD,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,CAAC,CAAC;AAEF,YAAA,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAK;gBAChD,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;AAsCF,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,MAAK;AAEjC,YAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE;AACrC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,IAAG;AAE1F,gBAAA,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc;gBAEjD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9C,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,IAAG;AAChD,oBAAA,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC;AAE7B,oBAAA,OAAO,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO;AAC1C,wBAAA,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO;AACnC,wBAAA,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;AACrC,wBAAA,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;AACvC,gBAAA,CAAC,CAAC;gBAEF,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;oBACxD,IAAI,CAAC,UAAU,EAAE,EAAE,iBAAiB,CAAC,aAAa,EAAE;gBACtD;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAaH,IAAA;IAvEC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAExF,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACnD;IAKA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACpC;QACF;AAEI,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;QACxC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAE1D,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB;QACF;QAEA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;YAE/B,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1C,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,UAAU,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;AACxD,YAAA,UAAU,CAAC,iBAAiB,CAAC,aAAa,EAAE;AAC9C,QAAA,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACpB;IA6BA,WAAW,GAAA;AACT,QAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;AACxC,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS;AAC/B,QAAA,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;IAChC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE;QACrC,IAAI,CAAC,WAAW,EAAE;IACpB;+GAzLW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,OAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;AC7BD;;;;AAIG;MAMU,kBAAkB,CAAA;AAL/B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,KAAK,GAAqB,MAAM;QAChC,IAAA,CAAA,QAAQ,GAAmB,OAAO;QAClC,IAAA,CAAA,QAAQ,GAAY,GAAG;QACvB,IAAA,CAAA,SAAS,GAAa,KAAK;;QAE3B,IAAA,CAAA,MAAM,GAAY,KAAK;AAIhC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAc,OAAO,CAAC;AAcpC,IAAA;AAZC,IAAA,IAA+B,OAAO,GAAA;QACpC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACvF;;AAEA;;;AAGE;AACF,IAAA,IAA+B,SAAS,GAAA;AACtC,QAAA,OAAO,EAAE;IACX;;+GAvBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,ooCClB/B,0MAOA,EAAA,MAAA,EAAA,CAAA,wQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDWa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,0MAAA,EAAA,MAAA,EAAA,CAAA,wQAAA,CAAA,EAAA;8BAKb,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,MAAM,EAAA,CAAA;sBAAd;gBAEQ,OAAO,EAAA,CAAA;sBAAf;gBAI8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAQM,SAAS,EAAA,CAAA;sBAAvC,WAAW;uBAAC,YAAY;;;MERd,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAPxB,kBAAkB;AAClB,YAAA,uBAAuB,aAbvB,YAAY;YACZ,eAAe;YACf,aAAa;YACb,YAAY;AACZ,YAAA,kBAAkB,aAGlB,kBAAkB;YAClB,uBAAuB;YACvB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAUT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAAA,SAAA,EAJf;YACT,OAAO;AACR,SAAA,EAAA,OAAA,EAAA,CAjBC,YAAY;YACZ,eAAe;YACf,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAiBJ,eAAe,EAAA,UAAA,EAAA,CAAA;kBArB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,YAAY;wBACZ,kBAAkB;AACrB,qBAAA;AACC,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,uBAAuB;wBACvB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,OAAO;AACR,qBAAA;AACF,iBAAA;;;ACVD;AACA;AAGA;;;AAGG;MAYU,qBAAqB,CAAA;AAXlC,IAAA,WAAA,GAAA;QAaU,IAAA,CAAA,aAAa,GAAmB,EAAE;AAE1C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,QAAA,IAAA,CAAA,OAAO,GAAG,eAAe,CAAoB,iBAAiB,CAAC;QAC/D,IAAA,CAAA,iBAAiB,GAAG,eAAe,CAAgC,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC3G,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAmC,UAAU,CAAC;AAC3E,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;AAkB7B,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,MAAK;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,IAAG;AAC9B,gBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;AACxB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,MAAK;YAC5B,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;AA0C3B,IAAA;IAtEC,QAAQ,GAAA;;AAEN,QAAA,MAAM,OAAO,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAClC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9C,oBAAoB,EAAE,CACvB;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,aAAa,KAAI;AAC1D,YAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;AAC7B,QAAA,CAAC,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAG,CAAC;AAC3D,QAAA,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAChE,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B;IAgBA,YAAY,GAAA;QAEV,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAW,CAAC,aAA6B,CAAC,qBAAqB,EAAE;AACxF,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAA4B,CAAC;QAC5F,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa;AAErD,QAAA,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnE,QAAA,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE1C,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,IAAG;AACpD,YAAA,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE;AACjD,YAAA,OAAO,EAAE,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpF,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;AAE7E,QAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YACnE,MAAM,qBAAqB,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,KAAK,KAAK,eAAe,CAAC,WAAW,CAAC;YAEhI,IAAI,CAAC,qBAAqB,EAAE;AAC1B,gBAAA,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC5C;AAEA,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC1C,YAAA,kBAAkB,CAAC,OAAO,CAAC,cAAc,IAAG;AAC1C,gBAAA,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxC,YAAA,CAAC,CAAC;QACJ;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvD;;AAGA,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;IACrC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IACtD;+GA/EW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAKa,iBAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EACK,iBAAiB,EAAA,IAAA,EAAU,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7C1G,8KAIA,EAAA,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED4BI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;+BACE,gBAAgB,EAAA,UAAA,EACd,IAAI,EAAA,OAAA,EACP;wBACP,cAAc;wBACd,eAAe;qBAChB,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8KAAA,EAAA,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA;;;ME7BpC,gBAAgB,CAAA;AAN7B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,KAAK,GAA2E,SAAS;QACzF,IAAA,CAAA,OAAO,GAAmC,UAAU;QACpD,IAAA,CAAA,KAAK,GAAY,EAAE;QACnB,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,SAAS,GAAa,KAAK;AAgBrC,IAAA;AAdC,IAAA,IAA0B,QAAQ,GAAA;AAChC,QAAA,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACzD;IAEA,SAAS,GAAA;QACP,IAAI,IAAI,GAAG,IAAI;AACf,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QACnC;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC3F;AACA,QAAA,OAAO,IAAI;IACb;+GApBW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,kNCR7B,mHAIA,EAAA,MAAA,EAAA,CAAA,02CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDIa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACE,UAAU,EAAA,eAAA,EAGH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mHAAA,EAAA,MAAA,EAAA,CAAA,02CAAA,CAAA,EAAA;8BAGtC,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEyB,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;;;MECT,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,CAHtB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CANhB,YAAY,aAGZ,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAMP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YATtB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,gBAAgB;AACjB,qBAAA;AACF,iBAAA;;;MCRY,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;;AAWY,QAAA,IAAA,CAAA,KAAK,GAAwB,IAAI,YAAY,EAAS;AASjE,IAAA;AAPC,IAAA,WAAW,CAAC,GAAU,EAAA;QACpB,GAAG,CAAC,eAAe,EAAE;AACrB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QAClC;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IACtB;+GAdW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,iKCP7B,uPAKA,EAAA,MAAA,EAAA,CAAA,2NAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,uPAAA,EAAA,MAAA,EAAA,CAAA,2NAAA,CAAA,EAAA;8BAKX,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAES,KAAK,EAAA,CAAA;sBAAd;;;MEJU,sBAAsB,CAAA;IAGjC,kBAAkB,GAAA;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;YACnC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,gBAAA,KAAK,CAAC,IAAI,GAAG,IAAI;YACnB;AACF,QAAA,CAAC,CAAC;IACJ;+GATW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,QAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAChB,gBAAgB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJvB,6CAA6C,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gEAAA,CAAA,EAAA,CAAA,CAAA;;4FAG5C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,YAChB,6CAA6C,EAAA,MAAA,EAAA,CAAA,gEAAA,CAAA,EAAA;8BAIpB,MAAM,EAAA,CAAA;sBAAxC,eAAe;uBAAC,gBAAgB;;;MCWtB,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAJ5B,sBAAsB;AACtB,YAAA,gBAAgB,aAThB,YAAY;AACZ,YAAA,YAAY,aAGZ,sBAAsB;YACtB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAOP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAZ5B,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAWH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,gBAAgB;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,gBAAgB;AACjB,qBAAA;AACF,iBAAA;;;AClBD;MAyBa,0BAA0B,CAAA;AAIrC,IAAA,WAAA,CACW,WAAoC,EAAA;QAApC,IAAA,CAAA,WAAW,GAAX,WAAW;;QAKb,IAAA,CAAA,IAAI,GAAoC,eAAe;;QAGvD,IAAA,CAAA,IAAI,GAAuB,QAAQ;;QAGnC,IAAA,CAAA,KAAK,GAAoE,SAAS;;QAGlF,IAAA,CAAA,SAAS,GAAY,KAAK;QAa3B,IAAA,CAAA,MAAM,GAAW,CAAC;QAClB,IAAA,CAAA,SAAS,GAAG,EAAE;QACd,IAAA,CAAA,YAAY,GAAW,CAAC;IA3BhC;;AAeA,IAAA,IACI,KAAK,GAAA;;QAEP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,CAAS,EAAA;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD;;AAOA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC;gBACrB;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC;gBACrB;;QAEJ,OAAO,IAAI,CAAC,SAAS;IACvB;;IAGA,aAAa,GAAA;QACX,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC;IACjC;;IAGA,QAAQ,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY;AAC5D,QAAA,OAAO,CAAA,IAAA,EAAO,OAAO,CAAA,CAAA,EAAI,OAAO,EAAE;IACpC;;IAGA,oBAAoB,GAAA;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;IAC3C;;IAGA,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;AAC/B,YAAA,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG;QAClE;AACA,QAAA,OAAO,IAAI;IACb;;IAGA,kBAAkB,GAAA;QAChB,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG;IAClD;+GA9EW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,qvBC3BvC,upEAqDA,EAAA,MAAA,EAAA,CAAA,07GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,CAAA;;4FD1Ba,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAxBtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,IAAA,EAEzB;AACJ,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,OAAO,EAAE,qBAAqB;AAC9B,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,gCAAgC,EAAE,0BAA0B;AAC5D,wBAAA,wBAAwB,EAAE,kBAAkB;AAC5C,wBAAA,6BAA6B,EAAE,gBAAgB;AAC/C,wBAAA,kBAAkB,EAAE,UAAU;AAC9B,wBAAA,mBAAmB,EAAE,UAAU;;;AAG/B,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,sBAAsB,EAAE,uCAAuC;AAC/D,wBAAA,aAAa,EAAE,MAAM;AACtB,qBAAA,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,upEAAA,EAAA,MAAA,EAAA,CAAA,07GAAA,CAAA,EAAA;+EAIJ,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB;gBAQtB,IAAI,EAAA,CAAA;sBAAZ;gBAGQ,IAAI,EAAA,CAAA;sBAAZ;gBAGQ,KAAK,EAAA,CAAA;sBAAb;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBAIG,KAAK,EAAA,CAAA;sBADR;;;MExCU,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;QAUW,IAAA,CAAA,KAAK,GAAuF,SAAS;QACrG,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,OAAO,GAAgD,OAAO;QAE9D,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,SAAS,GAAa,KAAK;AAoBrC,IAAA;AA7BC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACjG;IAWA,cAAc,GAAA;AACZ,QAAA,QAAQ,IAAI,CAAC,KAAK;AAChB,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK;AACnB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,KAAK;AACd,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,QAAQ;AACjB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,OAAO;AAChB,YAAA;AACE,gBAAA,OAAO,SAAS;;IAEtB;+GA7BW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,iRCT9B,+cAOA,EAAA,MAAA,EAAA,CAAA,07OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,+cAAA,EAAA,MAAA,EAAA,CAAA,07OAAA,CAAA,EAAA;8BAKU,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAIhB,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;MEfU,iBAAiB,CAAA;AAC5B,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;;;;;;;;;;;;;;AAkBhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GAxBW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACvB,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;MA8BT,wBAAwB,CAAA;AACnC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;AAGhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GATW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;MAcT,0BAA0B,CAAA;AACrC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;AAGhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GATW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;MAcT,uBAAuB,CAAA;AAClC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;AAGhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GATW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;MAcT,wBAAwB,CAAA;AACnC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;AAGhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GATW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;ACzEtB;MAoBa,sBAAsB,CAAA;IAIjC,WAAA,CACW,WAAoC,EACrC,kBAAqC,EAAA;QADpC,IAAA,CAAA,WAAW,GAAX,WAAW;QACZ,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;;QAKnB,IAAA,CAAA,IAAI,GAA+C,eAAe;;QAGlE,IAAA,CAAA,KAAK,GAAyD,SAAS;;QAGvE,IAAA,CAAA,SAAS,GAAY,KAAK;QAe3B,IAAA,CAAA,MAAM,GAAW,CAAC;QAclB,IAAA,CAAA,YAAY,GAAG,CAAC;IAtCxB;;AAYA,IAAA,IACI,KAAK,GAAA;;QAEP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,CAAS,EAAA;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;;AAE3B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxC;;AAKA,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC;IAC/B;IAEA,IAAI,WAAW,CAAC,CAAS,EAAA;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;;AAEjC,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxC;;IAKA,uBAAuB,GAAA;AACrB,QAAA,OAAO,UAAU,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG;IACpE;;IAGA,sBAAsB,GAAA;AACpB,QAAA,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG;IAC9D;;IAGA,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe;IACtC;+GA7DW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,4qBC9BnC,4tBAkBA,EAAA,MAAA,EAAA,CAAA,+rLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDYa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAnBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,IAAA,EAErB;AACJ,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,OAAO,EAAE,mDAAmD;AAC5D,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,gCAAgC,EAAE,0BAA0B;AAC5D,wBAAA,6BAA6B,EAAE,gBAAgB;AAC/C,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,sBAAsB,EAAE,mCAAmC;AAC3D,wBAAA,aAAa,EAAE,MAAM;AACtB,qBAAA,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4tBAAA,EAAA,MAAA,EAAA,CAAA,+rLAAA,CAAA,EAAA;+GAIJ,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB;gBAStB,IAAI,EAAA,CAAA;sBAAZ;gBAGQ,KAAK,EAAA,CAAA;sBAAb;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBAIG,KAAK,EAAA,CAAA;sBADR;gBAgBG,WAAW,EAAA,CAAA;sBADd;;AA6BH;AACA,SAAS,KAAK,CAAC,CAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAA;AAC1C,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACxC;;ME9Ea,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAJzB,sBAAsB;YACtB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAR1B,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,sBAAsB;YACtB,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAOjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAXzB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAWH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,0BAA0B;AAC3B,qBAAA;AACF,iBAAA;;;MCmBY,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBARvB,iBAAiB;YACjB,iBAAiB;AACjB,YAAA,uBAAuB;YACvB,wBAAwB;YACxB,0BAA0B;AAC1B,YAAA,wBAAwB,aAlBxB,YAAY;YACZ,YAAY;AACZ,YAAA,gBAAgB,aAGhB,iBAAiB;YACjB,iBAAiB;AACjB,YAAA,uBAAuB;YACvB,wBAAwB;YACxB,0BAA0B;YAC1B,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAWf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YArBvB,YAAY;YACZ,YAAY;YACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FAmBP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAvB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,iBAAiB;AACjB,wBAAA,uBAAuB;wBACvB,wBAAwB;wBACxB,0BAA0B;wBAC1B,wBAAwB;AACzB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,iBAAiB;AACjB,wBAAA,uBAAuB;wBACvB,wBAAwB;wBACxB,0BAA0B;wBAC1B,wBAAwB;AACzB,qBAAA;AACF,iBAAA;;;MC1BY,2BAA2B,CAAA;AActC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5H;;AAEA,IAAA,WAAA,GAAA;QAbS,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,KAAK,GAAuF,OAAO;QACnG,IAAA,CAAA,aAAa,GAAuF,SAAS;QAC7G,IAAA,CAAA,aAAa,GAAiC,YAAY;;AAEzD,QAAA,IAAA,CAAA,KAAK,GAAyB,IAAI,YAAY,EAAU;IAOlE;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B;IACF;+GAzBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,oXCVxC,wTASA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDCa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,wTAAA,EAAA;wDAKxB,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBAES,KAAK,EAAA,CAAA;sBAAd;gBAE8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;;;MEUd,sBAAsB,CAAA;AACjC,IAAA,IAA+B,OAAO,GAAA;QACpC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9E;;AAYA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,QAAkB,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5B;AAEA,IAAA,WAAA,CAAoB,KAAwB,EAAA;QAAxB,IAAA,CAAA,KAAK,GAAL,KAAK;QAnBhB,IAAA,CAAA,MAAM,GAAyB,OAAO;QACtC,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,QAAQ,GAAa,KAAK;QAI3B,IAAA,CAAA,aAAa,GAAmB,EAAE;;AAEhC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAY;QAe/C,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;IAJD;AAMA,IAAA,gBAAgB,CAAC,EAA6B,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,UAAU,CAAC,KAAe,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;;AAGA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;IAEA,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;AAEA,IAAA,WAAW,CAAC,KAAe,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,IAAG;AAClC,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACzC,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;gBACxB;AACA,gBAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACvB,gBAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,oBAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;gBAC3B;AACA,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;gBAC3C;AACA,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACjC;gBACA,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;AACtC,oBAAA,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ;oBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAG;AACvC,wBAAA,IAAI,EAAE,CAAC,QAAQ,EAAE;4BACf,OAAO,EAAE,CAAC,KAAK;wBACjB;6BAAO;AACL,4BAAA,OAAO,IAAI;wBACb;AACF,oBAAA,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAClB,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACvB,gBAAA,CAAC,CAAC;AACF,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,YAAA,CAAC,CAAC;QACJ;IACF;+GAtGW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EARtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAYgB,2BAA2B,qEApBlC,qEAAqE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,oiDAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUpE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,YAEjB,qEAAqE,EAAA,aAAA,EAChE,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,oiDAAA,CAAA,EAAA;sFAG8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAIhB,MAAM,EAAA,CAAA;sBAAd;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACoE,aAAa,EAAA,CAAA;sBAAjF,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAGzD,MAAM,EAAA,CAAA;sBAAf;gBAGG,KAAK,EAAA,CAAA;sBADR;;;MCfU,uBAAuB,CAAA;AAClC,IAAA,IAA+B,OAAO,GAAA;QACpC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/E;;AAYA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,QAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5B;AAEA,IAAA,WAAA,CAAoB,KAAwB,EAAA;QAAxB,IAAA,CAAA,KAAK,GAAL,KAAK;QAnBhB,IAAA,CAAA,MAAM,GAAyB,OAAO;QACtC,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,QAAQ,GAAa,KAAK;QAI3B,IAAA,CAAA,aAAa,GAAmB,EAAE;;AAEhC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU;QAe7C,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;IAJD;AAMA,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;;AAGA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;IAEA,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;;;AAIA,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IACzB;AAEA,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,IAAG;gBAClC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAC/B,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;gBACxB;AACA,gBAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACvB,gBAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,oBAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;gBAC3B;AACA,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;gBAC3C;AACA,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACjC;gBACA,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;oBACtC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,wBAAA,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ;oBACpC;yBAAO;AACL,wBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAG;AAC7B,4BAAA,CAAC,CAAC,QAAQ,GAAG,KAAK;AACpB,wBAAA,CAAC,CAAC;AACF,wBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;oBACxB;AACA,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK;AAC3D,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AACtB,gBAAA,CAAC,CAAC;AACF,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,YAAA,CAAC,CAAC;QACJ;IACF;+GA7GW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EARvB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAYgB,2BAA2B,qEApBlC,qEAAqE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gkDAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUpE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,YAElB,qEAAqE,EAAA,aAAA,EAChE,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,gkDAAA,CAAA,EAAA;sFAG8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAIhB,MAAM,EAAA,CAAA;sBAAd;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACoE,aAAa,EAAA,CAAA;sBAAjF,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAGzD,MAAM,EAAA,CAAA;sBAAf;gBAGG,KAAK,EAAA,CAAA;sBADR;;;MC5BU,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAR7B,uBAAuB;AACvB,YAAA,2BAA2B,aAG3B,cAAc;AACd,YAAA,YAAY,aATZ,uBAAuB;YACvB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAWlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAJ7B,cAAc;YACd,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGH,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,YAAY;AACb,qBAAA;AACF,iBAAA;;;MCAY,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAR5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAGtB,cAAc;YACd,YAAY;AACZ,YAAA,oBAAoB,aARpB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAWb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAL5B,cAAc;YACd,YAAY;YACZ,oBAAoB,CAAA,EAAA,CAAA,CAAA;;4FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,YAAY;wBACZ,oBAAoB;AACrB,qBAAA;AACF,iBAAA;;;MCZY,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;;AAYY,QAAA,IAAA,CAAA,MAAM,GAAkC,IAAI,YAAY,EAAmB;AACtF,IAAA;+GARY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,0MCP5B,ieAYA,EAAA,MAAA,EAAA,CAAA,s/BAAA,CAAA,EAAA,CAAA,CAAA;;4FDLa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,ieAAA,EAAA,MAAA,EAAA,CAAA,s/BAAA,CAAA,EAAA;8BAKV,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBAES,MAAM,EAAA,CAAA;sBAAf;;;MELU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,8FCTrC,qIAGA,EAAA,MAAA,EAAA,CAAA,mOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,mOAAA,CAAA,EAAA;8BAKf,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;;;MEJU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,oGCPlC,8KAKA,EAAA,MAAA,EAAA,CAAA,kOAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,8KAAA,EAAA,MAAA,EAAA,CAAA,kOAAA,CAAA,EAAA;8BAKjB,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;MEDU,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,uDAJvB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iytBAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,SAAA,EAAA,CAAA,CAAA;;4FAI1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,QAAA,EACjB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,SAAS,EAAA,MAAA,EAAA,CAAA,iytBAAA,CAAA,EAAA;;;MCE/B,qBAAqB,CAAA;AAChC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;;;;AAQhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GAdW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,uGAHtB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAG1B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,YAChB,2BAA2B,EAAA;iFAIX,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MCAT,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,SAAS,GAA6F,SAAS;AACzH,IAAA;+GALY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,4JCTlC,mXASA,EAAA,MAAA,EAAA,CAAA,+qFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDAa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,mXAAA,EAAA,MAAA,EAAA,CAAA,+qFAAA,CAAA,EAAA;8BAKjB,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;MEsBU,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBARrB,qBAAqB;YACrB,qBAAqB;YACrB,sBAAsB;YACtB,wBAAwB;YACxB,qBAAqB;AACrB,YAAA,eAAe,aAlBf,YAAY;YACZ,YAAY;AACZ,YAAA,cAAc,aAGd,qBAAqB;YACrB,qBAAqB;YACrB,sBAAsB;YACtB,wBAAwB;YACxB,qBAAqB;YACrB,eAAe,CAAA,EAAA,CAAA,CAAA;AAWN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YArBrB,YAAY;YACZ,YAAY;YACZ,cAAc,CAAA,EAAA,CAAA,CAAA;;4FAmBL,YAAY,EAAA,UAAA,EAAA,CAAA;kBAvBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,qBAAqB;wBACrB,qBAAqB;wBACrB,sBAAsB;wBACtB,wBAAwB;wBACxB,qBAAqB;AACrB,wBAAA,eAAe;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,qBAAqB;wBACrB,sBAAsB;wBACtB,wBAAwB;wBACxB,qBAAqB;AACrB,wBAAA,eAAe;AAChB,qBAAA;AACF,iBAAA;;;MCrBY,mBAAmB,CAAA;AAVhC,IAAA,WAAA,GAAA;QAYW,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,IAAI,GAAyB,QAAQ;QACrC,IAAA,CAAA,KAAK,GAA4B,SAAS;QAE1C,IAAA,CAAA,OAAO,GAAY,KAAK;;AAgBvB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW;QAG9C,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;AA4BF,IAAA;AA9CC,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO;YACL,aAAa;AACb,YAAA,IAAI,CAAC,KAAK;AACV,YAAA,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE;YAC7B,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,eAAe,GAAG,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;SAChC;IACH;AAWA,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAC5B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B;YACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC;IACF;+GArDW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2MANnB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,mBAAmB;AAChC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,0BCXJ,wcAgBA,EAAA,MAAA,EAAA,CAAA,w0HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDHa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,aAGZ,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,mBAAqB;AAChC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,wcAAA,EAAA,MAAA,EAAA,CAAA,w0HAAA,CAAA,EAAA;8BAGO,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAaQ,OAAO,EAAA,CAAA;sBAAf;gBAGS,MAAM,EAAA,CAAA;sBAAf;;;MEhBU,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CARnB,YAAY;YACZ,mBAAmB;AACnB,YAAA,WAAW,aAGX,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAMV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAXzB,YAAY;YACZ,mBAAmB;YACnB,WAAW,CAAA,EAAA,CAAA,CAAA;;4FASF,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;AACZ,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;AACpB,qBAAA;AACF,iBAAA;;;MCTY,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,OAAO,GAAoD,SAAS;QACpE,IAAA,CAAA,KAAK,GAAoE,OAAO;QAOhF,IAAA,CAAA,QAAQ,GAAI,IAAI;QAChB,IAAA,CAAA,UAAU,GAAa,IAAI;;AAE1B,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,YAAY,EAAQ;;AAEpD,QAAA,IAAA,CAAA,MAAM,GAAkC,IAAI,YAAY,EAAmB;AAQtF,IAAA;AANC,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACnB;IACF;+GAtBW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,4UCT5B,oyBA0BA,EAAA,MAAA,EAAA,CAAA,6kOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,oyBAAA,EAAA,MAAA,EAAA,CAAA,6kOAAA,CAAA,EAAA;8BAKV,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBAES,KAAK,EAAA,CAAA;sBAAd;gBAES,MAAM,EAAA,CAAA;sBAAf;;;MEJU,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAZ,YAAY,EAAA,YAAA,EAAA,CAHjB,eAAe,CAAA,EAAA,OAAA,EAAA,CARf,YAAY;YACZ,YAAY;AACZ,YAAA,kBAAkB,aAGlB,eAAe,CAAA,EAAA,CAAA,CAAA;AAMV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAXjB,YAAY;YACZ,YAAY;YACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;;4FASb,YAAY,EAAA,UAAA,EAAA,CAAA;kBAbxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,eAAe;AAClB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,eAAe;AAClB,qBAAA;AACJ,iBAAA;;;MCJY,iBAAiB,CAAA;AAZ9B,IAAA,WAAA,GAAA;QAeW,IAAA,CAAA,aAAa,GAAqB,KAAK;QACvC,IAAA,CAAA,IAAI,GAAwB,QAAQ;QACpC,IAAA,CAAA,KAAK,GAAyC,SAAS;QAEvD,IAAA,CAAA,OAAO,GAAY,KAAK;;AAGvB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW;QAG9C,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;AA4BF,IAAA;AA1BC,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAC5B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B;YACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC;IACF;+GAzCW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EARjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbH,odAUA,EAAA,MAAA,EAAA,CAAA,u0FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDKa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,SAAA,EAGV;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,odAAA,EAAA,MAAA,EAAA,CAAA,u0FAAA,CAAA,EAAA;8BAGQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAGS,MAAM,EAAA,CAAA;sBAAf;;;MEZU,yBAAyB,CAAA;AAVtC,IAAA,WAAA,GAAA;QAcW,IAAA,CAAA,aAAa,GAAqB,KAAK;QACvC,IAAA,CAAA,YAAY,GAAoC,QAAQ;;AAIvD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW;QAmBvC,IAAA,CAAA,OAAO,GAAG,MAAW;AAC5B,QAAA,CAAC;;AAEM,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAc,KAAU;AAC3C,QAAA,CAAC;AAmBF,IAAA;IAxCwB,OAAO,GAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC;IACF;AAEA,IAAA,IAA+B,OAAO,GAAA;QACpC,OAAO;YACL,oBAAoB;YACpB,CAAA,SAAA,EAAY,IAAI,CAAC,aAAa,CAAA,CAAE;YAChC,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE,CAAC;YAC/B,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;AAClC,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACb;;AAQA,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;+GAlDW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,2VANzB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,yBAAyB;AACtC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,0BCXJ,0qBAeA,EAAA,MAAA,EAAA,CAAA,qqCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDFa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,aAGnB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,yBAA2B;AACtC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,0qBAAA,EAAA,MAAA,EAAA,CAAA,qqCAAA,CAAA,EAAA;8BAGO,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBAEsB,OAAO,EAAA,CAAA;sBAA7B,YAAY;uBAAC,OAAO;gBAQU,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;;;MEhBd,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,CAHvB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CANjB,YAAY,aAGZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAMR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YATvB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;AAClB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;AAClB,qBAAA;AACF,iBAAA;;;MCSY,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAH/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAVzB,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,cAAc;AACd,YAAA,gBAAgB,aAGhB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAMhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAb/B,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,cAAc;YACd,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FASP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAflC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,YAAY;wBACZ,cAAc;wBACd,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACF,iBAAA;;;MCRY,oBAAoB,CAAA;AAVjC,IAAA,WAAA,GAAA;QAYW,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,kBAAkB,GAAa,KAAK;AAEnC,QAAA,IAAA,CAAA,cAAc,GAAwB,IAAI,YAAY,EAAQ;QAU/D,IAAA,CAAA,WAAW,GAAY,YAAY;QAEnC,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,IAAI,GAAwC,MAAM;;QAOpB,IAAA,CAAA,KAAK,GAAa,KAAK;QAgB9D,IAAA,CAAA,eAAe,GAAgB,IAAI;QAE5B,IAAA,CAAA,OAAO,GAAG,MAAW;AAC5B,QAAA,CAAC;;AAEM,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,KAAU;AAC1C,QAAA,CAAC;AA+DF,IAAA;AAlFC,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,QAAgB,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC9B;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC3B;IACF;AAUO,IAAA,OAAO,CAAC,KAAW,EAAA;AACxB,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE;QAChC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAChE,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACvD,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC1D,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC9D,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC;QAC5C;AACA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,IAAI,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,GAAA,CAAK,CAAC;QACnE;AACA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAC;QACxC;IACF;AAEO,IAAA,aAAa,CAAC,QAAgB,EAAA;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC;AAEA,IAAA,SAAS,CAAC,GAAG,EAAA;QACX,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC3D,YAAA,OAAO,KAAK;QACd;AACA,QAAA,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;AACvB,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IACxD;AAEA,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG;IACnB;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,aAAa,CAAC,KAAY,EAAA;QACxB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;IAC5B;+GA5GW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ggBANpB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,0BCbJ,q/BA4BA,EAAA,MAAA,EAAA,CAAA,i1VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDba,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,aAGd,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,oBAAsB;AACjC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,q/BAAA,EAAA,MAAA,EAAA,CAAA,i1VAAA,CAAA,EAAA;8BAIO,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAIQ,UAAU,EAAA,CAAA;sBAAlB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAEsC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;;sBAAG;gBAI3B,KAAK,EAAA,CAAA;sBADR;;;MEtBU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAH1B,oBAAoB,CAAA,EAAA,OAAA,EAAA,CARpB,YAAY;YACZ,YAAY;AACZ,YAAA,mBAAmB,aAGnB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAMX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAX1B,YAAY;YACZ,YAAY;YACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FASV,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;AACrB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;AACrB,qBAAA;AACF,iBAAA;;;ICfW;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC3B,CAAC,EAPW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;MAcV,iBAAiB,CAAA;IAa5B,WAAA,CAAkC,SAAoB,EAAU,UAAsB,EAAA;QAApD,IAAA,CAAA,SAAS,GAAT,SAAS;QAAqB,IAAA,CAAA,UAAU,GAAV,UAAU;AAZjE,QAAA,IAAA,CAAA,KAAK,GAAiF,WAAW,CAAC,UAAU;QAG5G,IAAA,CAAA,SAAS,GAAoE,SAAS;QACtF,IAAA,CAAA,SAAS,GAAa,IAAI;;AAIzB,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,YAAY,EAAQ;QAEtD,IAAA,CAAA,SAAS,GAAG,KAAK;IAGzB;AAEA,IAAA,IAA0B,OAAO,GAAA;AAC/B,QAAA,MAAM,OAAO,GAA+B;AAC1C,YAAA,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,IAAI;YACpC,gBAAgB,EAAE,IAAI,CAAC,SAAS;SACjC;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;AAC5C,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AACtD,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;oBAC5B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBAC9C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AAC3C,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;oBAC5B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;YAC9C;QACF;AAEA,QAAA,OAAO,OAAO;IAChB;IAEU,iBAAiB,GAAA;QACzB,IAAI,CAAC,kBAAkB,EAAE;IAC3B;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QAErB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACnB,CAAC,EAAE,GAAG,CAAC;IACT;+GA1DW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,0RCnB9B,2qBAoBA,EAAA,MAAA,EAAA,CAAA,y0FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDDa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,2qBAAA,EAAA,MAAA,EAAA,CAAA,y0FAAA,CAAA,EAAA;;0BAiBR;kEAZJ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEe,eAAe,EAAA,CAAA;sBAA9B,KAAK;uBAAC,OAAO;gBAEJ,KAAK,EAAA,CAAA;sBAAd;gBAOyB,OAAO,EAAA,CAAA;sBAAhC,WAAW;uBAAC,OAAO;;;AEnCtB;AAQM,MAAO,eAAgB,SAAQ,MAAM,CAAA;AACzC,IAAA,WAAA,CAAoB,OAAgB,EACxB,SAAmB,EACZ,QAAkB,EACkB,aAA2B,EAC/D,oBAAsC,EACb,cAAmB,EAC3B,aAAqB,EAC1B,SAAyB,EAAA;AACtD,QAAA,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,CAAC;QAR3E,IAAA,CAAA,OAAO,GAAP,OAAO;QAER,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAER,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;QAGR,IAAA,CAAA,SAAS,GAAT,SAAS;IAExC;AAEA;;AAEG;AACH,IAAA,UAAU,CAAI,SAA2B,EAAE,MAA+E,EAAE,SAAkB,EAAA;AAC5I,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,aAAa,EAAE,gBAAgB;YAC/B,gBAAgB,EAAE,MAAM,EAAE;kBACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;AAC3B,qBAAA,GAAG,CAAC,KAAK,CAAC;AACV,qBAAA,kBAAkB;kBACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;qBAC3B,GAAG,CAAC,SAAS,GAAG,SAAS,GAAG,MAAM;AAClC,qBAAA,kBAAkB,EAAE;YAC3B,YAAY,EAAE,IAAI;SACnB;QAED,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,eAAe,EAAE;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;;AAG/C,QAAA,IAAI,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE;YACxC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAG;gBACnE,MAAM,sBAAsB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,EAAE;gBAC9E,IAAI,sBAAsB,EAAE;oBAC1B,GAAG,CAAC,eAAe,EAAE;AACrB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;gBACpC;AACF,YAAA,CAAC,CAAC;QACJ;;QAGA,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,KAAK,IAAG;AACrD,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,MAAM,sBAAsB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,EAAE;gBAE9E,IAAI,sBAAsB,EAAE;AAC1B,oBAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;gBACpC;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,eAAe,CAAI,SAA2B,EAAE,MAAqB,EAAE,SAAkB,EAAA;AACvF,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,aAAa,EAAE,gBAAgB;YAC/B,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC,kBAAkB,EAAE;YAC3G,YAAY,EAAE,IAAI;SACnB;QAED,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,eAAe,EAAE;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC;AAEA,IAAA,kBAAkB,CAAC,SAAyB,EAAA;AAC1C,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC,gDAAgD,CAAC;AAE1H,QAAA,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACxE,IAAI,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,EAAE;;gBAEvD,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC5D,IAAI,WAAW,EAAE;AACf,oBAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC7C;YACF;iBAAO;AACL,gBAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC/C;YAEA,UAAU,CAAC,MAAK;gBACd,SAAS,CAAC,KAAK,EAAE;YACnB,CAAC,EAAE,GAAG,CAAC;QACT;IACF;+GArFW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAb,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAIM,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAEjC,sBAAsB,EAAA,EAAA,EAAA,KAAA,EAAAY,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAN/B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAKc;;0BAAY,MAAM;2BAAC,qBAAqB;;0BAExC,MAAM;2BAAC,sBAAsB;;0BAC7B;;0BAAY;;0BACZ;;;MCRF,wBAAwB,CAAA;AACnC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;;AAMhD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GAZW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJzB;AACkB,6BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAGjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACkB,6BAAA,CAAA;AAC5B,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MCDT,wBAAwB,CAAA;AAGnC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;AAK9C,MAAA,CAAA,CAAC;QACJ;aAAO;AACL,YAAA,OAAO,EAAE;QACX;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GAjBW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJzB;AACkB,6BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAGjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACkB,6BAAA,CAAA;AAC5B,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA;iFAEU,MAAM,EAAA,CAAA;sBAAd;gBAEyB,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MCDT,wBAAwB,CAAA;IAuBnC,WAAA,CAA+B,SAAoB,EAAU,UAAsB,EAAA;QAApD,IAAA,CAAA,SAAS,GAAT,SAAS;QAAqB,IAAA,CAAA,UAAU,GAAV,UAAU;QAtB9D,IAAA,CAAA,KAAK,GAAY,SAAS;QAE1B,IAAA,CAAA,SAAS,GAAoE,SAAS;QACtF,IAAA,CAAA,YAAY,GAA0E,SAAS;QAC/F,IAAA,CAAA,WAAW,GAA0E,OAAO;QAC5F,IAAA,CAAA,iBAAiB,GAAY,SAAS;QACtC,IAAA,CAAA,iBAAiB,GAAc,YAAY;QAC3C,IAAA,CAAA,gBAAgB,GAAY,QAAQ;QAEpC,IAAA,CAAA,YAAY,GAAY,eAAe;QAEvC,IAAA,CAAA,qBAAqB,GAAG,IAAI;QAC5B,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,KAAK,GAAgF,aAAa;;AAIjG,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,YAAY,EAAQ;AACpD,QAAA,IAAA,CAAA,OAAO,GAAuB,IAAI,YAAY,EAAQ;QAExD,IAAA,CAAA,SAAS,GAAG,KAAK;IAGzB;AAEA,IAAA,IAA0B,OAAO,GAAA;QAC/B,MAAM,OAAO,GAA+B,EAAE;AAE9C,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;AAC5C,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AACtD,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;oBAC5B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBAC9C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AAC3C,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;oBAC5B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;YAC9C;QACF;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,GAAG,gBAAgB,GAAG,EAAE;IAC/C;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,kBAAkB,EAAE;IAC3B;IAEU,aAAa,GAAA;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACrB;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QAErB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACnB,CAAC,EAAE,GAAG,CAAC;IACT;+GA1EW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAZ,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4mBCVrC,ktCAiDA,EAAA,MAAA,EAAA,CAAA,2qCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvCa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,ktCAAA,EAAA,MAAA,EAAA,CAAA,2qCAAA,CAAA,EAAA;;0BA2BhB;kEAtBJ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAEe,eAAe,EAAA,CAAA;sBAA9B,KAAK;uBAAC,OAAO;gBAEJ,KAAK,EAAA,CAAA;sBAAd;gBACS,OAAO,EAAA,CAAA;sBAAhB;gBAOyB,OAAO,EAAA,CAAA;sBAAhC,WAAW;uBAAC,OAAO;;;ME5BT,uBAAuB,CAAA;AAClC,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;;;;;AAShD,EAAA,CAAA,CAAC;IACF;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAC7B;+GAfW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJxB;AACkB,6BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAGjB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACkB,6BAAA,CAAA;AAC5B,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA;iFAE2B,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MCET,uBAAuB,CAAA;IAqBlC,WAAA,CAA+B,SAAoB,EAAU,UAAsB,EAAA;QAApD,IAAA,CAAA,SAAS,GAAT,SAAS;QAAqB,IAAA,CAAA,UAAU,GAAV,UAAU;AApB9D,QAAA,IAAA,CAAA,KAAK,GAAiF,WAAW,CAAC,UAAU;QAG5G,IAAA,CAAA,SAAS,GAAoE,SAAS;QACtF,IAAA,CAAA,SAAS,GAAa,IAAI;;AAUzB,QAAA,IAAA,CAAA,KAAK,GAAuB,IAAI,YAAY,EAAQ;AACpD,QAAA,IAAA,CAAA,MAAM,GAAuB,IAAI,YAAY,EAAQ;AACrD,QAAA,IAAA,CAAA,eAAe,GAAuB,IAAI,YAAY,EAAQ;QAEhE,IAAA,CAAA,SAAS,GAAG,KAAK;IAGzB;AAEA,IAAA,IAA0B,OAAO,GAAA;QAC/B,MAAM,OAAO,GAA+B,EAAE;AAE9C,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;AAC5C,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AACtD,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;oBAC5B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBAC9C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;AAC3C,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;oBAC5B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;YAC9C;QACF;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,GAAG,gBAAgB,GAAG,EAAE;IAC/C;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,kBAAkB,EAAE;IAC3B;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QAErB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACnB,CAAC,EAAE,GAAG,CAAC;IACT;+GAnEW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,6jBCXpC,87BA6BA,EAAA,MAAA,EAAA,CAAA,ofAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,87BAAA,EAAA,MAAA,EAAA,CAAA,ofAAA,CAAA,EAAA;;0BAyBf;kEApBJ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAEe,eAAe,EAAA,CAAA;sBAA9B,KAAK;uBAAC,OAAO;gBAEJ,KAAK,EAAA,CAAA;sBAAd;gBACS,MAAM,EAAA,CAAA;sBAAf;gBACS,eAAe,EAAA,CAAA;sBAAxB;gBAOyB,OAAO,EAAA,CAAA;sBAAhC,WAAW;uBAAC,OAAO;;;MEhCA,kBAAkB,CAAA;AAEvC;AAED;;AAEG;MAEU,yBAAyB,CAAA;AACrB,IAAA,SAAA,IAAA,CAAA,QAAQ,GAAG;AACxB,QAAA,sBAAsB,EAAE,OAAO;AAC/B,QAAA,oBAAoB,EAAE,eAAe;AACrC,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,mBAAmB,EAAE,KAAK;AAC3B,KALsB,CAKrB;;IAGF,UAAU,CAAC,GAAW,EAAE,MAAgB,EAAA;QACtC,OAAO,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpD;+GAXW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAzB,yBAAyB,EAAA,CAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;ACLD;;AAEG;MAKU,aAAa,CAAA;IAIxB,WAAA,CACU,GAAsB,EACtB,kBAAsC,EAAA;QADtC,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QALpB,IAAA,CAAA,aAAa,GAAoC,EAAE;QACnD,IAAA,CAAA,QAAQ,GAA8B,EAAE;IAMhD;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC5D,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;AAEA,IAAA,SAAS,CAAC,GAAW,EAAE,MAAM,GAAG,KAAK,EAAA;QACnC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,IAAG;AAC5F,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO;;;AAG5B,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,YAAA,CAAC,CAAC;QACJ;QACA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;IACjC;+GA1BW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA;;;MCJY,aAAa,CAAA;AACxB,IAAA,WAAA,CAAqB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAkB;AAEhD,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACrD;+GALW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA;;;ACAD,MAAMC,SAAO,GAAG;IACd,aAAa;IACb,aAAa;CACd;MAYY,WAAW,CAAA;+GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBAdtB,aAAa;AACb,YAAA,aAAa,aADb,aAAa;YACb,aAAa,CAAA,EAAA,CAAA,CAAA;AAaF,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAAA,SAAA,EAPX;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,QAAQ,EAAE,yBAAyB;AACpC,aAAA;AACF,SAAA,EAAA,CAAA,CAAA;;4FAEU,WAAW,EAAA,UAAA,EAAA,CAAA;kBAVvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAEA,SAAO;AACrB,oBAAA,OAAO,EAAEA,SAAO;AAChB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,QAAQ,EAAE,yBAAyB;AACpC,yBAAA;AACF,qBAAA;AACF,iBAAA;;;MCyBY,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBA3BxB,wBAAwB;YACxB,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,uBAAuB;AACvB,YAAA,uBAAuB,aAGvB,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,kBAAkB;YAClB,YAAY;AACZ,YAAA,WAAW,aAGX,wBAAwB;YACxB,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,uBAAuB;YACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAMd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAAA,SAAA,EAJf;YACT,eAAe;AAChB,SAAA,EAAA,OAAA,EAAA,CAjBC,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAcF,eAAe,EAAA,UAAA,EAAA,CAAA;kBA7B3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,iBAAiB;wBACjB,wBAAwB;wBACxB,wBAAwB;wBACxB,uBAAuB;wBACvB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,WAAW;AACZ,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,iBAAiB;wBACjB,wBAAwB;wBACxB,wBAAwB;wBACxB,uBAAuB;wBACvB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,eAAe;AAChB,qBAAA;AACF,iBAAA;;;MCnCY,cAAc,CAAA;AAL3B,IAAA,WAAA,GAAA;QAMW,IAAA,CAAA,IAAI,GAAuB,OAAO;QAClC,IAAA,CAAA,KAAK,GAAoE,OAAO;AAG1F,IAAA;+GALY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,sHCT3B,yNAMA,EAAA,MAAA,EAAA,CAAA,4wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAtB,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,QAAQ,EAAA,QAAA,EAAA,yNAAA,EAAA,MAAA,EAAA,CAAA,4wCAAA,CAAA,EAAA;8BAKT,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;;;MELU,sBAAsB,CAAA;AAQjC,IAAA,WAAA,GAAA;QAP2B,IAAA,CAAA,KAAK,GAAG,iBAAiB;QAK3C,IAAA,CAAA,WAAW,GAAoE,OAAO;IAG/F;+GATW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yOCRnC,qqBAmBA,EAAA,MAAA,EAAA,CAAA,g3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAuB,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDXa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qqBAAA,EAAA,MAAA,EAAA,CAAA,g3BAAA,CAAA,EAAA;wDAGV,KAAK,EAAA,CAAA;sBAA/B,WAAW;uBAAC,YAAY;gBAChB,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;;;MEIU,WAAW,CAAA;+GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAX,WAAW,EAAA,YAAA,EAAA,CAHpB,cAAc,CAAA,EAAA,OAAA,EAAA,CAPd,YAAY;AACZ,YAAA,YAAY,aAGZ,cAAc,CAAA,EAAA,CAAA,CAAA;AAML,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAVpB,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,WAAW,EAAA,UAAA,EAAA,CAAA;kBAZvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACF,iBAAA;;;MCKY,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAH5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CATtB,YAAY;YACZ,cAAc;YACd,YAAY;AACZ,YAAA,WAAW,aAGX,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAMb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAZ5B,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,WAAW,CAAA,EAAA,CAAA,CAAA;;4FASF,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,YAAY;wBACZ,WAAW;AACZ,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACF,iBAAA;;;MChBY,YAAY,CAAA;AAChB,IAAA,SAAA,IAAA,CAAA,KAAK,GAAgB,CAAC,OAAwB,KAAgC;QACnF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,CAAC,GAAW,OAAO,CAAC,KAAK;AAC/B,QAAA,OAAO,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;AACzD,IAAA,CAAC,CAAC;AAEK,IAAA,SAAA,IAAA,CAAA,KAAK,GAAgB,CAAC,OAAwB,KAAgC;QACnF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,CAAC,GAAW,OAAO,CAAC,KAAK;QAC/B,MAAM,UAAU,GAAG,wJAAwJ;AAC3K,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;AACtD,IAAA,CAAC,CAAC;AAEK,IAAA,SAAA,IAAA,CAAA,GAAG,GAAgB,CAAC,OAAwB,KAAgC;QACjF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,CAAC,GAAW,OAAO,CAAC,KAAK;QAC/B,MAAM,QAAQ,GAAG,0cAA0c;AAC3d,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;AAClD,IAAA,CAAC,CAAC;;AAGJ,MAAM,aAAa,GAAG,CAAC,GAA8B,KAA4B;AAC/E,IAAA,OAAO,OAAO,CAAE,GAAuB,EAAE,MAAM,CAAC;AAClD,CAAC;AAED;;;;;;;;;;AAUG;AACI,MAAM,aAAa,GAAG,CAAC,eAAuC,KAAiB;IACpF,OAAO,CAAC,OAAwB,KAA6B;;AAG3D,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAClB,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAe,CAAC,GAAG,eAAe;QAEjH,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;QACtD,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;AAExD,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,SAAS,EAAE,uBAAuB;SACnC;AAED,QAAA,OAAO,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,KAAK,GAAG,IAAI;AAClD,IAAA,CAAC;AACH;AAEA;;;;;;;;;AASG;AACI,MAAM,aAAa,GAAG,MAAkB;IAC7C,OAAO,CAAC,OAAwB,KAA6B;;AAG3D,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAClB,YAAA,OAAO,IAAI;QACb;;QAGA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAE5C,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;AAE7C,QAAA,OAAO,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI;AAC7C,IAAA,CAAC;AACH;;AC9FO,MAAM,QAAQ,GAAU;IAC7B,yBAAyB;IACzB,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,YAAY;IACZ,+BAA+B;IAC/B,UAAU;IACV,IAAI;IACJ,OAAO;IACP,sBAAsB;IACtB,2BAA2B;IAC3B,qBAAqB;IACrB,OAAO;IACP,gBAAgB;IAChB,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,YAAY;IACZ,cAAc;IACd,sBAAsB;IACtB,YAAY;IACZ,UAAU;IACV,wBAAwB;IACxB,uBAAuB;IACvB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;IACd,4BAA4B;IAC5B,gBAAgB;IAChB,UAAU;IACV,mBAAmB;IACnB,OAAO;IACP,uBAAuB;IACvB,8BAA8B;IAC9B,mBAAmB;IACnB,cAAc;IACd,qBAAqB;IACrB,4BAA4B;IAC5B,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,WAAW;IACX,kCAAkC;IAClC,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IACZ,QAAQ;IACR,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,eAAe;IACf,OAAO;IACP,eAAe;IACf,6BAA6B;IAC7B,mBAAmB;IACnB,yBAAyB;IACzB,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,sBAAsB;IACtB,kCAAkC;IAClC,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,WAAW;IACX,kBAAkB;IAClB,WAAW;IACX,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,2BAA2B;IAC3B,WAAW;IACX,4BAA4B;IAC5B,sBAAsB;IACtB,oCAAoC;IACpC,qBAAqB;IACrB,qCAAqC;IACrC,kDAAkD;IAClD,wBAAwB;IACxB,6BAA6B;IAC7B,mBAAmB;IACnB,oCAAoC;IACpC,mBAAmB;IACnB,gCAAgC;IAChC,kBAAkB;IAClB,gBAAgB;IAChB,0BAA0B;IAC1B,iCAAiC;IACjC,iBAAiB;IACjB,YAAY;IACZ,oBAAoB;IACpB,UAAU;IACV,iBAAiB;IACjB,qBAAqB;IACrB,gBAAgB;IAChB,kBAAkB;IAClB,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,4BAA4B;IAC5B,cAAc;IACd,UAAU;IACV,2CAA2C;IAC3C,UAAU;IACV,4BAA4B;IAC5B,mBAAmB;IACnB,eAAe;IACf,WAAW;IACX,OAAO;IACP,eAAe;IACf,uBAAuB;IACvB,QAAQ;IACR,iBAAiB;IACjB,wBAAwB;IACxB,oBAAoB;IACpB,MAAM;IACN,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,2BAA2B;IAC3B,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,+BAA+B;IAC/B,6BAA6B;IAC7B,cAAc;IACd,aAAa;IACb,aAAa;IACb,cAAc;IACd,uBAAuB;IACvB,aAAa;IACb,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,oBAAoB;IACpB,oBAAoB;IACpB,QAAQ;IACR,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,kBAAkB;IAClB,0BAA0B;IAC1B,+BAA+B;IAC/B,kBAAkB;IAClB,4BAA4B;IAC5B,sBAAsB;IACtB,oBAAoB;IACpB,SAAS;IACT,wBAAwB;IACxB,QAAQ;IACR,sBAAsB;IACtB,KAAK;IACL,UAAU;IACV,UAAU;IACV,WAAW;IACX,6BAA6B;IAC7B,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,MAAM;IACN,MAAM;IACN,aAAa;IACb,UAAU;IACV,OAAO;IACP,gBAAgB;IAChB,uBAAuB;IACvB,qBAAqB;IACrB,eAAe;IACf,0BAA0B;IAC1B,MAAM;IACN,aAAa;IACb,QAAQ;IACR,OAAO;IACP,UAAU;IACV,eAAe;IACf,2BAA2B;IAC3B,+BAA+B;IAC/B,oBAAoB;IACpB,iBAAiB;IACjB,uBAAuB;IACvB,eAAe;IACf,uBAAuB;IACvB,mBAAmB;IACnB,+BAA+B;IAC/B,wBAAwB;IACxB,4BAA4B;IAC5B,oBAAoB;IACpB,2BAA2B;IAC3B,iCAAiC;IACjC,OAAO;IACP,YAAY;IACZ,UAAU;IACV,OAAO;IACP,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,MAAM;IACN,mBAAmB;IACnB,YAAY;IACZ,MAAM;IACN,uBAAuB;IACvB,UAAU;IACV,mBAAmB;IACnB,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,yBAAyB;IACzB,MAAM;IACN,cAAc;IACd,OAAO;IACP,iBAAiB;IACjB,sBAAsB;IACtB,oBAAoB;IACpB,8BAA8B;IAC9B,WAAW;IACX,wBAAwB;IACxB,oBAAoB;IACpB,SAAS;IACT,gCAAgC;IAChC,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,OAAO;IACP,gBAAgB;IAChB,uBAAuB;IACvB,gBAAgB;IAChB,QAAQ;IACR,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,OAAO;IACP,qBAAqB;IACrB,SAAS;IACT,QAAQ;IACR,aAAa;IACb,4BAA4B;IAC5B,mBAAmB;IACnB,kBAAkB;IAClB,sBAAsB;IACtB,oBAAoB;IACpB,QAAQ;IACR,kBAAkB;IAClB,0BAA0B;IAC1B,iCAAiC;IACjC,0BAA0B;IAC1B,2BAA2B;IAC3B,iCAAiC;IACjC,mCAAmC;IACnC,uBAAuB;IACvB,8BAA8B;IAC9B,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,OAAO;IACP,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,aAAa;IACb,qBAAqB;IACrB,gBAAgB;IAChB,MAAM;IACN,iCAAiC;IACjC,qBAAqB;IACrB,SAAS;IACT,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,QAAQ;IACR,QAAQ;IACR,4BAA4B;IAC5B,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,yBAAyB;IACzB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,SAAS;IACT,0BAA0B;IAC1B,sCAAsC;IACtC,QAAQ;IACR,MAAM;IACN,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,yBAAyB;IACzB,8BAA8B;IAC9B,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,iCAAiC;IACjC,+BAA+B;IAC/B,oBAAoB;IACpB,qBAAqB;IACrB,wBAAwB;IACxB,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,cAAc;;;MCtUH,sBAAsB,CAAA;AAnBnC,IAAA,WAAA,GAAA;QAqBW,IAAA,CAAA,IAAI,GAA2B,SAAS;QAKxC,IAAA,CAAA,MAAM,GAAa,KAAK;;AAKvB,QAAA,IAAA,CAAA,KAAK,GAAyB,IAAI,YAAY,EAAU;QAC3B,IAAA,CAAA,OAAO,GAAa,KAAK;QACxB,IAAA,CAAA,QAAQ,GAAa,KAAK;AA0BnE,IAAA;AAxBC,IAAA,WAAW,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,GAAG,CAAC,eAAe,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;;AAEf,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;YAC7C;iBACK;gBACH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YAClC;YACA,GAAG,CAAC,eAAe,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,GAAG,CAAC,eAAe,EAAE;QACvB;IACF;+GAtCW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBnC,qsBAkBA,EAAA,MAAA,EAAA,CAAA,8yDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAvB,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDRc;YACV,OAAO,CAAC,WAAW,EAAE;;AAEnB,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,oBAAA,MAAM,EAAE,MAAM;AACf,iBAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACnB,gBAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,oBAAA,MAAM,EAAE,GAAG;AACZ,iBAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBACnB,UAAU,CAAC,iBAAiB,EAAE;oBAC5B,OAAO,CAAC,kBAAkB,CAAC;iBAC5B,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAnBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAGhB;wBACV,OAAO,CAAC,WAAW,EAAE;;AAEnB,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,gCAAA,MAAM,EAAE,MAAM;AACf,6BAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACnB,4BAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,gCAAA,MAAM,EAAE,GAAG;AACZ,6BAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;4BACnB,UAAU,CAAC,iBAAiB,EAAE;gCAC5B,OAAO,CAAC,kBAAkB,CAAC;6BAC5B,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,qsBAAA,EAAA,MAAA,EAAA,CAAA,8yDAAA,CAAA,EAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACwC,SAAS,EAAA,CAAA;sBAAjD,WAAW;uBAAC,iBAAiB;;sBAAG;gBAEvB,KAAK,EAAA,CAAA;sBAAd;gBACsC,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBACS,QAAQ,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;sBAAG;;;MEhCrB,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;QAMW,IAAA,CAAA,KAAK,GAAG,KAAK,EAAU;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;QAGpB,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,IAAI,GAAyB,QAAQ;QACrC,IAAA,CAAA,KAAK,GAAwC,SAAS;QAEtD,IAAA,CAAA,OAAO,GAAY,KAAK;;AAEvB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU;AAehD,IAAA;AAbG,IAAA,IAAI,WAAW,GAAA;QACX,OAAO;YACH,UAAU;AACV,YAAA,IAAI,CAAC,KAAK;AACV,YAAA,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;SAClC;IACL;AAEA,IAAA,YAAY,CAAC,KAAK,EAAA;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACxC;+GAzBS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,olCCP7B,0kBAsBA,EAAA,MAAA,EAAA,CAAA,8wEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDfa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACI,iBAAiB,EAAA,QAAA,EAAA,0kBAAA,EAAA,MAAA,EAAA,CAAA,8wEAAA,CAAA,EAAA;8BAQlB,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAES,MAAM,EAAA,CAAA;sBAAf;;;MEUQ,mBAAmB,CAAA;AAwB9B,IAAA,WAAA,CAAoB,UAAmC,EAAA;QAAnC,IAAA,CAAA,UAAU,GAAV,UAAU;QAtBrB,IAAA,CAAA,IAAI,GAA2B,SAAS;QAIxC,IAAA,CAAA,SAAS,GAAmF,SAAS;QAErG,IAAA,CAAA,YAAY,GAAa,KAAK;QAC9B,IAAA,CAAA,aAAa,GAA6B,SAAS;QACnD,IAAA,CAAA,WAAW,GAAa,KAAK;QAC7B,IAAA,CAAA,MAAM,GAAa,KAAK;QAIxB,IAAA,CAAA,YAAY,GAAY,KAAK;QACtC,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAoB,MAAK,EAAE,CAAC,CAAC;;AAE5C,QAAA,IAAA,CAAA,KAAK,GAAyB,IAAI,YAAY,EAAU;QAC3B,IAAA,CAAA,OAAO,GAAa,KAAK;QACxB,IAAA,CAAA,QAAQ,GAAa,KAAK;QAE1D,IAAA,CAAA,aAAa,GAAmB,EAAE;IAEgB;IAE1D,cAAc,GAAA;;AAEZ,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtE;;AAGA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;YAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,EAAE;IACrB;AAEwC,IAAA,YAAY,CAAC,KAAmB,EAAA;QACtE,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC;IACzC;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;AAC9B,gBAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACxB,gBAAA,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACxD,gBAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AACpC,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY;QACtC,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,WAAW,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,GAAG,CAAC,eAAe,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;;AAEf,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;YAC7C;iBAAO;gBACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YAClC;YACA,GAAG,CAAC,eAAe,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,GAAG,CAAC,eAAe,EAAE;QACvB;IACF;AAEA;;;AAGE;AACF,IAAA,IAA+B,SAAS,GAAA;AACtC,QAAA,OAAO,EAAE;IACX;;+GAlGW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAqBb,sBAAsB,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjDzC,6kDA0CA,EAAA,MAAA,EAAA,CAAA,mlEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAwB,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDda,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,6kDAAA,EAAA,MAAA,EAAA,CAAA,mlEAAA,CAAA,EAAA;+EAKf,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACwC,SAAS,EAAA,CAAA;sBAAjD,WAAW;uBAAC,iBAAiB;;sBAAG;gBACxB,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAGS,KAAK,EAAA,CAAA;sBAAd;gBACsC,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBACS,QAAQ,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;sBAAG;gBACS,QAAQ,EAAA,CAAA;sBAAhD,eAAe;uBAAC,sBAAsB;gBA6BC,YAAY,EAAA,CAAA;sBAAnD,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;gBA8CP,SAAS,EAAA,CAAA;sBAAvC,WAAW;uBAAC,YAAY;;;MEjGd,eAAe,CAAA;AAV5B,IAAA,WAAA,GAAA;QAWW,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,IAAI,GAA2B,SAAS;QACxC,IAAA,CAAA,WAAW,GAAa,KAAK;QAC7B,IAAA,CAAA,WAAW,GAAa,SAAS;;AAGhC,QAAA,IAAA,CAAA,MAAM,GAAoC,IAAI,YAAY,EAAqB;;AAKzF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAwB,KAAU;AAC9C,QAAA,CAAC;QAED,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;QAEO,IAAA,CAAA,aAAa,GAAmB,EAAE;AA4F3C,IAAA;IA1FC,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;AAC5B,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,KAAI;AAC1E,YAAA,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC1B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnE,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE1C,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,UAAU,CAAC,KAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,EAAsC,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACjC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACjC,gBAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/C;iBAAO;AACL,gBAAA,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACvB;AACA,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5B;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;IACF;IAEA,YAAY,GAAA;AAEV,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;AAC5B,gBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC3B,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;gBACvB;AACA,gBAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAClC,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW;gBACtC;AACA,gBAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAClC,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;gBACrC;;AAEA,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBAC/B;AACA,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC5B,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;gBACzG;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAG;AAC1B,oBAAA,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK;AACtG,gBAAA,CAAC,CAAC;gBAEF,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,CAAC,CAAC;QACJ;IACF;+GA7GW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,yLANf,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,eAAe;AAC5B,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAUe,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnCtC,gEAGA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,CAAA,CAAA;;4FDwBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,aAGR,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,eAAiB;AAC5B,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,gEAAA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA;8BAGO,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAES,MAAM,EAAA,CAAA;sBAAf;gBAC4D,SAAS,EAAA,CAAA;sBAArE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBACvB,kBAAkB,EAAA,CAAA;sBAArD,YAAY;uBAAC,oBAAoB;;;MEPvB,qBAAqB,CAAA;AAiB9B,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK;AAC5D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;0BAE3B,GAAG,CAAA;AACtB,MAAA,CAAA,CAAC;IACJ;AAEA,IAAA,WAAA,GAAA;QAnBS,IAAA,CAAA,SAAS,GAA+B,YAAY;;AAEnD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU;AAErC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAChC,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAErB,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC;AAClD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAgB,IAAI,CAAC;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAkC;QAqDtD,IAAA,CAAA,OAAO,GAAG,MAAW;AAC5B,QAAA,CAAC;;AAEM,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,KAAU;AAC1C,QAAA,CAAC;QA9CC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAClC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC3B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;AACxB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;AACxB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;AAEtB,YAAA,MAAM,CAAC,OAAO,CAAC,EAAE,IAAG;AAClB,gBAAA,EAAE,CAAC,KAAK,GAAG,KAAK;AAChB,gBAAA,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC;AACpC,gBAAA,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAE/B,IAAI,KAAK,EAAE;AACT,oBAAA,EAAE,CAAC,KAAK,GAAG,KAAK;gBAClB;gBAEA,IAAI,IAAI,EAAE;AACR,oBAAA,EAAE,CAAC,IAAI,GAAG,IAAI;gBAChB;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;QAEJ,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;YAElC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;oBACxB,GAAG,CAAC,WAAW,EAAE;AACjB,oBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B;AACF,YAAA,CAAC,CAAC;AAEF,YAAA,MAAM,CAAC,OAAO,CAAC,EAAE,IAAG;gBAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AAC3B,oBAAA,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;gBAC7B;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAQE,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9B;+GAlGS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,iPANnB,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;aACd,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAeuC,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApB/C,oDAAoD,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAOrD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;+BACI,gBAAgB,EAAA,QAAA,EAEhB,oDAAoD,EAAA,SAAA,EACnD,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,qBAAuB;AAClC,4BAAA,KAAK,EAAE,IAAI;yBACd,CAAC,EAAA;wDAGO,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBASyB,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MCxBX,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAJlB,gBAAgB;AAChB,YAAA,qBAAqB,aAVrB,YAAY;YACZ,mBAAmB;AACnB,YAAA,WAAW,aAGX,gBAAgB;YAChB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAOhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAblB,YAAY;YACZ,mBAAmB;YACnB,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAWN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAfzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,gBAAgB;wBAChB,qBAAqB;AACxB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,gBAAgB;wBAChB,qBAAqB;AACxB,qBAAA;AACJ,iBAAA;;;MCNY,oBAAoB,CAAA;AAVjC,IAAA,WAAA,GAAA;QAWW,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,kBAAkB,GAAa,KAAK;QAapC,IAAA,CAAA,kBAAkB,GAAa,KAAK;QAGpC,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,IAAI,GAAY,MAAM;QACtB,IAAA,CAAA,SAAS,GAAY,GAAG;QACxB,IAAA,CAAA,SAAS,GAAa,KAAK;QAE3B,IAAA,CAAA,KAAK,GAAG,EAAE;;QAKoB,IAAA,CAAA,KAAK,GAAa,KAAK;AAEpD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ;QAGf,IAAA,CAAA,KAAK,GAAG,MAAM;QAEnD,IAAA,CAAA,eAAe,GAAgB,IAAI;QAE5B,IAAA,CAAA,OAAO,GAAG,MAAW;AAC5B,QAAA,CAAC;;AAGM,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,KAAU,EAAE,CAAC;AA2C9C,IAAA;AAzCC,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG;IAClB;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,aAAa,CAAC,KAAoB,EAAA;QAChC,IAAI,CAAC,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;IAC5B;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;IAEA,KAAK,GAAA;;AAEH,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;IACrC;+GAnFW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ypBANpB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,iOCbJ,s6CAqCA,EAAA,MAAA,EAAA,CAAA,ixIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA3B,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA2B,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDtBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,aAGd,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,oBAAsB;AACjC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,s6CAAA,EAAA,MAAA,EAAA,CAAA,ixIAAA,CAAA,EAAA;8BAGO,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAIQ,UAAU,EAAA,CAAA;sBAAlB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAEmB,QAAQ,EAAA,CAAA;sBAA3B,SAAS;uBAAC,OAAO;gBAGqB,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;;sBAAG;gBAErB,cAAc,EAAA,CAAA;sBAAvB;gBACS,eAAe,EAAA,CAAA;sBAAxB;gBAE6C,SAAS,EAAA,CAAA;sBAAtD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBACP,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,aAAa;;sBAAG;;;ME1BlB,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAH1B,oBAAoB,CAAA,EAAA,OAAA,EAAA,CATpB,YAAY;YACZ,YAAY;YACZ,kBAAkB;AAClB,YAAA,mBAAmB,aAGnB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAMX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAZ1B,YAAY;YACZ,YAAY;YAEZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FASV,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;wBAClB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;AACrB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;AACrB,qBAAA;AACF,iBAAA;;;MChBY,4BAA4B,CAAA;AAHzC,IAAA,WAAA,GAAA;QAMU,IAAA,CAAA,OAAO,GAAG,KAAK;AA4BxB,IAAA;AAzBC,IAAA,YAAY,CAAC,KAAiB,EAAA;AAC5B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;;QAG1C,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI;;QAGtE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI;AAEvE,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;;AAExF,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;gBAC9B,OAAO,CAAC,KAAK,EAAE;AACjB,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACtB;QAEA,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;AAC9B,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE;AACpB,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;gBACrB;AACF,YAAA,CAAC,CAAC;QACJ;IACF;+GA9BW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,yJACtB,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FADpB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AAClC,iBAAA;8BAEyD,QAAQ,EAAA,CAAA;sBAA/D,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAKtD,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MCgB/B,wBAAwB,CAAA;AAsCnC,IAAA,IAA+B,OAAO,GAAA;QACpC,OAAO;YACL,mBAAmB;YACnB,CAAA,cAAA,EAAiB,IAAI,CAAC,MAAM,CAAA,CAAE;YAC9B,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAA,CAAE;AACxB,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACb;;AAEA,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;AACpC,aAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACL,kBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACd,kBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACd,kBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;AAC1B,IAAA,CAAA,CAAC;IACJ;AAEA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;QArDpB,IAAA,CAAA,KAAK,GAAY,SAAS;QAC1B,IAAA,CAAA,SAAS,GAAY,MAAM;QAC3B,IAAA,CAAA,SAAS,GAAY,MAAM;QAC3B,IAAA,CAAA,MAAM,GAAwB,SAAS;QACvC,IAAA,CAAA,MAAM,GAAqE,OAAO;QAClB,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3F,IAAA,CAAA,UAAU,GAAY,EAAE;QACwC,IAAA,CAAA,kBAAkB,GAAY,KAAK;QACnG,IAAA,CAAA,MAAM,GAAY,KAAK;AAChC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;QAG/B,IAAA,CAAA,sBAAsB,GAAG,MAAM,EAAyB;AAEhD,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,MAAc,EAAE,SAAgC,KAA2B;YACpG,OAAO,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACrG,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAEtC,IAAA,CAAA,aAAa,GAAG,MAAM,EAAU;;;;AAQhC,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAwB,EAAE,CAAC;QACtD,IAAA,CAAA,cAAc,GAAG,eAAe,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACpE,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;AACxC,YAAA,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAClE,QAAA,CAAC,CAAC;AAiCF,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IAZqB;IAE9C,eAAe,GAAA;QACb,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,EAAE;;AAE9C,YAAA,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;QACzB;;AAGA,QAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;IACzB;AAIA,IAAA,iBAAiB,CAAC,KAAY,EAAA;;QAE5B,KAAK,CAAC,eAAe,EAAE;IACzB;AAEA,IAAA,iBAAiB,CAAC,KAAY,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;AAC/B,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;IAClC;AAEA,IAAA,cAAc,CAAC,MAAc,EAAA;AAC3B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAE7C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;QAEhC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;AAEvD,QAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAG;YAC9B,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACjE,YAAA,QAAQ,CAAC,MAAM,GAAG,cAAc;AAClC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC1D;+GAhGW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAOf,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAEjD,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAsBpC,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EANtC,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpD/B,2nBAeA,EAAA,MAAA,EAAA,CAAA,0kBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAiB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDYa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,mCAAmC,EAAA,aAAA,EAG9B,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,2nBAAA,EAAA,MAAA,EAAA,CAAA,0kBAAA,CAAA,EAAA;iFAI5B,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACwE,UAAU,EAAA,CAAA;sBAAlF,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC9D,UAAU,EAAA,CAAA;sBAAlB;gBACwE,kBAAkB,EAAA,CAAA;sBAA1F,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC9D,MAAM,EAAA,CAAA;sBAAd;gBAawB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY;gBAEQ,IAAI,EAAA,CAAA;sBAAlC,YAAY;uBAAC,eAAe;gBAWpB,UAAU,EAAA,CAAA;sBAAlB;gBAE8B,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;gBAQC,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MElET,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sDCPlC,oKAKA,EAAA,MAAA,EAAA,CAAA,wNAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,oKAAA,EAAA,MAAA,EAAA,CAAA,wNAAA,CAAA,EAAA;;;MEMf,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;QAMgC,IAAA,CAAA,IAAI,GAAG,OAAO;QAGnC,IAAA,CAAA,SAAS,GAAmF,SAAS;QACrG,IAAA,CAAA,QAAQ,GAAG,KAAK;AAC1B,IAAA;+GANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,+MCTrC,4SASA,EAAA,MAAA,EAAA,CAAA,wlFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA/B,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDAa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,4SAAA,EAAA,MAAA,EAAA,CAAA,wlFAAA,CAAA,EAAA;8BAKA,IAAI,EAAA,CAAA;sBAAjC,WAAW;uBAAC,MAAM;;sBAAG;gBACb,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;;;MEPU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDAHzB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,CAAA,CAAA;;4FAGD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,YACnB,EAAE,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA;;;MCmDD,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAVrB,4BAA4B;YAC5B,eAAe;YACf,wBAAwB;YACxB,qBAAqB;YACrB,mBAAmB;YACnB,wBAAwB;YACxB,wBAAwB;AACxB,YAAA,sBAAsB,aA7BtB,aAAa;YACb,YAAY;YACZ,WAAW;YACX,aAAa;YACb,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,gBAAgB;AAChB,YAAA,aAAa,aAGb,4BAA4B;YAC5B,eAAe;YACf,wBAAwB;YACxB,qBAAqB;YACrB,mBAAmB;YACnB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAab,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAhCrB,aAAa;YACb,YAAY;YACZ,WAAW;YACX,aAAa;YACb,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,gBAAgB;YAChB,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAuBJ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAlCxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,YAAY;wBACZ,WAAW;wBACX,aAAa;wBACb,kBAAkB;wBAClB,YAAY;wBACZ,iBAAiB;wBACjB,eAAe;wBACf,gBAAgB;wBAChB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,eAAe;wBACf,wBAAwB;wBACxB,qBAAqB;wBACrB,mBAAmB;wBACnB,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;wBAC5B,eAAe;wBACf,wBAAwB;wBACxB,qBAAqB;wBACrB,mBAAmB;wBACnB,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACF,iBAAA;;;MC7BY,wBAAwB,CAAA;AAnBrC,IAAA,WAAA,GAAA;QAyBW,IAAA,CAAA,MAAM,GAAa,KAAK;QAExB,IAAA,CAAA,WAAW,GAAa,KAAK;;QAKE,IAAA,CAAA,QAAQ,GAAa,KAAK;AACnE,IAAA;+GAdY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBrC,u5BAsBA,EAAA,MAAA,EAAA,CAAA,8uEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgC,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDZc;YACV,OAAO,CAAC,WAAW,EAAE;;AAEnB,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,oBAAA,MAAM,EAAE,MAAM;AACf,iBAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACnB,gBAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,oBAAA,MAAM,EAAE,GAAG;AACZ,iBAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBACnB,UAAU,CAAC,iBAAiB,EAAE;oBAC5B,OAAO,CAAC,kBAAkB,CAAC;iBAC5B,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAnBpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,UAAA,EAGlB;wBACV,OAAO,CAAC,WAAW,EAAE;;AAEnB,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,gCAAA,MAAM,EAAE,MAAM;AACf,6BAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACnB,4BAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,gCAAA,MAAM,EAAE,GAAG;AACZ,6BAAA,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;4BACnB,UAAU,CAAC,iBAAiB,EAAE;gCAC5B,OAAO,CAAC,kBAAkB,CAAC;6BAC5B,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,u5BAAA,EAAA,MAAA,EAAA,CAAA,8uEAAA,CAAA,EAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACwC,SAAS,EAAA,CAAA;sBAAjD,WAAW;uBAAC,iBAAiB;;sBAAG;gBAEO,QAAQ,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;sBAAG;;;MEnBrB,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;QAUW,IAAA,CAAA,SAAS,GAA6F,SAAS;QAE/G,IAAA,CAAA,MAAM,GAAa,KAAK;QAExB,IAAA,CAAA,WAAW,GAAa,KAAK;QAI7B,IAAA,CAAA,YAAY,GAAY,KAAK;QAC7B,IAAA,CAAA,oBAAoB,GAAY,EAAE;QACH,IAAA,CAAA,QAAQ,GAAa,KAAK;AAsCnE,IAAA;;AAlCC,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS;QAC5B;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO;QAC1B;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;AAC9B,gBAAA,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACxD,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAChC,oBAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;gBACpC;AACA,gBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC/B,oBAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBAClC;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AAEA,IAAA,kBAAkB,CAAC,KAAY,EAAA;QAC7B,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY;QACtC,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,OAAO,KAAK;IACd;+GAnDW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAgBf,wBAAwB,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnC3C,qgDAmCA,EAAA,MAAA,EAAA,CAAA,4+DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAwB,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,qgDAAA,EAAA,MAAA,EAAA,CAAA,4+DAAA,CAAA,EAAA;8BAKjB,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACwC,SAAS,EAAA,CAAA;sBAAjD,WAAW;uBAAC,iBAAiB;;sBAAG;gBACxB,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,oBAAoB,EAAA,CAAA;sBAA5B;gBACuC,QAAQ,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;sBAAG;gBACW,QAAQ,EAAA,CAAA;sBAAlD,eAAe;uBAAC,wBAAwB;;;MEF9B,iBAAiB,CAAA;AAnB9B,IAAA,WAAA,GAAA;QAsBW,IAAA,CAAA,KAAK,GAAW,OAAO;AA0BjC,IAAA;;AAtBC,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;AAC5B,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAChC,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;gBACjC;AACA,gBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC/B,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBAC/B;AACA,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS;gBACjC,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,CAAC,CAAC;QACJ;IACF;+GA5BW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAIX,qBAAqB,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrCxC,kKAKA,EAAA,MAAA,EAAA,CAAA,yPAAA,CAAA,EAAA,UAAA,EDac;YACV,OAAO,CAAC,WAAW,EAAE;;AAEnB,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,oBAAA,KAAK,EAAE,eAAe;iBACvB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;AACvC,gBAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,oBAAA,KAAK,EAAE,MAAM;AACd,iBAAA,CAAC,CAAC;gBACH,UAAU,CAAC,iBAAiB,EAAE;oBAC5B,OAAO,CAAC,kBAAkB,CAAC;iBAC5B,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,UAAA,EAGT;wBACV,OAAO,CAAC,WAAW,EAAE;;AAEnB,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,gCAAA,KAAK,EAAE,eAAe;6BACvB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;AACvC,4BAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,gCAAA,KAAK,EAAE,MAAM;AACd,6BAAA,CAAC,CAAC;4BACH,UAAU,CAAC,iBAAiB,EAAE;gCAC5B,OAAO,CAAC,kBAAkB,CAAC;6BAC5B,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,kKAAA,EAAA,MAAA,EAAA,CAAA,yPAAA,CAAA,EAAA;8BAGQ,QAAQ,EAAA,CAAA;sBAAhB;gBACwC,SAAS,EAAA,CAAA;sBAAjD,WAAW;uBAAC,iBAAiB;;sBAAG;gBACxB,KAAK,EAAA,CAAA;sBAAb;gBACuC,SAAS,EAAA,CAAA;sBAAhD,eAAe;uBAAC,qBAAqB;;;ME9B3B,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wDCPpC,oKAKA,EAAA,MAAA,EAAA,CAAA,mOAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,oKAAA,EAAA,MAAA,EAAA,CAAA,mOAAA,CAAA,EAAA;;;MEoCjB,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBANvB,iBAAiB;YACjB,uBAAuB;YACvB,qBAAqB;AACrB,YAAA,wBAAwB,aAnBxB,aAAa;YACb,YAAY;YACZ,WAAW;YACX,aAAa;YACb,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;AACjB,YAAA,eAAe,aAGf,iBAAiB;YACjB,uBAAuB;YACvB,qBAAqB;YACrB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AASf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAtBvB,aAAa;YACb,YAAY;YACZ,WAAW;YACX,aAAa;YACb,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAeN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAxB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,YAAY;wBACZ,WAAW;wBACX,aAAa;wBACb,kBAAkB;wBAClB,YAAY;wBACZ,iBAAiB;wBACjB,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,uBAAuB;wBACvB,qBAAqB;wBACrB,wBAAwB;AACzB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,uBAAuB;wBACvB,qBAAqB;wBACrB,wBAAwB;AACzB,qBAAA;AACF,iBAAA;;;MCvBY,sBAAsB,CAAA;AAVnC,IAAA,WAAA,GAAA;QAYW,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,kBAAkB,GAAa,KAAK;AAEnC,QAAA,IAAA,CAAA,cAAc,GAAwB,IAAI,YAAY,EAAQ;AAE9D,QAAA,IAAA,CAAA,eAAe,GAAwB,IAAI,YAAY,EAAQ;QAKhE,IAAA,CAAA,IAAI,GAAkC,QAAQ;;QAUhB,IAAA,CAAA,KAAK,GAAa,KAAK;QAG9D,IAAA,CAAA,eAAe,GAAgB,IAAI;QAE5B,IAAA,CAAA,OAAO,GAAG,MAAW;AAC5B,QAAA,CAAC;;AAEM,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,KAAU;AAC1C,QAAA,CAAC;AAiDF,IAAA;AA/CC,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG;IAClB;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;YAC/B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QACnE;aAAO;YACL,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QACjE;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;IAC5B;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;IAC3C;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE;IACzC;+GA/EW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,8jBANtB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,sICbJ,y4CAuCA,EAAA,MAAA,EAAA,CAAA,wiKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAjC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDxBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,aAGhB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,sBAAwB;AACnC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,y4CAAA,EAAA,MAAA,EAAA,CAAA,wiKAAA,CAAA,EAAA;8BAIO,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACS,eAAe,EAAA,CAAA;sBAAxB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACyB,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa;gBAEe,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;;sBAAG;gBAEtB,KAAK,EAAA,CAAA;sBAAb;;;MElBU,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAH5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CARtB,YAAY;YACZ,YAAY;AACZ,YAAA,mBAAmB,aAGnB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAMb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;YACZ,YAAY;YACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FASV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACF,iBAAA;;;MCJY,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,IAAI,GAAiC,QAAQ;QAC7C,IAAA,CAAA,KAAK,GAAsC,OAAO;QAClD,IAAA,CAAA,KAAK,GAAyB,SAAS;QACvC,IAAA,CAAA,OAAO,GAAkC,OAAO;QAChD,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,QAAQ,GAAY,IAAI;QACxB,IAAA,CAAA,YAAY,GAAY,IAAI;QAC5B,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,SAAS,GAAW,CAAC;QACrB,IAAA,CAAA,QAAQ,GAAW,EAAE;QACrB,IAAA,CAAA,aAAa,GAAW,EAAE;QAC1B,IAAA,CAAA,MAAM,GAAW,CAAC;QAClB,IAAA,CAAA,SAAS,GAA+B,QAAQ;QAChD,IAAA,CAAA,aAAa,GAAW,iBAAiB;AACxC,QAAA,IAAA,CAAA,IAAI,GAAmC,IAAI,YAAY,EAAoB;QAErF,IAAA,CAAA,KAAK,GAAqB,EAAE;QAC5B,IAAA,CAAA,cAAc,GAAoC,CAAC,CAAS,EAAE,IAAoB,KAAa,IAAI,CAAC,SAAS;AAkF9G,IAAA;AAhFC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;AACpF,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC9B;IACF;AAEQ,IAAA,cAAc,CAAC,SAAiB,EAAA;QACtC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,SAAS;YACpB,iBAAiB,EAAE,IAAI,CAAC,SAAS;AACjC,YAAA,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAC/C,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;SAC5C;IACH;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjB;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC3C;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAClC;IACF;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAClC;IACF;AAEA,IAAA,OAAO,CAAC,SAAiB,EAAA;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAC1C,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;IAC9B;IAEA,QAAQ,GAAA;QACN,MAAM,KAAK,GAAqB,EAAE;AAClC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;AACvE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;AAChD,YAAA,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAC3E;QACF;AACA,QAAA,OAAO,KAAK;IACd;IAEA,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C;AAEA,IAAA,gBAAgB,CAAC,SAAkB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS;AAClE,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,QAAQ;IAC9B;AAEA,IAAA,cAAc,CAAC,SAAkB,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS;AAClE,QAAA,IAAI,QAAQ,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;AAC3B,YAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5B;AACA,QAAA,OAAO,QAAQ;IACjB;IAEA,WAAW,GAAA;AACT,QAAA,QAAQ,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;IACxD;IAEA,eAAe,GAAA;AACb,QAAA,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC;IAC5B;+GApGW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,kcChBjC,46CAgCA,EAAA,MAAA,EAAA,CAAA,4rGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDhBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,46CAAA,EAAA,MAAA,EAAA,CAAA,4rGAAA,CAAA,EAAA;8BAGtC,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACS,IAAI,EAAA,CAAA;sBAAb;;;ME5BU,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAkB;AAiB/C,IAAA;AAfU,IAAA,QAAQ,CAAC,OAAuB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;AAEO,IAAA,UAAU,CAAC,OAAuB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACjC;AAEO,IAAA,cAAc,CAAC,OAAuB,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;AAC5B,YAAA,IAAI,OAAO,KAAK,OAAO,EAAE;gBACrB,OAAO,CAAC,KAAK,EAAE;YACnB;AACJ,QAAA,CAAC,CAAC;IACN;+GAjBS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA;;4FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCMrB,qBAAqB,CAAA;IAC9B,WAAA,CAAwC,OAAuB,EAAqB,WAA+B,EAAA;QAA3E,IAAA,CAAA,OAAO,GAAP,OAAO;QAAqC,IAAA,CAAA,WAAW,GAAX,WAAW;IAAuB;IAG9G,OAAO,GAAA;QACX,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;IAClD;IAEA,QAAQ,GAAA;QACJ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IAC5C;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IAC9C;+GAdS,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAkC,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;;0BAEgB;;0BAAY;;0BAAyC;yCAG1D,OAAO,EAAA,CAAA;sBADd,YAAY;uBAAC,OAAO;;;ACZzB;AA+BA;;;AAGG;MAaU,0BAA0B,CAAA;AACO,IAAA,YAAY,CAAC,KAAiB,EAAA;AACxE,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1E,IAAI,aAAa,EAAE;gBACjB;YACF;AACA,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACtB;QACA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;IACF;AAqDA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,QAAe,EAAA;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5B;AAIA,IAAA,WAAA,CACU,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;;QA9DX,IAAA,CAAA,OAAO,GAAa,EAAE;QACtB,IAAA,CAAA,aAAa,GAAY,OAAO;QAChC,IAAA,CAAA,aAAa,GAAY,OAAO;QAChC,IAAA,CAAA,YAAY,GAAY,MAAM;;QAI9B,IAAA,CAAA,SAAS,GAAW,qBAAqB;QACzC,IAAA,CAAA,WAAW,GAAW,qBAAqB;QAC3C,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,WAAW,GAAa,KAAK;QAC7B,IAAA,CAAA,aAAa,GAAa,IAAI;QAC9B,IAAA,CAAA,gBAAgB,GAAW,GAAG;AAEvC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1F,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;AAClG,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAiB,KAAK,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;;QAG1F,IAAA,CAAA,KAAK,GAAW,OAAO;QACvB,IAAA,CAAA,SAAS,GAAW,EAAE;QACtB,IAAA,CAAA,SAAS,GAAW,OAAO;QAG3B,IAAA,CAAA,gBAAgB,GAAW,OAAO;QAClC,IAAA,CAAA,IAAI,GAAkC,QAAQ;AAKvD,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAAC;;AAKhD,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,CAAmB,KAAe,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;AAG9D,QAAA,IAAA,CAAA,cAAc,GAAgB,IAAI,GAAG,EAAE;QACvC,IAAA,CAAA,eAAe,GAAa,EAAE;AAC9B,QAAA,IAAA,CAAA,gBAAgB,GAA0C,MAAM,CAAC,EAAE,CAAC;AACpE,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC;QACxB,IAAA,CAAA,OAAO,GAAG,KAAK;QACP,IAAA,CAAA,aAAa,GAAmB,EAAE;QAClC,IAAA,CAAA,OAAO,GAAG,KAAK;;AAGb,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO;QAWlC,IAAA,CAAA,MAAM,GAAU,EAAE;QAMD,IAAA,CAAA,QAAQ,GAAG,CAAC;AAKrC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAW,EAAE,CAAC;;AAmJ1B,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,MAAc,EAAE,SAAgC,KAA2B;AACzF,YAAA,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAG;AACjC,gBAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AACjF,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtD,MAAM,qBAAqB,GAAG,UAAU,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAEtE,gBAAA,OAAO,aAAa,IAAI,CAAC,qBAAqB;AAChD,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;AAiCD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,MAAK;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;gBAC9C,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;AAC9C,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;;AAGvB,QAAA,IAAA,CAAA,iBAAiB,GAAG;YAC1B,WAAW,EAAE,MAAK;AAChB,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1B,CAAC;YACD,SAAS,EAAE,MAAK;AACd,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB,CAAC;YACD,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;YACvC,CAAC;YACD,QAAQ,EAAE,MAAK;AACb,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;YACvC,CAAC;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAErE,IAAI,CAAC,gBAAgB,EAAE;oBAAE;gBAAO;AAEhC,gBAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACrC,IAAI,CAAC,qBAAqB,EAAE;YAC9B,CAAC;SACF;AAEO,QAAA,IAAA,CAAA,+BAA+B,GAAG;YACxC,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACrB,CAAC;YACD,WAAW,EAAE,MAAK;AAChB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;SACF;;;AAKD,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoB,KAAU;AAE7C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC;YAE3H,IAAI,OAAO,EAAE;gBACX,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,OAAO,EAAE;YACX;AACF,QAAA,CAAC;IAvPE;AAGH,IAAA,IAAmC,aAAa,GAAA;QAC9C,OAAO,IAAI,CAAC,QAAQ;IACtB;AAIA,IAAA,gBAAgB,CAAC,EAA0B,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,uBAAuB,EAAE;QAE9B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAC1C,IAAI,CAAC,uBAAuB,EAAE;AAChC,QAAA,CAAC,CAAC;IACJ;IAEQ,uBAAuB,GAAA;;AAE7B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,CAC/C,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAM,MAAc,CAAC,KAAK,CAAC,CACnF;AAED,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;;AAGnC,YAAA,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,IAAG;AACvC,gBAAA,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW;AACxC,gBAAA,QAAQ,CAAC,WAAW,GAAG,IAAI;AAC7B,YAAA,CAAC,CAAC;;;AAIF,YAAA,MAAM,SAAS,GAAG;gBAChB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAE5B,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,KAAI;AAC5C,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC5B,YAAA,CAAC,CAAC;;YAGF,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAG;AAC9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEpB,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;AAEA,IAAA,eAAe,CAAC,IAAY,EAAA;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IACtB;;;AAIA,IAAA,gBAAgB,CAAC,CAAoB,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE;AACnD,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB;YACF;AACA,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrB;IACF;;AAIA,IAAA,QAAQ,CAAC,QAAgB,EAAA;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAErD,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAC9B;aACK;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C;IACF;;AAGA,IAAA,WAAW,CAAC,cAAqB,EAAA;QAE/B,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,eAAe,GAAG,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,qBAAqB,EAAE;YAC5B;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;AAEzB,QAAA,cAAc,CAAC,OAAO,CAAC,QAAQ,IAAG;AAEhC,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;YAErC;iBAAO;AAEL,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAEjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC;AAC7F,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACnD;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AAC7C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B;QACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,qBAAqB,EAAE;IAC9B;AAaQ,IAAA,WAAW,CAAC,SAAwB,EAAA;AAC1C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACvC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AAEjC,QAAA,MAAM,UAAU,GAAG,CAAC,CAAS,KAAY;AACvC,YAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACT,gBAAA,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3B;AACK,iBAAA,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;AAC5B,gBAAA,OAAO,CAAC;YACV;AAEA,YAAA,OAAO,CAAC;AACV,QAAA,CAAC;AAED,QAAA,MAAM,WAAW,GAAG,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QAE/C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;AAChD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE/B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;;QAGjE,YAAY,CAAC,cAAc,EAAE;IAC/B;AAEA,IAAA,eAAe,CAAC,IAAa,EAAA;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/F,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC;IAwDQ,qBAAqB,GAAA;QAC3B,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;AAErC,QAAA,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,IAAG;AACvC,YAAA,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzD,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;;AAEpB,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;YACvC,CAAC,EAAE,CAAC,CAAC;QACP;IACF;+GAtVW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAR1B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAmDgB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAFb,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAFpC,cAAc,uEACd,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAEZ,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/FnC,43FA2EA,EAAA,MAAA,EAAA,CAAA,w4CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAlC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAqB,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAxC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5Ba,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAZtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,SAAA,EAGhB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,43FAAA,EAAA,MAAA,EAAA,CAAA,w4CAAA,CAAA,EAAA;+EAG2C,YAAY,EAAA,CAAA;sBAAvD,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;gBAejC,OAAO,EAAA,CAAA;sBAAf;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAQQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAG0B,OAAO,EAAA,CAAA;sBAAjC,SAAS;uBAAC,cAAc;gBACG,IAAI,EAAA,CAAA;sBAA/B,SAAS;uBAAC,eAAe;gBAES,iBAAiB,EAAA,CAAA;sBAAnD,YAAY;uBAAC,mBAAmB;gBAC4B,eAAe,EAAA,CAAA;sBAA3E,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAejD,MAAM,EAAA,CAAA;sBAAf;gBAGG,KAAK,EAAA,CAAA;sBADR;gBAewB,QAAQ,EAAA,CAAA;sBAAhC,WAAW;uBAAC,UAAU;gBACY,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;gBA4O7B,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;AE5WrC;MAgCa,qBAAqB,CAAA;AACmB,IAAA,YAAY,CAAC,GAAQ,EAAA;QACtE,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC5C,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACtB;QACA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;IACF;AACA,IAAA,IAAmC,aAAa,GAAA;QAC9C,OAAO,IAAI,CAAC,QAAQ;IACtB;AAsCA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,QAAa,EAAA;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5B;IAIA,WAAA,CACY,kBAAqC,EACnB,SAAoB,EAAA;QADtC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QACA,IAAA,CAAA,SAAS,GAAT,SAAS;;QAhDhC,IAAA,CAAA,IAAI,GAAG,IAAI;QAET,IAAA,CAAA,OAAO,GAAa,EAAE;QACtB,IAAA,CAAA,aAAa,GAAY,OAAO;QAChC,IAAA,CAAA,oBAAoB,GAAG,KAAK;QAC5B,IAAA,CAAA,aAAa,GAAY,OAAO;QAChC,IAAA,CAAA,YAAY,GAAY,MAAM;QAE9B,IAAA,CAAA,mBAAmB,GAAY,aAAa;QAC5C,IAAA,CAAA,UAAU,GAAa,KAAK;QAC5B,IAAA,CAAA,SAAS,GAAa,KAAK;QAC3B,IAAA,CAAA,QAAQ,GAAa,KAAK;QAC1B,IAAA,CAAA,OAAO,GAAa,KAAK;QACzB,IAAA,CAAA,KAAK,GAAW,OAAO;QAIvB,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAC9C,IAAA,CAAA,WAAW,GAAW,qBAAqB;;AAK1C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO;AACvB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU;QAC7D,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,UAAU,GAAkB,EAAE;QAC9B,IAAA,CAAA,WAAW,GAAW,EAAE;QAChB,IAAA,CAAA,aAAa,GAAmB,EAAE;QAClC,IAAA,CAAA,OAAO,GAAG,KAAK;QACvB,IAAA,CAAA,OAAO,GAAG,CAAC;QACX,IAAA,CAAA,WAAW,GAAG,KAAK;QAYX,IAAA,CAAA,MAAM,GAAG,EAAE;QAkEnB,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;;;AA3DC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;IACF;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY;;QAGpD,IAAI,cAAc,IAAI,cAAc,KAAK,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;YACvE,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC;YAE7G,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;YACvD;QACF;IACF;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;AAC/F,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC5B,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,iBAAA,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACtE,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;oBAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACxC,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI;gBAC7B;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO;IAChC;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO;IAChC;AAEA,IAAA,QAAQ,CAAC,QAAa,EAAA;QACpB,IAAI,CAAC,MAAM,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ;AAChF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC;;AAMA,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;AAEA,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;;AAE1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,KAAK,GAAG,KAAK,IAAI,EAAE;AAEnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;YACxB;QACF;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IACzB;AAEA,IAAA,WAAW,CAAC,CAAS,EAAA;QACnB,IAAI,CAAC,SAAS,EAAE;AAEhB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,KAAK,EAAE;YACZ;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAC/B;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrB;QAEA,IAAI,CAAC,KAAK,EAAE;IACd;AAEA,IAAA,WAAW,CAAC,SAAiB,EAAA;QAC3B,QAAQ,SAAS;YACf,KAAK,MAAM,EAAE;gBACX,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACvC,oBAAA,IAAI,CAAC,OAAO,GAAG,CAAC;gBAClB;gBACA;YACF;YACA,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBACxC;gBACA;YACF;YACA,SAAS;AACP,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC;gBAChB;YACF;;IAEJ;AAEA,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;AAC7B,oBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACxB,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9C;AACA,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;AAC3B,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtB,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9C;AACA,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;oBACvB,IAAI,CAAC,KAAK,EAAE;AACZ,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;gBACtC;AACA,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACzB,IAAI,CAAC,KAAK,EAAE;AACZ,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;oBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK;AACrF,oBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC5B;YACF;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK;YACjC;QACF;aAAO;AACL,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK;YACjC;QACF;IACF;AAEA,IAAA,WAAW,CAAC,KAAoB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;AACzB,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,IAAI,CAAC,KAAK,EAAE;AACZ,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;YACtC;QACF;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;oBAC1B,IAAI,CAAC,WAAW,EAAE;gBACpB;YACF;QACF;IACF;AAGA,IAAA,WAAW,CAAC,QAAiB,EAAA;;QAE3B,IAAI,CAAC,SAAS,EAAE;;QAGhB,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAChC;AAEA,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE;AAC7D,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE;YAC7D,IAAI,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;AAE/C,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;AACxF,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpC;;QAGA,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAG;YAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ;YAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ;YAE5D,OAAO,YAAY,IAAI,YAAY;AACrC,QAAA,CAAC,CAAC;QAEF,IAAI,aAAa,EAAE;AACjB,YAAA,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE;AAChE,YAAA,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE;YAChE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAElD,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAClG,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpC;aAAO;;YAEL,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE;AAC7C,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnC;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACxB;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3C;AAEA,IAAA,eAAe,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;+GAjTW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,8wBAqCf,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAFzB,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACd,eAAe,qECpE5B,utDAwCA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAiB,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDRa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,utDAAA,EAAA,MAAA,EAAA,CAAA,mIAAA,CAAA,EAAA;;0BAoElB;;0BAAY;yCA/DoC,YAAY,EAAA,CAAA;sBAA9D,YAAY;uBAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC;gBAUd,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;gBAOpB,OAAO,EAAA,CAAA;sBAAf;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,oBAAoB,EAAA,CAAA;sBAA5B;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAC0B,OAAO,EAAA,CAAA;sBAAjC,SAAS;uBAAC,cAAc;gBACG,IAAI,EAAA,CAAA;sBAA/B,SAAS;uBAAC,eAAe;gBACmC,SAAS,EAAA,CAAA;sBAArE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAEjD,MAAM,EAAA,CAAA;sBAAf;gBACkB,aAAa,EAAA,CAAA;sBAA/B;gBAYG,KAAK,EAAA,CAAA;sBADR;;;MEhDU,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBAJ3B,0BAA0B;AAC1B,YAAA,qBAAqB,aAhBjB,YAAY;YACZ,aAAa;YACb,WAAW;YACX,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,iBAAiB;AACjB,YAAA,qBAAqB,aAGzB,0BAA0B;YAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAOZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAnBvB,YAAY;YACZ,aAAa;YACb,WAAW;YACX,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;;4FAYZ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBArB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,iBAAiB;wBACjB,qBAAqB;AACxB,qBAAA;AACH,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,qBAAqB;AACtB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,qBAAqB;AACtB,qBAAA;AACF,iBAAA;;;MCzBY,4BAA4B,CAAA;AALzC,IAAA,WAAA,GAAA;QAMW,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,QAAQ,GAAY,IAAI;QACxB,IAAA,CAAA,YAAY,GAAY,IAAI;QAC5B,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,SAAS,GAAW,CAAC;QACrB,IAAA,CAAA,eAAe,GAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7C,IAAA,CAAA,MAAM,GAAW,CAAC;QAClB,IAAA,CAAA,SAAS,GAA+B,QAAQ;QAChD,IAAA,CAAA,aAAa,GAAW,iBAAiB;QAc1C,IAAA,CAAA,SAAS,GAAW,EAAE;AACpB,QAAA,IAAA,CAAA,IAAI,GAAmC,IAAI,YAAY,EAAoB;AAwEtF,IAAA;AArFC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,IAAI,QAAQ,CAAC,OAAe,EAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACzB;AAKQ,IAAA,cAAc,CAAC,SAAiB,EAAA;QACtC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,SAAS;YACpB,iBAAiB,EAAE,IAAI,CAAC,SAAS;AACjC,YAAA,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAC/C,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;SAC5C;IACH;IAEA,SAAS,GAAA;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACrB;IACF;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;AAC1B,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACrB;IACF;AAEA,IAAA,OAAO,CAAC,UAAkB,EAAA;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,UAAU;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrB;IAEA,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C;AAEA,IAAA,gBAAgB,CAAC,SAAkB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS;AAClE,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,QAAQ;IAC9B;AAEA,IAAA,cAAc,CAAC,SAAkB,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS;AAClE,QAAA,IAAI,QAAQ,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;AAC1D,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE;AAC1B,YAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5B;AACA,QAAA,OAAO,QAAQ;IACjB;IAEA,WAAW,GAAA;AACT,QAAA,QAAQ,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;IACxD;IAEA,eAAe,GAAA;AACb,QAAA,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC;IAC5B;+GAhGW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,wXCTzC,muDA6CA,EAAA,MAAA,EAAA,CAAA,8wGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA7C,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAa,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAqB,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDpCa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,muDAAA,EAAA,MAAA,EAAA,CAAA,8wGAAA,CAAA,EAAA;8BAKxB,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBAGG,QAAQ,EAAA,CAAA;sBADX;gBAaS,IAAI,EAAA,CAAA;sBAAb;;;MELU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAJ1B,oBAAoB;AACpB,YAAA,4BAA4B,aAb5B,YAAY;YACZ,WAAW;YACX,kBAAkB;YAClB,YAAY;YACZ,YAAY;AACZ,YAAA,kBAAkB,aAGlB,oBAAoB;YACpB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAOnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAhB1B,YAAY;YACZ,WAAW;YACX,kBAAkB;YAClB,YAAY;YACZ,YAAY;YACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;;4FAWT,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAlB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,kBAAkB;wBAClB,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,4BAA4B;AAC7B,qBAAA;AACF,iBAAA;;;AC5BD;AACA;AAEO,MAAM,eAAe,GAAG;AAC7B,IAAA,CAAC,4BAA4B,EAAE,IAAI,EAAE,IAAI,CAAC;AAC1C,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC;AAChC,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC;AAC1B,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC;AACrC,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;AACzB,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5B,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC;AACpC,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC;AACxC,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;AACzB,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,CAAC;AACtC,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC;AAC1B,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC;AAChC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;AACzB,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/B,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,8CAA8C,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7D,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/B,IAAA,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/C,IAAA,CAAC,wBAAwB,EAAE,IAAI,EAAE,MAAM,CAAC;AACxC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,CAAC;AACpC,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7B,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,CAAC;AACpC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AAC/H,YAAA,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AACrH,YAAA,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACxE,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC;AACxC,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC;AAChC,IAAA,CAAC,sDAAsD,EAAE,IAAI,EAAE,KAAK,CAAC;AACrE,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7B,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AACrB,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;AAC1B,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACnC,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;AACxB,IAAA,CAAC,wBAAwB,EAAE,IAAI,EAAE,KAAK,CAAC;AACvC,IAAA,CAAC,gDAAgD,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/D,IAAA,CAAC,sCAAsC,EAAE,IAAI,EAAE,KAAK,CAAC;AACrD,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7B,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AACpB,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3B,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,kCAAkC,EAAE,IAAI,EAAE,KAAK,CAAC;AACjD,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC;AACjC,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC;IAC1B,CAAC,2CAA2C,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AAC5G,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC9B,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC;AAC5B,IAAA,CAAC,uCAAuC,EAAE,IAAI,EAAE,KAAK,CAAC;AACtD,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,mCAAmC,EAAE,IAAI,EAAE,KAAK,CAAC;AAClD,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC;AACxC,IAAA,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACrB,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACnC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;AACtB,IAAA,CAAC,kCAAkC,EAAE,IAAI,EAAE,KAAK,CAAC;AACjD,IAAA,CAAC,wCAAwC,EAAE,IAAI,EAAE,KAAK,CAAC;AACvD,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC;AACrC,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;AAC1B,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/B,IAAA,CAAC,8BAA8B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7C,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;AACzB,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9B,IAAA,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;AACtB,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;AAC1B,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3B,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,8BAA8B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7C,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/B,IAAA,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC;AACtC,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5B,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;AACzB,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/B,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9B,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;AACrE,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACzB,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,wBAAwB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACxC,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC;AACxC,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,CAAC;AACpC,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,gCAAgC,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/C,IAAA,CAAC,2BAA2B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC1C,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;AACxB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACrB,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,2BAA2B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC1C,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3B,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/B,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,6BAA6B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC5C,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,wBAAwB,EAAE,IAAI,EAAE,KAAK,CAAC;AACvC,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC;AAC5B,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvC,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC;AACxC,IAAA,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC;AACxC,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,CAAC;AACvC,IAAA,CAAC,oCAAoC,EAAE,IAAI,EAAE,KAAK,CAAC;AACnD,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;AAC3B,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;AAC1B,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACrB,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/B,IAAA,CAAC,8BAA8B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7C,IAAA,CAAC,0BAA0B,EAAE,IAAI,EAAE,MAAM,CAAC;AAC1C,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjC,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC;AACrC,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,CAAC;AACtC,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;AAC3B,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;AAC3B,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/B,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;IACzB,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9E,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACxC,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC;AACjC,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACjC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACpC,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7B,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,MAAM,CAAC;AACvC,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC;AAC7B,IAAA,CAAC,gDAAgD,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,IAAA,CAAC,sDAAsD,EAAE,IAAI,EAAE,KAAK,CAAC;AACrE,IAAA,CAAC,kCAAkC,EAAE,IAAI,EAAE,MAAM,CAAC;AAClD,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,6CAA6C,EAAE,IAAI,EAAE,KAAK,CAAC;AAC5D,IAAA,CAAC,4CAA4C,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3D,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7B,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;AACzB,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC;AAC9B,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC,IAAA,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5B,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC;AAClC,IAAA,CAAC,+BAA+B,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9C,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC9B,IAAA,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,CAAC;AACvC,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC;AACnC,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;AAC1B,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC;AAChC,IAAA,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC;AACrC,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC;AAC5B,IAAA,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;AAC9B,IAAA,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC;AAC5B,IAAA,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACrB,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACtB,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC;AACrC,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC;AAChC,IAAA,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7B,IAAA,CAAC,0BAA0B,EAAE,IAAI,EAAE,MAAM,CAAC;AAC1C,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC;AACrC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,oDAAoD,EAAE,IAAI,EAAE,KAAK,CAAC;AACnE,IAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjC,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC/B,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,0BAA0B,EAAE,IAAI,EAAE,KAAK,CAAC;AACzC,IAAA,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AACxB,IAAA,CAAC,mCAAmC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,IAAA,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;AACzB,IAAA,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC;AAClC,IAAA,CAAC,sCAAsC,EAAE,IAAI,EAAE,KAAK,CAAC;AACrD,IAAA,CAAC,qCAAqC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,IAAA,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,IAAA,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;AACvB,IAAA,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;AACzB,IAAA,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;CAAE;AAE7B,MAAM,QAAQ,GAAQ;AAC3B,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,MAAM;AACV,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,MAAM;AACV,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,WAAW;CAChB;;AC9eD;MAuCa,qBAAqB,CAAA;AAqBhC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IACjC;AAEA,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAI,MAAM,CAAC,KAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,oBAAoB;IACzD;IAkBA,OAAO,yBAAyB,CAAC,cAA2B,EAAA;QAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC;AACzD,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS;IAC/D;AAQA,IAAA,WAAA,CACU,kBAAqC,EAAA;QAArC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;AAnEnB,QAAA,IAAA,CAAA,kBAAkB,GAAkB,CAAC,IAAI,CAAC;QAC1C,IAAA,CAAA,aAAa,GAAkB,EAAE;QACjC,IAAA,CAAA,mBAAmB,GAAG,IAAI;QAC1B,IAAA,CAAA,mBAAmB,GAAa,IAAI;QACpC,IAAA,CAAA,IAAI,GAAkC,QAAQ;QAYhB,IAAA,CAAA,KAAK,GAAa,KAAK;AAuBpD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW;QAItD,IAAA,CAAA,cAAc,GAAmB,EAAE;QACnC,IAAA,CAAA,oBAAoB,GAAmB,EAAE;QAGzC,IAAA,CAAA,oBAAoB,GAA+B,EAAE;QAG7C,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,OAAO,GAAsB,UAAU;QAS/C,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;QAED,IAAA,CAAA,QAAQ,GAAQ,MAAK;AACrB,QAAA,CAAC;QAKC,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAClC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACvC,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC;qBAC3B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI;AAC7B,qBAAA,KAAK,EAAE;gBACV,IAAI,gBAAgB,EAAE;AACpB,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAClD;AACF,YAAA,CAAC,CAAC;QACJ;AACA,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KACjD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC;QACH;QACA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;;AAEpD,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACpE;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;gBACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACrD;iBAAO;gBACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/C;QACF;QACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IAChD;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C;IACF;IAEO,iBAAiB,GAAA;AACtB,QAAA,IAAI;YACF,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAC7C,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC7C,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAiB,CACxD;YACD,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM;YACvC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE;gBACtD,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,CAAC,oBAAoB,EAAE;AAC7D,oBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,oBAAoB;gBACzD;gBACA,IACE,IAAI,CAAC,eAAe,EAAE,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO;oBACzD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EACnC;AACA,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;oBAClE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;gBAChD;YACF;QACF;QAAE,OAAO,CAAC,EAAE;;;YAGV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE;QACtD;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxC;IAEU,aAAa,CAAC,QAAgB,EAAE,EAAe,EAAA;AACvD,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc;QAClE;QACA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;;QAEpB,EAAE,CAAC,KAAK,EAAE;IACZ;AAEU,IAAA,mBAAmB,CAAC,SAAS,EAAA;AACrC,QAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS;IACvC;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,QACE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI;AAChE,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,EAAE;AAChB,SAAA;IAEL;AAEO,IAAA,cAAc,CAAC,KAAoB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC1B,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB;AACA,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;AAChD,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB;AACA,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACrB;QACF;IACF;AAEO,IAAA,aAAa,CAAC,KAAoB,EAAA;AACvC,QAAA,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC;QACrF,MAAM,OAAO,GAAG,WAAW;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACpG,KAAK,CAAC,cAAc,EAAE;QACxB;AACA,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;AAChE,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QACtB;IACF;IAEU,gBAAgB,GAAA;AACxB,QAAA,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC5B,YAAA,MAAM,OAAO,GAAY;AACvB,gBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;AACrB,gBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;AACrB,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACzB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,gBAAA,SAAS,EAAG,CAAC,CAAC,CAAC,CAAc,IAAI,SAAS;gBAC1C,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;AACxC,gBAAA,WAAW,EAAE,EAAE;aAChB;AACD,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;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,GAAG,UAAU;AAC3B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC,KAAK,CAAC;AACtD,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO;AAC9C,gBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,oBAAoB;gBACvD,IAAI,CAAC,WAAW,EAAE;oBAChB;gBACF;gBACA,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AACnD,oBAAA,IACE,IAAI,CAAC,eAAe,CAAC,QAAQ;AAC7B,wBAAA,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAC5D;wBACA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;oBACtD;oBACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AAC9C,oBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;gBACxC,CAAC,EAAE,CAAC,CAAC;YACP;iBAAO;AACL,gBAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;YACrC;QACF;AACA,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxC;AAEA,IAAA,IAAY,oBAAoB,GAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtD;AACA,QAAA,QAAQ,IAAI,CAAC,MAAM;AACjB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;AAC5C,YAAA,KAAK,eAAe;AAClB,gBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE;AACjD,YAAA;gBACE,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE;;IAEzD;IAEQ,wBAAwB,GAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B;QACF;AACA,QAAA,MAAM,SAAS,GAAc,IAAI,SAAS,CACxC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAiB,CACxD;;QAED,IACE,IAAI,CAAC;AACH,cAAE,QAAQ;aACT,UAAU,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAClD;AACA,YAAA,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QACvF;QACA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE;IACzE;+GArRW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,ihBANrB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA4CS,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjF3B,q+FAoEA,EAAA,MAAA,EAAA,CAAA,0z/DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA/C,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA+C,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAlB,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAmB,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD7Ba,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,aAGf,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,q+FAAA,EAAA,MAAA,EAAA,CAAA,0z/DAAA,CAAA,EAAA;sFAGO,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAIQ,UAAU,EAAA,CAAA;sBAAlB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACsC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;;sBAAG;gBAEtB,KAAK,EAAA,CAAA;sBAAb;gBAGG,QAAQ,EAAA,CAAA;sBADX;gBAUG,MAAM,EAAA,CAAA;sBADT;gBAUS,cAAc,EAAA,CAAA;sBAAvB;gBAE0B,OAAO,EAAA,CAAA;sBAAjC,SAAS;uBAAC,cAAc;;;MEtDd,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAH3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAZrB,aAAa;YACb,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAGnB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAMZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAf3B,aAAa;YACb,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FASV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAjB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,cAAc;wBACd,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,qBAAqB;AACtB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;AACtB,qBAAA;AACF,iBAAA;;;MCjBY,qBAAqB,CAAA;AAIhC,IAAA,WAAA,CAAmB,QAAkB,EAAA;QAAlB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAFA,IAAA,CAAA,KAAK,GAAG,gBAAgB;IAGnD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE;QACrB;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QACtB;IACF;+GAbW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAnD,IAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sJCTlC,kFAGA,EAAA,MAAA,EAAA,CAAA,2oBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDMa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kFAAA,EAAA,MAAA,EAAA,CAAA,2oBAAA,CAAA,EAAA;+EAG5B,YAAY,EAAA,CAAA;sBAApB;gBAC0B,KAAK,EAAA,CAAA;sBAA/B,WAAW;uBAAC,YAAY;;;MEDd,yBAAyB,CAAA;AAQpC,IAAA,WAAA,GAAA;QAP2B,IAAA,CAAA,KAAK,GAAG,oBAAoB;QAG9C,IAAA,CAAA,UAAU,GAAa,KAAK;IAKrC;+GATW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8OCVtC,4jBAeA,EAAA,MAAA,EAAA,CAAA,itBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAmD,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDLa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BACE,oBAAoB,EAAA,aAAA,EAGf,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4jBAAA,EAAA,MAAA,EAAA,CAAA,itBAAA,CAAA,EAAA;wDAGV,KAAK,EAAA,CAAA;sBAA/B,WAAW;uBAAC,YAAY;gBAChB,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MEPU,4BAA4B,CAAA;AAIvC,IAAA,WAAA,GAAA;IACA;+GALW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,uGCTzC,2NAOA,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAApD,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,2NAAA,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA;wDAKxB,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MEeU,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAL/B,qBAAqB;YACrB,yBAAyB;AACzB,YAAA,4BAA4B,aAZ5B,YAAY;YACZ,cAAc;AACd,YAAA,YAAY,aAGZ,qBAAqB;YACrB,yBAAyB;YACzB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAQnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAf/B,YAAY;YACZ,cAAc;YACd,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAaH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAjBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,qBAAqB;wBACrB,yBAAyB;wBACzB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,yBAAyB;wBACzB,4BAA4B;AAC7B,qBAAA;AACF,iBAAA;;;MCzBY,sBAAsB,CAAA;AAAnC,IAAA,WAAA,GAAA;QAEU,IAAA,CAAA,GAAG,GAAG,CAAC;QACP,IAAA,CAAA,iBAAiB,GAAG,CAAC;IA4B/B;AAzBE,IAAA,KAAK,CAAC,QAAgB,EAAA;AACpB,QAAA,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;AACnC,YAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ;AACjC,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;YACvB,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,CAAC;IACJ;IAEA,IAAI,GAAA;AACF,QAAA,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;IAC5B;IAEA,KAAK,GAAA;AACH,QAAA,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1B,QAAA,IAAI,CAAC,iBAAiB;AACpB,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG;IAC5D;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YACpC,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;IAC5B;AACD;;AC/BD;MA4Ba,mBAAmB,CAAA;AA0C9B,IAAA,IAA0B,QAAQ,GAAA;QAChC,MAAM,QAAQ,GAAG,aAAa;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ;QACzC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;QACtC;aAAO;AACL,YAAA,OAAO,QAAQ;QACjB;IACF;IAEA,WAAA,CAAoB,GAAsB,EAAU,YAAoC,EAAA;QAApE,IAAA,CAAA,GAAG,GAAH,GAAG;QAA6B,IAAA,CAAA,YAAY,GAAZ,YAAY;AAnDhE,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAqB;AAC7C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAA,CAAA,KAAK,GAAG,MAAM,EAAuB;QACrC,IAAA,CAAA,OAAO,GAAG,MAAM,EAAU;QAC1B,IAAA,CAAA,MAAM,GAAG,MAAM,EAAU;AAEjB,QAAA,IAAA,CAAA,YAAY,GAAoD;AACtE,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,oBAAoB;SAC3B;QAED,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;AAExF,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACxB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAA,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO;AAC/E,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AACvB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,GAAG,CAAC,QAAQ,EAAE;gBAChB,OAAO,GAAG,CAAC,QAAQ;YACrB;AACA,YAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE;AAClE,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAA6B,MAAK;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ;AACxC,YAAA,MAAM,MAAM,GAAsE;AAChF,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,IAAI,EAAE,SAAS;aAChB;AACD,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS;AACtC,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,YAAY,WAAW,CAAC;IAa7E;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAK;YACjD,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,QAAA,CAAC,CAAC;IACJ;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACxB,QAAA,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,GAAG,CAAC,MAAM,EAAE;QACd;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;+GApFW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAoD,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EALnB,CAAC,sBAAsB,CAAC,0BCvBrC,ixBAiCA,EAAA,MAAA,EAAA,CAAA,+7BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAwC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAlB,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDLa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACE,aAAa,EAAA,SAAA,EAGZ,CAAC,sBAAsB,CAAC,EAAA,aAAA,EACpB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ixBAAA,EAAA,MAAA,EAAA,CAAA,+7BAAA,CAAA,EAAA;wHA6CrB,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;;;SEjEN,YAAY,GAAA;AAC1B,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3F;MAKa,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIW,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAsB,EAAE,CAAC;QACzD,IAAA,CAAA,YAAY,GAAwB,EAAE;AAoB/C,IAAA;AAlBC,IAAA,IAAI,CAAC,OAA0B,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;AACf,YAAA,OAAO,CAAC,EAAE,GAAG,YAAY,EAAE;QAC7B;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACxC;AAEA,IAAA,OAAO,CAAC,SAAiB,EAAA;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACxC;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACxC;+GArBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCQY,4BAA4B,CAAA;AACvC,IAAA,IAA+B,OAAO,GAAA;AACpC,QAAA,OAAO,uBAAuB;IAChC;;IASA,WAAA,CAAoB,GAAsB,EAAU,eAAkC,EAAA;QAAlE,IAAA,CAAA,GAAG,GAAH,GAAG;QAA6B,IAAA,CAAA,eAAe,GAAf,eAAe;QAPnE,IAAA,CAAA,KAAK,GAAG,EAAE;QACV,IAAA,CAAA,QAAQ,GAAwB,EAAE;AAE1B,QAAA,IAAA,CAAA,aAAa,GAAG;YACtB,QAAQ,EAAE,YAAY,CAAC,KAAK;SAC7B;AAGC,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAA6B,KAAI;AACvG,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAExB,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC5D,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;AAEA,IAAA,OAAO,CAAC,QAA6B,EAAA;AACnC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,QAAA,cAAc,CAAC,GAAG,GAAG,QAAQ;QAC7B,QAAQ,CAAC,UAAU,EAAE;IACvB;AAEA,IAAA,SAAS,CAAC,SAAiB,EAAA;AACzB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,EAAE,KAAK,SAAS,CAAC;AACrF,QAAA,IAAI,OAAO,EAAE,GAAG,EAAE;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;QACzB;AACA,QAAA,IAAI,OAAO,EAAE,EAAE,EAAE;YACf,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C;;AAEA,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;;AAEjC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;+GAhDW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAmB,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,qHCnBzC,+hBAkBA,EAAA,MAAA,EAAA,CAAA,4RAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA3C,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA0C,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDCa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;+BACE,uBAAuB,EAAA,aAAA,EAGlB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+hBAAA,EAAA,MAAA,EAAA,CAAA,4RAAA,CAAA,EAAA;mHAGN,OAAO,EAAA,CAAA;sBAArC,WAAW;uBAAC,YAAY;;;MEKd,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAJzB,mBAAmB;AACnB,YAAA,4BAA4B,aAX5B,YAAY;YACZ,cAAc;YACd,kBAAkB;AAClB,YAAA,YAAY,aAGZ,mBAAmB;YACnB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAOnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAdzB,YAAY;YACZ,cAAc;YACd,kBAAkB;YAClB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAWH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,4BAA4B;AAC7B,qBAAA;AACF,iBAAA;;;MCfY,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,KAAK,GAAwD,OAAO;QACpE,IAAA,CAAA,OAAO,GAAqC,QAAQ;QACpD,IAAA,CAAA,SAAS,GAAuB,MAAM;QACtC,IAAA,CAAA,eAAe,GAAY,wBAAwB;;AAUlD,QAAA,IAAA,CAAA,MAAM,GAAyB,IAAI,YAAY,EAAU;AA2DpE,IAAA;IAzDC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC;IACF;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,EAAE;AAClB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,YAAA,IAAI,CAAC,KAAK,GAAG,OAAO;AACpB,YAAA,QAAQ,OAAO,CAAC,MAAM,CAAC,YAAY;AACjC,gBAAA,KAAK,QAAQ;AACX,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;oBAClB;AACF,gBAAA,KAAK,WAAW;AACd,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;oBACrB;AACF,gBAAA,KAAK,MAAM;AACT,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;oBAChB;AACF,gBAAA,KAAK,UAAU;AACb,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;oBACpB;AACF,gBAAA,KAAK,OAAO;AACV,oBAAA,IAAI,CAAC,KAAK,GAAG,OAAO;oBACpB;AACF,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,CAAC,KAAK,GAAG,SAAS;oBACtB;AACF,gBAAA,KAAK,MAAM;AACT,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM;oBACnB;AACF,gBAAA,KAAK,SAAS;AACd,gBAAA;;oBAEE;;QAEN;AACA,QAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE;AAC5D,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;QACxB;AACA,QAAA,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,KAAK,KAAK,EAAE;AAClE,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW;QAC3B;AACA,QAAA,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;AACxD,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QACtB;AACA,QAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,KAAK,EAAE;AAChE,YAAA,IAAI,CAAC,MAAM,GAAG,UAAU;QAC1B;QACA,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC7F,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;QACzB;IACF;+GAzEW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,mYCT5B,yzCAiCA,EAAA,MAAA,EAAA,CAAA,w+MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAxD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDxBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,yzCAAA,EAAA,MAAA,EAAA,CAAA,w+MAAA,CAAA,EAAA;8BAKV,UAAU,EAAA,CAAA;sBAAlB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAES,MAAM,EAAA,CAAA;sBAAf;;MAkEU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDAHzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAG1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,YACnB,2BAA2B,EAAA;;;MEhE1B,kBAAkB,CAAA;AAQ7B,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;AAEzB,wBAAA,EAAA,IAAI,CAAC,eAAe,CAAA;AACzC,IAAA,CAAA,CAAC;IACJ;AAIA,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;QAhBpB,IAAA,CAAA,UAAU,GAAW,CAAC;QAEtB,IAAA,CAAA,SAAS,GAAuB,MAAM;QACtC,IAAA,CAAA,eAAe,GAAY,wBAAwB;AAClD,QAAA,IAAA,CAAA,UAAU,GAAyB,IAAI,YAAY,EAAU;QAU/D,IAAA,CAAA,aAAa,GAAmB,EAAE;IAG1C;IAEA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACxB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAClE,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;IACpB;AAEA,IAAA,YAAY,CAAC,IAAa,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE;IACpB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;gBACxB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACrC,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,oBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,oBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;AAC3C,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;gBACjC;AACA,gBAAA,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE;AAC7D,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,oBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;AAC3C,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;gBACjC;gBACA,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACrC,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,oBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,oBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;AAC3C,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;gBACjC;AACA,gBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC9D,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;gBAClB;AACF,YAAA,CAAC,CAAC;QACJ;IACF;+GA3EW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAMZ,eAAe,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATtB,4CAA4C,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAG3C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,YACZ,4CAA4C,EAAA;iFAI7C,UAAU,EAAA,CAAA;sBAAlB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACS,UAAU,EAAA,CAAA;sBAAnB;gBACiC,KAAK,EAAA,CAAA;sBAAtC,eAAe;uBAAC,eAAe;gBAEN,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO;;;MCNT,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBALxB,eAAe;YACf,wBAAwB;AACxB,YAAA,kBAAkB,aAZlB,YAAY;YACZ,YAAY;AACZ,YAAA,kBAAkB,aAGlB,eAAe;YACf,wBAAwB;YACxB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAQT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAfxB,YAAY;YACZ,YAAY;YACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;;4FAaT,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,wBAAwB;wBACxB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,wBAAwB;wBACxB,kBAAkB;AACnB,qBAAA;AACF,iBAAA;;;ACxBD;AACA;AAaA;;;AAGG;AAMG,MAAO,SAAU,SAAQ,UAAU,CAAA;+GAA5B,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAHT,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGjD,SAAS,EAAA,UAAA,EAAA,CAAA;kBALrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAA,SAAW,EAAE,CAAC;AAC5D,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;AAID;;;AAGG;AAMG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;+GAAxC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAHf,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG7D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAA,eAAiB,EAAE,CAAC;AACxE,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;AAID;;;AAGG;AAMG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;+GAAxC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAHf,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG7D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAA,eAAiB,EAAE,CAAC;AACxE,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;AAID;;;AAGG;AAQG,MAAO,WAAY,SAAQ,YAAY,CAAA;;AAE3C,IAAA,IACa,IAAI,GAAA;QACf,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IAAa,IAAI,CAAC,IAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1B;AAEA;;;;;AAKG;IACgB,yBAAyB,GAAA;QAC1C,KAAK,CAAC,yBAAyB,EAAE;QACjC,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,oBAAoB,CAAA,CAAE,CAAC;IAC1E;+GApBW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,aAAA,EAAA,MAAA,CAAA,EAAA,EAAA,SAAA,EALX;AACT,YAAA,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE;AACpD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGU,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,aAAa,EAAE;AACpD,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAIc,IAAI,EAAA,CAAA;sBADhB,KAAK;uBAAC,aAAa;;AAqBtB;AAKM,MAAO,YAAa,SAAQ,aAAa,CAAA;AAJ/C,IAAA,WAAA,GAAA;;QAKiB,IAAA,CAAA,KAAK,GAAW,gBAAgB;QAChC,IAAA,CAAA,IAAI,GAAW,cAAc;AAC7C,IAAA;+GAHY,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAEgB,KAAK,EAAA,CAAA;sBAAnB;gBACc,IAAI,EAAA,CAAA;sBAAlB;;AAGH;AAKM,MAAO,YAAa,SAAQ,aAAa,CAAA;AAJ/C,IAAA,WAAA,GAAA;;QAKiB,IAAA,CAAA,KAAK,GAAW,gBAAgB;AAChD,IAAA;+GAFY,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAEgB,KAAK,EAAA,CAAA;sBAAnB;;AAGH;AAKM,MAAO,MAAO,SAAQ,OAAO,CAAA;AAJnC,IAAA,WAAA,GAAA;;QAKiB,IAAA,CAAA,KAAK,GAAW,SAAS;AACzC,IAAA;+GAFY,MAAM,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBAJlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAEgB,KAAK,EAAA,CAAA;sBAAnB;;;AC7GH;AACA;AACA;AAaA,MAAM,YAAY,GAAG,6CAA6C;AAElE;;;AAGG;AAKG,MAAO,cAAe,SAAQ,eAAe,CAAA;+GAAtC,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAFd,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE3D,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,cAAgB,EAAE,CAAC;AACvE,iBAAA;8BAE0B,OAAO,EAAA,CAAA;sBAA/B,KAAK;uBAAC,gBAAgB;;AAIzB;;;AAGG;AAKG,MAAO,cAAe,SAAQ,eAAe,CAAA;+GAAtC,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAFd,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE3D,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,cAAgB,EAAE,CAAC;AACvE,iBAAA;8BAE0B,OAAO,EAAA,CAAA;sBAA/B,KAAK;uBAAC,gBAAgB;;AAIzB;;;;AAIG;AAKG,MAAO,QAAY,SAAQ,SAAY,CAAA;+GAAhC,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,IAAA,EAAA,CAAA,cAAA,EAAA,MAAA,CAAA,EAAA,EAAA,SAAA,EAFR,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE/C,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;oBACtB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAA,QAAU,EAAE,CAAC;AAC3D,iBAAA;8BAE2B,OAAO,EAAA,CAAA;sBAAhC,KAAK;uBAAC,iBAAiB;gBACD,IAAI,EAAA,CAAA;sBAA1B,KAAK;uBAAC,cAAc;;AAGvB;AAWM,MAAO,WAAY,SAAQ,YAAY,CAAA;AAV7C,IAAA,WAAA,GAAA;;QAWiB,IAAA,CAAA,KAAK,GAAG,eAAe;QACvB,IAAA,CAAA,IAAI,GAAG,KAAK;AAC5B,IAAA;+GAHY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAFX,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAErD,WAAW,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,YAAY;;;oBAGtB,eAAe,EAAE,uBAAuB,CAAC,OAAO;oBAChD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAA,WAAa,EAAE,CAAC;AACjE,iBAAA;8BAEgB,KAAK,EAAA,CAAA;sBAAnB;gBACc,IAAI,EAAA,CAAA;sBAAlB;;AAGH;AAWM,MAAO,WAAY,SAAQ,YAAY,CAAA;AAV7C,IAAA,WAAA,GAAA;;QAWiB,IAAA,CAAA,KAAK,GAAG,eAAe;QACvB,IAAA,CAAA,IAAI,GAAG,KAAK;AAC5B,IAAA;+GAHY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAFX,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAErD,WAAW,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,YAAY;;;oBAGtB,eAAe,EAAE,uBAAuB,CAAC,OAAO;oBAChD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAA,WAAa,EAAE,CAAC;AACjE,iBAAA;8BAEgB,KAAK,EAAA,CAAA;sBAAnB;gBACc,IAAI,EAAA,CAAA;sBAAlB;;AAGH;AAWM,MAAO,KAAM,SAAQ,MAAM,CAAA;AAVjC,IAAA,WAAA,GAAA;;QAWiB,IAAA,CAAA,KAAK,GAAG,QAAQ;QAChB,IAAA,CAAA,IAAI,GAAG,KAAK;AAC5B,IAAA;+GAHY,KAAK,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAL,KAAK,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAFL,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEzC,KAAK,EAAA,UAAA,EAAA,CAAA;kBAVjB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,YAAY;;;oBAGtB,eAAe,EAAE,uBAAuB,CAAC,OAAO;oBAChD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,OAAO;oBACjB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAA,KAAO,EAAE,CAAC;AACrD,iBAAA;8BAEgB,KAAK,EAAA,CAAA;sBAAnB;gBACc,IAAI,EAAA,CAAA;sBAAlB;;AAGH;AAKM,MAAO,WAAY,SAAQ,YAAY,CAAA;AAJ7C,IAAA,WAAA,GAAA;;QAKW,IAAA,CAAA,iBAAiB,GAAG,gBAAgB;AAC9C,IAAA;+GAFY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,QAAA,EAAA,0BAAA,EAAA,SAAA,EAFX,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAErD,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAA,WAAa,EAAE,CAAC;AACjE,iBAAA;;;ACjFK,MAAO,gBAAoB,SAAQ,QAAW,CAAA;AAlBpD,IAAA,WAAA,GAAA;;QAmBmB,IAAA,CAAA,KAAK,GAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,aAAa,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;QAEzE,IAAA,CAAA,cAAc,GAAG,iBAAiB;;QAGlC,IAAA,CAAA,4BAA4B,GAAG,KAAK;AAC1D,IAAA;+GAPY,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAbd;AACP,YAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;AACpD,YAAA,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE;AACrD,YAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AAC3E,YAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,4BAA4B,EAAE;;AAE5E,YAAA,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC3D,SAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBL,wLAIA,EAAA,MAAA,EAAA,CAAA,y4JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDwBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAlB5B,SAAS;+BACI,2BAA2B,EAAA,QAAA,EAC3B,SAAS,EAAA,SAAA,EAGR;AACP,wBAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,kBAAkB,EAAE;AACpD,wBAAA,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,kBAAkB,EAAE;AACrD,wBAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AAC3E,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,4BAA4B,EAAE;;AAE5E,wBAAA,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC3D,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EAGpB,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,wLAAA,EAAA,MAAA,EAAA,CAAA,y4JAAA,CAAA,EAAA;8BAGjC,KAAK,EAAA,CAAA;sBAAnB;;;AEDC,MAAO,qBAAyB,SAAQ,QAAW,CAAA;AAlBzD,IAAA,WAAA,GAAA;;QAmBiB,IAAA,CAAA,KAAK,GAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,GAAG,aAAa,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;QAE/E,IAAA,CAAA,cAAc,GAAG,iBAAiB;;QAGlC,IAAA,CAAA,4BAA4B,GAAG,KAAK;AACxD,IAAA;+GAPY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,QAAA,EAAA,uCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAbrB;AACT,YAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;AACzD,YAAA,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC1D,YAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AAC3E,YAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,4BAA4B,EAAE;;AAE5E,YAAA,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;AACzD,SAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EDtBH,wLAIA,EAAA,MAAA,EAAA,CAAA,+7JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FCwBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlBjC,SAAS;+BACE,uCAAuC,EAAA,QAAA,EACvC,cAAc,EAAA,SAAA,EAGb;AACT,wBAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,uBAAuB,EAAE;AACzD,wBAAA,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,uBAAuB,EAAE;AAC1D,wBAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AAC3E,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,4BAA4B,EAAE;;AAE5E,wBAAA,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;AACzD,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EAGpB,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,wLAAA,EAAA,MAAA,EAAA,CAAA,+7JAAA,CAAA,EAAA;8BAGjC,KAAK,EAAA,CAAA;sBAAnB;;;MCsBU,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAXtB,gBAAgB;YAChB,qBAAqB;YACrB,KAAK;YACL,QAAQ;YACR,WAAW;YACX,cAAc;YACd,WAAW;YACX,cAAc;AACd,YAAA,WAAW,aArCX,cAAc;YACd,YAAY;YACZ,MAAM;YACN,SAAS;YACT,WAAW;YACX,YAAY;YACZ,eAAe;YACf,YAAY;AACZ,YAAA,eAAe,aAGf,MAAM;YACN,SAAS;YACT,WAAW;YACX,YAAY;YACZ,eAAe;YACf,WAAW;YACX,cAAc;YACd,YAAY;YACZ,eAAe;YACf,WAAW;YACX,cAAc;YACd,WAAW;YACX,KAAK;YACL,QAAQ;YACR,gBAAgB;YAChB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAcZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAxCtB,cAAc;YACd,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAuCH,aAAa,EAAA,UAAA,EAAA,CAAA;kBA1CzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,YAAY;wBACZ,MAAM;wBACN,SAAS;wBACT,WAAW;wBACX,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,MAAM;wBACN,SAAS;wBACT,WAAW;wBACX,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,cAAc;wBACd,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,cAAc;wBACd,WAAW;wBACX,KAAK;wBACL,QAAQ;wBACR,gBAAgB;wBAChB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,gBAAgB;wBAChB,qBAAqB;wBACrB,KAAK;wBACL,QAAQ;wBACR,WAAW;wBACX,cAAc;wBACd,WAAW;wBACX,cAAc;wBACd,WAAW;AACZ,qBAAA;AACF,iBAAA;;;MCxCY,cAAc,CAAA;AAL3B,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,KAAK,GAA4B,SAAS;;AAGzC,QAAA,IAAA,CAAA,MAAM,GAAiC,IAAI,YAAY,EAAkB;QAC7C,IAAA,CAAA,MAAM,GAAY,KAAK;QACrB,IAAA,CAAA,QAAQ,GAAY,KAAK;QAC5C,IAAA,CAAA,IAAI,GAAG,QAAQ;QACF,IAAA,CAAA,QAAQ,GAAG,EAAE;AA0BhD,IAAA;AAxBC,IAAA,IAA0B,QAAQ,GAAA;AAChC,QAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACzC;IAEuB,OAAO,GAAA;QAC5B,IAAI,CAAC,YAAY,EAAE;IACrB;AAE0C,IAAA,QAAQ,CAAC,KAAoB,EAAA;QACrE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;YAChG,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;YAC1B;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB;IACF;+GAlCW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,scCV3B,yJAGA,EAAA,MAAA,EAAA,CAAA,8iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDOa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,QAAQ,EAAA,QAAA,EAAA,yJAAA,EAAA,MAAA,EAAA,CAAA,8iCAAA,CAAA,EAAA;8BAKT,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACqC,MAAM,EAAA,CAAA;sBAA3C,WAAW;uBAAC,cAAc;;sBAAG;gBACU,QAAQ,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;sBAAG;gBACX,IAAI,EAAA,CAAA;sBAAxB,WAAW;uBAAC,MAAM;gBACe,QAAQ,EAAA,CAAA;sBAAzC,WAAW;uBAAC,UAAU;;sBAAG;gBAEA,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;gBAIG,OAAO,EAAA,CAAA;sBAA7B,YAAY;uBAAC,OAAO;gBAIqB,QAAQ,EAAA,CAAA;sBAAjD,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;;MEvB7B,mBAAmB,CAAA;AALhC,IAAA,WAAA,GAAA;QAMwC,IAAA,CAAA,MAAM,GAAY,KAAK;AAE9D,IAAA;+GAHY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2ICPhC,6BACA,EAAA,MAAA,EAAA,CAAA,iDAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,iDAAA,CAAA,EAAA;8BAKc,MAAM,EAAA,CAAA;sBAA3C,WAAW;uBAAC,cAAc;;sBAAG;;;MEYnB,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,QAAQ,GAAa,KAAK;;AAEzB,QAAA,IAAA,CAAA,MAAM,GAAiC,IAAI,YAAY,EAAkB;QAO3E,IAAA,CAAA,aAAa,GAAwB,EAAE;AAoChD,IAAA;AAxCC,IAAA,IAA0B,QAAQ,GAAA;QAChC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/D;IAIA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,YAAY,CAAC,WAAW,EAAE;QAC5B;IACF;IAEA,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;AACnD,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI;AAC5B,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;YACpC;QACF;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG;AACtB,YAAA,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC5E,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,eAAe,CAAC,GAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,KAAI;AAC7B,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACb,gBAAA,CAAC,CAAC,MAAM,GAAG,KAAK;AAChB,gBAAA,IAAI,CAAC,CAAC,KAAK,EAAE;AACX,oBAAA,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;gBACxB;YACF;iBAAO;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC7B;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACvB;+GA/CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAMT,cAAc,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BjC,0EAEA,EAAA,MAAA,EAAA,CAAA,4HAAA,CAAA,EAAA,CAAA,CAAA;;4FDkBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,4HAAA,CAAA,EAAA;8BAKV,cAAc,EAAA,CAAA;sBAAtB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACgC,IAAI,EAAA,CAAA;sBAApC,eAAe;uBAAC,cAAc;gBAEL,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,OAAO;;;MEJT,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBALrB,cAAc;YACd,mBAAmB;AACnB,YAAA,eAAe,aAXf,YAAY;AACZ,YAAA,YAAY,aAGZ,cAAc;YACd,mBAAmB;YACnB,eAAe,CAAA,EAAA,CAAA,CAAA;AAQN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAdrB,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAaH,YAAY,EAAA,UAAA,EAAA,CAAA;kBAhBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,mBAAmB;wBACnB,eAAe;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,cAAc;wBACd,mBAAmB;wBACnB,eAAe;AAChB,qBAAA;AACF,iBAAA;;;MCRY,wBAAwB,CAAA;AAVrC,IAAA,WAAA,GAAA;QAYW,IAAA,CAAA,OAAO,GAAW,CAAC;QACnB,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,QAAQ,GAAa,KAAK;;QAcI,IAAA,CAAA,KAAK,GAAa,KAAK;QAGrD,IAAA,CAAA,KAAK,GAAG,EAAE;QACnB,IAAA,CAAA,eAAe,GAAgB,IAAI;QAE5B,IAAA,CAAA,OAAO,GAAG,MAAW;AAC5B,QAAA,CAAC;;AAEM,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,KAAU;AAC1C,QAAA,CAAC;QAoCkB,IAAA,CAAA,GAAG,GAAG,GAAG;AAC7B,IAAA;AAnCC,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG;IAClB;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,aAAa,CAAC,KAAoB,EAAA;QAChC,IAAI,CAAC,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;QAEd,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACxC;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;IAChB;+GA9DW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,2VANxB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqBS,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClChC,isBAmBA,EAAA,MAAA,EAAA,CAAA,i1GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAyB,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDJa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,aAGlB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,wBAA0B;AACrC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,isBAAA,EAAA,MAAA,EAAA,CAAA,i1GAAA,CAAA,EAAA;8BAIO,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAIQ,UAAU,EAAA,CAAA;sBAAlB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAEsC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;;sBAAG;gBACC,QAAQ,EAAA,CAAA;sBAAvC,SAAS;uBAAC,mBAAmB;gBAErB,KAAK,EAAA,CAAA;sBAAb;;;MEbU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CAH9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CATxB,YAAY;YACZ,mBAAmB;YACnB,eAAe;AACf,YAAA,YAAY,aAGZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAMf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAZ9B,YAAY;YACZ,mBAAmB;YACnB,eAAe;YACf,YAAY,CAAA,EAAA,CAAA,CAAA;;4FASH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAdjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,eAAe;wBACf,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;AACzB,qBAAA;AACF,iBAAA;;;ACFD;AACA;MAYa,mBAAmB,CAAA;AAVhC,IAAA,WAAA,GAAA;AAWE,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QAChC,IAAA,CAAA,oBAAoB,GAAG,eAAe,CAA8B,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC1G,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAmC,UAAU,CAAC;QAElE,IAAA,CAAA,aAAa,GAAG,EAAE;AAElB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAgB,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,IAAG;;gBAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC9C,OAAO,WAAW,CAAC,SAAS;AAC9B,YAAA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACf,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC;AAE9B,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,MAAK;YAC5B,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,gBAAgB,EAAE;AACzB,QAAA,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;AAE/B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;YACvC,IAAI,CAAC,gBAAgB,EAAE;AACzB,QAAA,CAAC,CAAC;AAgEH,IAAA;IA9DC,QAAQ,GAAA;;AAEN,QAAA,MAAM,OAAO,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAClC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9C,oBAAoB,EAAE,CACvB;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,aAAa,KAAI;AAC1D,YAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;AAC7B,QAAA,CAAC,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAG,CAAC;AAC3D,QAAA,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACpE,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B;QACF;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;QACnC,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;QAEA,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAW,CAAC,aAA6B,CAAC,qBAAqB,EAAE;AACxF,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAA4B,CAAC;AAC7F,QAAA,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa;AAEjD,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7D,QAAA,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE1C,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,IAAG;AAC9C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC7C,YAAA,OAAO,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AAChF,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;AAEpE,QAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,MAAM,qBAAqB,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC,KAAK,KAAK,eAAe,CAAC,WAAW,CAAC;YAE9H,IAAI,CAAC,qBAAqB,EAAE;AAC1B,gBAAA,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;YACrC;AAEA,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC;AACnC,YAAA,aAAa,CAAC,OAAO,CAAC,UAAU,IAAG;AACjC,gBAAA,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACpC,YAAA,CAAC,CAAC;QACJ;aAAO;AACL,YAAA,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC;;AAGA,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;IACrC;IACA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IACtD;+GA3FW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,SAAA,EAGsC,eAAe,EAAA,IAAA,EAAU,UAAU,mKCpCzG,8KAMA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDqBI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAlB,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EAAA,OAAA,EACP;wBACP,YAAY;wBACZ,eAAe;AAChB,qBAAA,EAAA,QAAA,EAAA,8KAAA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA;;;AEGH;;;AAGG;MA0BU,oBAAoB,CAAA;AAzBjC,IAAA,WAAA,GAAA;AA8BE,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC;AACnC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;AACtB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;AAUvB,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAW,KAAU;AACjC,QAAA,CAAC;QAMD,IAAA,CAAA,SAAS,GAAG,MAAW;AACvB,QAAA,CAAC;AAWD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAW,EAAE,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,IAAA,CAAA,YAAY,GAAG,KAAK,CAA8B,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC3E,QAAA,IAAA,CAAA,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;AAE/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;AACjC,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;AAErB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,MAAK;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC7B,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;AACvB,QAAA,IAAA,CAAA,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAUpD,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;AACtB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC;AACpC,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAE3D;;AAEG;QACH,IAAA,CAAA,gBAAgB,GAAyB,aAAa,CAAC;AACrD,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,aAAa;AACnB,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;QAGjC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,KAAI;AACxC,YAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,MAAM,gBAAgB,GAAG,WAA+B;AACxD,gBAAA,OAAO,gBAAgB,CAAC,YAAY,CAAC;YACvC;iBAAO;;gBAEL,MAAM,mBAAmB,GAAG,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9G,gBAAA,OAAO,EAAE,CAAC,mBAAmB,CAAC;YAChC;AAEF,QAAA,CAAC,CAAC;;AAGF,QAAA,SAAS,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAC/D,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,KAAI;AAC9B,YAAA,OAAO,OAAO,EAAE,MAAM,CAAC,MAAM,IAAG;gBAC9B,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5F,OAAO,CAAC,eAAe;AACzB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC,EAEF,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACnC;AACD;;AAEG;AACH,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAYjD,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AAC/B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;YAEnC,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,OAAO,KAAK;YACd;AAEA,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;AAChE,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAGvG,YAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC;AACzE,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,QAAgB,KAAU;YAEpC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7D,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW;AAE7D,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAEjE,YAAA,IAAI,oBAAoB,IAAI,WAAW,EAAE;gBACvC;YACF;YAEA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI;gBAC7B,GAAG,SAAS,IAAI,EAAE;gBAClB,QAAQ;AACT,aAAA,CAAC;AACJ,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,WAAW,KAAU;YACxC,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1B,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1B,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,MAAK;YACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACjD,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B;AACF,QAAA,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;AAE/B,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,CAAC;AACpD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC5B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACvC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;AAEnC,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;AACpC,YAAA,OAAO,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK;AAC/D,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAA+B,OAAO,CAAC;;AAepE,QAAA,IAAA,CAAA,aAAa,GAAsD;YACjE,OAAO,EAAE,MAAK;gBACZ,IAAI,CAAC,SAAS,EAAE;gBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;AAExF,gBAAA,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAC1B;gBACF;AAEA,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,CAAC;YACD,WAAW,EAAE,MAAK;AAChB,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1B,CAAC;YACD,SAAS,EAAE,MAAK;AACd,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB,CAAC;YACD,WAAW,EAAE,MAAK;gBAChB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvD;gBACA,OAAO,CAAC,aAAa;YACvB,CAAC;YACD,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;AACzB,oBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;gBACxB;YACF,CAAC;SACF;AAyCF,IAAA;IA/PiC,YAAY,GAAA;AACxC,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;IAC1B;AAOA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC/B;AAEA,IAAA,UAAU,CAAC,aAAuB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/B;AAKA,IAAA,gBAAgB,CAAC,UAAU,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAKA,IAAA,iBAAiB,CAAC,WAAW,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,WAAW;IAC9B;AAEmC,IAAA,OAAO,CAAC,KAAiB,EAAA;QAC1D,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;IACzB;AAmBA,IAAA,kBAAkB,CAAC,KAAoB,EAAA;AACrC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;AACzB,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QACvB;AACA,QAAA,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AA6CA,IAAA,SAAS,CAAC,SAAiB,EAAA;AACzB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE;AACjC,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,SAAS,CAAC;AAC9D,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE;;AAEjB,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;IACrC;IA2DA,UAAU,CAAC,IAAgB,IAAI,EAAA;QAC7B,CAAC,EAAE,cAAc,EAAE;QACnB,CAAC,EAAE,eAAe,EAAE;QACpB,CAAC,EAAE,wBAAwB,EAAE;;QAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;IACvC;AAEA,IAAA,WAAW,CAAC,CAAQ,EAAA;QAClB,IAAI,CAAC,SAAS,EAAE;IAClB;;AAsCA,IAAA,SAAS,CAAC,CAAgB,EAAA;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,QAAA,OAAO,GAAG,CAAC,CAAC;IACd;AAEA,IAAA,eAAe,CAAC,KAAa,EAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACvC,QAAA,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC;AAChE,QAAA,MAAM,UAAU,GAAG,UAAU,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;AACrD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC;AAEQ,IAAA,WAAW,CAAC,SAAwB,EAAA;AAC1C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACvC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AAEjC,QAAA,MAAM,UAAU,GAAG,CAAC,CAAS,KAAY;AACvC,YAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACT,gBAAA,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3B;AAAO,iBAAA,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;AAC9B,gBAAA,OAAO,CAAC;YACV;AAEA,YAAA,OAAO,CAAC;AACV,QAAA,CAAC;AAED,QAAA,MAAM,WAAW,GAAG,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QAE/C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;AAChD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE/B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;;QAGjE,YAAY,CAAC,cAAc,EAAE;IAC/B;+GA9PW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,aAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAXpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAUmB,cAAc,sFA0JF,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5NrD,ywEAwEA,EAAA,MAAA,EAAA,CAAA,ulCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhCI,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAkD,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAb,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,qBAAqB,4DACrB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAaE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAzBhC,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EAAA,OAAA,EACP;wBACP,iBAAiB;wBACjB,YAAY;wBACZ,mBAAmB;wBACnB,YAAY;wBACZ,aAAa;wBACb,qBAAqB;wBACrB,gBAAgB;wBAChB,mBAAmB;wBACnB,OAAO;qBACR,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ywEAAA,EAAA,MAAA,EAAA,CAAA,ulCAAA,CAAA,EAAA;8BAGf,YAAY,EAAA,CAAA;sBAA3C,YAAY;uBAAC,gBAAgB;gBA+BK,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;MErFtB,uBAAuB,CAAA;AANpC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,WAAW,GAAoE,OAAO;QAMxD,IAAA,CAAA,KAAK,GAAG,IAAI;AACpD,IAAA;+GAVY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wSCRpC,qqBAaA,EAAA,MAAA,EAAA,CAAA,yaAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA7D,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA8D,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDLa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qqBAAA,EAAA,MAAA,EAAA,CAAA,yaAAA,CAAA,EAAA;8BAG5B,KAAK,EAAA,CAAA;sBAAb;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEsC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,wBAAwB;;;MEC1B,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAH7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAPvB,YAAY;AACZ,YAAA,mBAAmB,aAGnB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAMd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAV7B,YAAY;YACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FASV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAZhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;AACxB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;AACxB,qBAAA;AACF,iBAAA;;;ACjBD;;AAEG;;;;"}