otimus-library 0.3.42 → 0.3.43
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.
|
@@ -1605,11 +1605,11 @@ class OcPaginationComponent {
|
|
|
1605
1605
|
this.ocGetPage.emit(this.ocPage);
|
|
1606
1606
|
}
|
|
1607
1607
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: OcPaginationComponent, deps: [{ token: StyleThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1608
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: OcPaginationComponent, isStandalone: true, selector: "oc-pagination", inputs: { ocPage: "ocPage", ocMaxPage: "ocMaxPage", ocStyle: "ocStyle" }, outputs: { ocGetPage: "ocGetPage" }, ngImport: i0, template: "<div\n class=\"oc-pagination\"\n [ngClass]=\"ocStyle\"\n>\n <p class=\"oc-pagination-text\">\n P\u00E1gina\n <span>{{ ocPage }}</span>\n de\n <span>{{ ocMaxPage }}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button\n (click)=\"firstPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button\n (click)=\"decrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button\n (click)=\"incrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button\n (click)=\"lastPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\"> keyboard_double_arrow_right </span>\n </button>\n </div>\n</div>\n", styles: [".oc-pagination{display:flex;align-items:center;justify-content:flex-end;gap:1rem;border:none;overflow:hidden}.oc-pagination .oc-pagination-buttons{display:flex;align-items:center;gap:0;border:2px solid #f7f7f7;border-radius:.5rem;transition:.3s ease}.oc-pagination .oc-pagination-buttons:hover{border-color:#d1d5db}.oc-pagination .oc-pagination-buttons button{margin:0;transition:.15s ease;border-radius:.5rem;cursor:pointer;border:none;height:3rem;padding:0 1rem;display:flex;align-items:center;justify-content:center;background-color:transparent;color:#7e8485;font-weight:700}.oc-pagination .oc-pagination-buttons button:hover{background-color:#f7f7f7;color:#7737b5}.oc-pagination .oc-pagination-buttons button:active{transform:translateY(2px)}.oc-pagination .oc-pagination-text{font-weight:500;font-size:1rem;margin:0;color:#8f9596}.oc-pagination .oc-pagination-text span{font-weight:700;color:#5505a2}.disabled{cursor:not-allowed!important;opacity:.4;pointer-events:none}.oc-pagination.shui .oc-pagination-buttons{border-radius:.25rem}.oc-pagination.shui .oc-pagination-buttons
|
|
1608
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: OcPaginationComponent, isStandalone: true, selector: "oc-pagination", inputs: { ocPage: "ocPage", ocMaxPage: "ocMaxPage", ocStyle: "ocStyle" }, outputs: { ocGetPage: "ocGetPage" }, ngImport: i0, template: "<div\n class=\"oc-pagination\"\n [ngClass]=\"ocStyle\"\n>\n <p class=\"oc-pagination-text\">\n P\u00E1gina\n <span>{{ ocPage }}</span>\n de\n <span>{{ ocMaxPage }}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button\n (click)=\"firstPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button\n (click)=\"decrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button\n (click)=\"incrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button\n (click)=\"lastPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\"> keyboard_double_arrow_right </span>\n </button>\n </div>\n</div>\n", styles: [".oc-pagination{display:flex;align-items:center;justify-content:flex-end;gap:1rem;border:none;overflow:hidden}.oc-pagination .oc-pagination-buttons{display:flex;align-items:center;gap:0;border:2px solid #f7f7f7;border-radius:.5rem;transition:.3s ease}.oc-pagination .oc-pagination-buttons:hover{border-color:#d1d5db}.oc-pagination .oc-pagination-buttons button{margin:0;transition:.15s ease;border-radius:.5rem;cursor:pointer;border:none;height:3rem;padding:0 1rem;display:flex;align-items:center;justify-content:center;background-color:transparent;color:#7e8485;font-weight:700}.oc-pagination .oc-pagination-buttons button:hover{background-color:#f7f7f7;color:#7737b5}.oc-pagination .oc-pagination-buttons button:active{transform:translateY(2px)}.oc-pagination .oc-pagination-text{font-weight:500;font-size:1rem;margin:0;color:#8f9596}.oc-pagination .oc-pagination-text span{font-weight:700;color:#5505a2}.disabled{cursor:not-allowed!important;opacity:.4;pointer-events:none}.oc-pagination.shui .oc-pagination-buttons{border-radius:.25rem}.oc-pagination.shui .oc-pagination-buttons button{border-radius:.25rem;background-color:transparent;color:#000000bf}.oc-pagination.shui .oc-pagination-buttons button:hover{background-color:#c8c8c8;color:#099}.oc-pagination.shui .oc-pagination-buttons button:active{transform:translateY(1px)}.oc-pagination.shui .oc-pagination-text{color:#000000bf}.oc-pagination.shui .oc-pagination-text span{color:#099}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
1609
1609
|
}
|
|
1610
1610
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: OcPaginationComponent, decorators: [{
|
|
1611
1611
|
type: Component,
|
|
1612
|
-
args: [{ selector: 'oc-pagination', imports: [CommonModule], template: "<div\n class=\"oc-pagination\"\n [ngClass]=\"ocStyle\"\n>\n <p class=\"oc-pagination-text\">\n P\u00E1gina\n <span>{{ ocPage }}</span>\n de\n <span>{{ ocMaxPage }}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button\n (click)=\"firstPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button\n (click)=\"decrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button\n (click)=\"incrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button\n (click)=\"lastPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\"> keyboard_double_arrow_right </span>\n </button>\n </div>\n</div>\n", styles: [".oc-pagination{display:flex;align-items:center;justify-content:flex-end;gap:1rem;border:none;overflow:hidden}.oc-pagination .oc-pagination-buttons{display:flex;align-items:center;gap:0;border:2px solid #f7f7f7;border-radius:.5rem;transition:.3s ease}.oc-pagination .oc-pagination-buttons:hover{border-color:#d1d5db}.oc-pagination .oc-pagination-buttons button{margin:0;transition:.15s ease;border-radius:.5rem;cursor:pointer;border:none;height:3rem;padding:0 1rem;display:flex;align-items:center;justify-content:center;background-color:transparent;color:#7e8485;font-weight:700}.oc-pagination .oc-pagination-buttons button:hover{background-color:#f7f7f7;color:#7737b5}.oc-pagination .oc-pagination-buttons button:active{transform:translateY(2px)}.oc-pagination .oc-pagination-text{font-weight:500;font-size:1rem;margin:0;color:#8f9596}.oc-pagination .oc-pagination-text span{font-weight:700;color:#5505a2}.disabled{cursor:not-allowed!important;opacity:.4;pointer-events:none}.oc-pagination.shui .oc-pagination-buttons{border-radius:.25rem}.oc-pagination.shui .oc-pagination-buttons
|
|
1612
|
+
args: [{ selector: 'oc-pagination', imports: [CommonModule], template: "<div\n class=\"oc-pagination\"\n [ngClass]=\"ocStyle\"\n>\n <p class=\"oc-pagination-text\">\n P\u00E1gina\n <span>{{ ocPage }}</span>\n de\n <span>{{ ocMaxPage }}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button\n (click)=\"firstPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button\n (click)=\"decrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button\n (click)=\"incrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button\n (click)=\"lastPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\"> keyboard_double_arrow_right </span>\n </button>\n </div>\n</div>\n", styles: [".oc-pagination{display:flex;align-items:center;justify-content:flex-end;gap:1rem;border:none;overflow:hidden}.oc-pagination .oc-pagination-buttons{display:flex;align-items:center;gap:0;border:2px solid #f7f7f7;border-radius:.5rem;transition:.3s ease}.oc-pagination .oc-pagination-buttons:hover{border-color:#d1d5db}.oc-pagination .oc-pagination-buttons button{margin:0;transition:.15s ease;border-radius:.5rem;cursor:pointer;border:none;height:3rem;padding:0 1rem;display:flex;align-items:center;justify-content:center;background-color:transparent;color:#7e8485;font-weight:700}.oc-pagination .oc-pagination-buttons button:hover{background-color:#f7f7f7;color:#7737b5}.oc-pagination .oc-pagination-buttons button:active{transform:translateY(2px)}.oc-pagination .oc-pagination-text{font-weight:500;font-size:1rem;margin:0;color:#8f9596}.oc-pagination .oc-pagination-text span{font-weight:700;color:#5505a2}.disabled{cursor:not-allowed!important;opacity:.4;pointer-events:none}.oc-pagination.shui .oc-pagination-buttons{border-radius:.25rem}.oc-pagination.shui .oc-pagination-buttons button{border-radius:.25rem;background-color:transparent;color:#000000bf}.oc-pagination.shui .oc-pagination-buttons button:hover{background-color:#c8c8c8;color:#099}.oc-pagination.shui .oc-pagination-buttons button:active{transform:translateY(1px)}.oc-pagination.shui .oc-pagination-text{color:#000000bf}.oc-pagination.shui .oc-pagination-text span{color:#099}\n"] }]
|
|
1613
1613
|
}], ctorParameters: () => [{ type: StyleThemeService }], propDecorators: { ocPage: [{
|
|
1614
1614
|
type: Input
|
|
1615
1615
|
}], ocMaxPage: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otimus-library.mjs","sources":["../../../projects/otimus-library/src/lib/otimus-library.service.ts","../../../projects/otimus-library/src/lib/otimus-library.component.ts","../../../projects/otimus-library/src/lib/services/oc-toast.service.ts","../../../projects/otimus-library/src/lib/services/style-theme.service.ts","../../../projects/otimus-library/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts","../../../projects/otimus-library/src/lib/directives/oc-menu-horiz/oc-menu-horiz.directive.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.html","../../../projects/otimus-library/src/lib/components/oc-card/oc-card.component.ts","../../../projects/otimus-library/src/lib/components/oc-card/oc-card.component.html","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.ts","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.html","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.html","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.html","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.ts","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.html","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.ts","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.html","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.html","../../../projects/otimus-library/src/lib/services/internationalization.service.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete-dropdown/oc-autocomplete-dropdown.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete-dropdown/oc-autocomplete-dropdown.component.html","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.html","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.ts","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.html","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.ts","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.html","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.ts","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.html","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.ts","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.html","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.ts","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.html","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-menu-horiz/oc-menu-horiz.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu-horiz/oc-menu-horiz.component.html","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.ts","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.html","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.ts","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.html","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.ts","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.html","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.ts","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.html","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.ts","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.html","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.ts","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.html","../../../projects/otimus-library/src/lib/components/oc-message/oc-message.component.ts","../../../projects/otimus-library/src/lib/components/oc-message/oc-message.component.html","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.ts","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.html","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.ts","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.html","../../../projects/otimus-library/src/lib/components/oc-overlay/oc-overlay.component.ts","../../../projects/otimus-library/src/lib/components/oc-overlay/oc-overlay.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OtimusLibraryService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-otimus-library',\n imports: [],\n template: `\n <p>\n otimus-library works!\n </p>\n `,\n styles: ``\n})\nexport class OtimusLibraryComponent {\n\n}\n","import { ChangeDetectorRef, Injectable } from '@angular/core'\nimport { ToastType } from '../interfaces/oc-toast'\n\ntype ToastStatusType =\n | 'erro'\n | 'error'\n | 'success'\n | 'éxito'\n | 'sucesso'\n | 'carregando'\n | 'cargando'\n | 'loading'\n | 'informação'\n | 'información'\n | 'information'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OcToastService {\n toastList: ToastType[] = []\n isRunning: boolean = false\n currentToast!: ToastType\n\n closeToast(id: number): void {\n this.toastList = this.toastList.map((to) => {\n if (to.id === id) {\n return { ...to, counter: 0 }\n }\n return to\n })\n\n this.currentToast = this.toastList[0]\n }\n\n openToast = (\n toastStatus: ToastStatusType,\n toastMessage: string,\n toastCounter?: number,\n promiseKey?: string\n ): void => {\n const toast = {\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\n counter: toastCounter || 5,\n status: toastStatus,\n message: toastMessage,\n promiseKey,\n hasAnimation: true,\n }\n\n const toastExists = this.toastList.some((to) => {\n return to.status === toastStatus && to.message === toastMessage\n })\n\n if (toastExists) {\n return\n }\n\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\n\n if (keyExists) {\n this.toastList = this.toastList.map((to) => {\n if (to.promiseKey === promiseKey) {\n return { ...toast, hasAnimation: false }\n }\n return to\n })\n }\n\n this.toastList.push(toast)\n\n if (!this.isRunning) {\n this.renderToasts()\n }\n }\n\n renderToasts(): void {\n if (this.toastList.length === 0) {\n this.isRunning = false\n return\n }\n\n this.isRunning = true\n this.currentToast = this.toastList[0]\n\n const toastInterval = setInterval(() => {\n if (this.toastList.length === 0) {\n clearInterval(toastInterval)\n this.isRunning = false\n return\n }\n\n this.currentToast = this.toastList[0]\n if (this.currentToast.status !== 'carregando') {\n this.currentToast.counter--\n }\n\n if (this.currentToast.counter <= 0) {\n this.toastList = this.toastList.filter((to) => {\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\n })\n clearInterval(toastInterval)\n this.renderToasts()\n }\n }, 1000)\n }\n}\n","import { Injectable } from '@angular/core'\nimport { OcStyleThemeType } from '../interfaces/oc-style-theme'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StyleThemeService {\n constructor() {}\n\n getStyleTheme(): OcStyleThemeType | undefined {\n const localStorageTheme = localStorage.getItem('@oc-lib-style_theme')\n\n if (!localStorageTheme || !['otimus', 'shui', 'semantic'].includes(localStorageTheme)) {\n return undefined\n }\n\n return localStorageTheme as OcStyleThemeType\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n NgZone,\n ChangeDetectorRef,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n} from '@angular/core'\n\n@Directive({\n selector: '[ocTooltip]',\n standalone: true,\n})\nexport class OcTooltipDirective implements OnDestroy, OnChanges {\n @Input() content: string = ''\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' | 'mouse' = 'mouse'\n\n private tooltip: HTMLElement | null = null\n private moveScheduled = false\n private isHTMLCache = false // Cache HTML detection to avoid repeated DOMParser\n\n // references so we can remover listeners\n private boundMouseOver!: (e: MouseEvent) => void\n private boundMouseMove!: (e: MouseEvent) => void\n private boundMouseOut!: (e: MouseEvent) => void\n\n constructor(\n private elRef: ElementRef,\n private renderer: Renderer2,\n private zone: NgZone,\n private cdr: ChangeDetectorRef // Keep for ngOnChanges if needed, but not for events\n ) {\n // apenas registra os listeners fora do angular — handlers executam fora também\n this.zone.runOutsideAngular(() => {\n this.setupEventBindings()\n })\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['content'] && this.tooltip) {\n // Update content immediately (during CD)\n this.updateTooltipContent()\n }\n }\n\n private updateTooltipContent(): void {\n if (!this.tooltip || !this.content) return\n\n this.tooltip.innerHTML = ''\n // Cache isHTML to avoid DOMParser on every change/move\n if (!this.isHTMLCache) {\n const parser = new DOMParser()\n this.isHTMLCache = parser.parseFromString(this.content, 'text/html').body.children.length > 0\n }\n\n if (this.isHTMLCache) {\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\n } else {\n const text = this.renderer.createText(this.content)\n this.renderer.appendChild(this.tooltip, text)\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\n }\n }\n\n private setupEventBindings() {\n // define handlers vinculados para permitir remoção depois\n this.boundMouseOver = (e: MouseEvent) => this.onMouseOver(e)\n this.boundMouseMove = (e: MouseEvent) => this.onMouseMove(e)\n this.boundMouseOut = (e: MouseEvent) => this.onMouseOut(e)\n\n const el = this.elRef.nativeElement as HTMLElement\n el.addEventListener('mouseover', this.boundMouseOver)\n el.addEventListener('mousemove', this.boundMouseMove)\n el.addEventListener('mouseout', this.boundMouseOut)\n }\n\n private createTooltip(): HTMLElement {\n if (this.tooltip) return this.tooltip // Already exists\n\n this.tooltip = this.renderer.createElement('div') as HTMLElement\n this.renderer.addClass(this.tooltip, 'oc-tooltip')\n this.renderer.setStyle(this.tooltip, 'position', 'absolute')\n this.renderer.setStyle(this.tooltip, 'pointer-events', 'none')\n this.renderer.setStyle(this.tooltip, 'z-index', '1000')\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n this.renderer.appendChild(document.body, this.tooltip)\n\n // Set initial content and cache HTML detection\n this.updateTooltipContent()\n this.isHTMLCache = false // Reset cache on creation\n\n if (this.side === 'mouse') {\n this.renderer.addClass(this.tooltip, 'mouse-tracking')\n } else {\n this.renderer.removeClass(this.tooltip, 'mouse-tracking')\n }\n\n return this.tooltip\n }\n\n onMouseOver(event: MouseEvent): void {\n if (!this.content) return\n\n this.createTooltip() // Creates and sets content\n this.renderer.setStyle(this.tooltip, 'display', 'block')\n\n // Use double requestAnimationFrame to ensure tooltip is fully rendered and measured\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (this.side === 'mouse') {\n this.updateTooltipPosition(event)\n } else {\n this.positionTooltipFixed()\n }\n })\n })\n }\n\n onMouseMove(event: MouseEvent): void {\n if (!this.tooltip || this.side !== 'mouse') return\n\n if (!this.moveScheduled) {\n this.moveScheduled = true\n requestAnimationFrame(() => {\n // roda fora do angular\n this.zone.runOutsideAngular(() => {\n this.updateTooltipPosition(event)\n this.moveScheduled = false\n })\n })\n }\n }\n\n onMouseOut(event: MouseEvent): void {\n // evita flicker se mouse entra no tooltip\n if (\n this.tooltip &&\n event.relatedTarget instanceof Node &&\n this.tooltip.contains(event.relatedTarget)\n ) {\n return // Avoid flicker\n }\n\n if (this.tooltip) {\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n }\n }\n\n private updateTooltipPosition(event: MouseEvent): void {\n if (!this.tooltip) return\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n \n // Get tooltip dimensions - use offsetWidth/Height for more reliable measurements\n const tooltipWidth = this.tooltip.offsetWidth || 200 // fallback width\n const tooltipHeight = this.tooltip.offsetHeight || 50 // fallback height\n\n // Debug logging\n // Calculate initial position\n let left = event.pageX + 12\n let top = event.pageY + 12\n\n // Check if tooltip goes beyond right edge of viewport\n if (left + tooltipWidth > viewportWidth) {\n left = event.pageX - tooltipWidth - 12\n }\n \n // Check if tooltip goes beyond bottom edge of viewport\n if (top + tooltipHeight > viewportHeight) {\n // Position tooltip above cursor, but only as much as needed\n top = viewportHeight - tooltipHeight - 10\n }\n \n // Ensure tooltip doesn't go beyond left edge\n if (left < 0) {\n left = 12\n }\n \n // Ensure tooltip doesn't go beyond top edge\n if (top < 0) {\n top = 12\n }\n\n // Final comprehensive check to ensure tooltip is fully within viewport\n if (top + tooltipHeight > viewportHeight) {\n top = viewportHeight - tooltipHeight - 10\n }\n if (left + tooltipWidth > viewportWidth) {\n left = viewportWidth - tooltipWidth - 10\n }\n if (left < 0) {\n left = 10\n }\n if (top < 0) {\n top = 10\n }\n \n // Ensure tooltip doesn't go too far up - keep it near the cursor if possible\n if (top < event.pageY - tooltipHeight - 50) {\n top = event.pageY - tooltipHeight - 12\n }\n\n // Debug final position\n\n // manipulação DOM fora do zone — não aciona change detection\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n private positionTooltipFixed(): void {\n if (!this.tooltip) return\n\n const rect = this.elRef.nativeElement.getBoundingClientRect()\n const width = this.elRef.nativeElement.offsetWidth\n const height = this.elRef.nativeElement.offsetHeight\n\n const scrollX = window.scrollX\n const scrollY = window.scrollY\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n\n let left = 0\n let top = 0\n\n switch (this.side) {\n case 'right':\n left = scrollX + rect.right + 10\n top = scrollY + rect.top + height / 2\n break\n case 'left':\n left = scrollX + rect.left - this.tooltip.offsetWidth - 10\n top = scrollY + rect.top + height / 2\n break\n case 'upon':\n case 'top':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.top - this.tooltip.offsetHeight - 10\n break\n case 'bottom':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.bottom + 10\n break\n }\n\n // Adjust position to stay within viewport\n const tooltipWidth = this.tooltip.offsetWidth || 200 // fallback width\n const tooltipHeight = this.tooltip.offsetHeight || 50 // fallback height\n\n // Check horizontal boundaries\n if (left < scrollX) {\n left = scrollX + 10\n } else if (left + tooltipWidth > scrollX + viewportWidth) {\n left = scrollX + viewportWidth - tooltipWidth - 10\n }\n\n // Check vertical boundaries\n if (top < scrollY) {\n top = scrollY + 10\n } else if (top + tooltipHeight > scrollY + viewportHeight) {\n top = scrollY + viewportHeight - tooltipHeight - 10\n }\n\n // Final safety check to ensure tooltip is fully visible\n if (top + tooltipHeight > scrollY + viewportHeight) {\n top = scrollY + viewportHeight - tooltipHeight - 10\n }\n if (left + tooltipWidth > scrollX + viewportWidth) {\n left = scrollX + viewportWidth - tooltipWidth - 10\n }\n \n // Ensure tooltip doesn't go too far up - keep it near the element if possible\n const elementTop = rect.top + scrollY\n if (top < elementTop - tooltipHeight - 50) {\n top = elementTop - tooltipHeight - 10\n }\n\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n ngOnDestroy(): void {\n // remove tooltip do DOM\n if (this.tooltip && this.tooltip.parentNode) {\n this.tooltip.parentNode.removeChild(this.tooltip)\n this.tooltip = null\n }\n\n // remove event listeners registrados\n try {\n const el = this.elRef.nativeElement as HTMLElement\n if (this.boundMouseOver) el.removeEventListener('mouseover', this.boundMouseOver)\n if (this.boundMouseMove) el.removeEventListener('mousemove', this.boundMouseMove)\n if (this.boundMouseOut) el.removeEventListener('mouseout', this.boundMouseOut)\n } catch {\n // ignore\n }\n }\n}\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Input,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core'\nimport { OcMenuHorizComponent } from '../../../public-api'\nimport { OcMenuHorizType } from '../../interfaces/oc-menu-horiz'\n\n@Directive({\n selector: '[OcMenuHorizontal]',\n standalone: true,\n exportAs: 'OcMenuHorizontal',\n})\nexport class OcMenuHorizDirective implements OnChanges, OnDestroy {\n // Inputs you want to pass to the component\n @Input() ocMenu: OcMenuHorizType[] = []\n @Input() ocMenuMaxWidth?: string\n @Input() ocMenuWidth?: string\n @Input() ocMenuShouldCloseOnClickOut: boolean = false\n\n private menuRef: ComponentRef<OcMenuHorizComponent> | null = null\n private ocChangeSub?: { unsubscribe(): void } | null = null\n\n constructor(\n private readonly elemRef: ElementRef<HTMLElement>,\n private readonly viewContainerRef: ViewContainerRef,\n private readonly injector: EnvironmentInjector,\n private readonly renderer: Renderer2\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // If the component already exists, propagate input changes immediately\n if (!this.menuRef) return\n\n if (changes['ocMenu']) {\n this.menuRef.instance.ocMenu = this.ocMenu\n }\n if (changes['maxWidth']) {\n this.menuRef.instance.maxWidth = this.ocMenuMaxWidth\n }\n if (changes['width']) {\n this.menuRef.instance.width = this.ocMenuWidth\n }\n if (changes['shouldCloseOnClickOut']) {\n this.menuRef.instance.shouldCloseOnClickOut = this.ocMenuShouldCloseOnClickOut\n }\n\n // ensure component change detection runs\n this.menuRef.changeDetectorRef.detectChanges()\n }\n\n ngOnDestroy(): void {\n this.destroyMenu()\n }\n\n /** create and attach component instance (idempotent) */\n public createOcMenu(): void {\n if (this.menuRef) return\n\n this.menuRef = this.viewContainerRef.createComponent(OcMenuHorizComponent, {\n environmentInjector: this.injector,\n })\n\n // set initial inputs\n this.menuRef.instance.ocMenu = this.ocMenu\n this.menuRef.instance.maxWidth = this.ocMenuMaxWidth\n this.menuRef.instance.width = this.ocMenuWidth\n this.menuRef.instance.shouldCloseOnClickOut = this.ocMenuShouldCloseOnClickOut\n\n this.menuRef.instance.hostElement = this.elemRef.nativeElement\n\n // forward output (example)\n this.ocChangeSub = this.menuRef.instance.ocChange.subscribe((v) => {\n // re-emit or handle here. Because directive is not a component,\n // you could expose a public Observable or call a callback — adjust to your needs.\n // For demonstration we'll log:\n })\n\n // attach to host element\n const host = this.elemRef.nativeElement\n const menuNative = this.menuRef.location.nativeElement as HTMLElement\n const parent = host.parentNode as Node | null\n\n if (parent) {\n // insertBefore with nextSibling effectively inserts *after* the host\n parent.insertBefore(menuNative, host.nextSibling)\n } else {\n // fallback: append to body if the host isn't attached to a parent yet\n document.body.appendChild(menuNative)\n }\n\n // run change detection so the menu renders with proper inputs\n this.menuRef.changeDetectorRef.detectChanges()\n }\n\n public open(): void {\n this.createOcMenu()\n this.menuRef?.instance.open()\n }\n\n public close(): void {\n this.menuRef?.instance.close()\n }\n\n private destroyMenu(): void {\n if (this.ocChangeSub) {\n this.ocChangeSub.unsubscribe()\n this.ocChangeSub = null\n }\n if (this.menuRef) {\n // remove DOM node (optional — Angular destroy will also remove it)\n try {\n const native = this.menuRef.location.nativeElement\n if (native && native.parentNode) native.parentNode.removeChild(native)\n } catch {}\n\n this.menuRef.destroy()\n this.menuRef = null\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'oc-badge',\n imports: [CommonModule],\n templateUrl: './oc-badge.component.html',\n styleUrl: './oc-badge.component.scss'\n})\nexport class OcBadgeComponent implements OnInit {\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\n @Input() ocWaved: boolean = false\n\n classList: string[] = []\n\n ngOnInit(): void {\n this.classList.push(this.ocSize, this.ocColor)\n if(this.ocWaved) this.classList.push('waved')\n }\n}\n","<div>\n <div class=\"oc-badge\" [ngClass]=\"classList\">\n <ng-content>\n \n </ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Output, input } from '@angular/core'\n\n@Component({\n selector: 'oc-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-card.component.html',\n styleUrl: './oc-card.component.scss',\n})\nexport class OcCardComponent {\n readonly ocSelected = input<boolean>(false)\n readonly ocColor = input<'green' | 'red' | 'yellow' | 'default'>('default')\n readonly ocClickable = input<boolean>(false)\n @Output() ocClick: EventEmitter<void> = new EventEmitter<void>()\n\n protected onClick() {\n this.ocClick.emit()\n }\n\n protected get color(): string {\n return 'oc-' + this.ocColor()\n }\n\n protected get isSelected(): string {\n return this.ocSelected() ? 'oc-card-selected' : ''\n }\n\n protected get isClickable(): string {\n return this.ocClickable() ? 'oc-card-clickable' : ''\n }\n}\n","<div\n class=\"oc-card\"\n [ngClass]=\"[color, isSelected, isClickable]\"\n (click)=\"onClick()\"\n>\n <div class=\"oc-card-header\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n <div class=\"oc-card-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"oc-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-filter',\n imports: [CommonModule, OcBadgeComponent],\n templateUrl: './oc-filter.component.html',\n styleUrl: './oc-filter.component.scss'\n})\nexport class OcFilterComponent implements AfterViewInit {\n @Input() isOpen: boolean = false\n @Input() ocText: string = 'Filtros'\n @Input() ocActive: number = 0\n @Input() ocSide: 'left' | 'right' = 'left'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n toggleOpen() {\n this.isOpen = !this.isOpen\n }\n}\n","<div class=\"oc-filter-row\" [ngClass]=\"{\n reverse: ocSide === 'right'\n}\">\n <button class=\"oc-filter-btn\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n }\" (click)=\"toggleOpen()\">\n <span class=\"material-symbols-outlined\">filter_list</span>\n {{ocText}}\n <div class=\"badge\">\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\n </div>\n </button>\n\n <div class=\"filter-row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n\n</div>\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\n <ng-content select=\"[body]\">\n </ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-input',\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n imports: [CommonModule],\n templateUrl: './oc-input.component.html',\n styleUrls: ['./oc-input.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OcInputComponent implements AfterContentInit, AfterViewInit, OnChanges {\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n @Input() ocError?: string\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocPlaceholder: string = ''\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocRequired: boolean = false\n private _ocStyle: OcStyleThemeType = 'otimus'\n @Input()\n set ocStyle(value: OcStyleThemeType) {\n this._ocStyle = value\n }\n get ocStyle(): OcStyleThemeType {\n return this._ocStyle || this.styleThemeService.getStyleTheme() || 'otimus'\n }\n\n inputId: string = `oc-${Math.random()}`\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private styleThemeService: StyleThemeService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // Handle input property changes if needed\n }\n\n ngAfterContentInit(): void {\n // Set prefix/suffix flags after content has been initialized\n // This runs before change detection completes, so it's safe\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n ngAfterViewInit(): void {\n const inputBox = this.el.nativeElement\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }\n}\n","<div [ngClass]=\"{\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix,\n 'shui': ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui'\n}\" [id]=\"inputId\">\n <ng-content></ng-content>\n <ng-content select=\"ocPrefix\"></ng-content>\n <ng-content select=\"ocSuffix\"></ng-content>\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if(ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\n</div>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-modal',\n imports: [CommonModule],\n templateUrl: './oc-modal.component.html',\n styleUrl: './oc-modal.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcModalComponent implements AfterViewInit {\n constructor(\n private elRef: ElementRef,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Input() ocClose: boolean = true\n @Input() ocTitle: string = ''\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\n @Input() ocBgColor?: string\n @Input() ocWidth: string = ''\n @Input() ocMaxWidth: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocLoading: boolean = false\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n @Input() isOpen: boolean = false\n closing: boolean = false\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n open(): void {\n this.isOpen = true\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close(): void {\n this.closing = true\n setTimeout(() => {\n this.isOpen = false\n this.closing = false\n\n if (this.ocOnClose) {\n this.ocOnClose.emit(this.isOpen)\n }\n\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\n this.cdr.detectChanges()\n }, 100)\n }\n\n protected getModalStyles(): { [key: string]: string } {\n const styles: { [key: string]: string } = {}\n if (this.ocBgColor) {\n styles['background-color'] = this.ocBgColor\n }\n if (this.ocWidth) {\n styles['width'] = this.ocWidth\n }\n if (this.ocMaxWidth) {\n styles['max-width'] = this.ocMaxWidth\n }\n return styles\n }\n}\n","@if (isOpen) {\n <div\n class=\"oc-modal-bg\"\n *ngIf=\"isOpen\"\n [ngClass]=\"{\n 'closing-bg': closing,\n shui: ocStyle === 'shui',\n 'shui-modal': ocStyle === 'shui',\n }\"\n >\n <div\n class=\"oc-modal\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n small: ocSize === 'small',\n closing: closing,\n 'total-white': ocBgColor === 'white',\n }\"\n [ngStyle]=\"getModalStyles()\"\n >\n <header class=\"oc-modal-header\">\n <h3 *ngIf=\"ocTitle && ocTitle.trim().length > 0\">{{ ocTitle }}</h3>\n @if (ocClose) {\n <button\n (click)=\"close()\"\n class=\"oc-close-btn\"\n >\n <span\n class=\"material-symbols-outlined md-18\"\n title=\"Fechar\"\n >close</span\n >\n </button>\n }\n </header>\n <div\n class=\"oc-modal-content\"\n [ngClass]=\"{\n 'loading-content': ocLoading,\n }\"\n >\n @if (isOpen) {\n <ng-content></ng-content>\n }\n @if (ocLoading) {\n <div class=\"load-container\">\n <span class=\"loader material-symbols-outlined oc color p-1\">progress_activity</span>\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input, ViewEncapsulation } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { DomSanitizer } from '@angular/platform-browser'\n\n@Component({\n selector: 'oc-key-value',\n imports: [CommonModule],\n templateUrl: './oc-key-value.component.html',\n styleUrl: './oc-key-value.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcKeyValueComponent implements AfterViewInit {\n constructor(\n private styleThemeService: StyleThemeService,\n protected sanitizer: DomSanitizer\n ) {}\n @Input() ocKey: string = ''\n @Input() ocValue: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n}\n","<div\n class=\"oc-key-value\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n>\n <!-- Ícone -->\n <ng-content></ng-content>\n @if (ocKey) {\n <span [innerHTML]=\"ocKey + ':'\"></span>\n }\n <p [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(ocValue)\"></p>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-chip',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-chip.component.html',\n styleUrl: './oc-chip.component.scss',\n})\nexport class OcChipComponent {\n @Input() ocSelected: boolean = false\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\n @Input() ocBgHexColor?: string // Hexadecimal color for custom badge styling\n @Input() ocText: string = ''\n @Input() ocFontSize: string = '16px'\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>()\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>()\n\n ocEvent(event: any) {\n event.stopPropagation()\n this.ocClick.emit()\n }\n\n ocRemoveEvent(event: any) {\n event.stopPropagation()\n if (!this.ocRemove.observed) {\n this.ocClick.emit()\n return\n }\n this.ocRemove.emit()\n }\n}\n","<button\n [ngClass]=\"{\n 'oc-chip': true,\n selected: ocSelected,\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\n tag: ocType === 'tag',\n remove: ocType === 'remove' || ocType === 'select_remove',\n 'green-bg': ocBg === 'green' && !ocBgHexColor,\n 'red-bg': ocBg === 'red' && !ocBgHexColor,\n 'yellow-bg': ocBg === 'yellow' && !ocBgHexColor,\n 'custom-hex-color': !!ocBgHexColor,\n }\"\n type=\"button\"\n [ngStyle]=\"{\n 'font-size': ocFontSize,\n 'background-color': ocBgHexColor || null,\n }\"\n [title]=\"ocText\"\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\n>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n @if (ocType.includes('remove')) {\n <span\n class=\"material-symbols-outlined\"\n (click)=\"ocRemoveEvent($event)\"\n >close</span\n >\n }\n</button>\n","import { CommonModule } from '@angular/common'\nimport { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-modal-footer',\n imports: [CommonModule],\n templateUrl: './oc-modal-footer.component.html',\n styleUrl: './oc-modal-footer.component.scss'\n})\nexport class OcModalFooterComponent {\n @Input() ocSide: 'left' | 'right' = 'right'\n @Input() ocBgColor?: string\n @Input() ocFixed: boolean = true\n}\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\n 'left': ocSide === 'left',\n 'right': ocSide === 'right',\n 'fixed': ocFixed\n}\"\n [ngStyle]=\"{\n 'background-color': ocBgColor\n }\"\n>\n <ng-content></ng-content>\n</footer>","import { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InternationalizationService {\n constructor(private http: HttpClient) { }\n private queryLang: string | null = null\n\n getTranslation(\n code: string | number,\n params?: { [key: string]: string | number } | null\n ): string {\n code = typeof code === 'number' ? `LIB${code}` : code\n const translations = JSON.parse(localStorage.getItem('@oc-lib-lang_words') || '{}')\n let translation = translations[code] || code\n\n if (params) {\n Object.keys(params).forEach((key) => {\n translation = translation.replace(`%{${key}}`, params[key].toString())\n })\n }\n\n return translation\n }\n\n getTranslationsByLanguage() {\n const urlParams = new URLSearchParams(window.location.search)\n this.queryLang = urlParams.get('lang')\n if(!this.queryLang) return\n if (!this.canUpdateStoredLanguages()) return\n\n return this.http.get<Object>(`https://cms-backend.otimusclinic.com/translations/language?lang=${this.queryLang}`)\n .subscribe(resp => {\n if (!resp || !Object.keys(resp).length) return\n this.setLanguages(resp)\n this.setLanguage(this.queryLang as string)\n this.setUpdatedLastTime()\n })\n }\n\n canUpdateStoredLanguages(): boolean {\n const storedLastTime = localStorage.getItem('@oc-lib-stored_at')\n const storedLanguage = localStorage.getItem('language')\n \n if (!storedLastTime || !storedLanguage || !this.queryLang) return true\n\n let yesterday = new Date()\n yesterday.setDate(yesterday.getDate() - 1)\n\n const storedDate = new Date(storedLastTime)\n\n if (storedDate <= yesterday || (storedLanguage !== this.queryLang)) {\n return true\n }\n\n return false\n }\n\n setLanguage(language: string): void {\n localStorage.setItem('language', language)\n }\n\n setUpdatedLastTime(): void {\n const updatedLastTime = new Date().toISOString()\n localStorage.setItem('@oc-lib-stored_at', updatedLastTime)\n }\n\n setLanguages(translations: Object): void {\n localStorage.setItem('@oc-lib-lang_words', JSON.stringify(translations))\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'\nimport { OcAutoCompleteType } from '../../../interfaces/oc-autocomplete'\nimport { FormsModule } from '@angular/forms'\n\n@Component({\n selector: 'oc-autocomplete-dropdown',\n imports: [CommonModule, FormsModule],\n standalone: true,\n templateUrl: './oc-autocomplete-dropdown.component.html',\n styleUrls: ['./oc-autocomplete-dropdown.component.scss'],\n host: {\n 'class': 'oc-autocomplete-dropdown-container',\n 'style': 'width: 100%; display: block;'\n }\n})\nexport class OcAutocompleteDropdownComponent {\n @Input() filteredData: OcAutoCompleteType[] = []\n @Input() ocLoading = false\n @Input() ocDisabled = false\n @Input() ocNoAvailableOptionsText?: string\n @Input() ocMaxResults?: number\n @Input() ocTypeForMoreResultsText?: string\n @Input() ocType: 'counterSelect' | 'default' = 'default'\n @Input() selectedIndex = -1\n @Input() ocOptionsMaxHeight?: string\n @Input() ocOptionsWidth?: string\n\n @Output() selectValue = new EventEmitter<any>()\n @Output() decrementCounter = new EventEmitter<OcAutoCompleteType>()\n @Output() incrementCounter = new EventEmitter<OcAutoCompleteType>()\n\n constructor() {}\n}","@if (!ocLoading && !ocDisabled) {\n <ul\n class=\"oc-options\"\n [ngStyle]=\"{\n 'max-height': ocOptionsMaxHeight,\n width: ocOptionsWidth,\n }\"\n >\n @if (!filteredData.length) {\n <li class=\"no-options\">\n {{ ocNoAvailableOptionsText || 'Nenhum resultado disponível' }}\n </li>\n } @else {\n @for (data of filteredData; track data.value; let i = $index) {\n @if (!ocMaxResults || i < ocMaxResults) {\n <li class=\"li-option\">\n <button\n type=\"button\"\n (click)=\"selectValue.emit(data.value)\"\n [class.hover]=\"ocType !== 'counterSelect'\"\n [class.highlight]=\"selectedIndex === i\"\n >\n @if (data.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n 'font-size': data.iconSize || '1.2rem',\n }\"\n >\n {{ data.icon }}\n </span>\n }\n {{ data.name }}\n </button>\n @if (ocType === 'counterSelect') {\n <div class=\"oc-counter-select\">\n <button\n class=\"subtract\"\n (click)=\"decrementCounter.emit(data)\"\n >\n <span class=\"material-symbols-outlined\">remove</span>\n </button>\n <p class=\"counter\">{{ data.counter || 0 }}</p>\n <button\n class=\"add\"\n (click)=\"incrementCounter.emit(data)\"\n >\n <span class=\"material-symbols-outlined\">add</span>\n </button>\n </div>\n }\n </li>\n }\n }\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\n <li class=\"no-options\">\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\n </li>\n }\n }\n </ul>\n} @else if (ocLoading && !ocDisabled) {\n <div class=\"oc-options loader\">\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\n </div>\n}","import { CommonModule } from '@angular/common'\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core'\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete'\nimport { FormsModule } from '@angular/forms'\nimport { InternationalizationService } from '../../services/internationalization.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay'\nimport { ComponentPortal } from '@angular/cdk/portal'\nimport { OcAutocompleteDropdownComponent } from './oc-autocomplete-dropdown/oc-autocomplete-dropdown.component'\n\n@Component({\n selector: 'oc-autocomplete',\n imports: [CommonModule, FormsModule],\n providers: [InternationalizationService],\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n templateUrl: './oc-autocomplete.component.html',\n styleUrl: './oc-autocomplete.component.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcAutocompleteComponent implements AfterContentInit, AfterViewInit, OnChanges, OnInit, OnDestroy {\n constructor(\n private renderer: Renderer2,\n private el: ElementRef,\n private translateService: InternationalizationService,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef,\n private overlay: Overlay\n ) {}\n\n @ViewChild('input') input!: ElementRef\n @ViewChild('options') options!: ElementRef\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\n @ViewChildren('listOptionsRef') listOptionsElements!: QueryList<ElementRef<HTMLLIElement>>\n\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n private _ocData: OcAutoCompleteType[] = []\n @Input()\n set ocData(value: OcAutoCompleteType[]) {\n this._ocData = value\n\n this.filteredData = value\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = value.find((el) => el.value == this.ocValue)\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n this.cdr.detectChanges() // Força a atualização\n }\n\n get ocData(): OcAutoCompleteType[] {\n return this._ocData\n }\n @Input() ocPlaceholder?: string = ''\n @Input() ocError?: string\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\n @Input() ocValue: any = ''\n @Input() ocClearOnChange: boolean = false\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocOptionsMaxHeight?: string\n @Input() ocOptionsWidth?: string\n @Input() ocRequired: boolean = false\n @Input() ocMaxResults?: number\n @Input() ocAllowNotListedValue: boolean = false\n @Input() ocNoAvailableOptionsText?: string\n @Input() ocTypeForMoreResultsText?: string\n @Input() ocLoading: boolean = false\n @Input() ocSemanticLike: boolean = false // deprecated. Prefer using ocStyleTheme instead\n private _ocStyle: OcStyleThemeType = 'otimus'\n @Input()\n set ocStyle(value: OcStyleThemeType) {\n this._ocStyle = value\n }\n get ocStyle(): OcStyleThemeType {\n return this._ocStyle || this.styleThemeService.getStyleTheme() || 'otimus'\n }\n @Input() ocTabIndex?: number\n @Input() iconSize: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocSelectByTyping: boolean = true\n @Input() ocDisabled = false\n @Input() ocType: 'counterSelect' | 'default' = 'default'\n\n @Input() ocShowBackdrop: boolean = false\n @Input() ocHasDeleteButton?: boolean = false\n @Input() ocEnableKeyboard: boolean = false\n\n @Output() ocValueChange = new EventEmitter<string>()\n @Output() ocChange = new EventEmitter<string | null>()\n @Output() ocCounterSelectChange = new EventEmitter<OcAutoCompleteType[]>()\n @Output() ocOptionNotFound = new EventEmitter()\n @Output() ocClick = new EventEmitter()\n\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n isOptionsShown: boolean = false\n\n private _filteredData: OcAutoCompleteType[] = []\n get filteredData(): OcAutoCompleteType[] {\n return this._filteredData\n }\n set filteredData(value: OcAutoCompleteType[]) {\n this._filteredData = value\n this.updateDropdownPortal()\n }\n\n selectedValue: OcAutoCompleteType = {\n name: '',\n value: null,\n }\n\n selectedIndex: number = -1\n inputWidth: string = 'auto'\n private overlayRef: OverlayRef | null = null\n private dropdownComponentRef: ComponentRef<OcAutocompleteDropdownComponent> | null = null\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n\n this.formatOcValueType()\n this.loadOptions()\n\n this.cdr.detectChanges()\n }\n\n ngOnInit(): void {\n if (this.ocValue === undefined) {\n this.ocValue = null\n }\n }\n\n ngAfterContentInit(): void {\n // Set prefix/suffix flags after content has been initialized\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n ngAfterViewInit(): void {\n this.formatOcValueType()\n this.loadOptions()\n this.translateService.getTranslationsByLanguage()\n\n setTimeout(() => {\n this.updateInputWidth()\n }, 0)\n\n this.cdr.detectChanges()\n }\n\n formatOcValueType() {\n if (this.ocValue) {\n return `${this.ocValue}`\n }\n return null\n }\n\n updateInputWidth(): void {\n if (this.input && this.input.nativeElement) {\n const inputElement = this.input.nativeElement\n this.inputWidth = `${inputElement.offsetWidth}px`\n }\n }\n\n getTranslation(code: number | string) {\n return this.translateService.getTranslation(code)\n }\n\n loadOptions() {\n this.formatOcValueType()\n setTimeout(() => {\n this.filteredData = this.ocData\n\n const inputBox = this.el.nativeElement\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = this.ocData.find((el) => el.value == this.ocValue)\n\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }, 50)\n }\n\n closeOnClickOut(): void {\n this.renderer.listen('window', 'click', (e: Event) => {\n const target = e.target as HTMLElement\n\n const insideCounterSelect =\n this.ocType === 'counterSelect' && target.closest('.oc-counter-select')\n\n const insideDropdown = target.closest('.oc-autocomplete-dropdown-container')\n\n if (this.input && !insideCounterSelect && !insideDropdown) {\n if (target !== this.input.nativeElement && this.isOptionsShown) {\n this.isOptionsShown = false\n this.closeOverlay()\n this.findByTyping()\n }\n }\n })\n }\n\n findByTyping(): void {\n if (!this.ocValue || !this.ocValue?.toString().trim().length) {\n this.ocChange.emit(null)\n this.ocOptionNotFound.emit()\n }\n if (!this.ocSelectByTyping) {\n return\n }\n\n const foundValue = this.ocData.find(\n (data) =>\n data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||\n data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase()\n )\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n if (!this.ocAllowNotListedValue) {\n this.ocValue = ''\n }\n this.filteredData = this.ocData\n return\n }\n this.selectedValue = foundValue\n }\n\n filterData(name: string): void {\n this.isOptionsShown = true\n\n // Split search term by spaces and filter out empty strings\n const searchTerms = name\n .trim()\n .split(/\\s+/)\n .filter((term) => term.length > 0)\n .map((term) => this.getFormattedName(term))\n\n // If no search terms, show all data\n if (searchTerms.length === 0) {\n this.filteredData = this.ocData\n return\n }\n\n // Filter data where ALL search terms are found in the name\n this.filteredData = this.ocData.filter((data) => {\n const formattedName = this.getFormattedName(data.name)\n return searchTerms.every((term) => formattedName?.includes(term))\n })\n }\n\n getFormattedName(str: string): string {\n return str\n ?.toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '') // Remove marcas diacríticas\n }\n\n toggleOptions() {\n this.closeOnClickOut()\n this.updateInputWidth()\n\n if (this.isOptionsShown) {\n this.closeOverlay()\n } else {\n this.openOverlay()\n }\n\n this.isOptionsShown = !this.isOptionsShown\n }\n\n private openOverlay() {\n if (!this.input) return\n\n const inputWidth = this.input.nativeElement.offsetWidth\n\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(this.input.nativeElement)\n .withPositions([\n // Primary position: below the input\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n // Fallback position: above the input\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ])\n .withFlexibleDimensions(false)\n\n // Create overlay config\n const overlayConfig = {\n positionStrategy,\n width: inputWidth,\n hasBackdrop: true,\n backdropClass: this.ocShowBackdrop ? undefined : 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition()\n }\n\n // Create overlay\n this.overlayRef = this.overlay.create(overlayConfig)\n\n // Create portal\n const dropdownPortal = new ComponentPortal(OcAutocompleteDropdownComponent)\n\n // Attach portal to overlay\n const componentRef = this.overlayRef.attach(dropdownPortal)\n this.dropdownComponentRef = componentRef\n\n // Set component properties\n this.setDropdownComponentInputs()\n\n // Subscribe to events\n componentRef.instance.selectValue.subscribe((value: any) => {\n this.selectValue(value)\n this.closeOverlay()\n })\n\n componentRef.instance.decrementCounter.subscribe((data: OcAutoCompleteType) => {\n this.decrementCounter(data)\n })\n\n componentRef.instance.incrementCounter.subscribe((data: OcAutoCompleteType) => {\n this.incrementCounter(data)\n })\n\n // Add scroll listener to update overlay position\n const scrollListener = this.renderer.listen('window', 'scroll', () => {\n if (this.overlayRef) {\n this.updateOverlay()\n }\n })\n\n const resizeObserver = new ResizeObserver(() => {\n if (this.overlayRef) {\n this.updateOverlayPosition()\n this.updateOverlayWidth()\n }\n })\n\n if (this.input) {\n resizeObserver.observe(this.input.nativeElement)\n }\n\n this.overlayRef.detachments().subscribe(() => {\n scrollListener()\n resizeObserver.disconnect()\n })\n }\n\n private updateOverlayPosition(): void {\n if (this.overlayRef) {\n this.overlayRef.updatePosition()\n }\n }\n\n private updateOverlayWidth(): void {\n if (this.overlayRef && this.input) {\n const inputWidth = this.input.nativeElement.offsetWidth\n\n const reasonableWidth = Math.max(50, Math.min(inputWidth, window.innerWidth * 0.9))\n\n this.overlayRef.updateSize({ width: reasonableWidth })\n this.cdr.detectChanges()\n }\n }\n\n public updateOverlay(): void {\n if (this.overlayRef && this.input) {\n this.updateOverlayPosition()\n this.updateOverlayWidth()\n }\n }\n\n private closeOverlay() {\n if (this.overlayRef) {\n this.overlayRef.dispose()\n this.overlayRef = null\n this.dropdownComponentRef = null\n }\n }\n\n private updateDropdownPortal() {\n if (!this.dropdownComponentRef) return\n\n this.dropdownComponentRef.instance.filteredData = this.filteredData\n this.dropdownComponentRef.changeDetectorRef.detectChanges()\n // Force UI update\n this.cdr.detectChanges()\n }\n\n private setDropdownComponentInputs() {\n if (!this.dropdownComponentRef) return\n\n this.dropdownComponentRef.instance.filteredData = this.filteredData\n this.dropdownComponentRef.instance.ocLoading = this.ocLoading\n this.dropdownComponentRef.instance.ocDisabled = this.ocDisabled\n this.dropdownComponentRef.instance.ocNoAvailableOptionsText = this.ocNoAvailableOptionsText\n this.dropdownComponentRef.instance.ocMaxResults = this.ocMaxResults\n this.dropdownComponentRef.instance.ocTypeForMoreResultsText = this.ocTypeForMoreResultsText\n this.dropdownComponentRef.instance.ocType = this.ocType\n this.dropdownComponentRef.instance.selectedIndex = this.selectedIndex\n this.dropdownComponentRef.instance.ocOptionsMaxHeight = this.ocOptionsMaxHeight\n this.dropdownComponentRef.instance.ocOptionsWidth = this.ocOptionsWidth\n\n this.dropdownComponentRef.changeDetectorRef.detectChanges()\n // Force UI update\n this.cdr.detectChanges()\n }\n\n selectValue(value: any) {\n const foundValue = this.ocData.find((data) => data.value == value)\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n\n this.selectedIndex = -1\n this.closeOverlay()\n this.isOptionsShown = false\n this.cdr.detectChanges()\n return\n }\n\n if (this.ocType === 'counterSelect') {\n foundValue.counter = (foundValue.counter || 0) + 1\n this.emitCounterSelectChange()\n return\n }\n\n this.selectedValue = foundValue\n if (this.ocClearOnChange) {\n this.ocValue = ''\n this.filteredData = this.ocData\n } else {\n this.ocValue = foundValue.name\n }\n\n this.isOptionsShown = false\n this.selectedIndex = this.filteredData.indexOf(foundValue)\n\n this.ocChange.emit(this.selectedValue.value)\n\n this.cdr.detectChanges()\n // Force UI update\n this.cdr.detectChanges()\n }\n\n clearValue() {\n this.selectedValue = {\n name: '',\n value: null,\n }\n this.ocValue = ''\n this.filteredData = this.ocData\n\n // TODO: validate if this can be emitted here\n // this.ocChange.emit(null)\n }\n\n protected incrementCounter(option: OcAutoCompleteType): void {\n if (!option.counter) {\n option.counter = 1\n } else {\n option.counter++\n }\n this.emitCounterSelectChange()\n }\n\n protected decrementCounter(option: OcAutoCompleteType): void {\n if (option.counter && option.counter > 0) {\n option.counter--\n this.emitCounterSelectChange()\n }\n }\n\n emitCounterSelectChange(): void {\n const hasMoreThanZero = this.ocData.filter((data) => !!data.counter)\n this.ocCounterSelectChange.emit(hasMoreThanZero)\n }\n\n moveSelection(delta: number): void {\n this.selectedIndex = Math.max(\n 0,\n Math.min(this.listOptionsElements.length - 1, this.selectedIndex + delta)\n )\n\n const element = this.listOptionsElements.get(this.selectedIndex)?.nativeElement\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n }\n }\n\n protected onKeyDown(event: Event): void {\n if (this.ocEnableKeyboard) {\n const e = event as KeyboardEvent\n\n if (this.isOptionsShown) {\n if (e.key === 'ArrowUp') {\n this.moveSelection(-1)\n } else if (e.key === 'ArrowDown') {\n this.moveSelection(1)\n } else if (e.key === 'Enter') {\n this.selectValue(this.filteredData[this.selectedIndex].value)\n } else {\n return\n }\n }\n\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n ngOnDestroy(): void {\n this.closeOverlay()\n }\n}\n","<div\n [ngClass]=\"{\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix || ocHasDeleteButton,\n shui: ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui',\n }\"\n>\n <ng-content></ng-content>\n <input\n [placeholder]=\"ocPlaceholder\"\n #input\n (click)=\"toggleOptions(); ocClick.emit()\"\n type=\"text\"\n (input)=\"filterData(ocValue)\"\n [(ngModel)]=\"ocValue\"\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\n [ngClass]=\"{\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\n }\"\n [tabindex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n (keydown)=\"onKeyDown($event)\"\n />\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\n <label>\n <span [innerHTML]=\"ocPlaceholder || ''\"></span>\n @if (ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n }\n <small\n *ngIf=\"ocError\"\n class=\"error-msg\"\n >{{ ocError }}</small\n >\n <ng-content select=\"ocPrefix\"></ng-content>\n @if (ocHasDeleteButton && !ocDisabled) {\n <button\n class=\"oc-has-close-button oc suffix\"\n (click)=\"clearValue(); ocChange.emit(null)\"\n [disabled]=\"ocDisabled\"\n >\n <span class=\"material-symbols-outlined\">backspace</span>\n </button>\n }\n <ng-content select=\"ocSuffix\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'oc-profile',\n imports: [CommonModule],\n templateUrl: './oc-profile.component.html',\n styleUrl: './oc-profile.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcProfileComponent implements OnInit {\n @Input() ocUserName?: string\n @Input() ocProfilePic?: string\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\n nameInitials: string = ''\n \n ngOnInit() {\n this.getInitials()\n }\n\n getInitials() {\n if(!this.ocUserName) return\n\n const splittedName = this.ocUserName?.split(' ')\n\n const firstLetter = splittedName[0][0]\n let lastLetter = ''\n \n const lastName = splittedName[splittedName.length - 1]\n\n if(splittedName.length > 1 && lastName){\n lastLetter = lastName[0]\n }\n\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\n }\n}\n","<div class=\"oc-profile\"\n [ngClass]=\"{\n small: ocSize === 'small',\n tiny: ocSize === 'tiny',\n large: ocSize === 'large'\n }\"\n>\n <div class=\"content\">\n @if(ocProfilePic){\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\n }@else {\n <span>\n {{nameInitials}}\n </span>\n }\n </div>\n</div>","import { Component, Input } from '@angular/core';\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'oc-log',\n imports: [CommonModule, OcProfileComponent],\n templateUrl: './oc-log.component.html',\n styleUrl: './oc-log.component.scss'\n})\nexport class OcLogComponent {\n @Input() ocProfilePic?: string = ''\n @Input() ocUserName?: string = ''\n}\n","<div class=\"oc-log\">\n <div class=\"left-side\" [ngClass]=\"{\n 'has-profile': ocProfilePic || ocUserName\n }\">\n @if(ocProfilePic || ocUserName) {\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\n </oc-profile>\n } @else {\n <div class=\"dot\"></div>\n }\n </div>\n\n <div class=\"content\" [ngClass]=\"{\n 'has-profile-content': ocProfilePic || ocUserName\n }\" selector=\"[content]\">\n <ng-content></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-pagination',\n imports: [CommonModule],\n templateUrl: './oc-pagination.component.html',\n styleUrl: './oc-pagination.component.scss',\n})\nexport class OcPaginationComponent implements OnInit {\n @Input() ocPage: number = 1\n @Input() ocMaxPage?: number\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocGetPage = new EventEmitter<number>()\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngOnInit(): void {\n if (!this.ocMaxPage) this.ocMaxPage = this.ocPage\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n firstPage() {\n this.ocPage = 1\n\n this.ocGetPage.emit(this.ocPage)\n }\n\n decrementPage() {\n if (this.ocPage <= 1) return\n this.ocPage--\n\n this.ocGetPage.emit(this.ocPage)\n }\n\n incrementPage() {\n if (!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\n this.ocPage++\n\n this.ocGetPage.emit(this.ocPage)\n }\n\n lastPage() {\n if (!this.ocMaxPage) return\n this.ocPage = this.ocMaxPage\n\n this.ocGetPage.emit(this.ocPage)\n }\n}\n","<div\n class=\"oc-pagination\"\n [ngClass]=\"ocStyle\"\n>\n <p class=\"oc-pagination-text\">\n Página\n <span>{{ ocPage }}</span>\n de\n <span>{{ ocMaxPage }}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button\n (click)=\"firstPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button\n (click)=\"decrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button\n (click)=\"incrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button\n (click)=\"lastPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\"> keyboard_double_arrow_right </span>\n </button>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'oc-not-found',\n imports: [],\n templateUrl: './oc-not-found.component.html',\n styleUrl: './oc-not-found.component.scss'\n})\nexport class OcNotFoundComponent {\n\n}\n","<main class=\"oc-not-found\">\n <div class=\"content\">\n <div class=\"main-title\">\n <h1>404</h1>\n <span class=\"s-1\">?</span>\n <span class=\"s-2\">?</span>\n <span class=\"s-3\">?</span>\n </div>\n <div class=\"not-found-msg\">\n <h2>Página não encontrada</h2>\n <p>Não conseguimos encontrar a página que você está procurando</p>\n </div>\n </div>\n</main>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core'\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-checkbox',\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n templateUrl: './oc-checkbox.component.html',\n styleUrl: './oc-checkbox.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OcCheckboxComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class OcCheckboxComponent implements ControlValueAccessor, AfterViewInit {\n checkBoxId: string = `oc-${Math.random()}`\n\n constructor(\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Output() ocChange = new EventEmitter<boolean>()\n @Output() ocCheckedChange = new EventEmitter<boolean>();\n\n @Input() ocChecked: boolean = false\n @Input() ocSize: 'tiny' | 'small' = 'small'\n @Input() ocLabel?: string = ''\n @Input() ocName?: string = ''\n @Input() ocColor: 'purple' | 'green' = 'green'\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocDoubleClick = new EventEmitter<boolean>()\n @Input() formControl?: FormControl\n @Input() ocTabIndex?: number\n @Input() disableDoubleClickCheck = true\n @Input() ocDisabled = false\n\n private onChange?: (value: boolean) => void\n private onTouched = (): void => {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n writeValue(value: boolean): void {\n this.ocChecked = value\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n private doubleClickCounter = 0\n private timeoutId: ReturnType<typeof setTimeout> | null = null\n protected onDoubleClick(): void {\n if (this.disableDoubleClickCheck) {\n return\n }\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n this.timeoutId = null\n }\n\n if (this.doubleClickCounter === 0) {\n this.doubleClickCounter = 1\n this.timeoutId = setTimeout(() => {\n this.doubleClickCounter = 0\n this.cdr.markForCheck()\n setInterval(() => this.cdr.detectChanges(), 100)\n }, 500)\n } else {\n this.doubleClickCounter = 0\n if (this.ocDoubleClick && this.ocChecked) {\n this.ocDoubleClick.emit(this.ocChecked)\n }\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n toggleChecked(): void {\n if (this.doubleClickCounter === 1) {\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n return\n }\n this.ocChecked = !this.ocChecked\n if (this.onChange) {\n this.onChange(this.ocChecked)\n }\n this.onTouched()\n this.ocChange.emit(this.ocChecked)\n this.ocCheckedChange.emit(this.ocChecked)\n\n if (this.formControl) {\n this.formControl.setValue(this.ocChecked)\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n}\n","<button\n class=\"oc-checkbox-content cbx\"\n type=\"button\"\n (click)=\"toggleChecked(); onDoubleClick()\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n [tabIndex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n>\n <div\n class=\"oc-checkbox cbx\"\n [ngClass]=\"{\n checked: ocChecked,\n tiny: ocSize === 'tiny',\n purple: ocColor === 'purple',\n 'gray-border': ocBorderColor === 'gray',\n }\"\n >\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\n </div>\n\n @if (ocLabel) {\n <span class=\"oc-checkbox-label cbx\">\n {{ ocLabel }}\n </span>\n }\n\n <ng-content> </ng-content>\n\n @if (formControl) {\n <input\n [formControl]=\"formControl\"\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n } @else {\n <input\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n }\n</button>\n","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { OcMenuType } from '../../interfaces/oc-menu';\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\n\n@Component({\n selector: 'oc-menu',\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\n templateUrl: './oc-menu.component.html',\n styleUrls: ['./oc-menu.component.scss']\n})\nexport class OcMenuComponent implements OnInit {\n constructor(private renderer: Renderer2) {}\n\n @ViewChild('ocMenuEl') menu!: ElementRef;\n @Output() ocChange = new EventEmitter()\n @Input() ocMenu: OcMenuType[] = []\n isMenuShown: boolean = false\n buttonId?:string\n\n open() {\n this.isMenuShown = true\n\n setTimeout(() => {\n if(this.menu){\n const parentButton = this.findParentButton(this.menu.nativeElement);\n if (parentButton) {\n this.buttonId = `oc-${Math.random()}`\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\n }\n }\n }, 100)\n }\n\n ngOnInit() {\n this.closeOnClickOut()\n }\n\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\n let parent = element.parentElement;\n while (parent) {\n if (parent.tagName.toLowerCase() === 'button') {\n return parent as HTMLButtonElement;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n \n closeOnClickOut() {\n this.renderer.listen('window', 'click',(e:any)=>{\n\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\n\n if(isCheckbox) return\n else if(!this.menu) return\n\n if(this.buttonId && e.target.id !== this.buttonId) {\n this.isMenuShown = false\n return\n }\n \n })\n }\n\n changeCheckbox(name: string, checked: boolean) {\n let foundItem\n this.ocMenu.forEach(item => {\n if(item.name === name && typeof checked === 'boolean') {\n item.checked = checked\n\n foundItem = item\n }\n })\n this.ocChange.emit(foundItem)\n return foundItem\n }\n\n typeof(key: any) {\n return typeof key\n }\n}\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\n <ul>\n @for(option of ocMenu; track $index) {\n <li\n [ngClass]=\"{\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\n }\"\n >\n @if(typeof(option.checked) === 'boolean'){\n <div class=\"checkbox-opt cbx\">\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\n </div>\n }\n @if(option.icon) {\n <span class=\"material-symbols-outlined\">\n {{option.icon}}\n </span>\n } \n @if(option.callback){\n <button (click)=\"option.callback()\">{{option.name}}</button>\n }\n @if(option.url){\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\n }\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\n <span>{{option.name}}</span>\n }\n </li>\n }\n </ul>\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core'\nimport { CdkMenuModule } from '@angular/cdk/menu'\nimport { CommonModule } from '@angular/common'\nimport { OcMenuHorizType } from '../../interfaces/oc-menu-horiz'\n\n@Component({\n selector: 'oc-menu-horiz',\n imports: [CommonModule, CdkMenuModule],\n templateUrl: './oc-menu-horiz.component.html',\n styleUrls: ['./oc-menu-horiz.component.scss'],\n})\nexport class OcMenuHorizComponent implements OnInit, OnDestroy {\n constructor(\n private readonly renderer: Renderer2,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n @Input() ocMenu: OcMenuHorizType[] = []\n @Input() maxWidth?: string\n @Input() width?: string\n\n @Input() shouldCloseOnClickOut: boolean = false\n @Input() hostElement?: HTMLElement\n\n @Output() ocChange = new EventEmitter()\n\n @ViewChild('menuContainerInvis') menuElementInvisible?: ElementRef<HTMLDivElement>\n @ViewChild('menuContainer') menuElement?: ElementRef<HTMLDivElement>\n @ViewChild('itemsListInvisible') itemsListElement?: ElementRef<HTMLUListElement>\n protected isMenuShown: boolean = false\n protected showOverflowMenu = false\n protected buttonId?: string\n\n protected visibleItems: OcMenuHorizType[] = []\n protected overflowItems: OcMenuHorizType[] = []\n\n private itemWidths: number[] = []\n private isInitialized = false\n protected resizeObserver?: ResizeObserver\n private windowClickUnlisten?: () => void\n\n public open(): void {\n this.isMenuShown = true\n // reset on next tick so the opening click is ignored by the window listener\n this.cdr.detectChanges()\n if (!this.isInitialized) {\n this.initializeMenu()\n }\n }\n\n public close(): void {\n this.isMenuShown = false\n this.showOverflowMenu = false\n this.cdr.detectChanges()\n }\n\n ngOnInit(): void {\n this.closeOnClickOut()\n }\n\n ngOnDestroy(): void {\n if (this.windowClickUnlisten) this.windowClickUnlisten()\n this.resizeObserver?.disconnect()\n }\n\n private closeOnClickOut(): void {\n // If already listening, don't register again\n if (this.windowClickUnlisten) return\n\n this.windowClickUnlisten = this.renderer.listen('window', 'click', (e: MouseEvent) => {\n // Only act if user wants this behavior\n if (!this.shouldCloseOnClickOut) return\n\n // Only act when menu is open\n if (!this.isMenuShown) return\n\n const target = e.target as HTMLElement | null\n if (!target) return\n\n // If click is inside the menu, ignore\n if (this.menuElement && this.menuElement.nativeElement.contains(target)) {\n return\n }\n\n if (this.hostElement && this.hostElement.contains(target)) {\n return\n }\n\n // Otherwise it's an outside click -> close (respect shouldCloseOnClick)\n this.showOverflowMenu = false\n if (this.shouldCloseOnClickOut) {\n this.isMenuShown = false\n }\n // note: we don't unlisten here because we want to handle future clicks;\n // unlisten is done in ngOnDestroy.\n this.cdr.detectChanges()\n })\n }\n\n private measureItems(): void {\n if (!this.itemsListElement) {\n return\n }\n\n const listElement = this.itemsListElement.nativeElement\n const items = listElement.querySelectorAll('li:not(.overflow-menu-item)')\n\n this.itemWidths = Array.from(items).map((item) => {\n return (item as HTMLElement).offsetWidth\n })\n\n this.calculateVisibleItems()\n }\n\n private setupResizeObserver(): void {\n if (!this.menuElementInvisible) {\n return\n }\n this.resizeObserver = new ResizeObserver(() => {\n this.measureItems()\n })\n this.resizeObserver.observe(this.menuElementInvisible.nativeElement)\n }\n\n private initializeMenu(): void {\n this.measureItems()\n this.setupResizeObserver()\n this.isInitialized = true\n }\n\n private calculateVisibleItems(): void {\n if (!this.menuElementInvisible || this.itemWidths.length === 0) {\n return\n }\n\n const containerWidth = this.menuElementInvisible.nativeElement.offsetWidth\n\n // Store this width to compare in ResizeObserver\n\n const overflowButtonWidth = 40\n const padding = 15\n\n let availableWidth = containerWidth - padding\n let visibleCount = 0\n let currentWidth = 0\n\n const totalWidth = this.itemWidths.reduce((sum, width) => sum + width, 0)\n const needsOverflow = totalWidth > availableWidth\n\n if (needsOverflow) {\n availableWidth -= overflowButtonWidth\n }\n\n for (let i = 0; i < this.itemWidths.length; i++) {\n if (currentWidth + this.itemWidths[i] <= availableWidth) {\n currentWidth += this.itemWidths[i]\n visibleCount++\n } else {\n break\n }\n }\n\n if (needsOverflow && visibleCount === this.ocMenu.length) {\n visibleCount--\n }\n\n // Only update if counts actually changed\n\n this.visibleItems = this.ocMenu.slice(0, visibleCount)\n this.overflowItems = this.ocMenu.slice(visibleCount)\n\n // Batch the change detection\n requestAnimationFrame(() => {\n this.cdr.detectChanges()\n })\n }\n\n protected toggleOverflowMenu(event: Event): void {\n event.stopPropagation()\n this.showOverflowMenu = !this.showOverflowMenu\n }\n\n protected handleOverflowItemClick(callback?: () => void): void {\n if (callback) {\n callback()\n }\n }\n}\n","@if (isMenuShown && ocMenu.length > 0) {\n <div\n class=\"oc-menu-horiz\"\n [style.width]=\"'fit-content'\"\n #menuContainer\n >\n <ul>\n @if (visibleItems.length === 0 && overflowItems.length === 0) {\n @for (option of ocMenu; track $index) {\n <li\n [ngStyle]=\"{\n 'background-color': option.backgroundColor,\n }\"\n >\n @if (option.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.icon }}\n </span>\n }\n @if (option.callback) {\n <button\n (click)=\"option.callback()\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.name }}\n </button>\n }\n @if (option.url) {\n <a\n [href]=\"option.url\"\n [target]=\"option.targetBlank ? '_blank' : ''\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</a\n >\n }\n @if (!option.callback && !option.url) {\n <span\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</span\n >\n }\n </li>\n }\n }\n\n @for (option of visibleItems; track $index) {\n <li\n [ngStyle]=\"{\n 'background-color': option.backgroundColor,\n }\"\n >\n @if (option.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.icon }}</span\n >\n }\n @if (option.callback) {\n <button\n (click)=\"option.callback()\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.name }}\n </button>\n }\n @if (option.url) {\n <a\n [href]=\"option.url\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n [target]=\"option.targetBlank ? '_blank' : ''\"\n >{{ option.name }}</a\n >\n }\n @if (!option.callback && !option.url) {\n <span\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</span\n >\n }\n </li>\n }\n\n @if (overflowItems.length > 0) {\n <li class=\"overflow-menu-item\">\n <button\n (click)=\"toggleOverflowMenu($event)\"\n class=\"overflow-button\"\n >\n <span class=\"material-symbols-outlined\">more_horiz</span>\n </button>\n\n @if (showOverflowMenu) {\n <div class=\"overflow-dropdown\">\n <ul>\n @for (option of overflowItems; track $index) {\n <li\n [ngStyle]=\"{\n 'background-color': option.backgroundColor,\n }\"\n >\n @if (option.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.icon }}</span\n >\n }\n @if (option.callback) {\n <button\n (click)=\"handleOverflowItemClick(option.callback)\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.name }}\n </button>\n }\n @if (option.url) {\n <a\n [href]=\"option.url\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n [target]=\"option.targetBlank ? '_blank' : ''\"\n >{{ option.name }}</a\n >\n }\n @if (!option.callback && !option.url) {\n <span\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</span\n >\n }\n </li>\n }\n </ul>\n </div>\n }\n </li>\n }\n </ul>\n </div>\n\n <!-- Invisible Element used to calculate the size of elements -->\n <div\n class=\"oc-menu-horiz\"\n [style.max-width]=\"maxWidth\"\n [style.width]=\"width\"\n #menuContainerInvis\n [ngStyle]=\"{ visibility: 'hidden', 'z-index': '-1', opacity: 0 }\"\n [style.max-width]=\"maxWidth\"\n [style.width]=\"width\"\n >\n <ul\n #itemsListInvisible\n [ngStyle]=\"{ visibility: 'hidden', 'z-index': '-1', opacity: 0 }\"\n >\n @for (option of ocMenu; track $index) {\n <li>\n @if (option.icon) {\n <span class=\"material-symbols-outlined\">\n {{ option.icon }}\n </span>\n }\n @if (option.callback) {\n <button>{{ option.name }}</button>\n }\n @if (option.url) {\n <a>{{ option.name }}</a>\n }\n @if (!option.callback && !option.url) {\n <span>{{ option.name }}</span>\n }\n </li>\n }\n </ul>\n </div>\n}\n","import { CommonModule } from '@angular/common'\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\nimport { OcToastService } from '../../services/oc-toast.service'\n\n@Component({\n selector: 'oc-toast',\n imports: [CommonModule],\n templateUrl: './oc-toast.component.html',\n styleUrl: './oc-toast.component.scss',\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class OcToastComponent {\n constructor(public toast: OcToastService) {}\n}\n","<div\n class=\"toast\"\n [ngClass]=\"{\n 'close-toast': toast.currentToast.counter === 1,\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\n animation: toast.currentToast.hasAnimation\n }\"\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\n>\n <header>\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\n <h4 class=\"status\">\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\n </h4>\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\n <span class=\"material-symbols-outlined\">close</span>\n </button>\n </header>\n <p>{{ toast.currentToast.message }}</p>\n</div>\n\n<ng-template #iconTemplate>\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\n >error</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\n >check_circle</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\n >info</span\n >\n\n <svg *ngIf=\"['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase())\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><style>rect{fill:#00DDA3}.spinner_zWVm{animation:spinner_5QiW 1.2s linear infinite,spinner_PnZo 1.2s linear infinite}.spinner_gfyD{animation:spinner_5QiW 1.2s linear infinite,spinner_4j7o 1.2s linear infinite;animation-delay:.1s}.spinner_T5JJ{animation:spinner_5QiW 1.2s linear infinite,spinner_fLK4 1.2s linear infinite;animation-delay:.1s}.spinner_E3Wz{animation:spinner_5QiW 1.2s linear infinite,spinner_tDji 1.2s linear infinite;animation-delay:.2s}.spinner_g2vs{animation:spinner_5QiW 1.2s linear infinite,spinner_CMiT 1.2s linear infinite;animation-delay:.2s}.spinner_ctYB{animation:spinner_5QiW 1.2s linear infinite,spinner_cHKR 1.2s linear infinite;animation-delay:.2s}.spinner_BDNj{animation:spinner_5QiW 1.2s linear infinite,spinner_Re6e 1.2s linear infinite;animation-delay:.3s}.spinner_rCw3{animation:spinner_5QiW 1.2s linear infinite,spinner_EJmJ 1.2s linear infinite;animation-delay:.3s}.spinner_Rszm{animation:spinner_5QiW 1.2s linear infinite,spinner_YJOP 1.2s linear infinite;animation-delay:.4s}@keyframes spinner_5QiW{0%,50%{width:7.33px;height:7.33px}25%{width:1.33px;height:1.33px}}@keyframes spinner_PnZo{0%,50%{x:1px;y:1px}25%{x:4px;y:4px}}@keyframes spinner_4j7o{0%,50%{x:8.33px;y:1px}25%{x:11.33px;y:4px}}@keyframes spinner_fLK4{0%,50%{x:1px;y:8.33px}25%{x:4px;y:11.33px}}@keyframes spinner_tDji{0%,50%{x:15.66px;y:1px}25%{x:18.66px;y:4px}}@keyframes spinner_CMiT{0%,50%{x:8.33px;y:8.33px}25%{x:11.33px;y:11.33px}}@keyframes spinner_cHKR{0%,50%{x:1px;y:15.66px}25%{x:4px;y:18.66px}}@keyframes spinner_Re6e{0%,50%{x:15.66px;y:8.33px}25%{x:18.66px;y:11.33px}}@keyframes spinner_EJmJ{0%,50%{x:8.33px;y:15.66px}25%{x:11.33px;y:18.66px}}@keyframes spinner_YJOP{0%,50%{x:15.66px;y:15.66px}25%{x:18.66px;y:18.66px}}</style><rect class=\"spinner_zWVm\" x=\"1\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_gfyD\" x=\"8.33\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_T5JJ\" x=\"1\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_E3Wz\" x=\"15.66\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_g2vs\" x=\"8.33\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_ctYB\" x=\"1\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_BDNj\" x=\"15.66\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_rCw3\" x=\"8.33\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_Rszm\" x=\"15.66\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/></svg>\n \n\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-toggle',\n imports: [CommonModule],\n templateUrl: './oc-toggle.component.html',\n styleUrl: './oc-toggle.component.scss'\n})\nexport class OcToggleComponent {\n _ocChecked: boolean = false\n @Input() ocDisabled: boolean = false\n\n @Input() ocSize: 'medium' | 'large' = 'medium'\n @Input() set ocChecked(value: boolean) {\n this._ocChecked = value\n this.ocCheckedChange.emit(this._ocChecked)\n }\n\n get ocChecked() {\n return this._ocChecked\n }\n\n @Input() ocColor: 'purple' | 'green' = 'green'\n\n @Output() ocCheckedChange = new EventEmitter<boolean>()\n\n toggleChecked() {\n this.ocChecked = !this.ocChecked\n }\n}\n","<label\n class=\"switch\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n }\"\n>\n <input\n [checked]=\"ocChecked\"\n (click)=\"toggleChecked()\"\n type=\"checkbox\"\n [disabled]=\"ocDisabled\"\n />\n <span\n class=\"slider round\"\n [ngClass]=\"[ocColor]\"\n ></span>\n</label>\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-step',\n imports: [CommonModule],\n templateUrl: './oc-step.component.html',\n styleUrl: './oc-step.component.scss'\n})\nexport class OcStepComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n\n @Input() ocIsActive: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCompleted: boolean = false\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n @Input() ocExpandable?: boolean = true\n\n @Output() ocClick = new EventEmitter()\n stepIndex: number = 0\n selectedIndex: number = 0\n lastIndex: number = 0\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n protected handleStepClick(stepIndex: number): void {\n if (!this.ocExpandable) {\n return\n }\n if (stepIndex !== this.selectedIndex && (stepIndex <= this.selectedIndex || this.ocCompleted)) {\n this.selectStep(stepIndex)\n this.ocClick.emit()\n }\n }\n\n @Input() selectStep!: (index: number) => void\n}\n","<div class=\"oc-step\" (click)=\"\n handleStepClick(stepIndex)\n \" [ngClass]=\"{\n 'oc-not-selected': stepIndex !== selectedIndex,\n 'shui': ocStyle === 'shui',\n 'shui-step': ocStyle === 'shui',\n 'oc-expandable': ocExpandable\n}\">\n <div class=\"left-side\">\n <div class=\"step-number\" [ngClass]=\"{\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green',\n 'history-point': ocType === 'history'\n }\">\n @if(ocType !== 'history') {\n <span>{{stepIndex! + 1}}</span>\n }\n </div>\n <h2 [ngClass]=\"{\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\n }\">{{ocTitle}}</h2>\n </div>\n <div class=\"oc-content\" [ngClass]=\"{\n 'expanded': ocIsActive || !ocExpandable,\n 'oc-expandable': ocExpandable,\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\n 'oc-left-border': stepIndex !== lastIndex,\n 'history-point': ocType === 'history'\n }\">\n @if (ocIsActive || !ocExpandable) {\n <ng-content></ng-content>\n }\n </div>\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\nimport { OcStepComponent } from '../oc-step/oc-step.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-stepper',\n imports: [],\n templateUrl: './oc-stepper.component.html',\n styleUrl: './oc-stepper.component.scss'\n})\nexport class OcStepperComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\n @Input() ocAllowNavigation: boolean = false\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCurrentIndex: number = 0\n @Input() ocSaveCompletedSteps: boolean = true\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n\n private completedSteps: number[] = []\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.setStepsValues()\n this.selectStep(this.ocCurrentIndex)\n this.setCompletedSteps()\n }\n\n private setCompletedSteps(): void {\n if (!this.ocSaveCompletedSteps) {\n return\n }\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\n this.completedSteps.push(i)\n }\n }\n\n setStepsValues(): void {\n this.ocSteps.forEach((step, i) => {\n step.stepIndex = i\n step.ocColor = this.ocColor\n step.lastIndex = this.ocSteps.length - 1\n step.ocStyle = this.ocStyle\n step.ocType = this.ocType\n\n step.selectStep = (index: number) => this.selectStep(index)\n })\n }\n\n selectStep(index: number): void {\n this.ocSteps.forEach((step, i) => {\n step.ocStyle = this.ocStyle\n\n if (this.completedSteps.includes(i)) {\n step.ocCompleted = true\n }\n if (i !== index) {\n step.ocIsActive = false\n step.selectedIndex = index\n return\n }\n step.ocIsActive = true\n this.ocCurrentIndex = index\n step.selectedIndex = this.ocCurrentIndex\n this.setCompletedSteps()\n })\n return\n }\n\n nextStep(event: Event): void {\n event.stopPropagation()\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\n return\n }\n this.selectStep(this.ocCurrentIndex + 1)\n }\n\n previousStep(event: Event): void {\n event.stopPropagation()\n if (!this.ocCurrentIndex) {\n return\n }\n this.selectStep(this.ocCurrentIndex - 1)\n }\n}\n","<div class=\"oc-stepper\">\n <ng-content></ng-content>\n</div>","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-tab',\n imports: [],\n templateUrl: './oc-tab.component.html',\n styleUrl: './oc-tab.component.scss'\n})\nexport class OcTabComponent {\n @Input() ocTitle: string = ''\n @Input() ocIsActive: boolean = false\n\n tabIndex: number = 0\n}\n","@if (ocIsActive) {\n <ng-content></ng-content>\n}","import {\n Component,\n ContentChildren,\n QueryList,\n AfterContentInit,\n ChangeDetectorRef,\n OnDestroy,\n EventEmitter,\n Output,\n Input,\n} from '@angular/core'\nimport { Subscription } from 'rxjs'\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\nimport { CommonModule } from '@angular/common'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-tabs',\n imports: [CommonModule],\n templateUrl: './oc-tabs.component.html',\n styleUrl: './oc-tabs.component.scss'\n})\nexport class OcTabsComponent implements AfterContentInit, OnDestroy {\n constructor(private styleThemeService: StyleThemeService, private cdr: ChangeDetectorRef) {}\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\n private _ocStyle: OcStyleThemeType = 'otimus'\n @Input()\n set ocStyle(value: OcStyleThemeType) {\n this._ocStyle = value\n }\n get ocStyle(): OcStyleThemeType {\n return this._ocStyle || this.styleThemeService.getStyleTheme() || 'otimus'\n }\n @Output() ocClick = new EventEmitter<void>()\n\n activeTabIndex: number = 0\n private tabsChangesSubscription?: Subscription\n\n ngAfterContentInit(): void {\n this.selectTab(0)\n\n // Listen for changes in tabs (when tabs are dynamically added/removed with @if blocks)\n this.tabsChangesSubscription = this.ocTabs.changes.subscribe(() => {\n // Schedule updates after current change detection cycle\n Promise.resolve().then(() => {\n this.updateTabIndices()\n // If the active tab was removed, select the last available tab\n if (this.activeTabIndex >= this.ocTabs.length) {\n this.selectTab(Math.max(0, this.ocTabs.length - 1))\n } else {\n // Refresh the current tab selection to ensure correct indices\n this.selectTab(this.activeTabIndex)\n }\n })\n })\n }\n\n ngOnDestroy(): void {\n this.tabsChangesSubscription?.unsubscribe()\n }\n\n updateTabIndices(): void {\n this.ocTabs.toArray().forEach((tab, i) => {\n tab.tabIndex = i\n })\n }\n\n selectTab(index: number): void {\n this.ocTabs.toArray().forEach((tab, i) => {\n tab.tabIndex = i\n tab.ocIsActive = i === index\n })\n this.activeTabIndex = index\n this.cdr.markForCheck()\n }\n\n handleTabClick(): void {\n this.ocClick.emit()\n }\n}\n","<div class=\"oc-tabs\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n}\">\n <div class=\"row\">\n @for(tab of ocTabs; track $index) {\n <button [ngClass]=\"{\n 'oc-selected': tab.tabIndex === activeTabIndex\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex); \n handleTabClick()\" type=\"button\">{{tab.ocTitle}}</button>\n }\n <div class=\"row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n </div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-accordion-item',\n imports: [CommonModule],\n templateUrl: './oc-accordion-item.component.html',\n styleUrl: './oc-accordion-item.component.scss'\n})\nexport class OcAccordionItemComponent {\n @Input() ocIsOpen: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocToggle = new EventEmitter<boolean>()\n @Output() closeAllItems = new EventEmitter()\n\n protected toggle(): void {\n if (this.ocIsOpen) {\n this.ocIsOpen = !this.ocIsOpen\n this.ocToggle.emit(this.ocIsOpen)\n return\n }\n this.closeAllItems.emit()\n this.ocIsOpen = !this.ocIsOpen\n this.ocToggle.emit(this.ocIsOpen)\n }\n\n}\n","<div class=\"oc-accordion-item\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n}\">\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\n keyboard_control_key\n </span>\n </div>\n @if (ocIsOpen) {\n <div class=\"oc-content\" [ngClass]=\"{\n open: ocIsOpen\n }\">\n <ng-content></ng-content>\n </div>\n }\n</div>","import { AfterViewInit, Component, ContentChildren, Input, QueryList } from '@angular/core'\nimport { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component'\nimport { CommonModule } from '@angular/common'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-accordion',\n imports: [CommonModule, OcAccordionItemComponent],\n templateUrl: './oc-accordion.component.html',\n styleUrl: './oc-accordion.component.scss'\n})\nexport class OcAccordionComponent implements AfterViewInit {\n @ContentChildren(OcAccordionItemComponent) items!: QueryList<OcAccordionItemComponent>\n @Input() ocAlternate: boolean = true\n @Input() ocCurrentIndex?: number\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.items.forEach((item, i) => {\n item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n item.closeAllItems.subscribe(() => this.closeAllItems())\n })\n }\n\n closeAllItems(): void {\n if (this.ocAlternate) {\n this.items.forEach((item) => (item.ocIsOpen = false))\n }\n }\n\n alternateToIndex(index: number): void {\n this.items.forEach((item, i) => {\n if (i === index) {\n item.ocIsOpen = true\n return\n }\n item.ocIsOpen = false\n })\n }\n}\n","<div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-message',\n imports: [CommonModule],\n templateUrl: './oc-message.component.html',\n styleUrl: './oc-message.component.scss',\n})\nexport class OcMessageComponent {\n @Input() isOpen: boolean = true\n @Input() ocColor: 'default' | 'green' | 'red' | 'purple' = 'default'\n @Input() ocClosable: boolean = false\n @Input() ocIcon: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n private _ocTitle: string = ''\n @Input()\n set ocTitle(value: string) {\n this._ocTitle = value.trim()\n }\n get ocTitle(): string {\n return this._ocTitle\n }\n\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n open() {\n this.isOpen = true\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close() {\n this.isOpen = false\n this.ocOnClose.emit(this.isOpen)\n }\n}\n","@if (!ocClosable || isOpen) {\n <div\n class=\"oc-message-bg\"\n [class.shui]=\"ocStyle === 'shui'\"\n [ngClass]=\"'oc-' + ocColor\"\n >\n <div\n class=\"oc-icon oc-message-header\"\n [ngClass]=\"'oc-' + ocColor\"\n >\n <div class=\"title\">\n @if (ocIcon) {\n <span class=\"material-symbols-outlined\">{{ ocIcon }}</span>\n } @else {\n <span>\n <ng-content select=\"[ocIcon]\"></ng-content>\n </span>\n }\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n </div>\n\n @if (ocClosable) {\n <button\n (click)=\"close()\"\n class=\"oc-close-btn\"\n >\n <span\n class=\"material-symbols-outlined md-18\"\n ocTooltip\n content=\"Fechar\"\n ocSide=\"bottom\"\n >\n close\n </span>\n </button>\n }\n </div>\n <div class=\"oc-main-content\">\n <div class=\"oc-message-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n}\n","import {\n Component,\n Input,\n ViewChild,\n ElementRef,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core'\nimport monthsData from './data/months.json'\n\ninterface MonthsData {\n [key: string]: { [key: string]: string }\n}\n\nconst months: MonthsData = monthsData as unknown as MonthsData\n\n@Component({\n selector: 'oc-date-select',\n standalone: true,\n templateUrl: './oc-date-select.component.html',\n styleUrl: './oc-date-select.component.scss',\n})\nexport class OcDateSelectComponent implements AfterViewInit {\n @Input() ocValue: string = this.getCurrentDate()\n @Input() ocType: 'day' | 'month' | 'year' = 'day'\n @Input() ocSkipType: 'day' | 'week' | 'month' | 'year' = 'day'\n @Output() ocValueChange = new EventEmitter<string>()\n\n @Output() ocChange = new EventEmitter<string>()\n\n @Input() ocLanguage: 'ptbr' | 'enus' | 'esch' = 'ptbr'\n @Input() ocMaxDate: string | null = null\n @Input() ocMinDate: string | null = null\n\n @ViewChild('dateInput') dateInput!: ElementRef<HTMLInputElement>\n private intervalId: ReturnType<typeof setInterval> | null = null\n\n ngAfterViewInit(): void {\n if (this.ocSkipType !== this.ocType) {\n this.ocSkipType = this.ocType\n }\n }\n\n private getCurrentDate(): string {\n const today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0')\n const yyyy = today.getFullYear()\n return `${yyyy}-${mm}-${dd}`\n }\n\n protected getViewDate(): string {\n const [year, month, day] = this.ocValue.split('-')\n const monthName = months[this.ocLanguage][month]\n let intersection = ' de '\n if (this.ocLanguage === 'enus') {\n intersection = ' '\n }\n if (this.ocType === 'year') {\n return year\n }\n if (this.ocType === 'month') {\n return `${monthName.toLowerCase()}${intersection}${year}`\n }\n return `${day}${intersection}${monthName.toLowerCase()}${intersection}${year}`\n }\n\n private updateValue(newValue: string): void {\n this.ocValue = newValue\n this.ocValueChange.emit(this.ocValue) // two-way binding\n this.ocChange.emit(this.ocValue) // evento custom\n }\n\n protected increaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() + 1)\n // sum 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() + 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() + 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected decreaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() - 1)\n // sub 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() - 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() - 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected startHold(direction: 'increase' | 'decrease'): void {\n this.stopHold()\n if (direction === 'increase') {\n this.increaseDate()\n this.intervalId = setInterval(() => this.increaseDate(), 150)\n } else {\n this.decreaseDate()\n this.intervalId = setInterval(() => this.decreaseDate(), 150)\n }\n }\n\n protected stopHold(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId)\n this.intervalId = null\n }\n }\n\n protected openDatePicker(): void {\n if (this.dateInput.nativeElement.showPicker) {\n this.dateInput.nativeElement.showPicker()\n } else {\n this.dateInput.nativeElement.click()\n }\n }\n\n protected onDateChange(event: Event): void {\n const input = event.target as HTMLInputElement\n this.updateValue(input.value)\n }\n}\n","<div class=\"date-select\">\n <button\n class=\"left-btn\"\n (mousedown)=\"startHold('decrease')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('decrease')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_back_ios</span>\n </button>\n\n <div class=\"date-text-wrapper\">\n <p\n class=\"date-text\"\n (click)=\"openDatePicker()\"\n >\n {{ getViewDate() }}\n </p>\n @let type = ocType === 'day' ? 'date' : ocType;\n <input\n #dateInput\n [type]=\"type\"\n [max]=\"ocMaxDate\"\n [min]=\"ocMinDate\"\n (change)=\"onDateChange($event)\"\n />\n </div>\n\n <button\n class=\"right-btn\"\n (mousedown)=\"startHold('increase')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('increase')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_forward_ios</span>\n </button>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcMenuType } from '../../interfaces/oc-menu'\nimport { OcMenuComponent } from '../oc-menu/oc-menu.component'\n\n@Component({\n selector: 'oc-button-menu',\n standalone: true,\n imports: [CommonModule, OcMenuComponent],\n templateUrl: './oc-button-menu.component.html',\n styleUrl: './oc-button-menu.component.scss',\n})\nexport class OcButtonMenuComponent {\n @Input() ocSize: 'tiny' | 'small' | 'medium' | 'large' = 'medium'\n @Input() ocColor: 'purple' | 'green' | 'lightGray' = 'lightGray'\n @Input() ocType: 'button' | 'submit' = 'button'\n @Input() ocMenu: OcMenuType[] = []\n @Output() ocClick = new EventEmitter()\n @Output() ocChange = new EventEmitter()\n\n protected getStyleClass(): object {\n return {\n tiny: this.ocSize === 'tiny',\n small: this.ocSize === 'small',\n medium: this.ocSize === 'medium',\n large: this.ocSize === 'large',\n 'p-1': this.ocColor === 'purple',\n 'gray-1': this.ocColor === 'lightGray',\n 'g-1': this.ocColor === 'green',\n }\n }\n}\n","<div class=\"oc-button-menu\" [ngClass]=\"getStyleClass()\">\n <button class=\"oc button left-btn\" [type]=\"ocType\" (click)=\"ocClick.emit($event)\">\n <ng-content></ng-content>\n </button>\n <button (click)=\"menu.open()\" class=\"oc button menu right-btn\" [ngClass]=\"getStyleClass()\">\n <span class=\"material-symbols-outlined\">\n arrow_drop_down\n </span>\n <oc-menu class=\"oc-menu\" #menu [ocMenu]=\"ocMenu\" (ocChange)=\"ocChange.emit($event)\"></oc-menu>\n </button>\n</div>","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-progress',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-progress.component.html',\n styleUrl: './oc-progress.component.scss',\n})\nexport class OcProgressComponent implements AfterViewInit {\n @Input() ocWidth: string = '100%'\n @Input() ocColor: 'purple' | 'green' | 'orange' = 'purple'\n @Input() ocGradient: boolean = true\n @Input() ocStyle: 'otimus' | 'shui' = 'otimus'\n\n @Input() ocPercentage: number = 0\n\n ngAfterViewInit(): void {\n if (this.ocStyle === 'shui') {\n this.ocColor = 'orange'\n }\n }\n}\n","<div class=\"oc-progress-container\">\n <div\n class=\"oc-progress\"\n [ngStyle]=\"{\n width: ocWidth || '100%',\n }\"\n >\n <div\n class=\"fill\"\n [ngClass]=\"{\n purple: ocColor === 'purple',\n green: ocColor === 'green',\n orange: ocColor === 'orange',\n gradient: ocGradient,\n }\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n ></div>\n </div>\n\n <div\n class=\"percentage-tooltip\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n >\n <span class=\"tooltip\">{{ ocPercentage }}%</span>\n </div>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core'\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-overlay',\n imports: [CommonModule],\n templateUrl: './oc-overlay.component.html',\n styleUrl: './oc-overlay.component.scss',\n})\nexport class OcOverlayComponent implements AfterViewInit, OnDestroy {\n @Input() ocContent: TemplateRef<any> | null = null\n @Input() ocTrigger: 'click' | 'hover' = 'click'\n @Input() ocPosition: 'center' | 'top' | 'bottom' | 'left' | 'right' = 'center'\n @Input() ocShowBackdrop: boolean = true\n @Input() ocCloseOnBackdropClick: boolean = true\n @Input() ocWidth: string | number = 'auto'\n @Input() ocHeight: string | number = 'auto'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocDisabled: boolean = false\n @Input() ocZIndex: number = 1000\n\n @Output() ocOpen = new EventEmitter<void>()\n @Output() ocClose = new EventEmitter<void>()\n @Output() ocToggle = new EventEmitter<boolean>()\n\n @ViewChild('trigger') trigger!: ElementRef\n @ViewChild('overlayTemplate') overlayTemplate!: TemplateRef<any>\n\n private overlayRef: OverlayRef | null = null\n private portal: TemplatePortal<any> | null = null\n private isOverlayOpen = false\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngAfterViewInit(): void {\n this.setupEventListeners()\n }\n\n ngOnDestroy(): void {\n this.closeOverlay()\n }\n\n private setupEventListeners(): void {\n if (!this.trigger || this.ocDisabled) return\n\n const triggerElement = this.trigger.nativeElement\n\n if (this.ocTrigger === 'click') {\n triggerElement.addEventListener('click', (event: any) => {\n event.stopPropagation()\n this.toggleOverlay()\n })\n } else if (this.ocTrigger === 'hover') {\n triggerElement.addEventListener('mouseenter', () => {\n this.openOverlay()\n })\n\n triggerElement.addEventListener('mouseleave', () => {\n // Add a small delay before closing to allow moving into the overlay\n setTimeout(() => {\n this.closeOverlay()\n }, 100)\n })\n }\n }\n\n toggleOverlay(): void {\n if (this.isOverlayOpen) {\n this.closeOverlay()\n } else {\n this.openOverlay()\n }\n }\n\n openOverlay(): void {\n if (this.isOverlayOpen || this.ocDisabled || !this.overlayTemplate) {\n return\n }\n\n const overlayConfig = this.getOverlayConfig()\n this.overlayRef = this.overlay.create(overlayConfig)\n this.portal = new TemplatePortal(this.overlayTemplate, this.viewContainerRef)\n\n this.overlayRef.attach(this.portal)\n this.isOverlayOpen = true\n\n // Handle backdrop click\n if (this.ocShowBackdrop && this.ocCloseOnBackdropClick) {\n this.overlayRef.backdropClick().subscribe(() => {\n this.closeOverlay()\n })\n }\n\n this.ocOpen.emit()\n this.ocToggle.emit(true)\n }\n\n closeOverlay(): void {\n if (!this.overlayRef || !this.isOverlayOpen) {\n return\n }\n\n this.overlayRef.detach()\n this.overlayRef.dispose()\n this.overlayRef = null\n this.portal = null\n this.isOverlayOpen = false\n\n this.ocClose.emit()\n this.ocToggle.emit(false)\n }\n\n private getOverlayConfig(): OverlayConfig {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.trigger.nativeElement)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(true)\n .withPush(false)\n\n return {\n positionStrategy,\n hasBackdrop: this.ocShowBackdrop,\n backdropClass: this.ocShowBackdrop ? undefined : 'cdk-overlay-transparent-backdrop',\n panelClass: ['oc-overlay-panel', `oc-overlay-${this.ocStyle}`],\n width: this.parseSize(this.ocWidth),\n height: this.parseSize(this.ocHeight),\n disposeOnNavigation: true,\n }\n }\n\n private getPositions() {\n const basePositions = [\n {\n originX: 'center' as const,\n originY: 'bottom' as const,\n overlayX: 'center' as const,\n overlayY: 'top' as const,\n offsetX: 0,\n offsetY: 8,\n },\n {\n originX: 'center' as const,\n originY: 'top' as const,\n overlayX: 'center' as const,\n overlayY: 'bottom' as const,\n offsetX: 0,\n offsetY: -8,\n },\n {\n originX: 'end' as const,\n originY: 'center' as const,\n overlayX: 'start' as const,\n overlayY: 'center' as const,\n offsetX: -8,\n offsetY: 0,\n },\n {\n originX: 'start' as const,\n originY: 'center' as const,\n overlayX: 'end' as const,\n overlayY: 'center' as const,\n offsetX: 8,\n offsetY: 0,\n },\n ]\n\n // Position-specific configurations\n switch (this.ocPosition) {\n case 'top':\n return [\n {\n originX: 'center' as const,\n originY: 'top' as const,\n overlayX: 'center' as const,\n overlayY: 'bottom' as const,\n offsetX: 0,\n offsetY: -8,\n },\n basePositions[0],\n ]\n case 'bottom':\n return [basePositions[0], basePositions[1]]\n case 'left':\n return [\n {\n originX: 'start' as const,\n originY: 'center' as const,\n overlayX: 'end' as const,\n overlayY: 'center' as const,\n offsetX: -8,\n offsetY: 0,\n },\n basePositions[2],\n ]\n case 'right':\n return [basePositions[2], basePositions[3]]\n case 'center':\n default:\n return basePositions\n }\n }\n\n private parseSize(size: string | number): string | undefined {\n if (size === 'auto' || size === undefined) {\n return undefined\n }\n return typeof size === 'number' ? `${size}px` : size\n }\n}\n","<!-- Trigger element -->\n<div #trigger class=\"oc-overlay-trigger\" [ngClass]=\"{\n 'disabled': ocDisabled,\n 'shui': ocStyle === 'shui'\n}\">\n <ng-content select=\"[ocTrigger]\"></ng-content>\n</div>\n\n<!-- Template for overlay content -->\n<ng-template #overlayTemplate>\n <div class=\"oc-overlay-content\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n }\">\n <ng-content></ng-content>\n </div>\n</ng-template>","/*\n * Public API Surface of otimus-library\n */\n\nexport * from './lib/otimus-library.service'\nexport * from './lib/otimus-library.component'\n\nexport * from './lib/services/oc-toast.service'\nexport * from './lib/services/style-theme.service'\n// export * from './lib/services/internationalization.service'\n\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\nexport * from './lib/directives/oc-menu-horiz/oc-menu-horiz.directive'\n\nexport * from './lib/components/oc-badge/oc-badge.component'\nexport * from './lib/components/oc-card/oc-card.component'\nexport * from './lib/components/oc-filter/oc-filter.component'\nexport * from './lib/components/oc-input/oc-input.component'\nexport * from './lib/components/oc-modal/oc-modal.component'\nexport * from './lib/components/oc-key-value/oc-key-value.component'\nexport * from './lib/components/oc-chip/oc-chip.component'\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\nexport * from './lib/components/oc-profile/oc-profile.component'\nexport * from './lib/components/oc-log/oc-log.component'\nexport * from './lib/components/oc-pagination/oc-pagination.component'\nexport * from './lib/components/oc-not-found/oc-not-found.component'\nexport * from './lib/components/oc-menu/oc-menu.component'\nexport * from './lib/components/oc-menu-horiz/oc-menu-horiz.component'\nexport * from './lib/components/oc-toast/oc-toast.component'\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\nexport * from './lib/components/oc-toggle/oc-toggle.component'\nexport * from './lib/components/oc-stepper/oc-stepper.component'\nexport * from './lib/components/oc-step/oc-step.component'\nexport * from './lib/components/oc-tabs/oc-tabs.component'\nexport * from './lib/components/oc-tab/oc-tab.component'\nexport * from './lib/components/oc-accordion/oc-accordion.component'\nexport * from './lib/components/oc-accordion-item/oc-accordion-item.component'\nexport * from './lib/components/oc-message/oc-message.component'\nexport * from './lib/components/oc-date-select/oc-date-select.component'\nexport * from './lib/components/oc-button-menu/oc-button-menu.component'\nexport * from './lib/components/oc-progress/oc-progress.component'\nexport * from './lib/components/oc-overlay/oc-overlay.component'\n\nexport type * from './lib/interfaces/oc-autocomplete'\nexport type * from './lib/interfaces/oc-menu'\nexport type * from './lib/interfaces/oc-menu-horiz'\nexport type * from './lib/interfaces/oc-style-theme'\nexport type * from './lib/interfaces/oc-table'\nexport type * from './lib/interfaces/oc-toast'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StyleThemeService","i2","i3","i1","i1.InternationalizationService","i2.StyleThemeService","i4","i1.OcToastService"],"mappings":";;;;;;;;;;;;;MAKa,oBAAoB,CAAA;AAE/B,IAAA,WAAA,GAAA,EAAgB;8GAFL,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCQY,sBAAsB,CAAA;8GAAtB,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,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPrB;;;;AAIX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;+BACI,oBAAoB,EAAA,OAAA,EACrB,EAAE,EAAA,QAAA,EACD;;;;AAIX,EAAA,CAAA,EAAA;;;MCUU,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;QAIE,IAAA,CAAA,SAAS,GAAgB,EAAE;QAC3B,IAAA,CAAA,SAAS,GAAY,KAAK;QAc1B,IAAA,CAAA,SAAS,GAAG,CACV,WAA4B,EAC5B,YAAoB,EACpB,YAAqB,EACrB,UAAmB,KACX;AACR,YAAA,MAAM,KAAK,GAAG;AACZ,gBAAA,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBACtF,OAAO,EAAE,YAAY,IAAI,CAAC;AAC1B,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,OAAO,EAAE,YAAY;gBACrB,UAAU;AACV,gBAAA,YAAY,EAAE,IAAI;aACnB;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,KAAI;gBAC7C,OAAO,EAAE,CAAC,MAAM,KAAK,WAAW,IAAI,EAAE,CAAC,OAAO,KAAK,YAAY;AACjE,YAAA,CAAC,CAAC;YAEF,IAAI,WAAW,EAAE;gBACf;YACF;YAEA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;YAEjF,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI;AACzC,oBAAA,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,EAAE;wBAChC,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;oBAC1C;AACA,oBAAA,OAAO,EAAE;AACX,gBAAA,CAAC,CAAC;YACJ;AAEA,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAE1B,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE;YACrB;AACF,QAAA,CAAC;AAgCF,IAAA;AAlFC,IAAA,UAAU,CAAC,EAAU,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI;AACzC,YAAA,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;gBAChB,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YAC9B;AACA,YAAA,OAAO,EAAE;AACX,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACvC;IA2CA,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;YACtB;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAErC,QAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAK;YACrC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,aAAa,CAAC,aAAa,CAAC;AAC5B,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;gBACtB;YACF;YAEA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,YAAY,EAAE;AAC7C,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7B;YAEA,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAI;AAC5C,oBAAA,OAAO,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO;AAC3F,gBAAA,CAAC,CAAC;gBACF,aAAa,CAAC,aAAa,CAAC;gBAC5B,IAAI,CAAC,YAAY,EAAE;YACrB;QACF,CAAC,EAAE,IAAI,CAAC;IACV;8GAtFW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCZY,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA,EAAe;IAEf,aAAa,GAAA;QACX,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAErE,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AACrF,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,OAAO,iBAAqC;IAC9C;8GAXW,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,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCWY,kBAAkB,CAAA;IAa7B,WAAA,CACU,KAAiB,EACjB,QAAmB,EACnB,IAAY,EACZ,GAAsB;;QAHtB,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,GAAG,GAAH,GAAG;QAhBJ,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,IAAI,GAA2D,OAAO;QAEvE,IAAA,CAAA,OAAO,GAAuB,IAAI;QAClC,IAAA,CAAA,aAAa,GAAG,KAAK;AACrB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAA;;AAczB,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC/B,IAAI,CAAC,kBAAkB,EAAE;AAC3B,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;;YAEtC,IAAI,CAAC,oBAAoB,EAAE;QAC7B;IACF;IAEQ,oBAAoB,GAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AAEpC,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE;;AAE3B,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE;YAC9B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC/F;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;QACpE;aAAO;AACL,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;AAC7C,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;QAC1D;IACF;IAEQ,kBAAkB,GAAA;;AAExB,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAa,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAa,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAa,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAE1D,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAA4B;QAClD,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;QACrD,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;QACrD,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IACrD;IAEQ,aAAa,GAAA;QACnB,IAAI,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI,CAAC,OAAO,CAAA;QAErC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAgB;QAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;AAC5D,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;AACvD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;AACvD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;;QAGtD,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;AAExB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACxD;aAAO;YACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC;QAC3D;QAEA,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AAEnB,QAAA,IAAI,CAAC,aAAa,EAAE,CAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;;QAGxD,qBAAqB,CAAC,MAAK;YACzB,qBAAqB,CAAC,MAAK;AACzB,gBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,oBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBACnC;qBAAO;oBACL,IAAI,CAAC,oBAAoB,EAAE;gBAC7B;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE;AAE5C,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;YACzB,qBAAqB,CAAC,MAAK;;AAEzB,gBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;AAC/B,oBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACjC,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC5B,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;QACJ;IACF;AAEA,IAAA,UAAU,CAAC,KAAiB,EAAA;;QAE1B,IACE,IAAI,CAAC,OAAO;YACZ,KAAK,CAAC,aAAa,YAAY,IAAI;YACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAC1C;AACA,YAAA,OAAM;QACR;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;QACzD;IACF;AAEQ,IAAA,qBAAqB,CAAC,KAAiB,EAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AAEnB,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU;AACvC,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW;;QAGzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAA;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAA;;;AAIrD,QAAA,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE;AAC3B,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE;;AAG1B,QAAA,IAAI,IAAI,GAAG,YAAY,GAAG,aAAa,EAAE;YACvC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,YAAY,GAAG,EAAE;QACxC;;AAGA,QAAA,IAAI,GAAG,GAAG,aAAa,GAAG,cAAc,EAAE;;AAExC,YAAA,GAAG,GAAG,cAAc,GAAG,aAAa,GAAG,EAAE;QAC3C;;AAGA,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,EAAE;QACX;;AAGA,QAAA,IAAI,GAAG,GAAG,CAAC,EAAE;YACX,GAAG,GAAG,EAAE;QACV;;AAGA,QAAA,IAAI,GAAG,GAAG,aAAa,GAAG,cAAc,EAAE;AACxC,YAAA,GAAG,GAAG,cAAc,GAAG,aAAa,GAAG,EAAE;QAC3C;AACA,QAAA,IAAI,IAAI,GAAG,YAAY,GAAG,aAAa,EAAE;AACvC,YAAA,IAAI,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE;QAC1C;AACA,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,EAAE;QACX;AACA,QAAA,IAAI,GAAG,GAAG,CAAC,EAAE;YACX,GAAG,GAAG,EAAE;QACV;;QAGA,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,aAAa,GAAG,EAAE,EAAE;YAC1C,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,aAAa,GAAG,EAAE;QACxC;;;AAKA,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;AACzD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;IACzD;IAEQ,oBAAoB,GAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY;AAEpD,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;AAC9B,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;AAC9B,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU;AACvC,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW;QAEzC,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,GAAG,GAAG,CAAC;AAEX,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,OAAO;gBACV,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;gBAChC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC;gBACrC;AACF,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE;gBAC1D,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC;gBACrC;AACF,YAAA,KAAK,MAAM;AACX,YAAA,KAAK,KAAK;gBACR,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC;AACtC,gBAAA,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE;gBACzD;AACF,YAAA,KAAK,QAAQ;gBACX,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC;gBACtC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;gBAChC;;;QAIJ,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAA;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAA;;AAGrD,QAAA,IAAI,IAAI,GAAG,OAAO,EAAE;AAClB,YAAA,IAAI,GAAG,OAAO,GAAG,EAAE;QACrB;aAAO,IAAI,IAAI,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,EAAE;YACxD,IAAI,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE;QACpD;;AAGA,QAAA,IAAI,GAAG,GAAG,OAAO,EAAE;AACjB,YAAA,GAAG,GAAG,OAAO,GAAG,EAAE;QACpB;aAAO,IAAI,GAAG,GAAG,aAAa,GAAG,OAAO,GAAG,cAAc,EAAE;YACzD,GAAG,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa,GAAG,EAAE;QACrD;;QAGA,IAAI,GAAG,GAAG,aAAa,GAAG,OAAO,GAAG,cAAc,EAAE;YAClD,GAAG,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa,GAAG,EAAE;QACrD;QACA,IAAI,IAAI,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,EAAE;YACjD,IAAI,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE;QACpD;;AAGA,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,OAAO;QACrC,IAAI,GAAG,GAAG,UAAU,GAAG,aAAa,GAAG,EAAE,EAAE;AACzC,YAAA,GAAG,GAAG,UAAU,GAAG,aAAa,GAAG,EAAE;QACvC;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;AACzD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;IACzD;IAEA,WAAW,GAAA;;QAET,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AACjD,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;;AAGA,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAA4B;YAClD,IAAI,IAAI,CAAC,cAAc;gBAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;YACjF,IAAI,IAAI,CAAC,cAAc;gBAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;YACjF,IAAI,IAAI,CAAC,aAAa;gBAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;QAChF;AAAE,QAAA,MAAM;;QAER;IACF;8GA5RW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAEE;;sBACA;;;MCEU,oBAAoB,CAAA;AAU/B,IAAA,WAAA,CACmB,OAAgC,EAChC,gBAAkC,EAClC,QAA6B,EAC7B,QAAmB,EAAA;QAHnB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,QAAQ,GAAR,QAAQ;;QAZlB,IAAA,CAAA,MAAM,GAAsB,EAAE;QAG9B,IAAA,CAAA,2BAA2B,GAAY,KAAK;QAE7C,IAAA,CAAA,OAAO,GAA8C,IAAI;QACzD,IAAA,CAAA,WAAW,GAAoC,IAAI;IAOxD;AAEH,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAEhC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AAEnB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAC5C;AACA,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc;QACtD;AACA,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW;QAChD;AACA,QAAA,IAAI,OAAO,CAAC,uBAAuB,CAAC,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,2BAA2B;QAChF;;AAGA,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE;IAChD;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE;IACpB;;IAGO,YAAY,GAAA;QACjB,IAAI,IAAI,CAAC,OAAO;YAAE;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,oBAAoB,EAAE;YACzE,mBAAmB,EAAE,IAAI,CAAC,QAAQ;AACnC,SAAA,CAAC;;QAGF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,2BAA2B;AAE9E,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;;AAG9D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;;;;AAIlE,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAA4B;AACrE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAyB;QAE7C,IAAI,MAAM,EAAE;;YAEV,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC;QACnD;aAAO;;AAEL,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QACvC;;AAGA,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE;IAChD;IAEO,IAAI,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE;IAC/B;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE;IAChC;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACzB;AACA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;;AAEhB,YAAA,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa;AAClD,gBAAA,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU;AAAE,oBAAA,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;YACxE;YAAE,MAAM,EAAC;AAET,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;IACF;8GA1GW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA;;sBAGE;;sBACA;;sBACA;;sBACA;;;MChBU,gBAAgB,CAAA;AAN7B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,MAAM,GAAiC,OAAO;QAC9C,IAAA,CAAA,OAAO,GAAmE,cAAc;QACxF,IAAA,CAAA,OAAO,GAAY,KAAK;QAEjC,IAAA,CAAA,SAAS,GAAa,EAAE;AAMzB,IAAA;IAJC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;QAC9C,IAAG,IAAI,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/C;8GAVW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT7B,wHAOA,EAAA,MAAA,EAAA,CAAA,kkCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACI,UAAU,EAAA,OAAA,EACX,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wHAAA,EAAA,MAAA,EAAA,CAAA,kkCAAA,CAAA,EAAA;;sBAKxB;;sBACA;;sBACA;;;MEFU,eAAe,CAAA;AAP5B,IAAA,WAAA,GAAA;AAQW,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,KAAK,sDAAC;AAClC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAyC,SAAS,mDAAC;AAClE,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAU,KAAK,uDAAC;AAClC,QAAA,IAAA,CAAA,OAAO,GAAuB,IAAI,YAAY,EAAQ;AAiBjE,IAAA;IAfW,OAAO,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACrB;AAEA,IAAA,IAAc,KAAK,GAAA;AACjB,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;IAC/B;AAEA,IAAA,IAAc,UAAU,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,kBAAkB,GAAG,EAAE;IACpD;AAEA,IAAA,IAAc,WAAW,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,mBAAmB,GAAG,EAAE;IACtD;8GApBW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,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,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV5B,0XAeA,EAAA,MAAA,EAAA,CAAA,+2DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,0XAAA,EAAA,MAAA,EAAA,CAAA,+2DAAA,CAAA,EAAA;;sBAQtB;;;MEFU,iBAAiB,CAAA;AAO5B,IAAA,WAAA,CAAoB,iBAAoC,EAAA;QAApC,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAN5B,IAAA,CAAA,MAAM,GAAY,KAAK;QACvB,IAAA,CAAA,MAAM,GAAW,SAAS;QAC1B,IAAA,CAAA,QAAQ,GAAW,CAAC;QACpB,IAAA,CAAA,MAAM,GAAqB,MAAM;QACjC,IAAA,CAAA,OAAO,GAAqB,QAAQ;IAEc;IAE3D,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;IACvE;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;IAC5B;8GAfW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,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,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ9B,0pBAqBM,EAAA,MAAA,EAAA,CAAA,yzBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbQ,YAAY,iOAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI/B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,OAAA,EACZ,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,0pBAAA,EAAA,MAAA,EAAA,CAAA,yzBAAA,CAAA,EAAA;;sBAK1C;;sBACA;;sBACA;;sBACA;;sBACA;;;MEYU,gBAAgB,CAAA;IAY3B,IACI,OAAO,CAAC,KAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IACvB;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,QAAQ;IAC5E;AAMA,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI;IAC3C;AAEA,IAAA,IACI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG;IAC/B;AAEA,IAAA,IACI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,MAAM;IAClC;AAEA,IAAA,WAAA,CACU,EAAc,EACd,QAAmB,EACnB,iBAAoC,EAAA;QAFpC,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QArClB,IAAA,CAAA,MAAM,GAAkC,QAAQ;QAChD,IAAA,CAAA,aAAa,GAAW,EAAE;QAI1B,IAAA,CAAA,UAAU,GAAY,KAAK;QAC5B,IAAA,CAAA,QAAQ,GAAqB,QAAQ;AAS7C,QAAA,IAAA,CAAA,OAAO,GAAW,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,EAAE,EAAE;QACvC,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,SAAS,GAAY,KAAK;IAqBvB;AAEH,IAAA,WAAW,CAAC,OAAsB,EAAA;;IAElC;IAEA,kBAAkB,GAAA;;;AAGhB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;IACF;IAEA,eAAe,GAAA;AACb,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;QAEtC,IAAI,QAAQ,EAAE;YACZ,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;YAEpD,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC;AAC3D,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAClF;QACF;IACF;8GAvEW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7B7B,moBAoBM,EAAA,MAAA,EAAA,CAAA,m4OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,IAAA,EACd;AACF,wBAAA,eAAe,EAAE,eAAe;AAChC,wBAAA,mBAAmB,EAAE,kBAAkB;AACvC,wBAAA,mBAAmB,EAAE,kBAAkB;AAC1C,qBAAA,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,moBAAA,EAAA,MAAA,EAAA,CAAA,m4OAAA,CAAA,EAAA;;sBAGtC,YAAY;uBAAC,UAAU;;sBACvB,YAAY;uBAAC,UAAU;;sBAEvB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAYA,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,iBAAiB;;;ME1CnB,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CACU,KAAiB,EACjB,iBAAoC,EACpC,GAAsB,EAAA;QAFtB,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,GAAG,GAAH,GAAG;QAGJ,IAAA,CAAA,OAAO,GAAY,IAAI;QACvB,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,MAAM,GAA4C,QAAQ;QAE1D,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,OAAO,GAAqB,QAAQ;QACpC,IAAA,CAAA,SAAS,GAAY,KAAK;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;QAEnC,IAAA,CAAA,MAAM,GAAY,KAAK;QAChC,IAAA,CAAA,OAAO,GAAY,KAAK;IAdrB;IAgBH,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;IACvE;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AAEpB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC;AAEA,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC/E,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QAC1B,CAAC,EAAE,GAAG,CAAC;IACT;IAEU,cAAc,GAAA;QACtB,MAAM,MAAM,GAA8B,EAAE;AAC5C,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,SAAS;QAC7C;AACA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO;QAChC;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU;QACvC;AACA,QAAA,OAAO,MAAM;IACf;8GA1DW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB7B,u3CAsDA,EAAA,MAAA,EAAA,CAAA,q61vDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtCc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAA,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;;2FAKb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WACX,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,u3CAAA,EAAA,MAAA,EAAA,CAAA,q61vDAAA,CAAA,EAAA;;sBAStC;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;;ME1BU,mBAAmB,CAAA;IAC9B,WAAA,CACU,iBAAoC,EAClC,SAAuB,EAAA;QADzB,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACf,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,OAAO,GAAqB,QAAQ;IAH1C;IAKH,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;IACvE;8GAXW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbhC,mSAaA,EAAA,MAAA,EAAA,CAAA,ofAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKb,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WACf,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,mSAAA,EAAA,MAAA,EAAA,CAAA,ofAAA,CAAA,EAAA;;sBAOtC;;sBACA;;sBACA;;;MEVU,eAAe,CAAA;AAP5B,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,MAAM,GAAkD,QAAQ;QAChE,IAAA,CAAA,IAAI,GAA2C,OAAO;QAEtD,IAAA,CAAA,MAAM,GAAW,EAAE;QACnB,IAAA,CAAA,UAAU,GAAW,MAAM;AAC1B,QAAA,IAAA,CAAA,OAAO,GAAsB,IAAI,YAAY,EAAO;AACpD,QAAA,IAAA,CAAA,QAAQ,GAAsB,IAAI,YAAY,EAAO;AAehE,IAAA;AAbC,IAAA,OAAO,CAAC,KAAU,EAAA;QAChB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACrB;AAEA,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACnB;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;8GAtBW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV5B,m4BA+BA,EAAA,MAAA,EAAA,CAAA,q+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,m4BAAA,EAAA,MAAA,EAAA,CAAA,q+CAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;METU,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,MAAM,GAAqB,OAAO;QAElC,IAAA,CAAA,OAAO,GAAY,IAAI;AACjC,IAAA;8GAJY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTnC,8OAUS,EAAA,MAAA,EAAA,CAAA,wOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLK,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACI,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,8OAAA,EAAA,MAAA,EAAA,CAAA,wOAAA,CAAA,EAAA;;sBAKxB;;sBACA;;sBACA;;;MENU,2BAA2B,CAAA;AACtC,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAA,CAAA,IAAI,GAAJ,IAAI;QAChB,IAAA,CAAA,SAAS,GAAkB,IAAI;IADC;IAGxC,cAAc,CACZ,IAAqB,EACrB,MAAkD,EAAA;AAElD,QAAA,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,CAAA,GAAA,EAAM,IAAI,CAAA,CAAE,GAAG,IAAI;AACrD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACnF,IAAI,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI;QAE5C,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAClC,gBAAA,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAA,CAAA,CAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxE,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,OAAO,WAAW;IACpB;IAEA,yBAAyB,GAAA;QACvB,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;QACtC,IAAG,CAAC,IAAI,CAAC,SAAS;YAAE;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAAE;QAEtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,CAAA,gEAAA,EAAmE,IAAI,CAAC,SAAS,CAAA,CAAE;aAC7G,SAAS,CAAC,IAAI,IAAG;YAChB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;gBAAE;AACxC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAmB,CAAC;YAC1C,IAAI,CAAC,kBAAkB,EAAE;AAC3B,QAAA,CAAC,CAAC;IACN;IAEA,wBAAwB,GAAA;QACtB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAChE,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;QAEvD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,IAAI;AAEtE,QAAA,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE;QAC1B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAE1C,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC;AAE3C,QAAA,IAAI,UAAU,IAAI,SAAS,KAAK,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE;AAClE,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,WAAW,CAAC,QAAgB,EAAA;AAC1B,QAAA,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC5C;IAEA,kBAAkB,GAAA;QAChB,MAAM,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChD,QAAA,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC5D;AAEA,IAAA,YAAY,CAAC,YAAoB,EAAA;AAC/B,QAAA,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC1E;8GAjEW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF1B,MAAM,EAAA,CAAA,CAAA;;2FAEP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCWY,+BAA+B,CAAA;AAgB1C,IAAA,WAAA,GAAA;QAfS,IAAA,CAAA,YAAY,GAAyB,EAAE;QACvC,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,UAAU,GAAG,KAAK;QAIlB,IAAA,CAAA,MAAM,GAAgC,SAAS;QAC/C,IAAA,CAAA,aAAa,GAAG,CAAC,CAAC;AAIjB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AACrC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAsB;AACzD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAsB;IAEpD;8GAhBJ,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,oCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB5C,qrEAiEC,EAAA,MAAA,EAAA,CAAA,gmDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1DW,YAAY,mHAAE,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;2FASxB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAX3C,SAAS;+BACE,0BAA0B,EAAA,OAAA,EAC3B,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,UAAA,EACxB,IAAI,EAAA,IAAA,EAGV;AACJ,wBAAA,OAAO,EAAE,oCAAoC;AAC7C,wBAAA,OAAO,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,qrEAAA,EAAA,MAAA,EAAA,CAAA,gmDAAA,CAAA,EAAA;;sBAGA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;;MEeU,uBAAuB,CAAA;IAClC,WAAA,CACU,QAAmB,EACnB,EAAc,EACd,gBAA6C,EAC7C,iBAAoC,EACpC,GAAsB,EACtB,OAAgB,EAAA;QALhB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,OAAO,GAAP,OAAO;QAWT,IAAA,CAAA,OAAO,GAAyB,EAAE;QAqBjC,IAAA,CAAA,aAAa,GAAY,EAAE;QAE3B,IAAA,CAAA,MAAM,GAAiC,QAAQ;QAC/C,IAAA,CAAA,OAAO,GAAQ,EAAE;QACjB,IAAA,CAAA,eAAe,GAAY,KAAK;QAMhC,IAAA,CAAA,UAAU,GAAY,KAAK;QAE3B,IAAA,CAAA,qBAAqB,GAAY,KAAK;QAGtC,IAAA,CAAA,SAAS,GAAY,KAAK;AAC1B,QAAA,IAAA,CAAA,cAAc,GAAY,KAAK,CAAA;QAChC,IAAA,CAAA,QAAQ,GAAqB,QAAQ;QASpC,IAAA,CAAA,QAAQ,GAAiC,QAAQ;QACjD,IAAA,CAAA,gBAAgB,GAAY,IAAI;QAChC,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,MAAM,GAAgC,SAAS;QAE/C,IAAA,CAAA,cAAc,GAAY,KAAK;QAC/B,IAAA,CAAA,iBAAiB,GAAa,KAAK;QACnC,IAAA,CAAA,gBAAgB,GAAY,KAAK;AAEhC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU;AAC1C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiB;AAC5C,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAwB;AAChE,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAE;AACrC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;QAEtC,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,SAAS,GAAY,KAAK;QAE1B,IAAA,CAAA,cAAc,GAAY,KAAK;QAEvB,IAAA,CAAA,aAAa,GAAyB,EAAE;AAShD,QAAA,IAAA,CAAA,aAAa,GAAuB;AAClC,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,IAAI;SACZ;QAED,IAAA,CAAA,aAAa,GAAW,CAAC,CAAC;QAC1B,IAAA,CAAA,UAAU,GAAW,MAAM;QACnB,IAAA,CAAA,UAAU,GAAsB,IAAI;QACpC,IAAA,CAAA,oBAAoB,GAAyD,IAAI;IA9FtF;IAWH,IACI,MAAM,CAAC,KAA2B,EAAA;AACpC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AAEpB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QAEzB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE;AACzC,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;YAC1D,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI;YAC3B;QACF;AAEA,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;IAC1B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IAmBA,IACI,OAAO,CAAC,KAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IACvB;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,QAAQ;IAC5E;AAuBA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAA2B,EAAA;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,CAAC,oBAAoB,EAAE;IAC7B;AAYA,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI;IAC3C;AAEA,IAAA,IACI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG;IAC/B;AAEA,IAAA,IACI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,MAAM;IAClC;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;QAEA,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,WAAW,EAAE;AAElB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;IACF;IAEA,kBAAkB,GAAA;;AAEhB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;IACF;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE;QAEjD,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,gBAAgB,EAAE;QACzB,CAAC,EAAE,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,CAAA,EAAG,IAAI,CAAC,OAAO,EAAE;QAC1B;AACA,QAAA,OAAO,IAAI;IACb;IAEA,gBAAgB,GAAA;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;AAC1C,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa;YAC7C,IAAI,CAAC,UAAU,GAAG,CAAA,EAAG,YAAY,CAAC,WAAW,IAAI;QACnD;IACF;AAEA,IAAA,cAAc,CAAC,IAAqB,EAAA;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC;IACnD;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,iBAAiB,EAAE;QACxB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;AAE/B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;YAEtC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;gBAEhE,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI;gBAC3B;YACF;YAEA,IAAI,QAAQ,EAAE;gBACZ,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;gBAEpD,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACrF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC;AAC3D,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAClF;YACF;QACF,CAAC,EAAE,EAAE,CAAC;IACR;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAQ,KAAI;AACnD,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB;AAEtC,YAAA,MAAM,mBAAmB,GACvB,IAAI,CAAC,MAAM,KAAK,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAEzE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,qCAAqC,CAAC;YAE5E,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,IAAI,CAAC,cAAc,EAAE;AACzD,gBAAA,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;AAC9D,oBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;oBAC3B,IAAI,CAAC,YAAY,EAAE;oBACnB,IAAI,CAAC,YAAY,EAAE;gBACrB;YACF;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;AAC5D,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAC9B;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B;QACF;AAEA,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,CAAC,IAAI,KACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE;AAC7E,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,CACjF;QAED,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,CAAC,aAAa,GAAG;AACnB,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,KAAK,EAAE,IAAI;aACZ;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC/B,gBAAA,IAAI,CAAC,OAAO,GAAG,EAAE;YACnB;AACA,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;YAC/B;QACF;AACA,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU;IACjC;AAEA,IAAA,UAAU,CAAC,IAAY,EAAA;AACrB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;QAG1B,MAAM,WAAW,GAAG;AACjB,aAAA,IAAI;aACJ,KAAK,CAAC,KAAK;aACX,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;AAChC,aAAA,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;;AAG7C,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;YAC/B;QACF;;AAGA,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;YAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;AACtD,YAAA,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnE,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAA;AAC1B,QAAA,OAAO;AACL,cAAE,WAAW;aACZ,SAAS,CAAC,KAAK;AACf,aAAA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IACpC;IAEA,aAAa,GAAA;QACX,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,gBAAgB,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,YAAY,EAAE;QACrB;aAAO;YACL,IAAI,CAAC,WAAW,EAAE;QACpB;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;IAC5C;IAEQ,WAAW,GAAA;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE;QAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW;AAEvD,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC3C,aAAA,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;AAC5C,aAAA,aAAa,CAAC;;AAEb,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE;AACX,aAAA;;AAED,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE;AACX;SACF;aACA,sBAAsB,CAAC,KAAK,CAAC;;AAGhC,QAAA,MAAM,aAAa,GAAG;YACpB,gBAAgB;AAChB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,kCAAkC;YACnF,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU;SACzD;;QAGD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;;AAGpD,QAAA,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC,+BAA+B,CAAC;;QAG3E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3D,QAAA,IAAI,CAAC,oBAAoB,GAAG,YAAY;;QAGxC,IAAI,CAAC,0BAA0B,EAAE;;QAGjC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;AACzD,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;QAEF,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAwB,KAAI;AAC5E,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC7B,QAAA,CAAC,CAAC;QAEF,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAwB,KAAI;AAC5E,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC7B,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAK;AACnE,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,aAAa,EAAE;YACtB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;AAC7C,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,qBAAqB,EAAE;gBAC5B,IAAI,CAAC,kBAAkB,EAAE;YAC3B;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAClD;QAEA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAK;AAC3C,YAAA,cAAc,EAAE;YAChB,cAAc,CAAC,UAAU,EAAE;AAC7B,QAAA,CAAC,CAAC;IACJ;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;QAClC;IACF;IAEQ,kBAAkB,GAAA;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW;YAEvD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YAEnF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AACtD,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QAC1B;IACF;IAEO,aAAa,GAAA;QAClB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,EAAE;QAC3B;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QAClC;IACF;IAEQ,oBAAoB,GAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE;QAEhC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;AACnE,QAAA,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,aAAa,EAAE;;AAE3D,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAEQ,0BAA0B,GAAA;QAChC,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE;QAEhC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QACnE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAC7D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;QAC/D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB;QAC3F,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QACnE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB;QAC3F,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QACvD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;QACrE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB;QAC/E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc;AAEvE,QAAA,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,aAAa,EAAE;;AAE3D,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;AAEA,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QAElE,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,CAAC,aAAa,GAAG;AACnB,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,KAAK,EAAE,IAAI;aACZ;AAED,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;YACxB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,EAAE;AACnC,YAAA,UAAU,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;YAClD,IAAI,CAAC,uBAAuB,EAAE;YAC9B;QACF;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU;AAC/B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;QACjC;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI;QAChC;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;QAE1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAE5C,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAExB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAEA,UAAU,GAAA;QACR,IAAI,CAAC,aAAa,GAAG;AACnB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,IAAI;SACZ;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;;;IAIjC;AAEU,IAAA,gBAAgB,CAAC,MAA0B,EAAA;AACnD,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnB,YAAA,MAAM,CAAC,OAAO,GAAG,CAAC;QACpB;aAAO;YACL,MAAM,CAAC,OAAO,EAAE;QAClB;QACA,IAAI,CAAC,uBAAuB,EAAE;IAChC;AAEU,IAAA,gBAAgB,CAAC,MAA0B,EAAA;QACnD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE;YACxC,MAAM,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,uBAAuB,EAAE;QAChC;IACF;IAEA,uBAAuB,GAAA;AACrB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AACpE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC;IAClD;AAEA,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAC3B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAC1E;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa;QAC/E,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAClE;IACF;AAEU,IAAA,SAAS,CAAC,KAAY,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,CAAC,GAAG,KAAsB;AAEhC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,gBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;AACvB,oBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACxB;AAAO,qBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;AAChC,oBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACvB;AAAO,qBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AAC5B,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;gBAC/D;qBAAO;oBACL;gBACF;YACF;YAEA,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,eAAe,EAAE;QACrB;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;IACrB;8GAtiBW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,SAAA,EAVvB,CAAC,2BAA2B,CAAC,+kBCnC1C,o/CAqDA,EAAA,MAAA,EAAA,CAAA,kiSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,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,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;;2FAWxB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,SAAA,EACzB,CAAC,2BAA2B,CAAC,EAAA,IAAA,EAClC;AACJ,wBAAA,eAAe,EAAE,eAAe;AAChC,wBAAA,mBAAmB,EAAE,kBAAkB;AACvC,wBAAA,mBAAmB,EAAE,kBAAkB;qBACxC,EAAA,eAAA,EAGgB,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,o/CAAA,EAAA,MAAA,EAAA,CAAA,kiSAAA,CAAA,EAAA;;sBAY/C,SAAS;uBAAC,OAAO;;sBACjB,SAAS;uBAAC,SAAS;;sBACnB,SAAS;uBAAC,UAAU;;sBACpB,YAAY;uBAAC,gBAAgB;;sBAE7B,YAAY;uBAAC,UAAU;;sBACvB,YAAY;uBAAC,UAAU;;sBAGvB;;sBAoBA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAOA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBA0BA,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,iBAAiB;;;MErJnB,kBAAkB,CAAA;AAP/B,IAAA,WAAA,GAAA;QAUW,IAAA,CAAA,MAAM,GAA0C,QAAQ;QACjE,IAAA,CAAA,YAAY,GAAW,EAAE;AAsB1B,IAAA;IApBC,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE;IACpB;IAEA,WAAW,GAAA;QACT,IAAG,CAAC,IAAI,CAAC,UAAU;YAAE;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC;QAEhD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,UAAU,GAAG,EAAE;QAEnB,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtD,IAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAC;AACrC,YAAA,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC1B;QAEA,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,EAAE;IAC9D;8GAzBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,iYAgBM,EAAA,MAAA,EAAA,CAAA,q0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKb,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,iYAAA,EAAA,MAAA,EAAA,CAAA,q0BAAA,CAAA,EAAA;;sBAGtC;;sBACA;;sBACA;;;MEHU,cAAc,CAAA;AAN3B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,YAAY,GAAY,EAAE;QAC1B,IAAA,CAAA,UAAU,GAAY,EAAE;AAClC,IAAA;8GAHY,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,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV3B,ufAiBM,EAAA,MAAA,EAAA,CAAA,2qBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXQ,YAAY,6HAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIjC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAQ,EAAA,OAAA,EACT,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,ufAAA,EAAA,MAAA,EAAA,CAAA,2qBAAA,CAAA,EAAA;;sBAK5C;;sBACA;;;MEDU,qBAAqB,CAAA;AAMhC,IAAA,WAAA,CAAoB,iBAAoC,EAAA;QAApC,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAL5B,IAAA,CAAA,MAAM,GAAW,CAAC;QAElB,IAAA,CAAA,OAAO,GAAqB,QAAQ;AACnC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU;IAEW;IAE3D,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;AACjD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;IACvE;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC;QAEf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE;QACtB,IAAI,CAAC,MAAM,EAAE;QAEb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;IAEA,aAAa,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;YAAE;QACtD,IAAI,CAAC,MAAM,EAAE;QAEb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;QAE5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;8GAtCW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAN,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXlC,0lCA6CA,EAAA,MAAA,EAAA,CAAA,4+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtCY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,eAAe,EAAA,OAAA,EAChB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,0lCAAA,EAAA,MAAA,EAAA,CAAA,4+CAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;;MEPU,mBAAmB,CAAA;8GAAnB,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,QAAA,EAAA,IAAA,EAAA,mBAAmB,wECRhC,sbAaO,EAAA,MAAA,EAAA,CAAA,oq8GAAA,CAAA,EAAA,CAAA,CAAA;;2FDLM,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WACf,EAAE,EAAA,QAAA,EAAA,sbAAA,EAAA,MAAA,EAAA,CAAA,oq8GAAA,CAAA,EAAA;;;ME+BF,mBAAmB,CAAA;IAG9B,WAAA,CACU,iBAAoC,EACpC,GAAsB,EAAA;QADtB,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,GAAG,GAAH,GAAG;AAJb,QAAA,IAAA,CAAA,UAAU,GAAW,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,EAAE,EAAE;AAOhC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW;AACtC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW;QAE9C,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,MAAM,GAAqB,OAAO;QAClC,IAAA,CAAA,OAAO,GAAY,EAAE;QACrB,IAAA,CAAA,MAAM,GAAY,EAAE;QACpB,IAAA,CAAA,OAAO,GAAuB,OAAO;QACrC,IAAA,CAAA,aAAa,GAAqB,OAAO;QACzC,IAAA,CAAA,OAAO,GAAqB,QAAQ;AACnC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW;QAG5C,IAAA,CAAA,uBAAuB,GAAG,IAAI;QAC9B,IAAA,CAAA,UAAU,GAAG,KAAK;AAGnB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAW,EAAE,CAAC;QA0B1B,IAAA,CAAA,kBAAkB,GAAG,CAAC;QACtB,IAAA,CAAA,SAAS,GAAyC,IAAI;IA9C3D;IAqBH,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;AACrE,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;AAEA,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;AAEA,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;AAClB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAIU,aAAa,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC;QACF;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;AAEA,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,MAAK;AAC/B,gBAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;AAC3B,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,gBAAA,WAAW,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC;YAClD,CAAC,EAAE,GAAG,CAAC;QACT;aAAO;AACL,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE;gBACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IACA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;YACxB;QACF;AACA,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;AAChC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/B;QACA,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAEzC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;8GAjGW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,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,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EATjB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChCL,iiCAiDA,EAAA,MAAA,EAAA,CAAA,kjDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1Bc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,uTAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;;2FAY/C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;+BACI,aAAa,EAAA,OAAA,EACd,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAA,SAAA,EAG9C;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;qBACJ,EAAA,eAAA,EACgB,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,iiCAAA,EAAA,MAAA,EAAA,CAAA,kjDAAA,CAAA,EAAA;;sBAUjD;;sBACA;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;ME7CU,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,QAAmB,EAAA;QAAnB,IAAA,CAAA,QAAQ,GAAR,QAAQ;AAGlB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE;QAC9B,IAAA,CAAA,MAAM,GAAiB,EAAE;QAClC,IAAA,CAAA,WAAW,GAAY,KAAK;IALc;IAQ1C,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QAEvB,UAAU,CAAC,MAAK;AACd,YAAA,IAAG,IAAI,CAAC,IAAI,EAAC;AACX,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBACnE,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,QAAQ,GAAG,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE;AACrC,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC/D;YACF;QACF,CAAC,EAAE,GAAG,CAAC;IACT;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,EAAE;IACxB;AAEA,IAAA,gBAAgB,CAAC,OAAoB,EAAA;AACnC,QAAA,IAAI,MAAM,GAAG,OAAO,CAAC,aAAa;QAClC,OAAO,MAAM,EAAE;YACb,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;AAC7C,gBAAA,OAAO,MAA2B;YACpC;AACA,YAAA,MAAM,GAAG,MAAM,CAAC,aAAa;QAC/B;AACA,QAAA,OAAO,IAAI;IACb;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAK,KAAG;AAE9C,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEjE,YAAA,IAAG,UAAU;gBAAE;iBACV,IAAG,CAAC,IAAI,CAAC,IAAI;gBAAE;AAEpB,YAAA,IAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;gBACxB;YACF;AAEF,QAAA,CAAC,CAAC;IACJ;IAEA,cAAc,CAAC,IAAY,EAAE,OAAgB,EAAA;AAC3C,QAAA,IAAI,SAAS;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAG;YACzB,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;AACrD,gBAAA,IAAI,CAAC,OAAO,GAAG,OAAO;gBAEtB,SAAS,GAAG,IAAI;YAClB;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7B,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,CAAC,GAAQ,EAAA;QACb,OAAO,OAAO,GAAG;IACnB;8GArEW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,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,QAAA,EAAA,IAAA,EAAA,eAAe,sOCZ5B,8mCA+BA,EAAA,MAAA,EAAA,CAAA,0mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,6IAAE,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,eAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIjD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,WACV,CAAC,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,8mCAAA,EAAA,MAAA,EAAA,CAAA,0mCAAA,CAAA,EAAA;;sBAO5D,SAAS;uBAAC,UAAU;;sBACpB;;sBACA;;;MEKU,oBAAoB,CAAA;IAC/B,WAAA,CACmB,QAAmB,EACnB,GAAsB,EAAA;QADtB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,GAAG,GAAH,GAAG;QAGb,IAAA,CAAA,MAAM,GAAsB,EAAE;QAI9B,IAAA,CAAA,qBAAqB,GAAY,KAAK;AAGrC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE;QAK7B,IAAA,CAAA,WAAW,GAAY,KAAK;QAC5B,IAAA,CAAA,gBAAgB,GAAG,KAAK;QAGxB,IAAA,CAAA,YAAY,GAAsB,EAAE;QACpC,IAAA,CAAA,aAAa,GAAsB,EAAE;QAEvC,IAAA,CAAA,UAAU,GAAa,EAAE;QACzB,IAAA,CAAA,aAAa,GAAG,KAAK;IAtB1B;IA0BI,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;;AAEvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,EAAE;IACxB;IAEA,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,mBAAmB;YAAE,IAAI,CAAC,mBAAmB,EAAE;AACxD,QAAA,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE;IACnC;IAEQ,eAAe,GAAA;;QAErB,IAAI,IAAI,CAAC,mBAAmB;YAAE;AAE9B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAa,KAAI;;YAEnF,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAAE;;YAGjC,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE;AAEvB,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B;AAC7C,YAAA,IAAI,CAAC,MAAM;gBAAE;;AAGb,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACvE;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACzD;YACF;;AAGA,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC7B,YAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;YAC1B;;;AAGA,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC1B,QAAA,CAAC,CAAC;IACJ;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B;QACF;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa;QACvD,MAAM,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,6BAA6B,CAAC;AAEzE,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YAC/C,OAAQ,IAAoB,CAAC,WAAW;AAC1C,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,qBAAqB,EAAE;IAC9B;IAEQ,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B;QACF;AACA,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;YAC5C,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;IACtE;IAEQ,cAAc,GAAA;QACpB,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9D;QACF;QAEA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW;;QAI1E,MAAM,mBAAmB,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,EAAE;AAElB,QAAA,IAAI,cAAc,GAAG,cAAc,GAAG,OAAO;QAC7C,IAAI,YAAY,GAAG,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;AACzE,QAAA,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc;QAEjD,IAAI,aAAa,EAAE;YACjB,cAAc,IAAI,mBAAmB;QACvC;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;AACvD,gBAAA,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,gBAAA,YAAY,EAAE;YAChB;iBAAO;gBACL;YACF;QACF;QAEA,IAAI,aAAa,IAAI,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACxD,YAAA,YAAY,EAAE;QAChB;;AAIA,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;;QAGpD,qBAAqB,CAAC,MAAK;AACzB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC1B,QAAA,CAAC,CAAC;IACJ;AAEU,IAAA,kBAAkB,CAAC,KAAY,EAAA;QACvC,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB;IAChD;AAEU,IAAA,uBAAuB,CAAC,QAAqB,EAAA;QACrD,IAAI,QAAQ,EAAE;AACZ,YAAA,QAAQ,EAAE;QACZ;IACF;8GA/KW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,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,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBjC,y6LA0MA,EAAA,MAAA,EAAA,CAAA,wsEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxLY,YAAY,mHAAE,aAAa,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,OAAA,EAChB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,y6LAAA,EAAA,MAAA,EAAA,CAAA,wsEAAA,CAAA,EAAA;;sBAUrC;;sBACA;;sBACA;;sBAEA;;sBACA;;sBAEA;;sBAEA,SAAS;uBAAC,oBAAoB;;sBAC9B,SAAS;uBAAC,eAAe;;sBACzB,SAAS;uBAAC,oBAAoB;;;ME5BpB,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAmB,KAAqB,EAAA;QAArB,IAAA,CAAA,KAAK,GAAL,KAAK;IAAmB;8GADhC,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX7B,smIA8CA,EAAA,MAAA,EAAA,CAAA,6rCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxCc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;;2FAKb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WACX,CAAC,YAAY,CAAC,EAAA,eAAA,EAGN,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,smIAAA,EAAA,MAAA,EAAA,CAAA,6rCAAA,CAAA,EAAA;;;MEAvC,iBAAiB,CAAA;AAN9B,IAAA,WAAA,GAAA;QAOE,IAAA,CAAA,UAAU,GAAY,KAAK;QAClB,IAAA,CAAA,UAAU,GAAY,KAAK;QAE3B,IAAA,CAAA,MAAM,GAAuB,QAAQ;QAUrC,IAAA,CAAA,OAAO,GAAuB,OAAO;AAEpC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW;AAKxD,IAAA;IAhBC,IAAa,SAAS,CAAC,KAAc,EAAA;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC5C;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IAMA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;IAClC;8GApBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT9B,uVAkBA,EAAA,MAAA,EAAA,CAAA,ujCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACI,WAAW,EAAA,OAAA,EACZ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,uVAAA,EAAA,MAAA,EAAA,CAAA,ujCAAA,CAAA,EAAA;;sBAMxB;;sBAEA;;sBACA;;sBASA;;sBAEA;;;MEdU,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,iBAAoC,EAAA;QAApC,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAE5B,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,OAAO,GAAuB,QAAQ;QACtC,IAAA,CAAA,WAAW,GAAY,KAAK;QAC5B,IAAA,CAAA,OAAO,GAAqB,QAAQ;QACpC,IAAA,CAAA,MAAM,GAA0B,SAAS;QACzC,IAAA,CAAA,YAAY,GAAa,IAAI;AAE5B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;QACtC,IAAA,CAAA,SAAS,GAAW,CAAC;QACrB,IAAA,CAAA,aAAa,GAAW,CAAC;QACzB,IAAA,CAAA,SAAS,GAAW,CAAC;IAbsC;IAe3D,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;IACvE;AAEU,IAAA,eAAe,CAAC,SAAiB,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB;QACF;AACA,QAAA,IAAI,SAAS,KAAK,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE;AAC7F,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB;IACF;8GA5BW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5B,sgDAqCM,EAAA,MAAA,EAAA,CAAA,q5EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9BQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACI,SAAS,EAAA,OAAA,EACV,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,sgDAAA,EAAA,MAAA,EAAA,CAAA,q5EAAA,CAAA,EAAA;;sBAOxB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAmBA;;;ME9BU,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAoB,iBAAoC,EAAA;QAApC,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAE5B,IAAA,CAAA,iBAAiB,GAAY,KAAK;QAClC,IAAA,CAAA,OAAO,GAAuB,QAAQ;QACtC,IAAA,CAAA,cAAc,GAAW,CAAC;QAC1B,IAAA,CAAA,oBAAoB,GAAY,IAAI;QACpC,IAAA,CAAA,OAAO,GAAqB,QAAQ;QACpC,IAAA,CAAA,MAAM,GAA0B,SAAS;QAE1C,IAAA,CAAA,cAAc,GAAa,EAAE;IATsB;IAW3D,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;QACrE,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B;QACF;AACA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;AAC7C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B;IACF;IAEA,cAAc,GAAA;QACZ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AAC/B,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AAEzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,KAAa,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC7D,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,UAAU,CAAC,KAAa,EAAA;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;YAE3B,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACzB;AACA,YAAA,IAAI,CAAC,KAAK,KAAK,EAAE;AACf,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC1B;YACF;AACA,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc;YACxC,IAAI,CAAC,iBAAiB,EAAE;AAC1B,QAAA,CAAC,CAAC;QACF;IACF;AAEA,IAAA,QAAQ,CAAC,KAAY,EAAA;QACnB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD;QACF;QACA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1C;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;QACA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1C;8GA1EW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAEZ,eAAe,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECblC,iEAEM,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA,CAAA;;2FDSO,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,EAAE,EAAA,QAAA,EAAA,iEAAA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA;;sBAMZ,eAAe;uBAAC,eAAe;;sBAC/B;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MEXU,cAAc,CAAA;AAN3B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,UAAU,GAAY,KAAK;QAEpC,IAAA,CAAA,QAAQ,GAAW,CAAC;AACrB,IAAA;8GALY,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,QAAA,EAAA,IAAA,EAAA,cAAc,4HCR3B,oDAEC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDMY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAQ,WACT,EAAE,EAAA,QAAA,EAAA,oDAAA,EAAA;;sBAKZ;;sBACA;;;MEaU,eAAe,CAAA;IAC1B,WAAA,CAAoB,iBAAoC,EAAU,GAAsB,EAAA;QAApE,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAA6B,IAAA,CAAA,GAAG,GAAH,GAAG;QAE7D,IAAA,CAAA,QAAQ,GAAqB,QAAQ;AAQnC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ;QAE5C,IAAA,CAAA,cAAc,GAAW,CAAC;IAZiE;IAG3F,IACI,OAAO,CAAC,KAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IACvB;AACA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,QAAQ;IAC5E;IAMA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;AAGjB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;;AAEhE,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;gBAC1B,IAAI,CAAC,gBAAgB,EAAE;;gBAEvB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAC7C,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrD;qBAAO;;AAEL,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;gBACrC;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,uBAAuB,EAAE,WAAW,EAAE;IAC7C;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACvC,YAAA,GAAG,CAAC,QAAQ,GAAG,CAAC;AAClB,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACvC,YAAA,GAAG,CAAC,QAAQ,GAAG,CAAC;AAChB,YAAA,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AAC9B,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACrB;8GAxDW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,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,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAET,cAAc,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBjC,mfAeM,46BDIQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACI,SAAS,EAAA,OAAA,EACV,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,mfAAA,EAAA,MAAA,EAAA,CAAA,q3BAAA,CAAA,EAAA;;sBAMxB,eAAe;uBAAC,cAAc;;sBAE9B;;sBAOA;;;MExBU,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,OAAO,GAAqB,QAAQ;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW;AACtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAE;AAa7C,IAAA;IAXW,MAAM,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjC;QACF;AACA,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACnC;8GAhBW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrC,sjBAoBM,EAAA,MAAA,EAAA,CAAA,gpDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACI,mBAAmB,EAAA,OAAA,EACpB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,sjBAAA,EAAA,MAAA,EAAA,CAAA,gpDAAA,CAAA,EAAA;;sBAKxB;;sBACA;;sBACA;;sBACA;;sBACA;;;MEHU,oBAAoB,CAAA;AAM/B,IAAA,WAAA,CAAoB,iBAAoC,EAAA;QAApC,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAJ5B,IAAA,CAAA,WAAW,GAAY,IAAI;QAE3B,IAAA,CAAA,OAAO,GAAqB,QAAQ;IAEc;IAE3D,eAAe,GAAA;QACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AAC7B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO;AACrE,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC1D,QAAA,CAAC,CAAC;IACJ;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACvD;IACF;AAEA,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AAC7B,YAAA,IAAI,CAAC,KAAK,KAAK,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;gBACpB;YACF;AACA,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,QAAA,CAAC,CAAC;IACJ;8GA7BW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,iBAAA,EAAA,CAAA,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,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EACd,wBAAwB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb3C,4CAEM,4GDMQ,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIb,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,OAAA,EACf,CAAC,YAAY,EAAE,wBAAwB,CAAC,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,CAAA,qDAAA,CAAA,EAAA;;sBAKlD,eAAe;uBAAC,wBAAwB;;sBACxC;;sBACA;;sBACA;;;MENU,kBAAkB,CAAA;AAN/B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,MAAM,GAAY,IAAI;QACtB,IAAA,CAAA,OAAO,GAA2C,SAAS;QAC3D,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,MAAM,GAAW,EAAE;QACnB,IAAA,CAAA,OAAO,GAAqB,QAAQ;QAErC,IAAA,CAAA,QAAQ,GAAW,EAAE;AASnB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;AAW7C,IAAA;IApBC,IACI,OAAO,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE;IAC9B;AACA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IAKA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;8GA3BW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,iqCAgDA,EAAA,MAAA,EAAA,CAAA,+8CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1CY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,YAAY,EAAA,OAAA,EACb,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,iqCAAA,EAAA,MAAA,EAAA,CAAA,+8CAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;sBACA;;sBAGA;;sBAQA;;sBACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEZH,MAAM,MAAM,GAAe,UAAmC;MAQjD,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;AAOW,QAAA,IAAA,CAAA,OAAO,GAAW,IAAI,CAAC,cAAc,EAAE;QACvC,IAAA,CAAA,MAAM,GAA6B,KAAK;QACxC,IAAA,CAAA,UAAU,GAAsC,KAAK;AACpD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU;AAE1C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU;QAEtC,IAAA,CAAA,UAAU,GAA6B,MAAM;QAC7C,IAAA,CAAA,SAAS,GAAkB,IAAI;QAC/B,IAAA,CAAA,SAAS,GAAkB,IAAI;QAGhC,IAAA,CAAA,UAAU,GAA0C,IAAI;AA8FjE,IAAA;IA5FC,eAAe,GAAA;QACb,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE;AACnC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;QAC/B;IACF;IAEQ,cAAc,GAAA;AACpB,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE;AACxB,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACnD,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE;AAChC,QAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,EAAE,EAAE;IAC9B;IAEU,WAAW,GAAA;AACnB,QAAA,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;QAChD,IAAI,YAAY,GAAG,MAAM;AACzB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,YAAY,GAAG,GAAG;QACpB;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;AAC1B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE;YAC3B,OAAO,CAAA,EAAG,SAAS,CAAC,WAAW,EAAE,GAAG,YAAY,CAAA,EAAG,IAAI,CAAA,CAAE;QAC3D;AACA,QAAA,OAAO,CAAA,EAAG,GAAG,CAAA,EAAG,YAAY,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA,EAAG,YAAY,CAAA,EAAG,IAAI,EAAE;IAChF;AAEQ,IAAA,WAAW,CAAC,QAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC;IAEU,YAAY,GAAA;QACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;;AAEhC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClC;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD;IAEU,YAAY,GAAA;QACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;;AAEhC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClC;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD;AAEU,IAAA,SAAS,CAAC,SAAkC,EAAA;QACpD,IAAI,CAAC,QAAQ,EAAE;AACf,QAAA,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC;QAC/D;aAAO;YACL,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC;QAC/D;IACF;IAEU,QAAQ,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACxB;IACF;IAEU,cAAc,GAAA;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE;QAC3C;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE;QACtC;IACF;AAEU,IAAA,YAAY,CAAC,KAAY,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B;8GA1GW,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,QAAA,EAAA,IAAA,EAAA,qBAAqB,2YCvBlC,ggCAwCA,EAAA,MAAA,EAAA,CAAA,wsBAAA,CAAA,EAAA,CAAA,CAAA;;2FDjBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,QAAA,EAAA,ggCAAA,EAAA,MAAA,EAAA,CAAA,wsBAAA,CAAA,EAAA;;sBAKf;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAEA;;sBACA;;sBACA;;sBAEA,SAAS;uBAAC,WAAW;;;MEvBX,qBAAqB,CAAA;AAPlC,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,MAAM,GAA0C,QAAQ;QACxD,IAAA,CAAA,OAAO,GAAqC,WAAW;QACvD,IAAA,CAAA,MAAM,GAAwB,QAAQ;QACtC,IAAA,CAAA,MAAM,GAAiB,EAAE;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;AAC5B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE;AAaxC,IAAA;IAXW,aAAa,GAAA;QACrB,OAAO;AACL,YAAA,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM;AAC5B,YAAA,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO;AAC9B,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ;AAChC,YAAA,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO;AAC9B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ;AAChC,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW;AACtC,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;SAChC;IACH;8GAlBW,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,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZlC,8fAUM,EAAA,MAAA,EAAA,CAAA,qVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFM,YAAY,6HAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,8fAAA,EAAA,MAAA,EAAA,CAAA,qVAAA,CAAA,EAAA;;sBAKvC;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MERU,mBAAmB,CAAA;AAPhC,IAAA,WAAA,GAAA;QAQW,IAAA,CAAA,OAAO,GAAW,MAAM;QACxB,IAAA,CAAA,OAAO,GAAkC,QAAQ;QACjD,IAAA,CAAA,UAAU,GAAY,IAAI;QAC1B,IAAA,CAAA,OAAO,GAAsB,QAAQ;QAErC,IAAA,CAAA,YAAY,GAAW,CAAC;AAOlC,IAAA;IALC,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QACzB;IACF;8GAZW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVhC,onBA8BA,EAAA,MAAA,EAAA,CAAA,ooDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,UAAA,EACX,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,onBAAA,EAAA,MAAA,EAAA,CAAA,ooDAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;sBAEA;;;MEOU,kBAAkB,CAAA;IAuB7B,WAAA,CACU,OAAgB,EAChB,gBAAkC,EAAA;QADlC,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAxBjB,IAAA,CAAA,SAAS,GAA4B,IAAI;QACzC,IAAA,CAAA,SAAS,GAAsB,OAAO;QACtC,IAAA,CAAA,UAAU,GAAmD,QAAQ;QACrE,IAAA,CAAA,cAAc,GAAY,IAAI;QAC9B,IAAA,CAAA,sBAAsB,GAAY,IAAI;QACtC,IAAA,CAAA,OAAO,GAAoB,MAAM;QACjC,IAAA,CAAA,QAAQ,GAAoB,MAAM;QAClC,IAAA,CAAA,OAAO,GAAqB,QAAQ;QACpC,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,QAAQ,GAAW,IAAI;AAEtB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ;AACjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW;QAKxC,IAAA,CAAA,UAAU,GAAsB,IAAI;QACpC,IAAA,CAAA,MAAM,GAA+B,IAAI;QACzC,IAAA,CAAA,aAAa,GAAG,KAAK;IAK1B;IAEH,eAAe,GAAA;QACb,IAAI,CAAC,mBAAmB,EAAE;IAC5B;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;IACrB;IAEQ,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU;YAAE;AAEtC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AAEjD,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAU,KAAI;gBACtD,KAAK,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,CAAC,CAAC;QACJ;AAAO,aAAA,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;AACrC,YAAA,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAK;gBACjD,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,CAAC,CAAC;AAEF,YAAA,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAK;;gBAEjD,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,YAAY,EAAE;gBACrB,CAAC,EAAE,GAAG,CAAC;AACT,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE;QACrB;aAAO;YACL,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAClE;QACF;AAEA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;AACpD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAE7E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;QAGzB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACtD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAK;gBAC7C,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B;IAEA,YAAY,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC3C;QACF;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAE1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;IAEQ,gBAAgB,GAAA;AACtB,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC3B,aAAA,QAAQ;AACR,aAAA,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC9C,aAAA,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE;aACjC,sBAAsB,CAAC,IAAI;aAC3B,QAAQ,CAAC,KAAK,CAAC;QAElB,OAAO;YACL,gBAAgB;YAChB,WAAW,EAAE,IAAI,CAAC,cAAc;YAChC,aAAa,EAAE,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,kCAAkC;YACnF,UAAU,EAAE,CAAC,kBAAkB,EAAE,cAAc,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;YAC9D,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AACrC,YAAA,mBAAmB,EAAE,IAAI;SAC1B;IACH;IAEQ,YAAY,GAAA;AAClB,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA;AACE,gBAAA,OAAO,EAAE,QAAiB;AAC1B,gBAAA,OAAO,EAAE,QAAiB;AAC1B,gBAAA,QAAQ,EAAE,QAAiB;AAC3B,gBAAA,QAAQ,EAAE,KAAc;AACxB,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,QAAiB;AAC1B,gBAAA,OAAO,EAAE,KAAc;AACvB,gBAAA,QAAQ,EAAE,QAAiB;AAC3B,gBAAA,QAAQ,EAAE,QAAiB;AAC3B,gBAAA,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC,CAAC;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,KAAc;AACvB,gBAAA,OAAO,EAAE,QAAiB;AAC1B,gBAAA,QAAQ,EAAE,OAAgB;AAC1B,gBAAA,QAAQ,EAAE,QAAiB;gBAC3B,OAAO,EAAE,CAAC,CAAC;AACX,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,OAAgB;AACzB,gBAAA,OAAO,EAAE,QAAiB;AAC1B,gBAAA,QAAQ,EAAE,KAAc;AACxB,gBAAA,QAAQ,EAAE,QAAiB;AAC3B,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;SACF;;AAGD,QAAA,QAAQ,IAAI,CAAC,UAAU;AACrB,YAAA,KAAK,KAAK;gBACR,OAAO;AACL,oBAAA;AACE,wBAAA,OAAO,EAAE,QAAiB;AAC1B,wBAAA,OAAO,EAAE,KAAc;AACvB,wBAAA,QAAQ,EAAE,QAAiB;AAC3B,wBAAA,QAAQ,EAAE,QAAiB;AAC3B,wBAAA,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC,CAAC;AACZ,qBAAA;oBACD,aAAa,CAAC,CAAC,CAAC;iBACjB;AACH,YAAA,KAAK,QAAQ;gBACX,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,KAAK,MAAM;gBACT,OAAO;AACL,oBAAA;AACE,wBAAA,OAAO,EAAE,OAAgB;AACzB,wBAAA,OAAO,EAAE,QAAiB;AAC1B,wBAAA,QAAQ,EAAE,KAAc;AACxB,wBAAA,QAAQ,EAAE,QAAiB;wBAC3B,OAAO,EAAE,CAAC,CAAC;AACX,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA;oBACD,aAAa,CAAC,CAAC,CAAC;iBACjB;AACH,YAAA,KAAK,OAAO;gBACV,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,KAAK,QAAQ;AACb,YAAA;AACE,gBAAA,OAAO,aAAa;;IAE1B;AAEQ,IAAA,SAAS,CAAC,IAAqB,EAAA;QACrC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,EAAE;AACzC,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,OAAO,OAAO,IAAI,KAAK,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,GAAG,IAAI;IACtD;8GA1MW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,gcAec,EAAA,MAAA,EAAA,CAAA,iwCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIF,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,YAAY,EAAA,OAAA,EACb,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,gcAAA,EAAA,MAAA,EAAA,CAAA,iwCAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBAEA,SAAS;uBAAC,SAAS;;sBACnB,SAAS;uBAAC,iBAAiB;;;AExC9B;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"otimus-library.mjs","sources":["../../../projects/otimus-library/src/lib/otimus-library.service.ts","../../../projects/otimus-library/src/lib/otimus-library.component.ts","../../../projects/otimus-library/src/lib/services/oc-toast.service.ts","../../../projects/otimus-library/src/lib/services/style-theme.service.ts","../../../projects/otimus-library/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts","../../../projects/otimus-library/src/lib/directives/oc-menu-horiz/oc-menu-horiz.directive.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.html","../../../projects/otimus-library/src/lib/components/oc-card/oc-card.component.ts","../../../projects/otimus-library/src/lib/components/oc-card/oc-card.component.html","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.ts","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.html","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.html","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.html","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.ts","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.html","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.ts","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.html","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.html","../../../projects/otimus-library/src/lib/services/internationalization.service.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete-dropdown/oc-autocomplete-dropdown.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete-dropdown/oc-autocomplete-dropdown.component.html","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.html","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.ts","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.html","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.ts","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.html","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.ts","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.html","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.ts","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.html","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.ts","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.html","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-menu-horiz/oc-menu-horiz.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu-horiz/oc-menu-horiz.component.html","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.ts","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.html","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.ts","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.html","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.ts","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.html","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.ts","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.html","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.ts","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.html","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.ts","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.html","../../../projects/otimus-library/src/lib/components/oc-message/oc-message.component.ts","../../../projects/otimus-library/src/lib/components/oc-message/oc-message.component.html","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.ts","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.html","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.ts","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.html","../../../projects/otimus-library/src/lib/components/oc-overlay/oc-overlay.component.ts","../../../projects/otimus-library/src/lib/components/oc-overlay/oc-overlay.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OtimusLibraryService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-otimus-library',\n imports: [],\n template: `\n <p>\n otimus-library works!\n </p>\n `,\n styles: ``\n})\nexport class OtimusLibraryComponent {\n\n}\n","import { ChangeDetectorRef, Injectable } from '@angular/core'\nimport { ToastType } from '../interfaces/oc-toast'\n\ntype ToastStatusType =\n | 'erro'\n | 'error'\n | 'success'\n | 'éxito'\n | 'sucesso'\n | 'carregando'\n | 'cargando'\n | 'loading'\n | 'informação'\n | 'información'\n | 'information'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OcToastService {\n toastList: ToastType[] = []\n isRunning: boolean = false\n currentToast!: ToastType\n\n closeToast(id: number): void {\n this.toastList = this.toastList.map((to) => {\n if (to.id === id) {\n return { ...to, counter: 0 }\n }\n return to\n })\n\n this.currentToast = this.toastList[0]\n }\n\n openToast = (\n toastStatus: ToastStatusType,\n toastMessage: string,\n toastCounter?: number,\n promiseKey?: string\n ): void => {\n const toast = {\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\n counter: toastCounter || 5,\n status: toastStatus,\n message: toastMessage,\n promiseKey,\n hasAnimation: true,\n }\n\n const toastExists = this.toastList.some((to) => {\n return to.status === toastStatus && to.message === toastMessage\n })\n\n if (toastExists) {\n return\n }\n\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\n\n if (keyExists) {\n this.toastList = this.toastList.map((to) => {\n if (to.promiseKey === promiseKey) {\n return { ...toast, hasAnimation: false }\n }\n return to\n })\n }\n\n this.toastList.push(toast)\n\n if (!this.isRunning) {\n this.renderToasts()\n }\n }\n\n renderToasts(): void {\n if (this.toastList.length === 0) {\n this.isRunning = false\n return\n }\n\n this.isRunning = true\n this.currentToast = this.toastList[0]\n\n const toastInterval = setInterval(() => {\n if (this.toastList.length === 0) {\n clearInterval(toastInterval)\n this.isRunning = false\n return\n }\n\n this.currentToast = this.toastList[0]\n if (this.currentToast.status !== 'carregando') {\n this.currentToast.counter--\n }\n\n if (this.currentToast.counter <= 0) {\n this.toastList = this.toastList.filter((to) => {\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\n })\n clearInterval(toastInterval)\n this.renderToasts()\n }\n }, 1000)\n }\n}\n","import { Injectable } from '@angular/core'\nimport { OcStyleThemeType } from '../interfaces/oc-style-theme'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StyleThemeService {\n constructor() {}\n\n getStyleTheme(): OcStyleThemeType | undefined {\n const localStorageTheme = localStorage.getItem('@oc-lib-style_theme')\n\n if (!localStorageTheme || !['otimus', 'shui', 'semantic'].includes(localStorageTheme)) {\n return undefined\n }\n\n return localStorageTheme as OcStyleThemeType\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n NgZone,\n ChangeDetectorRef,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n} from '@angular/core'\n\n@Directive({\n selector: '[ocTooltip]',\n standalone: true,\n})\nexport class OcTooltipDirective implements OnDestroy, OnChanges {\n @Input() content: string = ''\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' | 'mouse' = 'mouse'\n\n private tooltip: HTMLElement | null = null\n private moveScheduled = false\n private isHTMLCache = false // Cache HTML detection to avoid repeated DOMParser\n\n // references so we can remover listeners\n private boundMouseOver!: (e: MouseEvent) => void\n private boundMouseMove!: (e: MouseEvent) => void\n private boundMouseOut!: (e: MouseEvent) => void\n\n constructor(\n private elRef: ElementRef,\n private renderer: Renderer2,\n private zone: NgZone,\n private cdr: ChangeDetectorRef // Keep for ngOnChanges if needed, but not for events\n ) {\n // apenas registra os listeners fora do angular — handlers executam fora também\n this.zone.runOutsideAngular(() => {\n this.setupEventBindings()\n })\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['content'] && this.tooltip) {\n // Update content immediately (during CD)\n this.updateTooltipContent()\n }\n }\n\n private updateTooltipContent(): void {\n if (!this.tooltip || !this.content) return\n\n this.tooltip.innerHTML = ''\n // Cache isHTML to avoid DOMParser on every change/move\n if (!this.isHTMLCache) {\n const parser = new DOMParser()\n this.isHTMLCache = parser.parseFromString(this.content, 'text/html').body.children.length > 0\n }\n\n if (this.isHTMLCache) {\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\n } else {\n const text = this.renderer.createText(this.content)\n this.renderer.appendChild(this.tooltip, text)\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\n }\n }\n\n private setupEventBindings() {\n // define handlers vinculados para permitir remoção depois\n this.boundMouseOver = (e: MouseEvent) => this.onMouseOver(e)\n this.boundMouseMove = (e: MouseEvent) => this.onMouseMove(e)\n this.boundMouseOut = (e: MouseEvent) => this.onMouseOut(e)\n\n const el = this.elRef.nativeElement as HTMLElement\n el.addEventListener('mouseover', this.boundMouseOver)\n el.addEventListener('mousemove', this.boundMouseMove)\n el.addEventListener('mouseout', this.boundMouseOut)\n }\n\n private createTooltip(): HTMLElement {\n if (this.tooltip) return this.tooltip // Already exists\n\n this.tooltip = this.renderer.createElement('div') as HTMLElement\n this.renderer.addClass(this.tooltip, 'oc-tooltip')\n this.renderer.setStyle(this.tooltip, 'position', 'absolute')\n this.renderer.setStyle(this.tooltip, 'pointer-events', 'none')\n this.renderer.setStyle(this.tooltip, 'z-index', '1000')\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n this.renderer.appendChild(document.body, this.tooltip)\n\n // Set initial content and cache HTML detection\n this.updateTooltipContent()\n this.isHTMLCache = false // Reset cache on creation\n\n if (this.side === 'mouse') {\n this.renderer.addClass(this.tooltip, 'mouse-tracking')\n } else {\n this.renderer.removeClass(this.tooltip, 'mouse-tracking')\n }\n\n return this.tooltip\n }\n\n onMouseOver(event: MouseEvent): void {\n if (!this.content) return\n\n this.createTooltip() // Creates and sets content\n this.renderer.setStyle(this.tooltip, 'display', 'block')\n\n // Use double requestAnimationFrame to ensure tooltip is fully rendered and measured\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (this.side === 'mouse') {\n this.updateTooltipPosition(event)\n } else {\n this.positionTooltipFixed()\n }\n })\n })\n }\n\n onMouseMove(event: MouseEvent): void {\n if (!this.tooltip || this.side !== 'mouse') return\n\n if (!this.moveScheduled) {\n this.moveScheduled = true\n requestAnimationFrame(() => {\n // roda fora do angular\n this.zone.runOutsideAngular(() => {\n this.updateTooltipPosition(event)\n this.moveScheduled = false\n })\n })\n }\n }\n\n onMouseOut(event: MouseEvent): void {\n // evita flicker se mouse entra no tooltip\n if (\n this.tooltip &&\n event.relatedTarget instanceof Node &&\n this.tooltip.contains(event.relatedTarget)\n ) {\n return // Avoid flicker\n }\n\n if (this.tooltip) {\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n }\n }\n\n private updateTooltipPosition(event: MouseEvent): void {\n if (!this.tooltip) return\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n \n // Get tooltip dimensions - use offsetWidth/Height for more reliable measurements\n const tooltipWidth = this.tooltip.offsetWidth || 200 // fallback width\n const tooltipHeight = this.tooltip.offsetHeight || 50 // fallback height\n\n // Debug logging\n // Calculate initial position\n let left = event.pageX + 12\n let top = event.pageY + 12\n\n // Check if tooltip goes beyond right edge of viewport\n if (left + tooltipWidth > viewportWidth) {\n left = event.pageX - tooltipWidth - 12\n }\n \n // Check if tooltip goes beyond bottom edge of viewport\n if (top + tooltipHeight > viewportHeight) {\n // Position tooltip above cursor, but only as much as needed\n top = viewportHeight - tooltipHeight - 10\n }\n \n // Ensure tooltip doesn't go beyond left edge\n if (left < 0) {\n left = 12\n }\n \n // Ensure tooltip doesn't go beyond top edge\n if (top < 0) {\n top = 12\n }\n\n // Final comprehensive check to ensure tooltip is fully within viewport\n if (top + tooltipHeight > viewportHeight) {\n top = viewportHeight - tooltipHeight - 10\n }\n if (left + tooltipWidth > viewportWidth) {\n left = viewportWidth - tooltipWidth - 10\n }\n if (left < 0) {\n left = 10\n }\n if (top < 0) {\n top = 10\n }\n \n // Ensure tooltip doesn't go too far up - keep it near the cursor if possible\n if (top < event.pageY - tooltipHeight - 50) {\n top = event.pageY - tooltipHeight - 12\n }\n\n // Debug final position\n\n // manipulação DOM fora do zone — não aciona change detection\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n private positionTooltipFixed(): void {\n if (!this.tooltip) return\n\n const rect = this.elRef.nativeElement.getBoundingClientRect()\n const width = this.elRef.nativeElement.offsetWidth\n const height = this.elRef.nativeElement.offsetHeight\n\n const scrollX = window.scrollX\n const scrollY = window.scrollY\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n\n let left = 0\n let top = 0\n\n switch (this.side) {\n case 'right':\n left = scrollX + rect.right + 10\n top = scrollY + rect.top + height / 2\n break\n case 'left':\n left = scrollX + rect.left - this.tooltip.offsetWidth - 10\n top = scrollY + rect.top + height / 2\n break\n case 'upon':\n case 'top':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.top - this.tooltip.offsetHeight - 10\n break\n case 'bottom':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.bottom + 10\n break\n }\n\n // Adjust position to stay within viewport\n const tooltipWidth = this.tooltip.offsetWidth || 200 // fallback width\n const tooltipHeight = this.tooltip.offsetHeight || 50 // fallback height\n\n // Check horizontal boundaries\n if (left < scrollX) {\n left = scrollX + 10\n } else if (left + tooltipWidth > scrollX + viewportWidth) {\n left = scrollX + viewportWidth - tooltipWidth - 10\n }\n\n // Check vertical boundaries\n if (top < scrollY) {\n top = scrollY + 10\n } else if (top + tooltipHeight > scrollY + viewportHeight) {\n top = scrollY + viewportHeight - tooltipHeight - 10\n }\n\n // Final safety check to ensure tooltip is fully visible\n if (top + tooltipHeight > scrollY + viewportHeight) {\n top = scrollY + viewportHeight - tooltipHeight - 10\n }\n if (left + tooltipWidth > scrollX + viewportWidth) {\n left = scrollX + viewportWidth - tooltipWidth - 10\n }\n \n // Ensure tooltip doesn't go too far up - keep it near the element if possible\n const elementTop = rect.top + scrollY\n if (top < elementTop - tooltipHeight - 50) {\n top = elementTop - tooltipHeight - 10\n }\n\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n ngOnDestroy(): void {\n // remove tooltip do DOM\n if (this.tooltip && this.tooltip.parentNode) {\n this.tooltip.parentNode.removeChild(this.tooltip)\n this.tooltip = null\n }\n\n // remove event listeners registrados\n try {\n const el = this.elRef.nativeElement as HTMLElement\n if (this.boundMouseOver) el.removeEventListener('mouseover', this.boundMouseOver)\n if (this.boundMouseMove) el.removeEventListener('mousemove', this.boundMouseMove)\n if (this.boundMouseOut) el.removeEventListener('mouseout', this.boundMouseOut)\n } catch {\n // ignore\n }\n }\n}\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Input,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core'\nimport { OcMenuHorizComponent } from '../../../public-api'\nimport { OcMenuHorizType } from '../../interfaces/oc-menu-horiz'\n\n@Directive({\n selector: '[OcMenuHorizontal]',\n standalone: true,\n exportAs: 'OcMenuHorizontal',\n})\nexport class OcMenuHorizDirective implements OnChanges, OnDestroy {\n // Inputs you want to pass to the component\n @Input() ocMenu: OcMenuHorizType[] = []\n @Input() ocMenuMaxWidth?: string\n @Input() ocMenuWidth?: string\n @Input() ocMenuShouldCloseOnClickOut: boolean = false\n\n private menuRef: ComponentRef<OcMenuHorizComponent> | null = null\n private ocChangeSub?: { unsubscribe(): void } | null = null\n\n constructor(\n private readonly elemRef: ElementRef<HTMLElement>,\n private readonly viewContainerRef: ViewContainerRef,\n private readonly injector: EnvironmentInjector,\n private readonly renderer: Renderer2\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // If the component already exists, propagate input changes immediately\n if (!this.menuRef) return\n\n if (changes['ocMenu']) {\n this.menuRef.instance.ocMenu = this.ocMenu\n }\n if (changes['maxWidth']) {\n this.menuRef.instance.maxWidth = this.ocMenuMaxWidth\n }\n if (changes['width']) {\n this.menuRef.instance.width = this.ocMenuWidth\n }\n if (changes['shouldCloseOnClickOut']) {\n this.menuRef.instance.shouldCloseOnClickOut = this.ocMenuShouldCloseOnClickOut\n }\n\n // ensure component change detection runs\n this.menuRef.changeDetectorRef.detectChanges()\n }\n\n ngOnDestroy(): void {\n this.destroyMenu()\n }\n\n /** create and attach component instance (idempotent) */\n public createOcMenu(): void {\n if (this.menuRef) return\n\n this.menuRef = this.viewContainerRef.createComponent(OcMenuHorizComponent, {\n environmentInjector: this.injector,\n })\n\n // set initial inputs\n this.menuRef.instance.ocMenu = this.ocMenu\n this.menuRef.instance.maxWidth = this.ocMenuMaxWidth\n this.menuRef.instance.width = this.ocMenuWidth\n this.menuRef.instance.shouldCloseOnClickOut = this.ocMenuShouldCloseOnClickOut\n\n this.menuRef.instance.hostElement = this.elemRef.nativeElement\n\n // forward output (example)\n this.ocChangeSub = this.menuRef.instance.ocChange.subscribe((v) => {\n // re-emit or handle here. Because directive is not a component,\n // you could expose a public Observable or call a callback — adjust to your needs.\n // For demonstration we'll log:\n })\n\n // attach to host element\n const host = this.elemRef.nativeElement\n const menuNative = this.menuRef.location.nativeElement as HTMLElement\n const parent = host.parentNode as Node | null\n\n if (parent) {\n // insertBefore with nextSibling effectively inserts *after* the host\n parent.insertBefore(menuNative, host.nextSibling)\n } else {\n // fallback: append to body if the host isn't attached to a parent yet\n document.body.appendChild(menuNative)\n }\n\n // run change detection so the menu renders with proper inputs\n this.menuRef.changeDetectorRef.detectChanges()\n }\n\n public open(): void {\n this.createOcMenu()\n this.menuRef?.instance.open()\n }\n\n public close(): void {\n this.menuRef?.instance.close()\n }\n\n private destroyMenu(): void {\n if (this.ocChangeSub) {\n this.ocChangeSub.unsubscribe()\n this.ocChangeSub = null\n }\n if (this.menuRef) {\n // remove DOM node (optional — Angular destroy will also remove it)\n try {\n const native = this.menuRef.location.nativeElement\n if (native && native.parentNode) native.parentNode.removeChild(native)\n } catch {}\n\n this.menuRef.destroy()\n this.menuRef = null\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'oc-badge',\n imports: [CommonModule],\n templateUrl: './oc-badge.component.html',\n styleUrl: './oc-badge.component.scss'\n})\nexport class OcBadgeComponent implements OnInit {\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\n @Input() ocWaved: boolean = false\n\n classList: string[] = []\n\n ngOnInit(): void {\n this.classList.push(this.ocSize, this.ocColor)\n if(this.ocWaved) this.classList.push('waved')\n }\n}\n","<div>\n <div class=\"oc-badge\" [ngClass]=\"classList\">\n <ng-content>\n \n </ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Output, input } from '@angular/core'\n\n@Component({\n selector: 'oc-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-card.component.html',\n styleUrl: './oc-card.component.scss',\n})\nexport class OcCardComponent {\n readonly ocSelected = input<boolean>(false)\n readonly ocColor = input<'green' | 'red' | 'yellow' | 'default'>('default')\n readonly ocClickable = input<boolean>(false)\n @Output() ocClick: EventEmitter<void> = new EventEmitter<void>()\n\n protected onClick() {\n this.ocClick.emit()\n }\n\n protected get color(): string {\n return 'oc-' + this.ocColor()\n }\n\n protected get isSelected(): string {\n return this.ocSelected() ? 'oc-card-selected' : ''\n }\n\n protected get isClickable(): string {\n return this.ocClickable() ? 'oc-card-clickable' : ''\n }\n}\n","<div\n class=\"oc-card\"\n [ngClass]=\"[color, isSelected, isClickable]\"\n (click)=\"onClick()\"\n>\n <div class=\"oc-card-header\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n <div class=\"oc-card-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"oc-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-filter',\n imports: [CommonModule, OcBadgeComponent],\n templateUrl: './oc-filter.component.html',\n styleUrl: './oc-filter.component.scss'\n})\nexport class OcFilterComponent implements AfterViewInit {\n @Input() isOpen: boolean = false\n @Input() ocText: string = 'Filtros'\n @Input() ocActive: number = 0\n @Input() ocSide: 'left' | 'right' = 'left'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n toggleOpen() {\n this.isOpen = !this.isOpen\n }\n}\n","<div class=\"oc-filter-row\" [ngClass]=\"{\n reverse: ocSide === 'right'\n}\">\n <button class=\"oc-filter-btn\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n }\" (click)=\"toggleOpen()\">\n <span class=\"material-symbols-outlined\">filter_list</span>\n {{ocText}}\n <div class=\"badge\">\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\n </div>\n </button>\n\n <div class=\"filter-row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n\n</div>\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\n <ng-content select=\"[body]\">\n </ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-input',\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n imports: [CommonModule],\n templateUrl: './oc-input.component.html',\n styleUrls: ['./oc-input.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OcInputComponent implements AfterContentInit, AfterViewInit, OnChanges {\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n @Input() ocError?: string\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocPlaceholder: string = ''\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocRequired: boolean = false\n private _ocStyle: OcStyleThemeType = 'otimus'\n @Input()\n set ocStyle(value: OcStyleThemeType) {\n this._ocStyle = value\n }\n get ocStyle(): OcStyleThemeType {\n return this._ocStyle || this.styleThemeService.getStyleTheme() || 'otimus'\n }\n\n inputId: string = `oc-${Math.random()}`\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private styleThemeService: StyleThemeService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // Handle input property changes if needed\n }\n\n ngAfterContentInit(): void {\n // Set prefix/suffix flags after content has been initialized\n // This runs before change detection completes, so it's safe\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n ngAfterViewInit(): void {\n const inputBox = this.el.nativeElement\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }\n}\n","<div [ngClass]=\"{\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix,\n 'shui': ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui'\n}\" [id]=\"inputId\">\n <ng-content></ng-content>\n <ng-content select=\"ocPrefix\"></ng-content>\n <ng-content select=\"ocSuffix\"></ng-content>\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if(ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\n</div>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-modal',\n imports: [CommonModule],\n templateUrl: './oc-modal.component.html',\n styleUrl: './oc-modal.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcModalComponent implements AfterViewInit {\n constructor(\n private elRef: ElementRef,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Input() ocClose: boolean = true\n @Input() ocTitle: string = ''\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\n @Input() ocBgColor?: string\n @Input() ocWidth: string = ''\n @Input() ocMaxWidth: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocLoading: boolean = false\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n @Input() isOpen: boolean = false\n closing: boolean = false\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n open(): void {\n this.isOpen = true\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close(): void {\n this.closing = true\n setTimeout(() => {\n this.isOpen = false\n this.closing = false\n\n if (this.ocOnClose) {\n this.ocOnClose.emit(this.isOpen)\n }\n\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\n this.cdr.detectChanges()\n }, 100)\n }\n\n protected getModalStyles(): { [key: string]: string } {\n const styles: { [key: string]: string } = {}\n if (this.ocBgColor) {\n styles['background-color'] = this.ocBgColor\n }\n if (this.ocWidth) {\n styles['width'] = this.ocWidth\n }\n if (this.ocMaxWidth) {\n styles['max-width'] = this.ocMaxWidth\n }\n return styles\n }\n}\n","@if (isOpen) {\n <div\n class=\"oc-modal-bg\"\n *ngIf=\"isOpen\"\n [ngClass]=\"{\n 'closing-bg': closing,\n shui: ocStyle === 'shui',\n 'shui-modal': ocStyle === 'shui',\n }\"\n >\n <div\n class=\"oc-modal\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n small: ocSize === 'small',\n closing: closing,\n 'total-white': ocBgColor === 'white',\n }\"\n [ngStyle]=\"getModalStyles()\"\n >\n <header class=\"oc-modal-header\">\n <h3 *ngIf=\"ocTitle && ocTitle.trim().length > 0\">{{ ocTitle }}</h3>\n @if (ocClose) {\n <button\n (click)=\"close()\"\n class=\"oc-close-btn\"\n >\n <span\n class=\"material-symbols-outlined md-18\"\n title=\"Fechar\"\n >close</span\n >\n </button>\n }\n </header>\n <div\n class=\"oc-modal-content\"\n [ngClass]=\"{\n 'loading-content': ocLoading,\n }\"\n >\n @if (isOpen) {\n <ng-content></ng-content>\n }\n @if (ocLoading) {\n <div class=\"load-container\">\n <span class=\"loader material-symbols-outlined oc color p-1\">progress_activity</span>\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input, ViewEncapsulation } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { DomSanitizer } from '@angular/platform-browser'\n\n@Component({\n selector: 'oc-key-value',\n imports: [CommonModule],\n templateUrl: './oc-key-value.component.html',\n styleUrl: './oc-key-value.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcKeyValueComponent implements AfterViewInit {\n constructor(\n private styleThemeService: StyleThemeService,\n protected sanitizer: DomSanitizer\n ) {}\n @Input() ocKey: string = ''\n @Input() ocValue: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n}\n","<div\n class=\"oc-key-value\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n>\n <!-- Ícone -->\n <ng-content></ng-content>\n @if (ocKey) {\n <span [innerHTML]=\"ocKey + ':'\"></span>\n }\n <p [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(ocValue)\"></p>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-chip',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-chip.component.html',\n styleUrl: './oc-chip.component.scss',\n})\nexport class OcChipComponent {\n @Input() ocSelected: boolean = false\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\n @Input() ocBgHexColor?: string // Hexadecimal color for custom badge styling\n @Input() ocText: string = ''\n @Input() ocFontSize: string = '16px'\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>()\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>()\n\n ocEvent(event: any) {\n event.stopPropagation()\n this.ocClick.emit()\n }\n\n ocRemoveEvent(event: any) {\n event.stopPropagation()\n if (!this.ocRemove.observed) {\n this.ocClick.emit()\n return\n }\n this.ocRemove.emit()\n }\n}\n","<button\n [ngClass]=\"{\n 'oc-chip': true,\n selected: ocSelected,\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\n tag: ocType === 'tag',\n remove: ocType === 'remove' || ocType === 'select_remove',\n 'green-bg': ocBg === 'green' && !ocBgHexColor,\n 'red-bg': ocBg === 'red' && !ocBgHexColor,\n 'yellow-bg': ocBg === 'yellow' && !ocBgHexColor,\n 'custom-hex-color': !!ocBgHexColor,\n }\"\n type=\"button\"\n [ngStyle]=\"{\n 'font-size': ocFontSize,\n 'background-color': ocBgHexColor || null,\n }\"\n [title]=\"ocText\"\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\n>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n @if (ocType.includes('remove')) {\n <span\n class=\"material-symbols-outlined\"\n (click)=\"ocRemoveEvent($event)\"\n >close</span\n >\n }\n</button>\n","import { CommonModule } from '@angular/common'\nimport { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-modal-footer',\n imports: [CommonModule],\n templateUrl: './oc-modal-footer.component.html',\n styleUrl: './oc-modal-footer.component.scss'\n})\nexport class OcModalFooterComponent {\n @Input() ocSide: 'left' | 'right' = 'right'\n @Input() ocBgColor?: string\n @Input() ocFixed: boolean = true\n}\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\n 'left': ocSide === 'left',\n 'right': ocSide === 'right',\n 'fixed': ocFixed\n}\"\n [ngStyle]=\"{\n 'background-color': ocBgColor\n }\"\n>\n <ng-content></ng-content>\n</footer>","import { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InternationalizationService {\n constructor(private http: HttpClient) { }\n private queryLang: string | null = null\n\n getTranslation(\n code: string | number,\n params?: { [key: string]: string | number } | null\n ): string {\n code = typeof code === 'number' ? `LIB${code}` : code\n const translations = JSON.parse(localStorage.getItem('@oc-lib-lang_words') || '{}')\n let translation = translations[code] || code\n\n if (params) {\n Object.keys(params).forEach((key) => {\n translation = translation.replace(`%{${key}}`, params[key].toString())\n })\n }\n\n return translation\n }\n\n getTranslationsByLanguage() {\n const urlParams = new URLSearchParams(window.location.search)\n this.queryLang = urlParams.get('lang')\n if(!this.queryLang) return\n if (!this.canUpdateStoredLanguages()) return\n\n return this.http.get<Object>(`https://cms-backend.otimusclinic.com/translations/language?lang=${this.queryLang}`)\n .subscribe(resp => {\n if (!resp || !Object.keys(resp).length) return\n this.setLanguages(resp)\n this.setLanguage(this.queryLang as string)\n this.setUpdatedLastTime()\n })\n }\n\n canUpdateStoredLanguages(): boolean {\n const storedLastTime = localStorage.getItem('@oc-lib-stored_at')\n const storedLanguage = localStorage.getItem('language')\n \n if (!storedLastTime || !storedLanguage || !this.queryLang) return true\n\n let yesterday = new Date()\n yesterday.setDate(yesterday.getDate() - 1)\n\n const storedDate = new Date(storedLastTime)\n\n if (storedDate <= yesterday || (storedLanguage !== this.queryLang)) {\n return true\n }\n\n return false\n }\n\n setLanguage(language: string): void {\n localStorage.setItem('language', language)\n }\n\n setUpdatedLastTime(): void {\n const updatedLastTime = new Date().toISOString()\n localStorage.setItem('@oc-lib-stored_at', updatedLastTime)\n }\n\n setLanguages(translations: Object): void {\n localStorage.setItem('@oc-lib-lang_words', JSON.stringify(translations))\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'\nimport { OcAutoCompleteType } from '../../../interfaces/oc-autocomplete'\nimport { FormsModule } from '@angular/forms'\n\n@Component({\n selector: 'oc-autocomplete-dropdown',\n imports: [CommonModule, FormsModule],\n standalone: true,\n templateUrl: './oc-autocomplete-dropdown.component.html',\n styleUrls: ['./oc-autocomplete-dropdown.component.scss'],\n host: {\n 'class': 'oc-autocomplete-dropdown-container',\n 'style': 'width: 100%; display: block;'\n }\n})\nexport class OcAutocompleteDropdownComponent {\n @Input() filteredData: OcAutoCompleteType[] = []\n @Input() ocLoading = false\n @Input() ocDisabled = false\n @Input() ocNoAvailableOptionsText?: string\n @Input() ocMaxResults?: number\n @Input() ocTypeForMoreResultsText?: string\n @Input() ocType: 'counterSelect' | 'default' = 'default'\n @Input() selectedIndex = -1\n @Input() ocOptionsMaxHeight?: string\n @Input() ocOptionsWidth?: string\n\n @Output() selectValue = new EventEmitter<any>()\n @Output() decrementCounter = new EventEmitter<OcAutoCompleteType>()\n @Output() incrementCounter = new EventEmitter<OcAutoCompleteType>()\n\n constructor() {}\n}","@if (!ocLoading && !ocDisabled) {\n <ul\n class=\"oc-options\"\n [ngStyle]=\"{\n 'max-height': ocOptionsMaxHeight,\n width: ocOptionsWidth,\n }\"\n >\n @if (!filteredData.length) {\n <li class=\"no-options\">\n {{ ocNoAvailableOptionsText || 'Nenhum resultado disponível' }}\n </li>\n } @else {\n @for (data of filteredData; track data.value; let i = $index) {\n @if (!ocMaxResults || i < ocMaxResults) {\n <li class=\"li-option\">\n <button\n type=\"button\"\n (click)=\"selectValue.emit(data.value)\"\n [class.hover]=\"ocType !== 'counterSelect'\"\n [class.highlight]=\"selectedIndex === i\"\n >\n @if (data.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n 'font-size': data.iconSize || '1.2rem',\n }\"\n >\n {{ data.icon }}\n </span>\n }\n {{ data.name }}\n </button>\n @if (ocType === 'counterSelect') {\n <div class=\"oc-counter-select\">\n <button\n class=\"subtract\"\n (click)=\"decrementCounter.emit(data)\"\n >\n <span class=\"material-symbols-outlined\">remove</span>\n </button>\n <p class=\"counter\">{{ data.counter || 0 }}</p>\n <button\n class=\"add\"\n (click)=\"incrementCounter.emit(data)\"\n >\n <span class=\"material-symbols-outlined\">add</span>\n </button>\n </div>\n }\n </li>\n }\n }\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\n <li class=\"no-options\">\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\n </li>\n }\n }\n </ul>\n} @else if (ocLoading && !ocDisabled) {\n <div class=\"oc-options loader\">\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\n </div>\n}","import { CommonModule } from '@angular/common'\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core'\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete'\nimport { FormsModule } from '@angular/forms'\nimport { InternationalizationService } from '../../services/internationalization.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay'\nimport { ComponentPortal } from '@angular/cdk/portal'\nimport { OcAutocompleteDropdownComponent } from './oc-autocomplete-dropdown/oc-autocomplete-dropdown.component'\n\n@Component({\n selector: 'oc-autocomplete',\n imports: [CommonModule, FormsModule],\n providers: [InternationalizationService],\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n templateUrl: './oc-autocomplete.component.html',\n styleUrl: './oc-autocomplete.component.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcAutocompleteComponent implements AfterContentInit, AfterViewInit, OnChanges, OnInit, OnDestroy {\n constructor(\n private renderer: Renderer2,\n private el: ElementRef,\n private translateService: InternationalizationService,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef,\n private overlay: Overlay\n ) {}\n\n @ViewChild('input') input!: ElementRef\n @ViewChild('options') options!: ElementRef\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\n @ViewChildren('listOptionsRef') listOptionsElements!: QueryList<ElementRef<HTMLLIElement>>\n\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n private _ocData: OcAutoCompleteType[] = []\n @Input()\n set ocData(value: OcAutoCompleteType[]) {\n this._ocData = value\n\n this.filteredData = value\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = value.find((el) => el.value == this.ocValue)\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n this.cdr.detectChanges() // Força a atualização\n }\n\n get ocData(): OcAutoCompleteType[] {\n return this._ocData\n }\n @Input() ocPlaceholder?: string = ''\n @Input() ocError?: string\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\n @Input() ocValue: any = ''\n @Input() ocClearOnChange: boolean = false\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocOptionsMaxHeight?: string\n @Input() ocOptionsWidth?: string\n @Input() ocRequired: boolean = false\n @Input() ocMaxResults?: number\n @Input() ocAllowNotListedValue: boolean = false\n @Input() ocNoAvailableOptionsText?: string\n @Input() ocTypeForMoreResultsText?: string\n @Input() ocLoading: boolean = false\n @Input() ocSemanticLike: boolean = false // deprecated. Prefer using ocStyleTheme instead\n private _ocStyle: OcStyleThemeType = 'otimus'\n @Input()\n set ocStyle(value: OcStyleThemeType) {\n this._ocStyle = value\n }\n get ocStyle(): OcStyleThemeType {\n return this._ocStyle || this.styleThemeService.getStyleTheme() || 'otimus'\n }\n @Input() ocTabIndex?: number\n @Input() iconSize: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocSelectByTyping: boolean = true\n @Input() ocDisabled = false\n @Input() ocType: 'counterSelect' | 'default' = 'default'\n\n @Input() ocShowBackdrop: boolean = false\n @Input() ocHasDeleteButton?: boolean = false\n @Input() ocEnableKeyboard: boolean = false\n\n @Output() ocValueChange = new EventEmitter<string>()\n @Output() ocChange = new EventEmitter<string | null>()\n @Output() ocCounterSelectChange = new EventEmitter<OcAutoCompleteType[]>()\n @Output() ocOptionNotFound = new EventEmitter()\n @Output() ocClick = new EventEmitter()\n\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n isOptionsShown: boolean = false\n\n private _filteredData: OcAutoCompleteType[] = []\n get filteredData(): OcAutoCompleteType[] {\n return this._filteredData\n }\n set filteredData(value: OcAutoCompleteType[]) {\n this._filteredData = value\n this.updateDropdownPortal()\n }\n\n selectedValue: OcAutoCompleteType = {\n name: '',\n value: null,\n }\n\n selectedIndex: number = -1\n inputWidth: string = 'auto'\n private overlayRef: OverlayRef | null = null\n private dropdownComponentRef: ComponentRef<OcAutocompleteDropdownComponent> | null = null\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n\n this.formatOcValueType()\n this.loadOptions()\n\n this.cdr.detectChanges()\n }\n\n ngOnInit(): void {\n if (this.ocValue === undefined) {\n this.ocValue = null\n }\n }\n\n ngAfterContentInit(): void {\n // Set prefix/suffix flags after content has been initialized\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n ngAfterViewInit(): void {\n this.formatOcValueType()\n this.loadOptions()\n this.translateService.getTranslationsByLanguage()\n\n setTimeout(() => {\n this.updateInputWidth()\n }, 0)\n\n this.cdr.detectChanges()\n }\n\n formatOcValueType() {\n if (this.ocValue) {\n return `${this.ocValue}`\n }\n return null\n }\n\n updateInputWidth(): void {\n if (this.input && this.input.nativeElement) {\n const inputElement = this.input.nativeElement\n this.inputWidth = `${inputElement.offsetWidth}px`\n }\n }\n\n getTranslation(code: number | string) {\n return this.translateService.getTranslation(code)\n }\n\n loadOptions() {\n this.formatOcValueType()\n setTimeout(() => {\n this.filteredData = this.ocData\n\n const inputBox = this.el.nativeElement\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = this.ocData.find((el) => el.value == this.ocValue)\n\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }, 50)\n }\n\n closeOnClickOut(): void {\n this.renderer.listen('window', 'click', (e: Event) => {\n const target = e.target as HTMLElement\n\n const insideCounterSelect =\n this.ocType === 'counterSelect' && target.closest('.oc-counter-select')\n\n const insideDropdown = target.closest('.oc-autocomplete-dropdown-container')\n\n if (this.input && !insideCounterSelect && !insideDropdown) {\n if (target !== this.input.nativeElement && this.isOptionsShown) {\n this.isOptionsShown = false\n this.closeOverlay()\n this.findByTyping()\n }\n }\n })\n }\n\n findByTyping(): void {\n if (!this.ocValue || !this.ocValue?.toString().trim().length) {\n this.ocChange.emit(null)\n this.ocOptionNotFound.emit()\n }\n if (!this.ocSelectByTyping) {\n return\n }\n\n const foundValue = this.ocData.find(\n (data) =>\n data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||\n data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase()\n )\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n if (!this.ocAllowNotListedValue) {\n this.ocValue = ''\n }\n this.filteredData = this.ocData\n return\n }\n this.selectedValue = foundValue\n }\n\n filterData(name: string): void {\n this.isOptionsShown = true\n\n // Split search term by spaces and filter out empty strings\n const searchTerms = name\n .trim()\n .split(/\\s+/)\n .filter((term) => term.length > 0)\n .map((term) => this.getFormattedName(term))\n\n // If no search terms, show all data\n if (searchTerms.length === 0) {\n this.filteredData = this.ocData\n return\n }\n\n // Filter data where ALL search terms are found in the name\n this.filteredData = this.ocData.filter((data) => {\n const formattedName = this.getFormattedName(data.name)\n return searchTerms.every((term) => formattedName?.includes(term))\n })\n }\n\n getFormattedName(str: string): string {\n return str\n ?.toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '') // Remove marcas diacríticas\n }\n\n toggleOptions() {\n this.closeOnClickOut()\n this.updateInputWidth()\n\n if (this.isOptionsShown) {\n this.closeOverlay()\n } else {\n this.openOverlay()\n }\n\n this.isOptionsShown = !this.isOptionsShown\n }\n\n private openOverlay() {\n if (!this.input) return\n\n const inputWidth = this.input.nativeElement.offsetWidth\n\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(this.input.nativeElement)\n .withPositions([\n // Primary position: below the input\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n // Fallback position: above the input\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ])\n .withFlexibleDimensions(false)\n\n // Create overlay config\n const overlayConfig = {\n positionStrategy,\n width: inputWidth,\n hasBackdrop: true,\n backdropClass: this.ocShowBackdrop ? undefined : 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition()\n }\n\n // Create overlay\n this.overlayRef = this.overlay.create(overlayConfig)\n\n // Create portal\n const dropdownPortal = new ComponentPortal(OcAutocompleteDropdownComponent)\n\n // Attach portal to overlay\n const componentRef = this.overlayRef.attach(dropdownPortal)\n this.dropdownComponentRef = componentRef\n\n // Set component properties\n this.setDropdownComponentInputs()\n\n // Subscribe to events\n componentRef.instance.selectValue.subscribe((value: any) => {\n this.selectValue(value)\n this.closeOverlay()\n })\n\n componentRef.instance.decrementCounter.subscribe((data: OcAutoCompleteType) => {\n this.decrementCounter(data)\n })\n\n componentRef.instance.incrementCounter.subscribe((data: OcAutoCompleteType) => {\n this.incrementCounter(data)\n })\n\n // Add scroll listener to update overlay position\n const scrollListener = this.renderer.listen('window', 'scroll', () => {\n if (this.overlayRef) {\n this.updateOverlay()\n }\n })\n\n const resizeObserver = new ResizeObserver(() => {\n if (this.overlayRef) {\n this.updateOverlayPosition()\n this.updateOverlayWidth()\n }\n })\n\n if (this.input) {\n resizeObserver.observe(this.input.nativeElement)\n }\n\n this.overlayRef.detachments().subscribe(() => {\n scrollListener()\n resizeObserver.disconnect()\n })\n }\n\n private updateOverlayPosition(): void {\n if (this.overlayRef) {\n this.overlayRef.updatePosition()\n }\n }\n\n private updateOverlayWidth(): void {\n if (this.overlayRef && this.input) {\n const inputWidth = this.input.nativeElement.offsetWidth\n\n const reasonableWidth = Math.max(50, Math.min(inputWidth, window.innerWidth * 0.9))\n\n this.overlayRef.updateSize({ width: reasonableWidth })\n this.cdr.detectChanges()\n }\n }\n\n public updateOverlay(): void {\n if (this.overlayRef && this.input) {\n this.updateOverlayPosition()\n this.updateOverlayWidth()\n }\n }\n\n private closeOverlay() {\n if (this.overlayRef) {\n this.overlayRef.dispose()\n this.overlayRef = null\n this.dropdownComponentRef = null\n }\n }\n\n private updateDropdownPortal() {\n if (!this.dropdownComponentRef) return\n\n this.dropdownComponentRef.instance.filteredData = this.filteredData\n this.dropdownComponentRef.changeDetectorRef.detectChanges()\n // Force UI update\n this.cdr.detectChanges()\n }\n\n private setDropdownComponentInputs() {\n if (!this.dropdownComponentRef) return\n\n this.dropdownComponentRef.instance.filteredData = this.filteredData\n this.dropdownComponentRef.instance.ocLoading = this.ocLoading\n this.dropdownComponentRef.instance.ocDisabled = this.ocDisabled\n this.dropdownComponentRef.instance.ocNoAvailableOptionsText = this.ocNoAvailableOptionsText\n this.dropdownComponentRef.instance.ocMaxResults = this.ocMaxResults\n this.dropdownComponentRef.instance.ocTypeForMoreResultsText = this.ocTypeForMoreResultsText\n this.dropdownComponentRef.instance.ocType = this.ocType\n this.dropdownComponentRef.instance.selectedIndex = this.selectedIndex\n this.dropdownComponentRef.instance.ocOptionsMaxHeight = this.ocOptionsMaxHeight\n this.dropdownComponentRef.instance.ocOptionsWidth = this.ocOptionsWidth\n\n this.dropdownComponentRef.changeDetectorRef.detectChanges()\n // Force UI update\n this.cdr.detectChanges()\n }\n\n selectValue(value: any) {\n const foundValue = this.ocData.find((data) => data.value == value)\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n\n this.selectedIndex = -1\n this.closeOverlay()\n this.isOptionsShown = false\n this.cdr.detectChanges()\n return\n }\n\n if (this.ocType === 'counterSelect') {\n foundValue.counter = (foundValue.counter || 0) + 1\n this.emitCounterSelectChange()\n return\n }\n\n this.selectedValue = foundValue\n if (this.ocClearOnChange) {\n this.ocValue = ''\n this.filteredData = this.ocData\n } else {\n this.ocValue = foundValue.name\n }\n\n this.isOptionsShown = false\n this.selectedIndex = this.filteredData.indexOf(foundValue)\n\n this.ocChange.emit(this.selectedValue.value)\n\n this.cdr.detectChanges()\n // Force UI update\n this.cdr.detectChanges()\n }\n\n clearValue() {\n this.selectedValue = {\n name: '',\n value: null,\n }\n this.ocValue = ''\n this.filteredData = this.ocData\n\n // TODO: validate if this can be emitted here\n // this.ocChange.emit(null)\n }\n\n protected incrementCounter(option: OcAutoCompleteType): void {\n if (!option.counter) {\n option.counter = 1\n } else {\n option.counter++\n }\n this.emitCounterSelectChange()\n }\n\n protected decrementCounter(option: OcAutoCompleteType): void {\n if (option.counter && option.counter > 0) {\n option.counter--\n this.emitCounterSelectChange()\n }\n }\n\n emitCounterSelectChange(): void {\n const hasMoreThanZero = this.ocData.filter((data) => !!data.counter)\n this.ocCounterSelectChange.emit(hasMoreThanZero)\n }\n\n moveSelection(delta: number): void {\n this.selectedIndex = Math.max(\n 0,\n Math.min(this.listOptionsElements.length - 1, this.selectedIndex + delta)\n )\n\n const element = this.listOptionsElements.get(this.selectedIndex)?.nativeElement\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n }\n }\n\n protected onKeyDown(event: Event): void {\n if (this.ocEnableKeyboard) {\n const e = event as KeyboardEvent\n\n if (this.isOptionsShown) {\n if (e.key === 'ArrowUp') {\n this.moveSelection(-1)\n } else if (e.key === 'ArrowDown') {\n this.moveSelection(1)\n } else if (e.key === 'Enter') {\n this.selectValue(this.filteredData[this.selectedIndex].value)\n } else {\n return\n }\n }\n\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n ngOnDestroy(): void {\n this.closeOverlay()\n }\n}\n","<div\n [ngClass]=\"{\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix || ocHasDeleteButton,\n shui: ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui',\n }\"\n>\n <ng-content></ng-content>\n <input\n [placeholder]=\"ocPlaceholder\"\n #input\n (click)=\"toggleOptions(); ocClick.emit()\"\n type=\"text\"\n (input)=\"filterData(ocValue)\"\n [(ngModel)]=\"ocValue\"\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\n [ngClass]=\"{\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\n }\"\n [tabindex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n (keydown)=\"onKeyDown($event)\"\n />\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\n <label>\n <span [innerHTML]=\"ocPlaceholder || ''\"></span>\n @if (ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n }\n <small\n *ngIf=\"ocError\"\n class=\"error-msg\"\n >{{ ocError }}</small\n >\n <ng-content select=\"ocPrefix\"></ng-content>\n @if (ocHasDeleteButton && !ocDisabled) {\n <button\n class=\"oc-has-close-button oc suffix\"\n (click)=\"clearValue(); ocChange.emit(null)\"\n [disabled]=\"ocDisabled\"\n >\n <span class=\"material-symbols-outlined\">backspace</span>\n </button>\n }\n <ng-content select=\"ocSuffix\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'oc-profile',\n imports: [CommonModule],\n templateUrl: './oc-profile.component.html',\n styleUrl: './oc-profile.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcProfileComponent implements OnInit {\n @Input() ocUserName?: string\n @Input() ocProfilePic?: string\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\n nameInitials: string = ''\n \n ngOnInit() {\n this.getInitials()\n }\n\n getInitials() {\n if(!this.ocUserName) return\n\n const splittedName = this.ocUserName?.split(' ')\n\n const firstLetter = splittedName[0][0]\n let lastLetter = ''\n \n const lastName = splittedName[splittedName.length - 1]\n\n if(splittedName.length > 1 && lastName){\n lastLetter = lastName[0]\n }\n\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\n }\n}\n","<div class=\"oc-profile\"\n [ngClass]=\"{\n small: ocSize === 'small',\n tiny: ocSize === 'tiny',\n large: ocSize === 'large'\n }\"\n>\n <div class=\"content\">\n @if(ocProfilePic){\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\n }@else {\n <span>\n {{nameInitials}}\n </span>\n }\n </div>\n</div>","import { Component, Input } from '@angular/core';\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'oc-log',\n imports: [CommonModule, OcProfileComponent],\n templateUrl: './oc-log.component.html',\n styleUrl: './oc-log.component.scss'\n})\nexport class OcLogComponent {\n @Input() ocProfilePic?: string = ''\n @Input() ocUserName?: string = ''\n}\n","<div class=\"oc-log\">\n <div class=\"left-side\" [ngClass]=\"{\n 'has-profile': ocProfilePic || ocUserName\n }\">\n @if(ocProfilePic || ocUserName) {\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\n </oc-profile>\n } @else {\n <div class=\"dot\"></div>\n }\n </div>\n\n <div class=\"content\" [ngClass]=\"{\n 'has-profile-content': ocProfilePic || ocUserName\n }\" selector=\"[content]\">\n <ng-content></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-pagination',\n imports: [CommonModule],\n templateUrl: './oc-pagination.component.html',\n styleUrl: './oc-pagination.component.scss',\n})\nexport class OcPaginationComponent implements OnInit {\n @Input() ocPage: number = 1\n @Input() ocMaxPage?: number\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocGetPage = new EventEmitter<number>()\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngOnInit(): void {\n if (!this.ocMaxPage) this.ocMaxPage = this.ocPage\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n firstPage() {\n this.ocPage = 1\n\n this.ocGetPage.emit(this.ocPage)\n }\n\n decrementPage() {\n if (this.ocPage <= 1) return\n this.ocPage--\n\n this.ocGetPage.emit(this.ocPage)\n }\n\n incrementPage() {\n if (!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\n this.ocPage++\n\n this.ocGetPage.emit(this.ocPage)\n }\n\n lastPage() {\n if (!this.ocMaxPage) return\n this.ocPage = this.ocMaxPage\n\n this.ocGetPage.emit(this.ocPage)\n }\n}\n","<div\n class=\"oc-pagination\"\n [ngClass]=\"ocStyle\"\n>\n <p class=\"oc-pagination-text\">\n Página\n <span>{{ ocPage }}</span>\n de\n <span>{{ ocMaxPage }}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button\n (click)=\"firstPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button\n (click)=\"decrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === 1,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button\n (click)=\"incrementPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button\n (click)=\"lastPage()\"\n [ngClass]=\"{\n disabled: ocPage === ocMaxPage,\n }\"\n >\n <span class=\"material-symbols-outlined\"> keyboard_double_arrow_right </span>\n </button>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'oc-not-found',\n imports: [],\n templateUrl: './oc-not-found.component.html',\n styleUrl: './oc-not-found.component.scss'\n})\nexport class OcNotFoundComponent {\n\n}\n","<main class=\"oc-not-found\">\n <div class=\"content\">\n <div class=\"main-title\">\n <h1>404</h1>\n <span class=\"s-1\">?</span>\n <span class=\"s-2\">?</span>\n <span class=\"s-3\">?</span>\n </div>\n <div class=\"not-found-msg\">\n <h2>Página não encontrada</h2>\n <p>Não conseguimos encontrar a página que você está procurando</p>\n </div>\n </div>\n</main>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core'\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-checkbox',\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n templateUrl: './oc-checkbox.component.html',\n styleUrl: './oc-checkbox.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OcCheckboxComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class OcCheckboxComponent implements ControlValueAccessor, AfterViewInit {\n checkBoxId: string = `oc-${Math.random()}`\n\n constructor(\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Output() ocChange = new EventEmitter<boolean>()\n @Output() ocCheckedChange = new EventEmitter<boolean>();\n\n @Input() ocChecked: boolean = false\n @Input() ocSize: 'tiny' | 'small' = 'small'\n @Input() ocLabel?: string = ''\n @Input() ocName?: string = ''\n @Input() ocColor: 'purple' | 'green' = 'green'\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocDoubleClick = new EventEmitter<boolean>()\n @Input() formControl?: FormControl\n @Input() ocTabIndex?: number\n @Input() disableDoubleClickCheck = true\n @Input() ocDisabled = false\n\n private onChange?: (value: boolean) => void\n private onTouched = (): void => {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n writeValue(value: boolean): void {\n this.ocChecked = value\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n private doubleClickCounter = 0\n private timeoutId: ReturnType<typeof setTimeout> | null = null\n protected onDoubleClick(): void {\n if (this.disableDoubleClickCheck) {\n return\n }\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n this.timeoutId = null\n }\n\n if (this.doubleClickCounter === 0) {\n this.doubleClickCounter = 1\n this.timeoutId = setTimeout(() => {\n this.doubleClickCounter = 0\n this.cdr.markForCheck()\n setInterval(() => this.cdr.detectChanges(), 100)\n }, 500)\n } else {\n this.doubleClickCounter = 0\n if (this.ocDoubleClick && this.ocChecked) {\n this.ocDoubleClick.emit(this.ocChecked)\n }\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n toggleChecked(): void {\n if (this.doubleClickCounter === 1) {\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n return\n }\n this.ocChecked = !this.ocChecked\n if (this.onChange) {\n this.onChange(this.ocChecked)\n }\n this.onTouched()\n this.ocChange.emit(this.ocChecked)\n this.ocCheckedChange.emit(this.ocChecked)\n\n if (this.formControl) {\n this.formControl.setValue(this.ocChecked)\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n}\n","<button\n class=\"oc-checkbox-content cbx\"\n type=\"button\"\n (click)=\"toggleChecked(); onDoubleClick()\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n [tabIndex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n>\n <div\n class=\"oc-checkbox cbx\"\n [ngClass]=\"{\n checked: ocChecked,\n tiny: ocSize === 'tiny',\n purple: ocColor === 'purple',\n 'gray-border': ocBorderColor === 'gray',\n }\"\n >\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\n </div>\n\n @if (ocLabel) {\n <span class=\"oc-checkbox-label cbx\">\n {{ ocLabel }}\n </span>\n }\n\n <ng-content> </ng-content>\n\n @if (formControl) {\n <input\n [formControl]=\"formControl\"\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n } @else {\n <input\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n }\n</button>\n","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { OcMenuType } from '../../interfaces/oc-menu';\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\n\n@Component({\n selector: 'oc-menu',\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\n templateUrl: './oc-menu.component.html',\n styleUrls: ['./oc-menu.component.scss']\n})\nexport class OcMenuComponent implements OnInit {\n constructor(private renderer: Renderer2) {}\n\n @ViewChild('ocMenuEl') menu!: ElementRef;\n @Output() ocChange = new EventEmitter()\n @Input() ocMenu: OcMenuType[] = []\n isMenuShown: boolean = false\n buttonId?:string\n\n open() {\n this.isMenuShown = true\n\n setTimeout(() => {\n if(this.menu){\n const parentButton = this.findParentButton(this.menu.nativeElement);\n if (parentButton) {\n this.buttonId = `oc-${Math.random()}`\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\n }\n }\n }, 100)\n }\n\n ngOnInit() {\n this.closeOnClickOut()\n }\n\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\n let parent = element.parentElement;\n while (parent) {\n if (parent.tagName.toLowerCase() === 'button') {\n return parent as HTMLButtonElement;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n \n closeOnClickOut() {\n this.renderer.listen('window', 'click',(e:any)=>{\n\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\n\n if(isCheckbox) return\n else if(!this.menu) return\n\n if(this.buttonId && e.target.id !== this.buttonId) {\n this.isMenuShown = false\n return\n }\n \n })\n }\n\n changeCheckbox(name: string, checked: boolean) {\n let foundItem\n this.ocMenu.forEach(item => {\n if(item.name === name && typeof checked === 'boolean') {\n item.checked = checked\n\n foundItem = item\n }\n })\n this.ocChange.emit(foundItem)\n return foundItem\n }\n\n typeof(key: any) {\n return typeof key\n }\n}\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\n <ul>\n @for(option of ocMenu; track $index) {\n <li\n [ngClass]=\"{\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\n }\"\n >\n @if(typeof(option.checked) === 'boolean'){\n <div class=\"checkbox-opt cbx\">\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\n </div>\n }\n @if(option.icon) {\n <span class=\"material-symbols-outlined\">\n {{option.icon}}\n </span>\n } \n @if(option.callback){\n <button (click)=\"option.callback()\">{{option.name}}</button>\n }\n @if(option.url){\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\n }\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\n <span>{{option.name}}</span>\n }\n </li>\n }\n </ul>\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core'\nimport { CdkMenuModule } from '@angular/cdk/menu'\nimport { CommonModule } from '@angular/common'\nimport { OcMenuHorizType } from '../../interfaces/oc-menu-horiz'\n\n@Component({\n selector: 'oc-menu-horiz',\n imports: [CommonModule, CdkMenuModule],\n templateUrl: './oc-menu-horiz.component.html',\n styleUrls: ['./oc-menu-horiz.component.scss'],\n})\nexport class OcMenuHorizComponent implements OnInit, OnDestroy {\n constructor(\n private readonly renderer: Renderer2,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n @Input() ocMenu: OcMenuHorizType[] = []\n @Input() maxWidth?: string\n @Input() width?: string\n\n @Input() shouldCloseOnClickOut: boolean = false\n @Input() hostElement?: HTMLElement\n\n @Output() ocChange = new EventEmitter()\n\n @ViewChild('menuContainerInvis') menuElementInvisible?: ElementRef<HTMLDivElement>\n @ViewChild('menuContainer') menuElement?: ElementRef<HTMLDivElement>\n @ViewChild('itemsListInvisible') itemsListElement?: ElementRef<HTMLUListElement>\n protected isMenuShown: boolean = false\n protected showOverflowMenu = false\n protected buttonId?: string\n\n protected visibleItems: OcMenuHorizType[] = []\n protected overflowItems: OcMenuHorizType[] = []\n\n private itemWidths: number[] = []\n private isInitialized = false\n protected resizeObserver?: ResizeObserver\n private windowClickUnlisten?: () => void\n\n public open(): void {\n this.isMenuShown = true\n // reset on next tick so the opening click is ignored by the window listener\n this.cdr.detectChanges()\n if (!this.isInitialized) {\n this.initializeMenu()\n }\n }\n\n public close(): void {\n this.isMenuShown = false\n this.showOverflowMenu = false\n this.cdr.detectChanges()\n }\n\n ngOnInit(): void {\n this.closeOnClickOut()\n }\n\n ngOnDestroy(): void {\n if (this.windowClickUnlisten) this.windowClickUnlisten()\n this.resizeObserver?.disconnect()\n }\n\n private closeOnClickOut(): void {\n // If already listening, don't register again\n if (this.windowClickUnlisten) return\n\n this.windowClickUnlisten = this.renderer.listen('window', 'click', (e: MouseEvent) => {\n // Only act if user wants this behavior\n if (!this.shouldCloseOnClickOut) return\n\n // Only act when menu is open\n if (!this.isMenuShown) return\n\n const target = e.target as HTMLElement | null\n if (!target) return\n\n // If click is inside the menu, ignore\n if (this.menuElement && this.menuElement.nativeElement.contains(target)) {\n return\n }\n\n if (this.hostElement && this.hostElement.contains(target)) {\n return\n }\n\n // Otherwise it's an outside click -> close (respect shouldCloseOnClick)\n this.showOverflowMenu = false\n if (this.shouldCloseOnClickOut) {\n this.isMenuShown = false\n }\n // note: we don't unlisten here because we want to handle future clicks;\n // unlisten is done in ngOnDestroy.\n this.cdr.detectChanges()\n })\n }\n\n private measureItems(): void {\n if (!this.itemsListElement) {\n return\n }\n\n const listElement = this.itemsListElement.nativeElement\n const items = listElement.querySelectorAll('li:not(.overflow-menu-item)')\n\n this.itemWidths = Array.from(items).map((item) => {\n return (item as HTMLElement).offsetWidth\n })\n\n this.calculateVisibleItems()\n }\n\n private setupResizeObserver(): void {\n if (!this.menuElementInvisible) {\n return\n }\n this.resizeObserver = new ResizeObserver(() => {\n this.measureItems()\n })\n this.resizeObserver.observe(this.menuElementInvisible.nativeElement)\n }\n\n private initializeMenu(): void {\n this.measureItems()\n this.setupResizeObserver()\n this.isInitialized = true\n }\n\n private calculateVisibleItems(): void {\n if (!this.menuElementInvisible || this.itemWidths.length === 0) {\n return\n }\n\n const containerWidth = this.menuElementInvisible.nativeElement.offsetWidth\n\n // Store this width to compare in ResizeObserver\n\n const overflowButtonWidth = 40\n const padding = 15\n\n let availableWidth = containerWidth - padding\n let visibleCount = 0\n let currentWidth = 0\n\n const totalWidth = this.itemWidths.reduce((sum, width) => sum + width, 0)\n const needsOverflow = totalWidth > availableWidth\n\n if (needsOverflow) {\n availableWidth -= overflowButtonWidth\n }\n\n for (let i = 0; i < this.itemWidths.length; i++) {\n if (currentWidth + this.itemWidths[i] <= availableWidth) {\n currentWidth += this.itemWidths[i]\n visibleCount++\n } else {\n break\n }\n }\n\n if (needsOverflow && visibleCount === this.ocMenu.length) {\n visibleCount--\n }\n\n // Only update if counts actually changed\n\n this.visibleItems = this.ocMenu.slice(0, visibleCount)\n this.overflowItems = this.ocMenu.slice(visibleCount)\n\n // Batch the change detection\n requestAnimationFrame(() => {\n this.cdr.detectChanges()\n })\n }\n\n protected toggleOverflowMenu(event: Event): void {\n event.stopPropagation()\n this.showOverflowMenu = !this.showOverflowMenu\n }\n\n protected handleOverflowItemClick(callback?: () => void): void {\n if (callback) {\n callback()\n }\n }\n}\n","@if (isMenuShown && ocMenu.length > 0) {\n <div\n class=\"oc-menu-horiz\"\n [style.width]=\"'fit-content'\"\n #menuContainer\n >\n <ul>\n @if (visibleItems.length === 0 && overflowItems.length === 0) {\n @for (option of ocMenu; track $index) {\n <li\n [ngStyle]=\"{\n 'background-color': option.backgroundColor,\n }\"\n >\n @if (option.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.icon }}\n </span>\n }\n @if (option.callback) {\n <button\n (click)=\"option.callback()\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.name }}\n </button>\n }\n @if (option.url) {\n <a\n [href]=\"option.url\"\n [target]=\"option.targetBlank ? '_blank' : ''\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</a\n >\n }\n @if (!option.callback && !option.url) {\n <span\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</span\n >\n }\n </li>\n }\n }\n\n @for (option of visibleItems; track $index) {\n <li\n [ngStyle]=\"{\n 'background-color': option.backgroundColor,\n }\"\n >\n @if (option.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.icon }}</span\n >\n }\n @if (option.callback) {\n <button\n (click)=\"option.callback()\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.name }}\n </button>\n }\n @if (option.url) {\n <a\n [href]=\"option.url\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n [target]=\"option.targetBlank ? '_blank' : ''\"\n >{{ option.name }}</a\n >\n }\n @if (!option.callback && !option.url) {\n <span\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</span\n >\n }\n </li>\n }\n\n @if (overflowItems.length > 0) {\n <li class=\"overflow-menu-item\">\n <button\n (click)=\"toggleOverflowMenu($event)\"\n class=\"overflow-button\"\n >\n <span class=\"material-symbols-outlined\">more_horiz</span>\n </button>\n\n @if (showOverflowMenu) {\n <div class=\"overflow-dropdown\">\n <ul>\n @for (option of overflowItems; track $index) {\n <li\n [ngStyle]=\"{\n 'background-color': option.backgroundColor,\n }\"\n >\n @if (option.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.icon }}</span\n >\n }\n @if (option.callback) {\n <button\n (click)=\"handleOverflowItemClick(option.callback)\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n >\n {{ option.name }}\n </button>\n }\n @if (option.url) {\n <a\n [href]=\"option.url\"\n [ngStyle]=\"{\n color: option.color,\n }\"\n [target]=\"option.targetBlank ? '_blank' : ''\"\n >{{ option.name }}</a\n >\n }\n @if (!option.callback && !option.url) {\n <span\n [ngStyle]=\"{\n color: option.color,\n }\"\n >{{ option.name }}</span\n >\n }\n </li>\n }\n </ul>\n </div>\n }\n </li>\n }\n </ul>\n </div>\n\n <!-- Invisible Element used to calculate the size of elements -->\n <div\n class=\"oc-menu-horiz\"\n [style.max-width]=\"maxWidth\"\n [style.width]=\"width\"\n #menuContainerInvis\n [ngStyle]=\"{ visibility: 'hidden', 'z-index': '-1', opacity: 0 }\"\n [style.max-width]=\"maxWidth\"\n [style.width]=\"width\"\n >\n <ul\n #itemsListInvisible\n [ngStyle]=\"{ visibility: 'hidden', 'z-index': '-1', opacity: 0 }\"\n >\n @for (option of ocMenu; track $index) {\n <li>\n @if (option.icon) {\n <span class=\"material-symbols-outlined\">\n {{ option.icon }}\n </span>\n }\n @if (option.callback) {\n <button>{{ option.name }}</button>\n }\n @if (option.url) {\n <a>{{ option.name }}</a>\n }\n @if (!option.callback && !option.url) {\n <span>{{ option.name }}</span>\n }\n </li>\n }\n </ul>\n </div>\n}\n","import { CommonModule } from '@angular/common'\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\nimport { OcToastService } from '../../services/oc-toast.service'\n\n@Component({\n selector: 'oc-toast',\n imports: [CommonModule],\n templateUrl: './oc-toast.component.html',\n styleUrl: './oc-toast.component.scss',\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class OcToastComponent {\n constructor(public toast: OcToastService) {}\n}\n","<div\n class=\"toast\"\n [ngClass]=\"{\n 'close-toast': toast.currentToast.counter === 1,\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\n animation: toast.currentToast.hasAnimation\n }\"\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\n>\n <header>\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\n <h4 class=\"status\">\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\n </h4>\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\n <span class=\"material-symbols-outlined\">close</span>\n </button>\n </header>\n <p>{{ toast.currentToast.message }}</p>\n</div>\n\n<ng-template #iconTemplate>\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\n >error</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\n >check_circle</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\n >info</span\n >\n\n <svg *ngIf=\"['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase())\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><style>rect{fill:#00DDA3}.spinner_zWVm{animation:spinner_5QiW 1.2s linear infinite,spinner_PnZo 1.2s linear infinite}.spinner_gfyD{animation:spinner_5QiW 1.2s linear infinite,spinner_4j7o 1.2s linear infinite;animation-delay:.1s}.spinner_T5JJ{animation:spinner_5QiW 1.2s linear infinite,spinner_fLK4 1.2s linear infinite;animation-delay:.1s}.spinner_E3Wz{animation:spinner_5QiW 1.2s linear infinite,spinner_tDji 1.2s linear infinite;animation-delay:.2s}.spinner_g2vs{animation:spinner_5QiW 1.2s linear infinite,spinner_CMiT 1.2s linear infinite;animation-delay:.2s}.spinner_ctYB{animation:spinner_5QiW 1.2s linear infinite,spinner_cHKR 1.2s linear infinite;animation-delay:.2s}.spinner_BDNj{animation:spinner_5QiW 1.2s linear infinite,spinner_Re6e 1.2s linear infinite;animation-delay:.3s}.spinner_rCw3{animation:spinner_5QiW 1.2s linear infinite,spinner_EJmJ 1.2s linear infinite;animation-delay:.3s}.spinner_Rszm{animation:spinner_5QiW 1.2s linear infinite,spinner_YJOP 1.2s linear infinite;animation-delay:.4s}@keyframes spinner_5QiW{0%,50%{width:7.33px;height:7.33px}25%{width:1.33px;height:1.33px}}@keyframes spinner_PnZo{0%,50%{x:1px;y:1px}25%{x:4px;y:4px}}@keyframes spinner_4j7o{0%,50%{x:8.33px;y:1px}25%{x:11.33px;y:4px}}@keyframes spinner_fLK4{0%,50%{x:1px;y:8.33px}25%{x:4px;y:11.33px}}@keyframes spinner_tDji{0%,50%{x:15.66px;y:1px}25%{x:18.66px;y:4px}}@keyframes spinner_CMiT{0%,50%{x:8.33px;y:8.33px}25%{x:11.33px;y:11.33px}}@keyframes spinner_cHKR{0%,50%{x:1px;y:15.66px}25%{x:4px;y:18.66px}}@keyframes spinner_Re6e{0%,50%{x:15.66px;y:8.33px}25%{x:18.66px;y:11.33px}}@keyframes spinner_EJmJ{0%,50%{x:8.33px;y:15.66px}25%{x:11.33px;y:18.66px}}@keyframes spinner_YJOP{0%,50%{x:15.66px;y:15.66px}25%{x:18.66px;y:18.66px}}</style><rect class=\"spinner_zWVm\" x=\"1\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_gfyD\" x=\"8.33\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_T5JJ\" x=\"1\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_E3Wz\" x=\"15.66\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_g2vs\" x=\"8.33\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_ctYB\" x=\"1\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_BDNj\" x=\"15.66\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_rCw3\" x=\"8.33\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_Rszm\" x=\"15.66\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/></svg>\n \n\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-toggle',\n imports: [CommonModule],\n templateUrl: './oc-toggle.component.html',\n styleUrl: './oc-toggle.component.scss'\n})\nexport class OcToggleComponent {\n _ocChecked: boolean = false\n @Input() ocDisabled: boolean = false\n\n @Input() ocSize: 'medium' | 'large' = 'medium'\n @Input() set ocChecked(value: boolean) {\n this._ocChecked = value\n this.ocCheckedChange.emit(this._ocChecked)\n }\n\n get ocChecked() {\n return this._ocChecked\n }\n\n @Input() ocColor: 'purple' | 'green' = 'green'\n\n @Output() ocCheckedChange = new EventEmitter<boolean>()\n\n toggleChecked() {\n this.ocChecked = !this.ocChecked\n }\n}\n","<label\n class=\"switch\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n }\"\n>\n <input\n [checked]=\"ocChecked\"\n (click)=\"toggleChecked()\"\n type=\"checkbox\"\n [disabled]=\"ocDisabled\"\n />\n <span\n class=\"slider round\"\n [ngClass]=\"[ocColor]\"\n ></span>\n</label>\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-step',\n imports: [CommonModule],\n templateUrl: './oc-step.component.html',\n styleUrl: './oc-step.component.scss'\n})\nexport class OcStepComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n\n @Input() ocIsActive: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCompleted: boolean = false\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n @Input() ocExpandable?: boolean = true\n\n @Output() ocClick = new EventEmitter()\n stepIndex: number = 0\n selectedIndex: number = 0\n lastIndex: number = 0\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n protected handleStepClick(stepIndex: number): void {\n if (!this.ocExpandable) {\n return\n }\n if (stepIndex !== this.selectedIndex && (stepIndex <= this.selectedIndex || this.ocCompleted)) {\n this.selectStep(stepIndex)\n this.ocClick.emit()\n }\n }\n\n @Input() selectStep!: (index: number) => void\n}\n","<div class=\"oc-step\" (click)=\"\n handleStepClick(stepIndex)\n \" [ngClass]=\"{\n 'oc-not-selected': stepIndex !== selectedIndex,\n 'shui': ocStyle === 'shui',\n 'shui-step': ocStyle === 'shui',\n 'oc-expandable': ocExpandable\n}\">\n <div class=\"left-side\">\n <div class=\"step-number\" [ngClass]=\"{\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green',\n 'history-point': ocType === 'history'\n }\">\n @if(ocType !== 'history') {\n <span>{{stepIndex! + 1}}</span>\n }\n </div>\n <h2 [ngClass]=\"{\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\n }\">{{ocTitle}}</h2>\n </div>\n <div class=\"oc-content\" [ngClass]=\"{\n 'expanded': ocIsActive || !ocExpandable,\n 'oc-expandable': ocExpandable,\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\n 'oc-left-border': stepIndex !== lastIndex,\n 'history-point': ocType === 'history'\n }\">\n @if (ocIsActive || !ocExpandable) {\n <ng-content></ng-content>\n }\n </div>\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\nimport { OcStepComponent } from '../oc-step/oc-step.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-stepper',\n imports: [],\n templateUrl: './oc-stepper.component.html',\n styleUrl: './oc-stepper.component.scss'\n})\nexport class OcStepperComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\n @Input() ocAllowNavigation: boolean = false\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCurrentIndex: number = 0\n @Input() ocSaveCompletedSteps: boolean = true\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n\n private completedSteps: number[] = []\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.setStepsValues()\n this.selectStep(this.ocCurrentIndex)\n this.setCompletedSteps()\n }\n\n private setCompletedSteps(): void {\n if (!this.ocSaveCompletedSteps) {\n return\n }\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\n this.completedSteps.push(i)\n }\n }\n\n setStepsValues(): void {\n this.ocSteps.forEach((step, i) => {\n step.stepIndex = i\n step.ocColor = this.ocColor\n step.lastIndex = this.ocSteps.length - 1\n step.ocStyle = this.ocStyle\n step.ocType = this.ocType\n\n step.selectStep = (index: number) => this.selectStep(index)\n })\n }\n\n selectStep(index: number): void {\n this.ocSteps.forEach((step, i) => {\n step.ocStyle = this.ocStyle\n\n if (this.completedSteps.includes(i)) {\n step.ocCompleted = true\n }\n if (i !== index) {\n step.ocIsActive = false\n step.selectedIndex = index\n return\n }\n step.ocIsActive = true\n this.ocCurrentIndex = index\n step.selectedIndex = this.ocCurrentIndex\n this.setCompletedSteps()\n })\n return\n }\n\n nextStep(event: Event): void {\n event.stopPropagation()\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\n return\n }\n this.selectStep(this.ocCurrentIndex + 1)\n }\n\n previousStep(event: Event): void {\n event.stopPropagation()\n if (!this.ocCurrentIndex) {\n return\n }\n this.selectStep(this.ocCurrentIndex - 1)\n }\n}\n","<div class=\"oc-stepper\">\n <ng-content></ng-content>\n</div>","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-tab',\n imports: [],\n templateUrl: './oc-tab.component.html',\n styleUrl: './oc-tab.component.scss'\n})\nexport class OcTabComponent {\n @Input() ocTitle: string = ''\n @Input() ocIsActive: boolean = false\n\n tabIndex: number = 0\n}\n","@if (ocIsActive) {\n <ng-content></ng-content>\n}","import {\n Component,\n ContentChildren,\n QueryList,\n AfterContentInit,\n ChangeDetectorRef,\n OnDestroy,\n EventEmitter,\n Output,\n Input,\n} from '@angular/core'\nimport { Subscription } from 'rxjs'\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\nimport { CommonModule } from '@angular/common'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-tabs',\n imports: [CommonModule],\n templateUrl: './oc-tabs.component.html',\n styleUrl: './oc-tabs.component.scss'\n})\nexport class OcTabsComponent implements AfterContentInit, OnDestroy {\n constructor(private styleThemeService: StyleThemeService, private cdr: ChangeDetectorRef) {}\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\n private _ocStyle: OcStyleThemeType = 'otimus'\n @Input()\n set ocStyle(value: OcStyleThemeType) {\n this._ocStyle = value\n }\n get ocStyle(): OcStyleThemeType {\n return this._ocStyle || this.styleThemeService.getStyleTheme() || 'otimus'\n }\n @Output() ocClick = new EventEmitter<void>()\n\n activeTabIndex: number = 0\n private tabsChangesSubscription?: Subscription\n\n ngAfterContentInit(): void {\n this.selectTab(0)\n\n // Listen for changes in tabs (when tabs are dynamically added/removed with @if blocks)\n this.tabsChangesSubscription = this.ocTabs.changes.subscribe(() => {\n // Schedule updates after current change detection cycle\n Promise.resolve().then(() => {\n this.updateTabIndices()\n // If the active tab was removed, select the last available tab\n if (this.activeTabIndex >= this.ocTabs.length) {\n this.selectTab(Math.max(0, this.ocTabs.length - 1))\n } else {\n // Refresh the current tab selection to ensure correct indices\n this.selectTab(this.activeTabIndex)\n }\n })\n })\n }\n\n ngOnDestroy(): void {\n this.tabsChangesSubscription?.unsubscribe()\n }\n\n updateTabIndices(): void {\n this.ocTabs.toArray().forEach((tab, i) => {\n tab.tabIndex = i\n })\n }\n\n selectTab(index: number): void {\n this.ocTabs.toArray().forEach((tab, i) => {\n tab.tabIndex = i\n tab.ocIsActive = i === index\n })\n this.activeTabIndex = index\n this.cdr.markForCheck()\n }\n\n handleTabClick(): void {\n this.ocClick.emit()\n }\n}\n","<div class=\"oc-tabs\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n}\">\n <div class=\"row\">\n @for(tab of ocTabs; track $index) {\n <button [ngClass]=\"{\n 'oc-selected': tab.tabIndex === activeTabIndex\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex); \n handleTabClick()\" type=\"button\">{{tab.ocTitle}}</button>\n }\n <div class=\"row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n </div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-accordion-item',\n imports: [CommonModule],\n templateUrl: './oc-accordion-item.component.html',\n styleUrl: './oc-accordion-item.component.scss'\n})\nexport class OcAccordionItemComponent {\n @Input() ocIsOpen: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocToggle = new EventEmitter<boolean>()\n @Output() closeAllItems = new EventEmitter()\n\n protected toggle(): void {\n if (this.ocIsOpen) {\n this.ocIsOpen = !this.ocIsOpen\n this.ocToggle.emit(this.ocIsOpen)\n return\n }\n this.closeAllItems.emit()\n this.ocIsOpen = !this.ocIsOpen\n this.ocToggle.emit(this.ocIsOpen)\n }\n\n}\n","<div class=\"oc-accordion-item\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n}\">\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\n keyboard_control_key\n </span>\n </div>\n @if (ocIsOpen) {\n <div class=\"oc-content\" [ngClass]=\"{\n open: ocIsOpen\n }\">\n <ng-content></ng-content>\n </div>\n }\n</div>","import { AfterViewInit, Component, ContentChildren, Input, QueryList } from '@angular/core'\nimport { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component'\nimport { CommonModule } from '@angular/common'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-accordion',\n imports: [CommonModule, OcAccordionItemComponent],\n templateUrl: './oc-accordion.component.html',\n styleUrl: './oc-accordion.component.scss'\n})\nexport class OcAccordionComponent implements AfterViewInit {\n @ContentChildren(OcAccordionItemComponent) items!: QueryList<OcAccordionItemComponent>\n @Input() ocAlternate: boolean = true\n @Input() ocCurrentIndex?: number\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.items.forEach((item, i) => {\n item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n item.closeAllItems.subscribe(() => this.closeAllItems())\n })\n }\n\n closeAllItems(): void {\n if (this.ocAlternate) {\n this.items.forEach((item) => (item.ocIsOpen = false))\n }\n }\n\n alternateToIndex(index: number): void {\n this.items.forEach((item, i) => {\n if (i === index) {\n item.ocIsOpen = true\n return\n }\n item.ocIsOpen = false\n })\n }\n}\n","<div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-message',\n imports: [CommonModule],\n templateUrl: './oc-message.component.html',\n styleUrl: './oc-message.component.scss',\n})\nexport class OcMessageComponent {\n @Input() isOpen: boolean = true\n @Input() ocColor: 'default' | 'green' | 'red' | 'purple' = 'default'\n @Input() ocClosable: boolean = false\n @Input() ocIcon: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n private _ocTitle: string = ''\n @Input()\n set ocTitle(value: string) {\n this._ocTitle = value.trim()\n }\n get ocTitle(): string {\n return this._ocTitle\n }\n\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n open() {\n this.isOpen = true\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close() {\n this.isOpen = false\n this.ocOnClose.emit(this.isOpen)\n }\n}\n","@if (!ocClosable || isOpen) {\n <div\n class=\"oc-message-bg\"\n [class.shui]=\"ocStyle === 'shui'\"\n [ngClass]=\"'oc-' + ocColor\"\n >\n <div\n class=\"oc-icon oc-message-header\"\n [ngClass]=\"'oc-' + ocColor\"\n >\n <div class=\"title\">\n @if (ocIcon) {\n <span class=\"material-symbols-outlined\">{{ ocIcon }}</span>\n } @else {\n <span>\n <ng-content select=\"[ocIcon]\"></ng-content>\n </span>\n }\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n </div>\n\n @if (ocClosable) {\n <button\n (click)=\"close()\"\n class=\"oc-close-btn\"\n >\n <span\n class=\"material-symbols-outlined md-18\"\n ocTooltip\n content=\"Fechar\"\n ocSide=\"bottom\"\n >\n close\n </span>\n </button>\n }\n </div>\n <div class=\"oc-main-content\">\n <div class=\"oc-message-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n}\n","import {\n Component,\n Input,\n ViewChild,\n ElementRef,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core'\nimport monthsData from './data/months.json'\n\ninterface MonthsData {\n [key: string]: { [key: string]: string }\n}\n\nconst months: MonthsData = monthsData as unknown as MonthsData\n\n@Component({\n selector: 'oc-date-select',\n standalone: true,\n templateUrl: './oc-date-select.component.html',\n styleUrl: './oc-date-select.component.scss',\n})\nexport class OcDateSelectComponent implements AfterViewInit {\n @Input() ocValue: string = this.getCurrentDate()\n @Input() ocType: 'day' | 'month' | 'year' = 'day'\n @Input() ocSkipType: 'day' | 'week' | 'month' | 'year' = 'day'\n @Output() ocValueChange = new EventEmitter<string>()\n\n @Output() ocChange = new EventEmitter<string>()\n\n @Input() ocLanguage: 'ptbr' | 'enus' | 'esch' = 'ptbr'\n @Input() ocMaxDate: string | null = null\n @Input() ocMinDate: string | null = null\n\n @ViewChild('dateInput') dateInput!: ElementRef<HTMLInputElement>\n private intervalId: ReturnType<typeof setInterval> | null = null\n\n ngAfterViewInit(): void {\n if (this.ocSkipType !== this.ocType) {\n this.ocSkipType = this.ocType\n }\n }\n\n private getCurrentDate(): string {\n const today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0')\n const yyyy = today.getFullYear()\n return `${yyyy}-${mm}-${dd}`\n }\n\n protected getViewDate(): string {\n const [year, month, day] = this.ocValue.split('-')\n const monthName = months[this.ocLanguage][month]\n let intersection = ' de '\n if (this.ocLanguage === 'enus') {\n intersection = ' '\n }\n if (this.ocType === 'year') {\n return year\n }\n if (this.ocType === 'month') {\n return `${monthName.toLowerCase()}${intersection}${year}`\n }\n return `${day}${intersection}${monthName.toLowerCase()}${intersection}${year}`\n }\n\n private updateValue(newValue: string): void {\n this.ocValue = newValue\n this.ocValueChange.emit(this.ocValue) // two-way binding\n this.ocChange.emit(this.ocValue) // evento custom\n }\n\n protected increaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() + 1)\n // sum 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() + 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() + 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected decreaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() - 1)\n // sub 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() - 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() - 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected startHold(direction: 'increase' | 'decrease'): void {\n this.stopHold()\n if (direction === 'increase') {\n this.increaseDate()\n this.intervalId = setInterval(() => this.increaseDate(), 150)\n } else {\n this.decreaseDate()\n this.intervalId = setInterval(() => this.decreaseDate(), 150)\n }\n }\n\n protected stopHold(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId)\n this.intervalId = null\n }\n }\n\n protected openDatePicker(): void {\n if (this.dateInput.nativeElement.showPicker) {\n this.dateInput.nativeElement.showPicker()\n } else {\n this.dateInput.nativeElement.click()\n }\n }\n\n protected onDateChange(event: Event): void {\n const input = event.target as HTMLInputElement\n this.updateValue(input.value)\n }\n}\n","<div class=\"date-select\">\n <button\n class=\"left-btn\"\n (mousedown)=\"startHold('decrease')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('decrease')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_back_ios</span>\n </button>\n\n <div class=\"date-text-wrapper\">\n <p\n class=\"date-text\"\n (click)=\"openDatePicker()\"\n >\n {{ getViewDate() }}\n </p>\n @let type = ocType === 'day' ? 'date' : ocType;\n <input\n #dateInput\n [type]=\"type\"\n [max]=\"ocMaxDate\"\n [min]=\"ocMinDate\"\n (change)=\"onDateChange($event)\"\n />\n </div>\n\n <button\n class=\"right-btn\"\n (mousedown)=\"startHold('increase')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('increase')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_forward_ios</span>\n </button>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcMenuType } from '../../interfaces/oc-menu'\nimport { OcMenuComponent } from '../oc-menu/oc-menu.component'\n\n@Component({\n selector: 'oc-button-menu',\n standalone: true,\n imports: [CommonModule, OcMenuComponent],\n templateUrl: './oc-button-menu.component.html',\n styleUrl: './oc-button-menu.component.scss',\n})\nexport class OcButtonMenuComponent {\n @Input() ocSize: 'tiny' | 'small' | 'medium' | 'large' = 'medium'\n @Input() ocColor: 'purple' | 'green' | 'lightGray' = 'lightGray'\n @Input() ocType: 'button' | 'submit' = 'button'\n @Input() ocMenu: OcMenuType[] = []\n @Output() ocClick = new EventEmitter()\n @Output() ocChange = new EventEmitter()\n\n protected getStyleClass(): object {\n return {\n tiny: this.ocSize === 'tiny',\n small: this.ocSize === 'small',\n medium: this.ocSize === 'medium',\n large: this.ocSize === 'large',\n 'p-1': this.ocColor === 'purple',\n 'gray-1': this.ocColor === 'lightGray',\n 'g-1': this.ocColor === 'green',\n }\n }\n}\n","<div class=\"oc-button-menu\" [ngClass]=\"getStyleClass()\">\n <button class=\"oc button left-btn\" [type]=\"ocType\" (click)=\"ocClick.emit($event)\">\n <ng-content></ng-content>\n </button>\n <button (click)=\"menu.open()\" class=\"oc button menu right-btn\" [ngClass]=\"getStyleClass()\">\n <span class=\"material-symbols-outlined\">\n arrow_drop_down\n </span>\n <oc-menu class=\"oc-menu\" #menu [ocMenu]=\"ocMenu\" (ocChange)=\"ocChange.emit($event)\"></oc-menu>\n </button>\n</div>","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-progress',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-progress.component.html',\n styleUrl: './oc-progress.component.scss',\n})\nexport class OcProgressComponent implements AfterViewInit {\n @Input() ocWidth: string = '100%'\n @Input() ocColor: 'purple' | 'green' | 'orange' = 'purple'\n @Input() ocGradient: boolean = true\n @Input() ocStyle: 'otimus' | 'shui' = 'otimus'\n\n @Input() ocPercentage: number = 0\n\n ngAfterViewInit(): void {\n if (this.ocStyle === 'shui') {\n this.ocColor = 'orange'\n }\n }\n}\n","<div class=\"oc-progress-container\">\n <div\n class=\"oc-progress\"\n [ngStyle]=\"{\n width: ocWidth || '100%',\n }\"\n >\n <div\n class=\"fill\"\n [ngClass]=\"{\n purple: ocColor === 'purple',\n green: ocColor === 'green',\n orange: ocColor === 'orange',\n gradient: ocGradient,\n }\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n ></div>\n </div>\n\n <div\n class=\"percentage-tooltip\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n >\n <span class=\"tooltip\">{{ ocPercentage }}%</span>\n </div>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core'\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-overlay',\n imports: [CommonModule],\n templateUrl: './oc-overlay.component.html',\n styleUrl: './oc-overlay.component.scss',\n})\nexport class OcOverlayComponent implements AfterViewInit, OnDestroy {\n @Input() ocContent: TemplateRef<any> | null = null\n @Input() ocTrigger: 'click' | 'hover' = 'click'\n @Input() ocPosition: 'center' | 'top' | 'bottom' | 'left' | 'right' = 'center'\n @Input() ocShowBackdrop: boolean = true\n @Input() ocCloseOnBackdropClick: boolean = true\n @Input() ocWidth: string | number = 'auto'\n @Input() ocHeight: string | number = 'auto'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocDisabled: boolean = false\n @Input() ocZIndex: number = 1000\n\n @Output() ocOpen = new EventEmitter<void>()\n @Output() ocClose = new EventEmitter<void>()\n @Output() ocToggle = new EventEmitter<boolean>()\n\n @ViewChild('trigger') trigger!: ElementRef\n @ViewChild('overlayTemplate') overlayTemplate!: TemplateRef<any>\n\n private overlayRef: OverlayRef | null = null\n private portal: TemplatePortal<any> | null = null\n private isOverlayOpen = false\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngAfterViewInit(): void {\n this.setupEventListeners()\n }\n\n ngOnDestroy(): void {\n this.closeOverlay()\n }\n\n private setupEventListeners(): void {\n if (!this.trigger || this.ocDisabled) return\n\n const triggerElement = this.trigger.nativeElement\n\n if (this.ocTrigger === 'click') {\n triggerElement.addEventListener('click', (event: any) => {\n event.stopPropagation()\n this.toggleOverlay()\n })\n } else if (this.ocTrigger === 'hover') {\n triggerElement.addEventListener('mouseenter', () => {\n this.openOverlay()\n })\n\n triggerElement.addEventListener('mouseleave', () => {\n // Add a small delay before closing to allow moving into the overlay\n setTimeout(() => {\n this.closeOverlay()\n }, 100)\n })\n }\n }\n\n toggleOverlay(): void {\n if (this.isOverlayOpen) {\n this.closeOverlay()\n } else {\n this.openOverlay()\n }\n }\n\n openOverlay(): void {\n if (this.isOverlayOpen || this.ocDisabled || !this.overlayTemplate) {\n return\n }\n\n const overlayConfig = this.getOverlayConfig()\n this.overlayRef = this.overlay.create(overlayConfig)\n this.portal = new TemplatePortal(this.overlayTemplate, this.viewContainerRef)\n\n this.overlayRef.attach(this.portal)\n this.isOverlayOpen = true\n\n // Handle backdrop click\n if (this.ocShowBackdrop && this.ocCloseOnBackdropClick) {\n this.overlayRef.backdropClick().subscribe(() => {\n this.closeOverlay()\n })\n }\n\n this.ocOpen.emit()\n this.ocToggle.emit(true)\n }\n\n closeOverlay(): void {\n if (!this.overlayRef || !this.isOverlayOpen) {\n return\n }\n\n this.overlayRef.detach()\n this.overlayRef.dispose()\n this.overlayRef = null\n this.portal = null\n this.isOverlayOpen = false\n\n this.ocClose.emit()\n this.ocToggle.emit(false)\n }\n\n private getOverlayConfig(): OverlayConfig {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.trigger.nativeElement)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(true)\n .withPush(false)\n\n return {\n positionStrategy,\n hasBackdrop: this.ocShowBackdrop,\n backdropClass: this.ocShowBackdrop ? undefined : 'cdk-overlay-transparent-backdrop',\n panelClass: ['oc-overlay-panel', `oc-overlay-${this.ocStyle}`],\n width: this.parseSize(this.ocWidth),\n height: this.parseSize(this.ocHeight),\n disposeOnNavigation: true,\n }\n }\n\n private getPositions() {\n const basePositions = [\n {\n originX: 'center' as const,\n originY: 'bottom' as const,\n overlayX: 'center' as const,\n overlayY: 'top' as const,\n offsetX: 0,\n offsetY: 8,\n },\n {\n originX: 'center' as const,\n originY: 'top' as const,\n overlayX: 'center' as const,\n overlayY: 'bottom' as const,\n offsetX: 0,\n offsetY: -8,\n },\n {\n originX: 'end' as const,\n originY: 'center' as const,\n overlayX: 'start' as const,\n overlayY: 'center' as const,\n offsetX: -8,\n offsetY: 0,\n },\n {\n originX: 'start' as const,\n originY: 'center' as const,\n overlayX: 'end' as const,\n overlayY: 'center' as const,\n offsetX: 8,\n offsetY: 0,\n },\n ]\n\n // Position-specific configurations\n switch (this.ocPosition) {\n case 'top':\n return [\n {\n originX: 'center' as const,\n originY: 'top' as const,\n overlayX: 'center' as const,\n overlayY: 'bottom' as const,\n offsetX: 0,\n offsetY: -8,\n },\n basePositions[0],\n ]\n case 'bottom':\n return [basePositions[0], basePositions[1]]\n case 'left':\n return [\n {\n originX: 'start' as const,\n originY: 'center' as const,\n overlayX: 'end' as const,\n overlayY: 'center' as const,\n offsetX: -8,\n offsetY: 0,\n },\n basePositions[2],\n ]\n case 'right':\n return [basePositions[2], basePositions[3]]\n case 'center':\n default:\n return basePositions\n }\n }\n\n private parseSize(size: string | number): string | undefined {\n if (size === 'auto' || size === undefined) {\n return undefined\n }\n return typeof size === 'number' ? `${size}px` : size\n }\n}\n","<!-- Trigger element -->\n<div #trigger class=\"oc-overlay-trigger\" [ngClass]=\"{\n 'disabled': ocDisabled,\n 'shui': ocStyle === 'shui'\n}\">\n <ng-content select=\"[ocTrigger]\"></ng-content>\n</div>\n\n<!-- Template for overlay content -->\n<ng-template #overlayTemplate>\n <div class=\"oc-overlay-content\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n }\">\n <ng-content></ng-content>\n </div>\n</ng-template>","/*\n * Public API Surface of otimus-library\n */\n\nexport * from './lib/otimus-library.service'\nexport * from './lib/otimus-library.component'\n\nexport * from './lib/services/oc-toast.service'\nexport * from './lib/services/style-theme.service'\n// export * from './lib/services/internationalization.service'\n\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\nexport * from './lib/directives/oc-menu-horiz/oc-menu-horiz.directive'\n\nexport * from './lib/components/oc-badge/oc-badge.component'\nexport * from './lib/components/oc-card/oc-card.component'\nexport * from './lib/components/oc-filter/oc-filter.component'\nexport * from './lib/components/oc-input/oc-input.component'\nexport * from './lib/components/oc-modal/oc-modal.component'\nexport * from './lib/components/oc-key-value/oc-key-value.component'\nexport * from './lib/components/oc-chip/oc-chip.component'\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\nexport * from './lib/components/oc-profile/oc-profile.component'\nexport * from './lib/components/oc-log/oc-log.component'\nexport * from './lib/components/oc-pagination/oc-pagination.component'\nexport * from './lib/components/oc-not-found/oc-not-found.component'\nexport * from './lib/components/oc-menu/oc-menu.component'\nexport * from './lib/components/oc-menu-horiz/oc-menu-horiz.component'\nexport * from './lib/components/oc-toast/oc-toast.component'\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\nexport * from './lib/components/oc-toggle/oc-toggle.component'\nexport * from './lib/components/oc-stepper/oc-stepper.component'\nexport * from './lib/components/oc-step/oc-step.component'\nexport * from './lib/components/oc-tabs/oc-tabs.component'\nexport * from './lib/components/oc-tab/oc-tab.component'\nexport * from './lib/components/oc-accordion/oc-accordion.component'\nexport * from './lib/components/oc-accordion-item/oc-accordion-item.component'\nexport * from './lib/components/oc-message/oc-message.component'\nexport * from './lib/components/oc-date-select/oc-date-select.component'\nexport * from './lib/components/oc-button-menu/oc-button-menu.component'\nexport * from './lib/components/oc-progress/oc-progress.component'\nexport * from './lib/components/oc-overlay/oc-overlay.component'\n\nexport type * from './lib/interfaces/oc-autocomplete'\nexport type * from './lib/interfaces/oc-menu'\nexport type * from './lib/interfaces/oc-menu-horiz'\nexport type * from './lib/interfaces/oc-style-theme'\nexport type * from './lib/interfaces/oc-table'\nexport type * from './lib/interfaces/oc-toast'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StyleThemeService","i2","i3","i1","i1.InternationalizationService","i2.StyleThemeService","i4","i1.OcToastService"],"mappings":"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"}
|